перемещение текста несмотря на -fPIC?
Я пытаюсь перекомпилировать программный стек приличного размера (уданго) для ARM. Через две недели я подумал, что наконец-то это сделал, потому что в библиотеках, в которых были перемещения текста, их больше не былоarmeabi
, armv5te
, armv7-a
, Тем не мение,armv7-a-neon
еще есть они ...
Я знаю, что связывание со статическими библиотеками или общими библиотеками, которые содержат перемещения текста, также представит их в моей библиотеке, и для борьбы с этим следует использовать-fPIC
в его CFLAGS при перекомпиляции всего, чтобы построить независимый от позиции код. Все, что я сделал, я также создал FFMPEG без перемещения текста ...
Что я не понимаю, так это:Если я использую один и тот же набор исходных файлов для всех арок и вручную проверяю, есть ли у .a-файлов перемещение текста, почему для ARMv7 NEON отображается только одно перемещение текста?
Я проверяю с помощьюreadelf
вот такreadelf -a <libame.a> | grep TEXTREL
для обоих.a
а также.so
ЛИЭС.
devshark@ubuntu:~/SCRATCH/doubango_env/doubango/android-projects/output/gpl/armv7-a-neon/lib$ readelf -a libtinyWRAP.so | grep TEXTREL
0x00000016 (TEXTREL) 0x0
0x0000001e (FLAGS) SYMBOLIC TEXTREL BIND_NOW
Как мне найти виновника, который представляет перемещение текста в моем armv7neon.so
библиотека?
Я использую NDK R12B. Вот пастбина всего вывода сборки: ОК, нет pastie или pastebin, так как они не позволяют 2,1 Мб текста.
Отлично. Итак, есть идеи, почему текстовые перемещения появляются только для NEON?
Вопрос может быть схожим с этим, за исключением того, что у меня нет и переездов на x86.Почему NDK создает общую библиотеку для x86 с перемещением текста даже после установки флага -fPIC?