commit 4982d4ebc3bd4924d73f2f2ad584309e9ec97435 from: Ben Huntsman via: Russ Cox date: Fri May 08 00:36:03 2020 UTC all: update build scripts to fix AIX XL/C compatibility commit - c3c9c7b6ae7c6a8bf9c6d040d3af89e020fd92de commit + 4982d4ebc3bd4924d73f2f2ad584309e9ec97435 blob - 0f836d241724b45023f6e603bcb4951e41066291 blob + 320a1634c8d0885bbd5d514df95d674d5c55fe5c --- bin/9c +++ bin/9c @@ -82,6 +82,23 @@ useclang() cflags="$ngflags -g" } +usexlc() +{ + cc=${CC9:-xlc_r} + ngflags=" \ + -c \ + -O0 \ + -qmaxmem=-1 \ + -qsuppress=1506-236 \ + -qsuppress=1506-358 \ + -qsuppress=1500-010 \ + -qsuppress=1506-224 \ + -qsuppress=1506-1300 \ + -qsuppress=1506-342 \ + " + cflags="$ngflags -g -qfullpath" +} + tag="${SYSNAME:-`uname`}-${OBJTYPE:-`uname -m`}-${CC9:-cc}" case "$tag" in *DragonFly*gcc*|*BSD*gcc*) usegcc ;; @@ -120,7 +137,7 @@ case "$tag" in cflags="$ngflags -g" cflags="$cflags -D__sun__ -D__${s}__" ;; -*AIX*) usegcc +*AIX*) usexlc cflags="$ngflags -g -D__AIX__" ;; *) blob - a10aab72820eacdfa813753aaafb1b1f1612a03f blob + 398adbd8a823d397e2c866253b511ebb2b494435 --- bin/9l +++ bin/9l @@ -61,8 +61,9 @@ case "$tag" in esac ;; *AIX*) - ld=${CC9:-gcc} - nmflags="-B" + ld="${CC9:-xlc_r} -g -O0" + nmflags="-A -B" + extralibs="$extralibs -lpthread" ;; *) echo do not know how to link on "$tag" 1>&2 @@ -113,8 +114,8 @@ then then a=` nm $nmflags $ofiles | - grep '__p9l_autolib_[a-zA-Z0-9+-]*$' | - sed 's/.*__p9l_autolib_//' | + grep '__p9l_autolib_[a-zA-Z0-9+-]*' | + sed 's/.*__p9l_autolib_//; s/:.*//' | sort -u ` for i in $a @@ -144,8 +145,8 @@ then do b=` nm $lpath/lib$i.a 2>/dev/null | - grep '__p9l_autolib_[a-zA-Z0-9+-]*$' | - sed 's/.*__p9l_autolib_//' | + grep '__p9l_autolib_[a-zA-Z0-9+-]*' | + sed 's/.*__p9l_autolib_//; s/:.*//' | sort -u | egrep -v '^(thread|draw)$' ` blob - 3bea890e34a4c5240f7ce866a0e1f2ce64e0ed4d blob + 137b616129f353eb7261ed7d4c1f34acf19dfe36 --- include/u.h +++ include/u.h @@ -20,7 +20,7 @@ extern "C" { #define _NETBSD_SOURCE 1 /* NetBSD */ #define _SVID_SOURCE 1 #define _DEFAULT_SOURCE 1 -#if !defined(__APPLE__) && !defined(__OpenBSD__) +#if !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__AIX__) # define _XOPEN_SOURCE 1000 # define _XOPEN_SOURCE_EXTENDED 1 #endif @@ -33,7 +33,7 @@ extern "C" { # define __LONG_LONG_SUPPORTED #endif #if defined(__AIX__) -# define _XOPEN_SOURCE 1 +# define _XOPEN_SOURCE 600 #endif #if defined(__APPLE__) # define _DARWIN_NO_64_BIT_INODE /* Snow Leopard */ blob - bc8b5a0db13f57f999996e9ef942f4fdfc7214d8 blob + 2d0c657e6666e72ebf1a60ce8e54c65cc99af78e --- src/cmd/mkfile +++ src/cmd/mkfile @@ -27,7 +27,7 @@ $PLAN9/bin/lex: $PLAN9/bin/yacc # This should not be necessary. $PLAN9/bin/yacc: $O.yacc - install -c $O.yacc $PLAN9/bin/yacc + $INSTALL -c $O.yacc $PLAN9/bin/yacc $O.yacc: yacc.$O $LD -o $target $prereq yacc.$O: yacc.c blob - /dev/null blob + 39f8ee8a2fa11638cf7336e371507895214f55f9 (mode 644) --- /dev/null +++ src/mk.AIX-power @@ -0,0 +1,2 @@ +INSTALL=installbsd + blob - dae87ddfb809aa6ecebf9a35617f7d1c01bc4bb9 blob + 0d52d3f929b758e9e10595b0fc282d8fd91c31bd --- src/mkmk.sh +++ src/mkmk.sh @@ -211,5 +211,9 @@ echo cd `pwd` 9c word.c 9c unix.c 9l -o o.mk arc.o archive.o bufblock.o env.o file.o graph.o job.o lex.o main.o match.o mk.o parse.o recipe.o rc.o rule.o run.o sh.o shell.o shprint.o symtab.o var.o varsub.o word.o unix.o -install o.mk $PLAN9/bin/mk +if [ `uname` = AIX ]; then + installbsd o.mk $PLAN9/bin/mk +else + install o.mk $PLAN9/bin/mk +fi cd ..