Patchwork [gcc/libgcc/ada/libstdc++] Match arm*-*-linux-*eabi* for ARM Linux/GNU EABI

login
register
mail settings
Submitter Matthias Klose
Date Oct. 15, 2012, 2:20 p.m.
Message ID <507C1BBB.2040708@ubuntu.com>
Download mbox | patch
Permalink /patch/191569/
State New
Headers show

Comments

Matthias Klose - Oct. 15, 2012, 2:20 p.m.
On 26.06.2012 11:10, Richard Earnshaw wrote:
> On 25/06/12 22:30, Matthias Klose wrote:
>> On 25.06.2012 18:21, Matthias Klose wrote:
>>> On 25.06.2012 15:22, Richard Earnshaw wrote:
>>>> On 25/06/12 13:08, Matthias Klose wrote:
>>>>> gcc/config.gcc now allows matching arm*-*-linux-*eabi* instead of
>>>>> arm*-*-linux-*eabi for ARM Linux/GNU EABI.  This changes the matching in various
>>>>> other places as well. arm-linux-gnueabihf is used as a triplet by some
>>>>> distributions.
>>>>>
>>>>> Ok for the trunk?
>>>>>
>>>>
>>>> now that all arm-linux ports are EABI conforming, why can't this just become
>>>>
>>>> 	arm*-*-linux*
>>>> ?
>>>
>>> I assume it could. But I didn't check for other places where this would be needed.
>>
>> $ grep -r 'arm[^_]*eabi' . |egrep -v 'ChangeLog|\.svn/'|wc -l
>> 87
>>
>> this seems to be a larger change, which should have been committed when the old
>> abi targets were deprecated.  I'd like to get the eabi* change in first.
>>
>>   Matthias
>>
>>
> 
> Removal of the FPA support is still ongoing, but beware that it doesn't
> mean that all supported ARM configurations will be EABI conforming (some
> configurations did not use the FPA and are thus not affected by this
> change); but all ARM Linux configurations will be.

Updated patch to just match arm*-*-linux*, searched for additional files with
grep -r 'arm[^_]*linux[^_]*eabi' . |egrep -v 'ChangeLog|\.svn/'

  Matthias
2012-10-15  Matthias Klose  <doko@ubuntu.com>

gcc/

	* config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
	* doc/install.texi:

gcc/testsuite/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

	* lib/target-supports.exp (check_profiling_available): Match
	arm*-*-linux-* for ARM Linux/GNU.
	* g++.dg/torture/predcom-1.C: Match arm*-*-linux-* for ARM Linux/GNU.
	* gfortran.dg/enum_10.f90: Likewise.
	* gfortran.dg/enum_9.f90: Likewise.
	* gcc.target/arm/synchronize.c: Likewise.
	* g++.old-deja/g++.jason/enum6.C: Likewise.
	* g++.old-deja/g++.other/enum4.C: Likewise.
	* g++.old-deja/g++.law/enum9.C: Likewise.

gcc/ada/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

	* gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
	ARM Linux/GNU.

libgcc/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

	* config.host: Match arm*-*-linux-* for ARM Linux/GNU.

libstdc++-v3/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

	* configure.host: Match arm*-*-linux-* for ARM Linux/GNU.
	* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.

libjava/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

	* configure.ac: Match arm*-*-linux-* for ARM Linux/GNU.
	* configure: Regenerate.
Richard Earnshaw - Oct. 15, 2012, 3:41 p.m.
On 15/10/12 15:20, Matthias Klose wrote:
> On 26.06.2012 11:10, Richard Earnshaw wrote:
>> On 25/06/12 22:30, Matthias Klose wrote:
>>> On 25.06.2012 18:21, Matthias Klose wrote:
>>>> On 25.06.2012 15:22, Richard Earnshaw wrote:
>>>>> On 25/06/12 13:08, Matthias Klose wrote:
>>>>>> gcc/config.gcc now allows matching arm*-*-linux-*eabi* instead of
>>>>>> arm*-*-linux-*eabi for ARM Linux/GNU EABI.  This changes the matching in various
>>>>>> other places as well. arm-linux-gnueabihf is used as a triplet by some
>>>>>> distributions.
>>>>>>
>>>>>> Ok for the trunk?
>>>>>>
>>>>>
>>>>> now that all arm-linux ports are EABI conforming, why can't this just become
>>>>>
>>>>> 	arm*-*-linux*
>>>>> ?
>>>>
>>>> I assume it could. But I didn't check for other places where this would be needed.
>>>
>>> $ grep -r 'arm[^_]*eabi' . |egrep -v 'ChangeLog|\.svn/'|wc -l
>>> 87
>>>
>>> this seems to be a larger change, which should have been committed when the old
>>> abi targets were deprecated.  I'd like to get the eabi* change in first.
>>>
>>>    Matthias
>>>
>>>
>>
>> Removal of the FPA support is still ongoing, but beware that it doesn't
>> mean that all supported ARM configurations will be EABI conforming (some
>> configurations did not use the FPA and are thus not affected by this
>> change); but all ARM Linux configurations will be.
>
> Updated patch to just match arm*-*-linux*, searched for additional files with
> grep -r 'arm[^_]*linux[^_]*eabi' . |egrep -v 'ChangeLog|\.svn/'
>
>    Matthias
>
>
>
>
> arm-linux-triplet.diff
>
>
> 2012-10-15  Matthias Klose  <doko@ubuntu.com>
>
> gcc/
>
> 	* config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
> 	* doc/install.texi:
>

You're ChangeLog entry is incomplete.

Otherwise, OK.

R.

Patch

Index: libgcc/config.host
===================================================================
--- libgcc/config.host	(revision 192459)
+++ libgcc/config.host	(working copy)
@@ -316,7 +316,7 @@ 
 arm*-*-linux*)			# ARM GNU/Linux with ELF
 	tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
 	case ${host} in
-	arm*-*-linux-*eabi)
+	arm*-*-linux-*)
 	  tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
 	  tm_file="$tm_file arm/bpabi-lib.h"
 	  unwind_header=config/arm/unwind-arm.h
Index: libjava/configure.ac
===================================================================
--- libjava/configure.ac	(revision 192459)
+++ libjava/configure.ac	(working copy)
@@ -931,7 +931,7 @@ 
     # on Darwin -single_module speeds up loading of the dynamic libraries.
     extra_ldflags_libjava=-Wl,-single_module
     ;;
-arm*linux*eabi)
+arm*-*-linux-*)
     # Some of the ARM unwinder code is actually in libstdc++.  We
     # could in principle replicate it in libgcj, but it's better to
     # have a dependency on libstdc++.
Index: gcc/testsuite/gfortran.dg/enum_10.f90
===================================================================
--- gcc/testsuite/gfortran.dg/enum_10.f90	(revision 192459)
+++ gcc/testsuite/gfortran.dg/enum_10.f90	(working copy)
@@ -1,7 +1,7 @@ 
 ! { dg-do run }
 ! { dg-additional-sources enum_10.c }
 ! { dg-options "-fshort-enums -w" }
-! { dg-options "-fshort-enums -w -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+! { dg-options "-fshort-enums -w -Wl,--no-enum-size-warning" { target arm*-*-linux* } }
 ! Make sure short enums are indeed interoperable with the
 ! corresponding C type.
 
Index: gcc/testsuite/gfortran.dg/enum_9.f90
===================================================================
--- gcc/testsuite/gfortran.dg/enum_9.f90	(revision 192459)
+++ gcc/testsuite/gfortran.dg/enum_9.f90	(working copy)
@@ -1,6 +1,6 @@ 
 ! { dg-do run }
 ! { dg-options "-fshort-enums" }
-! { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+! { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux* } }
 ! Program to test enumerations when option -fshort-enums is given
 
 program main
Index: gcc/testsuite/gcc.target/arm/synchronize.c
===================================================================
--- gcc/testsuite/gcc.target/arm/synchronize.c	(revision 192459)
+++ gcc/testsuite/gcc.target/arm/synchronize.c	(working copy)
@@ -1,4 +1,4 @@ 
-/* { dg-final { scan-assembler "__sync_synchronize|dmb|mcr" { target arm*-*-linux-*eabi } } } */
+/* { dg-final { scan-assembler "__sync_synchronize|dmb|mcr" { target arm*-*-linux-* } } } */
 
 void *foo (void)
 {
Index: gcc/testsuite/g++.old-deja/g++.law/enum9.C
===================================================================
--- gcc/testsuite/g++.old-deja/g++.law/enum9.C	(revision 192459)
+++ gcc/testsuite/g++.old-deja/g++.law/enum9.C	(working copy)
@@ -7,10 +7,10 @@ 
 // enum-size attributes should only be emitted if there are values of
 // enum type that can escape the compilation unit, gcc cannot currently
 // detect this; if this facility is added then this linker option should
-// not be needed.  arm-*-linux*eabi should be a good approximation to
+// not be needed.  arm-*-linux* should be a good approximation to
 // those platforms where the EABI supplement defines enum values to be
 // 32 bits wide.
-// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux* } }
 
 // GROUPS passed enums
   extern "C" int printf (const char *, ...);
Index: gcc/testsuite/g++.old-deja/g++.jason/enum6.C
===================================================================
--- gcc/testsuite/g++.old-deja/g++.jason/enum6.C	(revision 192459)
+++ gcc/testsuite/g++.old-deja/g++.jason/enum6.C	(working copy)
@@ -7,10 +7,10 @@ 
 // enum-size attributes should only be emitted if there are values of
 // enum type that can escape the compilation unit, gcc cannot currently
 // detect this; if this facility is added then this linker option should
-// not be needed.  arm-*-linux*eabi should be a good approximation to
+// not be needed.  arm-*-linux* should be a good approximation to
 // those platforms where the EABI supplement defines enum values to be
 // 32 bits wide.
-// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux* } }
 
 #include <limits.h>
 
Index: gcc/testsuite/g++.old-deja/g++.other/enum4.C
===================================================================
--- gcc/testsuite/g++.old-deja/g++.other/enum4.C	(revision 192459)
+++ gcc/testsuite/g++.old-deja/g++.other/enum4.C	(working copy)
@@ -9,10 +9,10 @@ 
 // enum-size attributes should only be emitted if there are values of
 // enum type that can escape the compilation unit, gcc cannot currently
 // detect this; if this facility is added then this linker option should
-// not be needed.  arm-*-linux*eabi should be a good approximation to
+// not be needed.  arm-*-linux* should be a good approximation to
 // those platforms where the EABI supplement defines enum values to be
 // 32 bits wide.
-// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux* } }
 
 enum E { 
   a = -312
Index: gcc/testsuite/g++.dg/torture/predcom-1.C
===================================================================
--- gcc/testsuite/g++.dg/torture/predcom-1.C	(revision 192459)
+++ gcc/testsuite/g++.dg/torture/predcom-1.C	(working copy)
@@ -1,5 +1,5 @@ 
 /* Test for ICE in predictive commoning with empty loop header block
-   on arm-none-linux-gnueabi.  */
+   on arm-none-linux-*.  */
 
 struct Foo
 {
Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp	(revision 192459)
+++ gcc/testsuite/lib/target-supports.exp	(working copy)
@@ -3924,7 +3924,7 @@ 
 		}
 	    } ""
 	}]
-    } elseif { [istarget arm*-*-linux-gnueabi] } {
+    } elseif { [istarget arm*-*-linux-*] } {
 	return [check_runtime sync_longlong_runtime {
 	    #include <stdlib.h>
 	    int main ()
@@ -3968,7 +3968,7 @@ 
 	     || [istarget i?86-*-*]
 	     || [istarget x86_64-*-*]
 	     || [istarget alpha*-*-*] 
-	     || [istarget arm*-*-linux-gnueabi] 
+	     || [istarget arm*-*-linux-*] 
 	     || [istarget bfin*-*linux*]
 	     || [istarget hppa*-*linux*]
 	     || [istarget s390*-*-*] 
@@ -3999,7 +3999,7 @@ 
 	     || [istarget i?86-*-*]
 	     || [istarget x86_64-*-*]
 	     || [istarget alpha*-*-*] 
-	     || [istarget arm*-*-linux-gnueabi] 
+	     || [istarget arm*-*-linux-*] 
 	     || [istarget hppa*-*linux*]
 	     || [istarget s390*-*-*] 
 	     || [istarget powerpc*-*-*]
Index: gcc/doc/install.texi
===================================================================
--- gcc/doc/install.texi	(revision 192459)
+++ gcc/doc/install.texi	(working copy)
@@ -3151,7 +3151,7 @@ 
 @heading @anchor{arm-x-eabi}arm-*-eabi
 ARM-family processors.  Subtargets that use the ELF object format
 require GNU binutils 2.13 or newer.  Such subtargets include:
-@code{arm-*-netbsdelf}, @code{arm-*-*linux-gnueabi}
+@code{arm-*-netbsdelf}, @code{arm-*-*linux-*}
 and @code{arm-*-rtemseabi}.
 
 @html
Index: gcc/ada/gcc-interface/Makefile.in
===================================================================
--- gcc/ada/gcc-interface/Makefile.in	(revision 192459)
+++ gcc/ada/gcc-interface/Makefile.in	(working copy)
@@ -1850,7 +1850,7 @@ 
   LIBRARY_VERSION := $(LIB_VERSION)
 endif
 
-ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word 4,$(targ)))),)
+ifeq ($(strip $(filter-out arm%-linux,$(arch)-$(osys)) $(if $(findstring eabi,$(word 4,$(targ))),,$(word 4,$(targ)))),)
   LIBGNAT_TARGET_PAIRS = \
   a-intnam.ads<a-intnam-linux.ads \
   s-inmaop.adb<s-inmaop-posix.adb \
Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc	(revision 192459)
+++ gcc/config.gcc	(working copy)
@@ -829,7 +829,7 @@ 
 	extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
 	tmake_file="${tmake_file} arm/t-arm"
 	;;
-arm*-*-linux-*eabi*)			# ARM GNU/Linux with ELF
+arm*-*-linux-*)			# ARM GNU/Linux with ELF
 	tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
 	case $target in
 	arm*b-*-linux*)
Index: libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
===================================================================
--- libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc	(revision 192459)
+++ libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc	(working copy)
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++0x -funsigned-char -fshort-enums" }
-// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux-* } }
 
 // 2007-05-03  Benjamin Kosnik  <bkoz@redhat.com>
 //
Index: libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
===================================================================
--- libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc	(revision 192459)
+++ libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc	(working copy)
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++0x -funsigned-char -fshort-enums" }
-// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux-* } }
 
 // 2007-05-03  Benjamin Kosnik  <bkoz@redhat.com>
 //
Index: libstdc++-v3/configure.host
===================================================================
--- libstdc++-v3/configure.host	(revision 192459)
+++ libstdc++-v3/configure.host	(working copy)
@@ -348,7 +348,7 @@ 
         fi
     esac
     case "${host}" in
-      arm*-*-linux-*eabi)
+      arm*-*-linux-*)
 	port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver"
 	;;
     esac