From 8a1cb15917ef84f3edd35eaa2f044e2b1394d481 Mon Sep 17 00:00:00 2001 From: Kaz Kojima Date: Wed, 30 Jul 2003 02:22:07 +0000 Subject: [PATCH] * emulparams/shelf.sh (OTHER_SECTIONS): Don't include .stack section for shared library. * emulparams/shelf32.sh (OTHER_SECTIONS): Likewise. * emulparams/shelf64.sh (OTHER_SECTIONS): Likewise. --- ld/ChangeLog | 7 +++++++ ld/emulparams/shelf.sh | 5 +++-- ld/emulparams/shelf32.sh | 10 +++++++--- ld/emulparams/shelf64.sh | 4 +++- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 33bdae1501f..34234942763 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2003-07-29 Kaz Kojima + + * emulparams/shelf.sh (OTHER_SECTIONS): Don't include .stack + section for shared library. + * emulparams/shelf32.sh (OTHER_SECTIONS): Likewise. + * emulparams/shelf64.sh (OTHER_SECTIONS): Likewise. + 2003-07-29 Stephane Carrez * scripttempl/elfm68hc12.sc: Add gcc_except_table. diff --git a/ld/emulparams/shelf.sh b/ld/emulparams/shelf.sh index 5c0c9d640e8..ef0de461915 100644 --- a/ld/emulparams/shelf.sh +++ b/ld/emulparams/shelf.sh @@ -23,10 +23,11 @@ DTOR_END='___dtors_end = .;' # N.B. We can't use PROVIDE to set the default value in a symbol because # the address is needed to place the .stack section, which in turn is needed # to hold the sentinel value(s). -OTHER_SECTIONS=" .stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : 0x30000)} : +test -z "$CREATE_SHLIB" && OTHER_SECTIONS=" .stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : 0x30000)} : { ${RELOCATING+_stack = .;} *(.stack) LONG(0xdeaddead) }" - +# We do not need .stack for shared library. +test -n "$CREATE_SHLIB" && OTHER_SECTIONS="" diff --git a/ld/emulparams/shelf32.sh b/ld/emulparams/shelf32.sh index 757f6a7c930..6582b02839a 100644 --- a/ld/emulparams/shelf32.sh +++ b/ld/emulparams/shelf32.sh @@ -39,14 +39,18 @@ DTOR_END='___dtors_end = .;' # N.B. We can't use PROVIDE to set the default value in a symbol because # the address is needed to place the .stack section, which in turn is needed # to hold the sentinel value(s). -OTHER_SECTIONS=" - .stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : ALIGN (0x40000) + 0x40000)} : +test -z "$CREATE_SHLIB" && OTHER_SECTIONS=" + .stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : ALIGN (0x40000) + 0x40000)} : { ${RELOCATING+_stack = .;} *(.stack) LONG(0xdeaddead) } - .cranges 0 : { *(.cranges) } + .cranges 0 : { *(.cranges) } +" +# We do not need .stack for shared library. +test -n "$CREATE_SHLIB" && OTHER_SECTIONS=" + .cranges 0 : { *(.cranges) } " # We need to adjust sizes in the .cranges section after relaxation, so diff --git a/ld/emulparams/shelf64.sh b/ld/emulparams/shelf64.sh index 61a0c8bea8c..eb1f6c76ecd 100644 --- a/ld/emulparams/shelf64.sh +++ b/ld/emulparams/shelf64.sh @@ -6,7 +6,7 @@ EXTRA_EM_FILE= . ${srcdir}/emulparams/shelf32.sh # We do not need .cranges -OTHER_SECTIONS=" +test -z "$CREATE_SHLIB" && OTHER_SECTIONS=" .stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : ALIGN (0x40000) + 0x40000)} : { ${RELOCATING+_stack = .;} @@ -14,3 +14,5 @@ OTHER_SECTIONS=" LONG(0xdeaddead) } " +# We do not need .stack for shared library. +test -n "$CREATE_SHLIB" && OTHER_SECTIONS="" -- 2.30.2