nss/makefile.mk | 2 nss/nspr-4.8.4-clang.patch | 194 +++++++++++++++++++++++++++++++++++++ openssl/makefile.mk | 2 openssl/openssl-0.9.8o-clang.patch | 11 ++ 4 files changed, 208 insertions(+), 1 deletion(-)
New commits: commit 0056d3aaa86b3747c11cb8cf5260cc0dac298da3 Author: Herbert Dürr <h...@apache.org> Date: Thu Mar 28 15:36:28 2013 +0000 the %cc clobber is implicit on x86* as it does not have an explicit condition-code register Using the %cc clobber for this target is rejected by clang. Not even the examples in gcc documents on its inline assembler use that cc-clobber. diff --git a/nss/nspr-4.8.4-clang.patch b/nss/nspr-4.8.4-clang.patch index 505501e..974ec68 100644 --- a/nss/nspr-4.8.4-clang.patch +++ b/nss/nspr-4.8.4-clang.patch @@ -136,3 +136,59 @@ -/ Magic indicating no need for an executable stack +/* Magic indicating no need for an executable stack */ .section .note.GNU-stack, "", @progbits ; .previous +--- misc/nss-3.12.6/mozilla/security/nss/lib/freebl/mpi/mp_comba.c 2008-03-09 07:06:27.000000000 +0100 ++++ misc/build/nss-3.12.6/mozilla/security/nss/lib/freebl/mpi/mp_comba.c 2013-03-28 17:17:58.895379167 +0100 +@@ -49,7 +49,7 @@ + "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"); + + + +@@ -76,7 +76,7 @@ + "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"); + + #define SQRADD2(i, j) \ + __asm__ ( \ +@@ -88,7 +88,7 @@ + "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"); + + #define SQRADDSC(i, j) \ + __asm__ ( \ +@@ -97,7 +97,7 @@ + "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"); + + #define SQRADDAC(i, j) \ + __asm__ ( \ +@@ -106,7 +106,7 @@ + "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"); + + #define SQRADDDB \ + __asm__ ( \ +@@ -116,7 +116,7 @@ + "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)); + + + commit ad77bec91c2fbb3387155d4227b6c5ee3c35333e Author: Herbert Dürr <h...@apache.org> Date: Thu Mar 28 15:23:57 2013 +0000 change comment format in asm source for clang compatibility diff --git a/nss/makefile.mk b/nss/makefile.mk index 088ed1a..fd2116c 100644 --- a/nss/makefile.mk +++ b/nss/makefile.mk @@ -89,7 +89,7 @@ BUILD_ACTION= $(GNUMAKE) nss_build_all #See #i105566# && moz#513024# .IF "$(OS)"=="LINUX" BUILD_ACTION+=FREEBL_NO_DEPEND=1 -PATCH_FILES+=nss_linux.patch +PATCH_FILES+=nss_linux.patch nspr-4.8.4-clang.patch .ENDIF .ENDIF # "$(GUI)"=="UNX" diff --git a/nss/nspr-4.8.4-clang.patch b/nss/nspr-4.8.4-clang.patch new file mode 100644 index 0000000..505501e --- /dev/null +++ b/nss/nspr-4.8.4-clang.patch @@ -0,0 +1,138 @@ +--- misc/nss-3.12.6/mozilla/nsprpub/pr/src/md/unix/os_Linux_x86.s 2006-12-11 10:45:30.000000000 +0100 ++++ misc/build/nss-3.12.6/mozilla/nsprpub/pr/src/md/unix/os_Linux_x86.s 2013-03-28 17:11:50.919079879 +0100 +@@ -1,4 +1,4 @@ +-/ -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- ++/* -*- 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 +@@ -40,7 +40,8 @@ + / + / Atomically increment the integer pointed to by 'val' and return + / the result of the increment. +-/ ++/ */ ++ + .text + .globl _PR_x86_AtomicIncrement + .align 4 +@@ -52,11 +53,11 @@ + incl %eax + ret + +-/ PRInt32 _PR_x86_AtomicDecrement(PRInt32 *val) ++/* PRInt32 _PR_x86_AtomicDecrement(PRInt32 *val) + / + / Atomically decrement the integer pointed to by 'val' and return + / the result of the decrement. +-/ ++/ */ + .text + .globl _PR_x86_AtomicDecrement + .align 4 +@@ -68,7 +69,7 @@ + decl %eax + ret + +-/ PRInt32 _PR_x86_AtomicSet(PRInt32 *val, PRInt32 newval) ++/* PRInt32 _PR_x86_AtomicSet(PRInt32 *val, PRInt32 newval) + / + / Atomically set the integer pointed to by 'val' to the new + / value 'newval' and return the old value. +@@ -86,7 +87,7 @@ + / cmpxchgl %edx, (%ecx) + / jne retry + / ret +-/ ++/ */ + .text + .globl _PR_x86_AtomicSet + .align 4 +@@ -96,11 +97,11 @@ + xchgl %eax, (%ecx) + ret + +-/ PRInt32 _PR_x86_AtomicAdd(PRInt32 *ptr, PRInt32 val) ++/* PRInt32 _PR_x86_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_AtomicAdd + .align 4 +@@ -113,5 +114,5 @@ + addl %edx, %eax + ret + +-/ Magic indicating no need for an executable stack ++/* Magic indicating no need for an executable stack */ + .section .note.GNU-stack, "", @progbits ; .previous +--- misc/nss-3.12.6/mozilla/nsprpub/pr/src/md/unix/os_Linux_x86_64.s 2006-12-11 10:45:30.000000000 +0100 ++++ misc/build/nss-3.12.6/mozilla/nsprpub/pr/src/md/unix/os_Linux_x86_64.s 2013-03-28 17:12:00.215016941 +0100 +@@ -1,4 +1,4 @@ +-/ -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- ++/* -*- 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 +@@ -40,7 +40,8 @@ + / + / Atomically increment the integer pointed to by 'val' and return + / the result of the increment. +-/ ++/ */ ++ + .text + .globl _PR_x86_64_AtomicIncrement + .align 4 +@@ -51,11 +52,11 @@ + incl %eax + ret + +-/ PRInt32 _PR_x86_64_AtomicDecrement(PRInt32 *val) ++/* 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 +@@ -66,11 +67,11 @@ + decl %eax + ret + +-/ PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval) ++/* 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 +@@ -79,11 +80,11 @@ + xchgl %eax, (%rdi) + ret + +-/ PRInt32 _PR_x86_64_AtomicAdd(PRInt32 *ptr, PRInt32 val) ++/* 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 +@@ -94,5 +95,5 @@ + addl %esi, %eax + ret + +-/ Magic indicating no need for an executable stack ++/* Magic indicating no need for an executable stack */ + .section .note.GNU-stack, "", @progbits ; .previous commit 69415c1c8396db0c9ecbd5e5794485b16bcbad5b Author: Herbert Dürr <h...@apache.org> Date: Thu Mar 28 14:35:11 2013 +0000 fix an inline asm input-output bitwidth mismatch Clang rightfully rejects it, so we have to use the cast. Upstream has a similar fix for its OpenSSL-fips-2_0* tags. diff --git a/openssl/makefile.mk b/openssl/makefile.mk index 9981914..ed19ac9 100644 --- a/openssl/makefile.mk +++ b/openssl/makefile.mk @@ -159,6 +159,8 @@ OUT2BIN += out/libeay32.dll .ENDIF .ENDIF +PATCH_FILES += openssl-0.9.8o-clang.patch + #set INCLUDE=D:\sol_temp\n\msvc7net3\PlatformSDK\include;D:\sol_temp\n\msvc7net3\include\ && set path=%path%;D:\sol_temp\r\btw\SRC680\perl\bin && # --- Targets ------------------------------------------------------ diff --git a/openssl/openssl-0.9.8o-clang.patch b/openssl/openssl-0.9.8o-clang.patch new file mode 100644 index 0000000..8c0b21a --- /dev/null +++ b/openssl/openssl-0.9.8o-clang.patch @@ -0,0 +1,11 @@ +--- misc/openssl-0.9.8o/crypto/md32_common.h 2010-03-29 13:23:11.000000000 +0200 ++++ misc/build/openssl-0.9.8o/crypto/md32_common.h 2013-03-28 15:47:56.541077176 +0100 +@@ -165,7 +165,7 @@ + asm ( \ + "roll %1,%0" \ + : "=r"(ret) \ +- : "I"(n), "0"(a) \ ++ : "I"(n), "0"((unsigned int)(a)) \ + : "cc"); \ + ret; \ + })
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits