Hi Ian,

> I goofed on the shell quoting in mksigtab.sh, causing various
> system-specific signals to be entered incorrectly in the runtime
> signal table.  This patch fixes the problem.  The test for this is
> misc/cgo/testcarchive in the master repo, which
> we don't yet run for gccgo.  Bootstrapped and ran Go testsuite on
> x86_64-pc-linux-gnu.  Committed to mainline.

this broke Solaris bootstrap:

sigtab.go:38:2: error: duplicate value for index 22
  _SIGPOLL:    {_SigNotify, "SIGPOLL: pollable event occurred"},
  ^
/vol/gcc/src/hg/trunk/local/libgo/go/runtime/signal_unix.go:395:3: error: range 
clause must have array, slice, string, map, or channel type
   for i := range sigtable {
   ^
/vol/gcc/src/hg/trunk/local/libgo/go/runtime/signal_unix.go:591:2: error: range 
clause must have array, slice, string, map, or channel type
  for i := range sigtable {
  ^
/vol/gcc/src/hg/trunk/local/libgo/go/runtime/signal_unix.go:395:7: error: 
invalid type for range clause
   for i := range sigtable {
       ^
/vol/gcc/src/hg/trunk/local/libgo/go/runtime/signal_unix.go:591:6: error: 
invalid type for range clause
  for i := range sigtable {
      ^
Makefile:3333: recipe for target 'runtime.lo' failed
make[4]: *** [runtime.lo] Error 1

<sys/iso/signal_iso.h> has

#define SIGPOLL 22      /* pollable event occurred */
#define SIGIO   SIGPOLL /* socket I/O possible (SIGPOLL alias) */

this leads to

const _SIGIO = _SIGPOLL

and similarly

const _SIGLWP = _SIGAIOCANCEL

in gen-sysinfo.go.

Fixed like this, which allows runtime.lo to compile.

        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


diff --git a/libgo/mksigtab.sh b/libgo/mksigtab.sh
--- a/libgo/mksigtab.sh
+++ b/libgo/mksigtab.sh
@@ -56,7 +56,8 @@ echo '	_SIGSYS:    {_SigThrow, "SIGSYS: 
 # Handle signals that are not supported on all systems.
 
 checksig() {
-    if grep "const $1 = " gen-sysinfo.go >/dev/null 2>&1; then
+    if grep "const $1 = " gen-sysinfo.go >/dev/null 2>&1 \
+	&& ! grep "const $1 = _SIG" gen-sysinfo.go > /dev/null 2>&1; then
 	echo "	$1: $2,"
     fi
 }

Reply via email to