OpenSSL 1.0.0d for Freebsd HEAD
Alexandre Martins
alexandre.martins at netasq.com
Mon Feb 14 16:18:27 UTC 2011
Dear,
Thank you for your feed-back.
I'll look for this issu, and i hope deliver a better patch quickly.
Regards,
--
Alexandre Martins
Research engineer
NETASQ
On Monday 14 February 2011 16:50:26 Anonymous wrote:
> Alexandre Martins <alexandre.martins at netasq.com> writes:
> > For those interested in testing, you can find a patch that add OpenSSL
> > 1.0d to head.
>
> [...]
>
> Hmm, doesn't build with ld(1) from /projects/binutils-2.17.
>
> $ 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.o
> && 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
>
> Reverting back to binutils-2.15 makes build fail with another error.
> libcrypto builds fine but linking against it always fails
>
> $ cc foo.c -lcrypto
> /usr/lib/libcrypto.so: undefined reference to `_x86_64_Camellia_decrypt'
> /usr/lib/libcrypto.so: undefined reference to `.Ldloop'
>
> Indeed, some parts are missing
>
> %% 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:
>
> call _x86_64_Camellia_decrypt
>
> + 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, at 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
> %%
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 228 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20110214/f07eb933/attachment.pgp
More information about the freebsd-current
mailing list