1
私は以下のサンプルコードを持っています。私は、オブジェクトファイルから再配置テーブルのエントリを見たいと思います。このために、私が使用している指定サンプルプログラムのobjdump出力に再配置エントリが表示されない
objdump -r test.o
サンプルコード: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
QUESTION -r
#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は:私の理解によると
グローバル変数 'x'は再配置テーブルにあったはずです。どこで見つけることができません。
私はここで何か見落としても助けてください?