Commit 32766d3c authored by Matthias Klose's avatar Matthias Klose

- add pr90714.diff to the VCS

parent 776f2e8d
# DP: ia64: relocation truncated to fit: GPREL22
The symbol is exposed to C by dso_handle.h, and since it's a single
8-byte pointer, it is just within the threshold for being in the small
data (or bss) section, so code accessing it will use GP-relative
addressing. Therefore we must put it in .sdata/.sbss in case our other
data sections grow too big and we overflow the 22-bit relocation.
* config/ia64/crtbegin.S (__dso_handle): Put in .sdata/.sbss
rather than .data/.bss so it can be accessed via gp-relative
libgcc/config/ia64/crtbegin.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/src/libgcc/config/ia64/crtbegin.S
+++ b/src/libgcc/config/ia64/crtbegin.S
@@ -45,11 +45,11 @@ dtor_ptr:
.type __dso_handle,@object
.size __dso_handle,8
#ifdef SHARED
- .section .data
+ .section .sdata
data8 __dso_handle
- .section .bss
+ .section .sbss
.align 8
.skip 8
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment