+2014-09-06 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * ld-mips-elf/abiflags-strip1-ph.d: Ignore big/little endian
+ differences. Ignore program headers other than PT_MIPS_ABIFLAGS.
+ Do not force -32, -EB and ld emulation but instead rely on the
+ test driver to build for some form of O32.
+ * ld-mips-elf/abiflags-strip2-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip3-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip4-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip5-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip6-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip7-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip8-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip9-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-0-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-05.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-06.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-07.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-1-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-10.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-15.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-16.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-17.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-2-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-25.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-26.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-27.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-3-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-35.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-36.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-37.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-4-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-45.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-46.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-47.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-5-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-50.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-51.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-52.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-53.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-54.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-55.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-56.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-57.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-58.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-6-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-60.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-61.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-62.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-63.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-64.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-65.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-66.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-67.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-68.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-7-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-70.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-71.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-72.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-73.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-74.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-75.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-76.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-77.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-78.d: Likewise.
+ * ld-mips-elf/mips-elf.exp: Update default abi_asflags(o32) to explicitly
+ pass -32 for the 'no abi' configurations. Modify the way attr-gnu* tests
+ are run to use O32 flags appropriate for the current target.
+
2014-08-29 Alan Modra <amodra@gmail.com>
* lib/ld-lib.exp (ld_simple_link_defsyms): Provide both __main
-#source: jr.s -mips32r2 -32 -mfp32 -EB RUN_OBJCOPY
+#source: jr.s -mips32r2 -mfp32 RUN_OBJCOPY
#objcopy_objects: -R .MIPS.abiflags
-#ld: -melf32btsmip -e 0
+#ld: -e 0
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
#...
-#source: jr.s -mips32r2 -32 -mfpxx -EB
-#source: jr.s -march=octeon -32 -mfp64 -EB RUN_OBJCOPY
-#ld: -melf32btsmip -e 0
+#source: jr.s -mips32r2 -mfpxx
+#source: jr.s -march=octeon -mfp64 RUN_OBJCOPY
+#ld: -e 0
#objcopy_objects: -R .MIPS.abiflags
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r-x
private flags = 808b1100: \[abi=O32\] \[mips64r2\] \[32bitmode\]
MIPS ABI Flags Version: 0
-#source: jr.s -march=octeon -32 -mfp64 -EB RUN_OBJCOPY
-#source: jr.s -mips32r2 -32 -mfpxx -EB
-#ld: -melf32btsmip -e 0
+#source: jr.s -march=octeon -mfp64 RUN_OBJCOPY
+#source: jr.s -mips32r2 -mfpxx
+#ld: -e 0
#objcopy_objects: -R .MIPS.abiflags
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r-x
private flags = 808b1100: \[abi=O32\] \[mips64r2\] \[32bitmode\]
MIPS ABI Flags Version: 0
-#source: jr.s -march=octeon -32 -mfp64 -EB -mdmx RUN_OBJCOPY
-#source: jr.s -mips32r2 -32 -mfpxx -EB
-#source: jr.s -mips32r2 -32 -mfp64 -mno-odd-spreg -mmsa -EB
-#source: jr.s -mips2 -32 -mfpxx -mips16 -EB RUN_OBJCOPY
-#ld: -melf32btsmip -e 0
+#source: jr.s -march=octeon -mfp64 -mdmx RUN_OBJCOPY
+#source: jr.s -mips32r2 -mfpxx
+#source: jr.s -mips32r2 -mfp64 -mno-odd-spreg -mmsa
+#source: jr.s -mips2 -mfpxx -mips16 RUN_OBJCOPY
+#ld: -e 0
#objcopy_objects: -R .MIPS.abiflags
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x00000... memsz 0x00000... flags r-x
private flags = 8c8b1100: \[abi=O32\] \[mips64r2\] \[mdmx\] \[mips16\] \[32bitmode\]
MIPS ABI Flags Version: 0
-#source: jr.s -mips32r2 -32 -mfpxx -EB
-#source: jr.s -mips32r2 -32 -mfp64 -mmsa -EB
-#source: jr.s -march=octeon -32 -mfp64 -EB -mdmx RUN_OBJCOPY
-#source: jr.s -mips2 -32 -mips16 -mfpxx -EB RUN_OBJCOPY
-#ld: -melf32btsmip -e 0
+#source: jr.s -mips32r2 -mfpxx
+#source: jr.s -mips32r2 -mfp64 -mmsa
+#source: jr.s -march=octeon -mfp64 -mdmx RUN_OBJCOPY
+#source: jr.s -mips2 -mips16 -mfpxx RUN_OBJCOPY
+#ld: -e 0
#objcopy_objects: -R .MIPS.abiflags
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x00000... memsz 0x00000... flags r-x
private flags = 8c8b1100: \[abi=O32\] \[mips64r2\] \[mdmx\] \[mips16\] \[32bitmode\]
MIPS ABI Flags Version: 0
-#source: jr.s -mips32r3 -32 -EB RUN_OBJCOPY
-#source: jr.s -mips32r2 -32 -EB
-#ld: -melf32btsmip -e 0
+#source: jr.s -mips32r3 RUN_OBJCOPY
+#source: jr.s -mips32r2
+#ld: -e 0
#objcopy_objects: -R .MIPS.abiflags
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r-x
private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
MIPS ABI Flags Version: 0
-#source: jr.s -mips32r3 -32 -EB
-#source: jr.s -mips32r2 -32 -EB RUN_OBJCOPY
-#ld: -melf32btsmip -e 0
+#source: jr.s -mips32r3
+#source: jr.s -mips32r2 RUN_OBJCOPY
+#ld: -e 0
#objcopy_objects: -R .MIPS.abiflags
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r-x
private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
MIPS ABI Flags Version: 0
-#source: jr.s -mips32r2 -32 -mfpxx -EB
-#source: jr.s -mips32r2 -32 -mfp64 -EB RUN_OBJCOPY
-#ld: -melf32btsmip -e 0
+#source: jr.s -mips32r2 -mfpxx
+#source: jr.s -mips32r2 -mfp64 RUN_OBJCOPY
+#ld: -e 0
#objcopy_objects: -R .gnu.attributes
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r-x
private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
MIPS ABI Flags Version: 0
-#source: jr.s -mips32r2 -32 -mfpxx -EB
-#source: jr.s -mips32r2 -32 -mfp64 -mno-odd-spreg -EB RUN_OBJCOPY
-#ld: -melf32btsmip -e 0
+#source: jr.s -mips32r2 -mfpxx
+#source: jr.s -mips32r2 -mfp64 -mno-odd-spreg RUN_OBJCOPY
+#ld: -e 0
#objcopy_objects: -R .gnu.attributes
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r-x
private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
MIPS ABI Flags Version: 0
-#source: attr-gnu-4-0.s -mips32r2 -32 -EB
-#ld: -melf32btsmip -e 0
+#source: attr-gnu-4-0.s -mips32r2
+#ld: -e 0
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r--
private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
MIPS ABI Flags Version: 0
-#source: attr-gnu-4-0.s -32 -EB
-#source: attr-gnu-4-5.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-0.s -mips32r2
+#source: attr-gnu-4-5.s
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: attr-gnu-4-0.s -32 -EB
-#source: attr-gnu-4-6.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-0.s -mips32r2
+#source: attr-gnu-4-6.s
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: attr-gnu-4-0.s -32 -EB
-#source: attr-gnu-4-7.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-0.s -mips32r2
+#source: attr-gnu-4-7.s
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: empty.s -mips32r2 -32 -mfp32 -EB
-#ld: -melf32btsmip -e 0
+#source: empty.s -mips32r2 -mfp32
+#ld: -e 0
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r--
private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
MIPS ABI Flags Version: 0
-#source: attr-gnu-4-1.s -EB -32
-#source: attr-gnu-4-0.s -EB -32
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-1.s
+#source: attr-gnu-4-0.s
+#ld: -r
#readelf: -hA
ELF Header:
- Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00.*
+ Magic: .*
Class: ELF32
- Data: 2's complement, big endian
+ Data: 2's complement,.*
Version: 1 \(current\)
OS/ABI: UNIX - System V
ABI Version: 0
-#source: attr-gnu-4-1.s -32 -EB
-#source: attr-gnu-4-5.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-1.s -mips32r2
+#source: attr-gnu-4-5.s
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: attr-gnu-4-1.s -32 -EB
-#source: attr-gnu-4-6.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-1.s -mips32r2
+#source: attr-gnu-4-6.s
+#ld: -r
#readelf: -A
#warning: Warning: .* uses -mdouble-float \(set by .*\), .* uses -mgp32 -mfp64
-#source: attr-gnu-4-1.s -32 -EB
-#source: attr-gnu-4-7.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-1.s -mips32r2
+#source: attr-gnu-4-7.s
+#ld: -r
#readelf: -A
#warning: Warning: .* uses -mdouble-float \(set by .*\), .* uses -mgp32 -mfp64 -mno-odd-spreg
-#source: empty.s -mips32r2 -32 -msingle-float -EB
-#ld: -melf32btsmip -e 0
+#source: empty.s -mips32r2 -msingle-float
+#ld: -e 0
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r--
private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
MIPS ABI Flags Version: 0
-#source: attr-gnu-4-2.s -32 -EB
-#source: attr-gnu-4-5.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-2.s -mips32r2
+#source: attr-gnu-4-5.s
+#ld: -r
#readelf: -A
#warning: Warning: .* uses -msingle-float \(set by .*\), .* uses -mfpxx
-#source: attr-gnu-4-2.s -32 -EB
-#source: attr-gnu-4-6.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-2.s -mips32r2
+#source: attr-gnu-4-6.s
+#ld: -r
#readelf: -A
#warning: Warning: .* uses -msingle-float \(set by .*\), .* uses -mgp32 -mfp64
-#source: attr-gnu-4-2.s -32 -EB
-#source: attr-gnu-4-7.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-2.s -mips32r2
+#source: attr-gnu-4-7.s
+#ld: -r
#readelf: -A
#warning: Warning: .* uses -msingle-float \(set by .*\), .* uses -mgp32 -mfp64 -mno-odd-spreg
-#source: empty.s -mips32r2 -32 -msoft-float -EB
-#ld: -melf32btsmip -e 0
+#source: empty.s -mips32r2 -msoft-float
+#ld: -e 0
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r--
private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
MIPS ABI Flags Version: 0
-#source: attr-gnu-4-3.s -32 -EB
-#source: attr-gnu-4-5.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-3.s -mips32r2
+#source: attr-gnu-4-5.s
+#ld: -r
#readelf: -A
#warning: Warning: .* uses -msoft-float \(set by .*\), .* uses -mhard-float
-#source: attr-gnu-4-3.s -32 -EB
-#source: attr-gnu-4-6.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-3.s -mips32r2
+#source: attr-gnu-4-6.s
+#ld: -r
#readelf: -A
#warning: Warning: .* uses -msoft-float \(set by .*\), .* uses -mhard-float
-#source: attr-gnu-4-3.s -32 -EB
-#source: attr-gnu-4-7.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-3.s -mips32r2
+#source: attr-gnu-4-7.s
+#ld: -r
#readelf: -A
#warning: Warning: .* uses -msoft-float \(set by .*\), .* uses -mhard-float
-#source: attr-gnu-4-4.s -mips32r2 -32 -EB -W
-#ld: -melf32btsmip -e 0
+#source: attr-gnu-4-4.s -mips32r2 -W
+#ld: -e 0
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r--
private flags = 70001200: \[abi=O32\] \[mips32r2\] \[old fp64\] \[not 32bitmode\]
MIPS ABI Flags Version: 0
-#source: attr-gnu-4-4.s -W -32 -EB
-#source: attr-gnu-4-5.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-4.s -W -mips32r2
+#source: attr-gnu-4-5.s
+#ld: -r
#error: \A[^\n]*: Warning: .* uses -mips32r2 -mfp64 \(12 callee-saved\) \(set by .*\), .* uses -mfpxx\n
#error: [^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
-#source: attr-gnu-4-4.s -W -32 -EB
-#source: attr-gnu-4-6.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-4.s -W -mips32r2
+#source: attr-gnu-4-6.s
+#ld: -r
#error: \A[^\n]*: Warning: .* uses -mips32r2 -mfp64 \(12 callee-saved\) \(set by .*\), .* uses -mgp32 -mfp64\n
#error: [^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
-#source: attr-gnu-4-4.s -W -32 -EB
-#source: attr-gnu-4-7.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-4.s -W -mips32r2
+#source: attr-gnu-4-7.s
+#ld: -r
#error: \A[^\n]*: Warning: .* uses -mips32r2 -mfp64 \(12 callee-saved\) \(set by .*\), .* uses -mgp32 -mfp64 -mno-odd-spreg\n
#error: [^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
-#source: empty.s -mips32r2 -32 -mfpxx -EB
-#ld: -melf32btsmip -e 0
+#source: empty.s -mips32r2 -mfpxx
+#ld: -e 0
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r--
private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
MIPS ABI Flags Version: 0
-#source: attr-gnu-4-5.s -32 -EB
-#source: attr-gnu-4-0.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-0.s -mips32r2
+#ld: -r
#readelf: -hA
ELF Header:
- Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00.*
+ Magic: .*
Class: ELF32
- Data: 2's complement, big endian
+ Data: 2's complement,.*
Version: 1 \(current\)
OS/ABI: UNIX - System V
ABI Version: 0
-#source: attr-gnu-4-5.s -32 -EB
-#source: attr-gnu-4-1.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-1.s -mips32r2
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: attr-gnu-4-5.s -32 -EB
-#source: attr-gnu-4-2.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-2.s -mips32r2
+#ld: -r
#warning: Warning: .* uses -mfpxx \(set by .*\), .* uses -msingle-float
-#source: attr-gnu-4-5.s -32 -EB
-#source: attr-gnu-4-3.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-3.s -mips32r2
+#ld: -r
#warning: Warning: .* uses -mhard-float \(set by .*\), .* uses -msoft-float
-#source: attr-gnu-4-5.s -32 -EB
-#source: attr-gnu-4-4.s -W -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-4.s -W -mips32r2
+#ld: -r
#error: \A[^\n]*: Warning: .* uses -mfpxx \(set by .*\), .* uses -mips32r2 -mfp64 \(12 callee-saved\)\n
#error: [^\n]*: [^\n]* linking -mfp64 module with previous -mfp32 modules\n
#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
-#source: attr-gnu-4-5.s -32 -EB
-#source: attr-gnu-4-5.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-5.s
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: attr-gnu-4-5.s -32 -EB
-#source: attr-gnu-4-6.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-6.s
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: attr-gnu-4-5.s -32 -EB
-#source: attr-gnu-4-7.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-7.s
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: attr-gnu-4-5.s -32 -EB
-#source: attr-gnu-4-8.s -W -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-8.s -W -mips32r2
+#ld: -r
#warning: Warning: .* uses -mfpxx \(set by .*\), .* uses unknown floating point ABI 8
-#source: empty.s -mips32r2 -32 -mfp64 -EB
-#ld: -melf32btsmip -e 0
+#source: empty.s -mips32r2 -mfp64
+#ld: -e 0
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r--
private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
MIPS ABI Flags Version: 0
-#source: attr-gnu-4-6.s -32 -EB
-#source: attr-gnu-4-0.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-0.s -mips32r2
+#ld: -r
#readelf: -hA
ELF Header:
- Magic: 7f 45 4c 46 01 02 01 00 03 00 00 00 00 00 00 00.*
+ Magic: .*
Class: ELF32
- Data: 2's complement, big endian
+ Data: 2's complement,.*
Version: 1 \(current\)
OS/ABI: UNIX - System V
ABI Version: 3
-#source: attr-gnu-4-6.s -32 -EB
-#source: attr-gnu-4-1.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-1.s -mips32r2
+#ld: -r
#warning: Warning: .* uses -mgp32 -mfp64 \(set by .*\), .* uses -mdouble-float
-#source: attr-gnu-4-6.s -32 -EB
-#source: attr-gnu-4-2.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-2.s -mips32r2
+#ld: -r
#warning: Warning: .* uses -mgp32 -mfp64 \(set by .*\), .* uses -msingle-float
-#source: attr-gnu-4-6.s -32 -EB
-#source: attr-gnu-4-3.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-3.s -mips32r2
+#ld: -r
#warning: Warning: .* uses -mhard-float \(set by .*\), .* uses -msoft-float
-#source: attr-gnu-4-6.s -32 -EB
-#source: attr-gnu-4-4.s -W -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-4.s -W -mips32r2
+#ld: -r
#error: \A[^\n]*: Warning: .* uses -mgp32 -mfp64 \(set by .*\), .* uses -mips32r2 -mfp64 \(12 callee-saved\)\n
#error: [^\n]*: [^\n]* linking -mfp64 module with previous -mfp32 modules\n
#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
-#source: attr-gnu-4-6.s -32 -EB
-#source: attr-gnu-4-5.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-5.s
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: attr-gnu-4-6.s -32 -EB
-#source: attr-gnu-4-6.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-6.s
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: attr-gnu-4-6.s -32 -EB
-#source: attr-gnu-4-7.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-7.s
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: attr-gnu-4-6.s -32 -EB
-#source: attr-gnu-4-8.s -W -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-8.s -W -mips32r2
+#ld: -r
#warning: Warning: .* uses -mgp32 -mfp64 \(set by .*\), .* uses unknown floating point ABI 8
-#source: empty.s -mips32r2 -32 -mfp64 -mno-odd-spreg -EB
-#ld: -melf32btsmip -e 0
+#source: empty.s -mips32r2 -mfp64 -mno-odd-spreg
+#ld: -e 0
#objdump: -p
-[^:]*: file format elf32-tradbigmips
+[^:]*: file format elf32-.*
Program Header:
-0x70000003 off 0x000000.. vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
filesz 0x00000018 memsz 0x00000018 flags r--
#...
- LOAD off 0x00000000 vaddr 0x00400000 paddr 0x00400000 align 2\*\*16
- filesz 0x000000.. memsz 0x000000.. flags r--
private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
MIPS ABI Flags Version: 0
-#source: attr-gnu-4-7.s -32 -EB
-#source: attr-gnu-4-0.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-0.s -mips32r2
+#ld: -r
#readelf: -hA
ELF Header:
- Magic: 7f 45 4c 46 01 02 01 00 03 00 00 00 00 00 00 00.*
+ Magic: .*
Class: ELF32
- Data: 2's complement, big endian
+ Data: 2's complement,.*
Version: 1 \(current\)
OS/ABI: UNIX - System V
ABI Version: 3
-#source: attr-gnu-4-7.s -32 -EB
-#source: attr-gnu-4-1.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-1.s -mips32r2
+#ld: -r
#warning: Warning: .* uses -mgp32 -mfp64 -mno-odd-spreg \(set by .*\), .* uses -mdouble-float
-#source: attr-gnu-4-7.s -32 -EB
-#source: attr-gnu-4-2.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-2.s -mips32r2
+#ld: -r
#warning: Warning: .* uses -mgp32 -mfp64 -mno-odd-spreg \(set by .*\), .* uses -msingle-float
-#source: attr-gnu-4-7.s -32 -EB
-#source: attr-gnu-4-3.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-3.s -mips32r2
+#ld: -r
#warning: Warning: .* uses -mhard-float \(set by .*\), .* uses -msoft-float
-#source: attr-gnu-4-7.s -32 -EB
-#source: attr-gnu-4-4.s -W -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-4.s -W -mips32r2
+#ld: -r
#error: \A[^\n]*: Warning: .* uses -mgp32 -mfp64 -mno-odd-spreg \(set by .*\), .* uses -mips32r2 -mfp64 \(12 callee-saved\)\n
#error: [^\n]*: [^\n]* linking -mfp64 module with previous -mfp32 modules\n
#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
-#source: attr-gnu-4-7.s -32 -EB
-#source: attr-gnu-4-5.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-5.s
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: attr-gnu-4-7.s -32 -EB
-#source: attr-gnu-4-6.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-6.s
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: attr-gnu-4-7.s -32 -EB
-#source: attr-gnu-4-7.s -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-7.s
+#ld: -r
#readelf: -A
Attribute Section: gnu
-#source: attr-gnu-4-7.s -32 -EB
-#source: attr-gnu-4-8.s -W -32 -EB
-#ld: -r -melf32btsmip
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-8.s -W -mips32r2
+#ld: -r
#warning: Warning: .* uses -mgp32 -mfp64 -mno-odd-spreg \(set by .*\), .* uses unknown floating point ABI 8
set embedded_elf [expr [istarget mips*-*-elf]]
# Set defaults.
-set abi_asflags(o32) ""
+set abi_asflags(o32) "-32"
set abi_asflags(n32) "-march=from-abi -n32 -EB"
set abi_asflags(n64) "-march=from-abi -64 -EB"
set abi_ldflags(o32) ""
run_dump_test "mips16-local-stubs-1"
+set o32flagslist [list [list as $abi_asflags(o32)] [list ld $abi_ldflags(o32)]]
+
foreach firstfpabi [list 0 1 2 3 4 5 6 7 ] {
- foreach secondfpabi [list 0 1 2 3 4 5 6 7 8] {
+ foreach secondfpabi [list 4 5 6 7 ] {
+ run_dump_test "attr-gnu-4-${firstfpabi}${secondfpabi}" $o32flagslist
+ }
+}
+foreach firstfpabi [list 4 5 6 7 ] {
+ foreach secondfpabi [list 0 1 2 3 8] {
+ run_dump_test "attr-gnu-4-${firstfpabi}${secondfpabi}" $o32flagslist
+ }
+}
+foreach firstfpabi [list 0 1 2 3 ] {
+ foreach secondfpabi [list 0 1 2 3 8] {
run_dump_test "attr-gnu-4-${firstfpabi}${secondfpabi}"
}
}
+
run_dump_test "attr-gnu-4-81"
run_dump_test "attr-gnu-8-00"
run_dump_test "attr-gnu-8-21"
run_dump_test "attr-gnu-8-22"
-run_dump_test "attr-gnu-4-0-ph"
-run_dump_test "attr-gnu-4-1-ph"
-run_dump_test "attr-gnu-4-2-ph"
-run_dump_test "attr-gnu-4-3-ph"
-run_dump_test "attr-gnu-4-4-ph"
-run_dump_test "attr-gnu-4-5-ph"
-run_dump_test "attr-gnu-4-6-ph"
-run_dump_test "attr-gnu-4-7-ph"
-run_dump_test "attr-gnu-4-0-n32-ph"
-run_dump_test "attr-gnu-4-1-n32-ph"
-run_dump_test "attr-gnu-4-2-n32-ph"
-run_dump_test "attr-gnu-4-3-n32-ph"
-run_dump_test "attr-gnu-4-0-n64-ph"
-run_dump_test "attr-gnu-4-1-n64-ph"
-run_dump_test "attr-gnu-4-2-n64-ph"
-run_dump_test "attr-gnu-4-3-n64-ph"
-
-run_dump_test "abiflags-strip1-ph"
-run_dump_test "abiflags-strip2-ph"
-run_dump_test "abiflags-strip3-ph"
-run_dump_test "abiflags-strip4-ph"
-run_dump_test "abiflags-strip5-ph"
-run_dump_test "abiflags-strip6-ph"
-run_dump_test "abiflags-strip7-ph"
-run_dump_test "abiflags-strip8-ph"
-run_dump_test "abiflags-strip9-ph"
+run_dump_test "attr-gnu-4-0-ph" $o32flagslist
+run_dump_test "attr-gnu-4-1-ph" $o32flagslist
+run_dump_test "attr-gnu-4-2-ph" $o32flagslist
+run_dump_test "attr-gnu-4-3-ph" $o32flagslist
+run_dump_test "attr-gnu-4-4-ph" $o32flagslist
+run_dump_test "attr-gnu-4-5-ph" $o32flagslist
+run_dump_test "attr-gnu-4-6-ph" $o32flagslist
+run_dump_test "attr-gnu-4-7-ph" $o32flagslist
+
+if $has_newabi {
+ run_dump_test "attr-gnu-4-0-n32-ph"
+ run_dump_test "attr-gnu-4-1-n32-ph"
+ run_dump_test "attr-gnu-4-2-n32-ph"
+ run_dump_test "attr-gnu-4-3-n32-ph"
+ run_dump_test "attr-gnu-4-0-n64-ph"
+ run_dump_test "attr-gnu-4-1-n64-ph"
+ run_dump_test "attr-gnu-4-2-n64-ph"
+ run_dump_test "attr-gnu-4-3-n64-ph"
+}
+
+run_dump_test "abiflags-strip1-ph" $o32flagslist
+run_dump_test "abiflags-strip2-ph" $o32flagslist
+run_dump_test "abiflags-strip3-ph" $o32flagslist
+run_dump_test "abiflags-strip4-ph" $o32flagslist
+run_dump_test "abiflags-strip5-ph" $o32flagslist
+run_dump_test "abiflags-strip6-ph" $o32flagslist
+run_dump_test "abiflags-strip7-ph" $o32flagslist
+run_dump_test "abiflags-strip8-ph" $o32flagslist
+run_dump_test "abiflags-strip9-ph" $o32flagslist
run_dump_test "nan-legacy"
run_dump_test "nan-2008"