• AIX: display OS version better (tested on 5.3 by cnuke@)

• IBM XL C: display version better (tested on V7.0 by cnuke@)
• do not 'IFS=: read nr name', Cygwin 1.7 dash fails it
• disable cd-pe, glob-range-3 on Cygwin (the former cannot
  succeed because the mv fails, the latter fails from 1.7 on)
• mark heredoc-tmpfile-8 as need-pass: no
• apply __attribute__ only to a function prototype, not to
  the body (even if static), since xlC fails that
• bump version to R40 (beta)
This commit is contained in:
tg 2011-05-29 16:31:42 +00:00
parent 2083c75c1c
commit d1b8800ee8
4 changed files with 24 additions and 12 deletions

View File

@ -1,5 +1,5 @@
#!/bin/sh
srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.477 2011/04/09 21:00:58 tg Exp $'
srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.478 2011/05/29 16:31:38 tg Exp $'
#-
# Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
# Thorsten Glaser <tg@mirbsd.org>
@ -535,6 +535,10 @@ test 0 = $r && echo | $NROFF -v 2>&1 | grep GNU >/dev/null 2>&1 && \
# this aids me in tracing FTBFSen without access to the buildd
$e "Hi from$ao $bi$srcversion$ao on:"
case $TARGET_OS in
AIX)
vv '|' "oslevel >&2"
vv '|' "uname -a >&2"
;;
Darwin)
vv '|' "hwprefs machine_type os_type os_class >&2"
vv '|' "uname -a >&2"
@ -754,6 +758,7 @@ watcom)
own risk, please report success/failure to the developers.'
;;
xlc)
vv '|' "$CC $CFLAGS $CPPFLAGS $LDFLAGS $NOWARN $LIBS -qversion"
vv '|' "$CC $CFLAGS $CPPFLAGS $LDFLAGS $NOWARN $LIBS -qversion=verbose"
vv '|' "ld -V"
;;
@ -1448,7 +1453,7 @@ mksh_cfg: NSIG' >conftest.c
vq "$CPP $CFLAGS $CPPFLAGS $NOWARN conftest.c" | \
grep mksh_cfg: | \
sed 's/^mksh_cfg:[ ]*\([0-9x]*\).*$/\1:'$name/
done | grep -v '^:' | while IFS=: read nr name; do
done | grep -v '^:' | sed 's/:/ /g' | while read nr name; do
test $printf = echo || nr=`printf %d "$nr" 2>/dev/null`
test $nr -gt 0 && test $nr -le $NSIG || continue
case $sigseen in

16
check.t
View File

@ -1,4 +1,4 @@
# $MirOS: src/bin/mksh/check.t,v 1.455 2011/05/29 02:18:47 tg Exp $
# $MirOS: src/bin/mksh/check.t,v 1.456 2011/05/29 16:31:40 tg Exp $
# $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $
# $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $
# $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $
@ -25,7 +25,7 @@
# http://www.research.att.com/~gsf/public/ifs.sh
expected-stdout:
@(#)MIRBSD KSH R39 2011/05/28
@(#)MIRBSD KSH R40 2011/05/29
description:
Check version of shell.
stdin:
@ -1009,6 +1009,8 @@ name: cd-pe
description:
Check package for cd -Pe
need-pass: no
# the mv command fails on Cygwin
category: !os:cygwin
file-setup: file 644 "x"
mkdir noread noread/target noread/target/subdir
ln -s noread link
@ -1019,7 +1021,9 @@ file-setup: file 644 "x"
cd -P$1 link/target
echo 1=$?,${PWD#$bwd/}
epwd=$($TSHELL -c pwd 2>/dev/null)
echo pwd=$?,$epwd
# This unexpectedly succeeds on GNU/Linux and MidnightBSD
#echo pwd=$?,$epwd
# expect: pwd=1,
mv ../../noread ../../renamed
cd -P$1 subdir
echo 2=$?,${PWD#$bwd/}
@ -1034,12 +1038,10 @@ stdin:
expected-stdout:
0=0
1=0,noread/target
pwd=1,
2=0,noread/target/subdir
now with -e:
0=0
1=0,noread/target
pwd=1,
2=1,noread/target/subdir
---
name: env-prompt
@ -1907,7 +1909,8 @@ name: glob-range-3
description:
Check that globbing matches the right things...
# breaks on Mac OSX (HFS+ non-standard Unicode canonical decomposition)
category: !os:darwin
# breaks on Cygwin 1.7 (files are now UTF-16 or something)
category: !os:cygwin,!os:darwin
file-setup: file 644 "aÂc"
stdin:
echo a[Á-Ú]*
@ -2544,6 +2547,7 @@ description:
late. Heredoc in function, backgrounded call to function.
This check can fail on slow machines (<100 MHz), or Cygwin,
that's normal.
need-pass: no
stdin:
TMPDIR=$PWD
# Background eval so main shell doesn't do parsing

7
main.c
View File

@ -33,7 +33,7 @@
#include <locale.h>
#endif
__RCSID("$MirOS: src/bin/mksh/main.c,v 1.190 2011/04/17 12:24:43 tg Exp $");
__RCSID("$MirOS: src/bin/mksh/main.c,v 1.191 2011/05/29 16:31:42 tg Exp $");
extern char **environ;
@ -1010,7 +1010,10 @@ tty_close(void)
#define VWARNINGF_BUILTIN 4
#define VWARNINGF_INTERNAL 8
static void MKSH_A_FORMAT(__printf__, 2, 0)
static void vwarningf(unsigned int, const char *, va_list)
MKSH_A_FORMAT(__printf__, 2, 0);
static void
vwarningf(unsigned int flags, const char *fmt, va_list ap)
{
if (*fmt != 1) {

4
sh.h
View File

@ -151,9 +151,9 @@
#endif
#ifdef EXTERN
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.470 2011/05/29 02:18:55 tg Exp $");
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.471 2011/05/29 16:31:42 tg Exp $");
#endif
#define MKSH_VERSION "R39 2011/05/28"
#define MKSH_VERSION "R40 2011/05/29"
#ifndef MKSH_INCLUDES_ONLY