Thread (15 messages) flat view 15 messages, 3 authors, 2022-09-16

Re: [PATCH 1/7] powerpc/build: put sys_call_table in .data.rel.ro if RELOCATABLE

From: "Nicholas Piggin" <npiggin@gmail.com>
Date: 2022-09-16 00:31:08

On Thu Sep 15, 2022 at 10:51 PM AEST, Michael Ellerman wrote:
Christophe Leroy [off-list ref] writes:
quoted
Le 14/09/2022 à 17:47, Nicholas Piggin a écrit :
quoted
Const function pointers live in .data.rel.ro rather than .rodata because
they must be relocated. This change prevents powerpc/32 from generating
R_PPC_UADDR32 relocations (which are not handled). The sys_call_table is
moved to writeable memory, but a later change will move it back.
Aren't you missing commit c7acee3d2f12 ("powerpc: align syscall table 
for ppc32") ?
That's in fixes. I'll sort it out when I apply this, or when I merge
fixes into next.
Yeah that explains the relocations I was seeing, I should have dug
further into that, so they're really unrelated to this patch.
quoted
I can't see any R_PPC_UADDR32 relocations generated by ppc4xx_defconfig 
+ CONFIG_RELOCATABLE unless I revert that commit.
Presumably this change accidentally aligns the syscall table.
quoted
quoted
After this patch, 44x_defconfig + CONFIG_RELOCATABLE boots to busybox.
 
So that's probably just because of the alignment too.

I think this patch should go after .data.rel.ro is made read only.
Yeah that should be fine.

Thanks,
Nick
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help