Hi,
while performing the review of pcsx2 I noticed that upstream customize
heavily CFLAGS.
https://bugzilla.rpmfusion.org/show_bug.cgi?id=2455#c55
Although RPM_OPT_FLAGS are passed to the compiler, a great number of
optimization flags (e.g. -fxxxxx) are also used. A few are in contrast with
optimizations turned on by "-O2".
The Fedora guidelines say:
"Overriding these flags for performance optimizations (for instance, -O3
instead of -O2) is generally discouraged. If you can present benchmarks
that show a significant speedup for this particular code, this could be
revisited on a case-by-case basis. Adding to and overriding or filtering
parts of these flags is permitted if there's a good reason to do so; the
rationale for doing so must be documented in the specfile. "
Upstream says:
"PCSX2 is not an ordinary sofware. Most of the code executed are
self-generated by PCSX2 itself (aka dynamic recompiler/virtual machine).
That mean 1/ gcc flags have no much impact on speed 2/ some gcc flags (used
to) crash PCSX2 It would need a careful test to check which flags can be
enabled/disabled. Too much work for myself, but you're welcome ;). Note:
strict aliasing is surely still broken."
So, what to do? Asking the submitter to check is each flags work is a
daunting task and probably not his job. Removing upstream flags might broke
the emulator. Using upstream flags is against the guidelines. I'd go for
the latter - but I'd like to check if other RPM Fusion packagers agree.
Regards,
Andrea.