Wed Sep 14 12:48:09 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+ * ldmisc.c (vfinfo): Handle %D as %C, but never print the function
+ name. For %C, print the function name on a separate line, to keep
+ the length of error messages under control.
+ * ldmain.c (multiple_definition): Use %D for ``first defined
+ here.''
+ (undefined_symbol): Use %D for ``more undefined references
+ follow''.
+
* ldmisc.c (multiple_warn): Remove; no longer used.
* ldmisc.h (multiple_warn): Don't declare.
config.dynamic_link = false;
command_line.force_common_definition = false;
command_line.interpreter = NULL;
+ command_line.rpath = NULL;
link_info.callbacks = &link_callbacks;
link_info.relocateable = false;
einfo ("%X%C: multiple definition of `%T'\n",
nbfd, nsec, nval, name);
if (obfd != (bfd *) NULL)
- einfo ("%C: first defined here\n", obfd, osec, oval);
+ einfo ("%D: first defined here\n", obfd, osec, oval);
return true;
}
einfo ("%X%C: undefined reference to `%T'\n",
abfd, section, address, name);
else if (error_count == MAX_ERRORS_IN_A_ROW)
- einfo ("%C: more undefined references to `%T' follow\n",
+ einfo ("%D: more undefined references to `%T' follow\n",
abfd, section, address, name);
return true;
bfd_vma value;
{
einfo ("%B: %s %s\n", abfd,
- section != &bfd_und_section ? "definition of" : "reference to",
+ bfd_is_und_section (section) ? "reference to" : "definition of",
name);
return true;
}
%X no object output, fail return
%V hex bfd_vma
%v hex bfd_vma, no leading zeros
- %C Clever filename:linenumber
+ %C clever filename:linenumber with function
+ %D like %C, but no function name
%R info about a relent
%s arbitrary string, like printf
%d integer, like printf
break;
case 'C':
+ case 'D':
/* Clever filename:linenumber with function name if possible,
or section name as a last resort. The arguments are a BFD,
a section, and an offset. */
if (filename == (char *) NULL)
filename = abfd->filename;
- if (functionname != (char *)NULL)
- fprintf (fp, "%s:%u: %s", filename, linenumber,
- demangle (functionname, 1));
+ if (functionname != NULL && fmt[-1] == 'C')
+ {
+ fprintf (fp, "%s: In function `%s':\n", filename,
+ demangle (functionname, 1));
+ fprintf (fp, "%s:%u", filename, linenumber);
+ }
else if (linenumber != 0)
fprintf (fp, "%s:%u", filename, linenumber);
else