tg
b67de6ba17
add experimental code to use sigprocmask+pause+sigprocmask ipv sigsuspend (and harden j_sigchld handler for that) to improve working on BeOS 5.0 and Coherent UNIX, found by RT
2012-04-27 16:16:23 +00:00
tg
5204e7cc4f
after discussion with ciruZ, switch mksh from NZAT to NZAAT fully
...
to get rid of the bias introduced by making the hash never zero
… he also pointed out a memory (heap) usage optimisation… which
may impact code size a bit though as I’d need to pass an additional
argument on hashtable function calls… or, forgo the benefit of not
having to pointer-align the key in the structure, which can be as
much as 3/7 octets per item, heap storage… OTOH the saved space is
4/8 octets per not-allocated item, possibly some code (use of an
multiply-add opcode), but the function call overhead/cost would
possibly be quite a bit… I guess I’ll have to measure…
2012-04-22 21:50:35 +00:00
tg
48da83288d
work around segfault bug in GNU sed 2.03, spotted by RT on Debian 0.91
2012-04-16 17:49:40 +00:00
tg
ea6b0c60f5
write a bit about pcc, 386BSD, klibc
2012-04-14 19:35:43 +00:00
tg
5eea59ad57
rewrite maketemp() obsoleting tempnam(3) and mkstemp(3) external deps
2012-04-14 16:07:48 +00:00
tg
70e6988d25
factor out rndget() code, for adding users
...
XXX in the future, the entire scheme must be rethinked when we need more
XXX entropy for the hash tables; possibly a cheap add using NZAT and re-
XXX initialise the LCG only on access and when added (so keep NZAT state
XXX separate from LCG state); also, then we will need a more elaborate
XXX scheme, such as adding from environment, editor keypresses and timing
2012-04-14 14:35:13 +00:00
tg
b497da1eb4
add 386BSD, thanks to the unbelievable RT
2012-04-14 14:11:07 +00:00
tg
b49abfac18
genericise MKSH_NO_SIGSETJMP
2012-04-14 14:07:47 +00:00
tg
0e0b379615
sometimes <stdlib.h> doesn’t provide NULL but <stddef.h> does (386BSD)
2012-04-14 14:04:13 +00:00
tg
29e4269f33
if the OS does not provide sig_atomic_t and/or ssize_t, you can now define
...
MKSH_TYPEDEF_SIG_ATOMIC_T and MKSH_TYPEDEF_SSIZE_T via CPPFLAGS to the
*correct* definitions (it’s absolutely critical they be correct!)
2012-04-14 14:02:40 +00:00
tg
d388de51f9
update to latest portmdoc; apply the Lt/Gt/Ba rule again
2012-04-14 12:51:34 +00:00
tg
536bc0463f
make -fwrapv common; at least clang also can do it
2012-04-08 20:02:33 +00:00
tg
5b4d0dbbc5
drop all deprecated code, you have been warned
2012-04-07 11:19:53 +00:00
tg
2d879f3b79
move unexpected TELIF warning into #ifdef DEBUG as it never triggered
2012-04-07 11:19:30 +00:00
tg
0af5e1f288
can’t forget LynxOS, although it’s still preliminary…
2012-04-06 23:10:50 +00:00
tg
5d4492608a
more speling
2012-04-06 15:23:11 +00:00
tg
3d3081115b
if LDSTATIC is not empty (i.e. "-static" or " "), always add “our” sources:
...
• strlcpy
• utf_wcwidth
note strchr/strstr from misc.c are still #ifdef DEBUG only, as they are
not eligible: they’re for const-cleanliness debugging purposes
XXX get rid of multiple occurrences of binary search code, too…
2012-04-06 15:20:42 +00:00
tg
8ac32ba793
fix some comments
2012-04-06 15:06:42 +00:00
tg
ab1ba32d0b
bring back $LDSTATIC support
2012-04-06 15:03:42 +00:00
tg
a4eb9795de
fix indentation mishap
2012-04-06 14:07:52 +00:00
tg
981ad02dbe
drop str{,n}casecmp, too
2012-04-06 13:29:01 +00:00
tg
30949fe090
use a reverse test for sys_siglist_decl – this one works on Dell UNIX
2012-04-06 13:25:51 +00:00
tg
4a89ae1cd0
drop the need for strcasestr: just uppercase a copy and compare with uppercased
2012-04-06 12:59:28 +00:00
tg
5e12953cfe
bring back -DMKSH_UNEMPLOYED default on BeOS as it’s less usable otherwise
2012-04-06 12:57:53 +00:00
tg
0c3f231d37
rewrite stateptr-underflow check to be perl-less
2012-04-06 12:30:40 +00:00
tg
179088fcc8
omit glob-bad-2 test on Dell UNIX 4.0 R2.2 (SVR4), too
2012-04-06 12:27:15 +00:00
tg
ff0d8cd3e9
rewrite the EINTR importing code with help of stsc from #nosec on IRC,
...
and add a semicolon to the end of the BEGIN block (RT says it fixes LynxOS)
2012-04-06 12:22:14 +00:00
tg
6faa68ff8b
LynxOS defines PRINT somewhere, undef it
2012-04-06 11:51:43 +00:00
tg
6ca4228e7c
disabling jobs just when there is no ctty isn’t needed, at least for BeOS
...
XXX recheck this with all the others, e.g. NeXTstep
2012-04-01 17:48:24 +00:00
tg
3b2d9322ec
change signal probing order: prefer e.g. SEGV over BUS when same Nr. (BeOS)
2012-04-01 17:17:45 +00:00
tg
c30bf73a56
BeOS has no tty nor uid/gid other than 0, a̲n̲d̲ a broken /bin/sh
2012-04-01 16:55:16 +00:00
tg
412a96d29a
speed up Generating list of signal names (XXX can we wrap this into one compile, anyway?)
2012-04-01 16:40:26 +00:00
tg
607a2af260
found the actual reason… cc -E does syntax check and wrap with whitespace ☹
...
also we can only do NeXTstep 3.3 with -posix, but not 3rdpty egcs or OS 4.2
2012-04-01 04:57:24 +00:00
tg
820b6e905c
make even Errno.pm optional
2012-04-01 04:03:08 +00:00
tg
dd5fbe82f3
hide persistent history stuff if not enabled
2012-04-01 03:23:08 +00:00
tg
a3fd4f62e6
• move behavioural changes topmost (locale, zsh emulate sh, solaris xpg)
...
• attempt to handle cpp on nextstep by using -save-temps
• work around another nextstep bug that may or may not hit us, found by RT:
‣ http://lists.gnu.org/archive/html/autoconf/2003-11/msg00094.html
• hide "dirname: command not found", scary even if it might help debugging
2012-04-01 02:35:33 +00:00
tg
2a833165a0
add xep bounds check in x_goto, maybe this will fix the problem the Motorola guys are havink
2012-03-31 19:52:34 +00:00
tg
bb1c1e7dba
a few more int → bool
2012-03-31 19:20:12 +00:00
tg
3c4d2602ac
use Errno, not POSIX, to get EINTR; maybe this is more portable
2012-03-31 18:47:20 +00:00
tg
16732f7e0f
add NeXTstep, OpenStep notes
2012-03-31 18:33:16 +00:00
tg
0019c23f4c
write appropriate shell replacements for id(1) as well
2012-03-31 18:28:11 +00:00
tg
2e772dbf27
write appropriate shell replacements for printf(1) as well
2012-03-31 18:26:53 +00:00
tg
e2a258c527
let regression testsuite pass without existence of /usr/bin/env, env(1)
...
by writing appropriate shell replacements
2012-03-31 18:18:41 +00:00
tg
9646c98356
I give up on writing (1 << 31) in any form.
...
Now we just use 0x80000000UL and cast that to mksh_uari_t and,
if required, that to mksh_ari_t afterwards.
2012-03-31 17:52:33 +00:00
tg
ac18ec3752
one more case of cpp(1) wanting C syntax on NeXTstep
2012-03-31 17:42:58 +00:00
tg
307224f143
Use “proper C code” for determining the compiler type even though we use
...
only cpp for this: NeXTstep things otherwise:
] conftest.c:42: illegal external declaration, missing ;' after `gcc'
| NeXT Computer, Inc. version cc-437.2.6, gcc version 2.5.8
| NeXT DevKit-based CPP 3.1
| GNU Objective-C version 2.5.8 (80386, BSD syntax) compiled by GNU C version 2.5.8.
2012-03-31 17:37:03 +00:00
tg
e67b98e21b
use _setjmp/_longjmp on NeXTstep: its Intel port always restores the signal mask on siglongjmp, which we never have
2012-03-31 17:30:00 +00:00
tg
86c4ea4619
add (#ifdef DEBUG) an assertion that xcp <= xep before doing an Emacs mode
...
command; DONG-DONG YANG reports they hit this condition
2012-03-31 17:29:04 +00:00
tg
b82db8764c
only pull entropy from glibc pointer guard if glibc is actually there
2012-03-31 17:08:52 +00:00
tg
4e8c5c078d
RT suggests to drop sys_siglist and _sys_siglist on *all* SCO products, for now, and whitelist those that do need it (no strsignal)
2012-03-30 10:24:45 +00:00