Re: pahole and gcc-14 issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 28, 2025 at 8:21 AM Alan Maguire <alan.maguire@xxxxxxxxxx> wrote:
>
>  <1><4bd05>: Abbrev Number: 58 (DW_TAG_pointer_type)
>     <4bd06>   DW_AT_byte_size   : 8
>     <4bd07>   DW_AT_address_class: 2
>     <4bd08>   DW_AT_type        : <0x301cd>
>
> ...which points at an int
>
>  <1><301cd>: Abbrev Number: 214 (DW_TAG_base_type)
>     <301cf>   DW_AT_byte_size   : 4
>     <301d0>   DW_AT_encoding    : 5     (signed)
>     <301d1>   DW_AT_name        : int
>     <301d5>   DW_AT_name        : int
>
> ...but note the the DW_AT_address_class attribute in the latter case and
> the two DW_AT_name values. We don't use that address attribute in pahole
> as far as I can see, but it might be enough to cause problems.

DW_AT_address_class is there because it's an actual address space
qualifier in C. The dwarf is correct, but I thought pahole
will ignore it while converting to BTF, so it shouldn't matter
from dedup pov.

And since dedup is working for vmlinux BTF, I doubt there are CUs
where the same type is represented with different dwarf id-s.
Otherwise dedup wouldn't have worked for vmlinux.

DW_AT_name is concerning. Sounds like it's a gcc bug, but it
shouldn't be causing dedup issues for modules.

So what is the workaround?

We need to find it asap. Since at present we cannot build
kernels with gcc-14, since modules won't dedup BTF.
Hence a bunch of selftests/bpf are failing.
We want to upgrade BPF CI to gcc-14 to catch nginx-like issues,
but we cannot until this pahole/dedup issue is resolved.





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux