Ubuntu 11.10 omap/armv7 OpenSSL built without ARMv4 optimization
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openssl (Debian) |
New
|
Unknown
|
|||
openssl (Ubuntu) |
Triaged
|
Medium
|
Unassigned |
Bug Description
I'm running the "OMAP" build of Ubuntu 11.10 on armv7.
root@omap:
Linux omap 3.1.0-psp3 #1 SMP Fri Dec 23 10:44:55 UTC 2011 armv7l armv7l armv7l GNU/Linux
I noticed that the OpenSSL build with this distro wasn't built with ARMv4 optimizations. As a result, certain crypto operations such as AES use the slow C version instead of the fast armv4 asm version.
You can confirm this by running an app that uses OpenSSL in gdb and running "disas AES_encrypt".
The resulting disassembly should match the ARMv4 ASM code in crypto/
When building OpenSSL, make sure to specify armv4 to get the asm optimizations:
./Configure linux-armv4
make
James
Changed in openssl (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in openssl (Debian): | |
status: | Unknown → New |
I have attached a fix to the debian bug. Note that the "armv4l" in the upstream means "everything from armv4 -> armv7, including runtime detection of neon".