diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2019-11-18 15:53:29 +0300 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2019-11-18 15:53:29 +0300 |
commit | 8f6c4b0033c72f8ac14694c419a99458339dd6a9 (patch) | |
tree | 06c106e622a58100aa85a381b9b65d222b076df4 /debian/patches/pr90714.diff | |
parent | 42156b5190f4fa150e1fab6777eb81e69d4db8c9 (diff) | |
download | gcc-9-debian.tar.gz |
Import gcc-9 (9.2.1-19)debian/9.2.1-19debian
Diffstat (limited to 'debian/patches/pr90714.diff')
-rw-r--r-- | debian/patches/pr90714.diff | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/debian/patches/pr90714.diff b/debian/patches/pr90714.diff new file mode 100644 index 0000000..3d4a36f --- /dev/null +++ b/debian/patches/pr90714.diff @@ -0,0 +1,32 @@ +# 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. + +libgcc/ + * config/ia64/crtbegin.S (__dso_handle): Put in .sdata/.sbss + rather than .data/.bss so it can be accessed via gp-relative + addressing. +--- + 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 + __dso_handle: + data8 __dso_handle + #else +- .section .bss ++ .section .sbss + .align 8 + __dso_handle: + .skip 8 |