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 (); -- 1.7.1