Compare commits
10 Commits
NETSCAPE_6
...
NETSCAPE_6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
62c2442688 | ||
|
|
dc93d862f2 | ||
|
|
88cbad25ed | ||
|
|
444382fee9 | ||
|
|
a933c5cc45 | ||
|
|
c607be5957 | ||
|
|
7842b8fd08 | ||
|
|
4717a58673 | ||
|
|
a1d6497240 | ||
|
|
52657783d9 |
@@ -7,12 +7,12 @@
|
||||
# mozilla/gc, , 10/25/2000 12:00:00
|
||||
#
|
||||
|
||||
mozilla/nsprpub, NETSCAPE_6_2_2_BRANCH
|
||||
mozilla/security/nss, NETSCAPE_6_2_2_BRANCH
|
||||
mozilla/security/manager, NETSCAPE_6_2_2_BRANCH
|
||||
mozilla/accessible, NETSCAPE_6_2_2_BRANCH
|
||||
DirectorySDKSourceC, NETSCAPE_6_2_2_BRANCH
|
||||
mozilla/lib/mac/Instrumentation, NETSCAPE_6_2_2_BRANCH
|
||||
mozilla/gfx2, NETSCAPE_6_2_2_BRANCH
|
||||
mozilla/modules/libpr0n, NETSCAPE_6_2_2_BRANCH
|
||||
SeaMonkeyAll, NETSCAPE_6_2_2_BRANCH
|
||||
mozilla/nsprpub, NETSCAPE_6_2_3_BRANCH
|
||||
mozilla/security/nss, NETSCAPE_6_2_3_BRANCH
|
||||
mozilla/security/manager, NETSCAPE_6_2_3_BRANCH
|
||||
mozilla/accessible, NETSCAPE_6_2_3_BRANCH
|
||||
DirectorySDKSourceC, NETSCAPE_6_2_3_BRANCH
|
||||
mozilla/lib/mac/Instrumentation, NETSCAPE_6_2_3_BRANCH
|
||||
mozilla/gfx2, NETSCAPE_6_2_3_BRANCH
|
||||
mozilla/modules/libpr0n, NETSCAPE_6_2_3_BRANCH
|
||||
SeaMonkeyAll, NETSCAPE_6_2_3_BRANCH
|
||||
|
||||
@@ -34,7 +34,9 @@ interface nsIAggregatePrincipal : nsISupports {
|
||||
|
||||
attribute nsIPrincipal certificate;
|
||||
attribute nsIPrincipal codebase;
|
||||
readonly attribute nsIPrincipal originalCodebase;
|
||||
readonly attribute nsIPrincipal primaryChild;
|
||||
|
||||
void intersect(in nsIPrincipal other);
|
||||
boolean wasCodebaseChanged();
|
||||
};
|
||||
|
||||
@@ -94,6 +94,8 @@ public:
|
||||
protected:
|
||||
nsCOMPtr<nsIPrincipal> mCertificate;
|
||||
nsCOMPtr<nsIPrincipal> mCodebase;
|
||||
nsCOMPtr<nsIPrincipal> mOriginalCodebase;
|
||||
PRBool mCodebaseWasChanged;
|
||||
};
|
||||
|
||||
#endif // _NS_AGGREGATE_PRINCIPAL_H_
|
||||
|
||||
@@ -170,27 +170,44 @@ NS_IMETHODIMP
|
||||
nsAggregatePrincipal::SetCodebase(nsIPrincipal* aCodebase)
|
||||
{
|
||||
nsresult rv;
|
||||
//-- Make sure this really is a codebase principal
|
||||
if (aCodebase)
|
||||
nsCOMPtr<nsIPrincipal> newCodebase(aCodebase);
|
||||
|
||||
//-- If newCodebase is an aggregate, get its underlying codebase
|
||||
nsCOMPtr<nsIAggregatePrincipal> agg =
|
||||
do_QueryInterface(newCodebase, &rv);
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
rv = agg->GetCodebase(getter_AddRefs(newCodebase));
|
||||
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
|
||||
}
|
||||
else
|
||||
{ //-- Make sure this really is a codebase principal
|
||||
nsCOMPtr<nsICodebasePrincipal> tempCodebase =
|
||||
do_QueryInterface(aCodebase, &rv);
|
||||
do_QueryInterface(newCodebase, &rv);
|
||||
if (NS_FAILED(rv))
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
//-- If aCodebase is an aggregate, get its underlying codebase
|
||||
nsCOMPtr<nsIAggregatePrincipal> agg =
|
||||
do_QueryInterface(aCodebase, &rv);
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsCOMPtr<nsIPrincipal> underlying;
|
||||
rv = agg->GetCodebase(getter_AddRefs(underlying));
|
||||
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
|
||||
mCodebase = underlying.get();
|
||||
}
|
||||
mCodebase = newCodebase;
|
||||
|
||||
//-- If this is the first codebase set, remember it.
|
||||
// If not, remember that the codebase was explicitly set
|
||||
if (!mOriginalCodebase)
|
||||
mOriginalCodebase = newCodebase;
|
||||
else
|
||||
mCodebase = aCodebase;
|
||||
mCodebaseWasChanged = PR_TRUE;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsAggregatePrincipal::GetOriginalCodebase(nsIPrincipal** aOriginalCodebase)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aOriginalCodebase);
|
||||
|
||||
*aOriginalCodebase = mOriginalCodebase;
|
||||
NS_IF_ADDREF(*aOriginalCodebase);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@@ -229,6 +246,13 @@ nsAggregatePrincipal::Intersect(nsIPrincipal* other)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsAggregatePrincipal::WasCodebaseChanged(PRBool* changed)
|
||||
{
|
||||
*changed = mCodebaseWasChanged;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
///////////////////////////////////////
|
||||
// Methods implementing nsIPrincipal //
|
||||
///////////////////////////////////////
|
||||
@@ -403,7 +427,7 @@ nsAggregatePrincipal::Write(nsIObjectOutputStream* aStream)
|
||||
// Constructor, Destructor, initialization //
|
||||
/////////////////////////////////////////////
|
||||
|
||||
nsAggregatePrincipal::nsAggregatePrincipal()
|
||||
nsAggregatePrincipal::nsAggregatePrincipal() : mCodebaseWasChanged(PR_FALSE)
|
||||
{
|
||||
NS_INIT_ISUPPORTS();
|
||||
}
|
||||
|
||||
@@ -231,6 +231,15 @@ nsScriptSecurityManager::CheckSameOrigin(JSContext* cx,
|
||||
// We have native code or the system principal, so allow access
|
||||
return NS_OK;
|
||||
|
||||
// Get the original URI from the source principal.
|
||||
// This has the effect of ignoring any change to document.domain
|
||||
// which must be done to avoid DNS spoofing (bug 154930)
|
||||
nsCOMPtr<nsIAggregatePrincipal> sourceAgg(do_QueryInterface(sourcePrincipal, &rv));
|
||||
NS_ENSURE_SUCCESS(rv, rv); // If it's not a system principal, it must be an aggregate
|
||||
nsCOMPtr<nsIPrincipal> sourceOriginal;
|
||||
rv = sourceAgg->GetOriginalCodebase(getter_AddRefs(sourceOriginal));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
// Create a principal from the target URI
|
||||
// XXX factor out the Equals function so this isn't necessary
|
||||
nsCOMPtr<nsIPrincipal> targetPrincipal;
|
||||
@@ -239,7 +248,7 @@ nsScriptSecurityManager::CheckSameOrigin(JSContext* cx,
|
||||
return rv;
|
||||
|
||||
// Compare origins
|
||||
return CheckSameOriginInternal(sourcePrincipal, targetPrincipal,
|
||||
return CheckSameOriginInternal(sourceOriginal, targetPrincipal,
|
||||
0, PR_FALSE /* do not check for privileges */);
|
||||
}
|
||||
|
||||
@@ -494,6 +503,7 @@ nsScriptSecurityManager::CheckSameOriginInternal(nsIPrincipal* aSubject,
|
||||
PRUint32 aAction,
|
||||
PRBool checkForPrivileges)
|
||||
{
|
||||
nsresult rv;
|
||||
/*
|
||||
** Get origin of subject and object and compare.
|
||||
*/
|
||||
@@ -505,7 +515,25 @@ nsScriptSecurityManager::CheckSameOriginInternal(nsIPrincipal* aSubject,
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
if (isSameOrigin)
|
||||
return NS_OK;
|
||||
{ // If either the subject or the object has changed its principal by
|
||||
// explicitly setting document.domain then the other must also have
|
||||
// done so in order to be considered the same origin. This prevents
|
||||
// DNS spoofing based on document.domain (154930)
|
||||
nsCOMPtr<nsIAggregatePrincipal> subjectAgg(do_QueryInterface(aSubject, &rv));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
PRBool subjectSetDomain = PR_FALSE;
|
||||
subjectAgg->WasCodebaseChanged(&subjectSetDomain);
|
||||
|
||||
nsCOMPtr<nsIAggregatePrincipal> objectAgg(do_QueryInterface(aObject, &rv));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
PRBool objectSetDomain = PR_FALSE;
|
||||
objectAgg->WasCodebaseChanged(&objectSetDomain);
|
||||
|
||||
// If both or neither explicitly set their domain, allow the access
|
||||
if (!(subjectSetDomain || objectSetDomain) ||
|
||||
(subjectSetDomain && objectSetDomain))
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// Allow access to about:blank
|
||||
nsCOMPtr<nsICodebasePrincipal> objectCodebase(do_QueryInterface(aObject));
|
||||
|
||||
@@ -40,14 +40,14 @@ MOZ_OBJDIR = WIN32_O.OBJ
|
||||
#// Figure out how to do the pull.
|
||||
#//------------------------------------------------------------------------
|
||||
# uncomment these, modify branch tag, and check in to branch for milestones
|
||||
MOZ_BRANCH=NETSCAPE_6_2_2_BRANCH
|
||||
NSPR_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
PSM_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
NSS_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
LDAPCSDK_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
ACCESSIBLE_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
IMGLIB2_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
GFX2_CO_TAG=NETSCAPE_6_2_2_BRANCH
|
||||
MOZ_BRANCH=NETSCAPE_6_2_3_BRANCH
|
||||
NSPR_CO_TAG=NETSCAPE_6_2_3_BRANCH
|
||||
PSM_CO_TAG=NETSCAPE_6_2_3_BRANCH
|
||||
NSS_CO_TAG=NETSCAPE_6_2_3_BRANCH
|
||||
LDAPCSDK_CO_TAG=NETSCAPE_6_2_3_BRANCH
|
||||
ACCESSIBLE_CO_TAG=NETSCAPE_6_2_3_BRANCH
|
||||
IMGLIB2_CO_TAG=NETSCAPE_6_2_3_BRANCH
|
||||
GFX2_CO_TAG=NETSCAPE_6_2_3_BRANCH
|
||||
|
||||
|
||||
!ifdef MOZ_BRANCH
|
||||
|
||||
@@ -52,14 +52,14 @@
|
||||
#
|
||||
# For branches, uncomment the MOZ_CO_TAG line with the proper tag,
|
||||
# and commit this file on that tag.
|
||||
MOZ_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
NSPR_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
PSM_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
NSS_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
LDAPCSDK_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
ACCESSIBLE_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
GFX2_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
IMGLIB2_CO_TAG = NETSCAPE_6_2_2_BRANCH
|
||||
MOZ_CO_TAG = NETSCAPE_6_2_3_BRANCH
|
||||
NSPR_CO_TAG = NETSCAPE_6_2_3_BRANCH
|
||||
PSM_CO_TAG = NETSCAPE_6_2_3_BRANCH
|
||||
NSS_CO_TAG = NETSCAPE_6_2_3_BRANCH
|
||||
LDAPCSDK_CO_TAG = NETSCAPE_6_2_3_BRANCH
|
||||
ACCESSIBLE_CO_TAG = NETSCAPE_6_2_3_BRANCH
|
||||
GFX2_CO_TAG = NETSCAPE_6_2_3_BRANCH
|
||||
IMGLIB2_CO_TAG = NETSCAPE_6_2_3_BRANCH
|
||||
BUILD_MODULES = all
|
||||
|
||||
#######################################################################
|
||||
|
||||
@@ -427,15 +427,6 @@ ifeq ($(OS_ARCH),HP-UX)
|
||||
ifdef IS_COMPONENT
|
||||
ifeq ($(GNU_CC)$(GNU_CXX),)
|
||||
EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
|
||||
ifneq ($(HAS_EXTRAEXPORTS),1)
|
||||
ifeq ($(OS_TEST),ia64)
|
||||
MKSHLIB += -Wl,+eNSGetModule -Wl,+eerrno
|
||||
MKCSHLIB += -Wl,+eNSGetModule -Wl,+eerrno
|
||||
else
|
||||
MKSHLIB += -Wl,+eNSGetModule -Wl,+eerrno -Wl,+e_shlInit
|
||||
MKCSHLIB += -Wl,+eNSGetModule -Wl,+eerrno -Wl,+e_shlInit
|
||||
endif # ia64
|
||||
endif # !HAS_EXTRAEXPORTS
|
||||
endif # non-gnu compilers
|
||||
endif # IS_COMPONENT
|
||||
endif # HP-UX
|
||||
|
||||
@@ -2078,14 +2078,8 @@ initializeEncoding(XML_Parser parser)
|
||||
#else
|
||||
s = protocolEncodingName;
|
||||
#endif
|
||||
//if ((ns ? XmlInitEncodingNS : XmlInitEncoding)(&initEncoding, &encoding, s))
|
||||
if (ns) {
|
||||
if (XmlInitEncodingNS(&initEncoding, &encoding, s))
|
||||
return XML_ERROR_NONE;
|
||||
} else {
|
||||
if (XmlInitEncoding(&initEncoding, &encoding, s))
|
||||
return XML_ERROR_NONE;
|
||||
}
|
||||
if ((ns ? XmlInitEncodingNS : XmlInitEncoding)(&initEncoding, &encoding, s))
|
||||
return XML_ERROR_NONE;
|
||||
return handleUnknownEncoding(parser, protocolEncodingName);
|
||||
}
|
||||
|
||||
@@ -2097,13 +2091,18 @@ processXmlDecl(XML_Parser parser, int isGeneralTextEntity,
|
||||
const ENCODING *newEncoding = 0;
|
||||
const char *version;
|
||||
int standalone = -1;
|
||||
if (ns) {
|
||||
if (!XmlParseXmlDeclNS(isGeneralTextEntity, encoding, s, next, &eventPtr, &version, &encodingName, &newEncoding, &standalone))
|
||||
return XML_ERROR_SYNTAX;
|
||||
} else {
|
||||
if (!XmlParseXmlDecl(isGeneralTextEntity, encoding, s, next, &eventPtr, &version, &encodingName, &newEncoding, &standalone))
|
||||
return XML_ERROR_SYNTAX;
|
||||
}
|
||||
if (!(ns
|
||||
? XmlParseXmlDeclNS
|
||||
: XmlParseXmlDecl)(isGeneralTextEntity,
|
||||
encoding,
|
||||
s,
|
||||
next,
|
||||
&eventPtr,
|
||||
&version,
|
||||
&encodingName,
|
||||
&newEncoding,
|
||||
&standalone))
|
||||
return XML_ERROR_SYNTAX;
|
||||
if (!isGeneralTextEntity && standalone == 1) {
|
||||
dtd.standalone = 1;
|
||||
#ifdef XML_DTD
|
||||
@@ -2159,10 +2158,12 @@ handleUnknownEncoding(XML_Parser parser, const XML_Char *encodingName)
|
||||
info.release(info.data);
|
||||
return XML_ERROR_NO_MEMORY;
|
||||
}
|
||||
if (ns)
|
||||
enc = XmlInitUnknownEncodingNS(unknownEncodingMem, info.map, info.convert, info.data);
|
||||
else
|
||||
enc = XmlInitUnknownEncoding(unknownEncodingMem, info.map, info.convert, info.data);
|
||||
enc = (ns
|
||||
? XmlInitUnknownEncodingNS
|
||||
: XmlInitUnknownEncoding)(unknownEncodingMem,
|
||||
info.map,
|
||||
info.convert,
|
||||
info.data);
|
||||
if (enc) {
|
||||
unknownEncodingData = info.data;
|
||||
unknownEncodingRelease = info.release;
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#include "nsIPref.h"
|
||||
#include "nsTextFormatter.h"
|
||||
#include "nsAppDirectoryServiceDefs.h"
|
||||
#include "nsNetUtil.h"
|
||||
|
||||
#define MAX_NUMBER_OF_COOKIES 300
|
||||
#define MAX_COOKIES_PER_SERVER 20
|
||||
@@ -455,6 +456,20 @@ COOKIE_GetCookie(char * address) {
|
||||
isSecure = PR_TRUE;
|
||||
}
|
||||
|
||||
/* Hacky security check: If address is of a scheme that
|
||||
doesn't support hostnames, we have no host to get a cookie for,
|
||||
so we must not attempt to get cookies (bug 152725)
|
||||
*/
|
||||
nsCOMPtr<nsIURI> uri;
|
||||
nsresult secResult = NS_NewURI(getter_AddRefs(uri),
|
||||
address, nsnull);
|
||||
if (NS_FAILED(secResult))
|
||||
return nsnull;
|
||||
nsXPIDLCString tempHost;
|
||||
secResult = uri->GetHost(getter_Copies(tempHost));
|
||||
if (NS_FAILED(secResult))
|
||||
return nsnull;
|
||||
|
||||
/* search for all cookies */
|
||||
if (cookie_list == nsnull) {
|
||||
return NULL;
|
||||
@@ -710,6 +725,20 @@ cookie_SetCookieString(char * curURL, nsIPrompt *aPrompter, const char * setCook
|
||||
return;
|
||||
}
|
||||
|
||||
/* Hacky security check: If address is of a scheme that
|
||||
doesn't support hostnames, we have no host to set a cookie on,
|
||||
so we must not attempt to set cookies (bug 152725)
|
||||
*/
|
||||
nsCOMPtr<nsIURI> uri;
|
||||
nsresult secResult = NS_NewURI(getter_AddRefs(uri),
|
||||
curURL, nsnull);
|
||||
if (NS_FAILED(secResult))
|
||||
return;
|
||||
nsXPIDLCString tempHost;
|
||||
secResult = uri->GetHost(getter_Copies(tempHost));
|
||||
if (NS_FAILED(secResult))
|
||||
return;
|
||||
|
||||
//printf("\nSetCookieString(URL '%s', header '%s') time %d == %s\n",curURL,setCookieHeader,timeToExpire,asctime(gmtime(&timeToExpire)));
|
||||
if(cookie_GetLifetimePref() == COOKIE_Discard) {
|
||||
if(cookie_GetLifetimeTime() < timeToExpire) {
|
||||
|
||||
@@ -2041,6 +2041,24 @@ SINGSIGN_RememberSignonData
|
||||
nsXPIDLCString strippedRealm;
|
||||
nsCOMPtr<nsIIOService> ioService = do_GetService(NS_IOSERVICE_CONTRACTID);
|
||||
if (!ioService) return;
|
||||
|
||||
|
||||
/* Hacky security check: If address is of a scheme that
|
||||
doesn't support hostnames, we have no host to get the signon data from,
|
||||
so we must not attempt to restore the signon data (bug 159484)
|
||||
*/
|
||||
nsCOMPtr<nsIURI> uri;
|
||||
nsresult result = ioService->NewURI(passwordRealm,
|
||||
nsnull, getter_AddRefs(uri));
|
||||
if (NS_FAILED(result)) {
|
||||
return;
|
||||
}
|
||||
nsXPIDLCString tempHost;
|
||||
result = uri->GetHost(getter_Copies(tempHost));
|
||||
if (NS_FAILED(result)) {
|
||||
return;
|
||||
}
|
||||
|
||||
ioService->ExtractUrlPart(passwordRealm, nsIIOService::url_Host, 0, 0, getter_Copies(strippedRealm));
|
||||
if (strippedRealm) {
|
||||
si_RememberSignonData(dialog, strippedRealm, signonData, window);
|
||||
@@ -2156,6 +2174,24 @@ SINGSIGN_RestoreSignonData(nsIPrompt* dialog, const char* passwordRealm, const P
|
||||
nsXPIDLCString strippedRealm;
|
||||
nsCOMPtr<nsIIOService> ioService = do_GetService(NS_IOSERVICE_CONTRACTID);
|
||||
if (!ioService) return;
|
||||
|
||||
|
||||
/* Hacky security check: If address is of a scheme that
|
||||
doesn't support hostnames, we have no host to get the signon data from,
|
||||
so we must not attempt to restore the signon data (bug 159484)
|
||||
*/
|
||||
nsCOMPtr<nsIURI> uri;
|
||||
nsresult result = ioService->NewURI(passwordRealm,
|
||||
nsnull, getter_AddRefs(uri));
|
||||
if (NS_FAILED(result)) {
|
||||
return;
|
||||
}
|
||||
nsXPIDLCString tempHost;
|
||||
result = uri->GetHost(getter_Copies(tempHost));
|
||||
if (NS_FAILED(result)) {
|
||||
return;
|
||||
}
|
||||
|
||||
ioService->ExtractUrlPart(passwordRealm, nsIIOService::url_Host, 0, 0, getter_Copies(strippedRealm));
|
||||
si_RestoreSignonData(dialog, strippedRealm, name, value, elementNumber);
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ EXTRA_DSO_LDOPTS += $(MOZ_COMPONENT_LIBS)
|
||||
|
||||
# Reserved name __STDC__ cannot be defined as a macro name on AIX or OpenVMS.
|
||||
# QNX simply objects to the way it's being redefined.
|
||||
ifeq (,$(filter AIX HP-UX OpenVMS QNX,$(OS_ARCH)))
|
||||
ifeq (,$(filter AIX OpenVMS QNX,$(OS_ARCH)))
|
||||
CFLAGS += -D__STDC__
|
||||
endif
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ CFLAGS += -DUSE_NSREG
|
||||
|
||||
# Reserved name __STDC__ cannot be defined as a macro name on AIX or OpenVMS.
|
||||
# QNX simply objects to the way it's being redefined.
|
||||
ifeq (,$(filter AIX HP-UX OpenVMS QNX,$(OS_ARCH)))
|
||||
ifeq (,$(filter AIX OpenVMS QNX,$(OS_ARCH)))
|
||||
CFLAGS += -D__STDC__
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is Mozilla Communicator client code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape Communications
|
||||
* Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Dean Tessman <dean_tessman@hotmail.com>
|
||||
*/
|
||||
|
||||
#ifndef nsIMenuParent_h___
|
||||
#define nsIMenuParent_h___
|
||||
|
||||
|
||||
// {D407BF61-3EFA-11d3-97FA-00400553EEF0}
|
||||
#define NS_IMENUPARENT_IID \
|
||||
{ 0xd407bf61, 0x3efa, 0x11d3, { 0x97, 0xfa, 0x0, 0x40, 0x5, 0x53, 0xee, 0xf0 } }
|
||||
|
||||
class nsIMenuFrame;
|
||||
|
||||
class nsIMenuParent : public nsISupports {
|
||||
|
||||
public:
|
||||
static const nsIID& GetIID() { static nsIID iid = NS_IMENUPARENT_IID; return iid; }
|
||||
|
||||
NS_IMETHOD GetCurrentMenuItem(nsIMenuFrame** aMenuItem) = 0;
|
||||
NS_IMETHOD SetCurrentMenuItem(nsIMenuFrame* aMenuItem) = 0;
|
||||
NS_IMETHOD GetNextMenuItem(nsIMenuFrame* aStart, nsIMenuFrame** aResult) = 0;
|
||||
NS_IMETHOD GetPreviousMenuItem(nsIMenuFrame* aStart, nsIMenuFrame** aResult) = 0;
|
||||
|
||||
NS_IMETHOD SetActive(PRBool aActiveFlag) = 0;
|
||||
NS_IMETHOD GetIsActive(PRBool& isActive) = 0;
|
||||
NS_IMETHOD GetWidget(nsIWidget **aWidget) = 0;
|
||||
|
||||
NS_IMETHOD IsMenuBar(PRBool& isMenuBar) = 0;
|
||||
|
||||
NS_IMETHOD DismissChain() = 0;
|
||||
NS_IMETHOD HideChain() = 0;
|
||||
NS_IMETHOD KillPendingTimers() = 0;
|
||||
|
||||
NS_IMETHOD CreateDismissalListener() = 0;
|
||||
|
||||
NS_IMETHOD InstallKeyboardNavigator() = 0;
|
||||
NS_IMETHOD RemoveKeyboardNavigator() = 0;
|
||||
|
||||
// Used to move up, down, left, and right in menus.
|
||||
NS_IMETHOD KeyboardNavigation(PRUint32 aDirection, PRBool& aHandledFlag) = 0;
|
||||
NS_IMETHOD ShortcutNavigation(PRUint32 aLetter, PRBool& aHandledFlag) = 0;
|
||||
// Called when the ESC key is held down to close levels of menus.
|
||||
NS_IMETHOD Escape(PRBool& aHandledFlag) = 0;
|
||||
// Called to execute a menu item.
|
||||
NS_IMETHOD Enter() = 0;
|
||||
|
||||
NS_IMETHOD SetIsContextMenu(PRBool aIsContextMenu) = 0;
|
||||
NS_IMETHOD GetIsContextMenu(PRBool& aIsContextMenu) = 0;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -117,7 +117,6 @@ static void SetMIMETypeSeparator(char *minfo)
|
||||
#define DEFAULT_X11_PATH "/usr/lib/X11R6/"
|
||||
#undef LOCAL_PLUGIN_DLL_SUFFIX
|
||||
#define LOCAL_PLUGIN_DLL_SUFFIX ".sl"
|
||||
#define LOCAL_PLUGIN_DLL_ALT_SUFFIX ".so"
|
||||
#elif defined(SOLARIS)
|
||||
#define DEFAULT_X11_PATH "/usr/openwin/lib/"
|
||||
#elif defined(LINUX)
|
||||
@@ -330,15 +329,6 @@ PRBool nsPluginsDir::IsPluginFile(const nsFileSpec& fileSpec)
|
||||
if (n > 0 && !PL_strcmp(&pathname[n], LOCAL_PLUGIN_DLL_SUFFIX)) {
|
||||
ret = PR_TRUE; // *.so or *.sl file
|
||||
}
|
||||
#ifdef LOCAL_PLUGIN_DLL_ALT_SUFFIX
|
||||
if (PR_TRUE != ret) {
|
||||
n = PL_strlen(pathname) - (sizeof(LOCAL_PLUGIN_DLL_ALT_SUFFIX) - 1);
|
||||
if (n > 0 && !PL_strcmp(&pathname[n], LOCAL_PLUGIN_DLL_ALT_SUFFIX)) {
|
||||
ret = PR_TRUE;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef NS_DEBUG
|
||||
printf("IsPluginFile(%s) == %s\n", pathname, ret?"TRUE":"FALSE");
|
||||
#endif
|
||||
|
||||
@@ -203,7 +203,7 @@ nsSocketTransport::~nsSocketTransport()
|
||||
}
|
||||
|
||||
if (mService) {
|
||||
PR_AtomicDecrement(&mService->mTotalTransports);
|
||||
mService->OnTransportDestroyed();
|
||||
NS_RELEASE(mService);
|
||||
}
|
||||
|
||||
@@ -340,7 +340,7 @@ nsresult nsSocketTransport::Init(nsSocketTransportService* aService,
|
||||
|
||||
// Update the active time for timeout purposes...
|
||||
mLastActiveTime = PR_IntervalNow();
|
||||
PR_AtomicIncrement(&mService->mTotalTransports);
|
||||
mService->OnTransportCreated();
|
||||
|
||||
LOG(("nsSocketTransport: Initializing [%s:%d %x]. rv = %x",
|
||||
mHostName, mPort, this, rv));
|
||||
@@ -422,8 +422,11 @@ nsresult nsSocketTransport::Process(PRInt16 aSelectFlags)
|
||||
//
|
||||
// A connection has been established with the server
|
||||
//
|
||||
PR_AtomicIncrement(&mService->mConnectedTransports);
|
||||
mWasConnected = PR_TRUE;
|
||||
if (!mWasConnected) {
|
||||
const char *host = (mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName;
|
||||
mService->OnTransportConnected(host, &mNetAddress);
|
||||
mWasConnected = PR_TRUE;
|
||||
}
|
||||
|
||||
// Send status message
|
||||
OnStatus(NS_NET_STATUS_CONNECTED_TO);
|
||||
@@ -626,46 +629,65 @@ nsresult nsSocketTransport::doResolveHost(void)
|
||||
//
|
||||
if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
|
||||
//
|
||||
// Initialize the port used for the connection...
|
||||
// determine the desired host:port
|
||||
//
|
||||
// XXX: The list of ports must be restricted - see net_bad_ports_table[] in
|
||||
// mozilla/network/main/mkconect.c
|
||||
//
|
||||
mNetAddress.ipv6.port = PR_htons(((mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort));
|
||||
const char *host = (mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName;
|
||||
PRInt32 port = (mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort;
|
||||
|
||||
nsCOMPtr<nsIDNSService> pDNSService(do_GetService(kDNSService, &rv));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
PRIPv6Addr addr;
|
||||
if (mService->LookupHost(host, &addr)) {
|
||||
// found address!
|
||||
PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, port, &mNetAddress);
|
||||
memcpy(&mNetAddress.ipv6.ip, &addr, sizeof(addr));
|
||||
#ifdef PR_LOGGING
|
||||
char buf[128];
|
||||
PR_NetAddrToString(&mNetAddress, buf, sizeof(buf));
|
||||
LOG((" -> using cached ip address [%s]\n", buf));
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
//
|
||||
// Initialize the port used for the connection...
|
||||
//
|
||||
// XXX: The list of ports must be restricted - see net_bad_ports_table[] in
|
||||
// mozilla/network/main/mkconect.c
|
||||
//
|
||||
mNetAddress.ipv6.port = PR_htons(port);
|
||||
|
||||
//
|
||||
// Give up the SocketTransport lock. This allows the DNS thread to call the
|
||||
// nsIDNSListener notifications without blocking...
|
||||
//
|
||||
PR_ExitMonitor(mMonitor);
|
||||
nsCOMPtr<nsIDNSService> pDNSService(do_GetService(kDNSService, &rv));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
rv = pDNSService->Lookup((mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName,
|
||||
this,
|
||||
nsnull,
|
||||
getter_AddRefs(mDNSRequest));
|
||||
//
|
||||
// Aquire the SocketTransport lock again...
|
||||
//
|
||||
PR_EnterMonitor(mMonitor);
|
||||
//
|
||||
// Give up the SocketTransport lock. This allows the DNS thread to call the
|
||||
// nsIDNSListener notifications without blocking...
|
||||
//
|
||||
PR_ExitMonitor(mMonitor);
|
||||
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
rv = pDNSService->Lookup(host,
|
||||
this,
|
||||
nsnull,
|
||||
getter_AddRefs(mDNSRequest));
|
||||
//
|
||||
// The DNS lookup has finished... It has either failed or succeeded.
|
||||
// Aquire the SocketTransport lock again...
|
||||
//
|
||||
if (NS_FAILED(mStatus) || !PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
|
||||
mDNSRequest = 0;
|
||||
rv = mStatus;
|
||||
}
|
||||
//
|
||||
// The DNS lookup is being processed... Mark the transport as waiting
|
||||
// until the result is available...
|
||||
//
|
||||
else {
|
||||
SetFlag(eSocketDNS_Wait);
|
||||
rv = NS_BASE_STREAM_WOULD_BLOCK;
|
||||
PR_EnterMonitor(mMonitor);
|
||||
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
//
|
||||
// The DNS lookup has finished... It has either failed or succeeded.
|
||||
//
|
||||
if (NS_FAILED(mStatus) || !PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
|
||||
mDNSRequest = 0;
|
||||
rv = mStatus;
|
||||
}
|
||||
//
|
||||
// The DNS lookup is being processed... Mark the transport as waiting
|
||||
// until the result is available...
|
||||
//
|
||||
else {
|
||||
SetFlag(eSocketDNS_Wait);
|
||||
rv = NS_BASE_STREAM_WOULD_BLOCK;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1129,7 +1151,7 @@ nsresult nsSocketTransport::CloseConnection()
|
||||
|
||||
if (mWasConnected) {
|
||||
if (mService)
|
||||
PR_AtomicDecrement(&mService->mConnectedTransports);
|
||||
mService->OnTransportClosed();
|
||||
mWasConnected = PR_FALSE;
|
||||
}
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "nsString.h"
|
||||
#include "nsNetCID.h"
|
||||
#include "nsProtocolProxyService.h"
|
||||
#include "plstr.h"
|
||||
|
||||
static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID);
|
||||
static NS_DEFINE_CID(kStringBundleServiceCID, NS_STRINGBUNDLESERVICE_CID);
|
||||
@@ -165,6 +166,12 @@ nsSocketTransportService::Init(void)
|
||||
mThreadRunning = PR_TRUE;
|
||||
rv = NS_NewThread(&mThread, this, 0, PR_JOINABLE_THREAD);
|
||||
}
|
||||
|
||||
//
|
||||
// Initialize hostname database
|
||||
//
|
||||
PL_DHashTableInit(&mHostDB, &ops, nsnull, sizeof(nsHostEntry), 0);
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
@@ -677,6 +684,10 @@ nsSocketTransportService::Shutdown(void)
|
||||
|
||||
for (i=0; i<mSelectFDSetCount; i++)
|
||||
NS_IF_RELEASE(mActiveTransportList[i]);
|
||||
|
||||
// clear the hostname database (NOTE: this runs when the browser
|
||||
// enters the offline state).
|
||||
PL_DHashTableFinish(&mHostDB);
|
||||
|
||||
} else {
|
||||
rv = NS_ERROR_FAILURE;
|
||||
@@ -763,3 +774,89 @@ nsSocketTransportService::GetNeckoStringByName (const char *aName, PRUnichar **a
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// hostname database impl
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
PLDHashTableOps nsSocketTransportService::ops =
|
||||
{
|
||||
PL_DHashAllocTable,
|
||||
PL_DHashFreeTable,
|
||||
PL_DHashGetKeyStub,
|
||||
PL_DHashStringKey,
|
||||
nsSocketTransportService::MatchEntry,
|
||||
PL_DHashMoveEntryStub,
|
||||
nsSocketTransportService::ClearEntry,
|
||||
PL_DHashFinalizeStub,
|
||||
nsnull
|
||||
};
|
||||
|
||||
PRBool PR_CALLBACK
|
||||
nsSocketTransportService::MatchEntry(PLDHashTable *table,
|
||||
const PLDHashEntryHdr *entry,
|
||||
const void *key)
|
||||
{
|
||||
const nsSocketTransportService::nsHostEntry *he =
|
||||
NS_REINTERPRET_CAST(const nsSocketTransportService::nsHostEntry *, entry);
|
||||
|
||||
return !strcmp(he->host(), (const char *) key);
|
||||
}
|
||||
|
||||
void PR_CALLBACK
|
||||
nsSocketTransportService::ClearEntry(PLDHashTable *table,
|
||||
PLDHashEntryHdr *entry)
|
||||
{
|
||||
nsSocketTransportService::nsHostEntry *he =
|
||||
NS_REINTERPRET_CAST(nsSocketTransportService::nsHostEntry *, entry);
|
||||
|
||||
PL_strfree((char *) he->key);
|
||||
he->key = nsnull;
|
||||
memset(&he->addr, 0, sizeof(he->addr));
|
||||
}
|
||||
|
||||
PRBool
|
||||
nsSocketTransportService::LookupHost(const char *host, PRIPv6Addr *addr)
|
||||
{
|
||||
NS_ASSERTION(host, "null host");
|
||||
NS_ASSERTION(addr, "null addr");
|
||||
|
||||
PLDHashEntryHdr *hdr;
|
||||
|
||||
hdr = PL_DHashTableOperate(&mHostDB, host, PL_DHASH_LOOKUP);
|
||||
if (PL_DHASH_ENTRY_IS_BUSY(hdr)) {
|
||||
// found match
|
||||
nsHostEntry *ent = NS_REINTERPRET_CAST(nsHostEntry *, hdr);
|
||||
memcpy(addr, &ent->addr, sizeof(ent->addr));
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
nsSocketTransportService::OnTransportConnected(const char *host, PRNetAddr *addr)
|
||||
{
|
||||
// remember hostname
|
||||
|
||||
PLDHashEntryHdr *hdr;
|
||||
|
||||
hdr = PL_DHashTableOperate(&mHostDB, host, PL_DHASH_ADD);
|
||||
if (!hdr)
|
||||
return;
|
||||
|
||||
NS_ASSERTION(PL_DHASH_ENTRY_IS_BUSY(hdr), "entry not busy");
|
||||
|
||||
nsHostEntry *ent = NS_REINTERPRET_CAST(nsHostEntry *, hdr);
|
||||
if (ent->key == nsnull) {
|
||||
ent->key = (const void *) PL_strdup(host);
|
||||
memcpy(&ent->addr, &addr->ipv6.ip, sizeof(ent->addr));
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else {
|
||||
// verify that the existing entry is in fact a perfect match
|
||||
NS_ASSERTION(PL_strcmp(ent->host(), host) == 0, "bad match");
|
||||
NS_ASSERTION(memcmp(&ent->addr, &addr->ipv6.ip, sizeof(ent->addr)) == 0, "bad match");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -30,6 +30,8 @@
|
||||
#include "nsIInputStream.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsIStringBundle.h"
|
||||
#include "pldhash.h"
|
||||
#include "prio.h"
|
||||
|
||||
#if defined(XP_PC) || defined(XP_UNIX) || defined(XP_BEOS) || defined(XP_MAC)
|
||||
//
|
||||
@@ -76,24 +78,54 @@ public:
|
||||
|
||||
nsresult AddToSelectList(nsSocketTransport* aTransport);
|
||||
nsresult RemoveFromSelectList(nsSocketTransport* aTransport);
|
||||
|
||||
PRInt32 mConnectedTransports;
|
||||
PRInt32 mTotalTransports;
|
||||
|
||||
|
||||
//
|
||||
// LookupHost checks to see if we've previously resolved the hostname
|
||||
// during this session. We remember all successful connections to prevent
|
||||
// ip-address spoofing. See bug 149943.
|
||||
//
|
||||
// Returns TRUE if found, and sets |result| to the cached value.
|
||||
//
|
||||
PRBool LookupHost(const char *host, PRIPv6Addr *result);
|
||||
|
||||
void OnTransportCreated() { PR_AtomicIncrement(&mTotalTransports); }
|
||||
void OnTransportConnected(const char *aHost, PRNetAddr *aAddr);
|
||||
void OnTransportClosed() { PR_AtomicDecrement(&mConnectedTransports); }
|
||||
void OnTransportDestroyed() { PR_AtomicDecrement(&mTotalTransports); }
|
||||
|
||||
nsresult GetNeckoStringByName (const char *aName, PRUnichar **aString);
|
||||
|
||||
protected:
|
||||
nsIThread* mThread;
|
||||
PRFileDesc* mThreadEvent;
|
||||
PRLock* mThreadLock;
|
||||
PRBool mThreadRunning;
|
||||
//
|
||||
// mHostDB maps hostname -> nsHostEntry
|
||||
//
|
||||
struct nsHostEntry : PLDHashEntryStub
|
||||
{
|
||||
PRIPv6Addr addr;
|
||||
const char *host() const { return (const char *) key; }
|
||||
};
|
||||
|
||||
static PLDHashTableOps ops;
|
||||
|
||||
static PRBool PR_CALLBACK MatchEntry(PLDHashTable *, const PLDHashEntryHdr *, const void *);
|
||||
static void PR_CALLBACK ClearEntry(PLDHashTable *, PLDHashEntryHdr *);
|
||||
|
||||
nsIThread *mThread;
|
||||
PRFileDesc *mThreadEvent;
|
||||
PRLock *mThreadLock;
|
||||
PRBool mThreadRunning;
|
||||
|
||||
PRCList mWorkQ;
|
||||
PRCList mWorkQ;
|
||||
|
||||
PRInt32 mConnectedTransports;
|
||||
PRInt32 mTotalTransports;
|
||||
|
||||
PRInt32 mSelectFDSetCount;
|
||||
PRPollDesc* mSelectFDSet;
|
||||
nsSocketTransport** mActiveTransportList;
|
||||
nsCOMPtr<nsIStringBundle> m_stringBundle;
|
||||
PRInt32 mSelectFDSetCount;
|
||||
PRPollDesc *mSelectFDSet;
|
||||
nsSocketTransport **mActiveTransportList;
|
||||
nsCOMPtr<nsIStringBundle> m_stringBundle;
|
||||
|
||||
PLDHashTable mHostDB;
|
||||
};
|
||||
|
||||
|
||||
|
||||
79
mozilla/nsprpub/configure
vendored
79
mozilla/nsprpub/configure
vendored
@@ -3179,9 +3179,7 @@ EOF
|
||||
DLL_SUFFIX=sl
|
||||
DSO_LDOPTS='-b +h $(notdir $@)'
|
||||
PR_MD_CSRCS=hpux.c
|
||||
if test "$OS_TEST" != "ia64"; then
|
||||
PR_MD_ASFILES=os_HPUX.s
|
||||
fi
|
||||
PR_MD_ASFILES=os_HPUX.s
|
||||
if test -n "$USE_64"; then
|
||||
MDCPUCFG_H=_hpux64.cfg
|
||||
else
|
||||
@@ -3190,13 +3188,8 @@ EOF
|
||||
if test -z "$GNU_CC"; then
|
||||
CC="$CC -Ae"
|
||||
CXX="$CXX -ext"
|
||||
if test "$OS_TEST" != "ia64"; then
|
||||
CFLAGS="$CFLAGS +ESlit"
|
||||
CXXFLAGS="$CXXFLAGS +ESlit"
|
||||
else
|
||||
CFLAGS="$CFLAGS +Olit=all"
|
||||
CXXFLAGS="$CXXFLAGS +Olit=all"
|
||||
fi
|
||||
CFLAGS="$CFLAGS +ESlit"
|
||||
CXXFLAGS="$CXXFLAGS +ESlit"
|
||||
DSO_CFLAGS=+Z
|
||||
else
|
||||
DSO_CFLAGS=-fPIC
|
||||
@@ -3240,7 +3233,7 @@ EOF
|
||||
|
||||
fi
|
||||
|
||||
if echo "$OS_RELEASE" | egrep '^(B.10.30|B.11.00|B.11.11|B.11.20)' >/dev/null; then
|
||||
if echo "$OS_RELEASE" | egrep '^(B.10.30|B.11.00)' >/dev/null; then
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HAVE_POINTER_LOCALTIME_R 1
|
||||
EOF
|
||||
@@ -3299,7 +3292,7 @@ EOF
|
||||
DEFAULT_IMPL_STRATEGY=_PTH
|
||||
fi
|
||||
|
||||
if echo "$OS_RELEASE" | egrep '^(B.11.00|B.11.11|B.11.20)' >/dev/null; then
|
||||
if test "$OS_RELEASE" = "B.11.00"; then
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HPUX10 1
|
||||
EOF
|
||||
@@ -3322,21 +3315,11 @@ EOF
|
||||
|
||||
if test -z "$GNU_CC"; then
|
||||
if test -z "$USE_64"; then
|
||||
if test "$OS_TEST" = "ia64"; then
|
||||
CFLAGS="$CFLAGS +DD32"
|
||||
CXXFLAGS="$CXXFLAGS +DD32"
|
||||
else
|
||||
CFLAGS="$CFLAGS +DAportable +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DAportable +DS2.0"
|
||||
fi
|
||||
else
|
||||
if test "$OS_TEST" = "ia64"; then
|
||||
CFLAGS="$CFLAGS +DD64"
|
||||
CXXFLAGS="$CXXFLAGS +DD64"
|
||||
else
|
||||
CFLAGS="$CFLAGS +DA2.0W +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DA2.0W +DS2.0"
|
||||
fi
|
||||
CFLAGS="$CFLAGS +DAportable +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DAportable +DS2.0"
|
||||
else
|
||||
CFLAGS="$CFLAGS +DA2.0W +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DA2.0W +DS2.0"
|
||||
fi
|
||||
fi
|
||||
DEFAULT_IMPL_STRATEGY=_PTH
|
||||
@@ -4027,17 +4010,17 @@ EOF
|
||||
|
||||
ac_safe=`echo "machine/builtins.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for machine/builtins.h""... $ac_c" 1>&6
|
||||
echo "configure:4031: checking for machine/builtins.h" >&5
|
||||
echo "configure:4014: checking for machine/builtins.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4036 "configure"
|
||||
#line 4019 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <machine/builtins.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:4041: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:4024: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
@@ -4584,12 +4567,12 @@ esac
|
||||
if test -z "$SKIP_LIBRARY_CHECKS"; then
|
||||
|
||||
echo $ac_n "checking for dlopen""... $ac_c" 1>&6
|
||||
echo "configure:4588: checking for dlopen" >&5
|
||||
echo "configure:4571: checking for dlopen" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4593 "configure"
|
||||
#line 4576 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char dlopen(); below. */
|
||||
@@ -4612,7 +4595,7 @@ dlopen();
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4599: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_dlopen=yes"
|
||||
else
|
||||
@@ -4631,7 +4614,7 @@ else
|
||||
echo "$ac_t""no" 1>&6
|
||||
|
||||
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
|
||||
echo "configure:4635: checking for dlopen in -ldl" >&5
|
||||
echo "configure:4618: checking for dlopen in -ldl" >&5
|
||||
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@@ -4639,7 +4622,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-ldl $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4643 "configure"
|
||||
#line 4626 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@@ -4650,7 +4633,7 @@ int main() {
|
||||
dlopen()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4654: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@@ -4678,13 +4661,13 @@ fi
|
||||
|
||||
if test $ac_cv_prog_gcc = yes; then
|
||||
echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
|
||||
echo "configure:4682: checking whether ${CC-cc} needs -traditional" >&5
|
||||
echo "configure:4665: checking whether ${CC-cc} needs -traditional" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
ac_pattern="Autoconf.*'x'"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4688 "configure"
|
||||
#line 4671 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sgtty.h>
|
||||
Autoconf TIOCGETP
|
||||
@@ -4702,7 +4685,7 @@ rm -f conftest*
|
||||
|
||||
if test $ac_cv_prog_gcc_traditional = no; then
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4706 "configure"
|
||||
#line 4689 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <termio.h>
|
||||
Autoconf TCGETA
|
||||
@@ -4726,12 +4709,12 @@ fi
|
||||
for ac_func in lchown strerror
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:4730: checking for $ac_func" >&5
|
||||
echo "configure:4713: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4735 "configure"
|
||||
#line 4718 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
@@ -4754,7 +4737,7 @@ $ac_func();
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
@@ -4792,7 +4775,7 @@ fi
|
||||
|
||||
|
||||
echo $ac_n "checking for pthread_create in -lpthreads""... $ac_c" 1>&6
|
||||
echo "configure:4796: checking for pthread_create in -lpthreads" >&5
|
||||
echo "configure:4779: checking for pthread_create in -lpthreads" >&5
|
||||
echo "
|
||||
#include <pthread.h>
|
||||
void *foo(void *v) { int a = 1; }
|
||||
@@ -4814,7 +4797,7 @@ echo "
|
||||
echo "$ac_t""no" 1>&6
|
||||
|
||||
echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
|
||||
echo "configure:4818: checking for pthread_create in -lpthread" >&5
|
||||
echo "configure:4801: checking for pthread_create in -lpthread" >&5
|
||||
echo "
|
||||
#include <pthread.h>
|
||||
void *foo(void *v) { int a = 1; }
|
||||
@@ -4836,7 +4819,7 @@ echo "
|
||||
echo "$ac_t""no" 1>&6
|
||||
|
||||
echo $ac_n "checking for pthread_create in -lc_r""... $ac_c" 1>&6
|
||||
echo "configure:4840: checking for pthread_create in -lc_r" >&5
|
||||
echo "configure:4823: checking for pthread_create in -lc_r" >&5
|
||||
echo "
|
||||
#include <pthread.h>
|
||||
void *foo(void *v) { int a = 1; }
|
||||
@@ -4858,7 +4841,7 @@ echo "
|
||||
echo "$ac_t""no" 1>&6
|
||||
|
||||
echo $ac_n "checking for pthread_create in -lc""... $ac_c" 1>&6
|
||||
echo "configure:4862: checking for pthread_create in -lc" >&5
|
||||
echo "configure:4845: checking for pthread_create in -lc" >&5
|
||||
echo "
|
||||
#include <pthread.h>
|
||||
void *foo(void *v) { int a = 1; }
|
||||
@@ -5008,7 +4991,7 @@ if test -n "$USE_PTHREADS"; then
|
||||
rm -f conftest*
|
||||
ac_cv_have_dash_pthread=no
|
||||
echo $ac_n "checking whether ${CC-cc} accepts -pthread""... $ac_c" 1>&6
|
||||
echo "configure:5012: checking whether ${CC-cc} accepts -pthread" >&5
|
||||
echo "configure:4995: checking whether ${CC-cc} accepts -pthread" >&5
|
||||
echo 'int main() { return 0; }' | cat > conftest.c
|
||||
${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1
|
||||
if test $? -eq 0; then
|
||||
@@ -5024,7 +5007,7 @@ echo "configure:5012: checking whether ${CC-cc} accepts -pthread" >&5
|
||||
ac_cv_have_dash_pthreads=no
|
||||
if test "$ac_cv_have_dash_pthread" = "no"; then
|
||||
echo $ac_n "checking whether ${CC-cc} accepts -pthreads""... $ac_c" 1>&6
|
||||
echo "configure:5028: checking whether ${CC-cc} accepts -pthreads" >&5
|
||||
echo "configure:5011: checking whether ${CC-cc} accepts -pthreads" >&5
|
||||
echo 'int main() { return 0; }' | cat > conftest.c
|
||||
${CC-cc} -pthreads -o conftest conftest.c > conftest.out 2>&1
|
||||
if test $? -eq 0; then
|
||||
|
||||
@@ -821,9 +821,7 @@ case "$target" in
|
||||
DLL_SUFFIX=sl
|
||||
DSO_LDOPTS='-b +h $(notdir $@)'
|
||||
PR_MD_CSRCS=hpux.c
|
||||
if test "$OS_TEST" != "ia64"; then
|
||||
PR_MD_ASFILES=os_HPUX.s
|
||||
fi
|
||||
PR_MD_ASFILES=os_HPUX.s
|
||||
if test -n "$USE_64"; then
|
||||
MDCPUCFG_H=_hpux64.cfg
|
||||
else
|
||||
@@ -832,13 +830,8 @@ case "$target" in
|
||||
if test -z "$GNU_CC"; then
|
||||
CC="$CC -Ae"
|
||||
CXX="$CXX -ext"
|
||||
if test "$OS_TEST" != "ia64"; then
|
||||
CFLAGS="$CFLAGS +ESlit"
|
||||
CXXFLAGS="$CXXFLAGS +ESlit"
|
||||
else
|
||||
CFLAGS="$CFLAGS +Olit=all"
|
||||
CXXFLAGS="$CXXFLAGS +Olit=all"
|
||||
fi
|
||||
CFLAGS="$CFLAGS +ESlit"
|
||||
CXXFLAGS="$CXXFLAGS +ESlit"
|
||||
DSO_CFLAGS=+Z
|
||||
else
|
||||
DSO_CFLAGS=-fPIC
|
||||
@@ -867,7 +860,7 @@ case "$target" in
|
||||
AC_DEFINE(HAVE_INT_LOCALTIME_R)
|
||||
fi
|
||||
|
||||
if echo "$OS_RELEASE" | egrep '^(B.10.30|B.11.00|B.11.11|B.11.20)' >/dev/null; then
|
||||
if echo "$OS_RELEASE" | egrep '^(B.10.30|B.11.00)' >/dev/null; then
|
||||
AC_DEFINE(HAVE_POINTER_LOCALTIME_R)
|
||||
fi
|
||||
|
||||
@@ -902,7 +895,7 @@ case "$target" in
|
||||
DEFAULT_IMPL_STRATEGY=_PTH
|
||||
fi
|
||||
|
||||
if echo "$OS_RELEASE" | egrep '^(B.11.00|B.11.11|B.11.20)' >/dev/null; then
|
||||
if test "$OS_RELEASE" = "B.11.00"; then
|
||||
AC_DEFINE(HPUX10)
|
||||
AC_DEFINE(HPUX11)
|
||||
AC_DEFINE(_LARGEFILE64_SOURCE)
|
||||
@@ -910,21 +903,11 @@ case "$target" in
|
||||
AC_DEFINE(HAVE_FCNTL_FILE_LOCKING)
|
||||
if test -z "$GNU_CC"; then
|
||||
if test -z "$USE_64"; then
|
||||
if test "$OS_TEST" = "ia64"; then
|
||||
CFLAGS="$CFLAGS +DD32"
|
||||
CXXFLAGS="$CXXFLAGS +DD32"
|
||||
else
|
||||
CFLAGS="$CFLAGS +DAportable +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DAportable +DS2.0"
|
||||
fi
|
||||
else
|
||||
if test "$OS_TEST" = "ia64"; then
|
||||
CFLAGS="$CFLAGS +DD64"
|
||||
CXXFLAGS="$CXXFLAGS +DD64"
|
||||
else
|
||||
CFLAGS="$CFLAGS +DA2.0W +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DA2.0W +DS2.0"
|
||||
fi
|
||||
CFLAGS="$CFLAGS +DAportable +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DAportable +DS2.0"
|
||||
else
|
||||
CFLAGS="$CFLAGS +DA2.0W +DS2.0"
|
||||
CXXFLAGS="$CXXFLAGS +DA2.0W +DS2.0"
|
||||
fi
|
||||
fi
|
||||
DEFAULT_IMPL_STRATEGY=_PTH
|
||||
|
||||
@@ -55,11 +55,7 @@
|
||||
#undef HAVE_WEAK_IO_SYMBOLS
|
||||
#undef HAVE_WEAK_MALLOC_SYMBOLS
|
||||
#define HAVE_DLL
|
||||
#ifdef IS_64
|
||||
#define USE_DLFCN
|
||||
#else
|
||||
#define USE_HPSHL
|
||||
#endif
|
||||
#ifndef HAVE_STRERROR
|
||||
#define HAVE_STRERROR
|
||||
#endif
|
||||
|
||||
@@ -82,8 +82,8 @@
|
||||
|
||||
#define PR_ALIGN_OF_SHORT 2
|
||||
#define PR_ALIGN_OF_INT 4
|
||||
#define PR_ALIGN_OF_LONG 8
|
||||
#define PR_ALIGN_OF_INT64 8
|
||||
#define PR_ALIGN_OF_LONG 4
|
||||
#define PR_ALIGN_OF_INT64 4
|
||||
#define PR_ALIGN_OF_FLOAT 4
|
||||
#define PR_ALIGN_OF_DOUBLE 8
|
||||
#define PR_ALIGN_OF_POINTER 8
|
||||
|
||||
@@ -64,18 +64,6 @@ GetHighResClock(void *buf, size_t maxbytes)
|
||||
|
||||
#elif defined(HPUX)
|
||||
|
||||
#ifdef __ia64
|
||||
#include <ia64/sys/inline.h>
|
||||
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
PRUint64 t;
|
||||
|
||||
t = _Asm_mov_from_ar(_AREG44);
|
||||
return _pr_CopyLowBits(buf, maxbytes, &t, sizeof(t));
|
||||
}
|
||||
#else
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
@@ -85,7 +73,6 @@ GetHighResClock(void *buf, size_t maxbytes)
|
||||
cr16val = ret_cr16();
|
||||
return(_pr_CopyLowBits(buf, maxbytes, &cr16val, sizeof(cr16val)));
|
||||
}
|
||||
#endif
|
||||
|
||||
#elif defined(OSF1)
|
||||
|
||||
@@ -223,7 +210,7 @@ static size_t GetHighResClock(void *buf, size_t maxbuf)
|
||||
}
|
||||
iotimer_addr = (unsigned *)
|
||||
mmap(0, pgoffmask, PROT_READ, MAP_PRIVATE, mfd, (int)raddr);
|
||||
if (iotimer_addr == (unsigned*)-1) {
|
||||
if (iotimer_addr == (void*)-1) {
|
||||
close(mfd);
|
||||
iotimer_addr = NULL;
|
||||
return 0;
|
||||
@@ -291,7 +278,7 @@ GetHighResClock(void *buf, size_t maxbytes)
|
||||
return 0;
|
||||
}
|
||||
#elif defined(SCO) || defined(UNIXWARE) || defined(BSDI) || defined(NTO) \
|
||||
|| defined(QNX) || defined(DARWIN)
|
||||
|| defined(QNX) || defined(RHAPSODY)
|
||||
#include <sys/times.h>
|
||||
|
||||
static size_t
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
#endif
|
||||
|
||||
#if defined(HPUX)
|
||||
#include <sys/mpctl.h>
|
||||
#include <sys/mp.h>
|
||||
#endif
|
||||
|
||||
#if defined(XP_UNIX)
|
||||
|
||||
@@ -296,9 +296,7 @@ endif
|
||||
ifeq ($(OS_ARCH), HP-UX)
|
||||
LDOPTS += -z -Wl,+s,+b,$(ABSOLUTE_LIB_DIR)
|
||||
ifeq ($(USE_64),1)
|
||||
LDOPTS += +DD64
|
||||
endif
|
||||
ifeq ($(USE_PTHREADS),1)
|
||||
LDOPTS += +DA2.0W
|
||||
EXTRA_LIBS = -lpthread
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -2078,14 +2078,8 @@ initializeEncoding(XML_Parser parser)
|
||||
#else
|
||||
s = protocolEncodingName;
|
||||
#endif
|
||||
//if ((ns ? XmlInitEncodingNS : XmlInitEncoding)(&initEncoding, &encoding, s))
|
||||
if (ns) {
|
||||
if (XmlInitEncodingNS(&initEncoding, &encoding, s))
|
||||
return XML_ERROR_NONE;
|
||||
} else {
|
||||
if (XmlInitEncoding(&initEncoding, &encoding, s))
|
||||
return XML_ERROR_NONE;
|
||||
}
|
||||
if ((ns ? XmlInitEncodingNS : XmlInitEncoding)(&initEncoding, &encoding, s))
|
||||
return XML_ERROR_NONE;
|
||||
return handleUnknownEncoding(parser, protocolEncodingName);
|
||||
}
|
||||
|
||||
@@ -2097,13 +2091,18 @@ processXmlDecl(XML_Parser parser, int isGeneralTextEntity,
|
||||
const ENCODING *newEncoding = 0;
|
||||
const char *version;
|
||||
int standalone = -1;
|
||||
if (ns) {
|
||||
if (!XmlParseXmlDeclNS(isGeneralTextEntity, encoding, s, next, &eventPtr, &version, &encodingName, &newEncoding, &standalone))
|
||||
return XML_ERROR_SYNTAX;
|
||||
} else {
|
||||
if (!XmlParseXmlDecl(isGeneralTextEntity, encoding, s, next, &eventPtr, &version, &encodingName, &newEncoding, &standalone))
|
||||
return XML_ERROR_SYNTAX;
|
||||
}
|
||||
if (!(ns
|
||||
? XmlParseXmlDeclNS
|
||||
: XmlParseXmlDecl)(isGeneralTextEntity,
|
||||
encoding,
|
||||
s,
|
||||
next,
|
||||
&eventPtr,
|
||||
&version,
|
||||
&encodingName,
|
||||
&newEncoding,
|
||||
&standalone))
|
||||
return XML_ERROR_SYNTAX;
|
||||
if (!isGeneralTextEntity && standalone == 1) {
|
||||
dtd.standalone = 1;
|
||||
#ifdef XML_DTD
|
||||
@@ -2159,10 +2158,12 @@ handleUnknownEncoding(XML_Parser parser, const XML_Char *encodingName)
|
||||
info.release(info.data);
|
||||
return XML_ERROR_NO_MEMORY;
|
||||
}
|
||||
if (ns)
|
||||
enc = XmlInitUnknownEncodingNS(unknownEncodingMem, info.map, info.convert, info.data);
|
||||
else
|
||||
enc = XmlInitUnknownEncoding(unknownEncodingMem, info.map, info.convert, info.data);
|
||||
enc = (ns
|
||||
? XmlInitUnknownEncodingNS
|
||||
: XmlInitUnknownEncoding)(unknownEncodingMem,
|
||||
info.map,
|
||||
info.convert,
|
||||
info.data);
|
||||
if (enc) {
|
||||
unknownEncodingData = info.data;
|
||||
unknownEncodingRelease = info.release;
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is the Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2002 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# On HP-UX 11.20 the default implementation strategy is
|
||||
# pthreads. Classic nspr and pthreads-user are also available.
|
||||
#
|
||||
|
||||
ifeq ($(OS_RELEASE),B.11.20)
|
||||
OS_CFLAGS += -DHPUX10
|
||||
DEFAULT_IMPL_STRATEGY = _PTH
|
||||
endif
|
||||
|
||||
#
|
||||
# To use the true pthread (kernel thread) library on 11.20,
|
||||
# we should define _POSIX_C_SOURCE to be 199506L.
|
||||
# The _REENTRANT macro is deprecated.
|
||||
#
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
OS_CFLAGS += -D_POSIX_C_SOURCE=199506L
|
||||
endif
|
||||
|
||||
#
|
||||
# Config stuff for HP-UXB.11.20.
|
||||
#
|
||||
include $(CORE_DEPTH)/coreconf/HP-UXB.11.mk
|
||||
@@ -40,19 +40,15 @@ endif
|
||||
|
||||
ifndef NS_USE_GCC
|
||||
CCC = /opt/aCC/bin/aCC -ext
|
||||
ifeq ($(OS_TEST), ia64)
|
||||
OS_CFLAGS += -Aa +e +p +DD32
|
||||
else
|
||||
ifeq ($(USE_64), 1)
|
||||
OS_CFLAGS += -Aa +e +DA2.0W +DS2.0 +DChpux
|
||||
ifeq ($(USE_64), 1)
|
||||
OS_CFLAGS += -Aa +e +DA2.0W +DS2.0 +DChpux
|
||||
# Next line replaced by generic name handling in arch.mk
|
||||
# COMPILER_TAG = _64
|
||||
# COMPILER_TAG = _64
|
||||
else
|
||||
ifdef USE_HYBRID
|
||||
OS_CFLAGS += -Aa +e +DA2.0 +DS2.0
|
||||
else
|
||||
ifdef USE_HYBRID
|
||||
OS_CFLAGS += -Aa +e +DA2.0 +DS2.0
|
||||
else
|
||||
OS_CFLAGS += +DAportable +DS2.0
|
||||
endif
|
||||
OS_CFLAGS += +DAportable +DS2.0
|
||||
endif
|
||||
endif
|
||||
else
|
||||
|
||||
@@ -80,11 +80,9 @@ ifneq (,$(filter SunOS HP-UX,$(OS_ARCH)))
|
||||
ifneq ($(OS_TEST),i86pc)
|
||||
ifndef HAVE_64BIT_OS
|
||||
$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_PURE32_MODULE) $(DIST)/bin
|
||||
ifneq ($(OS_TEST),ia64)
|
||||
$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DIST)/bin
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
$(MAKE) -C ssl $@
|
||||
$(MAKE) -C pki $@
|
||||
|
||||
@@ -297,10 +297,8 @@ $(PURE32DIR):
|
||||
$(LINKEDFILES) : $(PURE32DIR)/% : %
|
||||
ln -s $(CDDIR)/$* $(PURE32DIR)
|
||||
|
||||
ifneq ($(OS_TEST),ia64)
|
||||
libs::
|
||||
$(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_HYBRID=1 libs
|
||||
endif
|
||||
|
||||
libs:: $(PURE32DIR) $(LINKEDFILES)
|
||||
cd $(PURE32DIR) && $(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_PURE_32=1 FREEBL_PARENT=$(CDDIR) CORE_DEPTH=$(CDDIR)/$(CORE_DEPTH) libs
|
||||
|
||||
@@ -45,10 +45,8 @@ include manifest.mn
|
||||
include $(CORE_DEPTH)/coreconf/arch.mk
|
||||
|
||||
ifeq ($(OS_ARCH),HP-UX)
|
||||
ifneq ($(OS_RELEASE),B.11.20)
|
||||
ASFILES += ret_cr16.s
|
||||
endif
|
||||
endif
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/config.mk
|
||||
|
||||
|
||||
@@ -181,18 +181,6 @@ GiveSystemInfo(void)
|
||||
|
||||
#define getdtablesize() sysconf(_SC_OPEN_MAX)
|
||||
|
||||
#if defined(__ia64)
|
||||
#include <ia64/sys/inline.h>
|
||||
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
PRUint64 t;
|
||||
|
||||
t = _Asm_mov_from_ar(_AREG44);
|
||||
return CopyLowBits(buf, maxbytes, &t, sizeof(t));
|
||||
}
|
||||
#else
|
||||
static size_t
|
||||
GetHighResClock(void *buf, size_t maxbytes)
|
||||
{
|
||||
@@ -202,7 +190,6 @@ GetHighResClock(void *buf, size_t maxbytes)
|
||||
cr16val = ret_cr16();
|
||||
return CopyLowBits(buf, maxbytes, &cr16val, sizeof(cr16val));
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
GiveSystemInfo(void)
|
||||
|
||||
@@ -2262,14 +2262,7 @@ NS_IMETHODIMP nsWindow::SetTitle(const nsString& aTitle)
|
||||
}
|
||||
|
||||
// fallback to use bad conversion
|
||||
#ifndef HPUX
|
||||
gtk_window_set_title(GTK_WINDOW(mShell), nsAutoCString(aTitle));
|
||||
#else
|
||||
//nsAutoCString force conversion from unicode to platform charset might not
|
||||
//generate legal string in platform charset. Passing such illegal string will
|
||||
//hang OS. HP_UX in ja_JP.SJIS locale is one instance. (108765)
|
||||
gtk_window_set_title(GTK_WINDOW(mShell), "");
|
||||
#endif
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ static const char* GetLinebreakString(nsLinebreakConverter::ELinebreakType aBrea
|
||||
Wee inline method to append a line break. Modifies ioDest.
|
||||
----------------------------------------------------------------------------*/
|
||||
template<class T>
|
||||
void AppendLinebreak(T*& ioDest, const char* lineBreakStr)
|
||||
static void AppendLinebreak(T*& ioDest, const char* lineBreakStr)
|
||||
{
|
||||
*ioDest++ = *lineBreakStr;
|
||||
|
||||
@@ -76,7 +76,7 @@ void AppendLinebreak(T*& ioDest, const char* lineBreakStr)
|
||||
Counts occurrences of breakStr in aSrc
|
||||
----------------------------------------------------------------------------*/
|
||||
template<class T>
|
||||
PRInt32 CountLinebreaks(const T* aSrc, PRInt32 inLen, const char* breakStr)
|
||||
static PRInt32 CountLinebreaks(const T* aSrc, PRInt32 inLen, const char* breakStr)
|
||||
{
|
||||
const T* src = aSrc;
|
||||
const T* srcEnd = aSrc + inLen;
|
||||
@@ -108,7 +108,7 @@ PRInt32 CountLinebreaks(const T* aSrc, PRInt32 inLen, const char* breakStr)
|
||||
ioLen *includes* a terminating null, if any
|
||||
----------------------------------------------------------------------------*/
|
||||
template<class T>
|
||||
T* ConvertBreaks(const T* inSrc, PRInt32& ioLen, const char* srcBreak, const char* destBreak)
|
||||
static T* ConvertBreaks(const T* inSrc, PRInt32& ioLen, const char* srcBreak, const char* destBreak)
|
||||
{
|
||||
NS_ASSERTION(inSrc && srcBreak && destBreak, "Got a null string");
|
||||
|
||||
@@ -202,7 +202,7 @@ T* ConvertBreaks(const T* inSrc, PRInt32& ioLen, const char* srcBreak, const cha
|
||||
does not change.
|
||||
----------------------------------------------------------------------------*/
|
||||
template<class T>
|
||||
void ConvertBreaksInSitu(T* inSrc, PRInt32 inLen, char srcBreak, char destBreak)
|
||||
static void ConvertBreaksInSitu(T* inSrc, PRInt32 inLen, char srcBreak, char destBreak)
|
||||
{
|
||||
T* src = inSrc;
|
||||
T* srcEnd = inSrc + inLen;
|
||||
@@ -225,7 +225,7 @@ void ConvertBreaksInSitu(T* inSrc, PRInt32 inLen, char srcBreak, char destBreak)
|
||||
This will convert CRLF pairs to one break, and single CR or LF to a break.
|
||||
----------------------------------------------------------------------------*/
|
||||
template<class T>
|
||||
T* ConvertUnknownBreaks(const T* inSrc, PRInt32& ioLen, const char* destBreak)
|
||||
static T* ConvertUnknownBreaks(const T* inSrc, PRInt32& ioLen, const char* destBreak)
|
||||
{
|
||||
const T* src = inSrc;
|
||||
const T* srcEnd = inSrc + ioLen; // includes null, if any
|
||||
|
||||
@@ -38,17 +38,9 @@ print OUTFILE "* 0 is QueryInterface\n";
|
||||
print OUTFILE "* 1 is AddRef\n";
|
||||
print OUTFILE "* 2 is Release\n";
|
||||
print OUTFILE "*/\n";
|
||||
print OUTFILE "#ifndef __ia64\n";
|
||||
for($i = 0; $i < $entry_count; $i++) {
|
||||
print OUTFILE "XPTC_EXPORT NS_IMETHOD Stub",$i+3,"();\n";
|
||||
}
|
||||
print OUTFILE "#else\n";
|
||||
for($i = 0; $i < $entry_count; $i++) {
|
||||
print OUTFILE "XPTC_EXPORT NS_IMETHOD Stub",$i+3,"(PRUint64,\n";
|
||||
print OUTFILE " PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);\n";
|
||||
|
||||
}
|
||||
print OUTFILE "#endif\n";
|
||||
|
||||
print OUTFILE "\n/* declarations of sentinel stubs */\n";
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
* 1 is AddRef
|
||||
* 2 is Release
|
||||
*/
|
||||
#ifndef __ia64
|
||||
XPTC_EXPORT NS_IMETHOD Stub3();
|
||||
XPTC_EXPORT NS_IMETHOD Stub4();
|
||||
XPTC_EXPORT NS_IMETHOD Stub5();
|
||||
@@ -256,502 +255,6 @@ XPTC_EXPORT NS_IMETHOD Stub246();
|
||||
XPTC_EXPORT NS_IMETHOD Stub247();
|
||||
XPTC_EXPORT NS_IMETHOD Stub248();
|
||||
XPTC_EXPORT NS_IMETHOD Stub249();
|
||||
#else
|
||||
XPTC_EXPORT NS_IMETHOD Stub3(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub4(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub5(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub6(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub7(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub8(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub9(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub10(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub11(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub12(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub13(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub14(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub15(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub16(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub17(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub18(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub19(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub20(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub21(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub22(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub23(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub24(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub25(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub26(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub27(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub28(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub29(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub30(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub31(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub32(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub33(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub34(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub35(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub36(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub37(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub38(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub39(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub40(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub41(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub42(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub43(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub44(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub45(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub46(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub47(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub48(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub49(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub50(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub51(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub52(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub53(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub54(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub55(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub56(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub57(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub58(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub59(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub60(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub61(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub62(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub63(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub64(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub65(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub66(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub67(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub68(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub69(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub70(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub71(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub72(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub73(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub74(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub75(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub76(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub77(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub78(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub79(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub80(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub81(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub82(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub83(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub84(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub85(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub86(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub87(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub88(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub89(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub90(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub91(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub92(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub93(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub94(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub95(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub96(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub97(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub98(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub99(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub100(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub101(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub102(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub103(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub104(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub105(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub106(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub107(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub108(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub109(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub110(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub111(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub112(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub113(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub114(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub115(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub116(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub117(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub118(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub119(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub120(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub121(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub122(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub123(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub124(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub125(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub126(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub127(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub128(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub129(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub130(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub131(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub132(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub133(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub134(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub135(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub136(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub137(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub138(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub139(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub140(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub141(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub142(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub143(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub144(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub145(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub146(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub147(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub148(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub149(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub150(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub151(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub152(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub153(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub154(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub155(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub156(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub157(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub158(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub159(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub160(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub161(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub162(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub163(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub164(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub165(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub166(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub167(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub168(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub169(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub170(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub171(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub172(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub173(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub174(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub175(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub176(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub177(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub178(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub179(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub180(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub181(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub182(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub183(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub184(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub185(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub186(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub187(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub188(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub189(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub190(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub191(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub192(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub193(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub194(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub195(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub196(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub197(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub198(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub199(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub200(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub201(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub202(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub203(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub204(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub205(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub206(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub207(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub208(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub209(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub210(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub211(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub212(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub213(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub214(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub215(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub216(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub217(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub218(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub219(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub220(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub221(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub222(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub223(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub224(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub225(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub226(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub227(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub228(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub229(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub230(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub231(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub232(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub233(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub234(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub235(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub236(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub237(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub238(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub239(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub240(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub241(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub242(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub243(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub244(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub245(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub246(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub247(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub248(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
XPTC_EXPORT NS_IMETHOD Stub249(PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
#endif
|
||||
|
||||
/* declarations of sentinel stubs */
|
||||
XPTC_EXPORT NS_IMETHOD Sentinel0();
|
||||
|
||||
@@ -133,13 +133,8 @@ endif
|
||||
# for gas and gcc, check comment in xptcinvoke_asm_pa32.s
|
||||
ifeq ($(OS_ARCH),HP-UX)
|
||||
ifneq ($(CC),gcc)
|
||||
ifneq ($(OS_TEST),ia64)
|
||||
CPPSRCS := xptcinvoke_pa32.cpp xptcstubs_pa32.cpp
|
||||
ASFILES := xptcstubs_asm_pa32.s xptcinvoke_asm_pa32.s
|
||||
else
|
||||
CPPSRCS := xptcinvoke_ipf32.cpp xptcstubs_ipf32.cpp
|
||||
ASFILES := xptcstubs_asm_ipf32.s xptcinvoke_asm_ipf32.s
|
||||
endif
|
||||
|
||||
# #18875 Building the CPP's (CXX) optimized causes a crash
|
||||
OS_CXXFLAGS := $(filter-out -O, $(OS_CXXFLAGS))
|
||||
|
||||
@@ -1,145 +0,0 @@
|
||||
|
||||
// Select C numeric constant
|
||||
.radix C
|
||||
// for 64 bit mode, use .psr abi64
|
||||
.psr abi32
|
||||
// big endian
|
||||
.psr msb
|
||||
// Section has executable code
|
||||
.section .text, "ax","progbits"
|
||||
// procedure named 'XPTC_InvokeByIndex'
|
||||
.proc XPTC_InvokeByIndex
|
||||
// manual bundling
|
||||
.explicit
|
||||
|
||||
// extern "C" PRUint32
|
||||
// invoke_copy_to_stack(uint64_t* d,
|
||||
// const PRUint32 paramCount, nsXPTCVariant* s)
|
||||
.global invoke_copy_to_stack
|
||||
// .exclass invoke_copy_to_stack, @fullyvisible
|
||||
.type invoke_copy_to_stack,@function
|
||||
|
||||
// .exclass XPTC_InvokeByIndex, @fullyvisible
|
||||
.type XPTC_InvokeByIndex,@function
|
||||
|
||||
// XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
|
||||
// PRUint32 paramCount, nsXPTCVariant* params);
|
||||
XPTC_InvokeByIndex::
|
||||
.prologue
|
||||
.save ar.pfs, r37
|
||||
// allocate 4 input args, 6 local args, and 8 output args
|
||||
alloc r37 = ar.pfs, 4, 6, 8, 0 // M
|
||||
nop.i 0 ;; // I
|
||||
|
||||
// unwind table already knows gp, no need to specify anything
|
||||
add r39 = 0, gp // A
|
||||
.save rp, r36
|
||||
mov r36 = rp // I
|
||||
.vframe r38
|
||||
add r38 = 0, sp ;; // A
|
||||
|
||||
// We first calculate the amount of extra memory stack space required
|
||||
// for the arguments, and register storage.
|
||||
// We then call invoke_copy_to_stack() to write the argument contents
|
||||
// to the specified memory regions.
|
||||
// We then copy the integer arguments to integer registers, and floating
|
||||
// arguments to float registers.
|
||||
// Lastly we load the virtual table jump pointer, and call the target
|
||||
// subroutine.
|
||||
|
||||
// in0 : that
|
||||
// in1 : methodIndex
|
||||
// in2 : paramCount
|
||||
// in3 : params
|
||||
|
||||
// stack frame size is 16 + (8 * even(paramCount)) + 64 + 64
|
||||
// 16 byte frame header
|
||||
// 8 * even(paramCount) memory argument area
|
||||
// 64 bytes integer register area
|
||||
// 64 bytes float register area
|
||||
// This scheme makes sure stack fram size is a multiple of 16
|
||||
|
||||
.body
|
||||
add r10 = 8, r0 // A
|
||||
// r41 points to float register area
|
||||
add r41 = -64, sp // A
|
||||
// r40 points to int register area
|
||||
add r40 = -128, sp ;; // A
|
||||
|
||||
add out1 = 0, r40 // A
|
||||
add out2 = 0, r41 // A
|
||||
tbit.z p14,p15 = in2,0 ;; // I
|
||||
|
||||
// compute 8 * even(paramCount)
|
||||
(p14) shladd r11 = in2, 3, r0 ;; // A
|
||||
(p15) shladd r11 = in2, 3, r10 ;; // A
|
||||
sub out0 = r40, r11 ;; // A
|
||||
|
||||
// advance the stack frame
|
||||
add sp = -16, out0 // A
|
||||
add out3 = 0, in2 // A
|
||||
add out4 = 0, in3 // A
|
||||
|
||||
// branch to invoke_copy_to_stack
|
||||
br.call.sptk.few rp = invoke_copy_to_stack ;; // B
|
||||
|
||||
// restore gp
|
||||
add gp = 0, r39 // A
|
||||
add out0 = 0, in0 // A
|
||||
|
||||
// load the integer and float registers
|
||||
ld8 out1 = [r40], 8 // M
|
||||
ldfd f8 = [r41], 8 ;; // M
|
||||
|
||||
ld8 out2 = [r40], 8 // M
|
||||
ldfd f9 = [r41], 8 ;; // M
|
||||
|
||||
ld8 out3 = [r40], 8 // M
|
||||
ldfd f10 = [r41], 8 ;; // M
|
||||
|
||||
ld8 out4 = [r40], 8 // M
|
||||
ldfd f11 = [r41], 8 ;; // M
|
||||
|
||||
ld8 out5 = [r40], 8 // M
|
||||
ldfd f12 = [r41], 8 ;; // M
|
||||
// 16 * methodIndex
|
||||
shladd r11 = in1, 4, r0 // A
|
||||
|
||||
ld8 out6 = [r40], 8 // M
|
||||
ldfd f13 = [r41], 8 ;; // M
|
||||
|
||||
ld8 out7 = [r40], 8 // M
|
||||
ldfd f14 = [r41], 8 // M
|
||||
addp4 r8 = 0, in0 ;; // A
|
||||
|
||||
// look up virtual base table and dispatch to target subroutine
|
||||
// This section assumes 32 bit pointer mode, and virtual base table
|
||||
// layout from the ABI http://www.codesourcery.com/cxx-abi/abi.html
|
||||
|
||||
// load base table
|
||||
ld4 r8 = [r8] ;; // M
|
||||
addp4 r8 = r11, r8 ;; // A
|
||||
|
||||
// first entry is jump pointer, second entry is gp
|
||||
addp4 r9 = 8, r8 ;; // A
|
||||
// load jump pointer
|
||||
ld8 r8 = [r8]
|
||||
|
||||
// load gp
|
||||
ld8 gp = [r9] ;; // M
|
||||
mov b6 = r8 ;; // I
|
||||
|
||||
// branch to target virtual function
|
||||
br.call.sptk.few rp = b6 ;; // B
|
||||
|
||||
// epilog
|
||||
mov ar.pfs = r37 // I
|
||||
mov rp = r36 ;; // I
|
||||
|
||||
add sp = 0, r38 // A
|
||||
add gp = 0, r39 // A
|
||||
br.ret.sptk.few rp ;; // B
|
||||
|
||||
.endp
|
||||
|
||||
|
||||
@@ -1,148 +0,0 @@
|
||||
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1999 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
|
||||
#include "xptcprivate.h"
|
||||
|
||||
#include <iostream.h>
|
||||
|
||||
// "This code is for IA64 only"
|
||||
|
||||
|
||||
/* invoke_copy_to_stack() will copy from variant array 's' to
|
||||
* the stack argument area 'mloc', the integer register area 'iloc', and
|
||||
* the float register area 'floc'.
|
||||
*
|
||||
*/
|
||||
extern "C" void
|
||||
invoke_copy_to_stack(uint64_t* mloc, uint64_t* iloc, uint64_t* floc,
|
||||
const PRUint32 paramCount, nsXPTCVariant* s)
|
||||
{
|
||||
uint64_t* dest = mloc;
|
||||
PRUint32 len = paramCount;
|
||||
nsXPTCVariant* source = s;
|
||||
|
||||
PRUint32 indx;
|
||||
PRUint32 endlen;
|
||||
endlen = (len > 7) ? 7 : len;
|
||||
/* handle the memory arguments */
|
||||
for (indx = 7; indx < len; ++indx)
|
||||
{
|
||||
if (source[indx].IsPtrData())
|
||||
{
|
||||
#ifdef __LP64__
|
||||
/* 64 bit pointer mode */
|
||||
*((void**) dest) = source[indx].ptr;
|
||||
#else
|
||||
/* 32 bit pointer mode */
|
||||
uint32_t* adr = (uint32_t*) dest;
|
||||
*(adr) = 0;
|
||||
*(adr+1) = (uint32_t) source[indx].ptr;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
switch (source[indx].type)
|
||||
{
|
||||
case nsXPTType::T_I8 : *(dest) = source[indx].val.i8; break;
|
||||
case nsXPTType::T_I16 : *(dest) = source[indx].val.i16; break;
|
||||
case nsXPTType::T_I32 : *(dest) = source[indx].val.i32; break;
|
||||
case nsXPTType::T_I64 : *(dest) = source[indx].val.i64; break;
|
||||
case nsXPTType::T_U8 : *(dest) = source[indx].val.u8; break;
|
||||
case nsXPTType::T_U16 : *(dest) = source[indx].val.u16; break;
|
||||
case nsXPTType::T_U32 : *(dest) = source[indx].val.u32; break;
|
||||
case nsXPTType::T_U64 : *(dest) = source[indx].val.u64; break;
|
||||
case nsXPTType::T_FLOAT : *(dest) = source[indx].val.u32; break;
|
||||
case nsXPTType::T_DOUBLE: *(dest) = source[indx].val.u64; break;
|
||||
case nsXPTType::T_BOOL : *(dest) = source[indx].val.b; break;
|
||||
case nsXPTType::T_CHAR : *(dest) = source[indx].val.c; break;
|
||||
case nsXPTType::T_WCHAR : *(dest) = source[indx].val.wc; break;
|
||||
default:
|
||||
// all the others are plain pointer types
|
||||
#ifdef __LP64__
|
||||
/* 64 bit pointer mode */
|
||||
*((void**) dest) = source[indx].val.p;
|
||||
#else
|
||||
{
|
||||
/* 32 bit pointer mode */
|
||||
uint32_t* adr = (uint32_t*) dest;
|
||||
*(adr) = 0;
|
||||
*(adr+1) = (uint32_t) source[indx].val.p;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
++dest;
|
||||
}
|
||||
/* process register arguments */
|
||||
dest = iloc;
|
||||
for (indx = 0; indx < endlen; ++indx)
|
||||
{
|
||||
if (source[indx].IsPtrData())
|
||||
{
|
||||
#ifdef __LP64__
|
||||
/* 64 bit pointer mode */
|
||||
*((void**) dest) = source[indx].ptr;
|
||||
#else
|
||||
/* 32 bit pointer mode */
|
||||
uint32_t* adr = (uint32_t*) dest;
|
||||
*(adr) = 0;
|
||||
*(adr+1) = (uint32_t) source[indx].ptr;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
switch (source[indx].type)
|
||||
{
|
||||
case nsXPTType::T_I8 : *(dest) = source[indx].val.i8; break;
|
||||
case nsXPTType::T_I16 : *(dest) = source[indx].val.i16; break;
|
||||
case nsXPTType::T_I32 : *(dest) = source[indx].val.i32; break;
|
||||
case nsXPTType::T_I64 : *(dest) = source[indx].val.i64; break;
|
||||
case nsXPTType::T_U8 : *(dest) = source[indx].val.u8; break;
|
||||
case nsXPTType::T_U16 : *(dest) = source[indx].val.u16; break;
|
||||
case nsXPTType::T_U32 : *(dest) = source[indx].val.u32; break;
|
||||
case nsXPTType::T_U64 : *(dest) = source[indx].val.u64; break;
|
||||
case nsXPTType::T_FLOAT :
|
||||
*((double*) (floc++)) = (double) source[indx].val.f;
|
||||
break;
|
||||
case nsXPTType::T_DOUBLE:
|
||||
*((double*) (floc++)) = source[indx].val.d;
|
||||
break;
|
||||
case nsXPTType::T_BOOL : *(dest) = source[indx].val.b; break;
|
||||
case nsXPTType::T_CHAR : *(dest) = source[indx].val.c; break;
|
||||
case nsXPTType::T_WCHAR : *(dest) = source[indx].val.wc; break;
|
||||
default:
|
||||
// all the others are plain pointer types
|
||||
#ifdef __LP64__
|
||||
/* 64 bit pointer mode */
|
||||
*((void**) dest) = source[indx].val.p;
|
||||
#else
|
||||
{
|
||||
/* 32 bit pointer mode */
|
||||
uint32_t* adr = (uint32_t*) dest;
|
||||
*(adr) = 0;
|
||||
*(adr+1) = (uint32_t) source[indx].val.p;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
++dest;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,124 +0,0 @@
|
||||
|
||||
// Select C numeric constant
|
||||
.radix C
|
||||
.psr abi32
|
||||
.psr msb
|
||||
// Section has executable code
|
||||
.section .text, "ax","progbits"
|
||||
// procedure named 'SharedStub'
|
||||
.proc SharedStub
|
||||
// manual bundling
|
||||
.explicit
|
||||
|
||||
.global PrepareAndDispatch
|
||||
// .exclass PrepareAndDispatch, @fullyvisible
|
||||
.type PrepareAndDispatch,@function
|
||||
|
||||
SharedStub::
|
||||
// 9 arguments, first 8 are the input arguments of previous
|
||||
// function call. The last one is methodIndex, and is passed in memory
|
||||
.prologue
|
||||
.save ar.pfs , r41
|
||||
// allocate 8 input args, 4 local args, and 5 output args
|
||||
alloc r41 = ar.pfs, 8, 4, 5, 0 // M
|
||||
.save rp, r40
|
||||
mov r40 = rp // I
|
||||
nop.i 0 ;; // I
|
||||
|
||||
.save ar.unat, r42
|
||||
mov r42 = ar.unat // M
|
||||
.fframe 144
|
||||
add sp = -144, sp // A
|
||||
// unwind table already knows gp, don't need to specify anything
|
||||
add r43 = 0, gp ;; // A
|
||||
|
||||
// We have possible 8 integer registers and 8 float registers that could
|
||||
// be arguments. We also have a stack region from the previous
|
||||
// stack frame that may hold some stack arguments.
|
||||
// We need to write the integer registers to a memory region, write
|
||||
// the float registers to a memory region (making sure we don't step
|
||||
// on NAT while touching the registers). We also mark the memory
|
||||
// address of the stack arguments.
|
||||
// We then call PrepareAndDispatch() specifying the three memory
|
||||
// region pointers.
|
||||
|
||||
|
||||
.body
|
||||
add out0 = 0, in0 // A move self ptr
|
||||
// 144 bytes = 16 byte stack header + 64 byte int space + 64 byte float space
|
||||
// current frame is 144 bytes, previous frame is 112 bytes
|
||||
// restarg is at 144 + 112 + 16 bytes away from current sp
|
||||
// (current frame + previous frame + previous previous frame header)
|
||||
// methodIndex is at 144 + 16 bytes away from current sp
|
||||
// (current frame + previous frame header)
|
||||
add out4 = 192, sp // A restarg address
|
||||
add r11 = 160, sp ;; // A address of methodIndex
|
||||
|
||||
ld8 out1 = [r11] // M load methodIndex
|
||||
// sp + 16 is the start of intargs
|
||||
add out2 = 16, sp // A address of intargs
|
||||
// the intargs take up 64 bytes, so sp + 16 + 64 is the start of floatargs
|
||||
add out3 = 80, sp ;; // A address of floatargs
|
||||
|
||||
add r11 = 0, out2 ;; // A
|
||||
st8.spill [r11] = in1, 8 // M
|
||||
add r10 = 0, out3 ;; // A
|
||||
|
||||
st8.spill [r11] = in2, 8 ;; // M
|
||||
st8.spill [r11] = in3, 8 // M
|
||||
nop.i 0 ;; // I
|
||||
|
||||
st8.spill [r11] = in4, 8 ;; // M
|
||||
st8.spill [r11] = in5, 8 // M
|
||||
nop.i 0 ;; // I
|
||||
|
||||
st8.spill [r11] = in6, 8 ;; // M
|
||||
st8.spill [r11] = in7 // M
|
||||
fclass.nm p14,p15 = f8,@nat ;; // F
|
||||
|
||||
(p14) stfd [r10] = f8, 8 // M
|
||||
(p15) add r10 = 8, r10 // A
|
||||
fclass.nm p12,p13 = f9,@nat ;; // F
|
||||
|
||||
(p12) stfd [r10] = f9, 8 // M
|
||||
(p13) add r10 = 8, r10 // A
|
||||
fclass.nm p14,p15 =f10,@nat ;; // F
|
||||
|
||||
(p14) stfd [r10] = f10, 8 // M
|
||||
(p15) add r10 = 8, r10 // A
|
||||
fclass.nm p12,p13 =f11,@nat ;; // F
|
||||
|
||||
(p12) stfd [r10] = f11, 8 // M
|
||||
(p13) add r10 = 8, r10 // A
|
||||
fclass.nm p14,p15 =f12,@nat ;; // F
|
||||
|
||||
(p14) stfd [r10] = f12, 8 // M
|
||||
(p15) add r10 = 8, r10 // A
|
||||
fclass.nm p12,p13 =f13,@nat ;; // F
|
||||
|
||||
(p12) stfd [r10] = f13, 8 // M
|
||||
(p13) add r10 = 8, r10 // A
|
||||
fclass.nm p14,p15 =f14,@nat ;; // F
|
||||
|
||||
(p14) stfd [r10] = f14, 8 // M
|
||||
(p15) add r10 = 8, r10 // A
|
||||
fclass.nm p12,p13 =f15,@nat ;; // F
|
||||
|
||||
(p12) stfd [r10] = f15, 8 // M
|
||||
(p13) add r10 = 8, r10 // A
|
||||
|
||||
// branch to PrepareAndDispatch
|
||||
br.call.dptk.few rp = PrepareAndDispatch ;; // B
|
||||
|
||||
// epilog
|
||||
mov ar.unat = r42 // M
|
||||
mov ar.pfs = r41 // I
|
||||
mov rp = r40 ;; // I
|
||||
|
||||
add gp = 0, r43 // A
|
||||
add sp = 144, sp // A
|
||||
br.ret.dptk.few rp ;; // B
|
||||
|
||||
.endp
|
||||
|
||||
|
||||
@@ -1,169 +0,0 @@
|
||||
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1999 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
|
||||
|
||||
#include "xptcprivate.h"
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
// "This code is for IA64 only"
|
||||
|
||||
/* Implement shared vtbl methods. */
|
||||
|
||||
extern "C" nsresult
|
||||
PrepareAndDispatch(nsXPTCStubBase* self, PRUint32 methodIndex,
|
||||
uint64_t* intargs, uint64_t* floatargs, uint64_t* restargs)
|
||||
{
|
||||
|
||||
#define PARAM_BUFFER_COUNT 16
|
||||
|
||||
nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
|
||||
nsXPTCMiniVariant* dispatchParams = NULL;
|
||||
nsIInterfaceInfo* iface_info = NULL;
|
||||
const nsXPTMethodInfo* info;
|
||||
nsresult result = NS_ERROR_FAILURE;
|
||||
uint64_t* iargs = intargs;
|
||||
uint64_t* fargs = floatargs;
|
||||
PRUint8 paramCount;
|
||||
PRUint8 i;
|
||||
|
||||
NS_ASSERTION(self,"no self");
|
||||
|
||||
self->GetInterfaceInfo(&iface_info);
|
||||
NS_ASSERTION(iface_info,"no interface info");
|
||||
|
||||
iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
|
||||
NS_ASSERTION(info,"no interface info");
|
||||
|
||||
paramCount = info->GetParamCount();
|
||||
|
||||
// setup variant array pointer
|
||||
if(paramCount > PARAM_BUFFER_COUNT)
|
||||
dispatchParams = new nsXPTCMiniVariant[paramCount];
|
||||
else
|
||||
dispatchParams = paramBuffer;
|
||||
NS_ASSERTION(dispatchParams,"no place for params");
|
||||
|
||||
for(i = 0; i < paramCount; ++i)
|
||||
{
|
||||
int isfloat = 0;
|
||||
const nsXPTParamInfo& param = info->GetParam(i);
|
||||
const nsXPTType& type = param.GetType();
|
||||
nsXPTCMiniVariant* dp = &dispatchParams[i];
|
||||
|
||||
if(param.IsOut() || !type.IsArithmetic())
|
||||
{
|
||||
#ifdef __LP64__
|
||||
/* 64 bit pointer mode */
|
||||
dp->val.p = (void*) *iargs;
|
||||
#else
|
||||
/* 32 bit pointer mode */
|
||||
uint32_t* adr = (uint32_t*) iargs;
|
||||
dp->val.p = (void*) (*(adr+1));
|
||||
#endif
|
||||
}
|
||||
else
|
||||
switch(type)
|
||||
{
|
||||
case nsXPTType::T_I8 : dp->val.i8 = *(iargs); break;
|
||||
case nsXPTType::T_I16 : dp->val.i16 = *(iargs); break;
|
||||
case nsXPTType::T_I32 : dp->val.i32 = *(iargs); break;
|
||||
case nsXPTType::T_I64 : dp->val.i64 = *(iargs); break;
|
||||
case nsXPTType::T_U8 : dp->val.u8 = *(iargs); break;
|
||||
case nsXPTType::T_U16 : dp->val.u16 = *(iargs); break;
|
||||
case nsXPTType::T_U32 : dp->val.u32 = *(iargs); break;
|
||||
case nsXPTType::T_U64 : dp->val.u64 = *(iargs); break;
|
||||
case nsXPTType::T_FLOAT :
|
||||
isfloat = 1;
|
||||
if (i < 7)
|
||||
dp->val.f = (float) *((double*) fargs); /* register */
|
||||
else
|
||||
dp->val.u32 = *(fargs); /* memory */
|
||||
break;
|
||||
case nsXPTType::T_DOUBLE :
|
||||
isfloat = 1;
|
||||
dp->val.u64 = *(fargs);
|
||||
break;
|
||||
case nsXPTType::T_BOOL : dp->val.b = *(iargs); break;
|
||||
case nsXPTType::T_CHAR : dp->val.c = *(iargs); break;
|
||||
case nsXPTType::T_WCHAR : dp->val.wc = *(iargs); break;
|
||||
default:
|
||||
NS_ASSERTION(0, "bad type");
|
||||
break;
|
||||
}
|
||||
if (i < 7)
|
||||
{
|
||||
/* we are parsing register arguments */
|
||||
if (i == 6)
|
||||
{
|
||||
// run out of register arguments, move on to memory arguments
|
||||
iargs = restargs;
|
||||
fargs = restargs;
|
||||
}
|
||||
else
|
||||
{
|
||||
++iargs; // advance one integer register slot
|
||||
if (isfloat) ++fargs; // advance float register slot if isfloat
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* we are parsing memory arguments */
|
||||
++iargs;
|
||||
++fargs;
|
||||
}
|
||||
}
|
||||
|
||||
result = self->CallMethod((PRUint16) methodIndex, info, dispatchParams);
|
||||
|
||||
NS_RELEASE(iface_info);
|
||||
|
||||
if(dispatchParams != paramBuffer)
|
||||
delete [] dispatchParams;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
extern "C" int SharedStub(PRUint64,PRUint64,PRUint64,PRUint64,
|
||||
PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
|
||||
|
||||
/* Variable a0-a7 were put there so we can have access to the 8 input
|
||||
registers on Stubxyz entry */
|
||||
|
||||
#define STUB_ENTRY(n) \
|
||||
nsresult nsXPTCStubBase::Stub##n(PRUint64 a1, \
|
||||
PRUint64 a2,PRUint64 a3,PRUint64 a4,PRUint64 a5,PRUint64 a6,PRUint64 a7) \
|
||||
{ uint64_t a0 = (uint64_t) this; \
|
||||
return SharedStub(a0,a1,a2,a3,a4,a5,a6,a7,(PRUint64) n); \
|
||||
}
|
||||
|
||||
#define SENTINEL_ENTRY(n) \
|
||||
nsresult nsXPTCStubBase::Sentinel##n() \
|
||||
{ \
|
||||
NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
|
||||
return NS_ERROR_NOT_IMPLEMENTED; \
|
||||
}
|
||||
|
||||
#include "xptcstubsdef.inc"
|
||||
|
||||
BIN
mozilla/xpfe/bootstrap/mozilla.icns
Normal file
BIN
mozilla/xpfe/bootstrap/mozilla.icns
Normal file
Binary file not shown.
Reference in New Issue
Block a user