I don't think the compiler is at fault here.
Tracing the executable, I got:
Breakpoint 1, 0x0000555555554780 in __cpu_indicator_init@plt () (gdb) disass Dump of assembler code for function __cpu_indicator_init@plt: => 0x0000555555554780 <+0>: jmpq *0x2018ba(%rip) # 0x555555756040 <email address hidden> 0x0000555555554786 <+6>: pushq $0x4 0x000055555555478b <+11>: jmpq 0x555555554720 End of assembler dump. (gdb) p/x *0x555555756040 $1 = 0x786
(gdb) si 0x0000000000000786 in ?? ()
Some kind of fixup is missing for <email address hidden> value.
I don't think the compiler is at fault here.
Tracing the executable, I got:
Breakpoint 1, 0x0000555555554780 in __cpu_indicator _init@plt () _init@plt: 554786 <+6>: pushq $0x4 55478b <+11>: jmpq 0x555555554720
(gdb) disass
Dump of assembler code for function __cpu_indicator
=> 0x0000555555554780 <+0>: jmpq *0x2018ba(%rip) # 0x555555756040 <email address hidden>
0x0000555555
0x0000555555
End of assembler dump.
(gdb) p/x *0x555555756040
$1 = 0x786
(gdb) si
0x0000000000000786 in ?? ()
Some kind of fixup is missing for <email address hidden> value.