include/
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 24 Apr 2003 01:43:33 +0000 (01:43 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 24 Apr 2003 01:43:33 +0000 (01:43 +0000)
* 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
include/bfdlink.h
ld/ChangeLog
ld/ldmain.c
ld/ldmisc.c
ld/ldmisc.h

index 37bf713..3d7ec5c 100644 (file)
@@ -1,3 +1,7 @@
+2003-04-23  H.J. Lu <hjl@gnu.org>
+
+       * bfdlink.h (bfd_link_callbacks): Add error_handler.
+
 2003-04-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
 
        * coff/tic4x.h: Namespace cleanup. Replace s/c4x/tic4x
index c258262..acb7449 100644 (file)
@@ -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, ...));
 };
 \f
 /* The linker builds link_order structures which tell the code how to
index babbd97..1bbbc66 100644 (file)
@@ -1,3 +1,11 @@
+2003-04-23  H.J. Lu <hjl@gnu.org>
+
+       * ldmain.c (link_callbacks): Initialize error_handler.
+
+       * ldmisc.c (error_handler): New function.
+
+       * ldmisc.h (error_handler): New prototype.
+
 2003-04-21  Stephane Carrez  <stcarrez@nerim.fr>
 
        * emulparams/m68hc11elf.sh: Use m68hc1xelf.em extra.
index 125dc6a..d8ee1b2 100644 (file)
@@ -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;
index 4f25dbb..a2e496d 100644 (file)
@@ -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;
+}
index aa3f6af..c03ed97 100644 (file)
@@ -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 *, ...));