Проблема при использовании objcopy с файлом тонкого архива

Пожалуйста, используйте следующие команды оболочки, чтобы воспроизвести проблему:

# 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: Нет такого файла или каталога

P.S. Проблема с objcopy возникает, когда "тонкий" архив состоит из объектных файлов из подкаталогов.

Кто-нибудь знает, нормально ли такое поведение objcopy?


person lol lol    schedule 27.02.2019    source источник
comment
Вероятно, это ошибка. Я сделал отчет об этом на bugzilla: sourceware.org/bugzilla/show_bug.cgi ?id=24281   -  person lol lol    schedule 04.03.2019


Ответы (1)


Это действительно ошибка. Об этом сообщается здесь. Поддержка тонких архивов была временно отключена.

person lol lol    schedule 20.03.2019