diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-07-17 09:10:43 +0200 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-07-17 09:10:43 +0200 |
| commit | f2ec263023649e596c5076df32c2d328bc9393d2 (patch) | |
| tree | 5dd86caab46e552bd2e62bf9c4fb1a7504a44db4 /results/scraper/fex/2754 | |
| parent | 63d2e9d409831aa8582787234cae4741847504b7 (diff) | |
| download | qemu-analysis-main.tar.gz qemu-analysis-main.zip | |
Diffstat (limited to 'results/scraper/fex/2754')
| -rw-r--r-- | results/scraper/fex/2754 | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/results/scraper/fex/2754 b/results/scraper/fex/2754 new file mode 100644 index 000000000..51bb7cdbb --- /dev/null +++ b/results/scraper/fex/2754 @@ -0,0 +1,17 @@ +Canonical PPA build somehow breaking thunks +Behaviour when loading thunks. `Failed to load MakeHostTrampolineForGuestFunction from FEX executable` + +Symbol of `MakeHostTrampolineForGuestFunction` in libX11-host when built from the Canonical PPA builders. +``` +ryanh@ubuntu:/mnt/Work/Work/work/FEXNew/Build_Lenovo$ objdump -D /usr/lib/fex-emu/HostThunks/libX11-host.so | grep "MakeHostTrampolineForGuestFunction" +000000000002ac64 <_ZN7FEXCore34MakeHostTrampolineForGuestFunctionEPvmm>: + 31044: 97ffe708 bl 2ac64 <_ZN7FEXCore34MakeHostTrampolineForGuestFunctionEPvmm> + ``` +Symbol of `MakeHostTrampolineForGuestFunction` in libX11-host when built locally. + ``` +ryanh@ubuntu:/mnt/Work/Work/work/FEXNew/Build_Lenovo$ objdump -D HostLibs_64/libX11-host.so | grep "MakeHostTrampolineForGuestFunction" +000000000002a890 <_ZN7FEXCore34MakeHostTrampolineForGuestFunctionEPvmm>: + 31340: 94001a88 bl 37d60 <_ZN7FEXCore34MakeHostTrampolineForGuestFunctionEPvmm@plt> + ``` + +Somehow this weak symbol is getting converted from a plt to a direct branch with the canonical PPA, breaking FEX's thunks in the process. `-Bsymbolic-functions` seems to be the only additional compile option that stands out but when manually adding it I couldn't reproduce this issue. Do we need to convert it to always be an undefined symbol rather than a weak symbol so this can never occur? \ No newline at end of file |