From 8243435612b508460efea333197bf662c403e652 Mon Sep 17 00:00:00 2001 From: Tom Rix Date: Mon, 17 Jun 2002 14:08:40 +0000 Subject: [PATCH] Fix ld segfault for some elf targets. Fix default layout for d10v. --- ld/ChangeLog | 7 +++++++ ld/emulparams/d10velf.sh | 2 +- ld/emultempl/elf32.em | 4 ++++ ld/scripttempl/elfd10v.sc | 6 +++--- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 071d22fa144..5c193fb20a5 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2002-06-17 Tom Rix + + * emultempl/elf32.em: gld*_get_script: Check for + GENERATE_COMBRELOC_SCRIPT. + * scripttempl/elfd10v.sc : Fix STACK and INSN. + * emulparams/d10velf.sh : Fix TEXT_START_ADDR. + Thu Jun 13 20:18:38 2002 J"orn Rennecke * configure.tgt: Add support for sh[1234]*le*-*-elf, sh[1234]*-*-elf. diff --git a/ld/emulparams/d10velf.sh b/ld/emulparams/d10velf.sh index c8c4214edec..c8de5c4a136 100644 --- a/ld/emulparams/d10velf.sh +++ b/ld/emulparams/d10velf.sh @@ -1,7 +1,7 @@ MACHINE= SCRIPT_NAME=elfd10v OUTPUT_FORMAT="elf32-d10v" -TEXT_START_ADDR=0x01000000 +TEXT_START_ADDR=0x01014000 READONLY_START_ADDR=0x02000004 ARCH=d10v MAXPAGESIZE=32 diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index cfd0409befe..58a1ccc0bcb 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -1383,13 +1383,17 @@ echo ' ; else if (!config.magic_demand_paged) return' >> e${EMULATION_NAME} sed $sc ldscripts/${EMULATION_NAME}.xn >> e${EMULATION_NAME}.c fi if test -n "$GENERATE_SHLIB_SCRIPT" ; then +if test -n "$GENERATE_COMBRELOC_SCRIPT" ; then echo ' ; else if (link_info.shared && link_info.combreloc) return' >> e${EMULATION_NAME}.c sed $sc ldscripts/${EMULATION_NAME}.xsc >> e${EMULATION_NAME}.c +fi echo ' ; else if (link_info.shared) return' >> e${EMULATION_NAME}.c sed $sc ldscripts/${EMULATION_NAME}.xs >> e${EMULATION_NAME}.c fi +if test -n "$GENERATE_COMBRELOC_SCRIPT" ; then echo ' ; else if (link_info.combreloc) return' >> e${EMULATION_NAME}.c sed $sc ldscripts/${EMULATION_NAME}.xc >> e${EMULATION_NAME}.c +fi echo ' ; else return' >> e${EMULATION_NAME}.c sed $sc ldscripts/${EMULATION_NAME}.x >> e${EMULATION_NAME}.c echo '; }' >> e${EMULATION_NAME}.c diff --git a/ld/scripttempl/elfd10v.sc b/ld/scripttempl/elfd10v.sc index ef57c81a38b..f9acf6c5938 100644 --- a/ld/scripttempl/elfd10v.sc +++ b/ld/scripttempl/elfd10v.sc @@ -66,14 +66,14 @@ ${RELOCATING+${EXECUTABLE_SYMBOLS}} MEMORY { UNIFIED : org = 0, len = 0x1000000 - INSN : org = 0x1000000, len = 0x40000 + INSN : org = 0x1014000, len = 0x40000 DATA : org = 0x2000004, len = 0x7FFC - STACK : org = 0x2007FFE, len = 4 + STACK : org = 0x200BFFE, len = 4 } SECTIONS { - .text : + .text ${RELOCATING+${TEXT_START_ADDR}} : { ${RELOCATING+${TEXT_START_SYMBOLS}} KEEP (*(.init)) -- 2.30.2