diff --git a/reapi/build.gradle b/reapi/build.gradle index 4833ccd..6d7ead2 100644 --- a/reapi/build.gradle +++ b/reapi/build.gradle @@ -48,7 +48,7 @@ void setupToolchain(NativeBinarySpec b) { pchHeader: 'precompiled.h', pchSourceSet: 'reapi_pch' ) - cfg.compilerOptions.args '/Ob2', '/Oi', '/GF', '/GR-', '/GS-' + cfg.compilerOptions.args '/Ob2', '/Oi', '/GF', '/GS-' cfg.singleDefines('_CRT_SECURE_NO_WARNINGS') } else if (cfg instanceof GccToolchainConfig) { if (!useGcc) { @@ -74,7 +74,7 @@ void setupToolchain(NativeBinarySpec b) { cfg.linkerOptions.args '-Wl,--version-script=../version_script.lds', '-Wl,--gc-sections' cfg.compilerOptions.args '-ffunction-sections', '-fdata-sections' // Remove unused code and data - cfg.compilerOptions.args '-Wall', '-Wno-unknown-pragmas', '-msse2', '-fomit-frame-pointer', '-fvisibility=default', '-fvisibility-inlines-hidden', '-fno-rtti', '-g0', '-s', '-fno-exceptions' + cfg.compilerOptions.args '-Wall', '-Wno-unknown-pragmas', '-msse2', '-fomit-frame-pointer', '-fvisibility=default', '-fvisibility-inlines-hidden', '-g0', '-s', '-fno-exceptions' } ToolchainConfigUtils.apply(project, cfg, b) diff --git a/shared_gcc.gradle b/shared_gcc.gradle index 1d1e5c7..0e96ca2 100644 --- a/shared_gcc.gradle +++ b/shared_gcc.gradle @@ -20,7 +20,7 @@ rootProject.ext.createGccConfig = { boolean release, BinaryKind binKind -> ), linkerOptions: new GccToolchainConfig.LinkerOptions( - stripSymbolTable: false, + stripSymbolTable: true, staticLibGcc: false, staticLibStdCpp: true, ), diff --git a/version_script.lds b/version_script.lds index a120260..b476d56 100644 --- a/version_script.lds +++ b/version_script.lds @@ -1,8 +1,24 @@ REAPI_ABI_1.0 { - global: - Meta_*; - GiveFnptrsToDll; - AMXX_*; - local: + global: *; + local: + _Zn*; + _Zd*; + + extern "C++" { + regfunc::*; + *lambda*; + _callVoidForward*; + _callForward*; + *std::*; + *__cxxabi*::*; + *__gnu_cxx::*; + __cxa_*; + _txnal_*; + __dynamic_cast; + __gxx_personality_*; + __gcclibcxx_demangle_callback; + *_libm_*; + *_intel_*; + }; };