[ELF] Fix --soname option.
Currently LLD accepts only "-soname <string>", but all the following options are actually valid. --soname=foo --soname foo -soname=foo -soname foo -h foo This patch fixes that issue. llvm-svn: 205662
This commit is contained in:
parent
8a5a094ec5
commit
ac0f7ca3a8
|
|
@ -145,9 +145,11 @@ def rpath_link : Separate<["-"], "rpath-link">,
|
|||
//===----------------------------------------------------------------------===//
|
||||
def grp_dynlib : OptionGroup<"opts">,
|
||||
HelpText<"DYNAMIC LIBRARY OPTIONS">;
|
||||
def soname : Separate<["-"], "soname">,
|
||||
def soname : Joined<["-", "--"], "soname=">,
|
||||
HelpText<"Set the internal DT_SONAME field to the specified name">,
|
||||
Group<grp_dynlib>;
|
||||
def soname_separate : Separate<["-", "--"], "soname">, Alias<soname>;
|
||||
def soname_h : Separate<["-"], "h">, Alias<soname>;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
/// Resolver Options
|
||||
|
|
|
|||
|
|
@ -40,6 +40,26 @@ TEST_F(GnuLdParserTest, Empty) {
|
|||
EXPECT_EQ("No input files\n", errorMessage());
|
||||
}
|
||||
|
||||
// --soname
|
||||
|
||||
TEST_F(GnuLdParserTest, SOName) {
|
||||
EXPECT_TRUE(parse("ld", "--start-group", "--end-group", "--soname=foo",
|
||||
nullptr));
|
||||
EXPECT_EQ("foo", _context->sharedObjectName());
|
||||
}
|
||||
|
||||
TEST_F(GnuLdParserTest, SONameSingleDash) {
|
||||
EXPECT_TRUE(parse("ld", "--start-group", "--end-group", "-soname=foo",
|
||||
nullptr));
|
||||
EXPECT_EQ("foo", _context->sharedObjectName());
|
||||
}
|
||||
|
||||
TEST_F(GnuLdParserTest, SONameH) {
|
||||
EXPECT_TRUE(parse("ld", "--start-group", "--end-group", "-h", "foo",
|
||||
nullptr));
|
||||
EXPECT_EQ("foo", _context->sharedObjectName());
|
||||
}
|
||||
|
||||
// Tests for --defsym
|
||||
|
||||
TEST_F(GnuLdParserTest, DefsymDecimal) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue