Почему ldd показывает это динамическое местоположение компоновщика?

Вам нужен суперпользователь priviledges. Если Вы знакомы с sudo, затем используйте asroot и tfadmin для SCO OpenServer и SCO unixware, соответственно.

5
30.08.2013, 11:17
2 ответа

Поэтому ldd на самом деле сценарий, который звонит /lib/ld-linux.so.3 с исполняемым файлом как аргумент и LD_TRACE_LOADED_OBJECTS=1 в его среде, таким образом, /lib/ld-linux.so.3 сообщает себя как динамический компоновщик.

Вместо этого можно работать

LD_TRACE_LOADED_OBJECTS=1 /root/M2/M2/StagingArea/armv7l-Linux-Ubuntu-12.04/bin/M2.tmp

непосредственно, в этом случае это будет динамическим компоновщиком, что Вы указали, что это выведет библиотеки и его.

6
27.01.2020, 20:37
  • 1
    Загрузчик находится в .interp раздел двоичного файла ELF, свериться readelf -l M2.tmp или objdump -s -j .interp M2.tmp, особенно полезный для кросс-компиляций, когда Ваш хост сборки не может выполнить двоичные файлы. Точно так же .dynamic раздел (косвенно) перечисляет динамические библиотеки (в .dynstr), используйте readelf для этого также (это преследует ссылки и печатает названия библиотеки, objdump просто дает смещения). –  mr.spuratic 30.08.2013, 11:56
  • 2
    Да..., который дает мне вывод, который я ожидал!Спасибо! –  Brent Baccala 01.09.2013, 00:57

Аргументы:

-Wl,-rpath,/data/data/org.freesoft.Macaulay2/files/lib 
-Wl,-rpath,/data/data/org.freesoft.Macaulay2/files/lib/Macaulay2/armv7l-Linux-Ubuntu-12.04/lib

становятся переданными компоновщику от gcc. Это то, что управляет /data/data в Вашей заключительной двоичной сборке.

Эти переключатели:

-Wl,--dynamic-linker=/data/data/org.freesoft.Macaulay2/files/lib/ld-linux.so.3

управляют, где найти динамический загрузчик. Двойная проверка, что этот путь:

/data/data/org.freesoft.Macaulay2/files/lib/ld-linux.so.3

фактический файл и не ссылка на /lib/ld-linux.so.3. По крайней мере, согласно ldd вывод:

/data/data/org.freesoft.Macaulay2/files/lib/ld-linux.so.3 => /lib/ld-linux.so.3 (0x400aa000)

это, казалось бы, было бы ссылкой.

1
27.01.2020, 20:37
  • 1
    я проверил его дважды. Это не ссылка. Все, что говорит slm, правильно, но у Stephane Chazelas есть explaination для поведения ldd, я думаю. –  Brent Baccala 01.09.2013, 01:02
  • 2
    @BrentBaccala - да StephaneChazelas знает вещи, которые не знает никакой другой человек на планете. Я никогда не знал, что это было сценарием также 8-). Примечание –  slm♦ 01.09.2013, 01:50

Теги

Похожие вопросы