Commit Graph

957 Commits

Author SHA1 Message Date
tg 9f61aea3de fix mmap args and retval (cosmetic) 2007-07-01 17:13:52 +00:00
tg f84505395a some vendors' cc(1) doesn't support -E from stdin like cpp(1) 2007-07-01 16:57:00 +00:00
tg 572119b454 some <getopt.h> from vendors define a “struct option”, so use a
different name for ours
2007-07-01 16:49:18 +00:00
tg 69f7683156 • enable UWIN as operating environment
• cover for differences in UWIN's and Interix' cc(1) wrapper
• AT&T tr(1) is defective, just skip + and - chars
2007-07-01 16:47:05 +00:00
tg cf6137238c • fix AIX variant of large files
• use DOWARN semantically correct
• support the Microsoft® C Compiler
• on Interix, disable msc's security checks, as it relies on
  library functions not provided by Interix' libc (XXX mirtoconf this)
2007-07-01 15:45:58 +00:00
tg 7815b5f86e fix struct packing – Microsoft® C warned about 2x2 bytes of padding here 2007-07-01 15:39:22 +00:00
tg cf29aa83c5 oops (quoting) 2007-06-30 22:02:50 +00:00
tg b97fd7f401 optimise, fix quoting, modularise even more 2007-06-30 21:34:23 +00:00
tg 126eb43ab3 improve wording and remove a dead check 2007-06-30 21:01:42 +00:00
tg 1336e9f1bb modularise, optimise, upgrade coding style(9), display nicer 2007-06-30 20:57:55 +00:00
tg 0cc45784ca nuke $tcbo (unused) 2007-06-30 20:04:23 +00:00
tg 360c956b10 make HAVE_CPP_DD a 0/1/undef mirtoconf value like the others
XXX maybe generalise the logic from there and ac_testn
XXX offer the user to give list of known signal names (and NSIG? or ignore?)
2007-06-30 19:58:51 +00:00
tg af5c570143 • bugfix – "printf %d '(1)'" is a syntax error too, enhance character class
• speed up – I don't worry about embedded control characters in the source,
  as jupp(1) handles these just fine [http://mirbsd.de/jupp]
2007-06-30 19:48:04 +00:00
tg ca17798533 this is bash compatibility week, and by suggestion of actual users,
namely Dr. Robert “Pfeffer” Arnold (in this case, in FreeWRT), make
a half-completed attempt at implementing ${foo:2:3} substring evals
(of course, negatives can't work right now and that the numbers are
in face expressions is something I only read later too – this is to
be revisited later, but it's already late)

don't depend on this behaviour yet though

if someone wants to add more regression tests, feel free to…
2007-06-27 23:12:59 +00:00
tg 0675b8f25b one check seems to fail on ecce!GNU/Linux 1.0 – but that is perl’s fault 2007-06-23 22:48:47 +00:00
tg 265e82757f kludge for intel's c(rap) compiler 2007-06-23 20:51:21 +00:00
tg 7796820c82 now that we're definitively at 40 pages for the PDF manual, revert some of
the changes in r1.81, and improve wording further
2007-06-23 19:07:14 +00:00
tg 0cd850b207 optimise – we already did that one range check before 2007-06-23 00:05:04 +00:00
tg 3a94b076a0 implement bash-style array initialisation, as requested by many
still experimental
2007-06-22 23:34:42 +00:00
tg 4fef868b6d solve the ugly warnings, be more consistent, allow __attribute__ to depend
on compiler option features, etc.
2007-06-21 16:11:37 +00:00
tg d42f966d22 rewrite some code; bug found by HP's C compiler 2007-06-21 16:04:46 +00:00
tg f738b28b3b this solves
| HP-UX td193 B.11.31 U ia64 2909796781 unlimited-user license
| cc: HP C/aC++ B3910B A.06.14 [Feb 22 2007]
| ld: 92453-07 linker ld HP Itanium(R) B.12.43  IPF/IPF
| Total failed: 1 (as expected)
| Total passed: 220
except for an ugly warning
2007-06-21 15:53:14 +00:00
tg bf503a1fa0 make this build with
| cpp.ansi: HP92453-01 B.11.31.01 HP C Preprocessor (ANSI)
| ccom: HP92453-01 B.11.X.36086-36089-36092.GP HP C Compiler
| /usr/ccs/bin/ld: 92453-07 linker linker ld B.11.60 070209
on
| mirbsd@td191:~/mksh $ uname -a
| HP-UX td191 B.11.31 U 9000/800 3397116299 unlimited-user license
resulting in
| Total failed: 1 (as expected)
| Total passed: 220

so I suppose it's no longer experimental on HP-UX… it also works on/with
| HP-UX td192 B.11.11 U 9000/800 1839940656 unlimited-user license
| gcc version 3.4.2
| Can't locate POSIX.pm in @INC…
and
| HP-UX td192 B.11.11 U 9000/800 1839940656 unlimited-user license
| cpp.ansi: HP92453-01 B.11.X.35175-35176.GP HP C Preprocessor (ANSI)
| ccom: HP92453-01 B.11.X.36086-36089-36092.GP HP C Compiler
| /usr/ccs/bin/ld: 92453-07 linker linker ld B.11.60 070209
and
| HP-UX td176 B.11.23 U ia64 1928826293 unlimited-user license
| Reading specs from /usr/local/lib/gcc/ia64-hp-hpux11.23/3.4.3/specs
| Total failed: 1 (as expected)
| Total passed: 219

still work to do for HP C on IA64
2007-06-21 15:43:33 +00:00
tg 3a563948ec accomodate stupid Slackware 11 (if you're a slack user, pity you) 2007-06-20 13:38:18 +00:00
tg e596de4759 make sure that “integer” and “local” are defined even in FPOSIX mode, which
is a compromise anyway; these lunox people will have to live with that, too
many existing korn shell alike scripts depend on it even if not on the full
korn shell syntax availability (note: this doesn't mean using these in some
script with #!/bin/sh is ok)
2007-06-17 00:50:09 +00:00
tg 199994fed8 we can do all that 2007-06-16 15:02:56 +00:00
tg 5fe1f4d416 document the FPOSIX stuff 2007-06-15 22:04:06 +00:00
tg a7ce246a37 if invoked as /bin/sh, -sh, sh.static, whatever, activate FPOSIX
this should help inferiour operating systems like Debian… (where
some of the devs, hi waldi@, don't consider stop() { } invalid…)
2007-06-15 22:00:00 +00:00
tg 17b7a28ac8 • check.t: add some FPOSIX regression tests (1 still fails)
• all: remove vi editing mode #if defined(MKSH_SMALL) || defined(MKSH_NOVI)
  saves 12608 byts on i386
• check.t: add $0 quoting
2007-06-15 21:55:20 +00:00
tg f280b66d0a make sure ELF, a.out, COFF, MZ/PE and gzip binaries aren't executed via sh
should save us some error messages
2007-06-15 21:22:40 +00:00
tg 1b16db54f1 implement that if we run in FPOSIX mode we don't set up the standard
Korn aliases
2007-06-15 20:52:19 +00:00
tg f9b33dffea from my change in debian mksh-29.6-2: if arc4random exists, use it 2007-06-10 17:06:07 +00:00
tg eb47c62e8d fix -xO2 to environment addition, discovered by cnuke@ 2007-06-09 22:06:55 +00:00
tg e258f1e9fe bump 2007-06-09 22:02:04 +00:00
tg bf671f42fa don't use __extension__, cought by sunpro on linux 2007-06-09 22:01:42 +00:00
tg 40484a2f21 from sunpro 12 on linux: optimise use of the const-vs-unconst catcher
thanks cnuke@ for testing
2007-06-09 21:59:21 +00:00
tg 81014fa81b more errno cleanup 2007-06-06 23:41:24 +00:00
tg 3dcf22a319 ok, icc _did_ track down a few ones, and I fixed errno abuse a little too
however, bad S/N ratio

side effect bonus: smaller code size now
2007-06-06 23:28:17 +00:00
tg ffd63798f3 ugh… (no comment) 2007-06-06 23:25:28 +00:00
tg 1e0ca54bf6 out of a 50-line diff which STILL didn't shut up icc, these are the actual
problems. icc's warnings are bogus:
• it says int x_getc(void); is invalid (hm well, it may be static?)
• char c, d; d = c | 0x40; -> warning because (c | 0x40) is an int
  (it apparently can't track value bounds)
2007-06-06 22:26:26 +00:00
tg dd4b823c07 oops 2007-06-06 22:03:24 +00:00
tg 799a89e9cf remove support for $CPP, just use $CC -E (-) instead consistently 2007-06-06 21:59:38 +00:00
tg 7c76e5752d part 1 of the icc support diff (experimental, untested)
icc sucks…
2007-06-06 21:56:12 +00:00
tg 5dfde5c670 first part of the Intel C Compiler (Linux) shaddap
| tglaser@hephaistos:~ $ /usr/local/intel/cc/9.1.042/bin/icc -V
| Intel(R) C Compiler for 32-bit applications, Version 9.1    Build 20060706Z Package ID: l_cc_c_9.1.042
this one is muuuuch too verbose IMHO, _and_ it #defines __GNUC__ (eek)
2007-06-06 21:36:29 +00:00
tg e74e6fae7e even if Solaris 10 still doesn't have the mdoc libraries, don't make it
impossible to, e.g. by setenv NROFF, create catman pages on it
2007-06-05 23:10:51 +00:00
tg 91431e4cf6 with this, we don't need the special list of pre-known signal names
any more either, and can make use of code sharing between detection
of sys_siglist and sys_signame (and the underscored variants); nuke
the now-useless signames.c file too (merge struct into histrap.c)
2007-06-05 21:47:49 +00:00
tg 5835e7d3aa HAVE_PERSISTENT_HISTORY is req'd in CPPFLAGS, oops 2007-06-05 21:17:05 +00:00
tg ae4a7272e7 even without cpp -dD scan for a number of common signal names
enables “kill -TERM 1” on solaris with the SUNpro 5.8 compiler
2007-06-05 21:10:52 +00:00
tg 7e4a39b11c ignore any whitespace between preprocessor output tokens 2007-06-05 20:57:46 +00:00
tg dbdda6f14e sort the signals list; this has the effect to, on Solaris, prefer
SIGABRT to SIGIOT (good), SIGCHLD to SIGCLD (necessary and reason),
SIGIO to SIGPOLL (the former also exists on mirbsd so okay); changes
on other OSes should be monitored by porters
2007-06-05 20:18:54 +00:00