/usr/src/gcc-4.4/debian/patches/pr42748.diff is in gcc-4.4-source 4.4.7-1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | # DP: Fix PR c++/42748, do not warn about changes to mangling of va_list
# DP: in system headers.
gcc/
2010-01-24 Mark Mitchell <mark@codesourcery.com>
PR c++/42748
* config/arm/arm.c (arm_mangle_type): Do not warn about changes to
mangling of va_list in system headers.
gcc/testsuite/
2010-01-24 Mark Mitchell <mark@codesourcery.com>
PR c++/42748
* g++.dg/abi/arm_va_list2.C: New test.
* g++.dg/abi/arm_va_list2.h: Companion header file.
Index: gcc/testsuite/g++.dg/abi/arm_va_list2.C
===================================================================
--- a/src/gcc/testsuite/g++.dg/abi/arm_va_list2.C (revision 0)
+++ b/src/gcc/testsuite/g++.dg/abi/arm_va_list2.C (revision 156202)
@@ -0,0 +1,7 @@
+// { dg-do compile }
+// { dg-options "-Wpsabi" }
+// { dg-require-effective-target arm_eabi }
+
+#include <stdarg.h>
+#include "arm_va_list2.h"
+
Index: gcc/testsuite/g++.dg/abi/arm_va_list2.h
===================================================================
--- a/src/gcc/testsuite/g++.dg/abi/arm_va_list2.h (revision 0)
+++ b/src/gcc/testsuite/g++.dg/abi/arm_va_list2.h (revision 156202)
@@ -0,0 +1,4 @@
+// The mangling of va_list changed in GCC 4.4. We want to warn about
+// that -- but not in a system header.
+#pragma GCC system_header
+void f(va_list) {}
Index: gcc/config/arm/arm.c
===================================================================
--- a/src/gcc/config/arm/arm.c (revision 156201)
+++ b/src/gcc/config/arm/arm.c (revision 156202)
@@ -21372,7 +21372,7 @@
&& lang_hooks.types_compatible_p (CONST_CAST_TREE (type), va_list_type))
{
static bool warned;
- if (!warned && warn_psabi)
+ if (!warned && warn_psabi && !in_system_header)
{
warned = true;
inform (input_location,
|