1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Restore Solaris build after introducing 'noreturn' (re: c4f980eb)

The build started failing on Solaris Studio cc when 'noreturn' was
introduced, because the wrappers pass the -xc99 flag which sets the
compiler to C99 mode. 'noreturn' is a C11 feature. The
stdnoreturn.h header was correctly included but the compiler still
threw a syntax error (long path abbreviated below):

".../stk.c", line 124: warning: _Noreturn is a keyword in ISO C11
".../stk.c", line 124: warning: old-style declaration or incorrect
						type for: _Noreturn
".../stk.c", line 124: syntax error before or at: static

src/cmd/INIT/cc.sol11.*:
- Pass -std=c11 to cc instead of -xc99. At least on i386-64, this
  is sufficient to fix the build.

README.md, src/cmd/ksh93/README.md:
- Remove -xc99 from the Solaris build flags example as that is
  incompatible with -std=c11 (and was already redundant with the
  -xc99 in the wrappers).

src/cmd/ksh93/tests/basic.sh:
- Don't run a newly backported 93v- regression test on Solaris
  because it uses the 'join' command with process subsitutions;
  Solaris 11.4's join(1) hangs when trying to read from /dev/fd.
  This is not ksh's fault. (re: 59bacfd4)
This commit is contained in:
Martijn Dekker 2021-05-12 04:39:44 +02:00
parent bf76268d24
commit ac56614a95
7 changed files with 13 additions and 10 deletions

View file

@ -161,7 +161,7 @@ way to keep them consistent between build and test commands. Note that this
system uses CCFLAGS instead of the usual CFLAGS. An example that makes
Solaris Studio cc produce a 64-bit binary:
export CCFLAGS="-xc99 -m64 -O" LDFLAGS="-m64"
export CCFLAGS="-m64 -O" LDFLAGS="-m64"
bin/package make
Alternatively you can append these to the command, and they will only be