Open mkst opened 11 months ago
Using main the command works, but still not right in decomp.me CI, will investigate.
$ ~/github/wibo/build/wibo ./ee-gcc.exe -v -S ~/github/wibo/sn64/test.cpp
Reading specs from Z:\home\mark\github\decomp.me\backend\compilers\ps2\ee-gcc2.95.2-273a\bin\..\lib/gcc-lib/ee\2.95.2\specs
gcc driver version 2.9-ee-991111b/r4 executing gcc version 2.95.2-EE
Z:\home\mark\github\decomp.me\backend\compilers\ps2\ee-gcc2.95.2-273a\bin\..\lib/gcc-lib/ee\2.95.2\cpp.exe -lang-c++ -v -I Z:\home\mark\github\decomp.me\backend\compilers\ps2\ee-gcc2.95.2-273a\bin\..\lib/gcc-lib/ee\2.95.2\ -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=95 -Dmips -DMIPSEL -DR5900 -D_mips -D_MIPSEL -D_R5900 -D__mips__ -D__MIPSEL__ -D__R5900__ -D___mips__ -D_MIPSEL -D_R5900 -D__mips -D__MIPSEL -D__R5900 -D___mips -D__EXCEPTIONS -D__LANGUAGE_C -D_LANGUAGE_C -DLANGUAGE_C -D__SIZE_TYPE__=unsigned -D__PTRDIFF_TYPE__=int -D__LONG_MAX__=9223372036854775807L -U__mips -D__mips=3 -D__mips64 -D__mips_eabi -D__mips_single_float /home/mark/github/wibo/sn64/test.cpp \tmp\ccNtFaaa.ii
GNU CPP version 2.95.2 v2 [AL 1.1, MM 40] BSD Mips
#include "..." search starts here:
End of search list.
Z:\home\mark\github\decomp.me\backend\compilers\ps2\ee-gcc2.95.2-273a\bin\..\lib/gcc-lib/ee\2.95.2\cc1plus.exe \tmp\ccNtFaaa.ii -quiet -dumpbase test.cc -version -o test.s
GNU C++ version 2.95.2 SN BUILD v2.73a for Playstation2 (ee) compiled by CC.
When trying to use
wibo
to replacewine
, the command fails when trying to callcpp.exe
.Running under wibo:
Running under wine:
I'm not sure what's going wrong. It is able to read the specs file which sits alongside the cpp.exe binary (although the log suggests that wine fully expands the path).
Edit:
Running cpp.exe manually via wibo works:
OK, it's due to the backslashes. The command decomp.me wants to execute is like this:
but swapping out
\
for/
works:I feel like a blind 'find-replace' of
\
to/
is going to be lead to issues, but I dont know what the right way to solve this is? a heuristic to guess if a string containing\
is a path?Further testing, it's these two arguments that are breaking the command:
Z:\backend\compilers\ps2\ee-gcc2.95.2-273a\bin..\lib/gcc-lib/ee\2.95.2\
/tmp\ccbaaaaa.i
So a potential fix could be to replace all
\
if the string contains any/
?