I am using Genode to do some SSL encryption stuff. My dev-board is i.MX6Quad running Genode 15.02. The OpenSSL version is 1.0.1i. I test the Crypto speed of OpenSSL in Genode. It's very slow( 7MB/s for aes-128-gcm) comparing to OpenSSL in Linux (16MB/s for aes-128-gcm). Genode's OpenSSL doesn't use the assembly code version of some critical crypto function. It disable this option in
libcrypto.mk. If I do the same to Linux OpenSSL, the performance goes down to 9MB/s. So I enable this option in
libcrypto.mk. use Genode compiler to compile it. Everything seems ok. No compiler/linker errors. But the program can not run. MMU exception occurs before the main program start. It seems that something goes wrong during the library loading. I am really confused.
I guess the loader of Genode can not handle load-time relocation for shared library so all shared library must be position independent. Am I right?
Thank you.