dwarves: Update git url

Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
dwarves_fprintf: Don't ignore virtual data members

When computing the size of a class, leave, caused problems in
some cases, links to the reports are in the comments.

Reported-by: Nicolas <nikos42@gmail.com>
Suggested-by: Mark Wielaard <mjw@redhat.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
dwarves_fprintf: Fix printf types on 64bit linux

Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
dwarves_reorganize: Fixup calculation of bytes needed for bitfield

The changeset:

	commit f043528
	Author: Arnaldo Carvalho de Melo <acme@redhat.com>
	Date:   Sun Aug 16 12:26:33 2009 -0300

	    dwarves_reorganize: Fix class__demote_bitfields, we need power of
	two bytes

Had a correct changeset description, but an incorrect implementation, it
was not rouding up to the next power of two, but to the next multiple of
2, i.e. when a bitfield has 2 bits, it was deciding it needed 2 bytes,
not 1.

Fix it by copying the roundup_power_of_two code from the Linux kernel,
mostly by David Howells <dhowells@redhat.com>.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
dwarves_reorganize: Fix member type fixup

See the patch itself for the explanation.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
dwarf_loader: Support DW_FORM_data{4,8} for reading class member offsets

Finally found really _large_ structs, like this one in the Linux kernel:

[acme@zoo pahole]$ pahole -C cmp_data /home/acme/git/build/v3.11.0-rc3+/kernel/power/swap.o
struct cmp_data {
	struct task_struct *       thr;                  /*     0     8 */
	atomic_t                   ready;                /*     8     4 */
	atomic_t                   stop;                 /*    12     4 */
	int                        ret;                  /*    16     4 */

	/* XXX 4 bytes hole, try to pack */

	wait_queue_head_t          go;                   /*    24    24 */
	wait_queue_head_t          done;                 /*    48    24 */
	/* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */
	size_t                     unc_len;              /*    72     8 */
	size_t                     cmp_len;              /*    80     8 */
	unsigned char              unc[131072];          /*    88 131072 */
	/* --- cacheline 2049 boundary (131136 bytes) was 24 bytes ago --- */
	unsigned char              cmp[143360];          /* 131160 143360 */
	/* --- cacheline 4289 boundary (274496 bytes) was 24 bytes ago --- */
	unsigned char              wrk[16384];           /* 274520 16384 */
	/* --- cacheline 4545 boundary (290880 bytes) was 24 bytes ago --- */

	/* size: 290904, cachelines: 4546, members: 11 */
	/* sum members: 290900, holes: 1, sum holes: 4 */
	/* last cacheline: 24 bytes */
};

The last two members have offsets that takes more than a u16, using
DW_FORM_data4. For extra future proof reasons, add DW_FORM_data8 too ;-)

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

Otherwise settings (for example, classes_as_structs) are not
applied to pointed-to types.
namespace__init(): prepend parent namespace name
added --expand_typedefs