Illegal instruction After base addr alterd
James E Wilson
wilson@specifixinc.com
Fri Apr 8 03:44:00 GMT 2005
On Thu, 2005-04-07 at 20:03, Zhenyu Guo wrote:
> . = 0x5000000000000000 + SIZEOF_HEADERS; <<-- used to be
> 0x4000000000000000
IA-64 addresses have 4-bits for segment selection, and 60-bits of offset
within a segment. Changing the 0x4 to a 0x5 means you are moving the
code to a different segment. I don't think that is wise. I don't know
offhand exactly how the kernel handles the 16 segments, but something
like 0x48... might be more likely to work than 0x5...
There is an IA-64 linux kernel book written by David Mosberger that
might explain some of this stuff. I don't know for sure though, as I
don't have a copy.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com
More information about the Binutils
mailing list