public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] MIPS: Enable NewABI testing for all Linux targets
@ 2012-08-02 15:22 Maciej W. Rozycki
  2012-08-02 18:48 ` Richard Sandiford
  2012-08-03  7:38 ` Alan Modra
  0 siblings, 2 replies; 10+ messages in thread
From: Maciej W. Rozycki @ 2012-08-02 15:22 UTC (permalink / raw)
  To: binutils; +Cc: Richard Sandiford

Hi,

 The MIPS/Linux configuration enables all ABI backends for all targets, 
including ones that used to support o32 only (e.g. plain mips-linux, 
mipsel-linux, etc.).  I don't know when the change was made, but at that 
time the test suites were not adjusted to take that into account and these 
configurations fail to test support for the additional ABIs now included.

 Here's a change that updates the GAS and LD test suites accordingly; this 
builds upon the infrastructure brought with the SDE NewABI testing update.  

 Several test cases had to be adjusted for targets that do not update the 
ISA selected when the ABI requested requires one higher than the toolchain 
has been configured to default for; my understanding is this is 
intentional.  This has triggered regressions in testing immediately after 
enabling for mipsisa32-linux and mipsisa32el-linux targets, and the test 
case updates included cover them so that the final version below does not 
cause any new problems.

 OK to apply?

 As a side note, would anyone please explain me what the exact use is for 
the "#ifdef BFD64/#endif" clauses in bfd/config.bfd?  A comment says:

# Part of this file is processed by targmatch.sed to generate the
# targmatch.h file.  The #ifdef and #endif lines that appear below are
# copied directly into targmatch.h.

and the header file is indeed generated, but not processed any further or 
included anywhere as far as I can see.

 I am asking, because I understand that all the target *plets that depend 
on 64-bit BFD need to be wrapped into such a clause.  This is however not 
the case for the MIPS targets in question -- the fragment concerned looks 
like this:

#ifdef BFD64
  mips64*el-*-linux*)
    targ_defvec=bfd_elf32_ntradlittlemips_vec
    targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
    want64=true
    ;;
  mips64*-*-linux*)
    targ_defvec=bfd_elf32_ntradbigmips_vec
    targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
    want64=true
    ;;
#endif
  mips*el-*-linux*)
    targ_defvec=bfd_elf32_tradlittlemips_vec
    targ_selvecs="bfd_elf32_tradbigmips_vec ecoff_little_vec ecoff_big_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec"
    want64=true
    ;;
  mips*-*-linux*)
    targ_defvec=bfd_elf32_tradbigmips_vec
    targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec"
    want64=true
    ;;

-- as you can see the two formers only differ from the two latters by the 
default vector and are otherwise the same these days.  Am I missing 
anything?  Also is there any particular reason why we have no pure-o32 
MIPS Linux targets anymore?

2012-08-02  Maciej W. Rozycki  <macro@codesourcery.com>

	gas/testsuite/
	* gas/mips/mips.exp: Set has_newabi for all Linux targets.
	* gas/mips/cfi-n64-1.d: Adjust for targets that do not infer the 
	ISA from the ABI.
	* gas/mips/elf-rel-got-n32.d: Likewise.
	* gas/mips/elf-rel-got-n64.d: Likewise.
	* gas/mips/elf-rel-xgot-n32.d: Likewise.
	* gas/mips/elf-rel-xgot-n64.d: Likewise.
	* gas/mips/elf-rel18.d: Likewise.
	* gas/mips/elf-rel28-n32.d: Likewise.
	* gas/mips/elf-rel28-n64.d: Likewise.
	* gas/mips/jal-newabi.d: Likewise.
	* gas/mips/ldstla-n64-shared.d: Likewise.
	* gas/mips/ldstla-n64-sym32.d: Likewise.
	* gas/mips/ldstla-n64.d: Likewise.
	* gas/mips/macro-warn-1-n32.d: Likewise.
	* gas/mips/macro-warn-2-n32.d: Likewise.
	* gas/mips/n32-consec.d: Likewise.

	ld/testsuite/
	* ld-mips-elf/mips-elf.exp: Set has_newabi for all Linux targets.
	Adjust abi_asflags for targets that do not infer the ISA from the
	ABI.
	* ld-mips-elf/eh-frame1-n32.d: Adjust for targets that do not 
	infer the ISA from the ABI.
	* ld-mips-elf/eh-frame1-n64.d: Likewise.
	* ld-mips-elf/eh-frame2-n32.d: Likewise.
	* ld-mips-elf/eh-frame2-n64.d: Likewise.
	* ld-mips-elf/elf-rel-got-n32-embed.d: Likewise.
	* ld-mips-elf/elf-rel-got-n32.d: Likewise.
	* ld-mips-elf/elf-rel-got-n64-embed.d: Likewise.
	* ld-mips-elf/elf-rel-got-n64-linux.d: Likewise.
	* ld-mips-elf/elf-rel-got-n64.d: Likewise.
	* ld-mips-elf/elf-rel-xgot-n32-embed.d: Likewise.
	* ld-mips-elf/elf-rel-xgot-n32.d: Likewise.
	* ld-mips-elf/elf-rel-xgot-n64-embed.d: Likewise.
	* ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
	* ld-mips-elf/elf-rel-xgot-n64.d: Likewise.
	* ld-mips-elf/emit-relocs-1.d: Likewise.
	* ld-mips-elf/got-page-2.d: Likewise.
	* ld-mips-elf/no-shared-1-n32.d: Likewise.
	* ld-mips-elf/no-shared-1-n64.d: Likewise.
	* ld-mips-elf/rel32-n32.d: Likewise.
	* ld-mips-elf/rel64.d: Likewise.
	* ld-mips-elf/relax-jalr-n32-shared.d: Likewise.
	* ld-mips-elf/relax-jalr-n32.d: Likewise.
	* ld-mips-elf/relax-jalr-n64-shared.d: Likewise.
	* ld-mips-elf/relax-jalr-n64.d: Likewise.
	* ld-mips-elf/reloc-1-n32.d: Likewise.
	* ld-mips-elf/reloc-1-n64.d: Likewise.
	* ld-mips-elf/textrel-1.d: Likewise.

  Maciej

binutils-mips-linux-test-newabi.diff
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips.exp
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips.exp	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips.exp	2012-08-01 19:20:23.570793422 +0100
@@ -458,7 +458,7 @@ if { [istarget mips*-*-vxworks*] } {
     set ecoff [expr [istarget *-*-ecoff*] || [istarget *-*-ultrix*] || [istarget *-*-irix\[1-4\]*] ]
     set aout [expr [istarget *-*-bsd*] || [istarget *-*-openbsd*] ]
     set addr32 [expr [istarget mipstx39*-*-*] || [istarget mips-*-linux*] || [istarget mipsel-*-linux*] || [istarget mips*-*-ecoff]]
-    set has_newabi [expr [istarget *-*-irix6*] || [istarget mips64*-*-linux*] || [istarget mips*-sde-elf*]]
+    set has_newabi [expr [istarget *-*-irix6*] || [istarget mips*-*-linux*] || [istarget mips*-sde-elf*]]
     set no_mips16 [expr !$elf]
     set no_micromips [expr !$elf]
 
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/mips-elf.exp
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/mips-elf.exp	2012-08-01 18:08:16.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/mips-elf.exp	2012-08-02 11:36:53.330710466 +0100
@@ -54,15 +54,15 @@ if {![istarget mips*-*-*] || ![is_elf_fo
 }
 
 set has_newabi [expr [istarget *-*-irix6*] \
-		     || [istarget mips64*-*-linux*] \
+		     || [istarget mips*-*-linux*] \
 		     || [istarget mips*-sde-elf*]]
 set linux_gnu [expr [istarget mips*-*-linux*]]
 set embedded_elf [expr [istarget mips*-*-elf]]
 
 # Set defaults.
 set abi_asflags(o32) ""
-set abi_asflags(n32) "-n32 -EB"
-set abi_asflags(n64) "-64 -EB"
+set abi_asflags(n32) "-march=from-abi -n32 -EB"
+set abi_asflags(n64) "-march=from-abi -64 -EB"
 set abi_ldflags(o32) ""
 set abi_ldflags(n32) -melf32bmipn32
 set abi_ldflags(n64) -melf64bmip
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/cfi-n64-1.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/cfi-n64-1.d	2011-10-05 17:51:40.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/cfi-n64-1.d	2012-08-02 11:29:15.511038757 +0100
@@ -1,4 +1,4 @@
-#as: -64 -EB
+#as: -march=from-abi -64 -EB
 #objdump: -sj.eh_frame
 
 .*
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel-got-n32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/elf-rel-got-n32.d	2012-07-23 20:48:41.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel-got-n32.d	2012-08-02 11:24:06.911179906 +0100
@@ -1,6 +1,6 @@
 #objdump: -dr --prefix-addresses --show-raw-insn
 #name: MIPS ELF got reloc n32
-#as: -n32 -KPIC
+#as: -march=from-abi -n32 -KPIC
 
 .*: +file format elf32-n.*mips.*
 
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel-got-n64.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/elf-rel-got-n64.d	2012-07-23 20:48:41.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel-got-n64.d	2012-08-02 11:24:17.531180499 +0100
@@ -1,6 +1,6 @@
 #objdump: -dr --prefix-addresses --show-raw-insn
 #name: MIPS ELF got reloc n64
-#as: -64 -KPIC
+#as: -march=from-abi -64 -KPIC
 
 .*: +file format elf64-.*mips.*
 
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel-xgot-n32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/elf-rel-xgot-n32.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel-xgot-n32.d	2012-08-02 11:24:22.111183312 +0100
@@ -1,6 +1,6 @@
 #objdump: -dr --prefix-addresses --show-raw-insn
 #name: MIPS ELF xgot reloc n32
-#as: -n32 -KPIC -xgot
+#as: -march=from-abi -n32 -KPIC -xgot
 #source: elf-rel-got-n32.s
 
 .*: +file format elf32-n.*mips.*
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel-xgot-n64.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/elf-rel-xgot-n64.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel-xgot-n64.d	2012-08-02 11:24:26.431764787 +0100
@@ -1,6 +1,6 @@
 #objdump: -dr --prefix-addresses --show-raw-insn
 #name: MIPS ELF xgot reloc n64
-#as: -64 -KPIC -xgot
+#as: -march=from-abi -64 -KPIC -xgot
 #source: elf-rel-got-n64.s
 
 .*: +file format elf64-.*mips.*
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel18.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/elf-rel18.d	2011-10-05 17:51:40.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel18.d	2012-08-02 11:25:21.461565230 +0100
@@ -1,5 +1,5 @@
 #readelf: --relocs
-#as: -mabi=n32 -KPIC
+#as: -march=from-abi -mabi=n32 -KPIC
 
 Relocation section '\.rela\.text' at offset .* contains 4 entries:
  Offset     Info    Type            Sym.Value  Sym. Name \+ Addend
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel28-n32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/elf-rel28-n32.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel28-n32.d	2012-08-02 11:26:09.911335698 +0100
@@ -1,5 +1,5 @@
 #source: elf-rel28.s
-#as: -n32
+#as: -march=from-abi -n32
 #objdump: -dr
 #name: MIPS ELF reloc 28 (n32)
 
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel28-n64.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/elf-rel28-n64.d	2011-11-03 00:27:34.000000000 +0000
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/elf-rel28-n64.d	2012-08-02 11:26:14.291559629 +0100
@@ -1,5 +1,5 @@
 #source: elf-rel28.s
-#as: -64
+#as: -march=from-abi -64
 #objdump: -dr
 #name: MIPS ELF reloc 28 (n64)
 
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/jal-newabi.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/jal-newabi.d	2011-10-05 17:51:40.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/jal-newabi.d	2012-08-02 11:23:03.401180136 +0100
@@ -1,6 +1,6 @@
 #objdump: -dr --prefix-addresses --show-raw-insn
 #name: MIPS ELF NewABI jal
-#as: -n32 -KPIC -xgot
+#as: -march=from-abi -n32 -KPIC -xgot
 
 .*: +file format elf32-n.*mips.*
 
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-n64-shared.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/ldstla-n64-shared.d	2011-10-05 17:51:40.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-n64-shared.d	2012-08-02 11:27:56.901038721 +0100
@@ -1,5 +1,5 @@
 #objdump: -d
-#as: -KPIC -64
+#as: -march=from-abi -KPIC -64
 #name: MIPS ld-st-la constants (ABI n64, shared)
 #source: ldstla-n64.s
 
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-n64-sym32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/ldstla-n64-sym32.d	2012-07-04 12:07:25.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-n64-sym32.d	2012-08-02 11:28:03.551025170 +0100
@@ -1,5 +1,5 @@
 #objdump: -dr
-#as: -64 -msym32 -G8 -EB
+#as: -march=from-abi -64 -msym32 -G8 -EB
 #name: MIPS ld-st-la with sym32
 #source: ldstla-sym32.s
 
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-n64.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/ldstla-n64.d	2011-10-05 17:51:40.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/ldstla-n64.d	2012-08-02 11:28:08.141609499 +0100
@@ -1,5 +1,5 @@
 #objdump: -d
-#as: -64
+#as: -march=from-abi -64
 #name: MIPS ld-st-la constants (ABI n64)
 #source: ldstla-n64.s
 
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/macro-warn-1-n32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/macro-warn-1-n32.d	2011-10-05 17:51:40.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/macro-warn-1-n32.d	2012-08-02 11:28:45.190570161 +0100
@@ -1,4 +1,4 @@
-#as: -n32 -KPIC
+#as: -march=from-abi -n32 -KPIC
 #source: macro-warn-1.s
 #stderr: macro-warn-1-n32.l
 #objdump: -p
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/macro-warn-2-n32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/macro-warn-2-n32.d	2011-10-05 17:51:40.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/macro-warn-2-n32.d	2012-08-02 11:28:49.571351541 +0100
@@ -1,4 +1,4 @@
-#as: -n32 -KPIC
+#as: -march=from-abi -n32 -KPIC
 #source: macro-warn-2.s
 #objdump: -p
 #pass
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/n32-consec.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/n32-consec.d	2011-11-03 00:27:34.000000000 +0000
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/n32-consec.d	2012-08-02 11:26:43.510876530 +0100
@@ -1,4 +1,4 @@
-#as: -n32
+#as: -march=from-abi -n32
 #objdump: -Dr --prefix-addresses
 #name: n32 consecutive unrelated relocations
 
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/eh-frame1-n32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/eh-frame1-n32.d	2011-10-04 15:29:04.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/eh-frame1-n32.d	2012-08-02 11:37:48.471192224 +0100
@@ -1,7 +1,7 @@
 #name: MIPS eh-frame 1, n32
 #source: eh-frame1.s
 #source: eh-frame1.s
-#as: -EB -n32 --defsym alignment=2 --defsym fill=0x40
+#as: -march=from-abi -EB -n32 --defsym alignment=2 --defsym fill=0x40
 #readelf: --relocs -wf
 #ld: -shared -melf32btsmipn32 -Teh-frame1.ld
 #warning: fde encoding in.*prevents \.eh_frame_hdr table being created.
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/eh-frame1-n64.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/eh-frame1-n64.d	2011-10-04 15:29:04.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/eh-frame1-n64.d	2012-08-02 11:38:01.471833970 +0100
@@ -1,7 +1,7 @@
 #name: MIPS eh-frame 1, n64
 #source: eh-frame1.s
 #source: eh-frame1.s
-#as: -EB -64 --defsym alignment=3 --defsym fill=0x40
+#as: -march=from-abi -EB -64 --defsym alignment=3 --defsym fill=0x40
 #readelf: --relocs -wf
 #ld: -shared -melf64btsmip -Teh-frame1.ld
 #warning: fde encoding in.*prevents \.eh_frame_hdr table being created.
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/eh-frame2-n32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/eh-frame2-n32.d	2011-10-04 15:29:04.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/eh-frame2-n32.d	2012-08-02 11:38:06.070629669 +0100
@@ -1,7 +1,7 @@
 #name: MIPS eh-frame 2, n32
 #source: eh-frame1.s
 #source: eh-frame1.s
-#as: -EB -n32 --defsym alignment=2 --defsym fill=0
+#as: -march=from-abi -EB -n32 --defsym alignment=2 --defsym fill=0
 #readelf: --relocs -wf
 #ld: -shared -melf32btsmipn32 -Teh-frame1.ld
 #warning: fde encoding in.*prevents \.eh_frame_hdr table being created.
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/eh-frame2-n64.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/eh-frame2-n64.d	2011-10-04 15:29:04.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/eh-frame2-n64.d	2012-08-02 11:38:10.631622208 +0100
@@ -1,7 +1,7 @@
 #name: MIPS eh-frame 2, n64
 #source: eh-frame1.s
 #source: eh-frame1.s
-#as: -EB -64 --defsym alignment=3 --defsym fill=0
+#as: -march=from-abi -EB -64 --defsym alignment=3 --defsym fill=0
 #readelf: --relocs -wf
 #ld: -shared -melf64btsmip -Teh-frame1.ld
 #warning: fde encoding in.*prevents \.eh_frame_hdr table being created.
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-got-n32-embed.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/elf-rel-got-n32-embed.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-got-n32-embed.d	2012-08-02 11:31:01.781353179 +0100
@@ -1,5 +1,5 @@
 #name: MIPS ELF got reloc n32
-#as: -EB -n32 -KPIC
+#as: -march=from-abi -EB -n32 -KPIC
 #source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s
 #ld:
 #objdump: -D --show-raw-insn
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d	2012-08-02 11:31:06.871351225 +0100
@@ -1,5 +1,5 @@
 #name: MIPS ELF got reloc n32
-#as: -EB -n32 -KPIC
+#as: -march=from-abi -EB -n32 -KPIC
 #source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s
 #ld:
 #objdump: -D --show-raw-insn
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-got-n64-embed.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/elf-rel-got-n64-embed.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-got-n64-embed.d	2012-08-02 11:31:10.381333893 +0100
@@ -1,5 +1,5 @@
 #name: MIPS ELF got reloc n64
-#as: -EB -64 -KPIC
+#as: -march=from-abi -EB -64 -KPIC
 #source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
 #ld:
 #objdump: -D --show-raw-insn
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d	2012-08-02 11:31:14.081336453 +0100
@@ -1,5 +1,5 @@
 #name: MIPS ELF got reloc n64
-#as: -EB -64 -KPIC
+#as: -march=from-abi -EB -64 -KPIC
 #source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
 #ld:
 #objdump: -D --show-raw-insn
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d	2012-08-02 11:31:17.830713187 +0100
@@ -1,5 +1,5 @@
 #name: MIPS ELF got reloc n64
-#as: -EB -64 -KPIC
+#as: -march=from-abi -EB -64 -KPIC
 #source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
 #ld:
 #objdump: -D --show-raw-insn
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32-embed.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32-embed.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32-embed.d	2012-08-02 11:31:21.120867301 +0100
@@ -1,5 +1,5 @@
 #name: MIPS ELF xgot reloc n32
-#as: -EB -n32 -KPIC -xgot
+#as: -march=from-abi -EB -n32 -KPIC -xgot
 #source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s
 #ld:
 #objdump: -D --show-raw-insn
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d	2012-08-02 11:31:24.391006206 +0100
@@ -1,5 +1,5 @@
 #name: MIPS ELF xgot reloc n32
-#as: -EB -n32 -KPIC -xgot
+#as: -march=from-abi -EB -n32 -KPIC -xgot
 #source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s
 #ld:
 #objdump: -D --show-raw-insn
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-embed.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-embed.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-embed.d	2012-08-02 11:31:28.110555211 +0100
@@ -1,5 +1,5 @@
 #name: MIPS ELF xgot reloc n64
-#as: -EB -64 -KPIC -xgot
+#as: -march=from-abi -EB -64 -KPIC -xgot
 #source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
 #ld:
 #objdump: -D --show-raw-insn
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d	2012-08-02 11:31:32.051579970 +0100
@@ -1,5 +1,5 @@
 #name: MIPS ELF xgot reloc n64
-#as: -EB -64 -KPIC -xgot
+#as: -march=from-abi -EB -64 -KPIC -xgot
 #source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
 #ld:
 #objdump: -D --show-raw-insn
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d	2012-08-02 11:32:17.701765547 +0100
@@ -1,5 +1,5 @@
 #name: MIPS ELF xgot reloc n64
-#as: -EB -64 -KPIC -xgot
+#as: -march=from-abi -EB -64 -KPIC -xgot
 #source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
 #ld:
 #objdump: -D --show-raw-insn
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/emit-relocs-1.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/emit-relocs-1.d	2012-07-21 05:03:06.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/emit-relocs-1.d	2012-08-02 11:39:46.381821024 +0100
@@ -1,6 +1,6 @@
 #name: Emit relocs 1
-#source: emit-relocs-1a.s -mabi=n32 -EB
-#source: emit-relocs-1b.s -mabi=n32 -EB
+#source: emit-relocs-1a.s -march=from-abi -mabi=n32 -EB
+#source: emit-relocs-1b.s -march=from-abi -mabi=n32 -EB
 #ld: -q -T emit-relocs-1.ld -melf32btsmipn32
 #objdump: -sr
 
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/got-page-2.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/got-page-2.d	2011-10-04 15:29:04.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/got-page-2.d	2012-08-02 11:39:17.391335697 +0100
@@ -1,6 +1,6 @@
 #name: GOT page test 2
 #source: got-page-2.s
-#as: -EB -n32
+#as: -march=from-abi -EB -n32
 #ld: -T got-page-1.ld -shared -melf32btsmipn32
 #readelf: -d
 #
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/no-shared-1-n32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/no-shared-1-n32.d	2011-10-04 15:29:04.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/no-shared-1-n32.d	2012-08-02 11:29:52.471351313 +0100
@@ -1,4 +1,4 @@
-#as: -mabi=n32 -EB
+#as: -march=from-abi -mabi=n32 -EB
 #source: no-shared-1-o32.s
 #ld: -melf32btsmipn32 -T no-shared-1.ld
 #objdump: -dr -j.text -j.data -j.got
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/no-shared-1-n64.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/no-shared-1-n64.d	2011-10-04 15:29:04.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/no-shared-1-n64.d	2012-08-02 11:29:56.640570231 +0100
@@ -1,4 +1,4 @@
-#as: -mabi=64 -EB
+#as: -march=from-abi -mabi=64 -EB
 #ld: -melf64btsmip -T no-shared-1.ld
 #objdump: -dr -j.text -j.data -j.got
 
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/rel32-n32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/rel32-n32.d	2012-07-26 18:25:36.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/rel32-n32.d	2012-08-02 11:34:13.361604050 +0100
@@ -1,6 +1,6 @@
 #name: MIPS rel32 n32
 #source: rel32.s
-#as: -KPIC -EB -n32
+#as: -march=from-abi -KPIC -EB -n32
 #readelf: -x .text -r
 #ld: -shared -melf32btsmipn32
 
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/rel64.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/rel64.d	2012-07-26 18:25:36.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/rel64.d	2012-08-02 11:34:43.301821918 +0100
@@ -1,6 +1,6 @@
 #name: MIPS rel64 n64
 #source: rel64.s
-#as: -KPIC -EB -64
+#as: -march=from-abi -KPIC -EB -64
 #readelf: -x .text -r
 #ld: -shared -melf64btsmip
 
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d	2012-07-21 05:04:01.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d	2012-08-02 11:33:03.841323851 +0100
@@ -1,6 +1,6 @@
 #name: MIPS relax-jalr-shared n32
 #source: relax-jalr.s
-#as: -KPIC -n32 -EB
+#as: -march=from-abi -KPIC -n32 -EB
 #objdump: --prefix-addresses -d --show-raw-insn
 #ld: --relax -shared -melf32btsmipn32
 
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/relax-jalr-n32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/relax-jalr-n32.d	2012-07-21 05:04:01.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/relax-jalr-n32.d	2012-08-02 11:33:09.171337706 +0100
@@ -1,6 +1,6 @@
 #name: MIPS relax-jalr n32
 #source: relax-jalr.s
-#as: -KPIC -n32 -EB
+#as: -march=from-abi -KPIC -n32 -EB
 #objdump: --prefix-addresses -d --show-raw-insn
 #ld: --relax -melf32btsmipn32
 
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d	2012-07-21 05:04:01.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d	2012-08-02 11:33:12.261325354 +0100
@@ -1,6 +1,6 @@
 #name: MIPS relax-jalr-shared n64
 #source: relax-jalr.s
-#as: -KPIC -64 -EB
+#as: -march=from-abi -KPIC -64 -EB
 #objdump: --prefix-addresses -d --show-raw-insn
 #ld: --relax -shared -melf64btsmip
 
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/relax-jalr-n64.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/relax-jalr-n64.d	2012-07-21 05:04:01.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/relax-jalr-n64.d	2012-08-02 11:33:16.591336890 +0100
@@ -1,6 +1,6 @@
 #name: MIPS relax-jalr n64
 #source: relax-jalr.s
-#as: -KPIC -64 -EB
+#as: -march=from-abi -KPIC -64 -EB
 #objdump: --prefix-addresses -d --show-raw-insn
 #ld: --relax -melf64btsmip
 
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/reloc-1-n32.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/reloc-1-n32.d	2012-08-01 18:08:16.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/reloc-1-n32.d	2012-08-02 11:35:20.270885209 +0100
@@ -1,5 +1,5 @@
-#source: reloc-1a.s -mabi=n32 -EB
-#source: reloc-1b.s -mabi=n32 -EB
+#source: reloc-1a.s -march=from-abi -mabi=n32 -EB
+#source: reloc-1b.s -march=from-abi -mabi=n32 -EB
 #ld: -r
 #readelf: --relocs
 
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/reloc-1-n64.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/reloc-1-n64.d	2012-08-01 18:08:15.000000000 +0100
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/reloc-1-n64.d	2012-08-02 11:35:39.030870838 +0100
@@ -1,5 +1,5 @@
-#source: reloc-1a.s -mabi=64 -EB
-#source: reloc-1b.s -mabi=64 -EB
+#source: reloc-1a.s -march=from-abi -mabi=64 -EB
+#source: reloc-1b.s -march=from-abi -mabi=64 -EB
 #ld: -r
 #readelf: --relocs
 
Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/textrel-1.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/textrel-1.d	2012-03-08 15:30:07.000000000 +0000
+++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/textrel-1.d	2012-08-02 11:38:50.601788241 +0100
@@ -1,6 +1,6 @@
 #name: MIPS textrel-1
 #source: textrel-1.s
-#as: -EB -n32
+#as: -march=from-abi -EB -n32
 #ld: -shared -melf32btsmipn32
 #readelf: -d
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] MIPS: Enable NewABI testing for all Linux targets
  2012-08-02 15:22 [PATCH] MIPS: Enable NewABI testing for all Linux targets Maciej W. Rozycki
@ 2012-08-02 18:48 ` Richard Sandiford
  2012-08-02 19:25   ` Maciej W. Rozycki
  2012-08-03  7:38 ` Alan Modra
  1 sibling, 1 reply; 10+ messages in thread
From: Richard Sandiford @ 2012-08-02 18:48 UTC (permalink / raw)
  To: Maciej W. Rozycki; +Cc: binutils

"Maciej W. Rozycki" <macro@codesourcery.com> writes:
>  The MIPS/Linux configuration enables all ABI backends for all targets, 
> including ones that used to support o32 only (e.g. plain mips-linux, 
> mipsel-linux, etc.).  I don't know when the change was made, but at that 
> time the test suites were not adjusted to take that into account and these 
> configurations fail to test support for the additional ABIs now included.
>
>  Here's a change that updates the GAS and LD test suites accordingly; this 
> builds upon the infrastructure brought with the SDE NewABI testing update.  
>
>  Several test cases had to be adjusted for targets that do not update the 
> ISA selected when the ABI requested requires one higher than the toolchain 
> has been configured to default for; my understanding is this is 
> intentional.  This has triggered regressions in testing immediately after 
> enabling for mipsisa32-linux and mipsisa32el-linux targets, and the test 
> case updates included cover them so that the final version below does not 
> cause any new problems.
>
>  OK to apply?

OK.

I'm ambivalent about this change.  It seems to me that while
it's running more tests, it's actually giving less coverage.
It's forcing more and more of the GNU/Linux tests to act in the same way
as mips64-linux-gnu, so fewer of the mipsisa64-linux-gnu tests (say) are
actually testing the way that mipsisa64-linux-gnu itself will be used.

I.e. -n64, -n32 and -32 are commonplace options for all mips*-linux-gnu,
but -mabi=from-abi is either redundant (for the base configurations)
or incompatible with the target libraries, and so unlikely to be used.

That's just for the record though.  The OK still stands.

Richard

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] MIPS: Enable NewABI testing for all Linux targets
  2012-08-02 18:48 ` Richard Sandiford
@ 2012-08-02 19:25   ` Maciej W. Rozycki
  2012-08-04 18:32     ` Richard Sandiford
  0 siblings, 1 reply; 10+ messages in thread
From: Maciej W. Rozycki @ 2012-08-02 19:25 UTC (permalink / raw)
  To: Richard Sandiford; +Cc: binutils

Richard,

> I'm ambivalent about this change.  It seems to me that while
> it's running more tests, it's actually giving less coverage.
> It's forcing more and more of the GNU/Linux tests to act in the same way
> as mips64-linux-gnu, so fewer of the mipsisa64-linux-gnu tests (say) are
> actually testing the way that mipsisa64-linux-gnu itself will be used.
> 
> I.e. -n64, -n32 and -32 are commonplace options for all mips*-linux-gnu,
> but -mabi=from-abi is either redundant (for the base configurations)
> or incompatible with the target libraries, and so unlikely to be used.

 I can see your point, in fact I've been wondering how to enable these 
tests for configurations that default to o32, but treat n32/n64 as equally 
important options, without hardcoding the ISA selection -- 
mipsisa32*-linux regressions came as a nasty surprise to me while testing 
this change as I don't use such targets.

 It seems that it has become more and more difficult to figure out the 
minimum set of options required to switch between the ABIs -- perhaps 
these should be determined at the test suite run time.  What do you think?

> That's just for the record though.  The OK still stands.

 Can you comment on my concerns about config.bfd too?

  Maciej

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] MIPS: Enable NewABI testing for all Linux targets
  2012-08-02 15:22 [PATCH] MIPS: Enable NewABI testing for all Linux targets Maciej W. Rozycki
  2012-08-02 18:48 ` Richard Sandiford
@ 2012-08-03  7:38 ` Alan Modra
  1 sibling, 0 replies; 10+ messages in thread
From: Alan Modra @ 2012-08-03  7:38 UTC (permalink / raw)
  To: Maciej W. Rozycki; +Cc: binutils, Richard Sandiford

On Thu, Aug 02, 2012 at 04:21:27PM +0100, Maciej W. Rozycki wrote:
> and the header file is indeed generated, but not processed any further or 
> included anywhere as far as I can see.

Look in bfd/targets.c

-- 
Alan Modra
Australia Development Lab, IBM

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] MIPS: Enable NewABI testing for all Linux targets
  2012-08-02 19:25   ` Maciej W. Rozycki
@ 2012-08-04 18:32     ` Richard Sandiford
  2012-08-06 21:45       ` Maciej W. Rozycki
  0 siblings, 1 reply; 10+ messages in thread
From: Richard Sandiford @ 2012-08-04 18:32 UTC (permalink / raw)
  To: Maciej W. Rozycki; +Cc: binutils

"Maciej W. Rozycki" <macro@codesourcery.com> writes:
>> That's just for the record though.  The OK still stands.
>
>  Can you comment on my concerns about config.bfd too?

Not including the targets in the BFD64 block at the time that the
extra vectors were added was probably an oversight.

Providing a separate configuration that isn't BFD64 and doesn't have the
extra vectors seems more trouble than it's worth TBH.  If you disagree
though, please go ahead.

Richard

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] MIPS: Enable NewABI testing for all Linux targets
  2012-08-04 18:32     ` Richard Sandiford
@ 2012-08-06 21:45       ` Maciej W. Rozycki
  2012-08-07  8:25         ` Richard Sandiford
  0 siblings, 1 reply; 10+ messages in thread
From: Maciej W. Rozycki @ 2012-08-06 21:45 UTC (permalink / raw)
  To: Richard Sandiford; +Cc: binutils

On Sat, 4 Aug 2012, Richard Sandiford wrote:

> >> That's just for the record though.  The OK still stands.

 So I have committed this change now, thanks for your review.  I'll think 
of something cleverer in place of this -march=from-abi option as time 
permits; fortunately it's greppable, so easily replaced.

> >  Can you comment on my concerns about config.bfd too?
> 
> Not including the targets in the BFD64 block at the time that the
> extra vectors were added was probably an oversight.

 I've been wondering if these extra vectors were added by mistake instead, 
like slipped through in a larger commit unnoticed.  I'll post a fix to the 
BFD64 block separately.

> Providing a separate configuration that isn't BFD64 and doesn't have the
> extra vectors seems more trouble than it's worth TBH.  If you disagree
> though, please go ahead.

 My understanding is it only really matters for hosts that do not have a 
64-bit integer type and therefore cannot handle 64-bit quantities.  In 
which case I couldn't care less, GCC has supported 64-bit long long on 
32-bit hosts since time immemorial and the last teething problems in this 
area I seem to remember went away in late 1990s.

  Maciej

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] MIPS: Enable NewABI testing for all Linux targets
  2012-08-06 21:45       ` Maciej W. Rozycki
@ 2012-08-07  8:25         ` Richard Sandiford
  2012-08-10 13:19           ` Maciej W. Rozycki
  0 siblings, 1 reply; 10+ messages in thread
From: Richard Sandiford @ 2012-08-07  8:25 UTC (permalink / raw)
  To: Maciej W. Rozycki; +Cc: binutils

"Maciej W. Rozycki" <macro@codesourcery.com> writes:
> On Sat, 4 Aug 2012, Richard Sandiford wrote:
>> >  Can you comment on my concerns about config.bfd too?
>> 
>> Not including the targets in the BFD64 block at the time that the
>> extra vectors were added was probably an oversight.
>
>  I've been wondering if these extra vectors were added by mistake instead, 
> like slipped through in a larger commit unnoticed.  I'll post a fix to the 
> BFD64 block separately.

The 64-bit ones?  No, Debian wanted to allow 32-bit *-linux-gnu targets
that provice all three ABIs, while still defaulting to o32.  The associated
GCC configure option is --enable-targets=all.  (Confusingly different from
the binutils meaning, but there you go.  That choice of name wasn't a MIPS
invention.)

>> Providing a separate configuration that isn't BFD64 and doesn't have the
>> extra vectors seems more trouble than it's worth TBH.  If you disagree
>> though, please go ahead.
>
>  My understanding is it only really matters for hosts that do not have a 
> 64-bit integer type and therefore cannot handle 64-bit quantities.  In 
> which case I couldn't care less, GCC has supported 64-bit long long on 
> 32-bit hosts since time immemorial and the last teething problems in this 
> area I seem to remember went away in late 1990s.

Indeed.  And MIPS GCC requires 64-bit HWIs regardless of whether you're
compiling for a 32-bit or 64-bit target.

Richard

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] MIPS: Enable NewABI testing for all Linux targets
  2012-08-07  8:25         ` Richard Sandiford
@ 2012-08-10 13:19           ` Maciej W. Rozycki
  2012-08-12 18:34             ` Richard Sandiford
  0 siblings, 1 reply; 10+ messages in thread
From: Maciej W. Rozycki @ 2012-08-10 13:19 UTC (permalink / raw)
  To: Richard Sandiford; +Cc: binutils

On Tue, 7 Aug 2012, Richard Sandiford wrote:

> >> Not including the targets in the BFD64 block at the time that the
> >> extra vectors were added was probably an oversight.
> >
> >  I've been wondering if these extra vectors were added by mistake instead, 
> > like slipped through in a larger commit unnoticed.  I'll post a fix to the 
> > BFD64 block separately.
> 
> The 64-bit ones?  No, Debian wanted to allow 32-bit *-linux-gnu targets
> that provice all three ABIs, while still defaulting to o32.  The associated
> GCC configure option is --enable-targets=all.  (Confusingly different from
> the binutils meaning, but there you go.  That choice of name wasn't a MIPS
> invention.)

 OK, thanks for this background information.  Here's the change I 
promised, no regressions on the 23 MIPS targets.  OK to apply?

  Maciej

2012-08-10  Maciej W. Rozycki  <macro@codesourcery.com>

	bfd/
	* config.bfd: Wrap mips*-*-linux* and mips*el-*-linux* into
	#ifdef BFD64.

binutils-bfd64-mips-linux.diff
Index: binutils-fsf-trunk-quilt/bfd/config.bfd
===================================================================
--- binutils-fsf-trunk-quilt.orig/bfd/config.bfd	2012-07-04 12:07:36.000000000 +0100
+++ binutils-fsf-trunk-quilt/bfd/config.bfd	2012-08-06 22:49:09.591194507 +0100
@@ -1005,7 +1005,6 @@ case "${targ}" in
     targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
     want64=true
     ;;
-#endif
   mips*el-*-linux*)
     targ_defvec=bfd_elf32_tradlittlemips_vec
     targ_selvecs="bfd_elf32_tradbigmips_vec ecoff_little_vec ecoff_big_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec"
@@ -1016,7 +1015,6 @@ case "${targ}" in
     targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec"
     want64=true
     ;;
-#ifdef BFD64
   mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu)
     # FreeBSD vectors
     targ_defvec=bfd_elf32_ntradlittlemips_freebsd_vec

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] MIPS: Enable NewABI testing for all Linux targets
  2012-08-10 13:19           ` Maciej W. Rozycki
@ 2012-08-12 18:34             ` Richard Sandiford
  2012-08-13 15:21               ` Maciej W. Rozycki
  0 siblings, 1 reply; 10+ messages in thread
From: Richard Sandiford @ 2012-08-12 18:34 UTC (permalink / raw)
  To: Maciej W. Rozycki; +Cc: binutils

"Maciej W. Rozycki" <macro@codesourcery.com> writes:
> On Tue, 7 Aug 2012, Richard Sandiford wrote:
>
>> >> Not including the targets in the BFD64 block at the time that the
>> >> extra vectors were added was probably an oversight.
>> >
>> >  I've been wondering if these extra vectors were added by mistake instead, 
>> > like slipped through in a larger commit unnoticed.  I'll post a fix to the 
>> > BFD64 block separately.
>> 
>> The 64-bit ones?  No, Debian wanted to allow 32-bit *-linux-gnu targets
>> that provice all three ABIs, while still defaulting to o32.  The associated
>> GCC configure option is --enable-targets=all.  (Confusingly different from
>> the binutils meaning, but there you go.  That choice of name wasn't a MIPS
>> invention.)
>
>  OK, thanks for this background information.  Here's the change I 
> promised, no regressions on the 23 MIPS targets.  OK to apply?

Yes.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] MIPS: Enable NewABI testing for all Linux targets
  2012-08-12 18:34             ` Richard Sandiford
@ 2012-08-13 15:21               ` Maciej W. Rozycki
  0 siblings, 0 replies; 10+ messages in thread
From: Maciej W. Rozycki @ 2012-08-13 15:21 UTC (permalink / raw)
  To: Richard Sandiford; +Cc: binutils

On Sun, 12 Aug 2012, Richard Sandiford wrote:

> >> >> Not including the targets in the BFD64 block at the time that the
> >> >> extra vectors were added was probably an oversight.
> >> >
> >> >  I've been wondering if these extra vectors were added by mistake instead, 
> >> > like slipped through in a larger commit unnoticed.  I'll post a fix to the 
> >> > BFD64 block separately.
> >> 
> >> The 64-bit ones?  No, Debian wanted to allow 32-bit *-linux-gnu targets
> >> that provice all three ABIs, while still defaulting to o32.  The associated
> >> GCC configure option is --enable-targets=all.  (Confusingly different from
> >> the binutils meaning, but there you go.  That choice of name wasn't a MIPS
> >> invention.)
> >
> >  OK, thanks for this background information.  Here's the change I 
> > promised, no regressions on the 23 MIPS targets.  OK to apply?
> 
> Yes.

 Checked in now, thanks.

  Maciej

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-08-13 15:02 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-02 15:22 [PATCH] MIPS: Enable NewABI testing for all Linux targets Maciej W. Rozycki
2012-08-02 18:48 ` Richard Sandiford
2012-08-02 19:25   ` Maciej W. Rozycki
2012-08-04 18:32     ` Richard Sandiford
2012-08-06 21:45       ` Maciej W. Rozycki
2012-08-07  8:25         ` Richard Sandiford
2012-08-10 13:19           ` Maciej W. Rozycki
2012-08-12 18:34             ` Richard Sandiford
2012-08-13 15:21               ` Maciej W. Rozycki
2012-08-03  7:38 ` Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).