X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2Femultempl%2Faix.em;h=de313e1f1741d63b979ec7074f43e8b4d736e7c6;hb=d27c357a5b83773054e85ff3ea5dbfe18b9dd3c0;hp=f4441109d23466cd589a47bdc41825c0524061a8;hpb=1ff6de031241c59d0ff9fa01d3c0a4049b0e97c9;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/emultempl/aix.em b/ld/emultempl/aix.em index f4441109d2..de313e1f17 100644 --- a/ld/emultempl/aix.em +++ b/ld/emultempl/aix.em @@ -9,7 +9,7 @@ fragment < AIX support by Ian Lance Taylor AIX 64 bit support by Tom Rix @@ -472,8 +472,8 @@ gld${EMULATION_NAME}_handle_option (int optc) break; case OPTION_ERNOTOK: - link_info.unresolved_syms_in_objects = RM_GENERATE_ERROR; - link_info.unresolved_syms_in_shared_libs = RM_GENERATE_ERROR; + link_info.unresolved_syms_in_objects = RM_DIAGNOSE; + link_info.unresolved_syms_in_shared_libs = RM_DIAGNOSE; break; case OPTION_EROK: @@ -1534,6 +1534,36 @@ gld${EMULATION_NAME}_open_dynamic_archive (const char *arch, return TRUE; } +static bfd_boolean +gld${EMULATION_NAME}_print_symbol (struct bfd_link_hash_entry *hash_entry, + void *ptr) +{ + asection *sec = (asection *) ptr; + + if ((hash_entry->type == bfd_link_hash_defined + || hash_entry->type == bfd_link_hash_defweak) + && sec == hash_entry->u.def.section) + { + int i; + struct xcoff_link_hash_entry *h; + + for (i = 0; i < SECTION_NAME_MAP_LENGTH; i++) + print_space (); + minfo ("0x%V ", + (hash_entry->u.def.value + + hash_entry->u.def.section->output_offset + + hash_entry->u.def.section->output_section->vma)); + + /* Flag symbol if it has been garbage collected. */ + h = (struct xcoff_link_hash_entry *) hash_entry; + if ((h != NULL) && !(h->flags & XCOFF_MARK)) + minfo (" -->gc"); + minfo (" %pT\n", hash_entry->root.string); + } + + return TRUE; +} + struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = { gld${EMULATION_NAME}_before_parse, syslib_default, @@ -1541,6 +1571,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = { after_parse_default, gld${EMULATION_NAME}_after_open, after_check_relocs_default, + before_place_orphans_default, after_allocation_default, gld${EMULATION_NAME}_set_output_arch, gld${EMULATION_NAME}_choose_target, @@ -1563,6 +1594,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = { NULL, /* new_vers_pattern */ NULL, /* extra_map_file_text */ ${LDEMUL_EMIT_CTF_EARLY-NULL}, - ${LDEMUL_EXAMINE_STRTAB_FOR_CTF-NULL} + ${LDEMUL_EXAMINE_STRTAB_FOR_CTF-NULL}, + gld${EMULATION_NAME}_print_symbol }; EOF