NSPR does not know that gcc does work on AIX: https://bugzilla.mozilla.org/show_bug.cgi?id=547991 --- ./mozilla/nsprpub/configure.in.orig 2010-02-23 14:36:55 +0100 +++ ./mozilla/nsprpub/configure.in 2010-02-23 14:37:08 +0100 @@ -871,8 +871,13 @@ AC_DEFINE(HAVE_FCNTL_FILE_LOCKING) USE_IPV6=1 AIX_LINK_OPTS='-brtl -bnso -berok' + if test -n "$GNU_CC"; then + LD='$(CC)' + DSO_LDOPTS='-shared -Wl,-G,-bernotok,-bexpall,-blibpath:/usr/lib:/lib' + fi ;; esac + test -z "$GNU_CC" && CFLAGS="$CFLAGS -qro -qroconst" AIX_WRAP='$(DIST)/lib/aixwrap.o' AIX_TMP='./_aix_tmp.o' --- ./mozilla/nsprpub/configure.orig 2010-02-23 14:36:58 +0100 +++ ./mozilla/nsprpub/configure 2010-02-23 14:37:08 +0100 @@ -3099,8 +3099,13 @@ USE_IPV6=1 AIX_LINK_OPTS='-brtl -bnso -berok' + if test -n "$GNU_CC"; then + LD='$(CC)' + DSO_LDOPTS='-shared -Wl,-G,-bernotok,-bexpall,-blibpath:/usr/lib:/lib' + fi ;; esac + test -z "$GNU_CC" && CFLAGS="$CFLAGS -qro -qroconst" AIX_WRAP='$(DIST)/lib/aixwrap.o' AIX_TMP='./_aix_tmp.o' --- ./mozilla/nsprpub/lib/ds/Makefile.in.orig 2010-02-23 14:40:10 +0100 +++ ./mozilla/nsprpub/lib/ds/Makefile.in 2010-02-23 14:40:58 +0100 @@ -68,11 +68,19 @@ endif # WINNT ifeq ($(OS_ARCH), AIX) +ifndef NS_USE_GCC ifeq ($(CLASSIC_NSPR),1) OS_LIBS = -lc else OS_LIBS = -lc_r endif +else +ifeq ($(CLASSIC_NSPR),1) +OS_LIBS = +else +OS_LIBS = -pthread +endif +endif endif ifeq ($(OS_ARCH),IRIX) --- ./mozilla/nsprpub/lib/libc/src/Makefile.in.orig 2010-02-23 14:45:41 +0100 +++ ./mozilla/nsprpub/lib/libc/src/Makefile.in 2010-02-23 14:47:58 +0100 @@ -77,11 +77,19 @@ endif # WINNT ifeq ($(OS_ARCH), AIX) +ifndef NS_USE_GCC ifeq ($(CLASSIC_NSPR),1) OS_LIBS = -lc else OS_LIBS = -lc_r endif +else +ifeq ($(CLASSIC_NSPR),1) +OS_LIBS = +else +OS_LIBS = -pthread +endif +endif endif ifeq ($(OS_ARCH),IRIX) --- ./mozilla/nsprpub/pr/src/Makefile.in.orig 2010-02-23 14:37:04 +0100 +++ ./mozilla/nsprpub/pr/src/Makefile.in 2010-02-23 14:52:16 +0100 @@ -110,19 +110,29 @@ endif ifeq ($(OS_ARCH),AIX) +ifndef NS_USE_GCC DSO_LDOPTS += -binitfini::_PR_Fini +endif OS_LIBS = -lodm -lcfg ifeq ($(CLASSIC_NSPR),1) ifeq ($(OS_RELEASE),4.1) OS_LIBS += -lsvld -lc else +ifndef NS_USE_GCC OS_LIBS += -ldl -lc +else +OS_LIBS += -ldl +endif endif else ifeq ($(OS_RELEASE),4.1) OS_LIBS += -lpthreads -lsvld -lC_r -lC -lc_r -lm /usr/lib/libc.a else +ifndef NS_USE_GCC OS_LIBS += -lpthreads -ldl -lC_r -lC -lc_r -lm /usr/lib/libc.a +else +OS_LIBS += -pthread -ldl -lm +endif endif endif endif --- mozilla/nsprpub/pr/tests/Makefile.in.orig 2010-02-23 15:14:03 +0100 +++ mozilla/nsprpub/pr/tests/Makefile.in 2010-02-23 15:17:58 +0100 @@ -341,9 +341,17 @@ # AIX ifeq ($(OS_ARCH),AIX) + ifndef NS_USE_GCC LDOPTS += -blibpath:$(ABSOLUTE_LIB_DIR):/usr/lib:/lib + else + LDOPTS += -Wl,-blibpath:$(ABSOLUTE_LIB_DIR):/usr/lib:/lib + endif ifneq ($(OS_ARCH)$(OS_RELEASE),AIX4.1) + ifndef NS_USE_GCC LDOPTS += -brtl + else + LDOPTS += -Wl,-brtl + endif EXTRA_LIBS = -ldl endif endif --- mozilla/nsprpub/lib/tests/Makefile.in.orig 2010-02-23 15:35:37 +0100 +++ mozilla/nsprpub/lib/tests/Makefile.in 2010-02-23 15:35:37 +0100 @@ -127,7 +127,11 @@ # AIX ifeq ($(OS_ARCH),AIX) +ifndef NS_USE_GCC LDOPTS += -blibpath:$(PWD)/$(dist_libdir):/usr/lib:/lib +else +LDOPTS += -Wl,-blibpath:$(PWD)/$(dist_libdir):/usr/lib:/lib +endif LIBPR = -lnspr$(MOD_MAJOR_VERSION)_shr LIBPLC = -lplc$(MOD_MAJOR_VERSION)_shr endif