bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/2809] New: ld incorrect applies LTOFF22X/LDXMOV relocations


From: cgray at cse dot unsw dot edu dot au
Subject: [Bug ld/2809] New: ld incorrect applies LTOFF22X/LDXMOV relocations
Date: 20 Jun 2006 06:49:08 -0000

ld on ia64 applies LTOFF22X and LDXMOV relocations at linktime, voilating the 
ABI.

The IA64 ABI description here
http://refspecs.freestandards.org/elf/IA64-SysV-psABI.pdf states in Section
5.2.1 - Linktime and Runtime Addresses:

"Since there is no fixed address relationship at runtime among segments created
at linktime, the constant value must be calculated based on the segment
containing the address in question."

By applying these relocation in ld rather than the dynamic linker it assumes a
fixed address relationship at runtime. ie. the constant value is not calculated
based on the segment containing the address.

Executing code with these relocations applied and loading segments with a
non-fixed offset (as you should be able to do) causes crashes and other random
behaviour.

These relocations seem to be related to the "--relax" option of ld. If ld
can't/won't preserve these relocations to be done at load time, is there at
least some way to turn off these relaxations?

-- 
           Summary: ld incorrect applies LTOFF22X/LDXMOV relocations
           Product: binutils
           Version: 2.16
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: cgray at cse dot unsw dot edu dot au
                CC: bug-binutils at gnu dot org
 GCC build triplet: ia64-*-*
  GCC host triplet: ia64-*-linux
GCC target triplet: ia64-*-*


http://sourceware.org/bugzilla/show_bug.cgi?id=2809

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]