[Top][All Lists]
[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.
- [Bug ld/2809] New: ld incorrect applies LTOFF22X/LDXMOV relocations,
cgray at cse dot unsw dot edu dot au <=
- [Bug ld/2809] ld incorrect applies LTOFF22X/LDXMOV relocations, hjl at lucon dot org, 2006/06/20
- [Bug ld/2809] ld incorrect applies LTOFF22X/LDXMOV relocations, cgray at cse dot unsw dot edu dot au, 2006/06/22
- [Bug ld/2809] ld incorrect applies LTOFF22X/LDXMOV relocations, hjl at lucon dot org, 2006/06/22
- Re: [Bug ld/2809] New: ld incorrect applies LTOFF22X/LDXMOV relocations, James E Wilson, 2006/06/23
- [Bug ld/2809] ld incorrect applies LTOFF22X/LDXMOV relocations, wilson at specifix dot com, 2006/06/23