[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Disabling TLS address caching to help QEMU on GNU/Linux
From: |
Thomas Huth |
Subject: |
Re: Disabling TLS address caching to help QEMU on GNU/Linux |
Date: |
Wed, 21 Jul 2021 09:22:24 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 |
On 20/07/2021 16.52, Florian Weimer wrote:
Currently, the GNU/Linux ABI does not really specify whether the thread
pointer (the address of the TCB) may change at a function boundary.
[...]
One important piece of software for GNU is QEMU (not just for GNU/Linux,
Hurd development also benefits from virtualization). QEMU uses stackful
coroutines extensively. There are some hard-to-change code areas where
resumption happens across threads unfortunately. These increasingly
cause problems with more inlining, inter-procedural analysis, and a
general push towards LTO (which is also needed for some security
hardening features).
Thanks a lot for your mail, Florian!
As a context for those who read about this for the very first time: We're
currently facing the problem that the coroutines in QEMU fail when compiling
QEMU with -flto on a non-x86 architecture, see:
https://bugzilla.redhat.com/show_bug.cgi?id=1952483#c6
Should the GNU toolchain offer something to help out the QEMU
developers?
I guess that would be extremely helpful...
Thomas