I've been able to get strace for build 30357 to find out more about where openssl gets stuck. For build 30357, you must take care to take newer ipkg-Packages of the tools since that built is based on the musl-version of libc, the older µClibc based packages won't work any more (see also
https://news.ycombinator.com/item?id=9941076).
That's what I get with openssl without any parameters:
root@DD-WRT:~# /tmp/ipkg/usr/bin/strace openssl
execve("/usr/sbin/openssl", ["openssl"], [/* 14 vars */]) = 0
set_thread_area(0x779f8f38) = 0
set_tid_address(0x779f1e78) = 30728
open("/lib/libssl.so.1.0.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libssl.so.1.0.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0755, st_size=313004, ...}) = 0
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\311\0\0\0\0004"..., 936) = 936
mmap2(NULL, 380928, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x778f2000
mmap2(0x7794a000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x48000) = 0x7794a000
close(3) = 0
open("/lib/libcrypto.so.1.0.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libcrypto.so.1.0.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0755, st_size=1462544, ...}) = 0
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\3\231@\0\0\0004"..., 936) = 936
mmap2(NULL, 1536000, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x7777a000
mmap2(0x778dd000, 81920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x153000) = 0x778dd000
mmap2(0x778f0000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x778f0000
close(3) = 0
open("/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=76572, ...}) = 0
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0(p\0\0\0004"..., 936) = 936
mmap2(NULL, 143360, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x77756000
mmap2(0x77778000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x12000) = 0x77778000
close(3)
And then it's stuck, no further progress and the process stays in state 'R' with 100% CPU. That means
that for example you won't be able to utilize the Freeradius Service as the bootstrap strip of that service
will have to call openssl several times to generate the certificate and the Diffie-Hellman parameters and such.