tree c67665c9e15bb3aca18f7b0027daa1a14a8bae58
parent bb8350acf52f44eab21288272441a2d048820f05
author Arnaldo Carvalho de Melo <acme@redhat.com> 1552419817 -0300
committer Arnaldo Carvalho de Melo <acme@redhat.com> 1552419975 -0300

dwarves_fprintf: Print the bit_offset for inline enum bitfield class members

Before:

  $ pahole examples/myrb_dcdb.o
  struct myrb_dcdb {
	  unsigned int               target:4;             /*     0:28  4 */
	  unsigned int               channel:4;            /*     0:24  4 */

	  /* Bitfield combined with next fields */

	  enum {
		  MYRB_DCDB_XFER_NONE = 0,
		  MYRB_DCDB_XFER_DEVICE_TO_SYSTEM = 1,
		  MYRB_DCDB_XFER_SYSTEM_TO_DEVICE = 2,
		  MYRB_DCDB_XFER_ILLEGAL = 3,
	  } data_xfer:2;                                     /*     1     1 */
  <SNIP>

After:

  $ pahole examples/myrb_dcdb.o
  struct myrb_dcdb {
	unsigned int               target:4;             /*     0:28  4 */
	unsigned int               channel:4;            /*     0:24  4 */

	/* Bitfield combined with next fields */

	enum {
		MYRB_DCDB_XFER_NONE = 0,
		MYRB_DCDB_XFER_DEVICE_TO_SYSTEM = 1,
		MYRB_DCDB_XFER_SYSTEM_TO_DEVICE = 2,
		MYRB_DCDB_XFER_ILLEGAL = 3,
	} data_xfer:2;                                   /*     1: 6  1 */

  <SNIP>

Look at data_xfer:2, it now shows the bit_offset (6) in addition to the
byte offset (1) and the bit_size (2).

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
