diff options
author | sethg <none@none> | 2006-09-14 19:25:58 -0700 |
---|---|---|
committer | sethg <none@none> | 2006-09-14 19:25:58 -0700 |
commit | 626fe1bff7bfe11a03b96445322f7173e4bae13a (patch) | |
tree | 84c8d0a7feaff8092ae6ae0ca8d9552c5ce5aa80 /usr/src/tools/ctf/cvt/dwarf.c | |
parent | 946376ad0ef4c272ecb63a68cd3e28a42d973198 (diff) | |
download | illumos-joyent-626fe1bff7bfe11a03b96445322f7173e4bae13a.tar.gz |
6288545 GCC-compiled objects' CTF offsets wrong for some bitfields
Diffstat (limited to 'usr/src/tools/ctf/cvt/dwarf.c')
-rw-r--r-- | usr/src/tools/ctf/cvt/dwarf.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/usr/src/tools/ctf/cvt/dwarf.c b/usr/src/tools/ctf/cvt/dwarf.c index 32bcc77286..961f7e6610 100644 --- a/usr/src/tools/ctf/cvt/dwarf.c +++ b/usr/src/tools/ctf/cvt/dwarf.c @@ -221,7 +221,7 @@ tdesc_bitsize(tdesc_t *tdp) case UNION: case ENUM: case POINTER: - return (tdp->t_size); + return (tdp->t_size * NBBY); case FORWARD: return (0); @@ -983,8 +983,8 @@ die_sou_create(dwarf_t *dw, Dwarf_Die str, Dwarf_Off off, tdesc_t *tdp, #ifdef _BIG_ENDIAN ml->ml_offset += bitoff; #else - ml->ml_offset += (dw->dw_ptrsz * NBBY - bitoff - - ml->ml_size); + ml->ml_offset += tdesc_bitsize(ml->ml_type) - bitoff - + ml->ml_size; #endif } |