[Mesa-dev] misc pahole repacking
Brian Paul
brianp at vmware.com
Wed Jan 31 15:57:53 UTC 2018
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
More information about the mesa-dev
mailing list