aboutsummaryrefslogtreecommitdiff
path: root/ld/ldmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'ld/ldmain.c')
-rw-r--r--ld/ldmain.c24
1 files changed, 18 insertions, 6 deletions
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;
}