diff options
author | Alan Modra <amodra@gmail.com> | 2014-06-16 22:21:16 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2014-06-16 22:32:45 +0930 |
commit | e1279d1d6b5f9205c6603cc661ce7af64e09b5e8 (patch) | |
tree | 1ac15639b7f55335d173a547873f23c324bbb86f | |
parent | 85024cd8bcb93f4112470ecdbd6c10fc2aea724f (diff) | |
download | fsf-binutils-gdb-e1279d1d6b5f9205c6603cc661ce7af64e09b5e8.zip fsf-binutils-gdb-e1279d1d6b5f9205c6603cc661ce7af64e09b5e8.tar.gz fsf-binutils-gdb-e1279d1d6b5f9205c6603cc661ce7af64e09b5e8.tar.bz2 |
Fix duplicated assignments to __rel_iplt and __rela_iplt symbols
and fix more nds32 dependencies.
* scripttempl/elf.sc: Edit out __rela_iplt symbol assignments from
.rel sections, and __rel_iplt from .rela sections.
* scripttempl/nds32elf.sc: Likewise.
* Makefile.am (ends32*.c): Depend on nds32elf.sc.
* Makefile.in: Regenerate.
-rw-r--r-- | ld/ChangeLog | 8 | ||||
-rw-r--r-- | ld/Makefile.am | 12 | ||||
-rw-r--r-- | ld/Makefile.in | 12 | ||||
-rw-r--r-- | ld/scripttempl/elf.sc | 8 | ||||
-rw-r--r-- | ld/scripttempl/nds32elf.sc | 8 |
5 files changed, 28 insertions, 20 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 783c4bd..ef8234e 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +2014-06-16 Alan Modra <amodra@gmail.com> + + * scripttempl/elf.sc: Edit out __rela_iplt symbol assignments from + .rel sections, and __rel_iplt from .rela sections. + * scripttempl/nds32elf.sc: Likewise. + * Makefile.am (ends32*.c) Depend on nds32elf.sc. + * Makefile.in: Regenerate. + 2014-06-13 Alan Modra <amodra@gmail.com> PR 17047 diff --git a/ld/Makefile.am b/ld/Makefile.am index 66795b3..a22006c 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -1490,27 +1490,27 @@ emsp430X.c: $(srcdir)/emulparams/msp430.sh $(srcdir)/emulparams/msp430X.sh \ ends32elf.c: $(srcdir)/emulparams/nds32elf.sh \ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} ends32elf16m.c: $(srcdir)/emulparams/nds32elf16m.sh \ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} ends32belf.c: $(srcdir)/emulparams/nds32belf.sh \ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} ends32belf16m.c: $(srcdir)/emulparams/nds32belf16m.sh \ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} ends32elf_linux.c: $(srcdir)/emulparams/nds32elf_linux.sh \ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} ends32belf_linux.c: $(srcdir)/emulparams/nds32belf_linux.sh \ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} enews.c: $(srcdir)/emulparams/news.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} diff --git a/ld/Makefile.in b/ld/Makefile.in index 6a534ca..1c43066 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -2928,27 +2928,27 @@ emsp430X.c: $(srcdir)/emulparams/msp430.sh $(srcdir)/emulparams/msp430X.sh \ ends32elf.c: $(srcdir)/emulparams/nds32elf.sh \ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} ends32elf16m.c: $(srcdir)/emulparams/nds32elf16m.sh \ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} ends32belf.c: $(srcdir)/emulparams/nds32belf.sh \ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} ends32belf16m.c: $(srcdir)/emulparams/nds32belf16m.sh \ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} ends32elf_linux.c: $(srcdir)/emulparams/nds32elf_linux.sh \ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} ends32belf_linux.c: $(srcdir)/emulparams/nds32belf_linux.sh \ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \ - $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS} enews.c: $(srcdir)/emulparams/news.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index e8126cb..6d0d13d 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -410,13 +410,13 @@ cat >> ldscripts/dyntmp.$$ <<EOF .rel.dyn ${RELOCATING-0} : { EOF -sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rela\./d;s/^.*: { *\(.*\)}$/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$ +sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rela\./d;/__rela_iplt_/d;s/^.*: { *\(.*\)}$/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$ cat >> ldscripts/dyntmp.$$ <<EOF } .rela.dyn ${RELOCATING-0} : { EOF -sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rel\./d;s/^.*: { *\(.*\)}/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$ +sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rel\./d;/__rel_iplt_/d;s/^.*: { *\(.*\)}/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$ cat >> ldscripts/dyntmp.$$ <<EOF } EOF @@ -446,10 +446,10 @@ emit_dyn() cat ldscripts/dyntmp.$$ else if test -z "${NO_REL_RELOCS}"; then - sed -e '/^[ ]*\.rela\.[^}]*$/,/}/d' -e '/^[ ]*\.rela\./d' ldscripts/dyntmp.$$ + sed -e '/^[ ]*\.rela\.[^}]*$/,/}/d;/^[ ]*\.rela\./d;/__rela_iplt_/d' ldscripts/dyntmp.$$ fi if test -z "${NO_RELA_RELOCS}"; then - sed -e '/^[ ]*\.rel\.[^}]*$/,/}/d' -e '/^[ ]*\.rel\./d' ldscripts/dyntmp.$$ + sed -e '/^[ ]*\.rel\.[^}]*$/,/}/d;/^[ ]*\.rel\./d;/__rel_iplt_/d' ldscripts/dyntmp.$$ fi fi rm -f ldscripts/dyntmp.$$ diff --git a/ld/scripttempl/nds32elf.sc b/ld/scripttempl/nds32elf.sc index 80f60a1..076e120 100644 --- a/ld/scripttempl/nds32elf.sc +++ b/ld/scripttempl/nds32elf.sc @@ -361,13 +361,13 @@ cat >> ldscripts/dyntmp.$$ <<EOF .rel.dyn ${RELOCATING-0} : { EOF -sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rela\./d;s/^.*: { *\(.*\)}$/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$ +sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rela\./d;/__rela_iplt_/d;s/^.*: { *\(.*\)}$/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$ cat >> ldscripts/dyntmp.$$ <<EOF } .rela.dyn ${RELOCATING-0} : { EOF -sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rel\./d;s/^.*: { *\(.*\)}/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$ +sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rel\./d;/__rel_iplt_/d;s/^.*: { *\(.*\)}/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$ cat >> ldscripts/dyntmp.$$ <<EOF } EOF @@ -397,10 +397,10 @@ emit_dyn() cat ldscripts/dyntmp.$$ else if test -z "${NO_REL_RELOCS}"; then - sed -e '/^[ ]*\.rela\.[^}]*$/,/}/d' -e '/^[ ]*\.rela\./d' ldscripts/dyntmp.$$ + sed -e '/^[ ]*\.rela\.[^}]*$/,/}/d;/^[ ]*\.rela\./d;/__rela_iplt_/d' ldscripts/dyntmp.$$ fi if test -z "${NO_RELA_RELOCS}"; then - sed -e '/^[ ]*\.rel\.[^}]*$/,/}/d' -e '/^[ ]*\.rel\./d' ldscripts/dyntmp.$$ + sed -e '/^[ ]*\.rel\.[^}]*$/,/}/d;/^[ ]*\.rel\./d;/__rel_iplt_/d' ldscripts/dyntmp.$$ fi fi rm -f ldscripts/dyntmp.$$ |