Index: ld/ChangeLog from Alexandre Oliva * emulparams/elf32bmipn32-defs.sh (LIB_PATH): Set to /usr/lib32. (GENERATE_SHLIB_SCRIPT): Set to yes. (EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Moved to... * emulparams/elf32bmipn32.sh: here. (GENERATE_SHLIB_SCRIPT): Deleted as redundant. * emulparams/elf32btsmipn32.sh: Delete redundant unsets. * emulparams/elf64bmip-defs.sh: New file. Extend elf32bmipn32-defs.sh by overiding ELFSIZE and LIB_PATH. * emulparams/elf64bmip.sh: Bring in definitions from elf64bmip-defs.sh. (ELFSIZE, GENERATE_SHLIB_SCRIPT, LIB_PATH): Delete redundant settings. (WRITABLE_RODATA): Moved from elf32bmipn32-defs.sh. * emulparams/elf64btsmip.sh: Bring in definitions from elf64bmip-defs.sh. (ELFSIZE, GENERATE_SHLIB_SCRIPT): Delete, redundant. (EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Delete redundant unsets. Index: ld/emulparams/elf32bmipn32-defs.sh =================================================================== RCS file: /cvs/src/src/ld/emulparams/elf32bmipn32-defs.sh,v retrieving revision 1.1 diff -u -p -r1.1 elf32bmipn32-defs.sh --- ld/emulparams/elf32bmipn32-defs.sh 18 Sep 2002 01:54:37 -0000 1.1 +++ ld/emulparams/elf32bmipn32-defs.sh 13 Oct 2002 21:54:32 -0000 @@ -11,6 +11,9 @@ BIG_OUTPUT_FORMAT="elf32-bigmips" LITTLE_OUTPUT_FORMAT="elf32-littlemips" TEMPLATE_NAME=elf32 +LIB_PATH=/usr/lib32 + +GENERATE_SHLIB_SCRIPT=yes TEXT_START_ADDR=0x10000000 MAXPAGESIZE=0x100000 @@ -30,19 +33,6 @@ OTHER_SDATA_SECTIONS=" TEXT_START_SYMBOLS='_ftext = . ;' DATA_START_SYMBOLS='_fdata = . ;' OTHER_BSS_SYMBOLS='_fbss = .;' -# IRIX6 defines these symbols. 0x34 is the size of the ELF header. -EXECUTABLE_SYMBOLS=" - __dso_displacement = 0; - __elf_header = ${TEXT_START_ADDR}; - __program_header_table = ${TEXT_START_ADDR} + 0x34; -" - -# There are often dynamic relocations against the .rodata section. -# Setting DT_TEXTREL in the .dynamic section does not convince the -# IRIX6 linker to permit relocations against the text segment. -# Following the IRIX linker, we simply put .rodata in the data -# segment. -WRITABLE_RODATA= OTHER_SECTIONS=" .MIPS.events.text ${RELOCATING-0} : Index: ld/emulparams/elf32bmipn32.sh =================================================================== RCS file: /cvs/src/src/ld/emulparams/elf32bmipn32.sh,v retrieving revision 1.6 diff -u -p -r1.6 elf32bmipn32.sh --- ld/emulparams/elf32bmipn32.sh 18 Sep 2002 01:54:37 -0000 1.6 +++ ld/emulparams/elf32bmipn32.sh 13 Oct 2002 21:54:32 -0000 @@ -2,5 +2,18 @@ OUTPUT_FORMAT="elf32-nbigmips" BIG_OUTPUT_FORMAT="elf32-nbigmips" LITTLE_OUTPUT_FORMAT="elf32-nlittlemips" -GENERATE_SHLIB_SCRIPT=yes SHLIB_TEXT_START_ADDR=0x5ffe0000 + +# IRIX6 defines these symbols. 0x34 is the size of the ELF header. +EXECUTABLE_SYMBOLS=" + __dso_displacement = 0; + __elf_header = ${TEXT_START_ADDR}; + __program_header_table = ${TEXT_START_ADDR} + 0x34; +" + +# There are often dynamic relocations against the .rodata section. +# Setting DT_TEXTREL in the .dynamic section does not convince the +# IRIX6 linker to permit relocations against the text segment. +# Following the IRIX linker, we simply put .rodata in the data +# segment. +WRITABLE_RODATA= Index: ld/emulparams/elf32btsmipn32.sh =================================================================== RCS file: /cvs/src/src/ld/emulparams/elf32btsmipn32.sh,v retrieving revision 1.2 diff -u -p -r1.2 elf32btsmipn32.sh --- ld/emulparams/elf32btsmipn32.sh 18 Sep 2002 01:54:37 -0000 1.2 +++ ld/emulparams/elf32btsmipn32.sh 13 Oct 2002 21:54:32 -0000 @@ -6,10 +6,6 @@ OUTPUT_FORMAT="elf32-ntradbigmips" BIG_OUTPUT_FORMAT="elf32-ntradbigmips" LITTLE_OUTPUT_FORMAT="elf32-ntradlittlemips" -unset EXECUTABLE_SYMBOLS -unset WRITABLE_RODATA -unset SHLIB_TEXT_START_ADDR - # Magic sections. OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)' OTHER_SECTIONS=' Index: ld/emulparams/elf64bmip-defs.sh =================================================================== RCS file: ld/emulparams/elf64bmip-defs.sh diff -N ld/emulparams/elf64bmip-defs.sh --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ ld/emulparams/elf64bmip-defs.sh 13 Oct 2002 21:54:32 -0000 @@ -0,0 +1,6 @@ +# If you change this file, please also look at files which source this one: +# elf64bmip.sh and elf64btsmip.sh + +. ${srcdir}/emulparams/elf32bmipn32-defs.sh +ELFSIZE=64 +LIB_PATH=/usr/lib64 Index: ld/emulparams/elf64bmip.sh =================================================================== RCS file: /cvs/src/src/ld/emulparams/elf64bmip.sh,v retrieving revision 1.5 diff -u -p -r1.5 elf64bmip.sh --- ld/emulparams/elf64bmip.sh 18 Sep 2002 01:54:37 -0000 1.5 +++ ld/emulparams/elf64bmip.sh 13 Oct 2002 21:54:32 -0000 @@ -1,10 +1,7 @@ -. ${srcdir}/emulparams/elf32bmipn32-defs.sh +. ${srcdir}/emulparams/elf64bmip-defs.sh OUTPUT_FORMAT="elf64-bigmips" BIG_OUTPUT_FORMAT="elf64-bigmips" LITTLE_OUTPUT_FORMAT="elf64-littlemips" -ELFSIZE=64 -GENERATE_SHLIB_SCRIPT=yes -LIB_PATH=/usr/lib64 # IRIX6 defines these symbols. 0x40 is the size of the ELF header. EXECUTABLE_SYMBOLS=" @@ -12,3 +9,10 @@ EXECUTABLE_SYMBOLS=" __elf_header = ${TEXT_START_ADDR}; __program_header_table = ${TEXT_START_ADDR} + 0x40; " + +# There are often dynamic relocations against the .rodata section. +# Setting DT_TEXTREL in the .dynamic section does not convince the +# IRIX6 linker to permit relocations against the text segment. +# Following the IRIX linker, we simply put .rodata in the data +# segment. +WRITABLE_RODATA= Index: ld/emulparams/elf64btsmip.sh =================================================================== RCS file: /cvs/src/src/ld/emulparams/elf64btsmip.sh,v retrieving revision 1.6 diff -u -p -r1.6 elf64btsmip.sh --- ld/emulparams/elf64btsmip.sh 18 Sep 2002 01:54:37 -0000 1.6 +++ ld/emulparams/elf64btsmip.sh 13 Oct 2002 21:54:32 -0000 @@ -1,20 +1,15 @@ # If you change this file, please also look at files which source this one: # elf64ltsmip.sh -. ${srcdir}/emulparams/elf32bmipn32-defs.sh +. ${srcdir}/emulparams/elf64bmip-defs.sh OUTPUT_FORMAT="elf64-tradbigmips" BIG_OUTPUT_FORMAT="elf64-tradbigmips" LITTLE_OUTPUT_FORMAT="elf64-tradlittlemips" -ELFSIZE=64 -GENERATE_SHLIB_SCRIPT=yes DATA_ADDR=0x0400000000 NONPAGED_TEXT_START_ADDR=0x10000000 SHLIB_TEXT_START_ADDR=0 TEXT_DYNAMIC= - -unset EXECUTABLE_SYMBOLS -unset WRITABLE_RODATA # Magic sections. INITIAL_READONLY_SECTIONS='.MIPS.options : { *(.MIPS.options) }'