From d9eea5e79025ac5dbd203263fa3ca3da1baf1776 Mon Sep 17 00:00:00 2001 From: Andrew Hsieh Date: Wed, 14 Jan 2015 13:53:32 -0800 Subject: Build libc++ static w/o hidden visibility This is to fix issue with error message reads: .../ld: warning: hidden symbol 'snprintf' in prebuilts/ndk/current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a(snprintf.o) is referenced by DSO out/target/product/hammerhead/obj/lib/libcutils.so There is only one copy of libc++ libraries for all API levels with various degree of libc/libm support, the reason why libc++ libraries links with android_support.a which contains missing libc/libm functions (including snprintf) needed by libc++ in API 3. Since https://android-review.googlesource.com/#/c/103261 all support functions in libc++ are built with hidden visibility, otherwise other libraries may use snprintf from libc++ instead of libc.so. Unfortunately unlike shared library it's not possible to hide hidden symbol from linker, and causes warning message you just read. This CL compile libc++ with --visible-static to restore previous behavior. Also see https://android-review.googlesource.com/#/c/123340 Affected functions are std::__1::__snprintf_l(char*, unsigned int, locale_struct*, char const*, ...) vsnprintf_l snprintf_l vsnprintf snprintf Change-Id: I8b4409ca7c59eed4018acd3a9e38970074d206cb --- .../llvm-libc++/libs/arm64-v8a/libc++_shared.so | Bin 7026263 -> 1282687 bytes .../llvm-libc++/libs/arm64-v8a/libc++_static.a | Bin 15559246 -> 2418778 bytes .../llvm-libc++/libs/armeabi-v7a/libc++_shared.so | Bin 4669848 -> 1370484 bytes .../llvm-libc++/libs/armeabi-v7a/libc++_static.a | Bin 8491340 -> 3038506 bytes .../libs/armeabi-v7a/thumb/libc++_shared.so | Bin 4510244 -> 1210688 bytes .../libs/armeabi-v7a/thumb/libc++_static.a | Bin 8328352 -> 2872194 bytes .../llvm-libc++/libs/armeabi/libc++_shared.so | Bin 4732784 -> 1427776 bytes .../llvm-libc++/libs/armeabi/libc++_static.a | Bin 8547944 -> 3063502 bytes .../libs/armeabi/thumb/libc++_shared.so | Bin 4780316 -> 1294044 bytes .../llvm-libc++/libs/armeabi/thumb/libc++_static.a | Bin 8774556 -> 2921254 bytes .../cxx-stl/llvm-libc++/libs/mips/libc++_shared.so | Bin 4874519 -> 1686556 bytes .../cxx-stl/llvm-libc++/libs/mips/libc++_static.a | Bin 7795372 -> 2580772 bytes .../llvm-libc++/libs/mips32r6/libc++_static.a | Bin 2975072 -> 2974960 bytes .../llvm-libc++/libs/mips64/libc++_shared.so | Bin 12398399 -> 2729704 bytes .../llvm-libc++/libs/mips64/libc++_static.a | Bin 20283840 -> 4457384 bytes .../cxx-stl/llvm-libc++/libs/x86/libc++_shared.so | Bin 4726220 -> 1434836 bytes .../cxx-stl/llvm-libc++/libs/x86/libc++_static.a | Bin 7742814 -> 2278624 bytes .../llvm-libc++/libs/x86_64/libc++_shared.so | Bin 4940080 -> 1272144 bytes .../llvm-libc++/libs/x86_64/libc++_static.a | Bin 10915952 -> 2350782 bytes 19 files changed, 0 insertions(+), 0 deletions(-) diff --git a/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so index 3c2afc9..562430e 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a index 1f11749..1269875 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so index 7cb3d20..6541340 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a index d1e0e36..8b134d8 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_shared.so index 5f050b4..24ac6d6 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_static.a index a54bd32..3d899db 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_shared.so index c21f2e1..1dc702a 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_static.a index b05c88e..baae469 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_shared.so index 1157a7a..2fa5756 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_static.a index 8c7f837..4adc8c8 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_shared.so index 353342b..533554c 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_static.a index 4d9f54e..9afd191 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/mips32r6/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/mips32r6/libc++_static.a index 68b0cd3..f966f63 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/mips32r6/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/mips32r6/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_shared.so index 229dab2..3844c40 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_static.a index 2e9e8fc..72c1efc 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so index 8051b2b..232d49d 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a index 531321c..0bcd4e0 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so index 5e1454c..4fe5aff 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a index 4799e66..f7dd955 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a differ -- cgit v1.1