On 01/31/2018 01:48 AM, Tapani Pälli wrote:
Reviewed-by: Tapani Pälli <tapani.pa...@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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to