Ryan Houdek
ac0ab8a7b4
Thunks/X11: Ensure 11 headers are included with C linkage
...
Otherwise the compiler gets confused about some functions getting
declared with C++ linkage.
2022-10-25 15:32:40 -07:00
Tony Wasserka
cc8ef16240
Thunks/gen: Consolidate all generated code to one file per library per platform
2022-09-05 15:03:49 +02:00
Ryan Houdek
b64e61a793
Thunks: Check for X11 version
...
There is no define for this so we must generate our own.
Declare a type ourselves if the library is too old
2022-08-12 14:31:18 -07:00
Tony Wasserka
c8951de9dd
Thunks/X11: Add thunks for _XInitImageFuncPtrs and XInitImage
2022-08-08 16:08:46 +02:00
Tony Wasserka
63517c377d
Thunks: Add a helper to make typed host function pointers guest-callable
...
This recurring pattern combines the existing helpers GetCallerForHostFunction
and LinkAddressToFunction.
2022-08-08 16:08:46 +02:00
Tony Wasserka
0317d381fe
Thunks/X11: Add definitions for more API functions
2022-08-08 16:08:46 +02:00
Tony Wasserka
31b5181bca
Thunks/gen: Drop now unneeded callback_unpacks file
2022-08-08 16:08:46 +02:00
Tony Wasserka
7ae59055ff
Thunks/X11: Handle function pointer thunking for XInitThreads and _XReply
2022-08-08 16:08:46 +02:00
Tony Wasserka
3ac1650001
Thunks/X11: Thunk function pointers set up in XOpenDisplay
2022-08-08 16:08:46 +02:00
Tony Wasserka
737e76968a
Thunks/X11: Add more symbols
2022-08-08 16:08:45 +02:00
Tony Wasserka
5fd00e31bb
Thunks/X11: Distinguish between host and guest pointers in XFree
...
This function must be able to handle both guest heap pointers *and* host heap
pointers, so it only forwards to the native host library for the latter.
This is because Xlibint users allocate memory using internal macros aliasing
to libc's malloc but then they free using the function XFree. For libX11,
this is not a problem since the allocation happens in a thunked API function
(and hence on the host heap), but if a function from an unthunked library
accesses Xlibint, it will allocate on the guest heap.
One notable example where this was encountered is XF86VidModeGetAllModeLines.
2022-07-27 12:05:07 +02:00
Tony Wasserka
72d0228cd7
Thunks/gen: Remove now unneeded callback_structs and callback_typedefs files
2022-07-07 17:33:31 +02:00
Tony Wasserka
66f74a431f
Thunks/gen: Clean up implementation of generic callbacks
2022-07-07 17:33:31 +02:00
Stefanos Kornilios Misis Poiitidis
9c01dd9d9f
Thunks: PoC Callbacks using sha256 exports from host
2022-07-06 18:41:53 +02:00
Tony Wasserka
4a848d7202
Thunks: Use libclang-based code generation for libX11
2021-12-10 11:24:58 +01:00
Ryan Houdek
6162a8c7f4
Thunks: Some minor X related thunk changes
...
Makes it print to stderr instead of stdout.
Also sets the mutex symbols to something that can be debugged.
Found something linking to them but not actually using them.
2021-09-30 18:39:22 -07:00
Stefanos Kornilios Mitsis Poiitidis
942b8549c6
Docs: Add tags to the source code
2021-03-30 12:21:18 +03:00
Stefanos Kornilios Mitsis Poiitidis
2425ab994b
Thunks: Generation script refactor, generic callbacks
2020-09-22 14:35:38 +03:00
Stefanos Kornilios Mitsis Poiitidis
db633b8394
Thunklibs: Add partial X11, SDL, GL, EGL, asound, cmake integration
2020-08-08 14:48:20 +03:00