This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Empty SONAME bis
- From: Ulrich Drepper <drepper at gmail dot com>
- To: binutils at sourceware dot org
- Date: Thu, 26 Jun 2014 13:50:31 -0400
- Subject: Empty SONAME bis
- Authentication-results: sourceware.org; auth=none
How about this patch which also warns about an empty SONAME following a
real SONAME which is what Nick said he agreed with. As I replied when
Alan commented on the late detection of the problem, I think that we
should not spit out warnings unless they are necessary and that means
delaying the warning until the end. I've seen horrible scripts which
create these kind of problems.
2014-06-26 Ulrich Drepper <drepper@gmail.com>
* lexsup.c (parse_args): Check whether provided SONAME is empty
string. If yes, warn and ignore it. Don't overwrite valid SONAME
with empty string.
diff --git a/ld/lexsup.c b/ld/lexsup.c
index a8c57d2..52b4fdb 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -1107,7 +1107,11 @@ parse_args (unsigned argc, char **argv)
break;
case 'h': /* Used on Solaris. */
case OPTION_SONAME:
- command_line.soname = optarg;
+ if (optarg[0] == '\0' && command_line.soname
+ && command_line.soname[0])
+ einfo (_("%P: SONAME must not be empty string; keeping previous one\n"));
+ else
+ command_line.soname = optarg;
break;
case OPTION_SORT_COMMON:
if (optarg == NULL
@@ -1443,6 +1447,12 @@ parse_args (unsigned argc, char **argv)
}
}
+ if (command_line.soname && command_line.soname[0] == '\0')
+ {
+ einfo (_("%P: SONAME must not be empty string; ignored\n"));
+ command_line.soname = NULL;
+ }
+
while (ingroup)
{
lang_leave_group ();