зеркало из https://github.com/mozilla/gecko-dev.git
Bug 804806: Update NSPR to NSPR_4_9_4_BETA2.
This commit is contained in:
Родитель
972e6c97df
Коммит
cf998b6946
|
@ -1 +1 @@
|
|||
NSPR_4_9_4_BETA1
|
||||
NSPR_4_9_4_BETA2
|
||||
|
|
|
@ -44,7 +44,7 @@ endif
|
|||
# Temporary workaround to disable the generation of
|
||||
# library build time because now.c uses the 'long long'
|
||||
# data type that's not available on some platforms.
|
||||
ifeq (,$(filter-out NEC NEXTSTEP QNX SCOOS UNIXWARE,$(OS_ARCH)))
|
||||
ifeq (,$(filter-out QNX SCOOS UNIXWARE,$(OS_ARCH)))
|
||||
DEFINES += -DOMIT_LIB_BUILD_TIME
|
||||
endif
|
||||
|
||||
|
|
|
@ -38,48 +38,20 @@
|
|||
* Does getcwd() take NULL as the first argument and malloc
|
||||
* the result buffer?
|
||||
*/
|
||||
#if !defined(DARWIN) && !defined(NEXTSTEP)
|
||||
#if !defined(DARWIN)
|
||||
#define GETCWD_CAN_MALLOC
|
||||
#endif
|
||||
|
||||
#ifdef NEXTSTEP
|
||||
#include <bsd/libc.h>
|
||||
|
||||
/*
|
||||
** balazs.pataki@sztaki.hu: The getcwd is broken in NEXTSTEP (returns 0),
|
||||
** when called on a mounted fs. Did anyone notice this? Here's an ugly
|
||||
** workaround ...
|
||||
*/
|
||||
#define getcwd(b,s) my_getcwd(b,s)
|
||||
|
||||
static char *
|
||||
my_getcwd (char *buf, size_t size)
|
||||
{
|
||||
FILE *pwd = popen("pwd", "r");
|
||||
char *result = fgets(buf, size, pwd);
|
||||
|
||||
if (result) {
|
||||
buf[strlen(buf)-1] = '\0';
|
||||
}
|
||||
pclose (pwd);
|
||||
return buf;
|
||||
}
|
||||
#endif /* NEXTSTEP */
|
||||
|
||||
#if defined(LINUX) || defined(__GNU__) || defined(__GLIBC__)
|
||||
#include <getopt.h>
|
||||
#endif
|
||||
|
||||
#if defined(SCO) || defined(UNIXWARE) || defined(SNI) || defined(NCR) || defined(NEC) || defined(NEXTSTEP)
|
||||
#if defined(SCO) || defined(UNIXWARE)
|
||||
#if !defined(S_ISLNK) && defined(S_IFLNK)
|
||||
#define S_ISLNK(a) (((a) & S_IFMT) == S_IFLNK)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(SNI)
|
||||
extern int fchmod(int fildes, mode_t mode);
|
||||
#endif
|
||||
|
||||
#ifdef QNX
|
||||
#define d_ino d_stat.st_ino
|
||||
#endif
|
||||
|
|
|
@ -10,3 +10,4 @@
|
|||
*/
|
||||
|
||||
#error "Do not include this header file."
|
||||
|
||||
|
|
|
@ -73,13 +73,10 @@ endif
|
|||
|
||||
EXTRA_LIBS = $(LIBNSPR)
|
||||
|
||||
# On NCR and SCOOS, we can't link with extra libraries when
|
||||
# On SCOOS, we can't link with extra libraries when
|
||||
# we build a shared library. If we do so, the linker doesn't
|
||||
# complain, but we would run into weird problems at run-time.
|
||||
# Therefore on these platforms, we link just the .o files.
|
||||
ifeq ($(OS_ARCH),NCR)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
ifeq ($(OS_ARCH),SCOOS)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
|
|
|
@ -82,13 +82,10 @@ endif
|
|||
|
||||
EXTRA_LIBS = $(LIBNSPR)
|
||||
|
||||
# On NCR and SCOOS, we can't link with extra libraries when
|
||||
# On SCOOS, we can't link with extra libraries when
|
||||
# we build a shared library. If we do so, the linker doesn't
|
||||
# complain, but we would run into weird problems at run-time.
|
||||
# Therefore on these platforms, we link just the .o files.
|
||||
ifeq ($(OS_ARCH),NCR)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
ifeq ($(OS_ARCH),SCOOS)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
|
|
|
@ -77,13 +77,10 @@ endif
|
|||
|
||||
EXTRA_LIBS = $(LIBNSPR)
|
||||
|
||||
# On NCR and SCOOS, we can't link with extra libraries when
|
||||
# On SCOOS, we can't link with extra libraries when
|
||||
# we build a shared library. If we do so, the linker doesn't
|
||||
# complain, but we would run into weird problems at run-time.
|
||||
# Therefore on these platforms, we link just the object files.
|
||||
ifeq ($(OS_ARCH),NCR)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
ifeq ($(OS_ARCH),SCOOS)
|
||||
EXTRA_LIBS =
|
||||
endif
|
||||
|
|
|
@ -83,7 +83,6 @@ endif
|
|||
|
||||
# Solaris
|
||||
ifeq ($(OS_ARCH), SunOS)
|
||||
ifneq ($(OS_RELEASE), 4.1.3_U1)
|
||||
ifdef NS_USE_GCC
|
||||
LDOPTS += -Xlinker -R -Xlinker $(PWD)/$(dist_libdir)
|
||||
else
|
||||
|
@ -94,27 +93,8 @@ ifdef USE_PTHREADS
|
|||
EXTRA_LIBS = -lpthread
|
||||
endif # USE_PTHREADS
|
||||
endif # NS_USE_GCC
|
||||
endif # 4.1.3_U1
|
||||
endif # SunOS
|
||||
|
||||
ifeq ($(OS_ARCH), NCR)
|
||||
# XXX: We see some strange problems when we link with libnspr.so.
|
||||
# So for now we use static libraries on NCR. The shared library
|
||||
# stuff below is commented out.
|
||||
LIBPR = $(dist_libdir)/libnspr$(MOD_MAJOR_VERSION).a
|
||||
LIBPRSTRMS = $(dist_libdir)/libprstrms$(MOD_MAJOR_VERSION).a
|
||||
EXTRA_LIBS = -lsocket -lnsl -ldl
|
||||
|
||||
# NCR needs to link against -lsocket -lnsl (and -lc, which is linked
|
||||
# implicitly by $(CC)) again even though we already linked with these
|
||||
# system libraries when we built libnspr.so.
|
||||
#EXTRA_LIBS = -lsocket -lnsl
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
#export LD_RUN_PATH = $(PWD)/$(dist_libdir)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), SCOOS)
|
||||
# SCO Unix needs to link against -lsocket again even though we
|
||||
# already linked with these system libraries when we built libnspr.so.
|
||||
|
|
|
@ -102,13 +102,11 @@ endif
|
|||
|
||||
# Solaris
|
||||
ifeq ($(OS_ARCH), SunOS)
|
||||
ifneq ($(OS_RELEASE), 4.1.3_U1)
|
||||
ifdef NS_USE_GCC
|
||||
LDOPTS += -Xlinker -R -Xlinker $(PWD)/$(dist_libdir)
|
||||
else
|
||||
LDOPTS += -R $(PWD)/$(dist_libdir)
|
||||
endif
|
||||
endif
|
||||
|
||||
# SunOS 5.5 needs to link with -lpthread, even though we already
|
||||
# linked with this system library when we built libnspr.so.
|
||||
|
@ -119,17 +117,6 @@ endif
|
|||
endif
|
||||
endif # SunOS
|
||||
|
||||
ifeq ($(OS_ARCH), NCR)
|
||||
# NCR needs to link against -lsocket -lnsl (and -lc, which is linked
|
||||
# implicitly by $(CC)) again even though we already linked with these
|
||||
# system libraries when we built libnspr.so.
|
||||
EXTRA_LIBS = -lsocket -lnsl
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(PWD)/$(dist_libdir)
|
||||
endif
|
||||
|
||||
#####################################################
|
||||
#
|
||||
# The rules
|
||||
|
|
|
@ -12,15 +12,9 @@
|
|||
#endif
|
||||
|
||||
#if defined(__sun)
|
||||
#if defined(__svr4) || defined(__svr4__) || defined(__SVR4)
|
||||
#ifndef SOLARIS
|
||||
error - SOLARIS is not defined
|
||||
#endif
|
||||
#else
|
||||
#ifndef SUNOS4
|
||||
error - SUNOS4 is not defined
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__hpux)
|
||||
|
@ -70,12 +64,6 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__NeXT__)
|
||||
#ifndef NEXTSTEP
|
||||
error - NEXTSTEP is not defined
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/************************************************************************/
|
||||
|
||||
/* Generate cpucfg.h */
|
||||
|
@ -87,7 +75,7 @@
|
|||
#define INT64 long
|
||||
#endif
|
||||
#else
|
||||
#if defined(HPUX) || defined(NECSVR4) || defined(SCO) || defined(UNIXWARE) || defined (NCR)
|
||||
#if defined(HPUX) || defined(SCO) || defined(UNIXWARE)
|
||||
#define INT64 long
|
||||
#else
|
||||
#define INT64 long long
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
* not be redefined.
|
||||
*/
|
||||
#if !defined(LINUX) && !defined(__GNU__) && !defined(__GLIBC__) \
|
||||
&& !defined(DARWIN) && !defined(NEXTSTEP)
|
||||
&& !defined(DARWIN)
|
||||
#ifndef FD_SETSIZE
|
||||
#define FD_SETSIZE 4096
|
||||
#endif
|
||||
|
@ -147,7 +147,7 @@ extern void _MD_unix_init_running_cpu(struct _PRCPU *cpu);
|
|||
#define PROT_NONE 0x0
|
||||
#endif
|
||||
|
||||
#if defined(DEBUG) && !defined(DARWIN) && !defined(NEXTSTEP)
|
||||
#if defined(DEBUG) && !defined(DARWIN)
|
||||
#if !defined(SOLARIS)
|
||||
#include <string.h> /* for memset() */
|
||||
#define _MD_INIT_STACK(ts,REDZONE) \
|
||||
|
|
|
@ -1826,7 +1826,6 @@ extern void _PR_DestroyZones(void);
|
|||
&& !defined(_PR_PTHREADS) && !defined(_PR_GLOBAL_THREADS_ONLY) \
|
||||
&& !defined(PURIFY) \
|
||||
&& !defined(DARWIN) \
|
||||
&& !defined(NEXTSTEP) \
|
||||
&& !defined(QNX) \
|
||||
&& !(defined (UNIXWARE) && defined (USE_SVR4_THREADS))
|
||||
#define _PR_OVERRIDE_MALLOC
|
||||
|
|
|
@ -33,9 +33,6 @@ endif
|
|||
#
|
||||
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OS_LIBS = -lm
|
||||
else # 4.1.3_U1
|
||||
MAPFILE = $(OBJDIR)/nsprmap.sun
|
||||
GARBAGE += $(MAPFILE)
|
||||
ifdef NS_USE_GCC
|
||||
|
@ -67,7 +64,6 @@ ifndef USE_64
|
|||
DSO_LDOPTS += -Wl,-f,\$$ORIGIN/cpu/\$$ISALIST/lib$(ULTRASPARC_LIBRARY)$(LIBRARY_VERSION).so
|
||||
endif
|
||||
endif # sparc
|
||||
endif # 4.1.3_U1
|
||||
endif # SunOS
|
||||
|
||||
ifeq ($(OS_ARCH), IRIX)
|
||||
|
@ -163,10 +159,6 @@ ifeq ($(OS_ARCH),UNIXWARE)
|
|||
OS_LIBS = -lsocket -lc
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),NEWS-OS)
|
||||
OS_LIBS = -lsocket -lnsl -lgen -lresolv
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
ifdef NS_USE_GCC
|
||||
OS_LIBS = -ladvapi32 -lwsock32 -lwinmm
|
||||
|
|
|
@ -69,12 +69,10 @@ endif
|
|||
|
||||
# Solaris
|
||||
ifeq ($(OS_ARCH), SunOS)
|
||||
ifneq ($(OS_RELEASE), 4.1.3_U1)
|
||||
ifdef NS_USE_GCC
|
||||
LDOPTS += -Xlinker -R -Xlinker $(PWD)/$(dist_libdir)
|
||||
else
|
||||
LDOPTS += -R $(PWD)/$(dist_libdir)
|
||||
endif
|
||||
ifdef NS_USE_GCC
|
||||
LDOPTS += -Xlinker -R -Xlinker $(PWD)/$(dist_libdir)
|
||||
else
|
||||
LDOPTS += -R $(PWD)/$(dist_libdir)
|
||||
endif
|
||||
|
||||
# SunOS 5.5 needs to link with -lpthread, even though we already
|
||||
|
@ -136,24 +134,6 @@ ifeq ($(OS_ARCH), Linux)
|
|||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), NCR)
|
||||
# XXX: We see some strange problems when we link with libnspr.so.
|
||||
# So for now we use static libraries on NCR. The shared library
|
||||
# stuff below is commented out.
|
||||
LIBPR = $(dist_libdir)/libnspr$(MOD_MAJOR_VERSION).a
|
||||
LIBPL = $(dist_libdir)/libplc$(MOD_MAJOR_VERSION).a
|
||||
EXTRA_LIBS = -lsocket -lnsl -ldl
|
||||
|
||||
# NCR needs to link against -lsocket -lnsl (and -lc, which is linked
|
||||
# implicitly by $(CC)) again even though we already linked with these
|
||||
# system libraries when we built libnspr.so.
|
||||
#EXTRA_LIBS = -lsocket -lnsl
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
#export LD_RUN_PATH = $(PWD)/$(dist_libdir)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), SCO_SV)
|
||||
# SCO Unix needs to link against -lsocket again even though we
|
||||
# already linked with these system libraries when we built libnspr.so.
|
||||
|
|
|
@ -14,13 +14,6 @@ include $(MOD_DEPTH)/config/autoconf.mk
|
|||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
|
||||
CSRCS = \
|
||||
prfdcach.c \
|
||||
prmwait.c \
|
||||
|
|
|
@ -365,7 +365,7 @@ PR_IMPLEMENT(PRFileDesc*) PR_OpenFile(
|
|||
|
||||
PR_IMPLEMENT(PRInt32) PR_GetSysfdTableMax(void)
|
||||
{
|
||||
#if defined(XP_UNIX) && !defined(AIX) && !defined(NEXTSTEP) && !defined(QNX)
|
||||
#if defined(XP_UNIX) && !defined(AIX) && !defined(QNX)
|
||||
struct rlimit rlim;
|
||||
|
||||
if ( getrlimit(RLIMIT_NOFILE, &rlim) < 0) {
|
||||
|
@ -374,7 +374,7 @@ PR_IMPLEMENT(PRInt32) PR_GetSysfdTableMax(void)
|
|||
}
|
||||
|
||||
return rlim.rlim_max;
|
||||
#elif defined(AIX) || defined(NEXTSTEP) || defined(QNX)
|
||||
#elif defined(AIX) || defined(QNX)
|
||||
return sysconf(_SC_OPEN_MAX);
|
||||
#elif defined(WIN32)
|
||||
/*
|
||||
|
@ -398,7 +398,7 @@ PR_IMPLEMENT(PRInt32) PR_GetSysfdTableMax(void)
|
|||
|
||||
PR_IMPLEMENT(PRInt32) PR_SetSysfdTableSize(int table_size)
|
||||
{
|
||||
#if defined(XP_UNIX) && !defined(AIX) && !defined(NEXTSTEP) && !defined(QNX)
|
||||
#if defined(XP_UNIX) && !defined(AIX) && !defined(QNX)
|
||||
struct rlimit rlim;
|
||||
PRInt32 tableMax = PR_GetSysfdTableMax();
|
||||
|
||||
|
@ -433,7 +433,7 @@ PR_IMPLEMENT(PRInt32) PR_SetSysfdTableSize(int table_size)
|
|||
return -1;
|
||||
}
|
||||
return tableMax;
|
||||
#elif defined(AIX) || defined(NEXTSTEP) || defined(QNX) \
|
||||
#elif defined(AIX) || defined(QNX) \
|
||||
|| defined(WIN32) || defined(WIN16) || defined(XP_BEOS)
|
||||
PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0);
|
||||
return -1;
|
||||
|
|
|
@ -33,11 +33,6 @@
|
|||
|
||||
#include "primpl.h"
|
||||
|
||||
#if defined(NEXTSTEP)
|
||||
/* NEXTSTEP is special: this must come before netinet/tcp.h. */
|
||||
#include <netinet/in_systm.h> /* n_short, n_long, n_time */
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_NETINET_TCP_H
|
||||
#include <netinet/tcp.h> /* TCP_NODELAY, TCP_MAXSEG */
|
||||
#endif
|
||||
|
@ -359,15 +354,9 @@ PRStatus PR_CALLBACK _PR_SocketSetSocketOption(PRFileDesc *fd, const PRSocketOpt
|
|||
#error "SO_LINGER is not defined"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Some platforms, such as NCR 2.03, don't have TCP_NODELAY defined
|
||||
* in <netinet/tcp.h>
|
||||
*/
|
||||
#if !defined(NCR)
|
||||
#if !defined(TCP_NODELAY)
|
||||
#error "TCP_NODELAY is not defined"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Make sure the value of _PR_NO_SUCH_SOCKOPT is not
|
||||
|
|
|
@ -15,13 +15,6 @@ include $(MOD_DEPTH)/config/autoconf.mk
|
|||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
|
||||
CSRCS = \
|
||||
prlink.c \
|
||||
$(NULL)
|
||||
|
|
|
@ -54,8 +54,8 @@
|
|||
/*
|
||||
* On these platforms, symbols have a leading '_'.
|
||||
*/
|
||||
#if defined(SUNOS4) || (defined(DARWIN) && defined(USE_MACH_DYLD)) \
|
||||
|| defined(NEXTSTEP) || defined(XP_OS2) \
|
||||
#if (defined(DARWIN) && defined(USE_MACH_DYLD)) \
|
||||
|| defined(XP_OS2) \
|
||||
|| ((defined(OPENBSD) || defined(NETBSD)) && !defined(__ELF__))
|
||||
#define NEED_LEADING_UNDERSCORE
|
||||
#endif
|
||||
|
|
|
@ -14,13 +14,6 @@ include $(MOD_DEPTH)/config/autoconf.mk
|
|||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
|
||||
TARGETS = $(OBJS)
|
||||
|
||||
INCLUDES = -I$(dist_includedir) -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
|
||||
|
|
|
@ -989,7 +989,7 @@ void _MD_unix_map_connect_error(int err)
|
|||
PR_SetError(PR_INVALID_ARGUMENT_ERROR, err);
|
||||
break;
|
||||
case EIO:
|
||||
#if defined(UNIXWARE) || defined(SNI) || defined(NEC)
|
||||
#if defined(UNIXWARE)
|
||||
/*
|
||||
* On some platforms, if we connect to a port on
|
||||
* the local host (the loopback address) that no
|
||||
|
|
|
@ -28,10 +28,10 @@ static void GetPageSize(void)
|
|||
|
||||
/* Get page size */
|
||||
#ifdef XP_UNIX
|
||||
#if defined SUNOS4 || defined BSDI || defined AIX \
|
||||
#if defined BSDI || defined AIX \
|
||||
|| defined LINUX || defined __GNU__ || defined __GLIBC__ \
|
||||
|| defined FREEBSD || defined NETBSD || defined OPENBSD \
|
||||
|| defined DARWIN || defined NEXTSTEP || defined SYMBIAN
|
||||
|| defined DARWIN || defined SYMBIAN
|
||||
_pr_pageSize = getpagesize();
|
||||
#elif defined(HPUX)
|
||||
/* I have no idea. Don't get me started. --Rob */
|
||||
|
|
|
@ -36,8 +36,7 @@ ASFILES += $(PR_MD_ASFILES)
|
|||
TARGETS = $(OBJS)
|
||||
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifneq ($(OS_RELEASE),4.1.3_U1)
|
||||
ifeq ($(CPU_ARCH),sparc)
|
||||
ifeq ($(CPU_ARCH),sparc)
|
||||
ifdef USE_64
|
||||
ULTRASPARC_ASFILES = os_SunOS_sparcv9.s
|
||||
ULTRASPARC_ASOBJS = $(addprefix $(OBJDIR)/,$(ULTRASPARC_ASFILES:.s=.$(OBJ_SUFFIX)))
|
||||
|
@ -51,7 +50,6 @@ ifeq ($(OS_ARCH),SunOS)
|
|||
RELEASE_LIBS_DEST = $(RELEASE_LIB_DIR)/cpu/sparcv8plus
|
||||
lib_subdir = cpu/sparcv8plus
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -64,7 +62,6 @@ include $(topsrcdir)/config/rules.mk
|
|||
export:: $(TARGETS)
|
||||
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifneq ($(OS_RELEASE),4.1.3_U1)
|
||||
ifeq ($(CPU_ARCH),sparc)
|
||||
|
||||
ifdef USE_64
|
||||
|
@ -100,4 +97,3 @@ endif
|
|||
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
|
|
@ -1,96 +0,0 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
/* We want position independent code */
|
||||
#define PIC
|
||||
|
||||
#include <sys/asm.h>
|
||||
#include <sys/regdef.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
.file 1 "os_ReliantUNIX.s"
|
||||
.option pic2
|
||||
.text
|
||||
|
||||
.align 2
|
||||
.globl getcxt
|
||||
.ent getcxt
|
||||
getcxt:
|
||||
.frame sp,0,$31 # vars= 0, regs= 0/0, args= 0, extra= 0
|
||||
# saved integer regs
|
||||
sw ra,180(a0) # gpregs[CXT_EPC]
|
||||
sw gp,152(a0) # gpregs[CXT_GP]
|
||||
sw sp,156(a0) # gpregs[CXT_SP]
|
||||
sw s8,160(a0) # gpregs[CXT_S8]
|
||||
sw s0,104(a0) # gpregs[CXT_S0]
|
||||
sw s1,108(a0) # gpregs[CXT_S1]
|
||||
sw s2,112(a0) # gpregs[CXT_S2]
|
||||
sw s3,116(a0) # gpregs[CXT_S3]
|
||||
sw s4,120(a0) # gpregs[CXT_S4]
|
||||
sw s5,124(a0) # gpregs[CXT_S5]
|
||||
sw s6,128(a0) # gpregs[CXT_S6]
|
||||
sw s7,132(a0) # gpregs[CXT_S7]
|
||||
# csr
|
||||
cfc1 v0,$31
|
||||
# saved float regs
|
||||
s.d $f20,264(a0) # fpregs.fp_r.fp_dregs[10]
|
||||
s.d $f22,272(a0) # fpregs.fp_r.fp_dregs[11]
|
||||
s.d $f24,280(a0) # fpregs.fp_r.fp_dregs[12]
|
||||
s.d $f26,288(a0) # fpregs.fp_r.fp_dregs[13]
|
||||
s.d $f28,296(a0) # fpregs.fp_r.fp_dregs[14]
|
||||
s.d $f30,304(a0) # fpregs.fp_r.fp_dregs[15]
|
||||
sw v0,312(a0) # fpregs.fp_csr
|
||||
|
||||
# give no illusions about the contents
|
||||
li v0,0x0c # UC_CPU | UC_MAU
|
||||
sw v0,0(a0) # uc_flags
|
||||
|
||||
move v0,zero
|
||||
j ra
|
||||
.end getcxt
|
||||
|
||||
.align 2
|
||||
.globl setcxt
|
||||
.ent setcxt
|
||||
setcxt:
|
||||
.frame sp,0,$31 # vars= 0, regs= 0/0, args= 0, extra= 0
|
||||
lw v0,312(a0) # fpregs.fp_csr
|
||||
li v1,0xfffc0fff # mask out exception cause bits
|
||||
and v0,v0,v1
|
||||
# saved integer regs
|
||||
lw t9,180(a0) # gpregs[CXT_EPC]
|
||||
lw ra,180(a0) # gpregs[CXT_EPC]
|
||||
lw gp,152(a0) # gpregs[CXT_GP]
|
||||
lw sp,156(a0) # gpregs[CXT_SP]
|
||||
ctc1 v0,$31 # fp_csr
|
||||
lw s8,160(a0) # gpregs[CXT_S8]
|
||||
lw s0,104(a0) # gpregs[CXT_S0]
|
||||
lw s1,108(a0) # gpregs[CXT_S1]
|
||||
lw s2,112(a0) # gpregs[CXT_S2]
|
||||
lw s3,116(a0) # gpregs[CXT_S3]
|
||||
lw s4,120(a0) # gpregs[CXT_S4]
|
||||
lw s5,124(a0) # gpregs[CXT_S5]
|
||||
lw s6,128(a0) # gpregs[CXT_S6]
|
||||
lw s7,132(a0) # gpregs[CXT_S7]
|
||||
# saved float regs
|
||||
l.d $f20,264(a0) # fpregs.fp_r.fp_dregs[10]
|
||||
l.d $f22,272(a0) # fpregs.fp_r.fp_dregs[11]
|
||||
l.d $f24,280(a0) # fpregs.fp_r.fp_dregs[12]
|
||||
l.d $f26,288(a0) # fpregs.fp_r.fp_dregs[13]
|
||||
l.d $f28,296(a0) # fpregs.fp_r.fp_dregs[14]
|
||||
l.d $f30,304(a0) # fpregs.fp_r.fp_dregs[15]
|
||||
|
||||
# load these, too
|
||||
# they were not saved, but maybe the user modified them...
|
||||
lw v0,48(a0)
|
||||
lw v1,52(a0)
|
||||
lw a1,60(a0)
|
||||
lw a2,64(a0)
|
||||
lw a3,68(a0)
|
||||
lw a0,56(a0) # there is no way back
|
||||
|
||||
j ra
|
||||
|
||||
.end setcxt
|
|
@ -22,8 +22,7 @@
|
|||
#endif
|
||||
|
||||
/* To get FIONREAD */
|
||||
#if defined(NCR) || defined(UNIXWARE) || defined(NEC) || defined(SNI) \
|
||||
|| defined(SONY)
|
||||
#if defined(UNIXWARE)
|
||||
#include <sys/filio.h>
|
||||
#endif
|
||||
|
||||
|
@ -39,10 +38,10 @@
|
|||
|| (defined(__GLIBC__) && __GLIBC__ >= 2)
|
||||
#define _PRSockLen_t socklen_t
|
||||
#elif defined(IRIX) || defined(HPUX) || defined(OSF1) || defined(SOLARIS) \
|
||||
|| defined(AIX4_1) || defined(LINUX) || defined(SONY) \
|
||||
|| defined(BSDI) || defined(SCO) || defined(NEC) || defined(SNI) \
|
||||
|| defined(SUNOS4) || defined(NCR) || defined(DARWIN) \
|
||||
|| defined(NEXTSTEP) || defined(QNX)
|
||||
|| defined(AIX4_1) || defined(LINUX) \
|
||||
|| defined(BSDI) || defined(SCO) \
|
||||
|| defined(DARWIN) \
|
||||
|| defined(QNX)
|
||||
#define _PRSockLen_t int
|
||||
#elif (defined(AIX) && !defined(AIX4_1)) || defined(FREEBSD) \
|
||||
|| defined(NETBSD) || defined(OPENBSD) || defined(UNIXWARE) \
|
||||
|
@ -768,7 +767,7 @@ PRInt32 _MD_recv(PRFileDesc *fd, void *buf, PRInt32 amount,
|
|||
* from socketpairs. As long as we don't use flags on socketpairs, this
|
||||
* is a decent fix. - mikep
|
||||
*/
|
||||
#if defined(UNIXWARE) || defined(SOLARIS) || defined(NCR)
|
||||
#if defined(UNIXWARE) || defined(SOLARIS)
|
||||
while ((rv = read(osfd,buf,amount)) == -1) {
|
||||
#else
|
||||
while ((rv = recv(osfd,buf,amount,flags)) == -1) {
|
||||
|
@ -2177,11 +2176,7 @@ void _MD_MakeNonblock(PRFileDesc *fd)
|
|||
* otherwise connect() still blocks and can be interrupted by SIGALRM.
|
||||
*/
|
||||
|
||||
#ifdef SUNOS4
|
||||
fcntl(osfd, F_SETFL, flags | FNDELAY);
|
||||
#else
|
||||
fcntl(osfd, F_SETFL, flags | O_NONBLOCK);
|
||||
#endif
|
||||
}
|
||||
|
||||
PRInt32 _MD_open(const char *name, PRIntn flags, PRIntn mode)
|
||||
|
@ -3322,7 +3317,7 @@ int _MD_unix_get_nonblocking_connect_error(int osfd)
|
|||
} else {
|
||||
return ECONNREFUSED;
|
||||
}
|
||||
#elif defined(NCR) || defined(UNIXWARE) || defined(SNI) || defined(NEC)
|
||||
#elif defined(UNIXWARE)
|
||||
/*
|
||||
* getsockopt() fails with EPIPE, so use getmsg() instead.
|
||||
*/
|
||||
|
|
|
@ -531,7 +531,7 @@ void _MD_unix_map_connect_error(int err)
|
|||
case EACCES:
|
||||
prError = PR_ADDRESS_NOT_SUPPORTED_ERROR;
|
||||
break;
|
||||
#if defined(UNIXWARE) || defined(SNI) || defined(NEC)
|
||||
#if defined(UNIXWARE)
|
||||
/*
|
||||
* On some platforms, if we connect to a port on the local host
|
||||
* (the loopback address) that no process is listening on, we get
|
||||
|
|
|
@ -711,11 +711,6 @@ static PRStatus _MD_InitProcesses(void)
|
|||
int rv;
|
||||
int flags;
|
||||
#endif
|
||||
#ifdef SUNOS4
|
||||
#define _PR_NBIO_FLAG FNDELAY
|
||||
#else
|
||||
#define _PR_NBIO_FLAG O_NONBLOCK
|
||||
#endif
|
||||
|
||||
#ifdef AIX
|
||||
{
|
||||
|
@ -739,9 +734,9 @@ static PRStatus _MD_InitProcesses(void)
|
|||
rv = pipe(pr_wp.pipefd);
|
||||
PR_ASSERT(0 == rv);
|
||||
flags = fcntl(pr_wp.pipefd[0], F_GETFL, 0);
|
||||
fcntl(pr_wp.pipefd[0], F_SETFL, flags | _PR_NBIO_FLAG);
|
||||
fcntl(pr_wp.pipefd[0], F_SETFL, flags | O_NONBLOCK);
|
||||
flags = fcntl(pr_wp.pipefd[1], F_GETFL, 0);
|
||||
fcntl(pr_wp.pipefd[1], F_SETFL, flags | _PR_NBIO_FLAG);
|
||||
fcntl(pr_wp.pipefd[1], F_SETFL, flags | O_NONBLOCK);
|
||||
|
||||
#ifndef _PR_SHARE_CLONES
|
||||
pr_InstallSigchldHandler();
|
||||
|
|
|
@ -25,14 +25,6 @@ GetHighResClock(void *buf, size_t maxbytes)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#elif defined(SUNOS4)
|
||||
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#elif defined(HPUX)
|
||||
|
||||
#ifdef __ia64
|
||||
|
@ -134,14 +126,6 @@ GetHighResClock(void *buf, size_t maxbytes)
|
|||
return(GetDevURandom( buf, maxbytes ));
|
||||
}
|
||||
|
||||
#elif defined(NCR)
|
||||
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#elif defined(IRIX)
|
||||
#include <fcntl.h>
|
||||
#undef PRIVATE
|
||||
|
@ -225,34 +209,6 @@ static size_t GetHighResClock(void *buf, size_t maxbuf)
|
|||
return _pr_CopyLowBits(buf, maxbuf, &s0, cntr_size);
|
||||
}
|
||||
|
||||
#elif defined(SONY)
|
||||
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#elif defined(SNI)
|
||||
#include <sys/times.h>
|
||||
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
int ticks;
|
||||
struct tms buffer;
|
||||
|
||||
ticks=times(&buffer);
|
||||
return _pr_CopyLowBits(buf, maxbytes, &ticks, sizeof(ticks));
|
||||
}
|
||||
|
||||
#elif defined(NEC)
|
||||
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#elif defined(SCO) || defined(UNIXWARE) || defined(BSDI) || defined(NTO) \
|
||||
|| defined(QNX) || defined(DARWIN) || defined(RISCOS)
|
||||
#include <sys/times.h>
|
||||
|
|
|
@ -70,9 +70,6 @@ void PR_SetXtHackOkayToReleaseXLockFn(int (*fn)(void))
|
|||
|
||||
#if defined(HPUX9)
|
||||
int select(size_t width, int *rl, int *wl, int *el, const struct timeval *tv)
|
||||
#elif defined(NEXTSTEP)
|
||||
int wrap_select(int width, fd_set *rd, fd_set *wr, fd_set *ex,
|
||||
const struct timeval *tv)
|
||||
#elif defined(AIX_RENAME_SELECT)
|
||||
int wrap_select(unsigned long width, void *rl, void *wl, void *el,
|
||||
struct timeval *tv)
|
||||
|
@ -258,7 +255,7 @@ int select(int width, fd_set *rd, fd_set *wr, fd_set *ex, struct timeval *tv)
|
|||
nbits++;
|
||||
}
|
||||
PR_ASSERT(nbits > 0);
|
||||
#if defined(HPUX) || defined(SOLARIS) || defined(SUNOS4) || defined(OSF1) || defined(AIX)
|
||||
#if defined(HPUX) || defined(SOLARIS) || defined(OSF1) || defined(AIX)
|
||||
retVal += nbits;
|
||||
#else /* IRIX */
|
||||
retVal += 1;
|
||||
|
|
|
@ -1695,7 +1695,7 @@ PR_FormatTime(char *buf, int buflen, const char *fmt, const PRExplodedTime *tm)
|
|||
* additional fields: tm_zone and tm_gmtoff.
|
||||
*/
|
||||
|
||||
#if defined(SUNOS4) || (__GLIBC__ >= 2) || defined(XP_BEOS) \
|
||||
#if (__GLIBC__ >= 2) || defined(XP_BEOS) \
|
||||
|| defined(NETBSD) || defined(OPENBSD) || defined(FREEBSD) \
|
||||
|| defined(DARWIN) || defined(SYMBIAN) || defined(ANDROID)
|
||||
a.tm_zone = NULL;
|
||||
|
|
|
@ -15,13 +15,6 @@ include $(MOD_DEPTH)/config/autoconf.mk
|
|||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
|
||||
CSRCS = \
|
||||
ptio.c \
|
||||
ptsynch.c \
|
||||
|
|
|
@ -4850,7 +4850,7 @@ PR_IMPLEMENT(PRInt32) PR_FD_NISSET(PRInt32 fd, PR_fd_set *set)
|
|||
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#if !defined(SUNOS4) && !defined(HPUX) \
|
||||
#if !defined(HPUX) \
|
||||
&& !defined(LINUX) && !defined(__GNU__) && !defined(__GLIBC__)
|
||||
#include <sys/select.h>
|
||||
#endif
|
||||
|
|
|
@ -15,13 +15,6 @@ include $(MOD_DEPTH)/config/autoconf.mk
|
|||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
CSRCS = \
|
||||
$(NULL)
|
||||
|
|
|
@ -296,15 +296,13 @@ endif
|
|||
|
||||
# Solaris
|
||||
ifeq ($(OS_ARCH), SunOS)
|
||||
ifneq ($(OS_RELEASE), 4.1.3_U1)
|
||||
ifdef NS_USE_GCC
|
||||
LDOPTS += -Xlinker -R -Xlinker $(ABSOLUTE_LIB_DIR)
|
||||
else
|
||||
ifeq ($(USE_CPLUS), 1)
|
||||
CC = CC
|
||||
endif
|
||||
LDOPTS += -R $(ABSOLUTE_LIB_DIR)
|
||||
ifdef NS_USE_GCC
|
||||
LDOPTS += -Xlinker -R -Xlinker $(ABSOLUTE_LIB_DIR)
|
||||
else
|
||||
ifeq ($(USE_CPLUS), 1)
|
||||
CC = CC
|
||||
endif
|
||||
LDOPTS += -R $(ABSOLUTE_LIB_DIR)
|
||||
endif
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
|
@ -312,41 +310,6 @@ ifeq ($(OS_ARCH), SunOS)
|
|||
endif
|
||||
endif # SunOS
|
||||
|
||||
ifeq ($(OS_ARCH), NEC)
|
||||
EXTRA_LIBS = $(OS_LIBS)
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), NCR)
|
||||
# NCR needs to link against -lsocket -lnsl -ldl (and -lc, which is
|
||||
# linked implicitly by $(CC)). Note that we did not link with these
|
||||
# system libraries when we built libnspr.so.
|
||||
EXTRA_LIBS = -lsocket -lnsl -ldl
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), NEXTSTEP)
|
||||
# balazs.pataki@sztaki.hu: linkage is done in a different pass in the `tests'
|
||||
# modeul, so we have to pass the `-posix' flag by "hand" to `ld'
|
||||
LDOPTS += -posix
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), NEWS-OS)
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
#export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
|
||||
LIBNSPR = $(dist_libdir)/libnspr$(MOD_MAJOR_VERSION).a
|
||||
LIBPLC = $(dist_libdir)/libplc$(MOD_MAJOR_VERSION).a
|
||||
EXTRA_LIBS = -lsocket -lnsl -lgen -lresolv
|
||||
endif
|
||||
|
||||
ifeq (,$(filter-out Linux GNU GNU_%,$(OS_ARCH)))
|
||||
LDOPTS += -Xlinker -rpath $(ABSOLUTE_LIB_DIR)
|
||||
ifeq ($(USE_PTHREADS),1)
|
||||
|
@ -364,14 +327,6 @@ EXTRA_LIBS = -lsocket
|
|||
export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),SINIX)
|
||||
EXTRA_LIBS = -lsocket -lnsl -lresolv -ldl
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),OpenUNIX)
|
||||
export LD_RUN_PATH = $(ABSOLUTE_LIB_DIR)
|
||||
ifeq ($(USE_PTHREADS),1)
|
||||
|
@ -484,7 +439,6 @@ clean::
|
|||
# The following tests call BSD socket functions, so they need to link
|
||||
# with -lsocket on some platforms.
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifneq ($(OS_RELEASE),4.1.3_U1)
|
||||
ifeq ($(USE_IPV6),1)
|
||||
$(OBJDIR)/gethost: $(OBJDIR)/gethost.o
|
||||
$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@
|
||||
|
@ -492,7 +446,6 @@ endif
|
|||
$(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o
|
||||
$(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(USE_PTHREADS), 1)
|
||||
$(OBJDIR)/attach: $(OBJDIR)/attach.o
|
||||
|
|
|
@ -14,13 +14,6 @@ include $(MOD_DEPTH)/config/autoconf.mk
|
|||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Disable optimization of the nspr on SunOS4.1.3
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
ifeq ($(OS_RELEASE),4.1.3_U1)
|
||||
OPTIMIZER =
|
||||
endif
|
||||
endif
|
||||
|
||||
CSRCS = mygetval.c mysetval.c
|
||||
|
||||
INCLUDES = -I$(dist_includedir)
|
||||
|
|
|
@ -86,13 +86,11 @@ endif
|
|||
|
||||
# Solaris
|
||||
ifeq ($(OS_ARCH), SunOS)
|
||||
ifneq ($(OS_RELEASE), 4.1.3_U1)
|
||||
ifdef NS_USE_GCC
|
||||
LDOPTS += -Xlinker -R -Xlinker $(PWD)/$(dist_libdir)
|
||||
else
|
||||
LDOPTS += -R $(PWD)/$(dist_libdir)
|
||||
endif
|
||||
endif
|
||||
|
||||
# SunOS 5.5 needs to link with -lpthread, even though we already
|
||||
# linked with this system library when we built libnspr.so.
|
||||
|
@ -103,24 +101,6 @@ endif
|
|||
endif
|
||||
endif # SunOS
|
||||
|
||||
ifeq ($(OS_ARCH), NCR)
|
||||
# XXX: We see some strange problems when we link with libnspr.so.
|
||||
# So for now we use static libraries on NCR. The shared library
|
||||
# stuff below is commented out.
|
||||
LIBPR = $(dist_libdir)/libnspr$(NSPR_VERSION).a
|
||||
LIBPLC = $(dist_libdir)/libplc$(NSPR_VERSION).a
|
||||
EXTRA_LIBS = -lsocket -lnsl -ldl
|
||||
|
||||
# NCR needs to link against -lsocket -lnsl (and -lc, which is linked
|
||||
# implicitly by $(CC)) again even though we already linked with these
|
||||
# system libraries when we built libnspr.so.
|
||||
#EXTRA_LIBS = -lsocket -lnsl
|
||||
# This hardcodes in the executable programs the directory to find
|
||||
# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
|
||||
# option for ld on other platforms.
|
||||
#export LD_RUN_PATH = $(PWD)/$(dist_libdir)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), SCOOS)
|
||||
# SCO Unix needs to link against -lsocket again even though we
|
||||
# already linked with these system libraries when we built libnspr.so.
|
||||
|
|
Загрузка…
Ссылка в новой задаче