Clang在-O3上公开变量名(但不在-O2上)

时间:2017-02-01 04:49:46

标签: android-ndk clang

我正在使用Android NDK,修订版13b。铿锵声版本为3.8.256229。

当我使用带有-O3-Ofast编译器标志的clang工具链来构建共享库时,全局变量名称变为外部可见。这不会发生在-O2或更低版本或使用GCC 4.9工具链时。

使用clang时,如何确保符号被正确剥离?

编译器标志(armeabi-v7a target):

-O3 -Wall -D__ANDROID__ -fvisibility=hidden -Wl,-s -Wno-sometimes-uninitialized -Wno-maybe-uninitialized -Wno-unknown-warning-option -Wno-unknown-attributes -fdata-sections -ffunction-sections -fno-exceptions -fno-unwind-tables -Wl,--gc-sections -std=gnu++11 -fno-rtti -march=armv7-a -mthumb -mfloat-abi=softfp -mfpu=vfpv3-d16

链接器标志:

-O5 -Wl,--gc-sections -Wl,-s -march=armv7-a -Wl,--fix-cortex-a8

0 个答案:

没有答案