early-access version 2853
This commit is contained in:
96
externals/vcpkg/ports/nettle/yasm.patch
vendored
Executable file
96
externals/vcpkg/ports/nettle/yasm.patch
vendored
Executable file
@@ -0,0 +1,96 @@
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index b65ff4960..3887d0c8f 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -291,7 +291,7 @@ libhogweed.a: $(hogweed_OBJS)
|
||||
|
||||
%.$(OBJEXT): %.asm $(srcdir)/m4-utils.m4 $(srcdir)/asm.m4 config.m4 machine.m4
|
||||
$(M4) $(srcdir)/m4-utils.m4 $(srcdir)/asm.m4 config.m4 machine.m4 $< >$*.s
|
||||
- $(COMPILE) -c $*.s
|
||||
+ $(COMPILE_AS) -o $*.$(OBJEXT) $*.s
|
||||
|
||||
%.$(OBJEXT): %.c
|
||||
$(COMPILE) -c $< \
|
||||
diff --git a/config.make.in b/config.make.in
|
||||
index f8e1f74ef..3ae593385 100644
|
||||
--- a/config.make.in
|
||||
+++ b/config.make.in
|
||||
@@ -73,6 +73,7 @@ TEST_SHLIB_DIR = ${abs_top_builddir}/.lib
|
||||
# flags before CPPFLAGS and LDFLAGS. While EXTRA_CFLAGS are added at the end.
|
||||
|
||||
COMPILE = $(CC) $(PRE_CPPFLAGS) $(CPPFLAGS) $(DEFS) $(CFLAGS) $(EXTRA_CFLAGS) $(DEP_FLAGS)
|
||||
+COMPILE_AS = $(CCAS) $(PRE_CPPFLAGS) $(CPPFLAGS) $(DEFS) $(ASMFLAGS) $(DEP_FLAGS)
|
||||
COMPILE_CXX = $(CXX) $(PRE_CPPFLAGS) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) $(DEP_FLAGS)
|
||||
LINK = $(CC) $(CFLAGS) $(PRE_LDFLAGS) $(LDFLAGS)
|
||||
LINK_CXX = $(CXX) $(CXXFLAGS) $(PRE_LDFLAGS) $(LDFLAGS)
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index e95f1c825..1d7ef36bb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -118,6 +118,9 @@ LSH_RPATH_INIT([`echo $with_lib_path | sed 's/:/ /g'` \
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CC
|
||||
+# Copied from gmp
|
||||
+test -n "$CCAS" || CCAS="$CC -c"
|
||||
+AC_SUBST(CCAS)
|
||||
|
||||
NETTLE_CHECK_IFUNC
|
||||
|
||||
@@ -302,7 +305,7 @@ ABI=standard
|
||||
case "$host_cpu" in
|
||||
[x86_64 | amd64])
|
||||
AC_TRY_COMPILE([
|
||||
-#if defined(__x86_64__) || defined(__arch64__)
|
||||
+#if defined(__x86_64__) || defined(__arch64__) || defined(_M_AMD64)
|
||||
#error 64-bit x86
|
||||
#endif
|
||||
], [], [
|
||||
diff --git a/x86_64/aes.m4 b/x86_64/aes.m4
|
||||
index 3bec9eae2..85cafc046 100644
|
||||
--- a/x86_64/aes.m4
|
||||
+++ b/x86_64/aes.m4
|
||||
@@ -77,9 +77,9 @@ define(`AES_STORE', `
|
||||
dnl AES_ROUND(table,a,b,c,d,out,ptr)
|
||||
dnl Computes one word of the AES round. Leaves result in $6.
|
||||
define(`AES_ROUND', `
|
||||
- movzb LREG($2), $7
|
||||
+ movzbq LREG($2), $7
|
||||
movl AES_TABLE0 ($1, $7, 4),$6
|
||||
- movzb HREG($3), XREG($7)
|
||||
+ movzbq HREG($3), XREG($7)
|
||||
xorl AES_TABLE1 ($1, $7, 4),$6
|
||||
movl $4,XREG($7)
|
||||
shr `$'16,$7
|
||||
@@ -94,7 +94,7 @@ dnl Computes one word of the final round. Leaves result in $6. Also
|
||||
dnl performs the first substitution step, on the least significant
|
||||
dnl byte, and rotates 8 bits.
|
||||
define(`AES_FINAL_ROUND', `
|
||||
- movzb LREG($1),$7
|
||||
+ movzbq LREG($1),$7
|
||||
movzbl ($5, $7), $6
|
||||
movl $2,XREG($7)
|
||||
andl `$'0x0000ff00,XREG($7)
|
||||
@@ -113,18 +113,18 @@ dnl each of eax, ebx, ecx and edx, and also rotates
|
||||
dnl the words one byte to the left.
|
||||
dnl Uses that AES_SBOX == 0
|
||||
define(`AES_SUBST_BYTE', `
|
||||
- movzb LREG($1),$6
|
||||
+ movzbq LREG($1),$6
|
||||
movb ($5, $6),LREG($1)
|
||||
roll `$'8,$1
|
||||
|
||||
- movzb LREG($2),$6
|
||||
+ movzbq LREG($2),$6
|
||||
movb ($5, $6),LREG($2)
|
||||
roll `$'8,$2
|
||||
|
||||
- movzb LREG($3),$6
|
||||
+ movzbq LREG($3),$6
|
||||
movb ($5, $6),LREG($3)
|
||||
roll `$'8,$3
|
||||
|
||||
- movzb LREG($4),$6
|
||||
+ movzbq LREG($4),$6
|
||||
movb ($5, $6),LREG($4)
|
||||
roll `$'8,$4')dnl
|
Reference in New Issue
Block a user