diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2000-03-01 19:37:03 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2000-03-01 19:37:03 +0000 |
commit | b6f29aaaeabac9302832b971c78a30ae5313c1d5 (patch) | |
tree | 58046bedffe07ea5e7cdba55e4bc53b58caba634 | |
parent | 8bf950bf50d61766f086314e5d1a21d00db39ace (diff) | |
download | gdb-b6f29aaaeabac9302832b971c78a30ae5313c1d5.zip gdb-b6f29aaaeabac9302832b971c78a30ae5313c1d5.tar.gz gdb-b6f29aaaeabac9302832b971c78a30ae5313c1d5.tar.bz2 |
2000-03-01 H.J. Lu <hjl@gnu.org>
* ldmain.c (undefined_symbol): Take one more arg, fatal, to
indicate if the undefined symbol is a fatal error or not.
Don't delete the output file if "fatal" is false.
-rw-r--r-- | ld/ChangeLog | 6 | ||||
-rw-r--r-- | ld/ldmain.c | 21 |
2 files changed, 21 insertions, 6 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index a925a38..3b0d9cc 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2000-03-01 H.J. Lu <hjl@gnu.org> + + * ldmain.c (undefined_symbol): Take one more arg, fatal, to + indicate if the undefined symbol is a fatal error or not. + Don't delete the output file if "fatal" is false. + 2000-02-29 H.J. Lu <hjl@gnu.org> * Makefile.am (check-DEJAGNU): Also pass LIBS="$(LIBS)". diff --git a/ld/ldmain.c b/ld/ldmain.c index 734bc32..ba2a592 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -117,7 +117,7 @@ static boolean warning_callback PARAMS ((struct bfd_link_info *, static void warning_find_reloc PARAMS ((bfd *, asection *, PTR)); static boolean undefined_symbol PARAMS ((struct bfd_link_info *, const char *, bfd *, - asection *, bfd_vma)); + asection *, bfd_vma, boolean)); static boolean reloc_overflow PARAMS ((struct bfd_link_info *, const char *, const char *, bfd_vma, bfd *, asection *, bfd_vma)); @@ -1144,12 +1144,13 @@ warning_find_reloc (abfd, sec, iarg) /*ARGSUSED*/ static boolean -undefined_symbol (info, name, abfd, section, address) +undefined_symbol (info, name, abfd, section, address, fatal) struct bfd_link_info *info ATTRIBUTE_UNUSED; const char *name; bfd *abfd; asection *section; bfd_vma address; + boolean fatal; { static char *error_name; static unsigned int error_count; @@ -1193,8 +1194,12 @@ undefined_symbol (info, name, abfd, section, address) if (section != NULL) { if (error_count < MAX_ERRORS_IN_A_ROW) - einfo (_("%X%C: undefined reference to `%T'\n"), - abfd, section, address, name); + { + einfo (_("%C: undefined reference to `%T'\n"), + abfd, section, address, name); + if (fatal) + einfo ("%X"); + } else if (error_count == MAX_ERRORS_IN_A_ROW) einfo (_("%D: more undefined references to `%T' follow\n"), abfd, section, address, name); @@ -1202,8 +1207,12 @@ undefined_symbol (info, name, abfd, section, address) else { if (error_count < MAX_ERRORS_IN_A_ROW) - einfo (_("%X%B: undefined reference to `%T'\n"), - abfd, name); + { + einfo (_("%B: undefined reference to `%T'\n"), + abfd, name); + if (fatal) + einfo ("%X"); + } else if (error_count == MAX_ERRORS_IN_A_ROW) einfo (_("%B: more undefined references to `%T' follow\n"), abfd, name); |