Commit Graph

2298 Commits

Author SHA1 Message Date
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
tg 9cac4c92f6 RT wants to make the awk used configurable, apparently OpenStep 4.2 has a broken default one 2012-03-30 09:27:19 +00:00