Don't pass -lrt or -lgcc_s to darwin rust compiles

Fix mac builds by removing the -lrt and -lgcc_s flags from darwin
rust compiles.

Bug: 293349612
Test: builds
Change-Id: I99a9fea963761730efc4d3236135ee6d83dbca57
This commit is contained in:
Colin Cross 2023-10-03 19:12:50 -07:00
parent 4cbd49810c
commit e18bd2097b

View file

@ -327,9 +327,9 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags) Flag
flags.LinkFlags = append(flags.LinkFlags, cc.RpathFlags(ctx)...)
}
if !ctx.toolchain().Bionic() && ctx.Os() != android.LinuxMusl && !ctx.Windows() {
// Add -lc, -lrt, -ldl, -lpthread, -lm, -lrt and -lgcc_s to host builds to match the default behavior of device
// builds. This is irrelevant for the Windows target as these are Posix specific.
if ctx.Os() == android.Linux {
// Add -lc, -lrt, -ldl, -lpthread, -lm and -lgcc_s to glibc builds to match
// the default behavior of device builds.
flags.LinkFlags = append(flags.LinkFlags,
"-lc",
"-lrt",
@ -338,6 +338,15 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags) Flag
"-lm",
"-lgcc_s",
)
} else if ctx.Os() == android.Darwin {
// Add -lc, -ldl, -lpthread and -lm to glibc darwin builds to match the default
// behavior of device builds.
flags.LinkFlags = append(flags.LinkFlags,
"-lc",
"-ldl",
"-lpthread",
"-lm",
)
}
return flags
}