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
.o
libgcc_eh.a