Ich habe die folgenden Beispielcode. Ich würde gerne die Einträge der Verschiebungstabelle aus der Objektdatei sehen. Dazu habe ichUmzug Eintrag wird nicht angezeigt in objdump Ausgabe des angegebenen Beispielprogramm
objdump -r test.o
Beispielcode verwendet:
#include <stdio.h>
char * myfunction();
int x=20;
int main()
{
printf (" \n Inside main ");
char * p = myfunction();
printf (" \n My string is %s ", p);
}
char * myfunction()
{
char * key ="jaka";
return key;
}
Outputof objdump -r test.o
test.o: file format elf64-x86-64
RELOCATION RECORDS FOR [.text]:
OFFSET TYPE VALUE
0000000000000009 R_X86_64_32 .rodata
0000000000000013 R_X86_64_PC32 printf-0x0000000000000004
000000000000001d R_X86_64_PC32 myfunction-0x0000000000000004
000000000000002d R_X86_64_32 .rodata+0x0000000000000010
0000000000000037 R_X86_64_PC32 printf-0x0000000000000004
0000000000000045 R_X86_64_32S .rodata+0x0000000000000024
RELOCATION RECORDS FOR [.eh_frame]:
OFFSET TYPE VALUE
0000000000000020 R_X86_64_PC32 .text
0000000000000040 R_X86_64_PC32 .text+0x000000000000003d
FRAGE
:Nach meinem Verständnis der Die globale Variable 'x' sollte in der Umlagerungstabelle enthalten sein wo, was ich nicht finden kann.
Bitte helfen Sie mir, wenn ich hier etwas übersehen habe?