[tor-commits] [tor-browser-build/master] Bug 31388: Update Rust Project for Android

gk at torproject.org gk at torproject.org
Fri Aug 30 06:30:01 UTC 2019


commit 9e3cc2f51b69fdcf6ff1366bec5eac8525ad14d4
Author: sisbell <shane.isbell at gmail.com>
Date:   Sat Aug 10 21:18:15 2019 -0700

    Bug 31388: Update Rust Project for Android
---
 ...e-dl_iterate_phdr-is-undefined-on-Android.patch | 34 -----------------
 projects/rust/build                                |  8 ----
 projects/rust/config                               |  6 +--
 projects/rust/replace_pagesize_in_mmap.patch       | 44 ----------------------
 4 files changed, 1 insertion(+), 91 deletions(-)

diff --git a/projects/rust/0001-Make-sure-dl_iterate_phdr-is-undefined-on-Android.patch b/projects/rust/0001-Make-sure-dl_iterate_phdr-is-undefined-on-Android.patch
deleted file mode 100644
index 75cd657..0000000
--- a/projects/rust/0001-Make-sure-dl_iterate_phdr-is-undefined-on-Android.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 4fa67c8a014ac10558be71edec9048851ca7a02d Mon Sep 17 00:00:00 2001
-From: Georg Koppen <gk at torproject.org>
-Date: Thu, 15 Nov 2018 19:04:46 +0000
-Subject: [PATCH] Make sure `dl_iterate_phdr` is undefined on Android
-
-If we build with API < 21 we'll run into undefined reference errors.
-We follow the Rust people who ran into similar issues when
-upgrading libbacktrace for 1.28.0 in making sure `dl_iterate_phdr` is
-not defined for Android.
-
-diff --git a/src/libbacktrace/configure b/src/libbacktrace/configure
-index 8bdb29d256..8941fcd2b0 100755
---- a/src/libbacktrace/configure
-+++ b/src/libbacktrace/configure
-@@ -12397,7 +12397,15 @@ rm -f conftest*
- 	have_dl_iterate_phdr=no ;;
-     esac
-   else
--    ac_fn_c_check_func "$LINENO" "dl_iterate_phdr" "ac_cv_func_dl_iterate_phdr"
-+    case "${host}" in
-+    *-*-androideabi*)
-+        # Avoid dl_iterate_phdr on older Android API (which we use),
-+        # as defining it causes undefined reference errors when
-+        # compiling Firefox later on.
-+        have_dl_iterate_phdr=no ;;
-+    *) ac_fn_c_check_func "$LINENO" "dl_iterate_phdr" "ac_cv_func_dl_iterate_phdr" ;;
-+    esac
-+
- if test "x$ac_cv_func_dl_iterate_phdr" = x""yes; then :
-   have_dl_iterate_phdr=yes
- else
--- 
-2.19.1
-
diff --git a/projects/rust/build b/projects/rust/build
index 5cf8c02..ce039ea 100644
--- a/projects/rust/build
+++ b/projects/rust/build
@@ -62,14 +62,6 @@ cd /var/tmp/build/rustc-[% c('version') %]-src
   patch -p1 < $rootdir/unwind.patch
 [% END %]
 
-[% IF c("var/android") %]
-  patch -p1 < $rootdir/replace_pagesize_in_mmap.patch
-  # The additional Rust patch is not necessary for x86.
-  [% IF c("var/android-armv7") %]
-    patch -p1 < $rootdir/0001-Make-sure-dl_iterate_phdr-is-undefined-on-Android.patch
-  [% END %]
-[% END %]
-
 mkdir build
 cd build
 ../configure --prefix=$distdir [% c("var/configure_opt") %]
diff --git a/projects/rust/config b/projects/rust/config
index 011920b..106c709 100644
--- a/projects/rust/config
+++ b/projects/rust/config
@@ -18,7 +18,7 @@ targets:
         - zlib1g-dev
   android-armv7:
     var:
-      configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=armv7-linux-androideabi --set=target.armv7-linux-androideabi.cc=$ANDROID_NDK_HOME/arm/bin/arm-linux-androideabi-gcc
+      configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=thumbv7neon-linux-androideabi --set=target.thumbv7neon-linux-androideabi.cc=$ANDROID_NDK_HOME/arm/bin/arm-linux-androideabi-gcc
 
   android-x86:
     var:
@@ -105,7 +105,3 @@ input_files:
     gpg_keyring: rust.gpg
   - filename: unwind.patch
     enable: '[% c("var/windows-i686") %]'
-  - filename: replace_pagesize_in_mmap.patch
-    enable: '[% c("var/android") %]'
-  - filename: 0001-Make-sure-dl_iterate_phdr-is-undefined-on-Android.patch
-    enable: '[% c("var/android-armv7") %]'
diff --git a/projects/rust/replace_pagesize_in_mmap.patch b/projects/rust/replace_pagesize_in_mmap.patch
deleted file mode 100644
index 598f190..0000000
--- a/projects/rust/replace_pagesize_in_mmap.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/src/libbacktrace/mmap.c b/src/libbacktrace/mmap.c
-index 138ef70711..e3c4cd2643 100644
---- a/src/libbacktrace/mmap.c
-+++ b/src/libbacktrace/mmap.c
-@@ -140,7 +140,7 @@ backtrace_alloc (struct backtrace_state *state,
-     {
-       /* Allocate a new page.  */
- 
--      pagesize = getpagesize ();
-+      pagesize = sysconf(_SC_PAGESIZE);
-       asksize = (size + pagesize - 1) & ~ (pagesize - 1);
-       page = mmap (NULL, asksize, PROT_READ | PROT_WRITE,
- 		   MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-@@ -181,7 +181,7 @@ backtrace_free (struct backtrace_state *state, void *addr, size_t size,
-     {
-       size_t pagesize;
- 
--      pagesize = getpagesize ();
-+      pagesize = sysconf(_SC_PAGESIZE);
-       if (((uintptr_t) addr & (pagesize - 1)) == 0
- 	  && (size & (pagesize - 1)) == 0)
- 	{
-@@ -226,7 +226,7 @@ backtrace_vector_grow (struct backtrace_state *state,size_t size,
-       size_t alc;
-       void *base;
- 
--      pagesize = getpagesize ();
-+      pagesize = sysconf(_SC_PAGESIZE);
-       alc = vec->size + size;
-       if (vec->size == 0)
- 	alc = 16 * size;
-diff --git a/src/libbacktrace/mmapio.c b/src/libbacktrace/mmapio.c
-index dfdaf6fa52..5b23003090 100644
---- a/src/libbacktrace/mmapio.c
-+++ b/src/libbacktrace/mmapio.c
-@@ -60,7 +60,7 @@ backtrace_get_view (struct backtrace_state *state ATTRIBUTE_UNUSED,
-   off_t pageoff;
-   void *map;
- 
--  pagesize = getpagesize ();
-+  pagesize = sysconf(_SC_PAGESIZE);
-   inpage = offset % pagesize;
-   pageoff = offset - inpage;
- 



More information about the tor-commits mailing list