mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 20:35:50 +00:00
Working around dynamic linker restrictions on hp/macosx. r=dbaron/sr=brendan.
bug# 93479
This commit is contained in:
parent
59b5e92958
commit
7023f82c01
@ -230,6 +230,9 @@ static const char magic[] = MFL_FILE_MAGIC;
|
|||||||
|
|
||||||
// -------------------------- nsFastLoadFileReader --------------------------
|
// -------------------------- nsFastLoadFileReader --------------------------
|
||||||
|
|
||||||
|
nsID nsFastLoadFileReader::nsFastLoadFooter::gDummyID;
|
||||||
|
nsFastLoadFileReader::nsObjectMapEntry nsFastLoadFileReader::nsFastLoadFooter::gDummySharpObjectEntry;
|
||||||
|
|
||||||
NS_IMPL_ISUPPORTS_INHERITED3(nsFastLoadFileReader,
|
NS_IMPL_ISUPPORTS_INHERITED3(nsFastLoadFileReader,
|
||||||
nsBinaryInputStream,
|
nsBinaryInputStream,
|
||||||
nsIObjectInputStream,
|
nsIObjectInputStream,
|
||||||
|
@ -299,22 +299,27 @@ class NS_COM nsFastLoadFileReader
|
|||||||
PL_DHashTableFinish(&mURIMap);
|
PL_DHashTableFinish(&mURIMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// These can't be static within GetID and GetSharpObjectEntry or the
|
||||||
|
// toolchains on HP-UX 10.20's, RH 7.0, and Mac OS X all barf at link
|
||||||
|
// time ("common symbols not allowed with MY_DHLIB output format", to
|
||||||
|
// quote the OS X rev of gcc).
|
||||||
|
static nsID gDummyID;
|
||||||
|
static nsObjectMapEntry gDummySharpObjectEntry;
|
||||||
|
|
||||||
const nsID& GetID(NSFastLoadID aFastId) const {
|
const nsID& GetID(NSFastLoadID aFastId) const {
|
||||||
static nsID dummy;
|
|
||||||
PRUint32 index = aFastId - 1;
|
PRUint32 index = aFastId - 1;
|
||||||
NS_ASSERTION(index < mNumIDs, "aFastId out of range");
|
NS_ASSERTION(index < mNumIDs, "aFastId out of range");
|
||||||
if (index >= mNumIDs)
|
if (index >= mNumIDs)
|
||||||
return dummy;
|
return gDummyID;
|
||||||
return mIDMap[index];
|
return mIDMap[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
nsObjectMapEntry&
|
nsObjectMapEntry&
|
||||||
GetSharpObjectEntry(NSFastLoadOID aOID) const {
|
GetSharpObjectEntry(NSFastLoadOID aOID) const {
|
||||||
static nsObjectMapEntry dummy;
|
|
||||||
PRUint32 index = MFL_OID_TO_SHARP_INDEX(aOID);
|
PRUint32 index = MFL_OID_TO_SHARP_INDEX(aOID);
|
||||||
NS_ASSERTION(index < mNumSharpObjects, "aOID out of range");
|
NS_ASSERTION(index < mNumSharpObjects, "aOID out of range");
|
||||||
if (index >= mNumSharpObjects)
|
if (index >= mNumSharpObjects)
|
||||||
return dummy;
|
return gDummySharpObjectEntry;
|
||||||
return mObjectMap[index];
|
return mObjectMap[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user