1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Allow building on AIX

This makes ksh build at least on AIX 7.1 on RISC (PowerPC).

There are 4 regression test failures:

        leaks.sh[159]: memory leak on PATH reset before PATH search
        (leaked approx 220 KiB after 16384 iterations)

        pty.sh[351]: POSIX sh 104(C): line 364: expected
        "^done\r?\n$", got EOF

        signal.sh[280]: subshell ignoring signal does not send
        signal to parent (expected 'SIGUSR1', got 'done')

        signal.sh[282]: parent does not wait for child to complete
        before handling signal

src/cmd/INIT/iffe.sh:
- Unset LIBPATH on AIX. The features/pty output{ ... }end will fail
  to link to libiconv otherwise, causing a build failure. See:
  https://www.ibm.com/support/pages/member-libiconvso2-not-found-archive

src/cmd/builtin/pty.c:
- CMIN is not defined on AIX, so set it to 1 if it's not defined.

src/cmd/ksh93/README:
- Update list of tested OSs.
This commit is contained in:
Martijn Dekker 2021-01-27 00:44:26 +00:00
parent 308696ec95
commit 28f97ba85c
4 changed files with 22 additions and 13 deletions

2
TODO
View file

@ -11,7 +11,7 @@ Fix regression test failures:
______ ______
Fix build system: Fix build system:
- ksh does not currently build on AIX or QNX. - ksh does not currently build on QNX.
______ ______
Fix currently known bugs affecting shell scripting. These are identified by Fix currently known bugs affecting shell scripting. These are identified by

View file

@ -26,6 +26,9 @@
# NOTE: .exe a.out suffix and [\\/] in path patterns for dos/nt # NOTE: .exe a.out suffix and [\\/] in path patterns for dos/nt
(command set -o posix) 2>/dev/null && set -o posix (command set -o posix) 2>/dev/null && set -o posix
case `uname -s` in
AIX) unset LIBPATH ;;
esac
command=iffe command=iffe
version=2012-07-17 # update in USAGE too # version=2012-07-17 # update in USAGE too #

View file

@ -116,6 +116,10 @@ USAGE_LICENSE
#define MODE_666 (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) #define MODE_666 (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
#define MAXNAME 64 #define MAXNAME 64
#ifndef CMIN
#define CMIN 1
#endif
#if !_lib_openpty && !_lib__getpty && !defined(_pty_clone) #if !_lib_openpty && !_lib__getpty && !defined(_pty_clone)
# if !_lib_grantpt || !_lib_unlock # if !_lib_grantpt || !_lib_unlock
# if !_lib_ptsname # if !_lib_ptsname

View file

@ -167,22 +167,24 @@ things amiss), two asterisks signify moderate regression test failures
(some functionality does not work), and three asterisks signify serious (some functionality does not work), and three asterisks signify serious
failures (crashes, and/or essential functionality does not work). failures (crashes, and/or essential functionality does not work).
* DragonFly BSD on x86_64 * AIX 7.1 on RISC (PowerPC)
FreeBSD on x86_64 * DragonFly BSD 5.8 on x86_64
GNU/Linux: CentOS on x86_64 FreeBSD 12.2 on x86_64
GNU/Linux: Debian on x86_64 FreeBSD 12.2 on arm64 (thanks to hyenias for donating access to a Pi)
GNU/Linux: Gentoo on i386 GNU/Linux: CentOS 8.2 on x86_64
GNU/Linux: NixOS on x86_64 GNU/Linux: Debian 10.7 on x86_64
GNU/Linux: Slackware on x86_64 GNU/Linux: Gentoo 2.7 on i386
GNU/Linux: Ubuntu on x86_64 GNU/Linux: NixOS 19.09 on x86_64
*** HP-UX 11 on pa-risc GNU/Linux: Slackware 14.2 on x86_64
GNU/Linux: Ubuntu 16.04 on x86_64
*** HP-UX B.11.11 on pa-risc
* illumos: OmniOS 2020-08-19 (gcc) on x86_64 * illumos: OmniOS 2020-08-19 (gcc) on x86_64
macOS 10.14.6 (Mojave) on x86_64 macOS 10.14.6 (Mojave) on x86_64
*** NetBSD on x86_64 *** NetBSD 8.1 and 9.0 on x86_64
** OpenBSD on x86_64 * OpenBSD 6.8 on x86_64
* Solaris 11.4 (gcc) on x86_64 * Solaris 11.4 (gcc) on x86_64
Solaris 11.4 (Solaris Studio 12.5 cc) on x86_64 Solaris 11.4 (Solaris Studio 12.5 cc) on x86_64
*** UnixWare 7.1.4 on x86 * UnixWare 7.1.4 on x86
*** Windows 7 using Cygwin on x86 *** Windows 7 using Cygwin on x86
Good luck!! Good luck!!