summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/kernel/1878
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--results/classifier/gemma3:12b/kernel/187830
-rw-r--r--results/classifier/gemma3:12b/kernel/187841316
-rw-r--r--results/classifier/gemma3:12b/kernel/187850132
-rw-r--r--results/classifier/gemma3:12b/kernel/18786289
4 files changed, 87 insertions, 0 deletions
diff --git a/results/classifier/gemma3:12b/kernel/1878 b/results/classifier/gemma3:12b/kernel/1878
new file mode 100644
index 000000000..eefe1adb4
--- /dev/null
+++ b/results/classifier/gemma3:12b/kernel/1878
@@ -0,0 +1,30 @@
+
+QEMU doesn't implement ARMv4/v5 legacy SCTLR.U==0 load-and-rotate unaligned access handling
+Description of problem:
+**ldr r7, \[r0, r1\]** works differently on real device and QEMU. Probably all **ldr Rd, \[Rs\]** commands works wrongly in QEMU with Raspberry Pi emulation.
+Steps to reproduce:
+1. Launch the attached software **kernel_qemu.img** in QEMU.
+2. Launch the attached software **kerenel.img** on real Raspberry Pi 1B+.
+3. Look at the r7. It contains different data.
+Additional information:
+**kernel_qemu.img** and **kerenel.img** are the same program. It just compiled with different origins - 0x8000 for real device and 0x10000 for QEMU. But code inside the program works at the same addresses.
+
+r0 = 0x183a4
+
+r1 = 0x817
+
+**\[r0, r1\]** points to byte 0x42 in memory with such data:
+
+**0x80 0x15 0x22 \[0x42\] 0x03 0x21 0x87**
+
+After **ldr r7, \[r0, r1\]** execution real device puts to r7: **0x22158042**
+
+After **ldr r7, \[r0, r1\]** execution QEMU puts to r7: **0x87210342**
+
+QEMU:
+
+![QEMU.png](/uploads/51ecbf1689d36f969cb482f2613ccb58/QEMU.png)
+
+Real Raspberry Pi 1B+: ![real.jpg](/uploads/2a9cc3f4bc33d7f254c549e5086070a7/real.jpg)
+
+[kernel_qemu.img](/uploads/ae6a7490660569d5fe56adc9f4dde85d/kernel_qemu.img) [kernel.img](/uploads/48c94a66370c1fe8720fe89603c45c7b/kernel.img)
diff --git a/results/classifier/gemma3:12b/kernel/1878413 b/results/classifier/gemma3:12b/kernel/1878413
new file mode 100644
index 000000000..18f372821
--- /dev/null
+++ b/results/classifier/gemma3:12b/kernel/1878413
@@ -0,0 +1,16 @@
+
+/proc/sys/fs/binfmt_misc/ empty even though binfmt_misc is loaded
+
+_apksigner_ uses binfmt to execute via _jarwrapper_, since it is a JAR.  We have a test suite that relies on _apksigner_ working.  It was running fine in Ubuntu/bionic.  Since it was pegged to LTS, it got upgraded to Ubuntu/focal and it stopped working.  This is likely because /proc/sys/fs/binfmt_misc/ is totally empty.  The "binfmt_misc" kernel module shows as loaded:
+
+$ grep binfmt /proc/modules
+binfmt_misc 20480 1 - Live 0xffffffffc0452000
+
+This relies on binfmt support in gitlab.com's CI runner setup, based on Docker.  binfmt works in containers there, for example on Ubuntu/bionic:
+https://gitlab.com/fdroid/fdroidserver/-/jobs/516857857
+
+Something in Ubuntu/focal broke this when running focal in the container on the same Docker host runners:
+https://gitlab.com/fdroid/fdroidserver/-/jobs/547148092
+
+Debian's ci.debian.net lxc runners also have a similar problem, it might be related:
+https://salsa.debian.org/ci-team/debian-ci-config/-/issues/1
\ No newline at end of file
diff --git a/results/classifier/gemma3:12b/kernel/1878501 b/results/classifier/gemma3:12b/kernel/1878501
new file mode 100644
index 000000000..c73fecc54
--- /dev/null
+++ b/results/classifier/gemma3:12b/kernel/1878501
@@ -0,0 +1,32 @@
+
+qemu-i386 does not define AT_SYSINFO
+
+qemu-i386 does not define the AT_SYSINFO auxval when running i386 Linux binaries.
+
+On most libcs, this is properly handled, but this is mandatory for the i686 Bionic (Android) libc or it will segfault.
+
+This is due to a blind assumption that getauxval(AT_SYSINFO) will return a valid function pointer:
+
+The code varies from version to version, but it looks like this:
+
+void *__libc_sysinfo;
+// mangled as _Z19__libc_init_sysinfov
+void __libc_init_sysinfo() {
+  bool dummy;
+  // __bionic_getauxval = getauxval
+  __libc_sysinfo = reinterpret_cast<void *>(__bionic_getauxval(AT_SYSINFO, dummy));
+}
+
+A simple way to reproduce is to compile a basic C program against the NDK:
+
+int main(void) { return 0; }
+
+$ i686-linux-android-clang -static empty.c -o empty
+$ qemu-i386 -cpu max ./empty
+qemu: uncaught target signal 11 (Segmentation fault) - core dumped
+Segmentation fault
+
+The place where it segfaults is misleading: It will, at least on the current NDK, crash on __set_thread_area, this is due to it calling a function pointer to __libc_sysinfo returned by __kernel_syscall.
+
+QEMU 4.1.1 (aarch64)
+Pixel 2 XL via Termux
\ No newline at end of file
diff --git a/results/classifier/gemma3:12b/kernel/1878628 b/results/classifier/gemma3:12b/kernel/1878628
new file mode 100644
index 000000000..36a72aea5
--- /dev/null
+++ b/results/classifier/gemma3:12b/kernel/1878628
@@ -0,0 +1,9 @@
+
+linux-user/mmap build failure using Clang 10
+
+When building with Clang 10 on Fedora 32, we get:
+
+    CC      linux-user/mmap.o
+  linux-user/mmap.c:720:49: error: result of comparison 'unsigned long' > 18446744073709551615 is always false [-Werror,-Wtautological-type-limit-compare]
+          if ((unsigned long)host_addr + new_size > (abi_ulong)-1) {
+              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~
\ No newline at end of file