30 lines
No EOL
1.1 KiB
Makefile
30 lines
No EOL
1.1 KiB
Makefile
# This test is to demostrate the issue:
|
|
#
|
|
# hidden symbol '__cxa_begin_cleanup' in ./obj/local/armeabi/libgnustl_static.a(eh_arm.o)
|
|
# is referenced by DSO ./obj/local/armeabi/libidiv.so
|
|
# hidden symbol '__cxa_type_match' in ./obj/local/armeabi/libgnustl_static.a(eh_arm.o)
|
|
# is referenced by DSO ./obj/local/armeabi/libidiv.so
|
|
#
|
|
# File idiv.cpp contains code potentially causes divide-by-zero exception. libidiv.so
|
|
# is built with libgnustl_static.a which provides __cxa_begin_cleanup and
|
|
# __cxa_type_match needed by unwinder in libgcc.a. Unfortunately both are built
|
|
# with hidden visibility, and causes warnings as the above when libidiv.so is used
|
|
# to link other binaries.
|
|
#
|
|
# The fix is to unhide both __cxa_begin_cleanup and __cxa_type_match
|
|
#
|
|
|
|
LOCAL_PATH := $(call my-dir)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := libidiv
|
|
LOCAL_SRC_FILES:= idiv.cpp
|
|
LOCAL_CFLAGS := -Wall -Werror -Wno-unused-parameter
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := libthrow
|
|
LOCAL_SRC_FILES:= throw.cpp
|
|
LOCAL_CFLAGS := -Wall -Werror -frtti -fexceptions
|
|
LOCAL_SHARED_LIBRARIES = libidiv
|
|
include $(BUILD_SHARED_LIBRARY) |