diff options
Diffstat (limited to 'libgloss/mips')
-rw-r--r-- | libgloss/mips/Makefile.in | 5 | ||||
-rw-r--r-- | libgloss/mips/array.ld | 20 | ||||
-rw-r--r-- | libgloss/mips/cfe.ld | 21 | ||||
-rwxr-xr-x | libgloss/mips/configure | 40 | ||||
-rw-r--r-- | libgloss/mips/configure.in | 3 | ||||
-rw-r--r-- | libgloss/mips/ddb-kseg0.ld | 17 | ||||
-rw-r--r-- | libgloss/mips/ddb.ld | 17 | ||||
-rw-r--r-- | libgloss/mips/dve.ld | 21 | ||||
-rw-r--r-- | libgloss/mips/idt.ld | 21 | ||||
-rw-r--r-- | libgloss/mips/idt32.ld | 21 | ||||
-rw-r--r-- | libgloss/mips/idt64.ld | 21 | ||||
-rw-r--r-- | libgloss/mips/idtecoff.ld | 16 | ||||
-rw-r--r-- | libgloss/mips/jmr3904app-java.ld | 17 | ||||
-rw-r--r-- | libgloss/mips/jmr3904app.ld | 21 | ||||
-rw-r--r-- | libgloss/mips/jmr3904dram-java.ld | 17 | ||||
-rw-r--r-- | libgloss/mips/jmr3904dram.ld | 17 | ||||
-rw-r--r-- | libgloss/mips/lsi.ld | 20 | ||||
-rw-r--r-- | libgloss/mips/nullmon.ld | 21 | ||||
-rw-r--r-- | libgloss/mips/pmon.ld | 21 | ||||
-rw-r--r-- | libgloss/mips/regs.S | 9 | ||||
-rw-r--r-- | libgloss/mips/vr4300.S | 4 | ||||
-rw-r--r-- | libgloss/mips/vr5xxx.S | 4 |
22 files changed, 113 insertions, 261 deletions
diff --git a/libgloss/mips/Makefile.in b/libgloss/mips/Makefile.in index 00f65a0f9..ada567eb3 100644 --- a/libgloss/mips/Makefile.in +++ b/libgloss/mips/Makefile.in @@ -10,7 +10,6 @@ # the new terms are clearly indicated on the first page of each file where # they apply. -DESTDIR = VPATH = @srcdir@ srcdir = @srcdir@ objdir = . @@ -202,10 +201,10 @@ distclean maintainer-clean realclean: clean .PHONY: install info install-info clean-info install: @for file in $(CRT0) $(PCRT0) $(BSP); do \ - $(INSTALL_DATA) $${file} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ + $(INSTALL_DATA) $${file} $(tooldir)/lib${MULTISUBDIR}; \ done @for script in ${SCRIPTS}; do\ - $(INSTALL_DATA) ${srcdir}/$${script}.ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${script}.ld; \ + $(INSTALL_DATA) ${srcdir}/$${script}.ld $(tooldir)/lib${MULTISUBDIR}/$${script}.ld; \ done info: diff --git a/libgloss/mips/array.ld b/libgloss/mips/array.ld index fc4cc8fc2..839062195 100644 --- a/libgloss/mips/array.ld +++ b/libgloss/mips/array.ld @@ -84,25 +84,21 @@ SECTIONS . = 0x80020000; .text : { _ftext = . ; - KEEP (*(.init)) + *(.init) eprol = .; *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) PROVIDE (__runtime_reloc_start = .); *(.rel.sdata) PROVIDE (__runtime_reloc_stop = .); - KEEP (*(.fini)) + *(.fini) etext = .; _etext = .; } - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .jcr : { KEEP (*(.jcr)) } .ctors : { /* gcc uses crtbegin.o to find the start of @@ -140,13 +136,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) } _gp = ALIGN(16) + 0x8000; .lit8 : { @@ -158,22 +154,18 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } edata = .; _edata = .; _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } end = .; diff --git a/libgloss/mips/cfe.ld b/libgloss/mips/cfe.ld index 58e8014d7..d9fa414c0 100644 --- a/libgloss/mips/cfe.ld +++ b/libgloss/mips/cfe.ld @@ -36,15 +36,15 @@ SECTIONS PROVIDE (eprol = .); *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) } .init : { - KEEP (*(.init)) + *(.init) } .fini : { - KEEP (*(.fini)) + *(.fini) } .rel.sdata : { PROVIDE (__runtime_reloc_start = .); @@ -54,10 +54,6 @@ SECTIONS PROVIDE (etext = .); _etext = .; - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .jcr : { KEEP (*(.jcr)) } .ctors : { /* gcc uses crtbegin.o to find the start of @@ -95,13 +91,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) } . = ALIGN(8); _gp = . + 0x8000; @@ -115,7 +111,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); PROVIDE (edata = .); @@ -123,15 +119,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } @@ -163,7 +155,6 @@ SECTIONS .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } - .debug_ranges 0 : { *(.debug_ranges) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } diff --git a/libgloss/mips/configure b/libgloss/mips/configure index c31380543..4089d6383 100755 --- a/libgloss/mips/configure +++ b/libgloss/mips/configure @@ -918,8 +918,7 @@ case "${target}" in bsp_list="libdve.a libidt.a libjmr3904.a" ;; mipsisa32-*-* | mipsisa32el-*-* | \ - mipsisa32r2-*-* | mipsisa32r2el-*-* | \ - mipsisa64-*-*) + mipsisa32r2-*-* | mipsisa32r2el-*-*) crt0="crt0_cfe.o crt0_cygmon.o crt0.o" pcrt0="pcrt0.o" part_specific_obj= @@ -1035,34 +1034,15 @@ trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then we branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -cat >confdef2opt.sed <<\_ACEOF -t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g -t quote -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g -t quote -d -: quote -s,[ `~#$^&*(){}\\|;'"<>?],\\&,g -s,\[,\\&,g -s,\],\\&,g -s,\$,$$,g -p -_ACEOF -# We use echo to avoid assuming a particular line-breaking character. -# The extra dot is to prevent the shell from consuming trailing -# line-breaks from the sub-command output. A line-break within -# single-quotes doesn't work because, if this script is created in a -# platform that uses two characters for line-breaks (e.g., DOS), tr -# would break. -ac_LF_and_DOT=`echo; echo .` -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` -rm -f confdef2opt.sed +cat > conftest.defs <<\EOF +s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g +s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g +s%\[%\\&%g +s%\]%\\&%g +s%\$%$$%g +EOF +DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` +rm -f conftest.defs # Without the "./", some shells look in PATH for config.status. diff --git a/libgloss/mips/configure.in b/libgloss/mips/configure.in index cfc0d2493..b26734a38 100644 --- a/libgloss/mips/configure.in +++ b/libgloss/mips/configure.in @@ -93,8 +93,7 @@ case "${target}" in bsp_list="libdve.a libidt.a libjmr3904.a" ;; mipsisa32-*-* | mipsisa32el-*-* | \ - mipsisa32r2-*-* | mipsisa32r2el-*-* | \ - mipsisa64-*-*) + mipsisa32r2-*-* | mipsisa32r2el-*-*) crt0="crt0_cfe.o crt0_cygmon.o crt0.o" pcrt0="pcrt0.o" part_specific_obj= diff --git a/libgloss/mips/ddb-kseg0.ld b/libgloss/mips/ddb-kseg0.ld index db3759ea6..939510d46 100644 --- a/libgloss/mips/ddb-kseg0.ld +++ b/libgloss/mips/ddb-kseg0.ld @@ -37,7 +37,7 @@ SECTIONS eprol = .; *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) PROVIDE (__runtime_reloc_start = .); @@ -48,10 +48,6 @@ SECTIONS _etext = .; } - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .jcr : { KEEP (*(.jcr)) } .ctors : { /* gcc uses crtbegin.o to find the start of @@ -89,13 +85,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) } . = ALIGN(8); _gp = . + 0x8000; @@ -109,7 +105,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); edata = .; @@ -117,15 +113,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } @@ -156,7 +148,6 @@ SECTIONS .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } - .debug_ranges 0 : { *(.debug_ranges) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } diff --git a/libgloss/mips/ddb.ld b/libgloss/mips/ddb.ld index 028078353..28e07b65b 100644 --- a/libgloss/mips/ddb.ld +++ b/libgloss/mips/ddb.ld @@ -37,7 +37,7 @@ SECTIONS eprol = .; *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) PROVIDE (__runtime_reloc_start = .); @@ -48,10 +48,6 @@ SECTIONS _etext = .; } - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .jcr : { KEEP (*(.jcr)) } .ctors : { /* gcc uses crtbegin.o to find the start of @@ -89,13 +85,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) } . = ALIGN(8); _gp = . + 0x8000; @@ -109,7 +105,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); edata = .; @@ -117,15 +113,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } @@ -156,7 +148,6 @@ SECTIONS .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } - .debug_ranges 0 : { *(.debug_ranges) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } diff --git a/libgloss/mips/dve.ld b/libgloss/mips/dve.ld index 073d1e9ca..5c15514d4 100644 --- a/libgloss/mips/dve.ld +++ b/libgloss/mips/dve.ld @@ -33,25 +33,21 @@ SECTIONS . = 0xA0040000; .text : { _ftext = . ; - KEEP (*(.init)) + *(.init) eprol = .; *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) PROVIDE (__runtime_reloc_start = .); *(.rel.sdata) PROVIDE (__runtime_reloc_stop = .); - KEEP (*(.fini)) + *(.fini) etext = .; _etext = .; } - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .jcr : { KEEP (*(.jcr)) } .ctors : { /* gcc uses crtbegin.o to find the start of @@ -89,13 +85,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) CONSTRUCTORS } . = ALIGN(8); @@ -110,7 +106,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); edata = .; @@ -118,15 +114,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } @@ -157,7 +149,6 @@ SECTIONS .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } - .debug_ranges 0 : { *(.debug_ranges) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } diff --git a/libgloss/mips/idt.ld b/libgloss/mips/idt.ld index e0f87a792..1b0550dbe 100644 --- a/libgloss/mips/idt.ld +++ b/libgloss/mips/idt.ld @@ -37,15 +37,15 @@ SECTIONS PROVIDE (eprol = .); *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) } .init : { - KEEP (*(.init)) + *(.init) } .fini : { - KEEP (*(.fini)) + *(.fini) } .rel.sdata : { PROVIDE (__runtime_reloc_start = .); @@ -55,10 +55,6 @@ SECTIONS PROVIDE (etext = .); _etext = .; - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .jcr : { KEEP (*(.jcr)) } .ctors : { /* gcc uses crtbegin.o to find the start of @@ -96,13 +92,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) } . = ALIGN(8); _gp = . + 0x8000; @@ -116,7 +112,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); PROVIDE (edata = .); @@ -124,15 +120,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } @@ -163,7 +155,6 @@ SECTIONS .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } - .debug_ranges 0 : { *(.debug_ranges) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } diff --git a/libgloss/mips/idt32.ld b/libgloss/mips/idt32.ld index b5bba04b8..a8f31c373 100644 --- a/libgloss/mips/idt32.ld +++ b/libgloss/mips/idt32.ld @@ -38,15 +38,15 @@ SECTIONS PROVIDE (eprol = .); *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) } .init : { - KEEP (*(.init)) + *(.init) } .fini : { - KEEP (*(.fini)) + *(.fini) } .rel.sdata : { PROVIDE (__runtime_reloc_start = .); @@ -57,10 +57,6 @@ SECTIONS _etext = .; - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .jcr : { KEEP (*(.jcr)) } .ctors : { /* gcc uses crtbegin.o to find the start of @@ -98,13 +94,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) } . = ALIGN(8); _gp = . + 0x8000; @@ -118,7 +114,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); PROVIDE (edata = .); @@ -126,15 +122,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } @@ -165,7 +157,6 @@ SECTIONS .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } - .debug_ranges 0 : { *(.debug_ranges) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } diff --git a/libgloss/mips/idt64.ld b/libgloss/mips/idt64.ld index 4a400ae73..aa2f1bab4 100644 --- a/libgloss/mips/idt64.ld +++ b/libgloss/mips/idt64.ld @@ -38,15 +38,15 @@ SECTIONS PROVIDE (eprol = .); *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) } .init : { - KEEP (*(.init)) + *(.init) } .fini : { - KEEP (*(.fini)) + *(.fini) } .rel.sdata : { PROVIDE (__runtime_reloc_start = .); @@ -56,10 +56,6 @@ SECTIONS PROVIDE (etext = .); _etext = .; - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .jcr : { KEEP (*(.jcr)) } .ctors : { /* gcc uses crtbegin.o to find the start of @@ -97,13 +93,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) } . = ALIGN(8); _gp = . + 0x8000; @@ -117,7 +113,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); PROVIDE (edata = .); @@ -125,15 +121,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } @@ -164,7 +156,6 @@ SECTIONS .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } - .debug_ranges 0 : { *(.debug_ranges) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } diff --git a/libgloss/mips/idtecoff.ld b/libgloss/mips/idtecoff.ld index 2788cc824..2910db687 100644 --- a/libgloss/mips/idtecoff.ld +++ b/libgloss/mips/idtecoff.ld @@ -35,17 +35,17 @@ SECTIONS . = 0xA0020000; .text : { _ftext = . ; - KEEP (*(.init)) + *(.init) eprol = .; *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) PROVIDE (__runtime_reloc_start = .); *(.rel.sdata) PROVIDE (__runtime_reloc_stop = .); - KEEP (*(.fini)) + *(.fini) etext = .; _etext = .; } @@ -54,13 +54,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) CONSTRUCTORS } . = ALIGN(8); @@ -75,7 +75,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); edata = .; @@ -83,15 +83,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } end = .; diff --git a/libgloss/mips/jmr3904app-java.ld b/libgloss/mips/jmr3904app-java.ld index 98ce5357c..3759d0b3c 100644 --- a/libgloss/mips/jmr3904app-java.ld +++ b/libgloss/mips/jmr3904app-java.ld @@ -35,17 +35,17 @@ SECTIONS /* It fits the Cygmon ROMS */ .text : { _ftext = . ; - KEEP (*(.init)) + *(.init) eprol = .; *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) PROVIDE (__runtime_reloc_start = .); *(.rel.sdata) PROVIDE (__runtime_reloc_stop = .); - KEEP (*(.fini)) + *(.fini) etext = .; _etext = .; } @@ -54,13 +54,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) CONSTRUCTORS } . = ALIGN(8); @@ -75,7 +75,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); edata = .; @@ -83,15 +83,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) . += 0x2000 ; /* 8k bytes of stack. */ __stack = ALIGN(64) ; @@ -125,7 +121,6 @@ SECTIONS .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } - .debug_ranges 0 : { *(.debug_ranges) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } diff --git a/libgloss/mips/jmr3904app.ld b/libgloss/mips/jmr3904app.ld index 3056a36bf..b64f83af2 100644 --- a/libgloss/mips/jmr3904app.ld +++ b/libgloss/mips/jmr3904app.ld @@ -32,25 +32,21 @@ SECTIONS /* It fits the Cygmon ROMS */ .text : { _ftext = . ; - KEEP (*(.init)) + *(.init) eprol = .; *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) PROVIDE (__runtime_reloc_start = .); *(.rel.sdata) PROVIDE (__runtime_reloc_stop = .); - KEEP (*(.fini)) + *(.fini) etext = .; _etext = .; } - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .jcr : { KEEP (*(.jcr)) } .ctors : { /* gcc uses crtbegin.o to find the start of @@ -88,13 +84,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) } . = ALIGN(8); _gp = . + 0x8000; @@ -108,7 +104,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); edata = .; @@ -116,15 +112,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) . += 0x2000 ; /* 8k bytes of stack. */ __stack = ALIGN(64) ; @@ -158,7 +150,6 @@ SECTIONS .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } - .debug_ranges 0 : { *(.debug_ranges) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } diff --git a/libgloss/mips/jmr3904dram-java.ld b/libgloss/mips/jmr3904dram-java.ld index 71e84032e..3bf777c48 100644 --- a/libgloss/mips/jmr3904dram-java.ld +++ b/libgloss/mips/jmr3904dram-java.ld @@ -37,17 +37,17 @@ SECTIONS /* It fits the Cygmon ROMS */ .text : { _ftext = . ; - KEEP (*(.init)) + *(.init) eprol = .; *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) PROVIDE (__runtime_reloc_start = .); *(.rel.sdata) PROVIDE (__runtime_reloc_stop = .); - KEEP (*(.fini)) + *(.fini) etext = .; _etext = .; } @@ -56,13 +56,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) CONSTRUCTORS } . = ALIGN(8); @@ -77,7 +77,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); edata = .; @@ -85,15 +85,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } @@ -128,7 +124,6 @@ SECTIONS .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } - .debug_ranges 0 : { *(.debug_ranges) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } diff --git a/libgloss/mips/jmr3904dram.ld b/libgloss/mips/jmr3904dram.ld index a2cb1eae5..67be2b532 100644 --- a/libgloss/mips/jmr3904dram.ld +++ b/libgloss/mips/jmr3904dram.ld @@ -34,17 +34,17 @@ SECTIONS /* It fits the Cygmon ROMS */ .text : { _ftext = . ; - KEEP (*(.init)) + *(.init) eprol = .; *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) PROVIDE (__runtime_reloc_start = .); *(.rel.sdata) PROVIDE (__runtime_reloc_stop = .); - KEEP (*(.fini)) + *(.fini) etext = .; _etext = .; } @@ -53,13 +53,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) CONSTRUCTORS } . = ALIGN(8); @@ -74,7 +74,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); edata = .; @@ -82,15 +82,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } @@ -125,7 +121,6 @@ SECTIONS .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } - .debug_ranges 0 : { *(.debug_ranges) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } diff --git a/libgloss/mips/lsi.ld b/libgloss/mips/lsi.ld index 839382527..7b62a5c25 100644 --- a/libgloss/mips/lsi.ld +++ b/libgloss/mips/lsi.ld @@ -34,23 +34,19 @@ SECTIONS . = 0xA0020000; .text : { _ftext = . ; - KEEP (*(.init)) + *(.init) eprol = .; *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) PROVIDE (__runtime_reloc_start = .); *(.rel.sdata) PROVIDE (__runtime_reloc_stop = .); - KEEP (*(.fini)) + *(.fini) etext = .; _etext = .; } - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .jcr : { KEEP (*(.jcr)) } .ctors : { /* gcc uses crtbegin.o to find the start of @@ -88,13 +84,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) CONSTRUCTORS } . = ALIGN(8); @@ -109,22 +105,18 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } edata = .; _edata = .; _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } end = .; diff --git a/libgloss/mips/nullmon.ld b/libgloss/mips/nullmon.ld index 1d9319504..fcd823644 100644 --- a/libgloss/mips/nullmon.ld +++ b/libgloss/mips/nullmon.ld @@ -34,25 +34,21 @@ SECTIONS . = 0xA0020000; .text : { _ftext = . ; - KEEP (*(.init)) + *(.init) eprol = .; *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) PROVIDE (__runtime_reloc_start = .); *(.rel.sdata) PROVIDE (__runtime_reloc_stop = .); - KEEP (*(.fini)) + *(.fini) etext = .; _etext = .; } - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .jcr : { KEEP (*(.jcr)) } .ctors : { /* gcc uses crtbegin.o to find the start of @@ -90,13 +86,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) } . = ALIGN(8); _gp = . + 0x8000; @@ -110,7 +106,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); edata = .; @@ -118,15 +114,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } . = ALIGN(64) ; @@ -158,7 +150,6 @@ SECTIONS .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } - .debug_ranges 0 : { *(.debug_ranges) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } diff --git a/libgloss/mips/pmon.ld b/libgloss/mips/pmon.ld index e9a20aecc..5f05f0ac2 100644 --- a/libgloss/mips/pmon.ld +++ b/libgloss/mips/pmon.ld @@ -34,25 +34,21 @@ SECTIONS . = 0xA0020000; .text : { _ftext = . ; - KEEP (*(.init)) + *(.init) eprol = .; *(.text) *(.text.*) - *(.gnu.linkonce.t.*) + *(.gnu.linkonce.t*) *(.mips16.fn.*) *(.mips16.call.*) PROVIDE (__runtime_reloc_start = .); *(.rel.sdata) PROVIDE (__runtime_reloc_stop = .); - KEEP (*(.fini)) + *(.fini) etext = .; _etext = .; } - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : { KEEP (*(.eh_frame)) } - .gcc_except_table : { *(.gcc_except_table) } - .jcr : { KEEP (*(.jcr)) } .ctors : { /* gcc uses crtbegin.o to find the start of @@ -90,13 +86,13 @@ SECTIONS *(.rdata) *(.rodata) *(.rodata.*) - *(.gnu.linkonce.r.*) + *(.gnu.linkonce.r*) } _fdata = ALIGN(16); .data : { *(.data) *(.data.*) - *(.gnu.linkonce.d.*) + *(.gnu.linkonce.d*) } . = ALIGN(8); _gp = . + 0x8000; @@ -110,7 +106,7 @@ SECTIONS .sdata : { *(.sdata) *(.sdata.*) - *(.gnu.linkonce.s.*) + *(.gnu.linkonce.s*) } . = ALIGN(4); edata = .; @@ -118,15 +114,11 @@ SECTIONS _fbss = .; .sbss : { *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) *(.scommon) } .bss : { _bss_start = . ; *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) *(COMMON) } @@ -157,7 +149,6 @@ SECTIONS .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } - .debug_ranges 0 : { *(.debug_ranges) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } diff --git a/libgloss/mips/regs.S b/libgloss/mips/regs.S index bdf933f13..7ade6e856 100644 --- a/libgloss/mips/regs.S +++ b/libgloss/mips/regs.S @@ -53,21 +53,20 @@ #define fp1 $f1 /* Useful memory constants: */ +#define K0BASE 0x80000000 #ifndef __mips64 -#define K0BASE 0x80000000 #define K1BASE 0xA0000000 #define K0BASE_ADDR ((char *)K0BASE) #define K1BASE_ADDR ((char *)K1BASE) #else -#define K0BASE 0xFFFFFFFF80000000 -#define K1BASE 0xFFFFFFFFA0000000 +#define K1BASE 0xFFFFFFFFA0000000LL #define K0BASE_ADDR ((char *)0xFFFFFFFF80000000LL) -#define K1BASE_ADDR ((char *)0xFFFFFFFFA0000000LL) +#define K1BASE_ADDR ((char *)K1BASE) #endif #define PHYS_TO_K1(a) ((unsigned)(a) | K1BASE) -/* Standard Co-Processor 0 registers */ +/* Standard Co-Processor 0 register numbers: #define C0_COUNT $9 /* Count Register */ #define C0_SR $12 /* Status Register */ #define C0_CAUSE $13 /* last exception description */ diff --git a/libgloss/mips/vr4300.S b/libgloss/mips/vr4300.S index 9737ddc9e..2fc576ed3 100644 --- a/libgloss/mips/vr4300.S +++ b/libgloss/mips/vr4300.S @@ -47,7 +47,7 @@ __cpu_timer_poll: j ra nop # {DELAY SLOT} 1: - mfc0 v0, C0_COUNT # get current counter value + mfc0 v0, $9 # C0_COUNT: get current counter value nop nop # We cannot just do the simple test, of adding our delta onto @@ -66,7 +66,7 @@ __cpu_timer_poll: # sign-extended to fill the 64bit register value). 2: # get current counter value: - mfc0 v0, C0_COUNT + mfc0 v0, $9 # C0_COUNT nop nop # This is an unsigned 32bit subtraction: diff --git a/libgloss/mips/vr5xxx.S b/libgloss/mips/vr5xxx.S index f89e88a9a..4d2b38bc8 100644 --- a/libgloss/mips/vr5xxx.S +++ b/libgloss/mips/vr5xxx.S @@ -64,7 +64,7 @@ __cpu_timer_poll: j ra nop # {DELAY SLOT} 1: - mfc0 v0, C0_COUNT # get current counter value + mfc0 v0, $9 # C0_COUNT: get current counter value nop nop # We cannot just do the simple test, of adding our delta onto @@ -83,7 +83,7 @@ __cpu_timer_poll: # sign-extended to fill the 64bit register value). 2: # get current counter value: - mfc0 v0, C0_COUNT + mfc0 v0, $9 # C0_COUNT nop nop # This is an unsigned 32bit subtraction: |