Commit | Line | Data |
---|---|---|
465bc359 AM |
1 | # If you change this file, please also look at files which source this one: |
2 | # elf32b4300.sh elf32bsmip.sh elf32btsmip.sh elf32ebmip.sh elf32lmip.sh | |
3 | ||
252b5132 RH |
4 | SCRIPT_NAME=elf |
5 | OUTPUT_FORMAT="elf32-bigmips" | |
6 | BIG_OUTPUT_FORMAT="elf32-bigmips" | |
7 | LITTLE_OUTPUT_FORMAT="elf32-littlemips" | |
8 | TEXT_START_ADDR=0x0400000 | |
465bc359 | 9 | test -n "${EMBEDDED}" || DATA_ADDR=0x10000000 |
24718e3b L |
10 | MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" |
11 | COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" | |
252b5132 RH |
12 | NONPAGED_TEXT_START_ADDR=0x0400000 |
13 | SHLIB_TEXT_START_ADDR=0x5ffe0000 | |
161f49a3 | 14 | TEXT_DYNAMIC= |
5a8e7be2 AM |
15 | INITIAL_READONLY_SECTIONS= |
16 | if test -z "${CREATE_SHLIB}"; then | |
17 | INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }" | |
18 | fi | |
19 | INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS} | |
465bc359 AM |
20 | .reginfo ${RELOCATING-0} : { *(.reginfo) } |
21 | " | |
252b5132 | 22 | OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)' |
5427f821 RS |
23 | # Unlike most targets, the MIPS backend puts all dynamic relocations |
24 | # in a single dynobj section, which it also calls ".rel.dyn". It does | |
25 | # this so that it can easily sort all dynamic relocations before the | |
26 | # output section has been populated. | |
27 | OTHER_GOT_RELOC_SECTIONS=" | |
28 | .rel.dyn ${RELOCATING-0} : { *(.rel.dyn) } | |
29 | " | |
4e25343c RS |
30 | # If the output has a GOT section, there must be exactly 0x7ff0 bytes |
31 | # between .got and _gp. The ". = ." below stops the orphan code from | |
32 | # inserting other sections between the assignment to _gp and the start | |
33 | # of .got. | |
252b5132 | 34 | OTHER_GOT_SYMBOLS=' |
4e25343c | 35 | . = .; |
252b5132 RH |
36 | _gp = ALIGN(16) + 0x7ff0; |
37 | ' | |
465bc359 AM |
38 | OTHER_SDATA_SECTIONS=" |
39 | .lit8 ${RELOCATING-0} : { *(.lit8) } | |
40 | .lit4 ${RELOCATING-0} : { *(.lit4) } | |
41 | " | |
252b5132 RH |
42 | TEXT_START_SYMBOLS='_ftext = . ;' |
43 | DATA_START_SYMBOLS='_fdata = . ;' | |
44 | OTHER_BSS_SYMBOLS='_fbss = .;' | |
45 | OTHER_SECTIONS=' | |
46 | .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) } | |
47 | .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) } | |
ce28273f FF |
48 | .mdebug.abi32 : { KEEP(*(.mdebug.abi32)) } |
49 | .mdebug.abiN32 : { KEEP(*(.mdebug.abiN32)) } | |
50 | .mdebug.abi64 : { KEEP(*(.mdebug.abi64)) } | |
51 | .mdebug.abiO64 : { KEEP(*(.mdebug.abiO64)) } | |
52 | .mdebug.eabi32 : { KEEP(*(.mdebug.eabi32)) } | |
53 | .mdebug.eabi64 : { KEEP(*(.mdebug.eabi64)) } | |
54 | .gcc_compiled_long32 : { KEEP(*(.gcc_compiled_long32)) } | |
55 | .gcc_compiled_long64 : { KEEP(*(.gcc_compiled_long64)) } | |
252b5132 RH |
56 | ' |
57 | ARCH=mips | |
58 | MACHINE= | |
59 | TEMPLATE_NAME=elf32 | |
73934d31 | 60 | EXTRA_EM_FILE=mipself |
252b5132 | 61 | GENERATE_SHLIB_SCRIPT=yes |
35eb9fb6 | 62 | GENERATE_PIE_SCRIPT=yes |