Page MenuHomeFreeBSD

D1152.id2380.diff
No OneTemporary

D1152.id2380.diff

Index: contrib/binutils/bfd/elflink.c
===================================================================
--- contrib/binutils/bfd/elflink.c
+++ contrib/binutils/bfd/elflink.c
@@ -4356,9 +4356,37 @@
--no-add-needed is used. */
if ((elf_dyn_lib_class (abfd) & DYN_NO_NEEDED) != 0)
{
+ bfd_boolean looks_soish;
+ char libname[200];
+ const char *print_name;
+ size_t len, lend = 0;
+
+ looks_soish = FALSE;
+ print_name = soname;
+ if (strncmp(soname, "lib", 3) == 0)
+ {
+ len = strlen(soname);
+ if (len > 5 && strcmp(soname + len - 2, ".a") == 0)
+ lend = len - 5;
+ else
+ {
+ while (len > 6 && (ISDIGIT(soname[len - 1]) ||
+ soname[len - 1] == '.'))
+ len--;
+ if (strncmp(soname + len - 3, ".so", 3) == 0)
+ lend = len - 6;
+ }
+ if (lend != 0)
+ {
+ strlcpy(libname, soname + 3, lend + 1);
+ print_name = libname;
+ looks_soish = TRUE;
+ }
+ }
+
(*_bfd_error_handler)
- (_("%B: invalid DSO for symbol `%s' definition"),
- abfd, name);
+ (_("undefined reference to symbol `%s' (try adding -l%s%s)"),
+ name, looks_soish? "" : ":", print_name);
bfd_set_error (bfd_error_bad_value);
goto error_free_vers;
}
Index: contrib/binutils/bfd/po/bfd.pot
===================================================================
--- contrib/binutils/bfd/po/bfd.pot
+++ contrib/binutils/bfd/po/bfd.pot
@@ -2438,9 +2438,9 @@
msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
msgstr ""
-#: elflink.c:4309
+#: elflink.c:4388
#, c-format
-msgid "%B: invalid DSO for symbol `%s' definition"
+msgid "undefined reference to symbol `%s' (try adding -l%s%s)"
msgstr ""
#: elflink.c:5535

File Metadata

Mime Type
text/plain
Expires
Sun, Jan 18, 5:50 AM (1 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27703779
Default Alt Text
D1152.id2380.diff (1 KB)

Event Timeline