This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Fri, Apr 08, 2005 at 11:52:56AM +0800, Zhenyu Guo wrote: > Ok, I've found that the vma bits[51...60] are not implemented on > Itanium, so addr 0x5000000000000000 (0x7000000000000000 ) is invalid. > I've changed to 0x4000100000000000 this time. There is no Illegal > instruction err then. > However, I failed running the ''hello world!" again. The app seemed > asleep. > The stopped addr is 0x2000000000003c80. > Any ideas? While that address might be OK in terms of implemented bits (as you identified, 0x5... isn't) it's still going to be above RGN_MAP_LIMIT as defined in the kernel (/include/asm-ia64/page.h) For 16KB pages, your base address will need to be below 0x4000000000000000 + 0xfffffffc000 (calcuated with) --- #define PAGE_SHIFT 14 #define PAGE_SIZE (1UL << PAGE_SHIFT) #define RGN_MAP_LIMIT ((1UL << (4*PAGE_SHIFT - 12)) - PAGE_SIZE) int main(void) { printf("%lx\n", RGN_MAP_LIMIT); } --- If I modify the executable base in the linker script to something below this address (e.g. 0x4000000020000000) it works OK for hello world, at least. -i ianw@gelato.unsw.edu.au http://www.gelato.unsw.edu.au
Attachment:
signature.asc
Description: Digital signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |