Patchwork libgo patch committed: Define SIGPOLL and SIGCLD if necessary

login
register
mail settings
Submitter Ian Taylor
Date Oct. 24, 2012, 7:01 p.m.
Message ID <mcrobjrofsl.fsf@google.com>
Download mbox | patch
Permalink /patch/193919/
State New
Headers show

Comments

Ian Taylor - Oct. 24, 2012, 7:01 p.m.
This patch to libgo arranges to define SIGPOLL and SIGCLD if necessary,
as SIGIO and SIGCHLD respectively.  This is necessary on GNU/Linux
because SIGPOLL is #define'd as SIGIO before SIGIO is #define'd, and gcc
-fdump-go-spec doesn't understand that.  Bootstrapped and ran Go
testsuite on x86_64-unknown-linux-gnu.  Committed to mainline and 4.7
branch.

Ian

Patch

diff -r 961c515492df libgo/mksysinfo.sh
--- a/libgo/mksysinfo.sh	Tue Oct 23 11:00:44 2012 -0700
+++ b/libgo/mksysinfo.sh	Wed Oct 24 11:57:46 2012 -0700
@@ -225,6 +225,16 @@ 
 grep '^const _SIG[^_]' gen-sysinfo.go | \
   grep -v '^const _SIGEV_' | \
   sed -e 's/^\(const \)_\(SIG[^= ]*\)\(.*\)$/\1\2 = Signal(_\2)/' >> ${OUT}
+if ! grep '^const SIGPOLL ' ${OUT} >/dev/null 2>&1; then
+  if grep '^const SIGIO ' ${OUT} > /dev/null 2>&1; then
+    echo "const SIGPOLL = SIGIO" >> ${OUT}
+  fi
+fi
+if ! grep '^const SIGCLD ' ${OUT} >/dev/null 2>&1; then
+  if grep '^const SIGCHLD ' ${OUT} >/dev/null 2>&1; then
+    echo "const SIGCLD = SIGCHLD" >> ${OUT}
+  fi
+fi
 
 # The syscall numbers.  We force the names to upper case.
 grep '^const _SYS_' gen-sysinfo.go | \