[vms/committed]: improve output of objdump -p for the DST
Tristan Gingold
gingold@adacore.com
Tue May 18 09:23:00 GMT 2010
Hi,
this tiny patch expose slightly more details about the dst line entries and
decode INCR_LINUM_L.
Tristan.
bfd/
2010-05-18 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (evax_bfd_print_dst): Handle INCR_LINUM_L.
Add details in the messages.
(evax_bfd_print_image): Change message.
Index: bfd/vms-alpha.c
===================================================================
RCS file: /cvs/src/src/bfd/vms-alpha.c,v
retrieving revision 1.8
diff -c -r1.8 vms-alpha.c
*** bfd/vms-alpha.c 17 May 2010 08:07:45 -0000 1.8
--- bfd/vms-alpha.c 18 May 2010 09:21:46 -0000
***************
*** 6954,6972 ****
break;
case DST__K_INCR_LINUM:
val = buf[1];
! fprintf (file, _("incr_linum: +%u\n"), val);
line += val;
cmdlen = 2;
break;
case DST__K_INCR_LINUM_W:
val = bfd_getl16 (buf + 1);
! fprintf (file, _("incr_linum: +%u\n"), val);
line += val;
cmdlen = 3;
break;
case DST__K_SET_LINUM:
! line = (unsigned)bfd_getl16 (buf + 1);
! fprintf (file, _("set_line_num %u\n"), line);
cmdlen = 3;
break;
case DST__K_SET_LINUM_B:
--- 6954,6978 ----
break;
case DST__K_INCR_LINUM:
val = buf[1];
! fprintf (file, _("incr_linum(b): +%u\n"), val);
line += val;
cmdlen = 2;
break;
case DST__K_INCR_LINUM_W:
val = bfd_getl16 (buf + 1);
! fprintf (file, _("incr_linum_w: +%u\n"), val);
line += val;
cmdlen = 3;
break;
+ case DST__K_INCR_LINUM_L:
+ val = bfd_getl32 (buf + 1);
+ fprintf (file, _("incr_linum_l: +%u\n"), val);
+ line += val;
+ cmdlen = 5;
+ break;
case DST__K_SET_LINUM:
! line = bfd_getl16 (buf + 1);
! fprintf (file, _("set_line_num(w) %u\n"), line);
cmdlen = 3;
break;
case DST__K_SET_LINUM_B:
***************
*** 6975,6986 ****
cmdlen = 2;
break;
case DST__K_SET_LINUM_L:
! line = (unsigned)bfd_getl32 (buf + 1);
fprintf (file, _("set_line_num_l %u\n"), line);
cmdlen = 5;
break;
case DST__K_SET_ABS_PC:
! pc = (unsigned)bfd_getl32 (buf + 1);
fprintf (file, _("set_abs_pc: 0x%08x\n"), pc);
cmdlen = 5;
break;
--- 6981,6992 ----
cmdlen = 2;
break;
case DST__K_SET_LINUM_L:
! line = bfd_getl32 (buf + 1);
fprintf (file, _("set_line_num_l %u\n"), line);
cmdlen = 5;
break;
case DST__K_SET_ABS_PC:
! pc = bfd_getl32 (buf + 1);
fprintf (file, _("set_abs_pc: 0x%08x\n"), pc);
cmdlen = 5;
break;
***************
*** 6990,6996 ****
cmdlen = 5;
break;
case DST__K_TERM:
! fprintf (file, _("term: 0x%02x"), buf[1]);
pc += buf[1];
fprintf (file, _(" pc: 0x%08x\n"), pc);
cmdlen = 2;
--- 6996,7002 ----
cmdlen = 5;
break;
case DST__K_TERM:
! fprintf (file, _("term(b): 0x%02x"), buf[1]);
pc += buf[1];
fprintf (file, _(" pc: 0x%08x\n"), pc);
cmdlen = 2;
***************
*** 7556,7562 ****
}
count = bfd_getl16 (dmth.psect_count);
fprintf (file,
! _(" module address: 0x%08x, size: 0x%08x, (%u psects)\n"),
(unsigned)bfd_getl32 (dmth.modbeg),
(unsigned)bfd_getl32 (dmth.size), count);
dmt_size -= sizeof (dmth);
--- 7562,7568 ----
}
count = bfd_getl16 (dmth.psect_count);
fprintf (file,
! _(" module offset: 0x%08x, size: 0x%08x, (%u psects)\n"),
(unsigned)bfd_getl32 (dmth.modbeg),
(unsigned)bfd_getl32 (dmth.size), count);
dmt_size -= sizeof (dmth);
More information about the Binutils
mailing list