ARM: Suppress ABI warnings

View: New views
1 Messages — Rating Filter:   Alert me  

ARM: Suppress ABI warnings

by Andrew Haley :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

ARM C++ emits a warning whenever compiling varargs:

"the mangling of %<va_list%> has changed in GCC 4.4"

This causes test failures.

There's nothing you can do with your code to suppress this.
The only way to turn it off seems to be to turn off C++ ABI
warnings altogether.

Andrew.


2009-08-06  Andrew Haley  <aph@...>

        * configure.host (arm*-linux*): Add -Wno-abi to cxxflags.
        (testsuite/libjava.jvmti/jvmti-interp.exp): Likewise.
        (testsuite/libjava.jvmti/jvmti.exp): Likewise.
        (testsuite/libjava.jni/jni.exp): Likewise.

Index: configure.host
===================================================================
--- configure.host (revision 150373)
+++ configure.host (working copy)
@@ -87,6 +87,7 @@
  libgcj_interpreter=yes
  sysdeps_dir=arm
  fallback_backtrace_h=sysdep/arm/backtrace.h
+ libgcj_cxxflags=-Wno-abi
  ;;
   mips-tx39-*|mipstx39-unknown-*)
  libgcj_flags="${libgcj_flags} -G 0"

Index: testsuite/libjava.jvmti/jvmti-interp.exp
===================================================================
--- testsuite/libjava.jvmti/jvmti-interp.exp (revision 150373)
+++ testsuite/libjava.jvmti/jvmti-interp.exp (working copy)
@@ -32,7 +32,12 @@
       set so_extension "so"
       set so_flag "-shared"
   }
-
+
+  # ARM C++ emits an ABI warning for varargs.
+  if { [istarget "arm*"] } {
+      lappend options "additional_flags=-Wno-abi"
+  }
+
   set filename [file tail $file]
   set name [file rootname $filename]
   set soname lib${name}.${so_extension}
Index: testsuite/libjava.jvmti/jvmti.exp
===================================================================
--- testsuite/libjava.jvmti/jvmti.exp (revision 150373)
+++ testsuite/libjava.jvmti/jvmti.exp (working copy)
@@ -16,6 +16,10 @@
   lappend options "additional_flags=-I$srcdir/.."
   # Find jvmti.h, jvmti_md.h, jvmti-int.h, jvm.h requirements
   lappend options "additional_flags=-I$srcdir/../include -I$srcdir/../classpath/include -I$objdir/../include -I$objdir/../../boehm-gc/include "
+  # ARM C++ emits an ABI warning for varargs.
+  if { [istarget "arm*"] } {
+      lappend options "additional_flags=-Wno-abi"
+  }

   set x [libjava_prune_warnings \
    [target_compile $file $oname object $options]]
Index: testsuite/libjava.jni/jni.exp
===================================================================
--- testsuite/libjava.jni/jni.exp (revision 150373)
+++ testsuite/libjava.jni/jni.exp (working copy)
@@ -165,6 +165,11 @@
  lappend cxxflaglist "-lstdc++"
     }

+    # ARM C++ emits an ABI warning for varargs.
+    if { [istarget "arm*"] } {
+ lappend cxxflaglist "-Wno-abi"
+    }
+
     set cxxflags [join $cxxflaglist]
   }