From owner-freebsd-current@FreeBSD.ORG Mon Feb 14 16:18:27 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47E8B10656D0 for ; Mon, 14 Feb 2011 16:18:27 +0000 (UTC) (envelope-from alexandre.martins@netasq.com) Received: from work.netasq.com (mars.netasq.com [91.212.116.3]) by mx1.freebsd.org (Postfix) with ESMTP id DEDAD8FC0C for ; Mon, 14 Feb 2011 16:18:25 +0000 (UTC) Received: from pc-alex.netasq.com (unknown [10.2.0.1]) by work.netasq.com (Postfix) with ESMTP id 3801D740001; Mon, 14 Feb 2011 17:17:19 +0100 (CET) From: Alexandre Martins Organization: Netasq To: Anonymous Date: Mon, 14 Feb 2011 17:18:24 +0100 User-Agent: KMail/1.13.5 (FreeBSD/7.3-RELEASE-p4; KDE/4.5.5; i386; ; ) References: <201102140935.22490.alexandre.martins@netasq.com> <201102141048.34294.alexandre.martins@netasq.com> <86fwrqpqd9.fsf@gmail.com> In-Reply-To: <86fwrqpqd9.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1780218.YZOcgmRm1m"; protocol="application/pgp-signature"; micalg=pgp-sha256 Content-Transfer-Encoding: 7bit Message-Id: <201102141718.35023.alexandre.martins@netasq.com> X-Mailman-Approved-At: Mon, 14 Feb 2011 16:57:14 +0000 Cc: freebsd-current@freebsd.org, Dimitry Andric Subject: Re: OpenSSL 1.0.0d for Freebsd HEAD X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2011 16:18:27 -0000 --nextPart1780218.YZOcgmRm1m Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: quoted-printable Dear, Thank you for your feed-back. I'll look for this issu, and i hope deliver a better patch quickly. Regards, =2D-=20 Alexandre Martins Research engineer NETASQ On Monday 14 February 2011 16:50:26 Anonymous wrote: > Alexandre Martins writes: > > For those interested in testing, you can find a patch that add OpenSSL > > 1.0d to head. >=20 > [...] >=20 > Hmm, doesn't build with ld(1) from /projects/binutils-2.17. >=20 > $ make -dl all > as -o rc4-amd64.o /usr/src/secure/lib/libcrypto/amd64/rc4-amd64.s > [ -z "ctfconvert" -o -n "1" ] || (echo ctfconvert -L VERSION rc4-amd64= =2Eo > && ctfconvert -L VERSION rc4-amd64.o) echo building static crypto library > building static crypto library > rm -f libcrypto.a > ar cq libcrypto.a `lorder ...` > ranlib libcrypto.a > as -o rc4-amd64.po /usr/src/secure/lib/libcrypto/amd64/rc4-amd64.s > [ -z "ctfconvert" -o -n "1" ] || (echo ctfconvert -L VERSION > rc4-amd64.po && ctfconvert -L VERSION rc4-amd64.po) echo building > profiled crypto library > building profiled crypto library > rm -f libcrypto_p.a > ar cq libcrypto_p.a `lorder ...` > ranlib libcrypto_p.a > as -o rc4-amd64.So /usr/src/secure/lib/libcrypto/amd64/rc4-amd64.s > [ -z "ctfconvert" -o -n "1" ] || (echo ctfconvert -L VERSION > rc4-amd64.So && ctfconvert -L VERSION rc4-amd64.So) echo building shared > library libcrypto.so.7 > building shared library libcrypto.so.7 > rm -f libcrypto.so.7 libcrypto.so > ln -fs libcrypto.so.7 libcrypto.so > cc -fstack-protector -shared -Wl,-x -o libcrypto.so.7 > -Wl,-soname,libcrypto.so.7 `lorder ...` /usr/bin/ld: rc4-amd64.So: > relocation R_X86_64_PC32 against `OPENSSL_ia32cap_P' can not be used when > making a shared object; recompile with -fPIC /usr/bin/ld: final link > failed: Bad value > *** Error code 1 >=20 > Reverting back to binutils-2.15 makes build fail with another error. > libcrypto builds fine but linking against it always fails >=20 > $ cc foo.c -lcrypto > /usr/lib/libcrypto.so: undefined reference to `_x86_64_Camellia_decrypt' > /usr/lib/libcrypto.so: undefined reference to `.Ldloop' >=20 > Indeed, some parts are missing >=20 > %% diff against output from cmll-x86_64.pl > --- secure/lib/libcrypto/amd64/cmll_amd64.s > +++ crypto/openssl/crypto/camellia/asm/cmll-x86_64.pl.out > @@ -312,6 +312,170 @@ Camellia_DecryptBlock_Rounds: >=20 > call _x86_64_Camellia_decrypt >=20 > + bswapl %r8d > + bswapl %r9d > + bswapl %r10d > + movl %r8d,0(%r13) > + bswapl %r11d > + movl %r9d,4(%r13) > + movl %r10d,8(%r13) > + movl %r11d,12(%r13) > + > + movq 0(%rsp),%r15 > + movq 8(%rsp),%r14 > + movq 16(%rsp),%r13 > + movq 24(%rsp),%rbp > + movq 32(%rsp),%rbx > + leaq 40(%rsp),%rsp > +.Ldec_epilogue: > + .byte 0xf3,0xc3 > +.size Camellia_DecryptBlock_Rounds,.-Camellia_DecryptBlock_Rounds > + > +.type _x86_64_Camellia_decrypt,@function > +.align 16 > +_x86_64_Camellia_decrypt: > + xorl 0(%r14),%r9d > + xorl 4(%r14),%r8d > + xorl 8(%r14),%r11d > + xorl 12(%r14),%r10d > +.align 16 > +.Ldloop: > + movl -8(%r14),%ebx > + movl -4(%r14),%eax > + > + xorl %r8d,%eax > + xorl %r9d,%ebx > + movzbl %ah,%esi > + movzbl %bl,%edi > + movl 2052(%rbp,%rsi,8),%edx > + movl 0(%rbp,%rdi,8),%ecx > + movzbl %al,%esi > + shrl $16,%eax > + movzbl %bh,%edi > + xorl 4(%rbp,%rsi,8),%edx > + shrl $16,%ebx > + xorl 4(%rbp,%rdi,8),%ecx > + movzbl %ah,%esi > + movzbl %bl,%edi > + xorl 0(%rbp,%rsi,8),%edx > + xorl 2052(%rbp,%rdi,8),%ecx > + movzbl %al,%esi > + movzbl %bh,%edi > + xorl 2048(%rbp,%rsi,8),%edx > + xorl 2048(%rbp,%rdi,8),%ecx > + movl -16(%r14),%ebx > + movl -12(%r14),%eax > + xorl %edx,%ecx > + rorl $8,%edx > + xorl %ecx,%r10d > + xorl %ecx,%r11d > + xorl %edx,%r11d > + xorl %r10d,%eax > + xorl %r11d,%ebx > + movzbl %ah,%esi > + movzbl %bl,%edi > + movl 2052(%rbp,%rsi,8),%edx > + movl 0(%rbp,%rdi,8),%ecx > + movzbl %al,%esi > + shrl $16,%eax > + movzbl %bh,%edi > + xorl 4(%rbp,%rsi,8),%edx > + shrl $16,%ebx > + xorl 4(%rbp,%rdi,8),%ecx > + movzbl %ah,%esi > + movzbl %bl,%edi > + xorl 0(%rbp,%rsi,8),%edx > + xorl 2052(%rbp,%rdi,8),%ecx > + movzbl %al,%esi > + movzbl %bh,%edi > + xorl 2048(%rbp,%rsi,8),%edx > + xorl 2048(%rbp,%rdi,8),%ecx > + movl -24(%r14),%ebx > + movl -20(%r14),%eax > + xorl %edx,%ecx > + rorl $8,%edx > + xorl %ecx,%r8d > + xorl %ecx,%r9d > + xorl %edx,%r9d > + xorl %r8d,%eax > + xorl %r9d,%ebx > + movzbl %ah,%esi > + movzbl %bl,%edi > + movl 2052(%rbp,%rsi,8),%edx > + movl 0(%rbp,%rdi,8),%ecx > + movzbl %al,%esi > + shrl $16,%eax > + movzbl %bh,%edi > + xorl 4(%rbp,%rsi,8),%edx > + shrl $16,%ebx > + xorl 4(%rbp,%rdi,8),%ecx > + movzbl %ah,%esi > + movzbl %bl,%edi > + xorl 0(%rbp,%rsi,8),%edx > + xorl 2052(%rbp,%rdi,8),%ecx > + movzbl %al,%esi > + movzbl %bh,%edi > + xorl 2048(%rbp,%rsi,8),%edx > + xorl 2048(%rbp,%rdi,8),%ecx > + movl -32(%r14),%ebx > + movl -28(%r14),%eax > + xorl %edx,%ecx > + rorl $8,%edx > + xorl %ecx,%r10d > + xorl %ecx,%r11d > + xorl %edx,%r11d > + xorl %r10d,%eax > + xorl %r11d,%ebx > + movzbl %ah,%esi > + movzbl %bl,%edi > + movl 2052(%rbp,%rsi,8),%edx > + movl 0(%rbp,%rdi,8),%ecx > + movzbl %al,%esi > + shrl $16,%eax > + movzbl %bh,%edi > + xorl 4(%rbp,%rsi,8),%edx > + shrl $16,%ebx > + xorl 4(%rbp,%rdi,8),%ecx > + movzbl %ah,%esi > + movzbl %bl,%edi > + xorl 0(%rbp,%rsi,8),%edx > + xorl 2052(%rbp,%rdi,8),%ecx > + movzbl %al,%esi > + movzbl %bh,%edi > + xorl 2048(%rbp,%rsi,8),%edx > + xorl 2048(%rbp,%rdi,8),%ecx > + movl -40(%r14),%ebx > + movl -36(%r14),%eax > + xorl %edx,%ecx > + rorl $8,%edx > + xorl %ecx,%r8d > + xorl %ecx,%r9d > + xorl %edx,%r9d > + xorl %r8d,%eax > + xorl %r9d,%ebx > + movzbl %ah,%esi > + movzbl %bl,%edi > + movl 2052(%rbp,%rsi,8),%edx > + movl 0(%rbp,%rdi,8),%ecx > + movzbl %al,%esi > + shrl $16,%eax > + movzbl %bh,%edi > + xorl 4(%rbp,%rsi,8),%edx > + shrl $16,%ebx > + xorl 4(%rbp,%rdi,8),%ecx > + movzbl %ah,%esi > + movzbl %bl,%edi > + xorl 0(%rbp,%rsi,8),%edx > + xorl 2052(%rbp,%rdi,8),%ecx > + movzbl %al,%esi > + movzbl %bh,%edi > + xorl 2048(%rbp,%rsi,8),%edx > + xorl 2048(%rbp,%rdi,8),%ecx > + movl -48(%r14),%ebx > + movl -44(%r14),%eax > + xorl %edx,%ecx > + rorl $8,%edx > + xorl %ecx,%r10d > xorl %ecx,%r11d > xorl %edx,%r11d > xorl %r10d,%eax > %% --nextPart1780218.YZOcgmRm1m Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (FreeBSD) iF4EABEIAAYFAk1ZVdkACgkQVHYVC4W8mzh+XAEAjyvnGWnV94Ty+wUyQ1SSk7xa PNqGjECbOLZWhRMPYDcBANFRs0IL50GEqpv2edYjLlDP2lJ0bi02TozpxxNyT3oU =wj1P -----END PGP SIGNATURE----- --nextPart1780218.YZOcgmRm1m--