Andreas Schwab <sch...@linux-m68k.org> writes:

> This breaks non-split-stack builds.
>
> ../../../libgo/runtime/stack.c: In function 'doscanstack1':
> ../../../libgo/runtime/stack.c:113:18: error: passing argument 1 of
> 'scanstackblock' makes integer from pointer without a cast
> [-Werror=int-conversion]
>   113 |   scanstackblock(bottom, (uintptr)(top - bottom), gcw);
>       |                  ^~~~~~
>       |                  |
>       |                  byte * {aka unsigned char *}

I see the same on Solaris.  Even with that fixed by appropriate casts to
uintptr (plus a few more times), Solaris bootstrap is still broken by
that patch:

/vol/gcc/src/hg/trunk/local/libgo/runtime/go-varargs.c: In function 
'__go_syscall6':
/vol/gcc/src/hg/trunk/local/libgo/runtime/go-varargs.c:101:10: error: implicit 
declaration of function 'syscall' [-Werror=implicit-function-declaration]
  101 |   return syscall (flag, a1, a2, a3, a4, a5, a6);
      |          ^~~~~~~

This needs to include <sys/syscall.h> for the syscall declaration, apart
from the fundamental problem that syscall isn't a stable interface on
Solaris.

        Rainer

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

Reply via email to