32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
|
--- a/meson.build
|
||
|
+++ b/meson.build
|
||
|
@@ -1,5 +1,5 @@
|
||
|
project('qemu', ['c'], meson_version: '>=1.5.0',
|
||
|
- default_options: ['warning_level=1', 'c_std=gnu11', 'cpp_std=gnu++11', 'b_colorout=auto',
|
||
|
+ default_options: ['warning_level=1', 'c_std=gnu11', 'cpp_std=gnu++11', 'b_colorout=auto', 'b_lundef=false',
|
||
|
'b_staticpic=true', 'stdsplit=false', 'optimization=2', 'b_pie=true'],
|
||
|
version: files('VERSION'))
|
||
|
|
||
|
--- a/linux-user/syscall.c
|
||
|
+++ b/linux-user/syscall.c
|
||
|
@@ -9077,6 +9077,8 @@
|
||
|
int, __to_dfd, const char *, __to_pathname, unsigned int, flag)
|
||
|
#endif
|
||
|
|
||
|
+extern int trampoline_handle_syscall(int32_t num, uint32_t arg1, uint32_t arg2);
|
||
|
+
|
||
|
/* This is an internal helper for do_syscall so that it is easier
|
||
|
* to have a single return point, so that actions, such as logging
|
||
|
* of syscall results, can be performed.
|
||
|
@@ -9101,6 +9103,10 @@
|
||
|
#endif
|
||
|
void *p;
|
||
|
|
||
|
+ if (trampoline_handle_syscall(num, arg1, arg2)) {
|
||
|
+ return 0;
|
||
|
+ }
|
||
|
+
|
||
|
switch(num) {
|
||
|
case TARGET_NR_exit:
|
||
|
/* In old applications this may be used to implement _exit(2).
|