diff options
-rw-r--r-- | ld/ChangeLog | 2 | ||||
-rw-r--r-- | ld/ldmain.c | 24 |
2 files changed, 20 insertions, 6 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 4d3462a..f7be828 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,7 @@ Mon Feb 6 12:17:24 1995 Ian Lance Taylor <ian@cygnus.com> + * ldmain.c (undefined_symbol): Handle section being NULL. + * ldctor.c (ldctor_build_sets): Handle bfd_link_hash_defweak. * ldexp.c (fold_name): Likewise. * ldlang.c (print_one_symbol): Likewise. diff --git a/ld/ldmain.c b/ld/ldmain.c index a9b836a..091f776 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -833,12 +833,24 @@ undefined_symbol (info, name, abfd, section, address) error_name = buystring (name); } - if (error_count < MAX_ERRORS_IN_A_ROW) - einfo ("%X%C: undefined reference to `%T'\n", - abfd, section, address, name); - else if (error_count == MAX_ERRORS_IN_A_ROW) - einfo ("%D: more undefined references to `%T' follow\n", - abfd, section, address, name); + if (section != NULL) + { + if (error_count < MAX_ERRORS_IN_A_ROW) + einfo ("%X%C: undefined reference to `%T'\n", + abfd, section, address, name); + else if (error_count == MAX_ERRORS_IN_A_ROW) + einfo ("%D: more undefined references to `%T' follow\n", + abfd, section, address, name); + } + else + { + if (error_count < MAX_ERRORS_IN_A_ROW) + einfo ("%X%B: undefined reference to `%T'\n", + abfd, name); + else if (error_count == MAX_ERRORS_IN_A_ROW) + einfo ("%B: more undefined references to `%T' follow\n", + abfd, name); + } return true; } |