Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 28 Nov 2017 14:53:58 +0000
From: Nicholas Wilson <>
To: "" <>
Subject: Re: [PATCH] Wasm support patch 2 (static syscalls)

I think LTO would be required - but I might be missing something in your scheme? I'm considering the cases like __setxid and pthread_cancel, where the compiler can't work out which syscall numbers are possible (because the numbers come from another translation unit). In these cases, there's no way to eliminate any of the branches in your switch statement.

In particular, getuid() is such a common library call that I think we do want to be able to support it on Wasm, without having Musl link in everything. I mean, it's not an obscure piece of functionality, so it's worth a small refactor to make it usable with Wasm.

It would be a bit awkward but acceptable I suppose to not support Wasm at -O0 (ie link in hundreds of syscalls when the optimiser is off).


From: Szabolcs Nagy <>
Sent: 28 November 2017 14:35:50
Subject: Re: [musl] [PATCH] Wasm support patch 2 (static syscalls)

* Nicholas Wilson <> [2017-11-28 14:34:41 +0000]:
> That's some sophisticated link-time optimisation you're expecting there! DCE on a single source file wouldn't do it.

it's a static inline function, no lto involved.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.