]> git.pld-linux.org Git - packages/nss.git/commitdiff
- AMD64-porting-patch for NSS from RH
authorJacek Konieczny <jajcus@pld-linux.org>
Fri, 2 Jan 2004 10:38:41 +0000 (10:38 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    nss-amd64.patch -> 1.1

nss-amd64.patch [new file with mode: 0644]

diff --git a/nss-amd64.patch b/nss-amd64.patch
new file mode 100644 (file)
index 0000000..45873e7
--- /dev/null
@@ -0,0 +1,246 @@
+diff -durN nss-3.8.orig/mozilla/nsprpub/configure nss-3.8/mozilla/nsprpub/configure
+--- nss-3.8.orig/mozilla/nsprpub/configure     2003-03-27 03:21:19.000000000 +0100
++++ nss-3.8/mozilla/nsprpub/configure  2005-01-01 01:05:58.574599704 +0100
+@@ -3729,6 +3729,9 @@
+     ia64)
+         PR_MD_ASFILES=os_Linux_ia64.s
+         ;;
++    x86_64)
++        PR_MD_ASFILES=os_Linux_x86_64.s
++        ;;
+     m68k)
+         CFLAGS="$CFLAGS -m68020-60"
+         CXXFLAGS="$CXXFLAGS -m68020-60"
+diff -durN nss-3.8.orig/mozilla/nsprpub/configure.in nss-3.8/mozilla/nsprpub/configure.in
+--- nss-3.8.orig/mozilla/nsprpub/configure.in  2003-03-27 03:21:20.000000000 +0100
++++ nss-3.8/mozilla/nsprpub/configure.in       2005-01-01 01:05:58.561601680 +0100
+@@ -1218,6 +1218,9 @@
+     ia64)
+         PR_MD_ASFILES=os_Linux_ia64.s
+         ;;
++    x86_64)
++        PR_MD_ASFILES=os_Linux_x86_64.s
++        ;;
+     m68k)
+         CFLAGS="$CFLAGS -m68020-60"
+         CXXFLAGS="$CXXFLAGS -m68020-60"
+diff -durN nss-3.8.orig/mozilla/nsprpub/pr/include/md/_linux.cfg nss-3.8/mozilla/nsprpub/pr/include/md/_linux.cfg
+--- nss-3.8.orig/mozilla/nsprpub/pr/include/md/_linux.cfg      2003-01-23 18:03:19.000000000 +0100
++++ nss-3.8/mozilla/nsprpub/pr/include/md/_linux.cfg   2005-01-01 01:05:58.208655336 +0100
+@@ -182,6 +182,52 @@
+ #define PR_BYTES_PER_WORD_LOG2  3
+ #define PR_BYTES_PER_DWORD_LOG2 3
++#elif defined(__x86_64__)
++
++#define IS_LITTLE_ENDIAN 1
++#undef  IS_BIG_ENDIAN
++#define IS_64
++
++#define PR_BYTES_PER_BYTE   1
++#define PR_BYTES_PER_SHORT  2
++#define PR_BYTES_PER_INT    4
++#define PR_BYTES_PER_INT64  8
++#define PR_BYTES_PER_LONG   8
++#define PR_BYTES_PER_FLOAT  4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD   8
++#define PR_BYTES_PER_DWORD  8
++
++#define PR_BITS_PER_BYTE    8
++#define PR_BITS_PER_SHORT   16
++#define PR_BITS_PER_INT     32
++#define PR_BITS_PER_INT64   64
++#define PR_BITS_PER_LONG    64
++#define PR_BITS_PER_FLOAT   32
++#define PR_BITS_PER_DOUBLE  64
++#define PR_BITS_PER_WORD    64
++
++#define PR_BITS_PER_BYTE_LOG2   3
++#define PR_BITS_PER_SHORT_LOG2  4
++#define PR_BITS_PER_INT_LOG2    5
++#define PR_BITS_PER_INT64_LOG2  6
++#define PR_BITS_PER_LONG_LOG2   6
++#define PR_BITS_PER_FLOAT_LOG2  5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2   6
++
++#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_FLOAT   4
++#define PR_ALIGN_OF_DOUBLE  8
++#define PR_ALIGN_OF_POINTER 8
++#define PR_ALIGN_OF_WORD    8
++
++#define PR_BYTES_PER_WORD_LOG2  3
++#define PR_BYTES_PER_DWORD_LOG2 3
++
+ #elif defined(__mc68000__)
+ #undef  IS_LITTLE_ENDIAN
+diff -durN nss-3.8.orig/mozilla/nsprpub/pr/include/md/_linux.h nss-3.8/mozilla/nsprpub/pr/include/md/_linux.h
+--- nss-3.8.orig/mozilla/nsprpub/pr/include/md/_linux.h        2003-01-23 18:03:19.000000000 +0100
++++ nss-3.8/mozilla/nsprpub/pr/include/md/_linux.h     2005-01-01 01:05:58.227652448 +0100
+@@ -49,6 +49,8 @@
+ #define _PR_SI_ARCHITECTURE "alpha"
+ #elif defined(__ia64__)
+ #define _PR_SI_ARCHITECTURE "ia64"
++#elif defined(__x86_64__)
++#define _PR_SI_ARCHITECTURE "x86-64"
+ #elif defined(__mc68000__)
+ #define _PR_SI_ARCHITECTURE "m68k"
+ #elif defined(__sparc__)
+@@ -107,6 +109,19 @@
+ #define _MD_ATOMIC_SET                _PR_ia64_AtomicSet
+ #endif
++#if defined(__x86_64__)
++#define _PR_HAVE_ATOMIC_OPS
++#define _MD_INIT_ATOMIC()
++extern PRInt32 _PR_x86_64_AtomicIncrement(PRInt32 *val);
++#define _MD_ATOMIC_INCREMENT          _PR_x86_64_AtomicIncrement
++extern PRInt32 _PR_x86_64_AtomicDecrement(PRInt32 *val);
++#define _MD_ATOMIC_DECREMENT          _PR_x86_64_AtomicDecrement
++extern PRInt32 _PR_x86_64_AtomicAdd(PRInt32 *ptr, PRInt32 val);
++#define _MD_ATOMIC_ADD                _PR_x86_64_AtomicAdd
++extern PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval);
++#define _MD_ATOMIC_SET                _PR_x86_64_AtomicSet
++#endif
++
+ #define USE_SETJMP
+ #if defined(__GLIBC__) && __GLIBC__ >= 2
+ #define _PR_POLL_AVAILABLE
+diff -durN nss-3.8.orig/mozilla/nsprpub/pr/src/io/prprf.c nss-3.8/mozilla/nsprpub/pr/src/io/prprf.c
+--- nss-3.8.orig/mozilla/nsprpub/pr/src/io/prprf.c     2003-01-23 18:03:22.000000000 +0100
++++ nss-3.8/mozilla/nsprpub/pr/src/io/prprf.c  2005-01-01 01:05:58.248649256 +0100
+@@ -51,7 +51,10 @@
+ ** Note: on some platforms va_list is defined as an array,
+ ** and requires array notation.
+ */
+-#if (defined(LINUX) && defined(__powerpc__)) || \
++#if (defined(LINUX) && defined(__x86_64__))
++#include <stdarg.h>
++#define VARARGS_ASSIGN(foo, bar) __va_copy((foo), (bar))
++#elif (defined(LINUX) && defined(__powerpc__)) || \
+     (defined(LINUX) && defined(__s390__)) || \
+     (defined(LINUX) && defined(__s390x__)) || \
+     defined(WIN16) || defined(QNX) || \
+diff -durN nss-3.8.orig/mozilla/nsprpub/pr/src/md/unix/os_Linux_x86_64.s nss-3.8/mozilla/nsprpub/pr/src/md/unix/os_Linux_x86_64.s
+--- nss-3.8.orig/mozilla/nsprpub/pr/src/md/unix/os_Linux_x86_64.s      1970-01-01 01:00:00.000000000 +0100
++++ nss-3.8/mozilla/nsprpub/pr/src/md/unix/os_Linux_x86_64.s   2005-01-01 01:05:58.342634968 +0100
+@@ -0,0 +1,91 @@
++/ -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
++/ 
++/ 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 Portable Runtime (NSPR).
++/ 
++/ The Initial Developer of the Original Code is Netscape
++/ Communications Corporation.  Portions created by Netscape are 
++/ Copyright (C) 2000 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.
++/ 
++
++/ PRInt32 _PR_x86_64_AtomicIncrement(PRInt32 *val)
++/
++/ Atomically increment the integer pointed to by 'val' and return
++/ the result of the increment.
++/
++    .text
++    .globl _PR_x86_64_AtomicIncrement
++    .align 4
++_PR_x86_64_AtomicIncrement:
++    movl $1, %eax
++    lock
++    xaddl %eax, (%rdi)
++    incl %eax
++    ret
++
++/ PRInt32 _PR_x86_64_AtomicDecrement(PRInt32 *val)
++/
++/ Atomically decrement the integer pointed to by 'val' and return
++/ the result of the decrement.
++/
++    .text
++    .globl _PR_x86_64_AtomicDecrement
++    .align 4
++_PR_x86_64_AtomicDecrement:
++    movl $-1, %eax
++    lock
++    xaddl %eax, (%rdi)
++    decl %eax
++    ret
++
++/ PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval)
++/
++/ Atomically set the integer pointed to by 'val' to the new
++/ value 'newval' and return the old value.
++    .text
++    .globl _PR_x86_64_AtomicSet
++    .align 4
++_PR_x86_64_AtomicSet:
++    movl %esi, %eax
++    lock
++    xchgl %eax, (%rdi)
++    ret
++
++/ PRInt32 _PR_x86_64_AtomicAdd(PRInt32 *ptr, PRInt32 val)
++/
++/ Atomically add 'val' to the integer pointed to by 'ptr'
++/ and return the result of the addition.
++/
++    .text
++    .globl _PR_x86_64_AtomicAdd
++    .align 4
++_PR_x86_64_AtomicAdd:
++    movl %esi, %eax
++    lock
++    xaddl %eax, (%rdi)
++    addl %esi, %eax
++    ret
+diff -durN nss-3.8.orig/mozilla/security/coreconf/Linux.mk nss-3.8/mozilla/security/coreconf/Linux.mk
+--- nss-3.8.orig/mozilla/security/coreconf/Linux.mk    2005-01-01 01:02:13.000000000 +0100
++++ nss-3.8/mozilla/security/coreconf/Linux.mk 2005-01-01 01:05:58.587597728 +0100
+@@ -66,6 +66,10 @@
+       OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+       CPU_ARCH        = ia64
+ else
++ifeq ($(OS_TEST),x86_64)
++      OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
++      CPU_ARCH        = x86_64
++else
+ ifeq ($(OS_TEST),sparc)
+       OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+       CPU_ARCH        = sparc
+@@ -102,6 +106,7 @@
+ endif
+ endif
+ endif
++endif
+ LIBC_TAG              = _glibc
This page took 0.857469 seconds and 4 git commands to generate.