summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormycroft <mycroft>2002-09-03 14:58:17 +0000
committermycroft <mycroft>2002-09-03 14:58:17 +0000
commit8756d99751c43de9eca870f1eb2d73a957fde05c (patch)
treeca4e11cbde19ee48ab4d7990906fc485906408a0
parent2eae56a8bf2a1fda6a36e8cff75fd01db574d19c (diff)
downloadpkgsrc-8756d99751c43de9eca870f1eb2d73a957fde05c.tar.gz
Swipe the patch for bug 160535 from the Mozilla tree, to fix unaligned access
problems on 64-bit platforms. (I don't think this is the right way to do it, but...)
-rw-r--r--www/mozilla/distinfo4
-rw-r--r--www/mozilla/patches/patch-bk31
-rw-r--r--www/mozilla/patches/patch-bl44
3 files changed, 78 insertions, 1 deletions
diff --git a/www/mozilla/distinfo b/www/mozilla/distinfo
index b2eee3f6f32..4a93292f416 100644
--- a/www/mozilla/distinfo
+++ b/www/mozilla/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.27 2002/08/29 15:11:11 taya Exp $
+$NetBSD: distinfo,v 1.28 2002/09/03 14:58:17 mycroft Exp $
SHA1 (mozilla-source-1.1.tar.gz) = 9499b9c96ca5128be9a4e92c9cfead9950fd2efd
Size (mozilla-source-1.1.tar.gz) = 40817026 bytes
@@ -13,3 +13,5 @@ SHA1 (patch-ba) = 71758ae86bd7f57095b5af2f96d5d2c4416bec57
SHA1 (patch-bb) = 4f8b98e24afdba9b281f7fbfe551837560d75c62
SHA1 (patch-be) = 768bf48f5a667e51cea9fd83c5cb26cf86e72e18
SHA1 (patch-bj) = 3690cdca84ad2a721d98156404e8f309ba47b3d6
+SHA1 (patch-bk) = e1ef475003bc46fd340e2f3e1bf19ad1811094d4
+SHA1 (patch-bl) = bf9c9a86bd30912788c222c5f1536d83f707c77d
diff --git a/www/mozilla/patches/patch-bk b/www/mozilla/patches/patch-bk
new file mode 100644
index 00000000000..2452d3a931b
--- /dev/null
+++ b/www/mozilla/patches/patch-bk
@@ -0,0 +1,31 @@
+$NetBSD: patch-bk,v 1.5 2002/09/03 14:58:18 mycroft Exp $
+
+--- xpcom/ds/nsRecyclingAllocator.cpp.orig Sat Sep 3 14:38:03 2022
++++ xpcom/ds/nsRecyclingAllocator.cpp Sat Sep 3 14:35:24 2022
+@@ -159,7 +159,7 @@
+
+ // Allocation and free routines
+ void*
+-nsRecyclingAllocator::Malloc(PRUint32 bytes, PRBool zeroit)
++nsRecyclingAllocator::Malloc(PRSize bytes, PRBool zeroit)
+ {
+ // Mark that we are using. This will prevent any
+ // timer based release of unused memory.
+@@ -173,7 +173,7 @@
+
+ // We need to do an allocation
+ // Add 4 bytes to what we allocate to hold the bucket index
+- PRUint32 allocBytes = bytes + NS_ALLOCATOR_OVERHEAD_BYTES;
++ PRSize allocBytes = bytes + NS_ALLOCATOR_OVERHEAD_BYTES;
+
+ // We dont have that memory already. Allocate.
+ Block *ptr = (Block *) (zeroit ? calloc(1, allocBytes) : malloc(allocBytes));
+@@ -275,7 +275,7 @@
+ }
+
+ nsRecyclingAllocator::Block*
+-nsRecyclingAllocator::FindFreeBlock(PRUint32 bytes)
++nsRecyclingAllocator::FindFreeBlock(PRSize bytes)
+ {
+ // We dont enter lock for this check. This is intentional.
+ // Here is my logic: we are checking if (!mFreeList). Doing this check
diff --git a/www/mozilla/patches/patch-bl b/www/mozilla/patches/patch-bl
new file mode 100644
index 00000000000..341d62e1518
--- /dev/null
+++ b/www/mozilla/patches/patch-bl
@@ -0,0 +1,44 @@
+$NetBSD: patch-bl,v 1.1 2002/09/03 14:58:18 mycroft Exp $
+
+--- xpcom/ds/nsRecyclingAllocator.h.orig Sat Sep 3 14:38:24 2022
++++ xpcom/ds/nsRecyclingAllocator.h Sat Sep 3 14:36:54 2022
+@@ -78,7 +78,7 @@
+ class NS_COM nsRecyclingAllocator {
+ protected:
+ struct Block {
+- PRUint32 bytes;
++ PRSize bytes;
+ };
+
+ // Make |BlockStoreNode| a |friend| so it can access |Block|.
+@@ -87,7 +87,7 @@
+
+ struct BlockStoreNode {
+ BlockStoreNode() : bytes(0), block(nsnull), next(nsnull) {};
+- PRUint32 bytes;
++ PRSize bytes;
+ Block *block;
+ BlockStoreNode *next;
+ };
+@@ -150,10 +150,10 @@
+ nsresult Init(PRUint32 nbucket, PRUint32 recycleAfter, const char *id);
+
+ // Allocation and free routines
+- void* Malloc(PRUint32 size, PRBool zeroit = PR_FALSE);
++ void* Malloc(PRSize size, PRBool zeroit = PR_FALSE);
+ void Free(void *ptr);
+
+- void* Calloc(PRUint32 items, PRUint32 size)
++ void* Calloc(PRUint32 items, PRSize size)
+ {
+ return Malloc(items * size, PR_TRUE);
+ }
+@@ -168,7 +169,7 @@
+
+ // Freelist management
+ // FindFreeBlock: return a free block that can hold bytes (best fit)
+- Block* FindFreeBlock(PRUint32 bytes);
++ Block* FindFreeBlock(PRSize bytes);
+ // AddToFreeList: adds block into our freelist for future retrieval.
+ // Returns PR_TRUE is addition was successful. PR_FALSE otherewise.
+ PRBool AddToFreeList(Block* block);