Working-tree snapshot taken 2026-07-28 so this work is not lost. To be clear
about provenance: NONE of this was written in the session that committed it —
it is pre-existing uncommitted work on phase-a-tracing, last committed 2026-07-09,
from the xenia-rs decoder/deadlock investigation. It is recorded verbatim, not
reviewed and not tested.
Contents: 24 tracked modifications (ppc_emit_memory, xex_module, object_table,
shim_utils, xboxkrnl threading/rtl, xevent/xobject/xthread, memory) plus the
untracked probe sources audit_68_host_mem_watch, audit_69_event_signal_watch,
audit_70_semaphore_release_watch, phase_b_snapshot, and cmake/toolchains.
Deliberately excluded: build-cross/ (51 GB of build output) and
vkd3d-proton.cache. Note third_party/snappy is a submodule pointer change whose
target may not be pushed anywhere, so this branch is a preservation record rather
than a guaranteed-buildable tree.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The pkg_config helper for premake was not checking for errors. When it
failed to run, either when it is not installed or the queried package is
not found, a cryptic error message would be printed:
"Error: .../xenia/third_party/premake-core/src/base/string.lua:36: attempt to index a nil value (upvalue 's')"
Fix this by checking the return status when calling pkg-config and
printing a descriptive error message.
Disable Edit and Continue for test suites. Edit and Continue in MSVC
can cause the __LINE__ macro to produce invalid values, which breaks
the usability of Catch2 output on failed tests.
Use xenia-base entrypoint for test suites. Fixes a bug where we were expecting
wchar data in main, which is incorrect, causing invalid args to be parsed.
- Fix up handling of positional options in cvar handling so that executables
other than app can handle them properly.
- Fix command-line arguments for xenia-vfs-dump.
* Python 3 support
* Fix import_vs_environment in xenia-build
* Drop support for Python 2
* Fix CIs and xb.bat
* Require Python3.4+ because of Ubuntu Trusty
* popen.communicate returns bytes instead of string
* Useful info in travis
* universal_newlines should be True
* Changed shebang to python 3
* Python 3 shebang fix
* Clang python 3 shebang fix