mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 19:50:13 +08:00
* scripttempl/crisaout.sc (ENTRY): Now __start.
(.text): Add default setting for __start. Remove CONSTRUCTORS handling. (/DISCARD/): Add .gnu.warning.*. * emulparams/crislinux.sh (ENTRY): Now __start. (TEXT_START_SYMBOLS): New; provide __Stext and __start default. * emulparams/criself.sh (OUTPUT_FORMAT): Now elf32-us-cris. (ENTRY): Now __start. (INITIAL_READONLY_SECTIONS): Add KEEP for .startup. (EXECUTABLE_SYMBOLS): Add default setting for __start.
This commit is contained in:
13
ld/ChangeLog
13
ld/ChangeLog
@ -1,3 +1,16 @@
|
|||||||
|
2000-09-29 Hans-Peter Nilsson <hp@axis.com>
|
||||||
|
|
||||||
|
* scripttempl/crisaout.sc (ENTRY): Now __start.
|
||||||
|
(.text): Add default setting for __start.
|
||||||
|
Remove CONSTRUCTORS handling.
|
||||||
|
(/DISCARD/): Add .gnu.warning.*.
|
||||||
|
* emulparams/crislinux.sh (ENTRY): Now __start.
|
||||||
|
(TEXT_START_SYMBOLS): New; provide __Stext and __start default.
|
||||||
|
* emulparams/criself.sh (OUTPUT_FORMAT): Now elf32-us-cris.
|
||||||
|
(ENTRY): Now __start.
|
||||||
|
(INITIAL_READONLY_SECTIONS): Add KEEP for .startup.
|
||||||
|
(EXECUTABLE_SYMBOLS): Add default setting for __start.
|
||||||
|
|
||||||
2000-09-29 Kazu Hirata <kazu@hxi.com>
|
2000-09-29 Kazu Hirata <kazu@hxi.com>
|
||||||
|
|
||||||
* deffile.h: Fix formatting.
|
* deffile.h: Fix formatting.
|
||||||
|
@ -2,21 +2,32 @@
|
|||||||
MACHINE=
|
MACHINE=
|
||||||
SCRIPT_NAME=elf
|
SCRIPT_NAME=elf
|
||||||
TEMPLATE_NAME=elf32
|
TEMPLATE_NAME=elf32
|
||||||
OUTPUT_FORMAT="elf32-cris"
|
|
||||||
|
# Symbols have underscore prepended.
|
||||||
|
OUTPUT_FORMAT="elf32-us-cris"
|
||||||
ARCH=cris
|
ARCH=cris
|
||||||
MAXPAGESIZE=32
|
MAXPAGESIZE=32
|
||||||
ENTRY=_start
|
ENTRY=__start
|
||||||
EMBEDDED=yes
|
EMBEDDED=yes
|
||||||
ALIGNMENT=32
|
ALIGNMENT=32
|
||||||
TEXT_START_ADDR=0
|
TEXT_START_ADDR=0
|
||||||
|
|
||||||
# Put crt0 for flash/eprom etc. in this section.
|
# Put crt0 for flash/eprom etc. in this section.
|
||||||
INITIAL_READONLY_SECTIONS='.startup : { *(.startup) }'
|
INITIAL_READONLY_SECTIONS='.startup : { KEEP(*(.startup)) }'
|
||||||
|
|
||||||
# TEXT_START_SYMBOLS doesn't get what we want which is the start of
|
# TEXT_START_SYMBOLS doesn't get what we want which is the start of
|
||||||
# all read-only sections; there's at least .init and .fini before it.
|
# all read-only sections; there's at least .init and .fini before it.
|
||||||
# We have to resort to trickery.
|
# We have to resort to trickery.
|
||||||
EXECUTABLE_SYMBOLS='PROVIDE (__Stext = .);'
|
#
|
||||||
|
# The __start dance is to get us through assumptions about entry
|
||||||
|
# symbols, and to clear _start for normal use with sane programs.
|
||||||
|
EXECUTABLE_SYMBOLS='
|
||||||
|
PROVIDE (__Stext = .);
|
||||||
|
__start = DEFINED(__start) ? __start :
|
||||||
|
DEFINED(_start) ? _start :
|
||||||
|
DEFINED(start) ? start :
|
||||||
|
DEFINED(.startup) ? .startup + 2 : 2;
|
||||||
|
'
|
||||||
|
|
||||||
# Smuggle an "OTHER_TEXT_END_SYMBOLS" here.
|
# Smuggle an "OTHER_TEXT_END_SYMBOLS" here.
|
||||||
OTHER_READONLY_SECTIONS='PROVIDE (__Etext = .);'
|
OTHER_READONLY_SECTIONS='PROVIDE (__Etext = .);'
|
||||||
|
@ -4,7 +4,7 @@ SCRIPT_NAME=elf
|
|||||||
OUTPUT_FORMAT="elf32-cris"
|
OUTPUT_FORMAT="elf32-cris"
|
||||||
ARCH=cris
|
ARCH=cris
|
||||||
TEMPLATE_NAME=elf32
|
TEMPLATE_NAME=elf32
|
||||||
ENTRY=_start
|
ENTRY=__start
|
||||||
# Needed? Perhaps should be page-size alignment.
|
# Needed? Perhaps should be page-size alignment.
|
||||||
ALIGNMENT=32
|
ALIGNMENT=32
|
||||||
GENERATE_SHLIB_SCRIPT=yes
|
GENERATE_SHLIB_SCRIPT=yes
|
||||||
@ -12,11 +12,17 @@ GENERATE_SHLIB_SCRIPT=yes
|
|||||||
# Is this high enough and low enough?
|
# Is this high enough and low enough?
|
||||||
TEXT_START_ADDR=0x80000
|
TEXT_START_ADDR=0x80000
|
||||||
|
|
||||||
# Do we need to set this higher?
|
|
||||||
MAXPAGESIZE=8192
|
MAXPAGESIZE=8192
|
||||||
|
|
||||||
# FIXME: GOT, PLT...
|
# FIXME: GOT, PLT...
|
||||||
|
|
||||||
|
TEXT_START_SYMBOLS='PROVIDE (__Stext = .);
|
||||||
|
__start = DEFINED(__start) ? __start :
|
||||||
|
DEFINED(_start) ? _start :
|
||||||
|
DEFINED(start) ? start :
|
||||||
|
DEFINED(.startup) ? .startup + 2 : 2;
|
||||||
|
'
|
||||||
|
|
||||||
# Smuggle an "OTHER_TEXT_END_SYMBOLS" here.
|
# Smuggle an "OTHER_TEXT_END_SYMBOLS" here.
|
||||||
OTHER_READONLY_SECTIONS='PROVIDE (__Etext = .);'
|
OTHER_READONLY_SECTIONS='PROVIDE (__Etext = .);'
|
||||||
DATA_START_SYMBOLS='PROVIDE (__Sdata = .);'
|
DATA_START_SYMBOLS='PROVIDE (__Sdata = .);'
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
cat <<EOF
|
cat <<EOF
|
||||||
OUTPUT_FORMAT("a.out-cris")
|
OUTPUT_FORMAT("a.out-cris")
|
||||||
OUTPUT_ARCH(cris)
|
OUTPUT_ARCH(cris)
|
||||||
ENTRY(_start)
|
ENTRY(__start)
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
.text ${RELOCATING+ ${TEXT_START_ADDR}}:
|
.text ${RELOCATING+ ${TEXT_START_ADDR}}:
|
||||||
@ -10,6 +10,10 @@ SECTIONS
|
|||||||
${RELOCATING+ __Stext = .;}
|
${RELOCATING+ __Stext = .;}
|
||||||
${RELOCATING+*(.startup)}
|
${RELOCATING+*(.startup)}
|
||||||
*(.text)
|
*(.text)
|
||||||
|
${RELOCATING+__start = DEFINED(__start) ? __start :
|
||||||
|
DEFINED(_start) ? _start :
|
||||||
|
DEFINED(start) ? start :
|
||||||
|
DEFINED(.startup) ? .startup + 2 : 2;}
|
||||||
${RELOCATING+*(.text.*)}
|
${RELOCATING+*(.text.*)}
|
||||||
${RELOCATING+*(.gnu.linkonce.t*)}
|
${RELOCATING+*(.gnu.linkonce.t*)}
|
||||||
${RELOCATING+*(.rodata)}
|
${RELOCATING+*(.rodata)}
|
||||||
@ -41,14 +45,6 @@ SECTIONS
|
|||||||
${RELOCATING+PROVIDE (__fini__end = .);}
|
${RELOCATING+PROVIDE (__fini__end = .);}
|
||||||
${RELOCATING+ ___fini__end = .;}
|
${RELOCATING+ ___fini__end = .;}
|
||||||
|
|
||||||
/* Putting constructors in constant store is sane as long as
|
|
||||||
there's no need for dynamic fixups. */
|
|
||||||
/* The constructors and destructors set symbols are unused now that
|
|
||||||
collect2 has its wicked way. */
|
|
||||||
${CONSTRUCTING+ ___aout_ctors_dtors_begin = .;}
|
|
||||||
${CONSTRUCTING+ SORT(CONSTRUCTORS);}
|
|
||||||
${CONSTRUCTING+ ___aout_ctors_dtors_end = .;}
|
|
||||||
|
|
||||||
/* Cater to linking from ELF. */
|
/* Cater to linking from ELF. */
|
||||||
${CONSTRUCTING+ PROVIDE(___ctors = .);}
|
${CONSTRUCTING+ PROVIDE(___ctors = .);}
|
||||||
${CONSTRUCTING+ ___elf_ctors_dtors_begin = .;}
|
${CONSTRUCTING+ ___elf_ctors_dtors_begin = .;}
|
||||||
@ -111,7 +107,8 @@ SECTIONS
|
|||||||
|
|
||||||
/* Unfortunately, stabs are not mappable from ELF to a.out.
|
/* Unfortunately, stabs are not mappable from ELF to a.out.
|
||||||
It can probably be fixed with some amount of work. */
|
It can probably be fixed with some amount of work. */
|
||||||
/DISCARD/ : { *(.stab) *(.stab*) *(.debug) *(.debug*) *(.comment) }
|
/DISCARD/ :
|
||||||
|
{ *(.stab) *(.stab*) *(.debug) *(.debug*) *(.comment) *(.gnu.warning.*) }
|
||||||
|
|
||||||
/* For the rsim and xsim simulators. */
|
/* For the rsim and xsim simulators. */
|
||||||
${RELOCATING+ PROVIDE(__Endmem = 0x10000000);}
|
${RELOCATING+ PROVIDE(__Endmem = 0x10000000);}
|
||||||
|
Reference in New Issue
Block a user