[PATCHv3 4/7] powerpc64: Add .opd based function descriptor dereference
Michael Ellerman
mpe at ellerman.id.au
Wed Oct 4 22:06:35 AEDT 2017
Petr Mladek <pmladek at suse.com> writes:
> On Sat 2017-09-30 11:53:16, Sergey Senozhatsky wrote:
>> diff --git a/arch/powerpc/kernel/module_64.c b/arch/powerpc/kernel/module_64.c
>> index 0b0f89685b67..94caec045a90 100644
>> --- a/arch/powerpc/kernel/module_64.c
>> +++ b/arch/powerpc/kernel/module_64.c
>> @@ -712,6 +717,17 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
>> return 0;
>> }
>>
>> +#ifdef PPC64_ELF_ABI_v1
>> +unsigned long dereference_module_function_descriptor(struct module *mod,
>> + unsigned long addr)
>> +{
>> + if (addr < mod->arch.start_opd || addr >= mod->arch.end_opd)
>> + return addr;
>> +
>> + return dereference_function_descriptor(addr);
>> +}
>> +#endif /* PPC64_ELF_ABI_v1 */
>
> I would personally move this up in the source file. It is related to
> the definition of func_desc() and other functions that are
> also PPC_ELF_ABI-specific.
Yeah that would be neater. There's already a PPC64_ELF_ABI_v2 block, you
could put this in the else case of that.
But we can do that later if you're not respinning otherwise.
cheers
More information about the Linuxppc-dev
mailing list