forked from pool/binutils
7c6063bdba
- Update to binutils 2.37: * The GNU Binutils sources now requires a C99 compiler and library to build. * Support for the arm-symbianelf format has been removed. * Support for Realm Management Extension (RME) for AArch64 has been added. * A new linker option '-z report-relative-reloc' for x86 ELF targets has been added to report dynamic relative relocations. * A new linker option '-z start-stop-gc' has been added to disable special treatment of __start_*/__stop_* references when --gc-sections. * A new linker options '-Bno-symbolic' has been added which will cancel the '-Bsymbolic' and '-Bsymbolic-functions' options. * The readelf tool has a new command line option which can be used to specify how the numeric values of symbols are reported. --sym-base=0|8|10|16 tells readelf to display the values in base 8, base 10 or base 16. A sym base of 0 represents the default action of displaying values under 10000 in base 10 and values above that in base 16. * A new format has been added to the nm program. Specifying '--format=just-symbols' (or just using -j) will tell the program to only display symbol names and nothing else. * A new command line option '--keep-section-symbols' has been added to objcopy and strip. This stops the removal of unused section symbols when the file is copied. Removing these symbols saves space, but sometimes they are needed by other tools. * The '--weaken', '--weaken-symbol' and '--weaken-symbols' options supported by objcopy now make undefined symbols weak on targets that support weak symbols. * Readelf and objdump can now display and use the contents of .debug_sup OBS-URL: https://build.opensuse.org/request/show/907786 OBS-URL: https://build.opensuse.org/package/show/devel:gcc/binutils?expand=0&rev=363
33 lines
1.2 KiB
Diff
33 lines
1.2 KiB
Diff
Index: bfd/elf32-s390.c
|
|
===================================================================
|
|
--- bfd/elf32-s390.c.orig 2016-01-25 09:51:06.000000000 +0100
|
|
+++ bfd/elf32-s390.c 2016-01-27 15:24:52.947115619 +0100
|
|
@@ -2782,6 +2782,27 @@ elf_s390_relocate_section (bfd *output_b
|
|
case R_390_PC24DBL:
|
|
case R_390_PC32DBL:
|
|
case R_390_PC32:
|
|
+ /* This is strictly required only for PC32DBL, which
|
|
+ is not handled by ld.so, but let's be helpful to the user also
|
|
+ in the other cases. */
|
|
+ if (bfd_link_pic (info)
|
|
+ && !SYMBOL_REFERENCES_LOCAL (info, h)
|
|
+ && (input_section->flags & SEC_ALLOC) != 0
|
|
+ && (input_section->flags & SEC_READONLY) != 0
|
|
+ && (!h->def_regular
|
|
+ || r_type != R_390_PC32DBL
|
|
+ || h->type != STT_FUNC
|
|
+ || ELF_ST_VISIBILITY (h->other) != STV_PROTECTED))
|
|
+ {
|
|
+ (*_bfd_error_handler)
|
|
+ (_("%B: relocation %s against `%s' can not be used when "
|
|
+ "making a shared object; recompile with -fPIC"),
|
|
+ input_bfd, elf_howto_table[r_type].name,
|
|
+ h->root.root.string);
|
|
+ bfd_set_error (bfd_error_bad_value);
|
|
+ return false;
|
|
+ }
|
|
+
|
|
if (h != NULL
|
|
&& s390_is_ifunc_symbol_p (h)
|
|
&& h->def_regular
|