Accepting request 671129 from home:marxin:branches:devel:gcc
- Update to binutils 2.32:
* The binutils now support for the C-SKY processor series.
* The x86 assembler now supports a -mvexwig=[0|1] option to control
encoding of VEX.W-ignored (WIG) VEX instructions.
It also has a new -mx86-used-note=[yes|no] option to generate (or
not) x86 GNU property notes.
* The MIPS assembler now supports the Loongson EXTensions R2 (EXT2),
the Loongson EXTensions (EXT) instructions, the Loongson Content
Address Memory (CAM) ASE and the Loongson MultiMedia extensions
Instructions (MMI) ASE.
* The addr2line, c++filt, nm and objdump tools now have a default
limit on the maximum amount of recursion that is allowed whilst
demangling strings. This limit can be disabled if necessary.
* Objdump's --disassemble option can now take a parameter,
specifying the starting symbol for disassembly. Disassembly will
continue from this symbol up to the next symbol or the end of the
function.
* The BFD linker will now report property change in linker map file
when merging GNU properties.
* The BFD linker's -t option now doesn't report members within
archives, unless -t is given twice. This makes it more useful
when generating a list of files that should be packaged for a
linker bug report.
* The GOLD linker has improved warning messages for relocations that
refer to discarded sections.
- Remove binutils-2.31-branch.diff.gz, fix-pr23919-[123].diff,
gold-depend-on-opcodes.diff and s390-relro.diff.
- Refresh binutils-skip-rpaths.patch, s390-biarch.diff, cross-avr-size.patch
and binutils-revert-plt32-in-branches.diff.
- Update to binutils 2.32:
* The binutils now support for the C-SKY processor series.
* The x86 assembler now supports a -mvexwig=[0|1] option to control
encoding of VEX.W-ignored (WIG) VEX instructions.
It also has a new -mx86-used-note=[yes|no] option to generate (or
not) x86 GNU property notes.
* The MIPS assembler now supports the Loongson EXTensions R2 (EXT2),
the Loongson EXTensions (EXT) instructions, the Loongson Content
Address Memory (CAM) ASE and the Loongson MultiMedia extensions
Instructions (MMI) ASE.
* The addr2line, c++filt, nm and objdump tools now have a default
limit on the maximum amount of recursion that is allowed whilst
demangling strings. This limit can be disabled if necessary.
* Objdump's --disassemble option can now take a parameter,
specifying the starting symbol for disassembly. Disassembly will
continue from this symbol up to the next symbol or the end of the
function.
* The BFD linker will now report property change in linker map file
when merging GNU properties.
* The BFD linker's -t option now doesn't report members within
archives, unless -t is given twice. This makes it more useful
when generating a list of files that should be packaged for a
linker bug report.
* The GOLD linker has improved warning messages for relocations that
refer to discarded sections.
- Remove binutils-2.31-branch.diff.gz, fix-pr23919-[123].diff,
gold-depend-on-opcodes.diff and s390-relro.diff.
- Refresh binutils-skip-rpaths.patch, s390-biarch.diff, cross-avr-size.patch
and binutils-revert-plt32-in-branches.diff.
OBS-URL: https://build.opensuse.org/request/show/671129
OBS-URL: https://build.opensuse.org/package/show/devel:gcc/binutils?expand=0&rev=294
2019-02-04 15:23:14 +01:00
|
|
|
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
|
|
|
|
index f4f7ad6b4e..7b0f86031a 100644
|
|
|
|
--- ld/emultempl/elf32.em
|
|
|
|
+++ ld/emultempl/elf32.em
|
|
|
|
@@ -1638,8 +1638,35 @@ if test x"$LDEMUL_BEFORE_ALLOCATION" != xgld"$EMULATION_NAME"_before_allocation;
|
2007-10-09 04:28:58 +02:00
|
|
|
else
|
|
|
|
ELF_INTERPRETER_SET_DEFAULT=
|
|
|
|
fi
|
|
|
|
+
|
2017-03-30 13:17:57 +02:00
|
|
|
+ libpath_nl=`echo ${NATIVE_LIB_DIRS// /\\\n}`
|
2007-10-09 04:28:58 +02:00
|
|
|
fragment <<EOF
|
|
|
|
|
|
|
|
+static int
|
|
|
|
+gld${EMULATION_NAME}_is_contained (const char *path, const char *dc)
|
|
|
|
+{
|
2011-01-10 17:53:49 +01:00
|
|
|
+ while (*dc)
|
2007-10-09 04:28:58 +02:00
|
|
|
+ {
|
|
|
|
+ const char *pc = path;
|
|
|
|
+
|
|
|
|
+ while (*dc && *pc && *dc == *pc && *dc != '\n'
|
2011-01-10 17:53:49 +01:00
|
|
|
+ && *pc != ':' && *dc != '=')
|
|
|
|
+ {
|
|
|
|
+ dc++;
|
|
|
|
+ pc++;
|
|
|
|
+ }
|
2007-10-09 04:28:58 +02:00
|
|
|
+ if ((*pc == 0 || *pc == ':') && (*dc == '\n' || *dc == '=' || *dc == 0))
|
2011-01-10 17:53:49 +01:00
|
|
|
+ return 1;
|
2007-10-09 04:28:58 +02:00
|
|
|
+
|
|
|
|
+ while (*dc && *dc != '\n')
|
2011-01-10 17:53:49 +01:00
|
|
|
+ dc++;
|
2007-10-09 04:28:58 +02:00
|
|
|
+ if (*dc == '\n')
|
2011-01-10 17:53:49 +01:00
|
|
|
+ dc++;
|
2007-10-09 04:28:58 +02:00
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+
|
2011-01-10 17:53:49 +01:00
|
|
|
/* used by before_allocation and handle_option. */
|
2013-03-28 14:13:17 +01:00
|
|
|
static void
|
2011-01-10 17:53:49 +01:00
|
|
|
gld${EMULATION_NAME}_append_to_separated_string (char **to, char *op_arg)
|
Accepting request 671129 from home:marxin:branches:devel:gcc
- Update to binutils 2.32:
* The binutils now support for the C-SKY processor series.
* The x86 assembler now supports a -mvexwig=[0|1] option to control
encoding of VEX.W-ignored (WIG) VEX instructions.
It also has a new -mx86-used-note=[yes|no] option to generate (or
not) x86 GNU property notes.
* The MIPS assembler now supports the Loongson EXTensions R2 (EXT2),
the Loongson EXTensions (EXT) instructions, the Loongson Content
Address Memory (CAM) ASE and the Loongson MultiMedia extensions
Instructions (MMI) ASE.
* The addr2line, c++filt, nm and objdump tools now have a default
limit on the maximum amount of recursion that is allowed whilst
demangling strings. This limit can be disabled if necessary.
* Objdump's --disassemble option can now take a parameter,
specifying the starting symbol for disassembly. Disassembly will
continue from this symbol up to the next symbol or the end of the
function.
* The BFD linker will now report property change in linker map file
when merging GNU properties.
* The BFD linker's -t option now doesn't report members within
archives, unless -t is given twice. This makes it more useful
when generating a list of files that should be packaged for a
linker bug report.
* The GOLD linker has improved warning messages for relocations that
refer to discarded sections.
- Remove binutils-2.31-branch.diff.gz, fix-pr23919-[123].diff,
gold-depend-on-opcodes.diff and s390-relro.diff.
- Refresh binutils-skip-rpaths.patch, s390-biarch.diff, cross-avr-size.patch
and binutils-revert-plt32-in-branches.diff.
- Update to binutils 2.32:
* The binutils now support for the C-SKY processor series.
* The x86 assembler now supports a -mvexwig=[0|1] option to control
encoding of VEX.W-ignored (WIG) VEX instructions.
It also has a new -mx86-used-note=[yes|no] option to generate (or
not) x86 GNU property notes.
* The MIPS assembler now supports the Loongson EXTensions R2 (EXT2),
the Loongson EXTensions (EXT) instructions, the Loongson Content
Address Memory (CAM) ASE and the Loongson MultiMedia extensions
Instructions (MMI) ASE.
* The addr2line, c++filt, nm and objdump tools now have a default
limit on the maximum amount of recursion that is allowed whilst
demangling strings. This limit can be disabled if necessary.
* Objdump's --disassemble option can now take a parameter,
specifying the starting symbol for disassembly. Disassembly will
continue from this symbol up to the next symbol or the end of the
function.
* The BFD linker will now report property change in linker map file
when merging GNU properties.
* The BFD linker's -t option now doesn't report members within
archives, unless -t is given twice. This makes it more useful
when generating a list of files that should be packaged for a
linker bug report.
* The GOLD linker has improved warning messages for relocations that
refer to discarded sections.
- Remove binutils-2.31-branch.diff.gz, fix-pr23919-[123].diff,
gold-depend-on-opcodes.diff and s390-relro.diff.
- Refresh binutils-skip-rpaths.patch, s390-biarch.diff, cross-avr-size.patch
and binutils-revert-plt32-in-branches.diff.
OBS-URL: https://build.opensuse.org/request/show/671129
OBS-URL: https://build.opensuse.org/package/show/devel:gcc/binutils?expand=0&rev=294
2019-02-04 15:23:14 +01:00
|
|
|
@@ -1686,7 +1713,7 @@ gld${EMULATION_NAME}_append_to_separated_string (char **to, char *op_arg)
|
2007-10-09 04:28:58 +02:00
|
|
|
static void
|
|
|
|
gld${EMULATION_NAME}_before_allocation (void)
|
|
|
|
{
|
|
|
|
- const char *rpath;
|
|
|
|
+ char *rpath;
|
|
|
|
asection *sinterp;
|
2011-01-10 17:53:49 +01:00
|
|
|
bfd *abfd;
|
Accepting request 671129 from home:marxin:branches:devel:gcc
- Update to binutils 2.32:
* The binutils now support for the C-SKY processor series.
* The x86 assembler now supports a -mvexwig=[0|1] option to control
encoding of VEX.W-ignored (WIG) VEX instructions.
It also has a new -mx86-used-note=[yes|no] option to generate (or
not) x86 GNU property notes.
* The MIPS assembler now supports the Loongson EXTensions R2 (EXT2),
the Loongson EXTensions (EXT) instructions, the Loongson Content
Address Memory (CAM) ASE and the Loongson MultiMedia extensions
Instructions (MMI) ASE.
* The addr2line, c++filt, nm and objdump tools now have a default
limit on the maximum amount of recursion that is allowed whilst
demangling strings. This limit can be disabled if necessary.
* Objdump's --disassemble option can now take a parameter,
specifying the starting symbol for disassembly. Disassembly will
continue from this symbol up to the next symbol or the end of the
function.
* The BFD linker will now report property change in linker map file
when merging GNU properties.
* The BFD linker's -t option now doesn't report members within
archives, unless -t is given twice. This makes it more useful
when generating a list of files that should be packaged for a
linker bug report.
* The GOLD linker has improved warning messages for relocations that
refer to discarded sections.
- Remove binutils-2.31-branch.diff.gz, fix-pr23919-[123].diff,
gold-depend-on-opcodes.diff and s390-relro.diff.
- Refresh binutils-skip-rpaths.patch, s390-biarch.diff, cross-avr-size.patch
and binutils-revert-plt32-in-branches.diff.
- Update to binutils 2.32:
* The binutils now support for the C-SKY processor series.
* The x86 assembler now supports a -mvexwig=[0|1] option to control
encoding of VEX.W-ignored (WIG) VEX instructions.
It also has a new -mx86-used-note=[yes|no] option to generate (or
not) x86 GNU property notes.
* The MIPS assembler now supports the Loongson EXTensions R2 (EXT2),
the Loongson EXTensions (EXT) instructions, the Loongson Content
Address Memory (CAM) ASE and the Loongson MultiMedia extensions
Instructions (MMI) ASE.
* The addr2line, c++filt, nm and objdump tools now have a default
limit on the maximum amount of recursion that is allowed whilst
demangling strings. This limit can be disabled if necessary.
* Objdump's --disassemble option can now take a parameter,
specifying the starting symbol for disassembly. Disassembly will
continue from this symbol up to the next symbol or the end of the
function.
* The BFD linker will now report property change in linker map file
when merging GNU properties.
* The BFD linker's -t option now doesn't report members within
archives, unless -t is given twice. This makes it more useful
when generating a list of files that should be packaged for a
linker bug report.
* The GOLD linker has improved warning messages for relocations that
refer to discarded sections.
- Remove binutils-2.31-branch.diff.gz, fix-pr23919-[123].diff,
gold-depend-on-opcodes.diff and s390-relro.diff.
- Refresh binutils-skip-rpaths.patch, s390-biarch.diff, cross-avr-size.patch
and binutils-revert-plt32-in-branches.diff.
OBS-URL: https://build.opensuse.org/request/show/671129
OBS-URL: https://build.opensuse.org/package/show/devel:gcc/binutils?expand=0&rev=294
2019-02-04 15:23:14 +01:00
|
|
|
struct bfd_link_hash_entry *ehdr_start = NULL;
|
|
|
|
@@ -1745,7 +1772,65 @@ gld${EMULATION_NAME}_before_allocation (void)
|
2007-10-09 04:28:58 +02:00
|
|
|
by dynamic linking. */
|
|
|
|
rpath = command_line.rpath;
|
|
|
|
if (rpath == NULL)
|
|
|
|
- rpath = (const char *) getenv ("LD_RUN_PATH");
|
|
|
|
+ rpath = getenv ("LD_RUN_PATH");
|
|
|
|
+
|
2011-01-10 17:53:49 +01:00
|
|
|
+ if (rpath != NULL && getenv ("SUSE_IGNORED_RPATHS"))
|
2007-10-09 04:28:58 +02:00
|
|
|
+ {
|
|
|
|
+ char *dirs = 0;
|
|
|
|
+ FILE *ldso = fopen (getenv ("SUSE_IGNORED_RPATHS"), "r");
|
2011-01-10 17:53:49 +01:00
|
|
|
+ if (ldso)
|
|
|
|
+ {
|
|
|
|
+ off_t endcur = 0;
|
|
|
|
+ fseek (ldso, 0, SEEK_END);
|
|
|
|
+ endcur = ftell (ldso);
|
|
|
|
+ fseek (ldso, 0, SEEK_SET);
|
|
|
|
+ dirs = xmalloc (endcur);
|
|
|
|
+ if (fread (dirs, 1, endcur, ldso) != (size_t) endcur)
|
|
|
|
+ {
|
|
|
|
+ free (dirs);
|
|
|
|
+ dirs = NULL;
|
|
|
|
+ }
|
|
|
|
+ }
|
2007-10-09 04:28:58 +02:00
|
|
|
+ if (dirs)
|
2011-01-10 17:53:49 +01:00
|
|
|
+ {
|
|
|
|
+ char *cr;
|
|
|
|
+ rpath = xstrdup (rpath);
|
|
|
|
+ cr = rpath; /* cursor read */
|
2007-10-09 04:28:58 +02:00
|
|
|
+
|
2011-01-10 17:53:49 +01:00
|
|
|
+ while (*cr)
|
2007-10-09 04:28:58 +02:00
|
|
|
+ {
|
2011-01-10 17:53:49 +01:00
|
|
|
+ if (gld${EMULATION_NAME}_is_contained (cr, dirs)
|
|
|
|
+ || gld${EMULATION_NAME}_is_contained (cr, "$libpath_nl"))
|
|
|
|
+ {
|
|
|
|
+ char *cc = cr, *cw = cr;
|
|
|
|
+ while (*cc && *cc != ':')
|
|
|
|
+ cc++;
|
|
|
|
+ if (*cc == ':')
|
2007-10-09 04:28:58 +02:00
|
|
|
+ {
|
2011-01-10 17:53:49 +01:00
|
|
|
+ cc++;
|
|
|
|
+ for (; *cc; cc++, cw++)
|
|
|
|
+ *cw = *cc;
|
2007-10-09 04:28:58 +02:00
|
|
|
+ }
|
|
|
|
+ else if (cw > rpath)
|
|
|
|
+ cw[-1] = 0;
|
|
|
|
+
|
2011-01-10 17:53:49 +01:00
|
|
|
+ *cw = 0;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ while (*cr && *cr != ':')
|
|
|
|
+ cr++;
|
|
|
|
+ if (*cr == ':')
|
|
|
|
+ cr++;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (*rpath == '\0')
|
|
|
|
+ {
|
|
|
|
+ free (rpath);
|
|
|
|
+ rpath = NULL;
|
|
|
|
+ }
|
|
|
|
+ }
|
2007-10-09 04:28:58 +02:00
|
|
|
+ }
|
2011-01-10 17:53:49 +01:00
|
|
|
|
2014-12-01 18:04:10 +01:00
|
|
|
for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
|
2011-01-10 17:53:49 +01:00
|
|
|
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
|