summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtchang%redhat.com <devnull@localhost>2007-01-20 20:27:53 +0000
committerwtchang%redhat.com <devnull@localhost>2007-01-20 20:27:53 +0000
commite7fda08c9d96fa9defd1875b227013a60de0f8b3 (patch)
treef1dd7765a29d33d4c2d9f373dfe5e00c55361027
parenteb1b99de7d6479783ee43d5aaa286f124bd5173e (diff)
downloadnspr-hg-e7fda08c9d96fa9defd1875b227013a60de0f8b3.tar.gz
Bug 362768: implemented NSPR shared library finalization function for AIX.
r=nelsonb Modified files: pr/src/Makefile.in ptthread.c
-rw-r--r--pr/src/Makefile.in1
-rw-r--r--pr/src/pthreads/ptthread.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/pr/src/Makefile.in b/pr/src/Makefile.in
index f6fd8886..66d887ed 100644
--- a/pr/src/Makefile.in
+++ b/pr/src/Makefile.in
@@ -119,6 +119,7 @@ OS_LIBS += -lc
endif
ifeq ($(OS_ARCH),AIX)
+DSO_LDOPTS += -binitfini::_PR_Fini
OS_LIBS = -lodm -lcfg
ifeq ($(CLASSIC_NSPR),1)
ifeq ($(OS_RELEASE),4.1)
diff --git a/pr/src/pthreads/ptthread.c b/pr/src/pthreads/ptthread.c
index c5063737..96999dfd 100644
--- a/pr/src/pthreads/ptthread.c
+++ b/pr/src/pthreads/ptthread.c
@@ -945,6 +945,7 @@ static void _PR_Fini(void) __attribute__ ((destructor));
* Sun Studio compiler
*/
#pragma fini(_PR_Fini)
+static void _PR_Fini(void);
#elif defined(HPUX)
/*
* Current versions of HP C compiler define __HP_cc.
@@ -952,6 +953,7 @@ static void _PR_Fini(void) __attribute__ ((destructor));
*/
#if defined(__ia64) || defined(_LP64)
#pragma FINI "_PR_Fini"
+static void _PR_Fini(void);
#else
/*
* Only HP-UX 10.x style initializers are supported in 32-bit links.
@@ -984,7 +986,7 @@ void PR_HPUX10xInit(shl_t handle, int loading)
/* Need to use the -binitfini::_PR_Fini linker option. */
#endif
-static void _PR_Fini(void)
+void _PR_Fini(void)
{
void *thred;
int rv;