Retro68/binutils/ld/scripttempl/alpha.sc

88 lines
2.0 KiB
Python
Raw Normal View History

2012-03-26 19:18:29 +00:00
# Linker script for Alpha systems.
# Ian Lance Taylor <ian@cygnus.com>.
# These variables may be overridden by the emulation file. The
# defaults are appropriate for an Alpha running OSF/1.
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
test -z "$ENTRY" && ENTRY=__start
test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x120000000 + SIZEOF_HEADERS"
if test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then
DATA_ADDR=.
else
test -z "$DATA_ADDR" && DATA_ADDR=0x140000000
fi
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}")
${LIB_SEARCH_DIRS}
${RELOCATING+ENTRY (${ENTRY})}
SECTIONS
{
${RELOCATING+. = ${TEXT_START_ADDR};}
.text : {
2022-10-27 18:45:45 +00:00
${RELOCATING+ _ftext = .;}
${RELOCATING+ __istart = .;}
${RELOCATING+ KEEP (*(SORT_NONE(.init)))}
2012-03-26 19:18:29 +00:00
${RELOCATING+ LONG (0x6bfa8001)}
2022-10-27 18:45:45 +00:00
${RELOCATING+ eprol = .;}
2012-03-26 19:18:29 +00:00
*(.text)
2022-10-27 18:45:45 +00:00
${RELOCATING+ __fstart = .;}
${RELOCATING+ KEEP (*(SORT_NONE(.fini)))}
2012-03-26 19:18:29 +00:00
${RELOCATING+ LONG (0x6bfa8001)}
2022-10-27 18:45:45 +00:00
${RELOCATING+ _etext = .;}
2012-03-26 19:18:29 +00:00
}
.rdata : {
*(.rdata)
}
.rconst : {
*(.rconst)
}
.pdata : {
${RELOCATING+ _fpdata = .;}
*(.pdata)
}
${RELOCATING+. = ${DATA_ADDR};}
.data : {
${RELOCATING+ _fdata = .;}
*(.data)
${CONSTRUCTING+CONSTRUCTORS}
}
.xdata : {
*(.xdata)
}
${RELOCATING+ _gp = ALIGN (16) + 0x8000;}
.lit8 : {
*(.lit8)
}
.lita : {
*(.lita)
}
.sdata : {
*(.sdata)
}
${RELOCATING+ _EDATA = .;}
${RELOCATING+ _FBSS = .;}
.sbss : {
*(.sbss)
2022-10-27 18:45:45 +00:00
${RELOCATING+*(.scommon)}
2012-03-26 19:18:29 +00:00
}
.bss : {
*(.bss)
2022-10-27 18:45:45 +00:00
${RELOCATING+*(COMMON)}
2012-03-26 19:18:29 +00:00
}
${RELOCATING+ _end = .;}
}
EOF