Skip to content

Commit 3accfcd

Browse files
committed
doc: FATAL: kernel too old failure in userland simulation improve a bit
1 parent ed3bd76 commit 3accfcd

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

README.adoc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4178,7 +4178,7 @@ At 125d14805f769104f93c510bedaa685a52ec025d we <<libc-choice,moved Buildroot fro
41784178

41794179
glibc has a check for kernel version, likely obtained from the `uname` syscall, and if the kernel is not new enough, it quits.
41804180

4181-
Both gem5 and QEMU however allow setting the reported `uname` version from the command line, which we do to always match our toolchain.
4181+
Both gem5 and QEMU however allow setting the reported `uname` version from the command line for <<user-mode-simulation>>, which we do to always match our toolchain.
41824182

41834183
QEMU by default copies the host `uname` value, but we always override it in our scripts.
41844184

@@ -4190,16 +4190,14 @@ Determining the right number to use for the kernel version is of course highly n
41904190

41914191
Source: link:userland/posix/uname.c[].
41924192

4193-
The QEMU source that does this is at: https://github.com/qemu/qemu/blob/v3.1.0/linux-user/syscall.c#L8931
4193+
The QEMU source that does this is at: https://github.com/qemu/qemu/blob/v3.1.0/linux-user/syscall.c#L8931 The default ID is just hardcoded on the source.
41944194

41954195
Bibliography:
41964196

41974197
* https://stackoverflow.com/questions/48959349/how-to-solve-fatal-kernel-too-old-when-running-gem5-in-syscall-emulation-se-m
41984198
* https://stackoverflow.com/questions/53085048/how-to-compile-and-run-an-executable-in-gem5-syscall-emulation-mode-with-se-py/53085049#53085049
41994199
* https://gem5-review.googlesource.com/c/public/gem5/+/15855
42004200

4201-
The ID is just hardcoded on the source:
4202-
42034201
==== stack smashing detected when using glibc
42044202

42054203
For some reason QEMU / glibc x86_64 picks up the host libc, which breaks things.

0 commit comments

Comments
 (0)