Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Feb 2011 17:18:24 +0100
From:      Alexandre Martins <alexandre.martins@netasq.com>
To:        Anonymous <swell.k@gmail.com>
Cc:        freebsd-current@freebsd.org, Dimitry Andric <dim@freebsd.org>
Subject:   Re: OpenSSL 1.0.0d for Freebsd HEAD
Message-ID:  <201102141718.35023.alexandre.martins@netasq.com>
In-Reply-To: <86fwrqpqd9.fsf@gmail.com>
References:  <201102140935.22490.alexandre.martins@netasq.com> <201102141048.34294.alexandre.martins@netasq.com> <86fwrqpqd9.fsf@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--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 <alexandre.martins@netasq.com> 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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201102141718.35023.alexandre.martins>