ARM: Suppress ABI warnings

Andrew Haley aph@redhat.com
Thu Aug 6 10:54:00 GMT 2009


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@redhat.com>

	* 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]
   }




More information about the Java-patches mailing list