Repository navigation
Conversation
Set -Wall -Werror directly in each of the 26 target Makefiles, rather than using a shared include. Fix PSP and host compiler diagnostics, preserve bounded formatting and privilege/path checks, and correct the VFPU rotator disassembler output with regression coverage. Document platform-specific legacy build requirements.
a9d430f to
1500a14
Compare
|
it would be preferable if the -Werror is only passed for CI builds, else almost anyone trying to compile this on a configuration that's been untested so far (other compiler versions, other host libc versions, etc) will run into build errors. i'd suggest changing the makefiles to assemble CFLAGS from the usual required options, plus a WARNFLAGS macro that can be passed on the command line: |
What I can do to cover such scenarios is to add a new flag to make it easy to compile, like |
Sounds like a good idea. Alternatively, you can also look at the CI environment variable. That one is set in the GitHub CI. |
Summary
Enforce
-Wall -Werrordirectly in the compiler flags of all 26 component Makefiles, for PSP and host targets alike.Fix the diagnostics exposed by strict builds without globally suppressing warnings:
sprintfusage with bounded formatting inpspsh, and ensure shell prompts reserve room for their>suffix (including on Cygwin GCC).vrotformatting.usbhostfs_pccompiler issues and host-side robustness: validate credential restoration and drive paths, handle checked return values and writes, scope UID-related variables, and pass unsigned characters to ctype routines.ttylinkstring header, and make the reboot hook extraction deterministic.tools/webgetagainst curl's required mbedTLS libraries.Verification
make -B -j4),pspsh,usbhostfs_pc,sersh,ttylink,tools/reboothook,tools/echo.make -C tests testandmake -C pspsh/tests test, including new VFPU output regression.git diff --checkand clean single-commit branch.Known optional / legacy targets
The warning policy is present in their Makefiles, but not every standalone target is fully link-tested: Linux-only RemoteJoy PC requires
<linux/joystick.h>; RemoteJoy PC SDL requires legacy SDL 1.x /sdl-config; standaloneusbshellstill references PSPLink-internal symbols. These existing platform/dependency/link-integration limitations are outside this warning-cleanup PR. Thewebgetstrict compile and link were verified after adding mbedTLS libraries.This change has not been deployed to real PSP hardware and has not replaced or restarted the running Mac USB daemon.