Re: [PATCH v3] pahole: do not return an error when printing only a specific class

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

 



On 31/07/2025 17:16, Alexis Lothoré (eBPF Foundation) wrote:
> When trying to print a specific class layout with recent pahole
> versions, we get an error right after the expected class print:
> 
>   $ ./build/pahole -C test_bin_struct_packed -F dwarf tests/bin/test_bin
>   struct test_bin_struct_packed {
>           char                       a;                    /*     0     1 */
>           short int                  b;                    /*     1     2 */
>           int                        c;                    /*     3     4 */
>           long long unsigned int     d;                    /*     7     8 */
> 
>           /* size: 15, cachelines: 1, members: 4 */
>           /* last cacheline: 15 bytes */
>   } __attribute__((__packed__));
> 
>   pahole: /home/alexis/src/pahole/tests/bin/test_bin: Invalid argument
> 
> This error is due to pahole_stealer returning LSK__STOP_LOADING when
> dealing with a single class and when it is done. This LSK__STOP_LOADING
> is then propagated to dwarf_loader__worker_thread and interpreted as an
> error (and turned into a DWARF_CB_ABORT). The main issue is that this
> LSK__STOP_LOADING value is sometimes generated by actual issues during
> pahole stealing, sometimes by "nominal" execution.
> 
> Add a new LSK__ABORT status to distinguish between those nominal and
> faulty cases. Still let DWARF_CB_ABORT value propagate when the stealer
> returns either LSK__ABORT or LSK__STOP_LOADING (so that any other
> running worker is properly asked to stop, thanks to
> cus_processsing_queue.abort), but also propagate the LSK status, and
> return an error on DWARF_CB_ABORT only if the status is LSK__ABORT.
> 
> Reviewed-by: Alan Maguire <alan.maguire@xxxxxxxxxx>
> Signed-off-by: Alexis Lothoré (eBPF Foundation) <alexis.lothore@xxxxxxxxxxx>

Applied to the next branch of

https://git.kernel.org/pub/scm/devel/pahole/pahole.git/

Thanks!

Alan




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

  Powered by Linux