Absolute relocs in EFI stub w/ tracing options

Will Deacon will.deacon at arm.com
Mon Dec 21 09:21:09 PST 2015


Hi Ard,

Just to say that I hit some ABS64 relocs in the stub today when compiling
with all of the "tracer" options enabled (in particular, you need to
enable CONFIG_PROFILE_ALL_BRANCHES).

Looks like that code #defines if :/

Log below.

Will

--->8

0000000000000000 R_AARCH64_ABS64   .init.rodata+0x0000000000000070
0000000000000008 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000028 R_AARCH64_ABS64   .init.rodata+0x0000000000000070
0000000000000030 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000050 R_AARCH64_ABS64   .init.rodata+0x0000000000000060
0000000000000058 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000078 R_AARCH64_ABS64   .init.rodata+0x0000000000000060
0000000000000080 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
00000000000000a0 R_AARCH64_ABS64   .init.rodata+0x0000000000000060
00000000000000a8 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
00000000000000c8 R_AARCH64_ABS64   .init.rodata+0x0000000000000060
00000000000000d0 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
00000000000000f0 R_AARCH64_ABS64   .init.rodata+0x0000000000000060
00000000000000f8 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000118 R_AARCH64_ABS64   .init.rodata+0x0000000000000050
0000000000000120 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000140 R_AARCH64_ABS64   .init.rodata+0x0000000000000050
0000000000000148 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000168 R_AARCH64_ABS64   .init.rodata+0x0000000000000050
0000000000000170 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000190 R_AARCH64_ABS64   .init.rodata+0x0000000000000050
0000000000000198 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
00000000000001b8 R_AARCH64_ABS64   .init.rodata+0x0000000000000050
00000000000001c0 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
00000000000001e0 R_AARCH64_ABS64   .init.rodata+0x0000000000000050
00000000000001e8 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000208 R_AARCH64_ABS64   .init.rodata+0x0000000000000050
0000000000000210 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000230 R_AARCH64_ABS64   .init.rodata+0x0000000000000050
0000000000000238 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000258 R_AARCH64_ABS64   .init.rodata+0x0000000000000050
0000000000000260 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000280 R_AARCH64_ABS64   .init.rodata+0x0000000000000050
0000000000000288 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
00000000000002a8 R_AARCH64_ABS64   .init.rodata+0x0000000000000050
00000000000002b0 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
00000000000002d0 R_AARCH64_ABS64   .init.rodata+0x0000000000000050
00000000000002d8 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
00000000000002f8 R_AARCH64_ABS64   .init.rodata+0x0000000000000050
0000000000000300 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000320 R_AARCH64_ABS64   .init.rodata+0x0000000000000040
0000000000000328 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000348 R_AARCH64_ABS64   .init.rodata+0x0000000000000028
0000000000000350 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000370 R_AARCH64_ABS64   .init.rodata+0x0000000000000040
0000000000000378 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
0000000000000398 R_AARCH64_ABS64   .init.rodata+0x0000000000000040
00000000000003a0 R_AARCH64_ABS64   .init.rodata.str1.8+0x0000000000000358
drivers/firmware/efi/libstub/arm-stub.stub.o: absolute symbol references not allowed in the EFI stub
drivers/firmware/efi/libstub/Makefile:63: recipe for target 'drivers/firmware/efi/libstub/arm-stub.stub.o' failed
make[4]: *** [drivers/firmware/efi/libstub/arm-stub.stub.o] Error 1



More information about the linux-arm-kernel mailing list