Retro68/binutils/ld/scripttempl/mips.sc

85 lines
1.9 KiB
Python
Raw Normal View History

2012-03-26 19:18:29 +00:00
# Linker script for MIPS systems.
# Ian Lance Taylor <ian@cygnus.com>.
2015-08-28 15:32:19 +00:00
#
2022-10-27 18:45:45 +00:00
# Copyright (C) 2014-2022 Free Software Foundation, Inc.
2018-12-28 15:25:28 +00:00
#
2015-08-28 15:32:19 +00:00
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved.
#
2012-03-26 19:18:29 +00:00
# These variables may be overridden by the emulation file. The
# defaults are appropriate for a DECstation running Ultrix.
2015-08-28 15:32:19 +00:00
2012-03-26 19:18:29 +00:00
test -z "$ENTRY" && ENTRY=__start
if [ -z "$EMBEDDED" ]; then
test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x400000 + SIZEOF_HEADERS"
else
test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x400000"
fi
if test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then
DATA_ADDR=.
else
test -z "$DATA_ADDR" && DATA_ADDR=0x10000000
fi
2015-08-28 15:32:19 +00:00
2012-03-26 19:18:29 +00:00
cat <<EOF
2022-10-27 18:45:45 +00:00
/* Copyright (C) 2014-2022 Free Software Foundation, Inc.
2015-08-28 15:32:19 +00:00
Copying and distribution of this script, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. */
2012-03-26 19:18:29 +00:00
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
${RELOCATING+ENTRY (${ENTRY})}
SECTIONS
{
${RELOCATING+. = ${TEXT_START_ADDR};}
.text : {
2022-10-27 18:45:45 +00:00
${RELOCATING+_ftext = .;
KEEP (*(SORT_NONE(.init)))
eprol = .;}
2012-03-26 19:18:29 +00:00
*(.text)
2022-10-27 18:45:45 +00:00
${RELOCATING+KEEP (*(SORT_NONE(.fini)))
etext = .;
_etext = .;}
2012-03-26 19:18:29 +00:00
}
${RELOCATING+. = ${DATA_ADDR};}
.rdata : {
*(.rdata)
}
${RELOCATING+ _fdata = ALIGN(16);}
.data : {
*(.data)
${CONSTRUCTING+CONSTRUCTORS}
}
${RELOCATING+ HIDDEN (_gp = ALIGN (16) + 0x8000);}
2012-03-26 19:18:29 +00:00
.lit8 : {
*(.lit8)
}
.lit4 : {
*(.lit4)
}
.sdata : {
*(.sdata)
}
${RELOCATING+ edata = .;}
${RELOCATING+ _edata = .;}
${RELOCATING+ _fbss = .;}
.sbss : {
*(.sbss)
*(.scommon)
}
.bss : {
*(.bss)
*(COMMON)
}
${RELOCATING+ end = .;}
${RELOCATING+ _end = .;}
}
EOF