]> code.ossystems Code Review - openembedded-core.git/commitdiff
xserver-xorg: Fix build with gcc-5
authorKhem Raj <raj.khem@gmail.com>
Fri, 24 Apr 2015 03:35:21 +0000 (20:35 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 27 Apr 2015 13:57:44 +0000 (14:57 +0100)
Backport a patch from fedora details are in patch header

Change-Id: I6b8dfaae3b751071bf8b0d88b15a4f95c19877f6
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-sdksyms.sh-Make-sdksyms.sh-work-with-gcc5.patch [new file with mode: 0644]
meta/recipes-graphics/xorg-xserver/xserver-xorg_1.16.3.bb

diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-sdksyms.sh-Make-sdksyms.sh-work-with-gcc5.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-sdksyms.sh-Make-sdksyms.sh-work-with-gcc5.patch
new file mode 100644 (file)
index 0000000..215c044
--- /dev/null
@@ -0,0 +1,50 @@
+Upstream-Status: Pending
+
+From 612eb45a2e7a0b35cc3790870e6d0cc42eb50c74 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Wed, 11 Feb 2015 16:26:40 +0100
+Subject: [PATCH] sdksyms.sh: Make sdksyms.sh work with gcc5.
+
+gcc5's cpp inserts patterns like this:
+
+extern
+      __attribute__((visibility("default")))
+                int WaitForSomething(int *
+    );
+
+This patch make sdksyms.sh work with this. Note my awk skills are weak, so
+there likely is a better way to deal with this.
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ hw/xfree86/sdksyms.sh | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+Index: xorg-server-1.16.3/hw/xfree86/sdksyms.sh
+===================================================================
+--- xorg-server-1.16.3.orig/hw/xfree86/sdksyms.sh
++++ xorg-server-1.16.3/hw/xfree86/sdksyms.sh
+@@ -353,6 +353,23 @@ BEGIN {
+     if (sdk) {
+       n = 3;
++      # detect the following gcc5 cpp pattern and skip it:
++      # extern
++      # # 320 "../../include/os.h" 3 4
++      #     __attribute__((visibility("default")))
++      # # 320 "../../include/os.h"
++      # Note in this case the "extern " or "extern void " always has
++      # a trailing space
++      if ($0 ~ "^extern.* $") {
++          getline;
++          getline;
++          getline;
++          getline;
++          n = 1;
++          while ($n == " ")
++              n++;
++      }
++
+       # skip attribute, if any
+       while ($n ~ /^(__attribute__|__global)/ ||
+           # skip modifiers, if any
index 7eeadd145da9f12176247ab8e2c6c7600cec7a09..780ece0a33f1778fd90937d4727620916d24d31e 100644 (file)
@@ -9,6 +9,7 @@ SRC_URI += "file://fix_open_max_preprocessor_error.patch \
             file://0001-xkb-Don-t-swap-XkbSetGeometry-data-in-the-input-buff.patch \
             file://0001-xkb-Check-strings-length-against-request-size.patch \
             file://0001-use-__GLIBC__-guard-for-glibc-specific-code.patch \
+           file://0001-sdksyms.sh-Make-sdksyms.sh-work-with-gcc5.patch \
            "
 
 SRC_URI[md5sum] = "afd93977235584a9caa7528a737c1b52"