Re: Problem with endianess of pahole BTF output for vmlinux

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

 



On Sat, 2020-09-05 at 21:16 -0700, Tony Ambardar wrote:
> Hello,
> 
> I'm using GCC 8.4.0, binutils 2.34 and pahole 1.17, compiling on an
> Ubuntu/x86_64 host and targeting both little- and big-endian mips
> running on malta/qemu. When cross-compiling Linux 5.4.x LTS and
> testing bpftool/BTF functionality on the target, I encounter errors
> on
> big-endian targets:
> 
> > root@OpenWrt:/# bpftool btf dump file /sys/kernel/btf/vmlinux
> > libbpf: failed to get EHDR from /sys/kernel/btf/vmlinux
> > Error: failed to load BTF from /sys/kernel/btf/vmlinux: No error
> > information
> 
> After investigating, the problem appears to be that "pahole -J"
> running on the x86_64 little-endian host will always generate raw BTF
> of native endianness (based on BTF magic), which causes the error
> above on big-endian targets.
> 
> Is this expected? Is DEBUG_INFO_BTF supported in general when
> cross-compiling? How does one generate BTF encoded for the target
> endianness with pahole?
> 
> Thanks for any feedback or suggestions,
> Tony

We have the same problem on s390, and I'm not aware of any solution at
the moment. It would be great if we could figure out how to resolve 
this.

Best regards,
Ilya




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

  Powered by Linux