This commit was generated by cvs2svn to track changes on a CVS vendor
[external/binutils.git] / ld / emulparams / elf64bmip.sh
1 # This is an ELF platform.
2 SCRIPT_NAME=elf
3
4 # Handle both big- and little-ended 32-bit MIPS objects.
5 ARCH=mips
6 OUTPUT_FORMAT="elf64-bigmips"
7 BIG_OUTPUT_FORMAT="elf64-bigmips"
8 LITTLE_OUTPUT_FORMAT="elf64-littlemips"
9
10 # Note that the elf32 template is used for 64-bit emulations as well 
11 # as 32-bit emulations.
12 ELFSIZE=64
13 TEMPLATE_NAME=elf32
14
15 TEXT_START_ADDR=0x10000000
16 MAXPAGESIZE=0x100000
17 ENTRY=__start
18
19 # GOT-related settings.  
20 OTHER_GOT_SYMBOLS='
21   _gp = ALIGN(16) + 0x7ff0;
22 '
23 OTHER_GOT_SECTIONS='
24   .lit8 : { *(.lit8) }
25   .lit4 : { *(.lit4) }
26   .srdata : { *(.srdata) }
27 '
28
29 # Magic symbols.
30 TEXT_START_SYMBOLS='_ftext = . ;'
31 DATA_START_SYMBOLS='_fdata = . ;'
32 OTHER_BSS_SYMBOLS='_fbss = .;'
33 # IRIX6 defines these symbols.  0x40 is the size of the ELF header.
34 EXECUTABLE_SYMBOLS="
35   __dso_displacement = 0;
36   __elf_header = ${TEXT_START_ADDR};
37   __program_header_table = ${TEXT_START_ADDR} + 0x40;
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.
45 WRITABLE_RODATA=
46
47
48 OTHER_RELOCATING_SECTIONS='
49   .MIPS.events.text :
50     {
51        *(.MIPS.events.text)
52        *(.MIPS.events.gnu.linkonce.t*)
53     }
54   .MIPS.content.text : 
55     {
56        *(.MIPS.content.text)
57        *(.MIPS.content.gnu.linkonce.t*)
58     }
59   .MIPS.events.data : 
60     {
61        *(.MIPS.events.data)
62        *(.MIPS.events.gnu.linkonce.d*)
63     }
64   .MIPS.content.data : 
65     {
66        *(.MIPS.content.data)
67        *(.MIPS.content.gnu.linkonce.d*)
68     }
69   .MIPS.events.rodata : 
70     {
71        *(.MIPS.events.rodata)
72        *(.MIPS.events.gnu.linkonce.r*)
73     }
74   .MIPS.content.rodata : 
75     {
76        *(.MIPS.content.rodata)
77        *(.MIPS.content.gnu.linkonce.r*)
78     }
79 '