Date: Sun, 17 Jul 2011 12:03:47 GMT From: Dimitry Andric <dim@FreeBSD.org> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/158994: Fix security/libgcrypt 1.5.0 build with clang Message-ID: <201107171203.p6HC3lmf010869@red.freebsd.org> Resent-Message-ID: <201107171210.p6HCABR1013705@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 158994 >Category: ports >Synopsis: Fix security/libgcrypt 1.5.0 build with clang >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Jul 17 12:10:10 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Dimitry Andric >Release: 9.0-CURRENT >Organization: The FreeBSD Project >Environment: FreeBSD vm-dvs-dimtest1.home.andric.com 9.0-CURRENT FreeBSD 9.0-CURRENT #0 r224068+3cd8793-dirty: Sat Jul 16 02:01:06 CEST 2011 dim@vm-dvs-dimtest1.home.andric.com:/usr/obj/home/dim/src/freebsd/head/sys/GENERIC i386 >Description: Building security/libgcrypt 1.5.0 with clang results in errors similar to the following: rijndael.c:846:46: error: ambiguous instructions require an explicit suffix (could be 'cmpb', 'cmpw', 'cmpl', or 'cmpq') "movdqa 0xa0(%%esi), %%xmm1\n\t" ^ <inline asm>:24:2: note: instantiated into assembly here cmp $10, -80(%ebp) ^ This is because the 'cmp' instruction lacks a type suffix, and is thus ambiguous. I will send a fix upstream, but please apply it locally for now, to let the port build with clang. >How-To-Repeat: CC=clang CXX=clang++ make -C /usr/ports/security/libgcrypt install >Fix: Patch attached with submission follows: Index: security/libgcrypt/files/patch-cipher-rijndael.c =================================================================== RCS file: security/libgcrypt/files/patch-cipher-rijndael.c diff -N security/libgcrypt/files/patch-cipher-rijndael.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ security/libgcrypt/files/patch-cipher-rijndael.c 16 Jul 2011 20:31:25 -0000 @@ -0,0 +1,61 @@ +--- cipher/rijndael.c.orig 2011-02-22 15:57:59.000000000 +0100 ++++ cipher/rijndael.c 2011-07-16 22:26:35.000000000 +0200 +@@ -844,13 +844,13 @@ do_aesni_cfb (const RIJNDAEL_context *ct + "movdqa 0x90(%%esi), %%xmm1\n\t" + aesenc_xmm1_xmm0 + "movdqa 0xa0(%%esi), %%xmm1\n\t" +- "cmp $10, %[rounds]\n\t" ++ "cmpq $10, %[rounds]\n\t" + "jz .Lenclast%=\n\t" + aesenc_xmm1_xmm0 + "movdqa 0xb0(%%esi), %%xmm1\n\t" + aesenc_xmm1_xmm0 + "movdqa 0xc0(%%esi), %%xmm1\n\t" +- "cmp $12, %[rounds]\n\t" ++ "cmpq $12, %[rounds]\n\t" + "jz .Lenclast%=\n\t" + aesenc_xmm1_xmm0 + "movdqa 0xd0(%%esi), %%xmm1\n\t" +@@ -862,7 +862,7 @@ do_aesni_cfb (const RIJNDAEL_context *ct + "movdqu %[src], %%xmm1\n\t" /* Save input. */ + "pxor %%xmm1, %%xmm0\n\t" /* xmm0 = input ^ IV */ + +- "cmp $1, %[decrypt]\n\t" ++ "cmpq $1, %[decrypt]\n\t" + "jz .Ldecrypt_%=\n\t" + "movdqa %%xmm0, %[iv]\n\t" /* [encrypt] Store IV. */ + "jmp .Lleave_%=\n" +@@ -923,13 +923,13 @@ do_aesni_ctr (const RIJNDAEL_context *ct + "movdqa 0x90(%%esi), %%xmm1\n\t" + aesenc_xmm1_xmm0 + "movdqa 0xa0(%%esi), %%xmm1\n\t" +- "cmp $10, %[rounds]\n\t" ++ "cmpq $10, %[rounds]\n\t" + "jz .Lenclast%=\n\t" + aesenc_xmm1_xmm0 + "movdqa 0xb0(%%esi), %%xmm1\n\t" + aesenc_xmm1_xmm0 + "movdqa 0xc0(%%esi), %%xmm1\n\t" +- "cmp $12, %[rounds]\n\t" ++ "cmpq $12, %[rounds]\n\t" + "jz .Lenclast%=\n\t" + aesenc_xmm1_xmm0 + "movdqa 0xd0(%%esi), %%xmm1\n\t" +@@ -1050,7 +1050,7 @@ do_aesni_ctr_4 (const RIJNDAEL_context * + aesenc_xmm1_xmm3 + aesenc_xmm1_xmm4 + "movdqa 0xa0(%%esi), %%xmm1\n\t" +- "cmp $10, %[rounds]\n\t" ++ "cmpq $10, %[rounds]\n\t" + "jz .Lenclast%=\n\t" + aesenc_xmm1_xmm0 + aesenc_xmm1_xmm2 +@@ -1062,7 +1062,7 @@ do_aesni_ctr_4 (const RIJNDAEL_context * + aesenc_xmm1_xmm3 + aesenc_xmm1_xmm4 + "movdqa 0xc0(%%esi), %%xmm1\n\t" +- "cmp $12, %[rounds]\n\t" ++ "cmpq $12, %[rounds]\n\t" + "jz .Lenclast%=\n\t" + aesenc_xmm1_xmm0 + aesenc_xmm1_xmm2 >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107171203.p6HC3lmf010869>