diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-05-24 13:58:02 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-24 13:58:02 -0400 |
| commit | 8c5d4295e5f6459ba99d219c1922a30ec6da24bf (patch) | |
| tree | 7ce5d2a943c9cec38f508c0f34dfcb2e5e7d8e37 /src/libcxx.zig | |
| parent | 8275c771c8f525b7f2917d1f4ade9b5e684d0a12 (diff) | |
| parent | a6e65f3a0ea4f8315be50f91338e4526b006f9d8 (diff) | |
| download | zig-8c5d4295e5f6459ba99d219c1922a30ec6da24bf.tar.gz zig-8c5d4295e5f6459ba99d219c1922a30ec6da24bf.zip | |
Merge pull request #8876 from xxxbxxx/cxx-lto
build libc++ with lto and function-sections
Diffstat (limited to 'src/libcxx.zig')
| -rw-r--r-- | src/libcxx.zig | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libcxx.zig b/src/libcxx.zig index e235403d40..4816637e2d 100644 --- a/src/libcxx.zig +++ b/src/libcxx.zig @@ -129,6 +129,8 @@ pub fn buildLibCXX(comp: *Compilation) !void { try cflags.append("-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS"); try cflags.append("-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS"); try cflags.append("-D_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS"); + try cflags.append("-fvisibility=hidden"); + try cflags.append("-fvisibility-inlines-hidden"); if (target.abi.isMusl()) { try cflags.append("-D_LIBCPP_HAS_MUSL_LIBC"); @@ -144,7 +146,6 @@ pub fn buildLibCXX(comp: *Compilation) !void { try cflags.append("-fPIC"); } try cflags.append("-nostdinc++"); - try cflags.append("-fvisibility-inlines-hidden"); try cflags.append("-std=c++14"); try cflags.append("-Wno-user-defined-literals"); @@ -174,6 +175,8 @@ pub fn buildLibCXX(comp: *Compilation) !void { .want_tsan = comp.bin_file.options.tsan, .want_pic = comp.bin_file.options.pic, .want_pie = comp.bin_file.options.pie, + .want_lto = comp.bin_file.options.lto, + .function_sections = comp.bin_file.options.function_sections, .emit_h = null, .strip = comp.compilerRtStrip(), .is_native_os = comp.bin_file.options.is_native_os, @@ -247,6 +250,8 @@ pub fn buildLibCXXABI(comp: *Compilation) !void { try cflags.append("-D_LIBCXXABI_BUILDING_LIBRARY"); try cflags.append("-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS"); try cflags.append("-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS"); + try cflags.append("-fvisibility=hidden"); + try cflags.append("-fvisibility-inlines-hidden"); if (target.abi.isMusl()) { try cflags.append("-D_LIBCPP_HAS_MUSL_LIBC"); @@ -292,6 +297,8 @@ pub fn buildLibCXXABI(comp: *Compilation) !void { .want_tsan = comp.bin_file.options.tsan, .want_pic = comp.bin_file.options.pic, .want_pie = comp.bin_file.options.pie, + .want_lto = comp.bin_file.options.lto, + .function_sections = comp.bin_file.options.function_sections, .emit_h = null, .strip = comp.compilerRtStrip(), .is_native_os = comp.bin_file.options.is_native_os, |
