Merge "Put shared library ldflags first"

This commit is contained in:
Treehugger Robot
2016-07-14 04:26:29 +00:00
committed by Gerrit Code Review

View File

@@ -1613,26 +1613,28 @@ func (library *libraryLinker) flags(ctx ModuleContext, flags Flags) Flags {
if flags.Clang || ctx.Host() { if flags.Clang || ctx.Host() {
sharedFlag = "-shared" sharedFlag = "-shared"
} }
var f []string
if ctx.Device() { if ctx.Device() {
flags.LdFlags = append(flags.LdFlags, f = append(f,
"-nostdlib", "-nostdlib",
"-Wl,--gc-sections", "-Wl,--gc-sections",
) )
} }
if ctx.Darwin() { if ctx.Darwin() {
flags.LdFlags = append(flags.LdFlags, f = append(f,
"-dynamiclib", "-dynamiclib",
"-single_module", "-single_module",
//"-read_only_relocs suppress", //"-read_only_relocs suppress",
"-install_name @rpath/"+libName+flags.Toolchain.ShlibSuffix(), "-install_name @rpath/"+libName+flags.Toolchain.ShlibSuffix(),
) )
} else { } else {
flags.LdFlags = append(flags.LdFlags, f = append(f,
sharedFlag, sharedFlag,
"-Wl,-soname,"+libName+flags.Toolchain.ShlibSuffix(), "-Wl,-soname,"+libName+flags.Toolchain.ShlibSuffix())
)
} }
flags.LdFlags = append(f, flags.LdFlags...)
} }
return flags return flags