TARGET_ARCH=powerpc64 jump from head -r326192 to -r327075: g_event crashes with "instruction storage interrupt" [R_PPC64_JMP_SLOT problem]
Mark Millard
markmi at dsl-only.net
Sun Dec 24 19:41:29 UTC 2017
[History removed.]
I have submitted bugzilla 224561 for the issue.
The difference in the likes of filemon.ko
produced by system clang 5.0.1 vs.
devel/powerpc64-xtoolchain-gcc is. . .
clang 5.0.1:
Relocation section with addend (.rela.plt):
r_offset r_info r_type st_value st_name + r_addend
000000014480 000300000015 R_PPC64_JMP_SLOT 0000000000000000 copyinstr + 0
000000014488 000400000015 R_PPC64_JMP_SLOT 0000000000000000 devfs_set_cdevpriv + 0
. . .
vs.
devel/powerpc64-xtoolchain-gcc:
Relocation section with addend (.rela.dyn):
r_offset r_info r_type st_value st_name + r_addend
0000000145c0 000000000016 R_PPC64_RELATIVE 0000000000000000 + 40d0
0000000145e0 000000000016 R_PPC64_RELATIVE 0000000000000000 + 145b0
. . .
000000014408 000600000026 R_PPC64_ADDR64 0000000000000000 sysent + 0
000000014410 001100000026 R_PPC64_ADDR64 0000000000000000 freebsd32_sysent + 0
Apparently R_PPC64_JMP_SLOT is mishandled
and does not explicitly lead to rejection
of the attempted dynamic load.
It might be an issue if .rela.plt and
R_PPC64_JMP_SLOT should even be generated
instead of .rela.dyn and R_PPC64_RELATIVE
and R_PPC64_ADDR64.
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-ppc
mailing list