diff options
author | Alan Modra <amodra@gmail.com> | 2018-10-26 10:01:54 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2018-10-29 17:50:40 +1030 |
commit | c2e863866d9b206c387d8fdc0f1bfa9f246e4355 (patch) | |
tree | 3cfe45d7951f388c4e79029abd7b767206f567b7 /ld/Makefile.am | |
parent | 98a17ece013cb94cd602496b9efb92b8816b3953 (diff) | |
download | binutils-gdb-c2e863866d9b206c387d8fdc0f1bfa9f246e4355.tar.gz |
ld -r script fixes
For ld -r, we generally set the VMA of sections to zero. This is done
to make the output of ld -r most similar to that output by the
assembler, which generally has sections starting at VMA zero. In some
cases that covers for backend bugs which would mis-handle relocatable
object files with non-zero section VMAs.
This patch fixes a few sections that didn't have zero VMAs for ld -r.
A missing zero on .note.gnu.build-id and .eh_frame_hdr doesn't matter
much since these are linker generated symbols only output on final
link, but it's good to be consistent.
* Makefile.am (ei386beos.c, ei386go32.c): Correct dependencies.
* Makefile.in: Regenerate.
* scripttempl/elf.sc (.note.gnu.build-id, .eh_frame_hdr): Set
address with ${RELOCATING-0}.
* scripttempl/arclinux.sc: Likewise.
* scripttempl/armbpabi.sc: Likewise.
* scripttempl/avr.sc: Likewise.
* scripttempl/elf64hppa.sc: Likewise.
* scripttempl/elf_chaos.sc: Likewise.
* scripttempl/elfarc.sc: Likewise.
* scripttempl/elfxtensa.sc: Likewise.
* scripttempl/mep.sc: Likewise.
* scripttempl/nds32elf.sc: Likewise.
* scripttempl/pru.sc: Likewise.
* scripttempl/elf32msp430.sc: Likewise, and for other sections.
* scripttempl/epiphany_4x4.sc: Similarly.
Diffstat (limited to 'ld/Makefile.am')
-rw-r--r-- | ld/Makefile.am | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ld/Makefile.am b/ld/Makefile.am index 98ba096268f..7b4b49e762f 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -1382,13 +1382,15 @@ ehppaobsd.c: $(srcdir)/emulparams/hppaobsd.sh \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ei386beos.c: $(srcdir)/emulparams/i386beos.sh \ - $(srcdir)/emultempl/beos.em $(srcdir)/scripttempl/i386beos.sc ${GEN_DEPENDS} + $(srcdir)/emultempl/beos.em $(srcdir)/scripttempl/i386beos.sc \ + $(srcdir)/scripttempl/DWARF.sc ${GEN_DEPENDS} ei386bsd.c: $(srcdir)/emulparams/i386bsd.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ei386go32.c: $(srcdir)/emulparams/i386go32.sh \ - $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386go32.sc ${GEN_DEPENDS} + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386go32.sc \ + $(srcdir)/scripttempl/DWARF.sc ${GEN_DEPENDS} ei386lynx.c: $(srcdir)/emulparams/i386lynx.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |