On Linux ngs2_atrac9 aborted without any output once TestParseFile was part of its main(). The exception that TestCorruptSuperframeAtPageEnd throws in the Ngs2 module and catches in main() has to resume through a cleanup landing pad inside main(). That resume goes through the unwinder statically linked into the test executable, which then fails with _URC_FATAL_PHASE2_ERROR and aborts silently. Whether main() gets such a pad depends on what the compiler inlines into it, so adding any function with non-trivial cleanups to that main() is enough to trigger it. Move the PCM and file parse tests into a new ngs2_parse executable and restore Ngs2Atrac9.cpp to its upstream content, so the test that catches exceptions is unchanged. The new executable has no catch and never relies on that path. |
||
|---|---|---|
| .. | ||
| Decoder | ||
| libs | ||
| relinker | ||
| shader/recompiler | ||