text: LOCAL_PATH := $(call my-dir)
  
  # Test -1: Throw in exec, catch in exec covered elsewhere
  
  # Test 0: Throw in lib, catch in lib
  
  include $(CLEAR_VARS)
  LOCAL_MODULE := test0_foo
  LOCAL_SRC_FILES := test0_foo.cpp
  include $(BUILD_SHARED_LIBRARY)
  
  include $(CLEAR_VARS)
  LOCAL_MODULE := Lib_catching_lib_throwing
  LOCAL_SRC_FILES := test0_main.cpp
  LOCAL_SHARED_LIBRARIES := test0_foo
  include $(BUILD_EXECUTABLE)
  
  # Test 1: Throw in lib, catch in exec
  include $(CLEAR_VARS)
  LOCAL_MODULE := test1_foo
  LOCAL_SRC_FILES := test1_foo.cpp
  include $(BUILD_SHARED_LIBRARY)
  
  include $(CLEAR_VARS)
  LOCAL_MODULE := exec_catching_lib_throwing
  LOCAL_SRC_FILES := test1_main.cpp
  LOCAL_SHARED_LIBRARIES := test1_foo
  include $(BUILD_EXECUTABLE)
  
  # Test 2: Throw in exec, catch in lib
  # Note: Symbol lookup from lib at exec fixed in bionic after android-14
  
  include $(CLEAR_VARS)
  LOCAL_MODULE := test2_foo
  LOCAL_SRC_FILES := test2_foo.cpp
  # This is required to rely on dynamic loader to resolve foo defined in exec
  LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
  include $(BUILD_SHARED_LIBRARY)
  
  include $(CLEAR_VARS)
  LOCAL_MODULE := exec_throwing_lib_catching
  LOCAL_SRC_FILES := test2_main.cpp
  LOCAL_SHARED_LIBRARIES := test2_foo
  include $(BUILD_EXECUTABLE)
  
  #
  # 3 libs cases
  #
  
  # Test 3: Throw in lib2, catch in exec
  
  include $(CLEAR_VARS)
  LOCAL_MODULE := test3_bar
  LOCAL_SRC_FILES := test3_bar.cpp
  include $(BUILD_SHARED_LIBRARY)
  
  include $(CLEAR_VARS)
  LOCAL_MODULE := test3_foo
  LOCAL_SRC_FILES := test3_foo.cpp
  LOCAL_SHARED_LIBRARIES := test3_bar
  include $(BUILD_SHARED_LIBRARY)
  
  include $(CLEAR_VARS)
  LOCAL_MODULE := exec_catching_lib2_throwing
  LOCAL_SRC_FILES := test3_main.cpp
  LOCAL_SHARED_LIBRARIES := test3_foo test3_bar
  include $(BUILD_EXECUTABLE)
  
  # Test 4: Throw in lib2, catch in lib1
  
  include $(CLEAR_VARS)
  LOCAL_MODULE := test4_bar
  LOCAL_SRC_FILES := test4_bar.cpp
  include $(BUILD_SHARED_LIBRARY)
  
  include $(CLEAR_VARS)
  LOCAL_MODULE := test4_foo
  LOCAL_SRC_FILES := test4_foo.cpp
  LOCAL_SHARED_LIBRARIES := test4_bar
  include $(BUILD_SHARED_LIBRARY)
  
  include $(CLEAR_VARS)
  LOCAL_MODULE := Lib1_catching_lib2_throwing
  LOCAL_SRC_FILES := test4_main.cpp
  LOCAL_SHARED_LIBRARIES := test4_foo test4_bar
  include $(BUILD_EXECUTABLE)
  
  