public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v4] MIPS: Use 64-bit a ABI by default for `mipsisa64*-*-linux*' targets
@ 2023-11-17  9:03 YunQiang Su
  2023-11-29  6:13 ` YunQiang Su
  0 siblings, 1 reply; 5+ messages in thread
From: YunQiang Su @ 2023-11-17  9:03 UTC (permalink / raw)
  To: nickc; +Cc: binutils, YunQiang Su

Following the arrangement in GCC select a 64-bit ABI by default, either
n32 or n64, rather than o32 for `mipsisa64*-*-linux*' targets, just as
with the corresponding `mips64*-*-linux*' targets.
---
 bfd/config.bfd                                     |  8 ++++----
 binutils/testsuite/binutils-all/mips/mips.exp      |  3 ++-
 binutils/testsuite/binutils-all/objcopy.exp        |  2 +-
 binutils/testsuite/binutils-all/remove-relocs-01.d |  2 +-
 binutils/testsuite/binutils-all/remove-relocs-04.d |  2 +-
 binutils/testsuite/binutils-all/remove-relocs-05.d |  2 +-
 binutils/testsuite/binutils-all/remove-relocs-06.d |  2 +-
 gas/configure                                      |  6 +++---
 gas/configure.ac                                   |  6 +++---
 gas/testsuite/gas/mips/compact-eh-eb-7.d           |  2 +-
 gas/testsuite/gas/mips/compact-eh-el-7.d           |  2 +-
 ld/configure.tgt                                   | 10 ++++++----
 12 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/bfd/config.bfd b/bfd/config.bfd
index 08129e6a8cb..55fd02e787c 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -956,21 +956,21 @@ case "${targ}" in
     targ_defvec=mips_elf32_be_vec
     targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
     ;;
-  mips64*el-*-linux*-gnuabi64)
+  mips64*el-*-linux*-gnuabi64 | mipsisa64*el-*-linux*-gnuabi64)
     targ_defvec=mips_elf64_trad_le_vec
     targ_selvecs="mips_elf64_trad_be_vec mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec"
     want64=true
     ;;
-  mips64*el-*-linux*)
+  mips64*el-*-linux* | mipsisa64*el-*-linux*)
     targ_defvec=mips_elf32_ntrad_le_vec
     targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
     ;;
-  mips64*-*-linux*-gnuabi64)
+  mips64*-*-linux*-gnuabi64 | mipsisa64*-*-linux*-gnuabi64)
     targ_defvec=mips_elf64_trad_be_vec
     targ_selvecs="mips_elf64_trad_le_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec"
     want64=true
     ;;
-  mips64*-*-linux*)
+  mips64*-*-linux* | mipsisa64*-*-linux*)
     targ_defvec=mips_elf32_ntrad_be_vec
     targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
     ;;
diff --git a/binutils/testsuite/binutils-all/mips/mips.exp b/binutils/testsuite/binutils-all/mips/mips.exp
index fdab97180e3..dc4450db74a 100644
--- a/binutils/testsuite/binutils-all/mips/mips.exp
+++ b/binutils/testsuite/binutils-all/mips/mips.exp
@@ -121,7 +121,8 @@ set abi_ldflags(eabi) ""
 # Override as needed.
 if {[istarget *-*-openbsd*] } {
     set irixemul 0
-} elseif { [istarget mips64*-*-linux*] } {
+} elseif { [istarget mips64*-*-linux*] \
+     || [istarget mipsisa64*-*-linux*] } {
     if [istarget *el-*-*] {
 	set abi_asflags(o32) -32
 	set abi_ldflags(o32) -melf32ltsmip
diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp
index 34a9b3ff5b2..e9b5eb4e3a7 100644
--- a/binutils/testsuite/binutils-all/objcopy.exp
+++ b/binutils/testsuite/binutils-all/objcopy.exp
@@ -1276,7 +1276,7 @@ if [is_elf_format] {
     run_dump_test "strip-12"
 
     if { [istarget "mips64*-*-openbsd*"] \
-	 || [istarget "mips64*-*-*-gnuabi64"] } {
+	 || [istarget "mipsisa64*-*-*-gnuabi64"] } {
 	set reloc_format mips64
     }
     # A relocation type not supported by any target
diff --git a/binutils/testsuite/binutils-all/remove-relocs-01.d b/binutils/testsuite/binutils-all/remove-relocs-01.d
index aeceba117d1..1ef10374232 100644
--- a/binutils/testsuite/binutils-all/remove-relocs-01.d
+++ b/binutils/testsuite/binutils-all/remove-relocs-01.d
@@ -2,7 +2,7 @@
 #source: remove-relocs-01.s
 #objcopy: --remove-relocations=.data.relocs.01
 #readelf: -r
-#notarget: mips64*-*-openbsd* mips64*-*-*-gnuabi64
+#notarget: mips64*-*-openbsd* mips64*-*-*-gnuabi64 mipsisa64*-*-*-gnuabi64
 
 Relocation section '\.rela?\.data\.relocs\.02' at offset 0x[0-9a-f]+ contains 3 entries:
 .*
diff --git a/binutils/testsuite/binutils-all/remove-relocs-04.d b/binutils/testsuite/binutils-all/remove-relocs-04.d
index 4ae7a90f0f1..3037423a911 100644
--- a/binutils/testsuite/binutils-all/remove-relocs-04.d
+++ b/binutils/testsuite/binutils-all/remove-relocs-04.d
@@ -2,7 +2,7 @@
 #source: remove-relocs-01.s
 #objcopy: --remove-relocations=.data.relocs.0\[12\]
 #readelf: -r
-#notarget: mips64*-*-openbsd* mips64*-*-*-gnuabi64
+#notarget: mips64*-*-openbsd* mips64*-*-*-gnuabi64 mipsisa64*-*-*-gnuabi64
 
 Relocation section '\.rela?\.data\.relocs\.03' at offset 0x[0-9a-f]+ contains 3 entries:
 .*
diff --git a/binutils/testsuite/binutils-all/remove-relocs-05.d b/binutils/testsuite/binutils-all/remove-relocs-05.d
index 0f3591786b3..847f39f3b25 100644
--- a/binutils/testsuite/binutils-all/remove-relocs-05.d
+++ b/binutils/testsuite/binutils-all/remove-relocs-05.d
@@ -2,7 +2,7 @@
 #source: remove-relocs-01.s
 #objcopy: --remove-section=.rela.data.relocs.01 --remove-section=.rel.data.relocs.01
 #readelf: -r
-#notarget: mips64*-*-openbsd* mips64*-*-*-gnuabi64
+#notarget: mips64*-*-openbsd* mips64*-*-*-gnuabi64 mipsisa64*-*-*-gnuabi64
 
 Relocation section '\.rela?\.data\.relocs\.02' at offset 0x[0-9a-f]+ contains 3 entries:
 .*
diff --git a/binutils/testsuite/binutils-all/remove-relocs-06.d b/binutils/testsuite/binutils-all/remove-relocs-06.d
index f530d300087..363b0934a65 100644
--- a/binutils/testsuite/binutils-all/remove-relocs-06.d
+++ b/binutils/testsuite/binutils-all/remove-relocs-06.d
@@ -2,7 +2,7 @@
 #source: remove-relocs-01.s
 #objcopy: --remove-relocations=.data.relocs.* --remove-relocations=!.data.relocs.02
 #readelf: -r
-#notarget: mips64*-*-openbsd* mips64*-*-*-gnuabi64
+#notarget: mips64*-*-openbsd* mips64*-*-*-gnuabi64 mipsisa64*-*-*-gnuabi64
 
 Relocation section '\.rela?\.data\.relocs\.02' at offset 0x[0-9a-f]+ contains 3 entries:
 .*
diff --git a/gas/configure b/gas/configure
index 6a2f56f928a..9c692119083 100755
--- a/gas/configure
+++ b/gas/configure
@@ -12276,11 +12276,11 @@ _ACEOF
 	esac
 	# Decide which ABI to target by default.
 	case ${target} in
-	  mips64*-openbsd* | mips64*-linux-gnuabi64)
+	  mips64*-openbsd* | mips64*-linux-gnuabi64 | mipsisa64*-linux-gnuabi64)
 	    mips_default_abi=N64_ABI
 	    ;;
-	  mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \
-	  | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*)
+	  mips64*-linux* | mipsisa64*-linux* | mips-sgi-irix6* \
+	  | mips64*-freebsd* | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*)
 	    mips_default_abi=N32_ABI
 	    ;;
 	  mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu)
diff --git a/gas/configure.ac b/gas/configure.ac
index d0b4cfb0310..d756974e0c2 100644
--- a/gas/configure.ac
+++ b/gas/configure.ac
@@ -394,11 +394,11 @@ changequote([,])dnl
 	esac
 	# Decide which ABI to target by default.
 	case ${target} in
-	  mips64*-openbsd* | mips64*-linux-gnuabi64)
+	  mips64*-openbsd* | mips64*-linux-gnuabi64 | mipsisa64*-linux-gnuabi64)
 	    mips_default_abi=N64_ABI
 	    ;;
-	  mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \
-	  | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*)
+	  mips64*-linux* | mipsisa64*-linux* | mips-sgi-irix6* \
+	  | mips64*-freebsd* | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*)
 	    mips_default_abi=N32_ABI
 	    ;;
 	  mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu)
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-7.d b/gas/testsuite/gas/mips/compact-eh-eb-7.d
index 973e69fe31a..4e53e57e626 100644
--- a/gas/testsuite/gas/mips/compact-eh-eb-7.d
+++ b/gas/testsuite/gas/mips/compact-eh-eb-7.d
@@ -2,7 +2,7 @@
 #name: Compact EH EB #7 with personality id and fallback FDE
 #source: compact-eh-7.s
 #as: -EB -mno-pdr
-#notarget: mips64*-*-openbsd* mips64*-*-*-gnuabi64
+#notarget: mips64*-*-openbsd* mips64*-*-*-gnuabi64 mipsisa64*-*-*-gnuabi64
 
 .*:     file format.*
 
diff --git a/gas/testsuite/gas/mips/compact-eh-el-7.d b/gas/testsuite/gas/mips/compact-eh-el-7.d
index fb7dde9252f..e83e133f9d4 100644
--- a/gas/testsuite/gas/mips/compact-eh-el-7.d
+++ b/gas/testsuite/gas/mips/compact-eh-el-7.d
@@ -2,7 +2,7 @@
 #name: Compact EH EL #7 with personality id and fallback FDE
 #source: compact-eh-7.s
 #as: -EL -mno-pdr
-#notarget: mips64*-*-openbsd* mips64*-*-*-gnuabi64
+#notarget: mips64*-*-openbsd* mips64*-*-*-gnuabi64 mipsisa64*-*-*-gnuabi64
 
 .*:     file format.*
 
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 3aa595ef130..1a0b88f3f63 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -587,21 +587,23 @@ mips*-*-vxworks*)	targ_emul=elf32ebmipvxworks
 			;;
 mips*-*-windiss)	targ_emul=elf32mipswindiss
 			;;
-mips64*el-*-linux-gnuabi64)
+mips64*el-*-linux-gnuabi64 | mipsisa64*el-*-linux-gnuabi64)
 			targ_emul=elf64ltsmip
 			targ_extra_emuls="elf64btsmip elf32ltsmipn32 elf32btsmipn32 elf32ltsmip elf32btsmip"
 			targ_extra_libpath=$targ_extra_emuls
 			;;
-mips64*el-*-linux-*)	targ_emul=elf32ltsmipn32
+mips64*el-*-linux-* | mipsisa64*el-*-linux-*)
+			targ_emul=elf32ltsmipn32
 			targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
 			targ_extra_libpath=$targ_extra_emuls
 			;;
-mips64*-*-linux-gnuabi64)
+mips64*-*-linux-gnuabi64 | mipsisa64*-*-linux-gnuabi64)
 			targ_emul=elf64btsmip
 			targ_extra_emuls="elf64ltsmip elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip"
 			targ_extra_libpath=$targ_extra_emuls
 			;;
-mips64*-*-linux-*)	targ_emul=elf32btsmipn32
+mips64*-*-linux-* | mipsisa64*-*-linux-*)
+			targ_emul=elf32btsmipn32
 			targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
 			targ_extra_libpath=$targ_extra_emuls
 			;;
-- 
2.39.2


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

* Re: [PATCH v4] MIPS: Use 64-bit a ABI by default for `mipsisa64*-*-linux*' targets
  2023-11-17  9:03 [PATCH v4] MIPS: Use 64-bit a ABI by default for `mipsisa64*-*-linux*' targets YunQiang Su
@ 2023-11-29  6:13 ` YunQiang Su
  2023-11-30 13:40   ` Nick Clifton
  0 siblings, 1 reply; 5+ messages in thread
From: YunQiang Su @ 2023-11-29  6:13 UTC (permalink / raw)
  To: YunQiang Su; +Cc: nickc, binutils

YunQiang Su <yunqiang.su@cipunited.com> 于2023年11月17日周五 17:04写道:
>
> Following the arrangement in GCC select a 64-bit ABI by default, either
> n32 or n64, rather than o32 for `mipsisa64*-*-linux*' targets, just as
> with the corresponding `mips64*-*-linux*' targets.
> ---

ping

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

* Re: [PATCH v4] MIPS: Use 64-bit a ABI by default for `mipsisa64*-*-linux*' targets
  2023-11-29  6:13 ` YunQiang Su
@ 2023-11-30 13:40   ` Nick Clifton
  2023-12-01  0:56     ` YunQiang Su
  0 siblings, 1 reply; 5+ messages in thread
From: Nick Clifton @ 2023-11-30 13:40 UTC (permalink / raw)
  To: YunQiang Su, YunQiang Su; +Cc: binutils

Hi YunQiang Su,

>> Following the arrangement in GCC select a 64-bit ABI by default, either
>> n32 or n64, rather than o32 for `mipsisa64*-*-linux*' targets, just as
>> with the corresponding `mips64*-*-linux*' targets.
>> ---
> 
> ping

Sorry - I meant to post that I am leaving this one to Maciej.  I am concerned
that changing the target matching for those targets might affect already
existing users who are expecting the old behaviour.  I do not know if this is
possible/likely however, so I would prefer to leave the decision to someone
who has much more knowledge of the MIPS target than myself, ie Maciej.

Cheers
   Nick


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

* Re: [PATCH v4] MIPS: Use 64-bit a ABI by default for `mipsisa64*-*-linux*' targets
  2023-11-30 13:40   ` Nick Clifton
@ 2023-12-01  0:56     ` YunQiang Su
  2024-01-02  9:30       ` YunQiang Su
  0 siblings, 1 reply; 5+ messages in thread
From: YunQiang Su @ 2023-12-01  0:56 UTC (permalink / raw)
  To: Nick Clifton, YunQiang Su; +Cc: binutils



在 2023/11/30 21:40, Nick Clifton 写道:
> Hi YunQiang Su,
> 
>>> Following the arrangement in GCC select a 64-bit ABI by default, either
>>> n32 or n64, rather than o32 for `mipsisa64*-*-linux*' targets, just as
>>> with the corresponding `mips64*-*-linux*' targets.
>>> ---
>>
>> ping
> 
> Sorry - I meant to post that I am leaving this one to Maciej.  I am 
> concerned
> that changing the target matching for those targets might affect already
> existing users who are expecting the old behaviour.  I do not know if 
> this is
> possible/likely however, so I would prefer to leave the decision to someone
> who has much more knowledge of the MIPS target than myself, ie Maciej.
> 

https://sourceware.org/pipermail/binutils/2023-August/128758.html
In this post, Maciej suggested that we can limit mips*64-* to 
mipsisa64*-linux*.

> Cheers
>    Nick
> 

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

* Re: [PATCH v4] MIPS: Use 64-bit a ABI by default for `mipsisa64*-*-linux*' targets
  2023-12-01  0:56     ` YunQiang Su
@ 2024-01-02  9:30       ` YunQiang Su
  0 siblings, 0 replies; 5+ messages in thread
From: YunQiang Su @ 2024-01-02  9:30 UTC (permalink / raw)
  To: Nick Clifton, YunQiang Su; +Cc: binutils

YunQiang Su <wzssyqa@gmail.com> 于2023年12月1日周五 08:56写道:
>
>
>
> 在 2023/11/30 21:40, Nick Clifton 写道:
> > Hi YunQiang Su,
> >
> >>> Following the arrangement in GCC select a 64-bit ABI by default, either
> >>> n32 or n64, rather than o32 for `mipsisa64*-*-linux*' targets, just as
> >>> with the corresponding `mips64*-*-linux*' targets.
> >>> ---
> >>
> >> ping
> >
> > Sorry - I meant to post that I am leaving this one to Maciej.  I am
> > concerned
> > that changing the target matching for those targets might affect already
> > existing users who are expecting the old behaviour.  I do not know if
> > this is
> > possible/likely however, so I would prefer to leave the decision to someone
> > who has much more knowledge of the MIPS target than myself, ie Maciej.
> >
>
> https://sourceware.org/pipermail/binutils/2023-August/128758.html
> In this post, Maciej suggested that we can limit mips*64-* to
> mipsisa64*-linux*.
>

ping.
This config has been in gcc since 2008, with this commit:
     f2d6ca5081ba8fb31b5d03545f45cce12ac67b3f


> > Cheers
> >    Nick
> >



-- 
YunQiang Su

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

end of thread, other threads:[~2024-01-02  9:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-17  9:03 [PATCH v4] MIPS: Use 64-bit a ABI by default for `mipsisa64*-*-linux*' targets YunQiang Su
2023-11-29  6:13 ` YunQiang Su
2023-11-30 13:40   ` Nick Clifton
2023-12-01  0:56     ` YunQiang Su
2024-01-02  9:30       ` YunQiang Su

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).