diff options
Diffstat (limited to 'sys-devel/binutils/files/2.13/binutils-2.13.90.0.16-array-sects-compat.patch')
-rw-r--r-- | sys-devel/binutils/files/2.13/binutils-2.13.90.0.16-array-sects-compat.patch | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sys-devel/binutils/files/2.13/binutils-2.13.90.0.16-array-sects-compat.patch b/sys-devel/binutils/files/2.13/binutils-2.13.90.0.16-array-sects-compat.patch new file mode 100644 index 000000000000..2f2993ffe5b3 --- /dev/null +++ b/sys-devel/binutils/files/2.13/binutils-2.13.90.0.16-array-sects-compat.patch @@ -0,0 +1,20 @@ +--- ld/scripttempl/elf.sc.array-sects-compat~ 2003-01-03 22:21:16.000000000 -0200 ++++ ld/scripttempl/elf.sc 2003-01-03 22:27:42.000000000 -0200 +@@ -288,6 +288,17 @@ + ${CREATE_SHLIB-${RELOCATING+. = ${DATA_ADDR-${DATA_SEGMENT_ALIGN}};}} + ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}} + ++ /* For backward-compatibility with tools that don't support the ++ *_array_* sections below, our glibc's crt files contain weak ++ definitions of symbols that they reference. We don't want to use ++ them, though, unless they're strictly necessary, because they'd ++ bring us empty sections, unlike PROVIDE below, so we drop the ++ sections from the crt files here. */ ++ /DISCARD/ : { ++ */crti.o(.init_array .fini_array .preinit_array) ++ */crtn.o(.init_array .fini_array .preinit_array) ++ } ++ + /* Ensure the __preinit_array_start label is properly aligned. We + could instead move the label definition inside the section, but + the linker would then create the section even if it turns out to |