* emulparams/{elf32bmip.sh,elf32lmip.sh,mipsidt.sh,mipsidtl.sh}:
authorRob Savoye <rob@cygnus>
Thu, 9 May 1996 15:56:58 +0000 (15:56 +0000)
committerRob Savoye <rob@cygnus>
Thu, 9 May 1996 15:56:58 +0000 (15:56 +0000)
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.

ld/ChangeLog
ld/scripttempl/elfmips.sc

index 9f78a09658873aaa2e5c17e4893ad7e3fa5b610d..36c957bc60b3fb57908428b653682400783183e8 100644 (file)
@@ -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.
index b5ca98dabf103122bdcef58b5abb336179b18c40..cb5c54312f9436be91d20b9b18c05ce961f58b05 100644 (file)
@@ -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) }