build: replicate macOS -dead_strip optimization on Linux

Added `-fdata-sections` and `-ffunction-sections` compiler flags to work
with `--gc-sections` on Linux. This combination achieves similar dead
code elimination as macOS's `-dead_strip`, reducing binary size and
resolving undefined symbol issues. Ensures consistent optimization
across macOS and Linux builds.
This commit is contained in:
Aofei Sheng
2024-07-30 08:43:51 +08:00
parent eb38d03976
commit 68fa3dadb0

View File

@@ -361,6 +361,8 @@ func linkMainPkg(ctx *context, pkg *packages.Package, pkgs []*aPackage, llFiles
args, args,
"-rpath", "$ORIGIN", "-rpath", "$ORIGIN",
"-rpath", "$ORIGIN/../lib", "-rpath", "$ORIGIN/../lib",
"-fdata-sections",
"-ffunction-sections",
"-Xlinker", "--gc-sections", "-Xlinker", "--gc-sections",
"-lm", "-lm",
"-latomic", "-latomic",