diff options
author | Luboš Luňák <l.lunak@suse.cz> | 2012-03-16 13:04:22 +0100 |
---|---|---|
committer | Luboš Luňák <l.lunak@suse.cz> | 2012-03-16 13:07:34 +0100 |
commit | cb3f52275b51546b579d7856b75dca4ecf791c6a (patch) | |
tree | 46950ed916fadf11fbbe1ecabf0390289ae7fcc1 /nss | |
parent | f62da81eb28c86e0503e5de44e2c3ef2fdd599fc (diff) |
asm fixes in nss
Diffstat (limited to 'nss')
-rw-r--r-- | nss/makefile.mk | 2 | ||||
-rw-r--r-- | nss/nss-asm-fix.patch | 56 | ||||
-rw-r--r-- | nss/nss-clang_os_Linux_x86_64_s_comments.patch | 149 |
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 |