[Mesa-dev] misc pahole repacking

Adrian M Negreanu groleo at gmail.com
Thu Feb 1 11:13:09 UTC 2018


There's a bug about quiting on unsupported tags:
https://bugzilla.redhat.com/show_bug.cgi?id=1348200

Should be fixed in v1.10
http://pkgs.fedoraproject.org/cgit/rpms/dwarves.git/commit/?h=f25

On Wed, Jan 31, 2018 at 5:57 PM, Brian Paul <brianp at vmware.com> wrote:

> On 01/31/2018 01:48 AM, Tapani Pälli wrote:
>
>> Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
>>
>> (I verified the 1st one and I trust you on the 2nd one.)
>>
>> BTW I witnessed pahole crashing when processing visit() methods of
>> ir_print_visitor class, did you experience that? My pahole version is 1.9,
>> it dies in /lib64/libdwarves.so.1 after some prints like:
>>
>> --- 8< ---
>> die__process_unit: DW_TAG_restrict_type (0x37) @ <0x122be84> not handled!
>> die__process_unit: DW_TAG_unspecified_type (0x3b) @ <0x1230c68> not
>> handled!
>> die__process_unit: DW_TAG_restrict_type (0x37) @ <0x12312d3> not handled!
>> die__process_unit: DW_TAG_unspecified_type (0x3b) @ <0x1231bc4> not
>> handled!
>> die__process_unit: DW_TAG_restrict_type (0x37) @ <0x12340bb> not handled!
>> die__process_unit: DW_TAG_rvalue_reference_type (0x42) @ <0x123f984> not
>> handled!
>> die__process_unit: DW_TAG_rvalue_reference_type (0x42) @ <0x1242348> not
>> handled!
>> die__process_unit: DW_TAG_rvalue_reference_type (0x42) @ <0x1242398> not
>> handled!
>> die__process_unit: DW_TAG_rvalue_reference_type (0x42) @ <0x12423e8> not
>> handled!
>> die__process_unit: DW_TAG_rvalue_reference_type (0x42) @ <0x1242572> not
>> handled!
>> die__process_unit: DW_TAG_rvalue_reference_type (0x42) @ <0x12425c2> not
>> handled!
>> die__process_unit: DW_TAG_rvalue_reference_type (0x42) @ <0x12425ea> not
>> handled!
>> die__process_function: DW_TAG_rvalue_reference_type (0x42) @ <0x1247929>
>> not handled!
>>
>
> Me too.  I have v1.9 as well and it crashes pretty quickly, for example:
>
> $ pahole build-llvmpipe/lib/gallium/libGL.so.1.5.0
> struct xm_driver {
>         struct pipe_screen *       (*create_pipe_screen)(Display *); /*
>  0   8 */
>         struct st_api *            (*create_st_api)(void); /*     8     8
> */
>
>         /* size: 16, cachelines: 1, members: 2 */
>         /* last cacheline: 16 bytes */
> };
> struct sw_winsys {
>         void                       (*destroy)(struct sw_winsys *); /*
>  0 8 */
>         boolean                    (*is_displaytarget_format_supported)(struct
> sw_winsys *, unsigned int, enum pipe_format); /*     8     8 */
>         struct sw_displaytarget *  (*displaytarget_create)(struct
> sw_winsys *, unsigned int, enum pipe_format, unsigned int, unsigned int,
> unsigned int, const void  *, unsigned int *); /*    16     8 */
>         struct sw_displaytarget *  (*displaytarget_from_handle)(struct
> sw_winsys *, const struct pipe_resource  *, struct winsys_handle *,
> unsigned int *); /*    24     8 */
>         boolean                    (*displaytarget_get_handle)(struct
> sw_winsys *, struct sw_displaytarget *, struct winsys_handle *); /*    32
>    8 */
>         void *                     (*displaytarget_map)(struct sw_winsys
> *, struct sw_displaytarget *, unsigned int); /*    40     8 */
>         void                       (*displaytarget_unmap)(struct sw_winsys
> *, struct sw_displaytarget *); /*    48     8 */
>         void                       (*displaytarget_display)(struct
> sw_winsys *, struct sw_displaytarget *, void *, struct pipe_box *); /*
> 56     8 */
>         /* --- cacheline 1 boundary (64 bytes) --- */
>         void                       (*displaytarget_destroy)(struct
> sw_winsys *, struct sw_displaytarget *); /*    64     8 */
>
>         /* size: 72, cachelines: 2, members: 9 */
>         /* last cacheline: 8 bytes */
> };
> die__process_unit: DW_TAG_restrict_type (0x37) @ <0x3b09> not handled!
>
> -Brian
>
>
>
>>
>>
>> On 31.01.2018 01:41, Dave Airlie wrote:
>>
>>> This month's Dave hasn't got enough sleep to do real work, lets
>>> repack some structs.
>>>
>>> The format descriptions one is quite good though it reduces the
>>> radv binary data segment.
>>>
>>> Dave.
>>>
>>> _______________________________________________
>>> mesa-dev mailing list
>>> mesa-dev at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>>
>>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180201/e64ecf00/attachment.html>


More information about the mesa-dev mailing list