mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
It was working on Solaris 11.3, but there were still problems building on Solaris 11.4 with GCC (as on the evaluation VM downloaded directly from Oracle): 1. ksh immediately segfaulted. Experimenting with the compiler flags Oracle uses revealed that we need to define _XPG6 for ksh not to segfault. Why is a mystery. 2. The default path logic used by 'command -p' and the 'getconf PATH' builtin command was still broken: the result did not include any of the /usr/xpg?/bin directories where the standard POSIX utilities actually live. Testing shows that the result of the C language probe 'confstr(_CS_PATH,name,length)' is broken on Solaris (it only yields the paths to the historic non-standard utilities, defeating the purpose) unless _XPG7 is defined; but the latter makes ksh segfault again. So another solution is needed. src/cmd/INIT/package.sh, bin/package: - Add another hack to add the -D_XPG6 flag to CCFLAGS if we're running SunOS aka Solaris. (I've tried to add a 'cc.sol11' script to src/cmd/INIT/ instead, but for some reason that I just don't have time to figure out, the INIT system ignores that on Solaris with gcc, so this is the only way I could come up with. Any patches for less hacky alternatives would be welcome.) src/lib/libast/comp/conf.sh: - Sanitise the code for finding the best 'getconf' utility. src/lib/libast/comp/conf.tab: PATH: - Since the C-languge getconf(_CS_PATH,...) is broken on Solaris 11.4, replace the C language probe with a shell script probe that uses the external 'getconf' utility. - To avoid ksh overriding the result of this probe with the result of its own getconf(_CS_PATH,...) call, which would make Solaris use the wrong value again, specify this as an AST configuration entry instead of a POSIX entry. This should be good enough for all systems; the OS 'getconf' utility should be reliable and the default path value is constant for each OS, so can be hardcoded. src/cmd/ksh93/tests/builtins.sh: - Add another 'sleep .1' to the 'sleep -s 31' test as it was still intermittently failing on Solaris and possibly other systems. |
||
|---|---|---|
| .. | ||
| alias.sh | ||
| append.sh | ||
| arith.sh | ||
| arrays.sh | ||
| arrays2.sh | ||
| attributes.sh | ||
| basic.sh | ||
| bracket.sh | ||
| builtins.sh | ||
| case.sh | ||
| comvar.sh | ||
| comvario.sh | ||
| coprocess.sh | ||
| cubetype.sh | ||
| enum.sh | ||
| exit.sh | ||
| expand.sh | ||
| functions.sh | ||
| glob.sh | ||
| grep.sh | ||
| heredoc.sh | ||
| io.sh | ||
| leaks.sh | ||
| locale.sh | ||
| math.sh | ||
| nameref.sh | ||
| namespace.sh | ||
| options.sh | ||
| path.sh | ||
| pointtype.sh | ||
| pty.sh | ||
| quoting.sh | ||
| quoting2.sh | ||
| readcsv.sh | ||
| recttype.sh | ||
| restricted.sh | ||
| return.sh | ||
| select.sh | ||
| shtests | ||
| sigchld.sh | ||
| signal.sh | ||
| statics.sh | ||
| subshell.sh | ||
| substring.sh | ||
| tilde.sh | ||
| timetype.sh | ||
| treemove.sh | ||
| types.sh | ||
| variables.sh | ||
| vartree1.sh | ||
| vartree2.sh | ||