Skip to content

Commit 00070d8

Browse files
committed
Fix for kernel 4.2: don't use 64 bits syscalls/types
The currently Linux kernel version supported by qemu is based on upstream kernel 4.2 [1]. However, the 64 bits syscalls from musl are not implemented by Hexagon kernel 4.2. And the time_t type is now 64 bits for all archs on musl (not only the 64 bits archs), so we also need to force our own type size here for kernel 4.2. Furthermore, we need to refrain from using faccessat2, as this was only added at kernel 5.8. [1]: https://git.kernel.org/pub/scm/linux/kernel/git/bcain/linux.git/log/?h=bcain/boot_qemu Signed-off-by: Matheus Tavares Bernardino <matheus.bernardino@oss.qualcomm.com>
1 parent 41340e5 commit 00070d8

File tree

2 files changed

+3
-23
lines changed

2 files changed

+3
-23
lines changed

arch/hexagon/bits/syscall.h.in

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -276,26 +276,6 @@
276276
#define __NR_pkey_alloc 289
277277
#define __NR_pkey_free 290
278278
#define __NR_statx 291
279-
#define __NR_clock_gettime64 403
280-
#define __NR_clock_settime64 404
281-
#define __NR_clock_adjtime64 405
282-
#define __NR_clock_getres_time64 406
283-
#define __NR_clock_nanosleep_time64 407
284-
#define __NR_timer_gettime64 408
285-
#define __NR_timer_settime64 409
286-
#define __NR_timerfd_gettime64 410
287-
#define __NR_timerfd_settime64 411
288-
#define __NR_utimensat_time64 412
289-
#define __NR_pselect6_time64 413
290-
#define __NR_ppoll_time64 414
291-
#define __NR_io_pgetevents_time64 416
292-
#define __NR_recvmmsg_time64 417
293-
#define __NR_mq_timedsend_time64 418
294-
#define __NR_mq_timedreceive_time64 419
295-
#define __NR_semtimedop_time64 420
296-
#define __NR_rt_sigtimedwait_time64 421
297-
#define __NR_futex_time64 422
298-
#define __NR_sched_rr_get_interval_time64 423
299279
#define __NR_pidfd_send_signal 424
300280
#define __NR_io_uring_setup 425
301281
#define __NR_io_uring_enter 426
@@ -310,9 +290,9 @@
310290
#define __NR_close_range 436
311291
#define __NR_openat2 437
312292
#define __NR_pidfd_getfd 438
313-
#define __NR_faccessat2 439
314293
#define __NR_process_madvise 440
315294
#define __NR_syscalls (__NR_process_madvise+1)
295+
#define __NR_faccessat2 __NR_faccessat
316296
#define __NR_newfstatat __NR_fstatat
317297
#define __NR_fcntl64 __NR_fcntl
318298
#define __NR_statfs64 __NR_statfs

include/alltypes.h.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ TYPEDEF _Addr ssize_t;
99
TYPEDEF _Addr intptr_t;
1010
TYPEDEF _Addr regoff_t;
1111
TYPEDEF _Reg register_t;
12-
TYPEDEF _Int64 time_t;
13-
TYPEDEF _Int64 suseconds_t;
12+
TYPEDEF long time_t;
13+
TYPEDEF long suseconds_t;
1414

1515
TYPEDEF signed char int8_t;
1616
TYPEDEF signed short int16_t;

0 commit comments

Comments
 (0)