summaryrefslogtreecommitdiff
path: root/cross
diff options
context:
space:
mode:
authorFrederik Carlier <frederik.carlier@quamotion.mobi>2017-03-03 22:16:55 +0100
committerJan Vorlicek <janvorli@microsoft.com>2017-03-03 22:16:55 +0100
commit39196d8665e44907ad2a01400940c75f5fde9a25 (patch)
treed0e2cec44f4e5c3425f55f4dcdbdcab0a5195a12 /cross
parentd9fae83dc253c23b648f3758b68112c5ff49032a (diff)
downloadcoreclr-39196d8665e44907ad2a01400940c75f5fde9a25.tar.gz
coreclr-39196d8665e44907ad2a01400940c75f5fde9a25.tar.bz2
coreclr-39196d8665e44907ad2a01400940c75f5fde9a25.zip
Support local stack unwinding on Android (#9940)
Diffstat (limited to 'cross')
-rwxr-xr-xcross/build-android-rootfs.sh13
1 files changed, 9 insertions, 4 deletions
diff --git a/cross/build-android-rootfs.sh b/cross/build-android-rootfs.sh
index 7627294a26..2e9cb0b363 100755
--- a/cross/build-android-rootfs.sh
+++ b/cross/build-android-rootfs.sh
@@ -122,18 +122,23 @@ cp -R $__Android_Cross_Dir/tmp/$__AndroidArch/data/data/com.termux/files/usr/* $
# Prepare libunwind
if [ ! -d $__libunwind_Dir ]; then
- git clone https://android.googlesource.com/platform/external/libunwind/ $__libunwind_Dir
+# Currently, we clone a fork of libunwind which adds support for Android; once this fork has been
+# merged back in, this script can be updated to use the official libunwind repository.
+# There's also an Android fork of libunwind which is currently not used.
+# git clone https://android.googlesource.com/platform/external/libunwind/ $__libunwind_Dir
+# git clone https://github.com/libunwind/libunwind/ $__libunwind_Dir
+ git clone https://github.com/qmfrederik/libunwind/ $__libunwind_Dir
fi
cd $__libunwind_Dir
-git checkout android-6.0.0_r26
+git checkout features/android
git checkout -- .
git clean -xfd
# libunwind is available on Android, but not included in the NDK.
echo Building libunwind
autoreconf --force -v --install 2> /dev/null
-./configure CC=$__ToolchainDir/bin/$__AndroidArch-linux-android-clang --with-sysroot=$__ToolchainDir/sysroot --host=x86_64 --target=$__AndroidArch-eabi --disable-coredump --prefix=$__ToolchainDir/sysroot/usr 2> /dev/null
+./configure CC=$__ToolchainDir/bin/$__AndroidArch-linux-android-clang --with-sysroot=$__ToolchainDir/sysroot --host=$__AndroidArch-eabi --target=$__AndroidArch-eabi --disable-tests --disable-coredump --prefix=$__ToolchainDir/sysroot/usr 2> /dev/null
make > /dev/null
make install > /dev/null
@@ -141,5 +146,5 @@ make install > /dev/null
cp include/libunwind.h $__ToolchainDir/sysroot/usr/include/
echo Now run:
-echo CONFIG_DIR=\`realpath cross/android/arm64\` ROOTFS_DIR=\`realpath $__ToolchainDir/sysroot\` ./build.sh cross arm64 skipgenerateversion skipmscorlib cmakeargs -DENABLE_LLDBPLUGIN=0
+echo CONFIG_DIR=\`realpath cross/android/arm64\` ROOTFS_DIR=\`realpath $__ToolchainDir/sysroot\` ./build.sh cross arm64 skipgenerateversion skipnuget cmakeargs -DENABLE_LLDBPLUGIN=0