Re: [RFC PATCH 4/4] objtool/powerpc: Add --mcount specific implementation

From: Christophe Leroy
Date: Thu Jun 16 2022 - 10:06:40 EST




Le 16/06/2022 à 15:57, Peter Zijlstra a écrit :
> On Thu, Jun 16, 2022 at 01:40:34PM +0000, Christophe Leroy wrote:
>> sizeof(u64) is always 8 by definition.
>>
>> So if size is 8 we are working on a binary file for a 64 bits target, if
>> not it means we are working for a 32 bits target.
>
> Cross-builds invalidate this I think. Best to look at something like:
>
> elf->ehdr.e_ident[EI_CLASS] == ELFCLASS32
>
>

Yes that's what it does indirectly:

int size = elf_class_size(elf);


With

static inline int elf_class_size(struct elf *elf)
{
if (elf->ehdr.e_ident[EI_CLASS] == ELFCLASS32)
return sizeof(u32);
else
return sizeof(u64);
}