LINUX.ORG.RU

Ответ на: комментарий от anonymous

mc тоже использует nm для просмотра объектников, видно какие функции, но там не указывается из каких именно либ

в ldd четко видно что цепляется такая-то либа, а в nm нет ни единого упоминания о том откуда же она дернулась

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от anonymous

да, кстати, readelf тоже ничего не показывается, вообщет ничего, хотя программа откомпилена с -g3, там есть абсолютно все отладочные символы, и видно же какие либы тянутся

неужели в самом деле (с) так сложно узнать какие точно функции тянутся из .so-шки???

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Конкретная либа цепляется во время запуска программы, когда линкёр ищет нужный символ. Соответственно, цепляет первую попавшуюся либу, в которой есть искомый символ.

anonymous
()
Ответ на: комментарий от anonymous

как тогда решить задачу? - знаю что программа использует XXX.so, как узнать какую функцию она оттуда бедет?

это понятно что «Конкретная либа цепляется во время запуска программы, когда линкёр ищет нужный символ. Соответственно, цепляет первую попавшуюся либу, в которой есть искомый символ.»

но мне надо с практической точки зрения знать

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от anonymous

да, спасибо, тоже вариант, но в нем опять же не вижу строгого соответствия что используется функция YYY

в ужасной винде есть dependency walker, там четко видно какие функции из каких библиотек берутся

в Linux - 100% есть аналогичное надежное средство определения

I-Love-Microsoft ★★★★★
() автор топика

grep-ать выхлоп nm зависимых библиотек, не?

ananas ★★★★★
()
Ответ на: комментарий от Rzhepish

ltrace С тебя 5€

да, запустил я это, порадовался output-у, это бесценно, получи большую сумму с многими нулями 0.000.000€ ;)

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от vasily_pupkin

LD_DEBUG=all

это добавит в испольняемый ELF-файл подробную информацию о библиотеках и их фцнкциях?

strace

да, можно как-то применить это, но суть в том что эта либа даже не вызывается, но зависимость от нее просто висит

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

это понятно что «Конкретная либа цепляется во время запуска программы, когда линкёр ищет нужный символ. Соответственно, цепляет первую попавшуюся либу, в которой есть искомый символ.»

Едрен батон, ну так погрепай символы в либах.

tensai_cirno ★★★★★
()
Ответ на: комментарий от tensai_cirno

погрепал - НЕТУ, все символы что только есть в программе - все есть, а названий либ и функций из них - нету - вот и ищу проблему

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

это добавит в испольняемый ELF-файл подробную информацию о библиотеках и их фцнкциях?

Это покажет что и как ищет ld.so при старте программы

vasily_pupkin ★★★★★
()

elfdump :-P

Syminfo Section:  .SUNW_syminfo
     index  flags            bound to                 symbol
       [1]  DB           [2] libc.so.1                tcsetattr
       [2]  DB               <self>                   set_working_directory
       [3]  DB               <self>                   ___Argv
       [4]  DB               <self>                   remove_unwind_protect
       [5]  DB               <self>                   set_pipestatus_from_exit
       [6]  DB               <self>                   rl_vi_tilde_expand
       [7]  DB               <self>                   dispose_saved_dollar_vars
       [8]  DB               <self>                   ttnoecho
       [9]  DB               <self>                   hash_copy
      [10]  DB               <self>                   find_tempenv_variable
      [11]  DB               <self>                   rl_discard_argument
      [12]  DB               <self>                   variable_context
      [13]  DB               <self>                   last_command_exit_signal
      [14]  DB           [2] libc.so.1                strtoimax
      [15]  DB               <self>                   bind_int_variable
      [16]  DB               <self>                   _rl_enable_paren_matching
........

     [275]  DB               <self>                   remove_quoted_escapes
     [276]  DB               <self>                   array_from_word_list
     [277]  DBL          [6] libgen.so.1              eaccess
     [278]  DB           [2] libc.so.1                tzset
     [279]  DB               <self>                   maybe_set_sigchld_trap
     [280]  DB           [2] libc.so.1                isatty

r2d2
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.