blob: ac6eac2560f9763dd4216d48a30ca8262edcbf9a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
device: 0.847
x86: 0.828
kernel: 0.747
i386: 0.734
files: 0.723
architecture: 0.701
user-level: 0.675
performance: 0.646
mistranslation: 0.640
permissions: 0.616
socket: 0.606
semantic: 0.604
graphic: 0.574
network: 0.559
register: 0.551
PID: 0.514
vnc: 0.495
boot: 0.472
ppc: 0.443
risc-v: 0.425
TCG: 0.362
arm: 0.329
peripherals: 0.319
VMM: 0.318
debug: 0.277
virtual: 0.180
KVM: 0.134
hypervisor: 0.133
assembly: 0.075
qemu user does not provide AT_SECURE auxiliary vector entry
When executing an android native binary using qemu in user mode, the program fail with the message
FATAL: kernel did not supply AT_SECURE
Android uses bionic libc.The linker requires that AT_SECURE is provided in the auxiliary vector, but qemu does not provide the entry.
The issue can be reproduced using the commands:
mkdir -p /tmp/android/system
cd /tmp/android
curl -O https://dl.google.com/android/repository/sys-img/google_apis/sysimg_x86-21_r15.zip
unzip sysimg_x86-21_r15.zip
mount -o loop x86/system.img system
qemu-i386 -L /tmp/android/ system/bin/ls
I've provided a patch (https://lists.gnu.org/archive/html/qemu-devel/2017-10/msg03667.html) to fix the issue, but it was not reviewed yet.
A patch to add AT_SECURE went in and was released in QEMU 2.12.
|