Changeset 3653 for trunk


Ignore:
Timestamp:
Jan 26, 2009, 12:32:48 AM (17 years ago)
Author:
bird
Message:

listomf: Parse LPUBDEF (watcom emits them) and use symbolic constants where possible.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/emx/src/emxomf/listomf.c

    r3651 r3653  
    496496  switch (rec)
    497497    {
    498     case 0x00:
     498    case CLASS_TRANS:
    499499      len = rec_len - rec_idx;
    500500      get_mem (string, len);
     
    504504      break;
    505505
    506     case 0x9d:
     506    case CLASS_MODEL:
    507507      {
    508508        const char *model = "N/A";
     
    540540      }
    541541
    542     case 0x9e:
     542    case CLASS_DOSSEG:
    543543      printf ("DOSSEG\n");
    544544      break;
    545545
    546     case 0x9f:
     546    case CLASS_DEFLIB:
    547547      len = rec_len - rec_idx;
    548548      get_mem (string, len);
     
    552552      break;
    553553
    554     case 0xa0:
     554    case CLASS_OMFEXT:
    555555      subrec = get_byte ();
    556556      switch (subrec)
    557557        {
    558         case 0x01:
     558        case OMFEXT_IMPDEF:
    559559          printf ("IMPDEF ");
    560560          flag = get_byte ();
     
    575575          break;
    576576
    577         case 0x02:
     577        case OMFEXT_EXPDEF:
    578578          printf ("EXPDEF ");
    579579          flag = get_byte ();
     
    596596          break;
    597597
    598         case 0x04:
     598        case OMFEXT_PROTLIB:
    599599          printf ("Protected DLL\n");
    600600          break;
     
    607607      break;
    608608
    609     case 0xa1:
     609    case CLASS_DBGTYPE:
    610610      if (rec_idx + 3 > rec_len) /* Borland vs. IBM clash */
    611611        goto generic;
     
    628628      break;
    629629
    630     case 0xa2:
     630    case CLASS_PASS:
    631631      flag = get_byte ();
    632632      if (flag == 1)
     
    636636      break;
    637637
    638     case 0xa3:
     638    case CLASS_LIBMOD:
    639639      get_string (string);
    640640      printf ("LIBMOD ");
     
    642642      break;
    643643
    644     case 0xa8:
     644    case CLASS_WKEXT:
    645645      ext1 = get_index ();
    646646      ext2 = get_index ();
     
    651651      break;
    652652
    653     case 0xad:
     653    case CLASS_DBGPACK:
    654654      get_string (string);
    655655      printf ("debug pack DLL: ");
     
    657657      break;
    658658
    659     case 0xaf:
     659    case CLASS_IDMDLL:
    660660      get_string (string);
    661661      printf ("Identifier manipulator DLL: ");
     
    666666      break;
    667667
    668     case 0xe9:
     668    case CLASS_DEP_FILE:
    669669      len = rec_len - rec_idx;
    670         if (len)
     670      if (len)
    671671        {
    672672          /* wDosTime, wDosDate, Name */
     
    866866
    867867
    868 static void list_pubdef (void)
     868static void list_pubdef_or_lpubdef (int is_lpubdef)
    869869{
    870870  int type, group, seg;
     
    872872  byte name[256];
    873873
    874   show_record ("PUBDEF");
     874  if (!is_lpubdef)
     875    show_record ("PUBDEF");
     876  else
     877    show_record ("LPUBDEF");
    875878  group = get_index ();
    876879  seg = get_index ();
     
    24372440        case PUBDEF:
    24382441        case PUBDEF|REC32:
    2439           list_pubdef ();
     2442          list_pubdef_or_lpubdef (0 /* not lpubdef */);
    24402443          break;
    24412444        case LINNUM:
     
    24882491          list_alias ();
    24892492          break;
     2493        case LPUBDEF:
     2494        case LPUBDEF|REC32:
     2495          list_pubdef_or_lpubdef (1 /* lpubdef */);
     2496          break;
     2497
    24902498        default:
    24912499          printf ("Unknown record type at %ld: %.2x\n",
Note: See TracChangeset for help on using the changeset viewer.