uClibc を既存の glibc ターゲットの gcc/binutils ツールチェーンで使用できるようにするスクリプトに取り組んでいpthread_cancelますdlopen libgcc_s.so.1。ホスト gcc で提供されるバージョンは glibc に依存するようにリンクされているため、代わりにldの-uオプションを使用して、必要なシンボル (およびその依存関係) をlibgcc_eh.aから取得し、置換を行いlibgcc_s.so.1ます。
gcc -specs uclibc.specs -Wl,-u,_Unwind_Resume -Wl,-u,__gcc_personality_v0 \
-Wl,-u,_Unwind_ForcedUnwind -Wl,-u,_Unwind_GetCFA -shared -o libgcc_s.so.1
原則としては完了ですが、すべてのシンボルlibgcc_eh.aの可視性が非表示に設定されているため、出力ファイルではすべてローカルになり、シンボル テーブル.soに追加されません。.dynsym
これらのシンボルを再表示するために、ファイルまたは元のファイルでbinutils (おそらくobjcopy? またはリンカー スクリプト?)を使用する方法を探しています。これは可能ですか?.so.olibgcc_eh.a