Regressed by #5244 (e.g., on_task) and by #5749 (e.g., cr_pack).
$ cmake -GNinja -DWITH_GDB=on /path/to/rpcs3
$ ninja
[...]
Utilities/GDBDebugServer.cpp:357:36: error: no member named 'cr_pack' in 'ppu_thread'
return u32_to_padded_hex(thread->cr_pack());
~~~~~~ ^
Utilities/GDBDebugServer.cpp:386:11: error: no member named 'cr_unpack' in 'ppu_thread'
thread->cr_unpack(hex_to_u32(value));
~~~~~~ ^
Utilities/GDBDebugServer.cpp:736:22: error: out-of-line definition of 'on_task' does not match any declaration in 'GDBDebugServer'
void GDBDebugServer::on_task()
^~~~~~~
Utilities/GDBDebugServer.cpp:811:22: error: out-of-line definition of 'on_exit' does not match any declaration in 'GDBDebugServer'
void GDBDebugServer::on_exit()
^~~~~~~
Utilities/GDBDebugServer.cpp:822:29: error: out-of-line definition of 'get_name' does not match any declaration in 'GDBDebugServer'
std::string GDBDebugServer::get_name() const
^~~~~~~~
Utilities/GDBDebugServer.cpp:827:22: error: out-of-line definition of 'on_stop' does not match any declaration in 'GDBDebugServer'
void GDBDebugServer::on_stop()
^~~~~~~
Utilities/GDBDebugServer.cpp:831:8: error: no member named 'notify' in 'GDBDebugServer'
this->notify();
~~~~ ^
Utilities/GDBDebugServer.cpp:832:2: error: use of undeclared identifier 'old_thread'; did you mean 'pad_thread'?
old_thread::on_stop();
^~~~~~~~~~
pad_thread
rpcs3/Emu/System.h:197:38: note: 'pad_thread' declared here
std::function<std::shared_ptr<class pad_thread>()> get_pad_handler;
^
Utilities/GDBDebugServer.cpp:832:2: error: incomplete type 'pad_thread' named in nested name specifier
old_thread::on_stop();
^~~~~~~~~~~~
rpcs3/Emu/System.h:197:38: note: forward declaration of 'pad_thread'
std::function<std::shared_ptr<class pad_thread>()> get_pad_handler;
^
Utilities/GDBDebugServer.cpp:841:2: error: use of undeclared identifier 'notify'
notify();
^
10 errors generated.
rpcs3/Emu/System.cpp:1543:30: error: no member named 'on_stop' in 'GDBDebugServer'
fxm::get<GDBDebugServer>()->on_stop();
~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
1 error generated.
I had plans to enable it by default with some refactoring
It still fails here.
Without it, I can't get debug symbols, as CMAKE_BUILD_TYPE='Debug' isn't enough. :(
Was planning to try and get a backtrace for https://github.com/RPCS3/rpcs3/issues/5986...
I had plans to enable it by default with some refactoring
@Nekotekina, do you have a rough timeline when that might be? I know you're busy, just asking.
Well, GDB is now always enabled, but untested.
GDB is enabled by default since #6729, so the compilation errors are no longer there. This issue can be closed.