* ldlang.c (exp_init_os): Handle etree_provide.
* emulparams/armelf.sh (OTHER_END_SYMBOLS): Rename from.. (OTHER_BSS_END_SYMBOLS): ..this. * emulparams/armelf_linux.sh: Likewise. * emulparams/armnto.sh: Likewise. * emulparams/criself.sh: Likewise. * emulparams/crislinux.sh: Likewise. * emulparams/elf32frv.sh: Likewise. * emulparams/elf32mcore.sh: Likewise. * emulparams/elf32ppc.sh: Likewise. * emulparams/elf32ppclinux.sh: Likewise. * emulparams/hppa64linux.sh: Likewise. * scripttempl/armbpabi.sc: Substitute $OTHER_END_SYMBOLS, not $OTHER_BSS_END_SYMBOLS. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf_chaos.sc: Likewise. * scripttempl/iq2000.sc: Likewise. * scripttempl/xstormy16.sc: Likewise. * scripttempl/elf.sc: Likewise. Delete __bss_start comment. * scripttempl/elfxtensa.sc: Likewise.
This commit is contained in:
parent
24ceaeafdb
commit
9f4fb50211
23
ld/ChangeLog
23
ld/ChangeLog
@ -1,3 +1,26 @@
|
|||||||
|
2005-08-03 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
|
* ldlang.c (exp_init_os): Handle etree_provide.
|
||||||
|
* emulparams/armelf.sh (OTHER_END_SYMBOLS): Rename from..
|
||||||
|
(OTHER_BSS_END_SYMBOLS): ..this.
|
||||||
|
* emulparams/armelf_linux.sh: Likewise.
|
||||||
|
* emulparams/armnto.sh: Likewise.
|
||||||
|
* emulparams/criself.sh: Likewise.
|
||||||
|
* emulparams/crislinux.sh: Likewise.
|
||||||
|
* emulparams/elf32frv.sh: Likewise.
|
||||||
|
* emulparams/elf32mcore.sh: Likewise.
|
||||||
|
* emulparams/elf32ppc.sh: Likewise.
|
||||||
|
* emulparams/elf32ppclinux.sh: Likewise.
|
||||||
|
* emulparams/hppa64linux.sh: Likewise.
|
||||||
|
* scripttempl/armbpabi.sc: Substitute $OTHER_END_SYMBOLS, not
|
||||||
|
$OTHER_BSS_END_SYMBOLS.
|
||||||
|
* scripttempl/elf32sh-symbian.sc: Likewise.
|
||||||
|
* scripttempl/elf_chaos.sc: Likewise.
|
||||||
|
* scripttempl/iq2000.sc: Likewise.
|
||||||
|
* scripttempl/xstormy16.sc: Likewise.
|
||||||
|
* scripttempl/elf.sc: Likewise. Delete __bss_start comment.
|
||||||
|
* scripttempl/elfxtensa.sc: Likewise.
|
||||||
|
|
||||||
2005-07-29 Nick Clifton <nickc@redhat.com>
|
2005-07-29 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* ldmain.c (main): Allow -shared and -static to be used together.
|
* ldmain.c (main): Allow -shared and -static to be used together.
|
||||||
|
@ -8,7 +8,7 @@ TEMPLATE_NAME=elf32
|
|||||||
EXTRA_EM_FILE=armelf
|
EXTRA_EM_FILE=armelf
|
||||||
OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)'
|
OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)'
|
||||||
OTHER_BSS_SYMBOLS='__bss_start__ = .;'
|
OTHER_BSS_SYMBOLS='__bss_start__ = .;'
|
||||||
OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;'
|
OTHER_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;'
|
||||||
OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
|
OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
|
||||||
OTHER_READONLY_SECTIONS="
|
OTHER_READONLY_SECTIONS="
|
||||||
.ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) }
|
.ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) }
|
||||||
|
@ -13,7 +13,7 @@ GENERATE_PIE_SCRIPT=yes
|
|||||||
DATA_START_SYMBOLS='__data_start = . ;';
|
DATA_START_SYMBOLS='__data_start = . ;';
|
||||||
OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)'
|
OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)'
|
||||||
OTHER_BSS_SYMBOLS='__bss_start__ = .;'
|
OTHER_BSS_SYMBOLS='__bss_start__ = .;'
|
||||||
OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;'
|
OTHER_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;'
|
||||||
OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
|
OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
|
||||||
|
|
||||||
TEXT_START_ADDR=0x00008000
|
TEXT_START_ADDR=0x00008000
|
||||||
|
@ -8,7 +8,7 @@ TEMPLATE_NAME=elf32
|
|||||||
EXTRA_EM_FILE=armelf
|
EXTRA_EM_FILE=armelf
|
||||||
OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)'
|
OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)'
|
||||||
OTHER_BSS_SYMBOLS='__bss_start__ = .;'
|
OTHER_BSS_SYMBOLS='__bss_start__ = .;'
|
||||||
OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;'
|
OTHER_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;'
|
||||||
|
|
||||||
DATA_START_SYMBOLS='__data_start = . ;';
|
DATA_START_SYMBOLS='__data_start = . ;';
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ OTHER_SDATA_SECTIONS="${RELOCATING+PROVIDE (__Edata = .);}"
|
|||||||
# address, we can't get to it with OTHER_BSS_SYMBOLS, neither can we
|
# address, we can't get to it with OTHER_BSS_SYMBOLS, neither can we
|
||||||
# use ADDR(.bss) there. Instead, we use the symbol support for the
|
# use ADDR(.bss) there. Instead, we use the symbol support for the
|
||||||
# end symbol.
|
# end symbol.
|
||||||
OTHER_BSS_END_SYMBOLS='
|
OTHER_END_SYMBOLS='
|
||||||
PROVIDE (__Ebss = .);
|
PROVIDE (__Ebss = .);
|
||||||
PROVIDE (__end = .);
|
PROVIDE (__end = .);
|
||||||
__Sbss = ADDR (.bss);
|
__Sbss = ADDR (.bss);
|
||||||
|
@ -28,7 +28,7 @@ DATA_START_SYMBOLS='PROVIDE (__Sdata = .);'
|
|||||||
# Smuggle an "OTHER_DATA_END_SYMBOLS" here.
|
# Smuggle an "OTHER_DATA_END_SYMBOLS" here.
|
||||||
OTHER_SDATA_SECTIONS="${RELOCATING+PROVIDE (__Edata = .);}"
|
OTHER_SDATA_SECTIONS="${RELOCATING+PROVIDE (__Edata = .);}"
|
||||||
OTHER_BSS_SYMBOLS='PROVIDE (__Sbss = .);'
|
OTHER_BSS_SYMBOLS='PROVIDE (__Sbss = .);'
|
||||||
OTHER_BSS_END_SYMBOLS='PROVIDE (__Ebss = .);'
|
OTHER_END_SYMBOLS='PROVIDE (__Ebss = .);'
|
||||||
|
|
||||||
# Also add the other symbols provided for rsim/xsim and elinux.
|
# Also add the other symbols provided for rsim/xsim and elinux.
|
||||||
OTHER_END_SYMBOLS='
|
OTHER_END_SYMBOLS='
|
||||||
|
@ -7,7 +7,7 @@ MAXPAGESIZE=256
|
|||||||
ENTRY=_start
|
ENTRY=_start
|
||||||
EMBEDDED=yes
|
EMBEDDED=yes
|
||||||
OTHER_EXCLUDE_FILES='*frvend.o'
|
OTHER_EXCLUDE_FILES='*frvend.o'
|
||||||
OTHER_BSS_END_SYMBOLS='__end = .;'
|
OTHER_END_SYMBOLS='__end = .;'
|
||||||
DATA_START_SYMBOLS='__data_start = . ;'
|
DATA_START_SYMBOLS='__data_start = . ;'
|
||||||
STACK_ADDR=0x200000
|
STACK_ADDR=0x200000
|
||||||
NOP=0x80000000
|
NOP=0x80000000
|
||||||
|
@ -22,7 +22,7 @@ EMBEDDED=yes
|
|||||||
NOP=0x0e0e0e0e
|
NOP=0x0e0e0e0e
|
||||||
|
|
||||||
OTHER_BSS_SYMBOLS="__bss_start__ = . ;"
|
OTHER_BSS_SYMBOLS="__bss_start__ = . ;"
|
||||||
OTHER_BSS_END_SYMBOLS="__bss_end__ = . ;"
|
OTHER_END_SYMBOLS="__bss_end__ = . ;"
|
||||||
|
|
||||||
# This sets the stack to the top of the simulator memory (2^19 bytes).
|
# This sets the stack to the top of the simulator memory (2^19 bytes).
|
||||||
STACK_ADDR=0x80000
|
STACK_ADDR=0x80000
|
||||||
|
@ -23,7 +23,7 @@ PLT=".plt ${RELOCATING-0} : SPECIAL { *(.plt) }"
|
|||||||
GOTPLT="${PLT}"
|
GOTPLT="${PLT}"
|
||||||
OTHER_TEXT_SECTIONS="*(.glink)"
|
OTHER_TEXT_SECTIONS="*(.glink)"
|
||||||
EXECUTABLE_SYMBOLS='PROVIDE (__stack = 0); PROVIDE (___stack = 0);'
|
EXECUTABLE_SYMBOLS='PROVIDE (__stack = 0); PROVIDE (___stack = 0);'
|
||||||
OTHER_BSS_END_SYMBOLS='__end = .;'
|
OTHER_END_SYMBOLS="__end = .;"
|
||||||
OTHER_RELRO_SECTIONS="
|
OTHER_RELRO_SECTIONS="
|
||||||
.fixup ${RELOCATING-0} : { *(.fixup) }
|
.fixup ${RELOCATING-0} : { *(.fixup) }
|
||||||
.got1 ${RELOCATING-0} : { *(.got1) }
|
.got1 ${RELOCATING-0} : { *(.got1) }
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
. ${srcdir}/emulparams/elf32ppc.sh
|
. ${srcdir}/emulparams/elf32ppc.sh
|
||||||
TEXT_START_ADDR=0x10000000
|
TEXT_START_ADDR=0x10000000
|
||||||
unset EXECUTABLE_SYMBOLS
|
unset EXECUTABLE_SYMBOLS
|
||||||
unset OTHER_BSS_END_SYMBOLS
|
unset OTHER_END_SYMBOLS
|
||||||
test -z "${RELOCATING}" || OTHER_SECTIONS="/DISCARD/ : { *(.fixup) }"
|
test -z "${RELOCATING}" || OTHER_SECTIONS="/DISCARD/ : { *(.fixup) }"
|
||||||
OTHER_RELRO_SECTIONS="
|
OTHER_RELRO_SECTIONS="
|
||||||
.got1 ${RELOCATING-0} : { *(.got1) }
|
.got1 ${RELOCATING-0} : { *(.got1) }
|
||||||
|
@ -34,8 +34,8 @@ OTHER_BSS_SECTIONS="
|
|||||||
.hbss ${RELOCATING-0} : { *(.hbss) }
|
.hbss ${RELOCATING-0} : { *(.hbss) }
|
||||||
.tbss ${RELOCATING-0} : { *(.tbss) }
|
.tbss ${RELOCATING-0} : { *(.tbss) }
|
||||||
"
|
"
|
||||||
#OTHER_BSS_END_SYMBOLS='PROVIDE (__TLS_SIZE = SIZEOF (.tbss));'
|
#OTHER_END_SYMBOLS='PROVIDE (__TLS_SIZE = SIZEOF (.tbss));'
|
||||||
OTHER_BSS_END_SYMBOLS='
|
OTHER_END_SYMBOLS='
|
||||||
PROVIDE (__TLS_SIZE = 0);
|
PROVIDE (__TLS_SIZE = 0);
|
||||||
PROVIDE (__TLS_INIT_SIZE = 0);
|
PROVIDE (__TLS_INIT_SIZE = 0);
|
||||||
PROVIDE (__TLS_INIT_START = 0);
|
PROVIDE (__TLS_INIT_START = 0);
|
||||||
|
@ -1616,6 +1616,7 @@ exp_init_os (etree_type *exp)
|
|||||||
switch (exp->type.node_class)
|
switch (exp->type.node_class)
|
||||||
{
|
{
|
||||||
case etree_assign:
|
case etree_assign:
|
||||||
|
case etree_provide:
|
||||||
exp_init_os (exp->assign.src);
|
exp_init_os (exp->assign.src);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -296,7 +296,7 @@ cat <<EOF
|
|||||||
${OTHER_BSS_SECTIONS}
|
${OTHER_BSS_SECTIONS}
|
||||||
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
||||||
${RELOCATING+_end = .;}
|
${RELOCATING+_end = .;}
|
||||||
${RELOCATING+${OTHER_BSS_END_SYMBOLS}}
|
${RELOCATING+${OTHER_END_SYMBOLS}}
|
||||||
${RELOCATING+PROVIDE (end = .);}
|
${RELOCATING+PROVIDE (end = .);}
|
||||||
${RELOCATING+${DATA_SEGMENT_END}}
|
${RELOCATING+${DATA_SEGMENT_END}}
|
||||||
|
|
||||||
|
@ -415,8 +415,6 @@ cat <<EOF
|
|||||||
${SDATA}
|
${SDATA}
|
||||||
${OTHER_SDATA_SECTIONS}
|
${OTHER_SDATA_SECTIONS}
|
||||||
${RELOCATING+${DATA_END_SYMBOLS-_edata = .; PROVIDE (edata = .);}}
|
${RELOCATING+${DATA_END_SYMBOLS-_edata = .; PROVIDE (edata = .);}}
|
||||||
/* __bss_start is used by _bfd_elf_provide_section_bound_symbols in
|
|
||||||
elflink.c. */
|
|
||||||
${RELOCATING+__bss_start = .;}
|
${RELOCATING+__bss_start = .;}
|
||||||
${RELOCATING+${OTHER_BSS_SYMBOLS}}
|
${RELOCATING+${OTHER_BSS_SYMBOLS}}
|
||||||
${SBSS}
|
${SBSS}
|
||||||
@ -435,9 +433,9 @@ cat <<EOF
|
|||||||
}
|
}
|
||||||
${LBSS}
|
${LBSS}
|
||||||
${OTHER_BSS_SECTIONS}
|
${OTHER_BSS_SECTIONS}
|
||||||
${RELOCATING+${OTHER_BSS_END_SYMBOLS}}
|
|
||||||
${LARGE_SECTIONS}
|
${LARGE_SECTIONS}
|
||||||
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
||||||
|
${RELOCATING+${OTHER_END_SYMBOLS}}
|
||||||
${RELOCATING+_end = .;}
|
${RELOCATING+_end = .;}
|
||||||
${RELOCATING+PROVIDE (end = .);}
|
${RELOCATING+PROVIDE (end = .);}
|
||||||
${RELOCATING+${DATA_SEGMENT_END}}
|
${RELOCATING+${DATA_SEGMENT_END}}
|
||||||
|
@ -260,7 +260,7 @@ SECTIONS
|
|||||||
${OTHER_BSS_SECTIONS}
|
${OTHER_BSS_SECTIONS}
|
||||||
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
||||||
${RELOCATING+_end = .;}
|
${RELOCATING+_end = .;}
|
||||||
${RELOCATING+${OTHER_BSS_END_SYMBOLS}}
|
${RELOCATING+${OTHER_END_SYMBOLS}}
|
||||||
${RELOCATING+PROVIDE (end = .);}
|
${RELOCATING+PROVIDE (end = .);}
|
||||||
${RELOCATING+${DATA_SEGMENT_END}}
|
${RELOCATING+${DATA_SEGMENT_END}}
|
||||||
|
|
||||||
|
@ -301,7 +301,7 @@ cat <<EOF
|
|||||||
${OTHER_BSS_SECTIONS}
|
${OTHER_BSS_SECTIONS}
|
||||||
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
||||||
${RELOCATING+_end = .;}
|
${RELOCATING+_end = .;}
|
||||||
${RELOCATING+${OTHER_BSS_END_SYMBOLS}}
|
${RELOCATING+${OTHER_END_SYMBOLS}}
|
||||||
${RELOCATING+PROVIDE (end = .);}
|
${RELOCATING+PROVIDE (end = .);}
|
||||||
|
|
||||||
/* Stabs debugging sections. */
|
/* Stabs debugging sections. */
|
||||||
|
@ -390,8 +390,6 @@ cat <<EOF
|
|||||||
${SDATA}
|
${SDATA}
|
||||||
${OTHER_SDATA_SECTIONS}
|
${OTHER_SDATA_SECTIONS}
|
||||||
${RELOCATING+${DATA_END_SYMBOLS-_edata = .; PROVIDE (edata = .);}}
|
${RELOCATING+${DATA_END_SYMBOLS-_edata = .; PROVIDE (edata = .);}}
|
||||||
/* __bss_start is used by _bfd_elf_provide_section_bound_symbols in
|
|
||||||
elflink.c. */
|
|
||||||
${RELOCATING+__bss_start = .;}
|
${RELOCATING+__bss_start = .;}
|
||||||
${RELOCATING+${OTHER_BSS_SYMBOLS}}
|
${RELOCATING+${OTHER_BSS_SYMBOLS}}
|
||||||
${SBSS}
|
${SBSS}
|
||||||
@ -409,7 +407,7 @@ cat <<EOF
|
|||||||
${OTHER_BSS_SECTIONS}
|
${OTHER_BSS_SECTIONS}
|
||||||
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
||||||
${RELOCATING+_end = .;}
|
${RELOCATING+_end = .;}
|
||||||
${RELOCATING+${OTHER_BSS_END_SYMBOLS}}
|
${RELOCATING+${OTHER_END_SYMBOLS}}
|
||||||
${RELOCATING+PROVIDE (end = .);}
|
${RELOCATING+PROVIDE (end = .);}
|
||||||
${RELOCATING+${DATA_SEGMENT_END}}
|
${RELOCATING+${DATA_SEGMENT_END}}
|
||||||
|
|
||||||
|
@ -391,7 +391,7 @@ cat <<EOF
|
|||||||
${RELOCATING+${OTHER_BSS_SECTIONS}}
|
${RELOCATING+${OTHER_BSS_SECTIONS}}
|
||||||
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
||||||
${RELOCATING+_end = .;}
|
${RELOCATING+_end = .;}
|
||||||
${RELOCATING+${OTHER_BSS_END_SYMBOLS}}
|
${RELOCATING+${OTHER_END_SYMBOLS}}
|
||||||
${RELOCATING+PROVIDE (end = .);}
|
${RELOCATING+PROVIDE (end = .);}
|
||||||
|
|
||||||
/* Stabs debugging sections. */
|
/* Stabs debugging sections. */
|
||||||
|
@ -148,7 +148,7 @@ SECTIONS
|
|||||||
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
||||||
${RELOCATING+_end = .;}
|
${RELOCATING+_end = .;}
|
||||||
${RELOCATING+__stack = .;}
|
${RELOCATING+__stack = .;}
|
||||||
${RELOCATING+${OTHER_BSS_END_SYMBOLS}}
|
${RELOCATING+${OTHER_END_SYMBOLS}}
|
||||||
${RELOCATING+PROVIDE (end = .);}
|
${RELOCATING+PROVIDE (end = .);}
|
||||||
|
|
||||||
/* Read-only sections in ROM. */
|
/* Read-only sections in ROM. */
|
||||||
|
Loading…
Reference in New Issue
Block a user