[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