add kludge to sdksyms.sh to fix build on NetBSD-current w/ GCC 5

This commit is contained in:
tnn 2016-04-10 07:35:19 +00:00
parent cbfa7399e2
commit ba5ed65f3d
2 changed files with 29 additions and 1 deletions

View file

@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.73 2016/03/12 08:50:50 wiz Exp $
$NetBSD: distinfo,v 1.74 2016/04/10 07:35:19 tnn Exp $
SHA1 (xorg-server-1.18.2.tar.bz2) = d0c5e4f6bba68ad58e74be69c520887695adb132
RMD160 (xorg-server-1.18.2.tar.bz2) = d4fa0ebd46568e44043d0c696e6c84087f474f3f
@ -14,6 +14,7 @@ SHA1 (patch-hw_xfree86_os-support_bsd_i386__video.c) = f2c72562a40c0e3109991453a
SHA1 (patch-hw_xfree86_os-support_bus_Sbus.c) = 74ddd0ce09b8d4426accca5a1a1d25bc6cea6524
SHA1 (patch-hw_xfree86_os-support_xf86_OSproc.h) = e1c049857893d2f050d5fb297a3e8ef86f0b1d7e
SHA1 (patch-hw_xfree86_os_support_bus_xf86Sbus.h) = 0e0a243b737f8f762c9f8f24a2265d1b6aefb544
SHA1 (patch-hw_xfree86_sdksyms.sh) = c403149ad35ffb70ee44f70de94b4497b751c118
SHA1 (patch-os_WaitFor.c) = a76c5ef4e3725f5299fa3f0860183e89c6004a71
SHA1 (patch-os_connection.c) = d6b9bbc1ab34cec6457aa68546105ea5deb6ded6
SHA1 (patch-os_io.c) = 6216e35e780706a8d5aaa60652c9ae7b4ec8e6e6

View file

@ -0,0 +1,27 @@
$NetBSD: patch-hw_xfree86_sdksyms.sh,v 1.1 2016/04/10 07:35:20 tnn Exp $
Kludge sdksyms.c generator to not fail on GetClientPid.
It returns pid_t which on NetBSD is #define pid_t __pid_t
This slightly alters the GCC preprocessor output which this fragile
code could not deal with when using GCC 5+
--- hw/xfree86/sdksyms.sh.orig 2016-03-08 20:22:17.000000000 +0000
+++ hw/xfree86/sdksyms.sh
@@ -357,6 +357,17 @@ BEGIN {
n = 1;
}
}
+ # hack: pid_t becomes __pid_t on NetBSD.
+ # GCC 5 inserts additional lines around this.
+ if ($1 == "__pid_t" && NF == 1) {
+ getline;
+ n++;
+ # skip line numbers GCC 5 adds (after typedef return type?)
+ while ($n == "" || $0 ~ /^# [0-9]+ "/) {
+ getline;
+ n = 1;
+ }
+ }
# type specifier may not be set, as in
# extern _X_EXPORT unsigned name(...)