Commit Diff


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 ..