diff --git a/ld/ChangeLog b/ld/ChangeLog index fdaa394556..b84d38ab62 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2000-06-07 Michael Sokolov + + * emultempl/mipsecoff.em (gld{EMULATION_NAME}_after_open): Require all + input objects to be ECOFF. + (check_sections): einfo takes %B, not %P, to print a BFD name. + 2000-06-05 Michael Matz * ldgram.y (vers_defns): Handle 'extern "C++" { ... }' in diff --git a/ld/emultempl/mipsecoff.em b/ld/emultempl/mipsecoff.em index 4c932a14fa..61ab7d4e91 100644 --- a/ld/emultempl/mipsecoff.em +++ b/ld/emultempl/mipsecoff.em @@ -69,6 +69,11 @@ gld${EMULATION_NAME}_after_open () { asection *datasec; + /* As first-order business, make sure that each input BFD is ECOFF. It + better be, as we are directly calling an ECOFF backend function. */ + if (bfd_get_flavour (abfd) != bfd_target_ecoff_flavour) + einfo ("%F%B: all input objects must be ECOFF for --embedded-relocs\n"); + datasec = bfd_get_section_by_name (abfd, ".sdata"); /* Note that we assume that the reloc_count field has already @@ -113,7 +118,7 @@ check_sections (abfd, sec, sdatasec) if ((bfd_get_section_flags (abfd, sec) & SEC_CODE) == 0 && sec != (asection *) sdatasec && sec->reloc_count != 0) - einfo ("%P%X: section %s has relocs; can not use --embedded-relocs\n", + einfo ("%B%X: section %s has relocs; can not use --embedded-relocs\n", abfd, bfd_get_section_name (abfd, sec)); }