aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorRob Savoye <rob@cygnus>1996-05-09 15:56:58 +0000
committerRob Savoye <rob@cygnus>1996-05-09 15:56:58 +0000
commit01d8a35928602b9262b571e82bc5c2a8d2fbcbb3 (patch)
treef38d749c0c5477de315ad8665b54b3baeede628f /ld
parent2ae2f078835bb49e058ec436645ffe03381cb788 (diff)
downloadgdb-01d8a35928602b9262b571e82bc5c2a8d2fbcbb3.zip
gdb-01d8a35928602b9262b571e82bc5c2a8d2fbcbb3.tar.gz
gdb-01d8a35928602b9262b571e82bc5c2a8d2fbcbb3.tar.bz2
* emulparams/{elf32bmip.sh,elf32lmip.sh,mipsidt.sh,mipsidtl.sh}:
Set a new variable to signify if the final target is an embedded system. * scripttempl/{mips.sc,elfmips.sc}: Don't add SIZEOF_HEADERS to .text for an embedded system.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog8
-rw-r--r--ld/scripttempl/elfmips.sc10
2 files changed, 17 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 9f78a09..36c957b 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,11 @@
+Thu May 9 08:52:23 1996 Rob Savoye <rob@chinadoll.cygnus.com>
+
+ * emulparams/{elf32bmip.sh,elf32lmip.sh,mipsidt.sh,mipsidtl.sh}:
+ Set a new variable to signify if the final target is an embedded
+ system.
+ * scripttempl/{mips.sc,elfmips.sc}: Don't add SIZEOF_HEADERS to
+ .text for an embedded system.
+
Tue May 7 10:56:11 1996 Doug Evans <dje@canuck.cygnus.com>
* scripttempl/pe.em (gld${EMULATION_NAME}_place_orphan): New function.
diff --git a/ld/scripttempl/elfmips.sc b/ld/scripttempl/elfmips.sc
index b5ca98d..cb5c543 100644
--- a/ld/scripttempl/elfmips.sc
+++ b/ld/scripttempl/elfmips.sc
@@ -15,6 +15,7 @@
# .data section.
# OTHER_BSS_SYMBOLS - symbols that appear at the start of the
# .bss section besides __bss_start.
+# EMBEDDED - whether this is for an embedded system.
#
# When adding sections, do note that the names of some sections are used
# when specifying the start address of the next.
@@ -30,6 +31,13 @@ if [ -z "$ENTRY" ]; then
esac
fi
+# if this is for an embedded system, don't add SIZEOF_HEADERS.
+if [ -z "$EMBEDDED" ]; then
+ test -z ${TEXT_BASE_ADDRESS} && TEXT_BASE_ADDRESS="${TEXT_START_ADDR} + SIZEOF_HEADERS"
+else
+ test -z ${TEXT_BASE_ADDRESS} && TEXT_BASE_ADDRESS="${TEXT_START_ADDR}"
+fi
+
test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
test "$LD_FLAG" = "N" && DATA_ADDR=.
@@ -51,7 +59,7 @@ ${RELOCATING- /* For some reason, the Solaris linker makes bad executables
SECTIONS
{
/* Read-only sections, merged into text segment: */
- ${CREATE_SHLIB-${RELOCATING+. = ${TEXT_START_ADDR} + SIZEOF_HEADERS;}}
+ ${CREATE_SHLIB-${RELOCATING+. = ${TEXT_BASE_ADDRESS};}}
${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR} + SIZEOF_HEADERS;}}
${CREATE_SHLIB-${INTERP}}
.reginfo ${RELOCATING-0} : { *(.reginfo) }