]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - ld/emulparams/elf32bmipn32.sh
* Makefile.am (eelf32btsmipn32.o, eelf32ltsmipn32.o): New emulations
[thirdparty/binutils-gdb.git] / ld / emulparams / elf32bmipn32.sh
CommitLineData
465bc359 1# If you change this file, please also look at files which source this one:
7808a785 2# elf64bmip.sh elf64btsmip.sh elf32btsmipn32.sh
465bc359 3
dc831978
MM
4# This is an ELF platform.
5SCRIPT_NAME=elf
6
7# Handle both big- and little-ended 32-bit MIPS objects.
8ARCH=mips
9OUTPUT_FORMAT="elf32-bigmips"
10BIG_OUTPUT_FORMAT="elf32-bigmips"
11LITTLE_OUTPUT_FORMAT="elf32-littlemips"
12
13TEMPLATE_NAME=elf32
14
15TEXT_START_ADDR=0x10000000
16MAXPAGESIZE=0x100000
17ENTRY=__start
18
19# GOT-related settings.
20OTHER_GOT_SYMBOLS='
21 _gp = ALIGN(16) + 0x7ff0;
22'
465bc359
AM
23OTHER_SDATA_SECTIONS="
24 .lit8 ${RELOCATING-0} : { *(.lit8) }
25 .lit4 ${RELOCATING-0} : { *(.lit4) }
26 .srdata ${RELOCATING-0} : { *(.srdata) }
27"
dc831978
MM
28
29# Magic symbols.
30TEXT_START_SYMBOLS='_ftext = . ;'
31DATA_START_SYMBOLS='_fdata = . ;'
32OTHER_BSS_SYMBOLS='_fbss = .;'
33# IRIX6 defines these symbols. 0x34 is the size of the ELF header.
34EXECUTABLE_SYMBOLS="
35 __dso_displacement = 0;
36 __elf_header = ${TEXT_START_ADDR};
37 __program_header_table = ${TEXT_START_ADDR} + 0x34;
38"
39
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
44# segment.
45WRITABLE_RODATA=
46
465bc359
AM
47OTHER_SECTIONS="
48 .MIPS.events.text ${RELOCATING-0} :
0ca63823 49 {
465bc359 50 *(.MIPS.events.text${RELOCATING+ .MIPS.events.gnu.linkonce.t*})
0ca63823 51 }
465bc359 52 .MIPS.content.text ${RELOCATING-0} :
0ca63823 53 {
465bc359 54 *(.MIPS.content.text${RELOCATING+ .MIPS.content.gnu.linkonce.t*})
0ca63823 55 }
465bc359 56 .MIPS.events.data ${RELOCATING-0} :
0ca63823 57 {
465bc359 58 *(.MIPS.events.data${RELOCATING+ .MIPS.events.gnu.linkonce.d*})
0ca63823 59 }
465bc359 60 .MIPS.content.data ${RELOCATING-0} :
0ca63823 61 {
465bc359 62 *(.MIPS.content.data${RELOCATING+ .MIPS.content.gnu.linkonce.d*})
0ca63823 63 }
465bc359 64 .MIPS.events.rodata ${RELOCATING-0} :
0ca63823 65 {
465bc359 66 *(.MIPS.events.rodata${RELOCATING+ .MIPS.events.gnu.linkonce.r*})
0ca63823 67 }
465bc359 68 .MIPS.content.rodata ${RELOCATING-0} :
0ca63823 69 {
465bc359
AM
70 *(.MIPS.content.rodata${RELOCATING+ .MIPS.content.gnu.linkonce.r*})
71 }"