From 01d8a35928602b9262b571e82bc5c2a8d2fbcbb3 Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Thu, 9 May 1996 15:56:58 +0000 Subject: [PATCH] * 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. --- ld/ChangeLog | 8 ++++++++ ld/scripttempl/elfmips.sc | 10 +++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 9f78a096588..36c957bc60b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +Thu May 9 08:52:23 1996 Rob Savoye + + * 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 * scripttempl/pe.em (gld${EMULATION_NAME}_place_orphan): New function. diff --git a/ld/scripttempl/elfmips.sc b/ld/scripttempl/elfmips.sc index b5ca98dabf1..cb5c54312f9 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) } -- 2.30.2