aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-security/libseccomp/files/fix-mips-build-failure.patch
blob: 7d17a038afbb67017f9b90549a136947e4b886c2 (plain)
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
Backport patch to fix cross compile error for mips:

| syscalls.h:44:6: error: expected identifier or '(' before numeric constant
|    44 |  int mips;
|       |      ^~~~

Upstream-Status: Submitted [https://github.com/seccomp/libseccomp/pull/279/commits/04c519e5]

Signed-off-by: Kai Kang <kai.kang@windriver.com>

From 04c519e5b1de53592e98307813e5c6db7418f91b Mon Sep 17 00:00:00 2001
From: Paul Moore <paul@paul-moore.com>
Date: Sun, 2 Aug 2020 09:57:39 -0400
Subject: [PATCH] build: undefine "mips" to prevent build problems for MIPS
 targets

It turns out that the MIPS GCC compiler defines a "mips" cpp macro
which was resulting in build failures on MIPS so we need to
undefine the "mips" macro during build.  As this should be safe
to do in all architectures, just add it to the compiler flags by
default.

This was reported in the following GH issue:
* https://github.com/seccomp/libseccomp/issues/274

Reported-by: Rongwei Zhang <pudh4418@gmail.com>
Suggested-by: Rongwei Zhang <pudh4418@gmail.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
---
 configure.ac | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 40d9dcbb..3e877348 100644
--- a/configure.ac
+++ b/configure.ac
@@ -65,9 +65,11 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 dnl ####
 dnl build flags
+dnl NOTE: the '-Umips' is here because MIPS GCC compilers "helpfully" define it
+dnl       for us which wreaks havoc on the build
 dnl ####
 AM_CPPFLAGS="-I\${top_srcdir}/include -I\${top_builddir}/include"
-AM_CFLAGS="-Wall"
+AM_CFLAGS="-Wall -Umips"
 AM_LDFLAGS="-Wl,-z -Wl,relro"
 AC_SUBST([AM_CPPFLAGS])
 AC_SUBST([AM_CFLAGS])