--- Makefile.org.orig	2006-04-24 08:32:57.000000000 -0500
+++ Makefile.org	2006-10-04 13:39:50.000000000 -0500
@@ -563,20 +563,23 @@
 SHAREDFLAGS=${SHARED_LDFLAGS} -G -bE:lib$$i.exp -bM:SRE
 SHAREDCMD=$(CC)
 do_aix-shared:
-	libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
-	if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \
-		libs="$(LIBKRB5) $$libs"; \
-	fi; \
+	libs='-L. ${SHLIBDEPS} -lc -lm'; for i in ${SHLIBDIRS}; do \
 	( set -x; \
-	  OBJECT_MODE=`expr x${SHARED_LDFLAGS} : 'x\-[a-z]\([0-9]*\)'`; \
-	  OBJECT_MODE=$${OBJECT_MODE:-32}; export OBJECT_MODE; \
-	  ld -r -o lib$$i.o $(ALLSYMSFLAG) lib$$i.a && \
-	  ( nm -Pg lib$$i.o | grep ' [BD] ' | cut -f1 -d' ' > lib$$i.exp; \
-	    $${FIPSLD:-${CC}} $(SHAREDFLAGS) \
-		-o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} lib$$i.o \
-		$$libs ${EX_LIBS} ) ) \
+	  echo "#!" > lib$$i.exp; \
+	  /bin/dump -g lib$$i.a | sed -n -e \
+		's/^[     ]*[0-9][0-9]*[   ]*\([^  .][^   ]*\)$$/\1/p' \
+		| /bin/sort -u \
+		>> lib$$i.exp; \
+	  /bin/ld -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} lib$$i.a -H512 -T512 -bM\:SRE \
+		-bE\:lib$$i.exp   $$libs ${EX_LIBS} -blibpath:${INSTALL_TOP}/lib:/usr/lib ) \
 	|| exit 1; \
-	libs="-l$$i $$libs"; \
+	mv lib$$i.a lib$$i-static.a; \
+	/bin/ar qv lib$$i.a lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}; \
+	libs="$$libs -l$$i"; \
+	done; \
+	for i in ${SHLIBDIRS}; do \
+	  mv lib$$i.a lib$$i-shared.a; \
+	  mv lib$$i-static.a lib$$i.a; \
 	done
 
 do_reliantunix-shared:
