------- Comment #1 from dominiq at lps dot ens dot fr  2009-03-01 12:00 -------
The test fails because '[exec file "linkage-x.o"]' returns 'linkage-x.o: Mach-O
64-bit object'. The following patch fixes the problem:

--- ../_gcc_clean/gcc/testsuite/gcc.misc-tests/linkage.exp      2009-02-20
19:23:50.000000000 +0100
+++ gcc/testsuite/gcc.misc-tests/linkage.exp    2009-03-01 12:51:45.000000000
+0100
@@ -83,7 +83,11 @@
             }
         } elseif [istarget "*86*-*-darwin*"] {
           set file_string [exec file "linkage-x.o"]
-          if [ string match "*x86_64" $file_string ] {
+#           send_log "file_string is '$file_string'\n"
+#           send_log "match is '[ string match "*64-bit*" $file_string ]'\n"
+          if [ string match "*64-bit*" $file_string ] {
+               set native_cflags "-m64"
+          } elseif [ string match "*x86_64" $file_string ] {
                set native_cflags "-m64"
           } elseif [ string match "*i386" $file_string ] {
                set native_cflags "-m32"

The two tests for -m64 could probably be merged in one with a match for "*64*":

--- ../_gcc_clean/gcc/testsuite/gcc.misc-tests/linkage.exp      2009-02-20
19:23:50.000000000 +0100
+++ gcc/testsuite/gcc.misc-tests/linkage.exp    2009-03-01 12:57:34.000000000
+0100
@@ -83,7 +83,16 @@
             }
         } elseif [istarget "*86*-*-darwin*"] {
           set file_string [exec file "linkage-x.o"]
-          if [ string match "*x86_64" $file_string ] {
+          if [ string match "*64*" $file_string ] {
                set native_cflags "-m64"
           } elseif [ string match "*i386" $file_string ] {
                set native_cflags "-m32"


-- 

dominiq at lps dot ens dot fr changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |janis at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39325

Reply via email to