Skip to content

Commit 087db24

Browse files
authored
Fix uname() machine on wasm64 (#17589)
Correct a typo in `__syscall_uname` code. wasm64 builds now correctly report `utsname->machine` as `"wasm64"`.
1 parent 7ad06f6 commit 087db24

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

system/lib/libc/emscripten_syscall_stubs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ int __syscall_uname(intptr_t buf) {
6060
strcpy(utsname->nodename, "emscripten");
6161
strcpy(utsname->release, full_version);
6262
strcpy(utsname->version, "#1");
63-
#ifdef __wams64__
63+
#ifdef __wasm64__
6464
strcpy(utsname->machine, "wasm64");
6565
#else
6666
strcpy(utsname->machine, "wasm32");

test/core/test_uname.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
* found in the LICENSE file.
66
*/
77

8+
#include <assert.h>
89
#include <stdio.h>
10+
#include <string.h>
911
#include <sys/utsname.h>
1012

1113
int main() {
@@ -16,6 +18,12 @@ int main() {
1618
printf("release: %s\n", u.release);
1719
printf("version: %s\n", u.version);
1820
printf("machine: %s\n", u.machine);
21+
#ifdef __wasm64__
22+
assert(strcmp(u.machine, "wasm64") == 0);
23+
#else
24+
assert(strcmp(u.machine, "wasm32") == 0);
25+
#endif
1926
printf("invalid: %d\n", uname(0));
27+
2028
return 0;
2129
}

test/core/test_uname.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ sysname: Emscripten
33
nodename: emscripten
44
release: \d+.\d+.\d+
55
version: #1
6-
machine: wasm32
6+
machine: wasm(32|64)

0 commit comments

Comments
 (0)