Emilio G Cota writes: > On Thu, Sep 07, 2017 at 12:58:05 +0200, Markus Armbruster wrote: >> Lluís Vilanova <vilan...@ac.upc.edu> writes: >> >> > This series adds an API to add instrumentation events. >> > >> > It also provides additional APIs for: >> > * Controlling tracing events >> > * Peek/poke guest memory >> > >> > There's still missing APIs for (can be added in later series?): >> > * Provide something like tracing's per-vCPU trace states (i.e., so that >> > each >> > vCPU can have different instrumentation code). It's still not clear to >> > me if >> > we should extend the per-vCPU bitmap with instrumentation events, or >> > otherwise >> > somehow reuse the bits in tracing events (since they're currently >> > limited). >> > * Peek/poke guest registers >> > >> > The instrumentation code is dynamically loaded as a library into QEMU >> > either >> > when it starts or later using its remote control interfaces. >> > >> > Signed-off-by: Lluís Vilanova <vilan...@ac.upc.edu> >> >> Taking a step back. >> >> This looks like a way to dynamically load arbitrary code. What >> interfaces can this code use? Your cover letter should answer this. >> >> As long as the answer is "everything the dynamic linker is willing to >> resolve", this series heading nowhere. We can talk about an interface >> for plugins, but "anything goes" is not on the menu.
> A simple solution to this is to only export the API symbols by passing > --dynamic-file to the linker -- see patch 2 of the following series for an > example (ELF-only, although I'm pretty sure this can be achieved on Windows > as well): > https://lists.gnu.org/archive/html/qemu-devel/2017-09/msg01446.html Sorry, I adapted the instr series in a rush and missed your series. I'm now preparing a new version that fixes this without the flags you mention (missed to add a line in this series). Thanks, Lluis