about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-12-10 18:50:07 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-12-10 18:50:07 +0000
commitc153ac9f1b6302a6e778f1480ca5ff593be245c5 (patch)
tree0b7e6e9785f955b4a43f21b732885967a1fa72af
parent2b89bce91e3c7c6113c3d8d3a52f87cafeafdfbf (diff)
downloadglibc-c153ac9f1b6302a6e778f1480ca5ff593be245c5.tar.gz
glibc-c153ac9f1b6302a6e778f1480ca5ff593be245c5.tar.xz
glibc-c153ac9f1b6302a6e778f1480ca5ff593be245c5.zip
Fix MIPS waitid build.
As previously discussed in
<https://sourceware.org/ml/libc-alpha/2012-11/msg00798.html>, MIPS (o32)
waitid has build warnings (now errors) because a function is declared
inline but functions with five-argument syscalls cannot be inlined for
MIPS o32.

This patch disables the -Winline warnings for waitid.c using a
MIPS-specific wrapper file.  As it's whole-file disabling, there's no
point in using push and pop, so just DIAG_IGNORE_NEEDS_COMMENT is
used.

	* sysdeps/unix/sysv/linux/mips/mips32/waitid.c: New file.
-rw-r--r--ChangeLog2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/waitid.c7
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index a99abbccb5..0e060b3bd5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2014-12-10  Joseph Myers  <joseph@codesourcery.com>
 
+	* sysdeps/unix/sysv/linux/mips/mips32/waitid.c: New file.
+
 	* sysdeps/unix/sysv/linux/mips/mips64/Makefile
 	[$(subdir) == signal] (CFLAGS-sigaction.c): New variable.
 	[$(subdir) == nptl] (CFLAGS-sigaction.c): Likewise.
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/waitid.c b/sysdeps/unix/sysv/linux/mips/mips32/waitid.c
new file mode 100644
index 0000000000..c18a57c0ec
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/mips32/waitid.c
@@ -0,0 +1,7 @@
+#include <libc-internal.h>
+
+/* MIPS forces a frame pointer for five-argument syscalls using
+   alloca, so resulting in "inlining failed in call to 'do_waitid':
+   function not inlinable".  */
+DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Winline");
+#include <sysdeps/unix/sysv/linux/waitid.c>