GCC リンカによって生成された ELF ファイルでは、ELF ファイルの先頭は常に実行可能コードのバージョン識別子です。
これは、version.c ファイルを作成し、結果のオブジェクト ファイルを link コマンドの最初のリンク可能なオブジェクトにすることによって実現されます。
ただし、1 つの実行可能ファイルではこれが機能せず、唯一の違いは、実行可能ファイルに C と C++ のコードが混在しており、バージョン シンボルが別の場所に移動されていることです。
問題は、リンカ コマンドまたはコード属性ディレクティブを介してシンボルが常にファイルの先頭に配置されるように、ELF ファイル内のシンボルの絶対位置を保証する方法があるかということです。