|
From: | Paolo Bonzini |
Subject: | Re: Thread safety of coroutine-sigaltstack |
Date: | Mon, 25 Jan 2021 23:45:01 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
On 25/01/21 23:15, Laszlo Ersek wrote:
- How does this case differ from the registration of types? type_init() is a constructor function, and it generally ends up adding some structures with function pointers (I reckon) via type_table_add(). The main executable doesn't call into the device code directly -- only the constructor function calls another function from the same module. The main executable only goes through the registered type interfaces. How does the linker know in that case to preserve the whole object?
We use either link_whole or extract_objects() for libraries that have type-registering constructors.
Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |