Your message dated Fri, 02 Dec 2016 21:08:01 +0000
with message-id <e1ccv3p-000eg5...@fasolo.debian.org>
and subject line Bug#788113: fixed in proot 5.1.0-1.1
has caused the Debian Bug report #788113,
regarding proot: FTBFS on arm64
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
788113: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788113
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: proot
Version: 5.1.0-1
Tags: patch
Some arm64 stuff was missing from the latest release.
This patch adds it. It built when I tried it, but I
haven't done any other testing.
diff -ru proot-5.1.0.orig/src/arch.h proot-5.1.0/src/arch.h
--- proot-5.1.0.orig/src/arch.h
+++ proot-5.1.0/src/arch.h
@@ -125,6 +125,9 @@
#define OFFSETOF_STAT_UID_32 0
#define OFFSETOF_STAT_GID_32 0
+ #define EXEC_PIC_ADDRESS 0x500000000000
+ #define INTERP_PIC_ADDRESS 0x6f0000000000
+
#elif defined(ARCH_X86)
#define SYSNUMS_HEADER1 "syscall/sysnums-i386.h"
diff -ru proot-5.1.0.orig/src/loader/assembly-arm64.h proot-5.1.0/src/loader/assembly-arm64.h
--- /dev/null
+++ proot-5.1.0/src/loader/assembly-arm64.h
@@ -0,0 +1,93 @@
+/* -*- c-set-style: "K&R"; c-basic-offset: 8 -*-
+ *
+ * This file is part of PRoot.
+ *
+ * Copyright (C) 2014 STMicroelectronics
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+#define BRANCH(stack_pointer, destination) do { \
+ asm volatile ( \
+ "// Restore initial stack pointer. \n\t" \
+ "mov sp, %0 \n\t" \
+ " \n\t" \
+ "// Clear rtld_fini. \n\t" \
+ "mov x0, #0 \n\t" \
+ " \n\t" \
+ "// Start the program. \n\t" \
+ "br %1 \n" \
+ : /* no output */ \
+ : "r" (stack_pointer), "r" (destination) \
+ : "memory", "sp", "x0"); \
+ __builtin_unreachable(); \
+ } while (0)
+
+#define PREPARE_ARGS_1(arg1_) \
+ register word_t arg1 asm("x0") = arg1_; \
+
+#define PREPARE_ARGS_3(arg1_, arg2_, arg3_) \
+ PREPARE_ARGS_1(arg1_) \
+ register word_t arg2 asm("x1") = arg2_; \
+ register word_t arg3 asm("x2") = arg3_; \
+
+#define PREPARE_ARGS_4(arg1_, arg2_, arg3_, arg4_) \
+ PREPARE_ARGS_3(arg1_, arg2_, arg3_) \
+ register word_t arg4 asm("x3") = arg4_;
+
+#define PREPARE_ARGS_6(arg1_, arg2_, arg3_, arg4_, arg5_, arg6_) \
+ PREPARE_ARGS_3(arg1_, arg2_, arg3_) \
+ register word_t arg4 asm("x3") = arg4_; \
+ register word_t arg5 asm("x4") = arg5_; \
+ register word_t arg6 asm("x5") = arg6_;
+
+#define OUTPUT_CONTRAINTS_1 \
+ "r" (arg1)
+
+#define OUTPUT_CONTRAINTS_3 \
+ OUTPUT_CONTRAINTS_1, \
+ "r" (arg2), "r" (arg3)
+
+#define OUTPUT_CONTRAINTS_4 \
+ OUTPUT_CONTRAINTS_3, \
+ "r" (arg4)
+
+#define OUTPUT_CONTRAINTS_6 \
+ OUTPUT_CONTRAINTS_3, \
+ "r" (arg4), "r" (arg5), "r" (arg6)
+
+#define SYSCALL(number_, nb_args, args...) \
+ ({ \
+ register word_t number asm("w8") = number_; \
+ register word_t result asm("x0"); \
+ PREPARE_ARGS_##nb_args(args) \
+ asm volatile ( \
+ "svc #0x00000000 \n\t" \
+ : "=r" (result) \
+ : "r" (number), \
+ OUTPUT_CONTRAINTS_##nb_args \
+ : "memory"); \
+ result; \
+ })
+
+#define OPENAT 56
+#define CLOSE 57
+#define MMAP 222
+#define MMAP_OFFSET_SHIFT 0
+#define EXECVE 221
+#define EXIT 93
+#define PRCTL 167
+
diff -ru proot-5.1.0.orig/src/loader/loader.c proot-5.1.0/src/loader/loader.c
--- proot-5.1.0.orig/src/loader/loader.c
+++ proot-5.1.0/src/loader/loader.c
@@ -39,6 +39,8 @@
# include "loader/assembly-x86_64.h"
#elif defined(ARCH_ARM_EABI)
# include "loader/assembly-arm.h"
+#elif defined(ARCH_ARM64)
+# include "loader/assembly-arm64.h"
#elif defined(ARCH_X86)
# include "loader/assembly-x86.h"
#else
@@ -134,7 +136,11 @@
/* Fall through. */
case LOAD_ACTION_OPEN:
+#ifdef OPENAT
+ fd = SYSCALL(OPENAT, 4, AT_FDCWD, stmt->open.string_address, O_RDONLY, 0);
+#else
fd = SYSCALL(OPEN, 3, stmt->open.string_address, O_RDONLY, 0);
+#endif
if (unlikely((int) fd < 0))
FATAL();
--- End Message ---
--- Begin Message ---
Source: proot
Source-Version: 5.1.0-1.1
We believe that the bug you reported is fixed in the latest version of
proot, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 788...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Andrey Rahmatullin <w...@debian.org> (supplier of updated proot package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Sat, 26 Nov 2016 22:12:08 +0500
Source: proot
Binary: proot
Architecture: source
Version: 5.1.0-1.1
Distribution: unstable
Urgency: medium
Maintainer: Rémi Duraffort <ivo...@videolan.org>
Changed-By: Andrey Rahmatullin <w...@debian.org>
Description:
proot - emulate chroot, bind mount and binfmt_misc for non-root users
Closes: 788113
Changes:
proot (5.1.0-1.1) unstable; urgency=medium
.
* Non-maintainer upload.
* Fix FTBFS on arm64, patch by Sebastian Ramacher (Closes: #788113).
Checksums-Sha1:
b871a80996a0898aac77d0713b5e7827285b4ee2 1856 proot_5.1.0-1.1.dsc
1c2783e1bf048245aa428a58367b24b553014912 4160 proot_5.1.0-1.1.debian.tar.xz
Checksums-Sha256:
f0ffc6b78e4d0d72407305fbe70065d295ef84b762d212b4dd58a2965166a883 1856
proot_5.1.0-1.1.dsc
887b9dd56632354c7f072efb49c17c19ee7c51dc7909059ef77bbf8a4dcc7694 4160
proot_5.1.0-1.1.debian.tar.xz
Files:
fc8a19816d2674527f865d599813a23a 1856 utils optional proot_5.1.0-1.1.dsc
bde98133d3425b711174e5264da2697c 4160 utils optional
proot_5.1.0-1.1.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEolIP6gqGcKZh3YxVM2L3AxpJkuEFAlg5xIYACgkQM2L3AxpJ
kuHoog//U14kmpCgf7LV8faAtKxXlohILT1hlboLfYzgiRhY46NsGM6FriaZdL26
jJBDSwfs/bWPcEHQwLVhUcyITzuCDL0GqQvjpL/QU00EkafKW0WKyItrZQH8JfYy
J7w/WHDVidNQf+jlgOAdqdPoMyg/HVCxgrD0yDAG0DjuyW/VACBF9YWQ/xDJHhft
7GqZu48TLUMifVsdSZ66e1jUfZCUTkh7VnJnJrv+GMxLGe7qwvWT1GlNuajSvmS0
hvNOb0LzQ6cxFU3j5TFY0VvN7XT6paNsjmWLOrol3TEpC0BF9sLPDvrLPxevqr1o
VEqpAq4ZqmRDLrUSdSUkphypnO9M+4lFdfB49Ilp3pZgUT1UHalcpuEcidF8VaXN
Y6bjgFm1iqRK3o/yWkYOPYrcxfcK+K7hdy+xQXX0hHa3Vqg+hVVdYlWLvG4R1LaQ
+WUshdqwqaPXjpkZFM7r5rV/5T6xgkRLFSMbkKMIgp2FAMnO7T6aCR5uoJMspVup
NnQ3THKfFVUrMQtHJqrn35MWdnf+BBHefwG4Za2b+vaD5oEjmWQYa8wqSCnoCUDG
TChSy7SQZgZmg47TmNdU7UxCq6xvi3oM8n2VJfrghyk9v1qy0zOPYdVgjrPBd9jJ
w0oLqnqzEPHUkE8PtKT6NCbYfYH5xyqK23GxrSJKRBYz1QFud9o=
=wFp+
-----END PGP SIGNATURE-----
--- End Message ---