home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / tos / updates / update18.zoo / util / diffs
Encoding:
Text File  |  1992-03-22  |  6.7 KB  |  254 lines

  1. *** 1.25    1992/03/08 17:23:52
  2. --- Changelog    1992/03/22 21:44:58
  3. ***************
  4. *** 259,261 ****
  5. --- 259,274 ----
  6.       update C++ demangler for gcc 2.0
  7.   
  8.   ----------------------------- Patchlevel 25 ---------------------------------
  9. + ldd.c, sym-ld.c:: ++jrb
  10. +     hook in the demangler into write_map (-M) too. the output of
  11. +     gcc-ld -M -t looks much nicer now when dealing with -lang-c++.
  12. +     
  13. +     dont try to print set elements as local symbols (when -M). guess
  14. +     who was seeing bombs!
  15. + nm.c:: ++jrb
  16. +     free demangled storage.
  17. + ----------------------------- Patchlevel 26 ---------------------------------
  18. *** 1.23    1992/03/08 17:23:52
  19. --- PatchLev.h    1992/03/22 21:44:59
  20. ***************
  21. *** 1,4 ****
  22. ! #define PatchLevel "25"
  23.   
  24.   /*
  25.    *    the Patch Level above is to identify the version
  26. --- 1,4 ----
  27. ! #define PatchLevel "26"
  28.   
  29.   /*
  30.    *    the Patch Level above is to identify the version
  31. *** 1.30    1991/09/24 17:30:39
  32. --- ld.c    1992/03/22 21:45:03
  33. ***************
  34. *** 2860,2867 ****
  35.   
  36.             if (write_map)
  37.           {
  38.             print_file_name (entry, stdout);
  39. !           fprintf (stdout, " needed due to %s\n", sp->name);
  40.           }
  41.   #ifdef BYTE_SWAP        /* finish converting n_list */
  42.   for (p++;p < end; p++)
  43. --- 2860,2872 ----
  44.   
  45.             if (write_map)
  46.           {
  47. +           char *nm;
  48. +           if (demangler == NULL || (nm = (*demangler)(sp->name)) == NULL)
  49. +               nm = sp->name;
  50.             print_file_name (entry, stdout);
  51. !           fprintf (stdout, " needed due to %s\n", nm);
  52. !           if(nm != sp->name)
  53. !              free(nm);
  54.           }
  55.   #ifdef BYTE_SWAP        /* finish converting n_list */
  56.   for (p++;p < end; p++)
  57. ***************
  58. *** 3020,3027 ****
  59.             sp->defined = N_BSS | N_EXT;
  60.             bss_size += com;
  61.             if (write_map)
  62.               printf ("Allocating common %s: %x at %x\n",
  63. !                 sp->name, com, sp->value);
  64.           }
  65.             else
  66.           {
  67. --- 3025,3039 ----
  68.             sp->defined = N_BSS | N_EXT;
  69.             bss_size += com;
  70.             if (write_map)
  71. +                   {
  72. +             char *nm;
  73. +             if (demangler == NULL || (nm = (*demangler)(sp->name)) == NULL)
  74. +               nm = sp->name;
  75.               printf ("Allocating common %s: %x at %x\n",
  76. !                 nm, com, sp->value);
  77. !             if(nm != sp->name)
  78. !              free(nm);
  79. !                   }
  80.           }
  81.             else
  82.           {
  83. ***************
  84. *** 3189,3200 ****
  85.         register symbol *sp;
  86.         for (sp = symtab[i]; sp; sp = sp->link)
  87.       {
  88.         if (sp->defined == 1)
  89. !         fprintf (outfile, "  %s: common, length 0x%x\n", sp->name, sp->max_common_size);
  90.         if (sp->defined)
  91. !         fprintf (outfile, "  %s: 0x%x\n", sp->name, sp->value);
  92.         else if (sp->referenced)
  93. !         fprintf (outfile, "  %s: undefined\n", sp->name);
  94.       }
  95.       }
  96.   
  97. --- 3201,3219 ----
  98.         register symbol *sp;
  99.         for (sp = symtab[i]; sp; sp = sp->link)
  100.       {
  101. +       char *nm = NULL;
  102. +       if ((sp->defined || sp->referenced) && (demangler != NULL))
  103. +         nm = (*demangler)(sp->name);
  104. +       if(nm == NULL)
  105. +           nm = sp->name;
  106.         if (sp->defined == 1)
  107. !         fprintf (outfile, "  %s: common, length 0x%x\n", nm, sp->max_common_size);
  108.         if (sp->defined)
  109. !         fprintf (outfile, "  %s: 0x%x\n", nm, sp->value);
  110.         else if (sp->referenced)
  111. !         fprintf (outfile, "  %s: undefined\n", nm);
  112. !       if(nm != sp->name)
  113. !         free(nm);
  114.       }
  115.       }
  116.   
  117. ***************
  118. *** 3234,3242 ****
  119.     for (p = entry->symbols; p < end; p++)
  120.       /* If this is a definition,
  121.          update it if necessary by this file's start address.  */
  122. !     if (!(p->n_type & (N_STAB | N_EXT)))
  123. !       fprintf (outfile, "  %s: 0x%x\n",
  124. !            entry->strings + p->n_un.n_strx, p->n_value);
  125.   }
  126.   
  127.   
  128. --- 3253,3269 ----
  129.     for (p = entry->symbols; p < end; p++)
  130.       /* If this is a definition,
  131.          update it if necessary by this file's start address.  */
  132. !     if (!((p->n_type & (N_STAB | N_EXT)) || SET_ELEMENT_P(p->n_type)))
  133. !     {
  134. !       char *s = entry->strings + p->n_un.n_strx;
  135. !       char *nm;
  136. !       if (demangler == NULL || (nm = (*demangler)(s)) == NULL)
  137. !           nm = s;
  138. !       fprintf (outfile, "  %s: 0x%x\n", nm, p->n_value);
  139. !       if(nm != s)
  140. !     free(nm);
  141. !       }
  142.   }
  143.   
  144.   
  145. *** 1.9    1991/07/23 22:43:21
  146. --- nm.c    1992/03/22 21:45:05
  147. ***************
  148. *** 806,812 ****
  149. --- 806,815 ----
  150.         if ((nm = cplus_demangle(sym->n_un.n_name)) == NULL)
  151.           printf (" %s\n", sym->n_un.n_name);
  152.         else
  153. +       {
  154.           printf (" %s\n", nm);
  155. +     free(nm);
  156. +       }
  157.       } else {
  158.         printf (" %s\n", sym->n_un.n_name);
  159.       }
  160. *** 1.16    1992/01/14 19:45:23
  161. --- sym-ld.c    1992/03/22 21:45:06
  162. ***************
  163. *** 2561,2568 ****
  164.   
  165.             if (write_map)
  166.           {
  167.             print_file_name (entry, stdout);
  168. !           fprintf (stdout, " needed due to %s\n", sp->name);
  169.           }
  170.             return 1;
  171.           }
  172. --- 2561,2573 ----
  173.   
  174.             if (write_map)
  175.           {
  176. +           char *nm;
  177. +           if (demangler == NULL || (nm = (*demangler)(sp->name)) == NULL)
  178. +             nm = sp->name;
  179.             print_file_name (entry, stdout);
  180. !           fprintf (stdout, " needed due to %s\n", nm);
  181. !           if(nm != sp->name)
  182. !               free(nm);
  183.           }
  184.             return 1;
  185.           }
  186. ***************
  187. *** 2864,2875 ****
  188.         register symbol *sp;
  189.         for (sp = symtab[i]; sp; sp = sp->link)
  190.       {
  191.         if (sp->defined == 1)
  192. !         fprintf (outfile, "  %s: common, length 0x%x\n", sp->name, sp->max_common_size);
  193.         if (sp->defined)
  194. !         fprintf (outfile, "  %s: 0x%x\n", sp->name, sp->value);
  195.         else if (sp->referenced)
  196. !         fprintf (outfile, "  %s: undefined\n", sp->name);
  197.       }
  198.       }
  199.   
  200. --- 2869,2887 ----
  201.         register symbol *sp;
  202.         for (sp = symtab[i]; sp; sp = sp->link)
  203.       {
  204. +       char *nm = NULL;
  205. +       if ((sp->defined || sp->referenced) && (demangler != NULL))
  206. +         nm = (*demangler)(sp->name);
  207. +       if(nm == NULL)
  208. +           nm = sp->name;
  209.         if (sp->defined == 1)
  210. !         fprintf (outfile, "  %s: common, length 0x%x\n", nm, sp->max_common_size);
  211.         if (sp->defined)
  212. !         fprintf (outfile, "  %s: 0x%x\n", nm, sp->value);
  213.         else if (sp->referenced)
  214. !         fprintf (outfile, "  %s: undefined\n", nm);
  215. !       if(nm != sp->name)
  216. !         free(nm);
  217.       }
  218.       }
  219.   
  220. ***************
  221. *** 2909,2917 ****
  222.     for (p = entry->symbols; p < end; p++)
  223.       /* If this is a definition,
  224.          update it if necessary by this file's start address.  */
  225. !     if (!(p->n_type & (N_STAB | N_EXT)))
  226. !       fprintf (outfile, "  %s: 0x%x\n",
  227. !            entry->strings + p->n_un.n_strx, p->n_value);
  228.   }
  229.   
  230.   
  231. --- 2921,2937 ----
  232.     for (p = entry->symbols; p < end; p++)
  233.       /* If this is a definition,
  234.          update it if necessary by this file's start address.  */
  235. !     if (!((p->n_type & (N_STAB | N_EXT)) || SET_ELEMENT_P(p->n_type)))
  236. !     {
  237. !       char *s = entry->strings + p->n_un.n_strx;
  238. !       char *nm;
  239. !       if (demangler == NULL || (nm = (*demangler)(s)) == NULL)
  240. !           nm = s;
  241. !       fprintf (outfile, "  %s: 0x%x\n", nm, p->n_value);
  242. !       if(nm != s)
  243. !     free(nm);
  244. !       }
  245.   }
  246.   
  247.   
  248.