* scripttempl/mmo.sc: For relocateable links, set $OUTPUT_FORMAT to
the new $RELOCATEABLE_OUTPUT_FORMAT, if set. (OUTPUT_FORMAT): Use the variable $OUTPUT_FORMAT. (ENTRY): Don't emit for relocateable links. (/DISCARD/): Don't discard .gnu.warning.* for relocateable links. * emulparams/mmo.sh (RELOCATEABLE_OUTPUT_FORMAT): Set, to elf64-mmix. * emulparams/elf64mmix.sh (OTHER_TEXT_SECTIONS): Empty, don't provide "Main" or set "_start.", for relocateable links.
This commit is contained in:
parent
45de461e3b
commit
18c32df5b4
12
ld/ChangeLog
12
ld/ChangeLog
@ -1,3 +1,15 @@
|
||||
2009-07-29 Hans-Peter Nilsson <hp@bitrange.com>
|
||||
|
||||
* scripttempl/mmo.sc: For relocateable links, set $OUTPUT_FORMAT to
|
||||
the new $RELOCATEABLE_OUTPUT_FORMAT, if set.
|
||||
(OUTPUT_FORMAT): Use the variable $OUTPUT_FORMAT.
|
||||
(ENTRY): Don't emit for relocateable links.
|
||||
(/DISCARD/): Don't discard .gnu.warning.* for relocateable links.
|
||||
* emulparams/mmo.sh (RELOCATEABLE_OUTPUT_FORMAT): Set, to
|
||||
elf64-mmix.
|
||||
* emulparams/elf64mmix.sh (OTHER_TEXT_SECTIONS): Empty, don't
|
||||
provide "Main" or set "_start.", for relocateable links.
|
||||
|
||||
2009-07-27 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* (po/fi.po): Updated Finnish translation.
|
||||
|
@ -35,11 +35,14 @@ EXTRA_EM_FILE=mmixelf
|
||||
# DEFINED wouldn't find the symbol if it was at the top; presumably
|
||||
# before the definition, if the definition is not in the first file.
|
||||
# FIXME: Arguably a linker bug.
|
||||
OTHER_TEXT_SECTIONS='
|
||||
# Only do this for a final link, or else we'll mess up e.g. error
|
||||
# messages.
|
||||
OTHER_TEXT_SECTIONS="
|
||||
${RELOCATING+
|
||||
_start. = (DEFINED (_start) ? _start
|
||||
: (DEFINED (Main) ? Main : (DEFINED (.text) ? .text : 0)));
|
||||
PROVIDE (Main = DEFINED (Main) ? Main : (DEFINED (_start) ? _start : _start.));
|
||||
'
|
||||
}"
|
||||
|
||||
OTHER_SECTIONS='
|
||||
.MMIX.reg_contents :
|
||||
|
@ -5,6 +5,7 @@ TARGET_PAGE_SIZE=256
|
||||
TEXT_START_ADDR='DEFINED (__.MMIX.start..text) ? __.MMIX.start..text : 0'
|
||||
DATA_ADDR='DEFINED (__.MMIX.start..data) ? __.MMIX.start..data : 0x2000000000000000'
|
||||
OUTPUT_FORMAT=mmo
|
||||
RELOCATEABLE_OUTPUT_FORMAT=elf64-mmix
|
||||
ARCH=mmix
|
||||
COMPILE_IN=yes
|
||||
EXTRA_EM_FILE=mmo
|
||||
|
@ -1,7 +1,11 @@
|
||||
# MMO is not a relocateable format, and we don't want to require an
|
||||
# explicit (e.g.) "-m elf64mmix" when -r is used.
|
||||
test -z $RELOCATEABLE_OUTPUT_FORMAT && RELOCATEABLE_OUTPUT_FORMAT=$OUTPUT_FORMAT
|
||||
test -z ${RELOCATING+0} && OUTPUT_FORMAT=$RELOCATEABLE_OUTPUT_FORMAT
|
||||
cat <<EOF
|
||||
OUTPUT_FORMAT("mmo")
|
||||
OUTPUT_FORMAT("$OUTPUT_FORMAT")
|
||||
OUTPUT_ARCH(mmix)
|
||||
ENTRY(Main)
|
||||
${RELOCATING+ENTRY(Main)}
|
||||
SECTIONS
|
||||
{
|
||||
.text ${RELOCATING+ ${TEXT_START_ADDR}}:
|
||||
@ -128,6 +132,6 @@ SECTIONS
|
||||
/* Unfortunately, stabs are not mappable from ELF to MMO.
|
||||
It can probably be fixed with some amount of work. */
|
||||
/DISCARD/ :
|
||||
{ *(.gnu.warning.*); }
|
||||
{ ${RELOCATING+ *(.gnu.warning.*);} }
|
||||
}
|
||||
EOF
|
||||
|
Loading…
x
Reference in New Issue
Block a user