Skip to content

Patch Upstream Report: Solaris

Johnothan King edited this page Jul 31, 2022 · 13 revisions

Here are the patches from Solaris and what 93u+m has done with them.

005-compiler.patch
APPLIED/CHANGED in 4e67234a, 68a6f9a6, 580ff616
Note: as of 580ff616 it is no longer needed to pass the -D_XPG6 compiler flag as _XPG6 is defined automatically in the headers via src/lib/libast/features/common. This also works when compiling with gcc.

010-path_utmp.patch
NOT APPLICABLE (file not part of 93u+m; we do not maintain the extra AST utilities)

015-solaris_alias.patch
NOT APPLIED; Solaris-specific support for /usr/bin/alias

020-CR6919590.patch
APPLIED in 74b41621

035-CR7036535.patch
APPLIED in d40d998e

040-CRXXX_Error_Catalog.patch
NOT APPLICABLE (file not part of 93u+m; we do not maintain the extra AST utilities)

045-CR7025778.patch
APPLIED in 4c75920b

050-CR7065478.patch
APPLIED in e03c010c

055-CR7026179.patch
APPLIED in c69bf543

060-CR7065900.patch
NOT APPLIED; Solaris-specific configuration change (removes sleep builtin).

065-CR7110983.patch
APPLIED in e20db012

075-multi_lang_arith.patch
APPLIED in 54c4e942

080-CR7057565.patch
NOT APPLIED; this enables SHOPT_P_SUID, which looks like a Solaris-specific default configuration change.

100-CR6964621.patch
NOT APPLIED; tagged as Solaris-specific. Does not currently apply cleanly due to code changes/cleanups. Also, this introduces so many file descriptor validations that I’d be concerned about a possible performance regression. 93u+m has fixed several related bugs with patches from Red Hat, et al. Please check if any of the Solaris bug(s) associated with this patch are still reproducible. (See also 120-CR7089799.patch)

105-CR7032068.patch
APPLIED in 096f46ee, REVERTED in 8c2d8e5f because it causes a crash and/or a regression.

110-CR7061011.patch
APPLIED in 3f150672

115-CR6934836.patch
APPLIED in bae02c39

120-CR7089799.patch
NOT APPLIED; see 100-CR6964621.patch (this appears to be a continuation of that).

125-CR6917338.patch
APPLIED in a8f6d6b8

130-CR7019368.patch
APPLIED in 744e68e7

135-CR6729252.patch
APPLIED in ba4989d9

140-MAP_TYPE_64_Bits.patch
APPLIED in 37637ab6

150-CR7168611.patch
APPLIED in aa7713c2, 8e8ff5f6

160-CR7175995.patch
APPLIED in aa7713c2

165-CR7186440_ksh93_disable_predictive_editing.patch
APPLIED in 9530f09b. Discussion: #233

180-Bug15808407.patch
Not applicable; obsoleted by 3654ee73 and 2fdf394b

185-Bug17714341.patch
APPLIED in 5d7e00a1

190-17432413.patch
APPLIED in 8c16f38a

195-17824699.patch
APPLIED in 1de20d65

200-17435456.patch
FIXED in 86fc4c6d (code changed; patch not applicable)

205-17851169.patch
NOT APPLIED; I don’t think this is applicable to 93u+m. Please check whether the bug associated with this patch can still be reproduced in 93u+m (presumably that’s 17851169 as per the patch file name).

210-Bug15993811.patch
APPLIED in ad9ea0ba

211-21547336.patch
APPLIED in a3ccff6c

215-17777549.patch
APPLIED in 88e8fa67 (replacing Red Hat version in ff358f34)

220-17699248.patch
APPLIED in 02a14ff9

225-17817727.patch
NOT APPLIED. This changes the overflow behaviour of bitwise left-shift and right-shift operators in a way that is inconsistent with all other shells (mksh, bash, dash, yash, zsh). They all wrap around and so does ksh93 before this patch; with the patch, any shift overflow (e.g. $((1<<128)), $((1<<129)), etc.) yields zero. Before I apply this I need to see a concrete and convincing reason why the old behaviour is a problem and the new behaviour is better.

230-18229654.patch
NOT APPLIED. Causes the ‘alarm’ builtin regression test in builtins.sh to hang on FreeBSD. Please check whether the relevant Solaris bug is still reproducible on 93u+m on Solaris; the fix applied in 18b3f4aa might have rendered this patch redundant.

235-19907453.patch
APPLIED in 66c955bc (Red Hat patch, which is identical)

240-22461939.patch
22461939 ksh93 20120801 version core dumps with Asian characters input
APPLIED in 3f38f8a2

245-22550551.patch
22550551 ksh dumps core in tc_ibtools testsuite run during OFUV testing
NOT APPLIED. Causes regression with obtaining the exit status from a background job:

$ bin/shtests -p subshell
	subshell.sh[533]: exit status from subshells not being preserved (expected 12, got 127)

Before I try to fix that, please check whether bug 22550551 is still reproducible on current 93u+m code.

250-22561374.patch
22561374 export in a subshell visible in another subshell
FIXED differently in e1c41bb2 and preceding commits.
Regression test added from reproducer in https://github.com/att/ast/issues/7

255-22964126.patch
22964126 ksh93 memory leak:unset is not properly freeing members of an associative array
APPLIED in e70925ce

260-22964338.patch
22964338 ksh93 appears to send SIGHUP to unrelated processes on occasion
APPLIED/CHANGED in 62cf88d0, 6d3796c0

265-22964358.patch
22964358 ksh93: -u option does not treat unset parameter as an error
APPLIED in 36da314c (from different source)

270-23319761.patch
23319761 cd going dotty by removing leading periods in dir names
APPLIED in bb4745e8

275-20855453.patch
20855453 ksh93 echo displaying wrong variable value due to missing EIO handling
APPLIED in 7c47ab56

280-23332860.patch
23332860 ksh93 stdout being redirected to file on exit
APPLIED in 17ebfbf6
SUPERSEDED in 88aa369e

281-15811478.patch
15811478 ksh93 RUNPATH and RPATH seem to be set to $ORIGIN/../lib
NOT APPLIED (Solaris-specific compile patch).

285-30771135.patch
30771135 Reworked fix for 27346819 - Unable to hold the return value of a function in ksh93
APPLIED in ab98ec65

286-30889561.patch
30889561 problem in UTILITY/KSH93
FIXED by a Red Hat patch in 593a5a8b

300-30943573.patch
30943573 some ksh93 integer operations return floating point numbers
NOT APPLIED. Seems Solaris-specific at first glance. Is there a reason why this should be upstreamed? Is a reproducer available for the bug that this fixes?

310-mamake-chunksize.patch
31123523 Workaround mamake crash during the build of ksh93.
APPLIED in 81f3a629

315-26773587.patch
26773587 interactive ksh exec failure in while read loop
APPLIED in 7d2bb8fd

320-24743179.patch
24743179 ksh93u+ printf missing trailing quotes in multibyte locales
Not applicable; already fixed in 300cd199. See: https://github.com/ksh93/ksh/issues/5

325-30910531.patch
30910531 Shell behavior issues while using wild card characters
Not applicable; 93u+m is the upstream for this one (thanks for the credit)

330-30841535.patch
30841535 /usr/bin/test coredumping in Solaris 11.4
Not applicable and tagged as Solaris-specific.

335-31073357.patch
31073357 ksh93 returns wrong exit code for errors
Not applicable; 93u+m is the upstream for this one (thanks for the credit). Note that this does not fix what the comment claims it does; commands failed to run at all due to a job control-related race condition that this patch avoids.

Clone this wiki locally