[BACK]Return to nm.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / nm

Diff for /src/usr.bin/nm/nm.c between version 1.11 and 1.12

version 1.11, 2001/05/31 16:28:51 version 1.12, 2001/08/16 15:45:05
Line 72 
Line 72 
 int print_only_undefined_symbols;  int print_only_undefined_symbols;
 int print_all_symbols;  int print_all_symbols;
 int print_file_each_line;  int print_file_each_line;
   int show_extensions = 0;
 int fcount;  int fcount;
   
 int rev;  int rev;
Line 100 
Line 101 
         extern int optind;          extern int optind;
         int ch, errors;          int ch, errors;
   
         while ((ch = getopt(argc, argv, "aBCgnopruw")) != -1) {          while ((ch = getopt(argc, argv, "aBCegnopruw")) != -1) {
                 switch (ch) {                  switch (ch) {
                 case 'a':                  case 'a':
                         print_all_symbols = 1;                          print_all_symbols = 1;
Line 111 
Line 112 
                 case 'C':                  case 'C':
                         demangle = 1;                          demangle = 1;
                         break;                          break;
                   case 'e':
                           show_extensions = 1;
                           break;
                 case 'g':                  case 'g':
                         print_only_external_symbols = 1;                          print_only_external_symbols = 1;
                         break;                          break;
Line 457 
Line 461 
         char *objname;          char *objname;
         register struct nlist *sym;          register struct nlist *sym;
 {  {
         char *typestring(), typeletter();          char *typestring(), typeletter(), *otherstring();
   
         if (print_file_each_line)          if (print_file_each_line)
                 (void)printf("%s:", objname);                  (void)printf("%s:", objname);
Line 477 
Line 481 
                 if (IS_DEBUGGER_SYMBOL(sym->n_type))                  if (IS_DEBUGGER_SYMBOL(sym->n_type))
                         (void)printf(" - %02x %04x %5s ", sym->n_other,                          (void)printf(" - %02x %04x %5s ", sym->n_other,
                             sym->n_desc&0xffff, typestring(sym->n_type));                              sym->n_desc&0xffff, typestring(sym->n_type));
                   else if (show_extensions)
                           (void)printf(" %c%2s ", typeletter(sym->n_type),
                               otherstring(sym->n_other));
                 else                  else
                         (void)printf(" %c ", typeletter(sym->n_type));                          (void)printf(" %c ", typeletter(sym->n_type));
         }          }
Line 486 
Line 493 
                 (void)puts(sym->n_un.n_name + 1);                  (void)puts(sym->n_un.n_name + 1);
         else          else
                 (void)puts(sym->n_un.n_name);                  (void)puts(sym->n_un.n_name);
   }
   
   #define AUX_OBJECT 1
   #define AUX_FUNC 2
   #define BIND_WEAK 2
   
   char *
   otherstring(other)
           u_char other;
   {
           static char buf[3];
           char *result;
           u_char bindtype;
           u_char aux;
   
           result = buf;
   
           bindtype = other >> 4;
           aux = other & 0x0f;
           if (bindtype == BIND_WEAK)
                   *result++ = 'w';
           if (aux == AUX_OBJECT)
                   *result++ = 'o';
           else if (aux == AUX_FUNC)
                   *result++ = 'f';
           *result++ = 0;
           return buf;
 }  }
   
 /*  /*

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12