Ошибка Layout error: section size too small for data
вызывается в libelf на следующей строке https://github.com/path64/compiler/blob/master/src/libelf/lib/update.c#L230.
Это вызывается по предварительной ссылке в write_dso
if (elf_update (dso->elf, ELF_C_WRITE) == -1)
return 2;
write_dso
вызывается update_dso
, который вызывается в main.c предварительной ссылки вместе с несколькими другими местами.
Это происходит потому, что размер перемещаемых данных раздела больше размера перемещаемого раздела.
Какую команду prelink вы запускаете?
Какой у вас prelink.cache?
Являются ли ваши файлы / библиотеки ELF32 или ELF64?
Утилита файлов сообщит вам.
Что такоеgcc версия, binutil версия, libelf и prelink версии?
gcc -V
скажет вам.Наряду с ld -V
и prelink -V
.
Какова ваша LD_LIBRARY_PATH
?
Команда set
или env
сообщит вам.
С какими параметрами был скомпилирован glibc?В частности, что касается -fPIC?
Вы используете предварительную ссылку на самом устройстве?или в среде кросс-компиляции?
Почему в вашей конфигурации предварительной ссылки нет -l
строк?Строки -h
будут следовать символическим ссылкам, что может быть не тем, что вы хотите, если в корневом каталоге сборки есть символические ссылки в каталогах библиотек?Также обычно записи / lib и / usr / lib идут первыми в prelink.conf, как в примере здесь .
Запускаете ли вы prelink с ключом -m для преобразования виртуальной памяти?Если вы занесете все в черный список в / lib, то я считаю, что вы не можете предварительно связать какую-либо библиотеку или двоичный файл, который ссылается на библиотеку в / lib, аналогично, если вы занесете в черный список /lib/libc-2.12.2.so, тогда вы не сможете предварительно связатьвсе, что связано с ним, так как предварительно связанный файл также требует предварительной ссылки на его библиотеки.
Что касается возможного исправления, без дополнительной информации, сказать сложно, но это может быть связано с неправильными переключателямипередается в prelink или микширование 32-битных или 64-битных библиотек в том же каталоге в кэше prelink или в файле конфигурации.
Доступна дополнительная информация о компоновке и prelink