[BACK]Return to patch-xc CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / www / firefox24 / patches

File: [cvs.NetBSD.org] / pkgsrc / www / firefox24 / patches / Attic / patch-xc (download)

Revision 1.1, Sun Nov 3 04:52:00 2013 UTC (9 years, 3 months ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2, pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4, pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3, pkgsrc-2014Q2-base, pkgsrc-2014Q2, pkgsrc-2014Q1-base, pkgsrc-2014Q1, pkgsrc-2013Q4-base, pkgsrc-2013Q4

Import firefox24-24.1.0 as www/firefox24.

Mozilla Firefox is a free, open-source and cross-platform web browser
for Windows, Linux, MacOS X and many other operating systems.

It is fast and easy to use, and offers many advantages over other web
browsers, such as tabbed browsing and the ability to block pop-up
windows.

Firefox also offers excellent bookmark and history management, and it
can be extended by developers using industry standards such as XML,
CSS, JavaScript, C++, etc. Many extensions are available.

This package tracks 24 extended support release branch.

$NetBSD: patch-xc,v 1.1 2013/11/03 04:52:00 ryoon Exp $

NetBSD/sparc64 xptcall support code. From pkgsrc/www/firefox3/files/

--- xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_sparc64_netbsd.s.orig	2013-01-09 15:25:54.000000000 +0000
+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_sparc64_netbsd.s
@@ -0,0 +1,66 @@
+/* -*- 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): 
+ */
+
+        .global SharedStub
+
+/*
+    in the frame for the function that called SharedStub are the
+    rest of the parameters we need
+
+*/
+
+SharedStub:
+! we don't create a new frame yet, but work within the frame of the calling
+! function to give ourselves the other parameters we want
+
+	mov	%o0, %o1	       ! shuffle the index up to 2nd place
+	mov	%i0, %o0	       ! the original 'this'
+	add	%fp, 0x7ff + 136, %o2  ! previous stack top adjusted to the first argument slot (beyond 'this')
+
+! save off the original incoming parameters that arrived in 
+! registers, the ABI guarantees the space for us to do this
+	stx	%i1, [%fp + 0x7ff + 136]
+	stx	%i2, [%fp + 0x7ff + 144]
+	stx	%i3, [%fp + 0x7ff + 152]
+	stx	%i4, [%fp + 0x7ff + 160]
+	stx	%i5, [%fp + 0x7ff + 168]
+! now we can build our own stack frame
+	save	%sp,-(128 + 64),%sp    ! room for the register window and
+				       ! struct pointer, rounded up to 0 % 64
+! our function now appears to have been called
+! as SharedStub(nsISupports* that, PRUint32 index, PRUint32* args)
+! so we can just copy these through
+
+	mov	%i0, %o0
+	mov	%i1, %o1
+	mov	%i2, %o2
+	call	PrepareAndDispatch
+	 nop
+	mov	%o0,%i0 	    ! propagate return value
+	b .LL1
+	 nop
+.LL1:
+	ret
+	 restore
+
+       .size	SharedStub, .-SharedStub
+       .type	SharedStub, #function