組み込みシステムでldapsを実行するために必要なすべてのコードを「圧縮」する必要があります。したがって、3MiBのlybcryptoとほぼ700KiBのlibsslは多すぎます。
LDAPで読むことが最も重要な目標であるため、現在ldapsearchを試しています。
ld ldapsearch
ldapsearch が使用する共有オブジェクトを確認し、以下を発見しました。
670K /usr/local/lib64/libssl.so.1.1 **
3,3M /usr/local/lib64/libcrypto.so.1.1 **
40K /usr/lib64/libcrypt.so.1 -> libcrypt-2.17.so
104K /usr/lib64/libresolv.so.2 -> libresolv-2.17.so
2,1M /usr/lib64/libc.so.6 -> libc-2.17.so **
19K /usr/lib64/libdl.so.2 -> libdl-2.17.so
139K /usr/lib64/libpthread.so.0 -> libpthread-2.17.so
12K usr/lib64/libfreebl3.so
したがって、マークが**
最も重要です。
今、私はダウンロードしたソースコードからこのエントリをどのようにコンパイルするか、最適化されたサイズにコンパイルするためにgccにどのコマンドを与えなければならないのかわかりません。
また、共有オブジェクトを静的にリンクするためにスペースが節約されるかどうかを教えます。 (私が読んだところ、この場合、オプティマイザはリンク時に使用されていないコードの大部分を削除できるため、とにかくすべてのエントリポイントがコンパイルされます。)
試すことができる最初の最適化はそれを共用体文字列-Os
に入れましたが、サイズはまだ同じです。cflags
lib_cflags
Configurations/00-base-templates.conf
編集 私が提案した別のオプションはを使用することですstrip
。しかし、これを提供する方法がわかりません。.\config