aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLai Wei-Chih <Robert.Lai@mediatek.com>2013-05-28 12:10:57 +0800
committerLai Wei-Chih <Robert.Lai@mediatek.com>2013-05-28 13:40:46 +0800
commit7506b7ae82bf68acae0263ed829de34e778391aa (patch)
treec59cedce1b991c7430cbe0d2492d680c6a4129c3
parent64348518222435c6bc2d4c779b70f4c92e86263c (diff)
downloadllvm-7506b7ae82bf68acae0263ed829de34e778391aa.tar.gz
Replace libgcc with compiler-rt in bc2native script.
Need to complete the missing functions in compiler-rt. Change-Id: Id5e1c6305bb8eefabb0d78e92f20b2aba1a7f15d
-rw-r--r--tools/le32-none-ndk-link/le32-none-ndk-link.cpp4
-rwxr-xr-xtools/ndk-bc2native/ndk-bc2native.py21
2 files changed, 5 insertions, 20 deletions
diff --git a/tools/le32-none-ndk-link/le32-none-ndk-link.cpp b/tools/le32-none-ndk-link/le32-none-ndk-link.cpp
index b98427e9dfb..ad9aadfb688 100644
--- a/tools/le32-none-ndk-link/le32-none-ndk-link.cpp
+++ b/tools/le32-none-ndk-link/le32-none-ndk-link.cpp
@@ -454,9 +454,7 @@ static void BuildLinkItems(
Items.push_back(AndroidBitcodeItem(p.str(), isWhole));
}
else {
- if (Verbose) {
- errs() << "Warning: cannot find -l" << *lib_iter << ", dropped\n";
- }
+ PrintAndExit("cannot find -l " + *lib_iter);
}
}
}
diff --git a/tools/ndk-bc2native/ndk-bc2native.py b/tools/ndk-bc2native/ndk-bc2native.py
index 779c57e5d66..3446a5244b1 100755
--- a/tools/ndk-bc2native/ndk-bc2native.py
+++ b/tools/ndk-bc2native/ndk-bc2native.py
@@ -141,20 +141,6 @@ def get_as_name_for_arch(arch):
return 'mipsel-linux-android-as'
return ''
-def libgcc_dir_for_abi(abi):
- global NDK, HOST_TAG
- arch = get_arch_for_abi(abi)
- gcc_toolchain = gcc_toolchain_for_arch(arch)
- if abi == 'armeabi':
- return gcc_toolchain+'/lib/gcc/arm-linux-androideabi/4.6/thumb'
- elif abi == 'armeabi-v7a':
- return gcc_toolchain+'/lib/gcc/arm-linux-androideabi/4.6/armv7-a/thumb'
- elif abi == 'x86':
- return gcc_toolchain+'/lib/gcc/i686-linux-android/4.6'
- elif abi == 'mips':
- return gcc_toolchain+'/lib/gcc/mipsel-linux-android/4.6/'
- return ''
-
def handle_args():
global BITCODE, OUTPUT, INFO
global PLATFORM, LLVM_VERSION, ABI, NDK, LD
@@ -479,7 +465,6 @@ def do_ld(relocatable, output, shared=True):
global INFO
arch = get_arch_for_abi(ABI)
- libgcc_dir = libgcc_dir_for_abi(ABI)
sysroot = sysroot_for_arch(arch)
f = open(INFO,'r')
@@ -494,7 +479,6 @@ def do_ld(relocatable, output, shared=True):
args += ['-dynamic-linker']
args += ['/system/bin/linker']
args += ['-X']
- args += ['-L'+libgcc_dir]
if SHARED:
args += [sysroot+'/usr/lib/crtbegin_so.o']
@@ -504,7 +488,10 @@ def do_ld(relocatable, output, shared=True):
args += ldflags.split()
args += ['@' + NDK + '/sources/android/libportable/libs/'+ABI+'/libportable.wrap']
args += [NDK+'/sources/android/libportable/libs/'+ABI+'/libportable.a']
- args += ['-lgcc']
+ # compiler runtime
+ args += [NDK+'/sources/android/compiler-rt/libs/'+ABI+'/libcompiler_rt_static.a']
+ # unwind library
+ args += [NDK+'/sources/cxx-stl/gabi++/libs/'+ABI+'/libgabi++_shared.so']
args += ['-ldl']
if SHARED: