From 0f0569c4ae6c593d573b2961438826fc80ae1e42 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 24 Apr 2003 01:43:33 +0000 Subject: include/ * bfdlink.h (bfd_link_callbacks): Add error_handler. ld/ * ldmain.c (link_callbacks): Initialize error_handler. * ldmisc.c (error_handler): New function. * ldmisc.h (error_handler): New prototype. --- include/ChangeLog | 4 ++++ include/bfdlink.h | 5 +++++ ld/ChangeLog | 8 ++++++++ ld/ldmain.c | 3 ++- ld/ldmisc.c | 11 +++++++++++ ld/ldmisc.h | 1 + 6 files changed, 31 insertions(+), 1 deletion(-) diff --git a/include/ChangeLog b/include/ChangeLog index 37bf713..3d7ec5c 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2003-04-23 H.J. Lu + + * bfdlink.h (bfd_link_callbacks): Add error_handler. + 2003-04-04 Svein E. Seldal * coff/tic4x.h: Namespace cleanup. Replace s/c4x/tic4x diff --git a/include/bfdlink.h b/include/bfdlink.h index c258262..acb7449 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -481,6 +481,11 @@ struct bfd_link_callbacks bfd_boolean (*notice) PARAMS ((struct bfd_link_info *, const char *name, bfd *abfd, asection *section, bfd_vma address)); + /* A function which is called for reporting a linker error. ID is the + error identifier. The remaining input is the same as einfo () in + ld. */ + bfd_boolean (*error_handler) + PARAMS ((int id, const char * fmt, ...)); }; /* The linker builds link_order structures which tell the code how to diff --git a/ld/ChangeLog b/ld/ChangeLog index babbd97..1bbbc66 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +2003-04-23 H.J. Lu + + * ldmain.c (link_callbacks): Initialize error_handler. + + * ldmisc.c (error_handler): New function. + + * ldmisc.h (error_handler): New prototype. + 2003-04-21 Stephane Carrez * emulparams/m68hc11elf.sh: Use m68hc1xelf.em extra. diff --git a/ld/ldmain.c b/ld/ldmain.c index 125dc6a..d8ee1b2 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -155,7 +155,8 @@ static struct bfd_link_callbacks link_callbacks = reloc_overflow, reloc_dangerous, unattached_reloc, - notice + notice, + error_handler }; struct bfd_link_info link_info; diff --git a/ld/ldmisc.c b/ld/ldmisc.c index 4f25dbb..a2e496d 100644 --- a/ld/ldmisc.c +++ b/ld/ldmisc.c @@ -506,3 +506,14 @@ ld_abort (file, line, fn) einfo (_("%P%F: please report this bug\n")); xexit (1); } + +bfd_boolean +error_handler VPARAMS ((int id ATTRIBUTE_UNUSED, const char *fmt, ...)) +{ + VA_OPEN (arg, fmt); + VA_FIXEDARG (arg, const char *, fmt); + + vfinfo (stderr, fmt, arg); + VA_CLOSE (arg); + return TRUE; +} diff --git a/ld/ldmisc.h b/ld/ldmisc.h index aa3f6af..c03ed97 100644 --- a/ld/ldmisc.h +++ b/ld/ldmisc.h @@ -22,6 +22,7 @@ #ifndef LDMISC_H #define LDMISC_H +extern bfd_boolean error_handler PARAMS ((int, const char *, ...)); extern void einfo PARAMS ((const char *, ...)); extern void minfo PARAMS ((const char *, ...)); extern void info_msg PARAMS ((const char *, ...)); -- cgit v1.1