pv-adverb: Improve LD_AUDIT, LD_PRELOAD handling
-
tests: Add test coverage for pv-adverb LD_AUDIT, LD_PRELOAD handling
-
tests: Add test coverage for passing incorrect options to pv-adverb
-
pv-adverb: Use a small fixed array instead of a hash table
We only have two elements and we're iterating over them linearly.
-
pv-adverb: Factor out ptr_array_add_unique
-
pv-adverb: Put LD_AUDIT, LD_PRELOAD modules in an array of structs
This restructuring will let us add fields to the struct in future, in particular for architecture-specific modules.
-
pv-adverb: Add an ABI to each PreloadModule
At the moment the only way for this to get populated is when we guess it for gameoverlayrenderer.so, but a future commit will add a way to set it explicitly on the command-line.
-
pv-adverb: Allow setting the architecture of a module in the CLI
This will allow pv-wrap to translate a host
LD_PRELOAD
item like/usr/$LIB/libMangoHud.so
into a pair of--ld-preload
options, each looking like--ld-preload=/usr/lib32/libMangoHud.so:abi=i386-linux-gnu
.The only character that cannot appear in a
LD_PRELOAD
path entry is:
, so we're free to use that as our representation for extra options. Instead of just appending the ABI tuple, use a key/value notation so we can extend later if we need to.
Factored out from !337 (merged). Fairly thoroughly tested with unit tests, but not much real-world testing yet.