This diff modifies the LLDB server return codes to more accurately reflect usage error paths. Specifically we always propagate the return codes from the main entrypoints into GDB remote LLDB server, and platform LLDB server. This way, the top-level caller of LLDB server will be able to correctly check whether the executable exited with or without an error.
We additionally modify and extend the associated shell unit tests to expect nonzero return codes on error conditions.
Test Plan:
LLDB tests pass:
ninja check-lldb
Should we return error.GetError() if it is non zero? IIRC it will be the actual errno. And best to not return -1, just return 1.