1 # If you change this file, please also look at files which source this one:
2 # elf64bmip.sh elf64btsmip.sh elf32btsmipn32.sh elf32bmipn32.sh
4 # This is an ELF platform.
7 # Handle both big- and little-ended 32-bit MIPS objects.
9 OUTPUT_FORMAT
="elf32-bigmips"
10 BIG_OUTPUT_FORMAT
="elf32-bigmips"
11 LITTLE_OUTPUT_FORMAT
="elf32-littlemips"
15 TEXT_START_ADDR
=0x10000000
19 # GOT-related settings.
21 _gp = ALIGN(16) + 0x7ff0;
23 OTHER_SDATA_SECTIONS
="
24 .lit8 ${RELOCATING-0} : { *(.lit8) }
25 .lit4 ${RELOCATING-0} : { *(.lit4) }
26 .srdata ${RELOCATING-0} : { *(.srdata) }
30 TEXT_START_SYMBOLS
='_ftext = . ;'
31 DATA_START_SYMBOLS
='_fdata = . ;'
32 OTHER_BSS_SYMBOLS
='_fbss = .;'
33 # IRIX6 defines these symbols. 0x34 is the size of the ELF header.
35 __dso_displacement = 0;
36 __elf_header = ${TEXT_START_ADDR};
37 __program_header_table = ${TEXT_START_ADDR} + 0x34;
40 # There are often dynamic relocations against the .rodata section.
41 # Setting DT_TEXTREL in the .dynamic section does not convince the
42 # IRIX6 linker to permit relocations against the text segment.
43 # Following the IRIX linker, we simply put .rodata in the data
48 .MIPS.events.text ${RELOCATING-0} :
50 *(.MIPS.events.text${RELOCATING+ .MIPS.events.gnu.linkonce.t*})
52 .MIPS.content.text ${RELOCATING-0} :
54 *(.MIPS.content.text${RELOCATING+ .MIPS.content.gnu.linkonce.t*})
56 .MIPS.events.data ${RELOCATING-0} :
58 *(.MIPS.events.data${RELOCATING+ .MIPS.events.gnu.linkonce.d*})
60 .MIPS.content.data ${RELOCATING-0} :
62 *(.MIPS.content.data${RELOCATING+ .MIPS.content.gnu.linkonce.d*})
64 .MIPS.events.rodata ${RELOCATING-0} :
66 *(.MIPS.events.rodata${RELOCATING+ .MIPS.events.gnu.linkonce.r*})
68 .MIPS.content.rodata ${RELOCATING-0} :
70 *(.MIPS.content.rodata${RELOCATING+ .MIPS.content.gnu.linkonce.r*})