Commit Graph

2121 Commits

Author SHA1 Message Date
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
tg
cf75e7b6ce couple of minor/cosmetic fixes from RT’s compile farm:
• promote SCO OpenServer and UnixWare to !oswarn
• omit trying -O2/-O on OpenServer 5 and USL C
• cast mksh_ari_t to int, mksh_uari_t to unsigned int for printf
• skip ulimit-1 on syllable (which is still too broken)
• write ((mksh_ari_t)-2147483648) ipv UB ((mksh_ari_t)1 << 31)
  and add a comment that that is actually meant
• rewrite functions returning !void ending in NOTREACHED
  so they’ve got a jump target returning an error at the
  end, to aid older compilers and just to be safe
• cast struct stat.st_size to off_t or size_t explicitly when needed
• shorten struct env by two bytes and an alignment, at least

also, optimise control flow and fix more paren matching cases
2012-03-29 19:23:01 +00:00
tg
45fa321c23 fail in a clean way even on b0rken compilers 2012-03-28 23:09:24 +00:00
tg
1f6ecff829 make this fail betterly 2012-03-28 23:07:47 +00:00
tg
25745883a9 move USL C detection to after GCC detection, apparently the latter
masquerades as the former on SCO systems
2012-03-28 11:15:04 +00:00
tg
df8881b9c8 fix embarrassing typo (and I thought I had tested them all), 10x RT 2012-03-28 11:14:20 +00:00
tg
914c1d816f drop call to "custom", SCO says to use it to identify system,
but RT says it opens a GUI window, and we obviously cannot have this
2012-03-28 11:13:45 +00:00
tg
c4a4b8b275 I don’t know what those compiler authors were smoking… 2012-03-28 11:05:16 +00:00
tg
6dd03ddfad pass the version to avoid stale Makefile.inc files 2012-03-27 23:13:42 +00:00
tg
ed28f9fd24 unknown OS or compiler? be loud! 2012-03-27 23:01:51 +00:00
tg
16ac73b074 g/c magic definitions for simple chars (as opposed to e.g. tokens/lexems)
some (such as NOT) were already gone; this should unconfuse; most were
unused anyway…
2012-03-27 22:58:39 +00:00
tg
2a47cab08f add a note that mksh_{,u}ari_t are, sadly, not currently configurable 2012-03-27 22:49:47 +00:00
tg
340cd95cf0 #undef flock (LP: #912691) 2012-03-27 22:41:17 +00:00
tg
95a2c63096 • implement fcntl(2)-based advisory locking as an alternative iff flock(2)
is not found, from a suggestion by RT (LP: #912691)
• try harder (in a loop) to acquire a file lock if the locking mechanism
  documents EINTR is a possibility (fcntl always, flock on Linux not .Ox)
• use -std=c99 not -std=gnu99 if it must be at all
2012-03-27 22:36:53 +00:00
tg
e3b9f14d88 You have this ↓ guy a lot to thank for.
00:45 -!- variable [root@freebsd/developer/variable] has joined #!/bin/mksh

• +b *!*root@*, +b $a:root, +b $r:root on one more channel
• certain checks to prevent:
00:47 < variable> wjcw: sh.h:308: error: conflicting types for 'getrusage'
01:19 < variable> oh
01:19 < variable> I needed to run Build.sh
2012-03-27 21:23:52 +00:00
tg
a901abc470 update on SCO OpenServer, SCO UnixWare and USL C, from RT 2012-03-27 21:01:55 +00:00
tg
4f8b7de3a9 Susv3mon says: rlim_t are unsigned 2012-03-26 21:10:44 +00:00
tg
80becae42d I have reason to assume this fixes a Cygwin warning (false-positive) seen by RT 2012-03-26 21:06:34 +00:00
tg
5f450c97bb be more loud in Build.sh to aid me 2012-03-26 20:14:58 +00:00
tg
64afff52c1 winstonw made me discover there is no ELOOP in Plan 9:
http://plan9.bell-labs.com/sources/plan9/sys/include/ape/errno.h
2012-03-26 20:04:05 +00:00
tg
36199d66ab RT confirmed we need this workaround on SCO OpenServer 6.0 2012-03-26 19:54:54 +00:00
tg
258a1fc4c4 BeOS has quite some issues by now, several minor combined, no major 2012-03-26 19:48:06 +00:00
tg
663105d0c2 check both signed and unsigned variants of this 2012-03-26 00:25:52 +00:00
tg
87654270ab fix regression w.r.t. TTY and external programmes:
• release the TTY after the initial change_winsz()
• since we release it, we can skip initialising tty_state, too
2012-03-25 14:28:14 +00:00
tg
5dd5edea1a lewellyn found QNX also doesn’t have a struct timezone ⇒ just DROP it! 2012-03-24 22:11:41 +00:00
tg
1f96d87aea • MFC almost everything not breaking backwards compatibility or introducing
deep changes into R40-stable branch
• Version accordingly: HEAD gets 2012/03/24 (hi Eddy/Chris) so we backdate
  $KSH_VERSION for R40-stable to 2012/03/20 (hi David) as that comes before
  even though it includes today’s latest fixes
• Also, sync clog (including MFC indicators)
2012-03-24 21:22:25 +00:00
tg
f9d644e243 be really loud when doing unwise things that WILL break in R41 2012-03-24 19:13:27 +00:00
tg
e83e43aaa5 block things like SIGWINCH¹ during builtin sleep, they get rescheduled
on unblock just fine and hurt since they interrupt select(2)

① and² SIGPIPE, SIGINFO, SIGUSR{1,2} in addition to already blocked SIGCHLD
② exact list open for suggestions – I’ve got no idea what I’m doing…
2012-03-24 18:47:04 +00:00