Skip to content

Commit b16dc03

Browse files
authored
journald: fix memfd_create_syscall for 32 bit targets (#1982)
On 32 bit targets (e.g. armv7) the syscall in memfd_create_syscall() returns an i32, so this compilation error is printed: | error[E0308]: mismatched types | --> .../tracing-journald-0.2.3/src/memfd.rs:27:9 | | | 25 | fn memfd_create_syscall(flags: c_uint) -> i64 { | | --- expected `i64` | | because of return type | 26 | unsafe { | 27 | / syscall( | 28 | | SYS_memfd_create, | 29 | | "tracing-journald\0".as_ptr() as *const c_char, | 30 | | flags, | 31 | | ) | | |_________^ expected `i64`, found `i32` | | | help: you can convert an `i32` to an `i64` | | | 31 | ).into() | | +++++++ | | For more information about this error, try `rustc --explain E0308`. | error: could not compile `tracing-journald` due to previous error | This commit fixes this issue.
1 parent 7ea09e9 commit b16dc03

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

tracing-journald/src/memfd.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ fn create(flags: c_uint) -> Result<File> {
2222
/// RHEL 7, etc.
2323
///
2424
/// See: https://github.com/tokio-rs/tracing/issues/1879
25-
fn memfd_create_syscall(flags: c_uint) -> i64 {
25+
fn memfd_create_syscall(flags: c_uint) -> c_int {
2626
unsafe {
2727
syscall(
2828
SYS_memfd_create,
2929
"tracing-journald\0".as_ptr() as *const c_char,
3030
flags,
31-
)
31+
) as c_int
3232
}
3333
}
3434

0 commit comments

Comments
 (0)