問題を再現するには、次のシェル コマンドを使用してください。
# create subdirectory
mkdir subdir
# create source files with dummy functions
echo 'void func1(){}' > file1.c
echo 'void func2(){}' > ./subdir/file2.c
# compiling sources into object files
gcc -c file1.c -o file1.o
gcc -c ./subdir/file2.c -o ./subdir/file2.o
# creating "thin archive" file from object files
ar crT out.a file1.o ./subdir/file2.o
# running objcopy, which leads to an error
objcopy out.a out_copy.a
その結果、次のエラーが発生します。
objcopy:st0AENRL/subdir/file2.o: そのようなファイルまたはディレクトリはありません
PS「薄い」アーカイブがサブディレクトリのオブジェクトファイルで構成されている場合、objcopyの問題が発生します。
そのような objcopy の動作が問題ないかどうかは誰にもわかりませんか?