[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-hackers
Subject:    Re: TARGET_ARCH=powerpc64 jump from head -r326192 to -r327075: g_event crashes with "instruction sto
From:       Mark Millard <markmi () dsl-only ! net>
Date:       2017-12-24 19:34:39
Message-ID: A6240F3A-19F0-4BE9-A53D-7BA7BA703B9B () dsl-only ! net
[Download RAW message or body]

[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

_______________________________________________
freebsd-hackers@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic