- print_nl ();
-}
-
-/* Print a symbol. */
-
-/*ARGSUSED*/
-static boolean
-print_symbol (p, ignore)
- struct bfd_link_hash_entry *p;
- PTR ignore;
-{
- while (p->type == bfd_link_hash_indirect
- || p->type == bfd_link_hash_warning)
- p = p->u.i.link;
-
- switch (p->type)
- {
- case bfd_link_hash_new:
- abort ();
-
- case bfd_link_hash_undefined:
- fprintf (config.map_file, "undefined ");
- fprintf (config.map_file, "%s ", p->root.string);
- print_nl ();
- break;
-
- case bfd_link_hash_weak:
- fprintf (config.map_file, "weak ");
- fprintf (config.map_file, "%s ", p->root.string);
- print_nl ();
- break;
-
- case bfd_link_hash_defined:
- {
- asection *defsec = p->u.def.section;
-
- print_address (p->u.def.value);
- if (defsec)
- {
- fprintf (config.map_file, " %-10s",
- bfd_section_name (output_bfd, defsec));
- print_space ();
- print_address (p->u.def.value + defsec->vma);
- }
- else
- {
- fprintf (config.map_file, " .......");
- }
- fprintf (config.map_file, " %s ", p->root.string);
- }
- print_nl ();
- break;
-
- case bfd_link_hash_common:
- fprintf (config.map_file, "common ");
- print_address (p->u.c.size);
- fprintf (config.map_file, " %s ", p->root.string);
- print_nl ();
- break;
-
- default:
- abort ();
- }
-
- return true;