diff options
author | wtc%netscape.com <devnull@localhost> | 2000-07-06 20:46:03 +0000 |
---|---|---|
committer | wtc%netscape.com <devnull@localhost> | 2000-07-06 20:46:03 +0000 |
commit | f7aca14a83e3c74d34092d1c67a62e35b8c0354f (patch) | |
tree | 9beb2f7a55786d0fc4e54d4dd735381b987e2471 | |
parent | bf62dcd82a5e7890e0c1158b0d92cb25e4323d0d (diff) | |
download | nspr-hg-f7aca14a83e3c74d34092d1c67a62e35b8c0354f.tar.gz |
Bugzilla bug #41524: fixed build problems on NetBSD-current with ELF
object format. r=taya@sm.sony.co.jp. a=brendan@mozilla.org.
Modified files: NetBSD.mk, _netbsd.h, prlink.c
(NSPRPUB_CLIENT_BRANCH)
-rw-r--r-- | config/NetBSD.mk | 21 | ||||
-rw-r--r-- | pr/include/md/_netbsd.h | 9 | ||||
-rw-r--r-- | pr/src/linking/prlink.c | 3 |
3 files changed, 21 insertions, 12 deletions
diff --git a/config/NetBSD.mk b/config/NetBSD.mk index 1aeac473..44a96cdf 100644 --- a/config/NetBSD.mk +++ b/config/NetBSD.mk @@ -25,6 +25,10 @@ CC = gcc CCC = g++ RANLIB = ranlib +ifndef OBJECT_FMT +OBJECT_FMT := $(shell if echo __ELF__ | $${CC:-cc} -E - | grep -q __ELF__ ; then echo a.out ; else echo ELF ; fi) +endif + OS_REL_CFLAGS = ifeq (86,$(findstring 86,$(OS_TEST))) CPU_ARCH = x86 @@ -44,20 +48,15 @@ endif ARCH = netbsd +ifeq($(OBJECT_FMT),ELF) +DLL_SUFFIX = so +else DLL_SUFFIX = so.1.0 +endif -DSO_CFLAGS = -fPIC +DSO_CFLAGS = -fPIC -DPIC DSO_LDFLAGS = -DSO_LDOPTS = -Bshareable -ifeq ($(OS_TEST),alpha) -DSO_LDOPTS = -shared -endif -ifeq ($(OS_TEST),mips) -DSO_LDOPTS = -shared -endif -ifeq ($(OS_TEST),pmax) -DSO_LDOPTS = -shared -endif +DSO_LDOPTS = -x -shared ifdef LIBRUNPATH DSO_LDOPTS += -R$(LIBRUNPATH) diff --git a/pr/include/md/_netbsd.h b/pr/include/md/_netbsd.h index 49aca74b..45b04493 100644 --- a/pr/include/md/_netbsd.h +++ b/pr/include/md/_netbsd.h @@ -39,7 +39,11 @@ #define _PR_SI_ARCHITECTURE "arm32" #endif +#if defined(__ELF__) +#define PR_DLL_SUFFIX ".so" +#else #define PR_DLL_SUFFIX ".so.1.0" +#endif #define _PR_VMBASE 0x30000000 #define _PR_STACK_VMBASE 0x50000000 @@ -52,6 +56,8 @@ #define _PR_HAVE_SOCKADDR_LEN #define _PR_NO_LARGE_FILES #define _PR_STAT_HAS_ST_ATIMESPEC +#define _PR_POLL_AVAILABLE +#define _PR_USE_POLL #define _PR_HAVE_SYSV_SEMAPHORES #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY @@ -210,7 +216,10 @@ struct _MDCPU { * unwrapped version. */ #define _MD_SELECT(nfds,r,w,e,tv) syscall(SYS_select,nfds,r,w,e,tv) +#if defined(_PR_POLL_AVAILABLE) +#include <poll.h> #define _MD_POLL(fds,nfds,timeout) syscall(SYS_poll,fds,nfds,timeout) +#endif #if NetBSD1_3 == 1L typedef unsigned int nfds_t; diff --git a/pr/src/linking/prlink.c b/pr/src/linking/prlink.c index b4cde65a..c42491ef 100644 --- a/pr/src/linking/prlink.c +++ b/pr/src/linking/prlink.c @@ -64,7 +64,8 @@ * On these platforms, symbols have a leading '_'. */ #if defined(SUNOS4) || defined(RHAPSODY) || defined(NEXTSTEP) \ - || defined(OPENBSD) || defined(WIN16) || defined(NETBSD) + || defined(OPENBSD) || defined(WIN16) \ + || (defined(NETBSD) && !defined(__ELF__)) #define NEED_LEADING_UNDERSCORE #endif |