Objdump — как создать исходный код для библиотечных функций на выходе сборкиC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Objdump — как создать исходный код для библиотечных функций на выходе сборки

Сообщение Anonymous »

Когда я использую objdump с флагом -S, он создает исходный код, согласованный с соответствующим ассемблерным кодом. Например:
Изображение

Мне нужна аналогичная информация об исходном коде для библиотечных функций, включенных в код. Например, когда я использую в программе «pthread_create», objdump создает только ассемблерный код для функции pthread_create. Он не смешивает информацию об исходном коде. Как мне это включить? Нужно ли мне переделывать компилятор gcc? Какие флаги мне нужны?
Пример исходного кода, который я пытаюсь сделать:

Код: Выделить всё

#include 
#include
#define MAX 16
#define MAX_THREAD 4
int sum[MAX_THREAD] = { 0 };

void sum_array(int i)
{
sum[i]= i;
}

int main()
{
pthread_t threads[MAX_THREAD];

// Creating 4 threads
for (int i = 0; i < MAX_THREAD; i++)
{
pthread_create(&threads[i], NULL, sum_array, i);
}

for (int i = 0; i < MAX_THREAD; i++)
{
pthread_join(threads[i], NULL);
}
return 0;
}
Команды компиляции, которые я использовал:

gcc -static -g pthread.c -o pthread_musl_debuginfo


objdump -x --source --full-contents -D -S pthread_musl_debuginfo >
pthread_musl_debuginfo_objdump


Подробнее здесь: https://stackoverflow.com/questions/787 ... assembly-o
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»