summaryrefslogtreecommitdiff
path: root/nss
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@suse.cz>2012-03-16 13:04:22 +0100
committerLuboš Luňák <l.lunak@suse.cz>2012-03-16 13:07:34 +0100
commitcb3f52275b51546b579d7856b75dca4ecf791c6a (patch)
tree46950ed916fadf11fbbe1ecabf0390289ae7fcc1 /nss
parentf62da81eb28c86e0503e5de44e2c3ef2fdd599fc (diff)
asm fixes in nss
Diffstat (limited to 'nss')
-rw-r--r--nss/makefile.mk2
-rw-r--r--nss/nss-asm-fix.patch56
-rw-r--r--nss/nss-clang_os_Linux_x86_64_s_comments.patch149
3 files changed, 206 insertions, 1 deletions
diff --git a/nss/makefile.mk b/nss/makefile.mk
index ea6f5e6fa4b2..2bfa920a064a 100644
--- a/nss/makefile.mk
+++ b/nss/makefile.mk
@@ -48,7 +48,7 @@ VER_PATCH=8
TARFILE_NAME=nss-$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)-with-nspr-4.8.6
TARFILE_MD5=71474203939fafbe271e1263e61d083e
TARFILE_ROOTDIR=nss-$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)
-PATCH_FILES=nss.patch nss.aix.patch nss-config.patch nss-linux3.patch nss-clang_os_Linux_x86_s_comments.patch nss-string-concat.patch
+PATCH_FILES=nss.patch nss.aix.patch nss-config.patch nss-linux3.patch nss-clang_os_Linux_x86_s_comments.patch nss-clang_os_Linux_x86_64_s_comments.patch nss-string-concat.patch nss-asm-fix.patch
.IF "$(OS)"=="MACOSX"
PATCH_FILES+=nss_macosx.patch
diff --git a/nss/nss-asm-fix.patch b/nss/nss-asm-fix.patch
new file mode 100644
index 000000000000..b45e1790aefa
--- /dev/null
+++ b/nss/nss-asm-fix.patch
@@ -0,0 +1,56 @@
+--- misc/build/nss-3.12.8/mozilla/security/nss/lib/freebl/mpi/mp_comba.c.sav 2012-03-16 12:30:23.255942001 +0100
++++ misc/build/nss-3.12.8/mozilla/security/nss/lib/freebl/mpi/mp_comba.c 2012-03-16 12:29:01.730170001 +0100
+@@ -49,7 +49,7 @@ __asm__ (
+ "addq %%rax,%0 \n\t" \
+ "adcq %%rdx,%1 \n\t" \
+ "adcq $0,%2 \n\t" \
+- :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) :"%rax","%rdx","%cc");
++ :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) :"%rax","%rdx","cc");
+
+
+
+@@ -76,7 +76,7 @@ __asm__ (
+ "addq %%rax,%0 \n\t" \
+ "adcq %%rdx,%1 \n\t" \
+ "adcq $0,%2 \n\t" \
+- :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i) :"%rax","%rdx","%cc");
++ :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i) :"%rax","%rdx","cc");
+
+ #define SQRADD2(i, j) \
+ __asm__ ( \
+@@ -88,7 +88,7 @@ __asm__ (
+ "addq %%rax,%0 \n\t" \
+ "adcq %%rdx,%1 \n\t" \
+ "adcq $0,%2 \n\t" \
+- :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) :"%rax","%rdx","%cc");
++ :"=r"(c0), "=r"(c1), "=r"(c2): "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) :"%rax","%rdx","cc");
+
+ #define SQRADDSC(i, j) \
+ __asm__ ( \
+@@ -97,7 +97,7 @@ __asm__ (
+ "movq %%rax,%0 \n\t" \
+ "movq %%rdx,%1 \n\t" \
+ "xorq %2,%2 \n\t" \
+- :"=r"(sc0), "=r"(sc1), "=r"(sc2): "g"(i), "g"(j) :"%rax","%rdx","%cc");
++ :"=r"(sc0), "=r"(sc1), "=r"(sc2): "g"(i), "g"(j) :"%rax","%rdx","cc");
+
+ #define SQRADDAC(i, j) \
+ __asm__ ( \
+@@ -106,7 +106,7 @@ __asm__ (
+ "addq %%rax,%0 \n\t" \
+ "adcq %%rdx,%1 \n\t" \
+ "adcq $0,%2 \n\t" \
+- :"=r"(sc0), "=r"(sc1), "=r"(sc2): "0"(sc0), "1"(sc1), "2"(sc2), "g"(i), "g"(j) :"%rax","%rdx","%cc");
++ :"=r"(sc0), "=r"(sc1), "=r"(sc2): "0"(sc0), "1"(sc1), "2"(sc2), "g"(i), "g"(j) :"%rax","%rdx","cc");
+
+ #define SQRADDDB \
+ __asm__ ( \
+@@ -116,7 +116,7 @@ __asm__ (
+ "addq %6,%0 \n\t" \
+ "adcq %7,%1 \n\t" \
+ "adcq %8,%2 \n\t" \
+- :"=&r"(c0), "=&r"(c1), "=&r"(c2) : "0"(c0), "1"(c1), "2"(c2), "r"(sc0), "r"(sc1), "r"(sc2) : "%cc");
++ :"=&r"(c0), "=&r"(c1), "=&r"(c2) : "0"(c0), "1"(c1), "2"(c2), "r"(sc0), "r"(sc1), "r"(sc2) : "cc");
+
+
+
diff --git a/nss/nss-clang_os_Linux_x86_64_s_comments.patch b/nss/nss-clang_os_Linux_x86_64_s_comments.patch
new file mode 100644
index 000000000000..604e4b75d417
--- /dev/null
+++ b/nss/nss-clang_os_Linux_x86_64_s_comments.patch
@@ -0,0 +1,149 @@
+--- misc/build/nss-3.12.8/mozilla/nsprpub/pr/src/md/unix/os_Linux_x86_64.s.sav 2010-04-11 07:47:01.000000000 +0200
++++ misc/build/nss-3.12.8/mozilla/nsprpub/pr/src/md/unix/os_Linux_x86_64.s 2012-03-16 12:17:12.083170001 +0100
+@@ -1,46 +1,46 @@
+-/ -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+-/
+-/ ***** BEGIN LICENSE BLOCK *****
+-/ Version: MPL 1.1/GPL 2.0/LGPL 2.1
+-/
+-/ 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 the Initial Developer are Copyright (C) 2004
+-/ the Initial Developer. All Rights Reserved.
+-/
+-/ Contributor(s):
+-/
+-/ Alternatively, the contents of this file may be used under the terms of
+-/ either the GNU General Public License Version 2 or later (the "GPL"), or
+-/ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+-/ in which case the provisions of the GPL or the LGPL are applicable instead
+-/ of those above. If you wish to allow use of your version of this file only
+-/ under the terms of either the GPL or the LGPL, and not to allow others to
+-/ use your version of this file under the terms of the MPL, indicate your
+-/ decision by deleting the provisions above and replace them with the notice
+-/ and other provisions required by the GPL or the LGPL. If you do not delete
+-/ the provisions above, a recipient may use your version of this file under
+-/ the terms of any one of the MPL, the GPL or the LGPL.
+-/
+-/ ***** END LICENSE BLOCK *****
++# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
++#
++# ***** BEGIN LICENSE BLOCK *****
++# Version: MPL 1.1/GPL 2.0/LGPL 2.1
++#
++# 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 the Initial Developer are Copyright (C) 2004
++# the Initial Developer. All Rights Reserved.
++#
++# Contributor(s):
++#
++# Alternatively, the contents of this file may be used under the terms of
++# either the GNU General Public License Version 2 or later (the "GPL"), or
++# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
++# in which case the provisions of the GPL or the LGPL are applicable instead
++# of those above. If you wish to allow use of your version of this file only
++# under the terms of either the GPL or the LGPL, and not to allow others to
++# use your version of this file under the terms of the MPL, indicate your
++# decision by deleting the provisions above and replace them with the notice
++# and other provisions required by the GPL or the LGPL. If you do not delete
++# the provisions above, a recipient may use your version of this file under
++# the terms of any one of the MPL, the GPL or the LGPL.
++#
++# ***** END LICENSE BLOCK *****
+
+-/ PRInt32 _PR_x86_64_AtomicIncrement(PRInt32 *val)
+-/
+-/ Atomically increment the integer pointed to by 'val' and return
+-/ the result of the increment.
+-/
++# 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
+ .type _PR_x86_64_AtomicIncrement, @function
+@@ -53,11 +53,11 @@ _PR_x86_64_AtomicIncrement:
+ ret
+ .size _PR_x86_64_AtomicIncrement, .-_PR_x86_64_AtomicIncrement
+
+-/ PRInt32 _PR_x86_64_AtomicDecrement(PRInt32 *val)
+-/
+-/ Atomically decrement the integer pointed to by 'val' and return
+-/ the result of the decrement.
+-/
++# 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
+ .type _PR_x86_64_AtomicDecrement, @function
+@@ -70,11 +70,11 @@ _PR_x86_64_AtomicDecrement:
+ ret
+ .size _PR_x86_64_AtomicDecrement, .-_PR_x86_64_AtomicDecrement
+
+-/ 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.
+-/
++# 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
+ .type _PR_x86_64_AtomicSet, @function
+@@ -85,11 +85,11 @@ _PR_x86_64_AtomicSet:
+ ret
+ .size _PR_x86_64_AtomicSet, .-_PR_x86_64_AtomicSet
+
+-/ 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.
+-/
++# 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
+ .type _PR_x86_64_AtomicAdd, @function
+@@ -102,5 +102,5 @@ _PR_x86_64_AtomicAdd:
+ ret
+ .size _PR_x86_64_AtomicAdd, .-_PR_x86_64_AtomicAdd
+
+-/ Magic indicating no need for an executable stack
++# Magic indicating no need for an executable stack
+ .section .note.GNU-stack, "", @progbits ; .previous