1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
# 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.
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
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
ENTRY(${ENTRY})
SECTIONS
{
${RELOCATING+. = ${TEXT_START_ADDR};}
.text : {
${RELOCATING+ _ftext = . };
${RELOCATING+ __istart = . };
${RELOCATING+ *(.init) }
${RELOCATING+ LONG (0x6bfa8001)}
${RELOCATING+ eprol = .};
*(.text)
${RELOCATING+ __fstart = . };
${RELOCATING+ *(.fini)}
${RELOCATING+ LONG (0x6bfa8001)}
${RELOCATING+ _etext = .};
}
.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)
*(.scommon)
}
.bss : {
*(.bss)
*(COMMON)
}
${RELOCATING+ _end = .;}
}
EOF
|