On 07/16/16 14:58, Ard Biesheuvel wrote: > Bottom line is that I don't really care :-) -Os for RELEASE is a clear > improvement. If nobody is doing source code level debugging using GCC > builds, it appears to be an improvement for DEBUG as well. In any > case, it would be good to have the numbers so we can make an informed > decision.
At this point you've sort of convinced me that we should add -Os to DEBUG as well. It *doubly* aligns DEBUG_GCCxx_X64_CC_FLAGS with the status quo: first with GCC+IA32, second with non-GCC+X64. The gdb setup for GCC+X64 is so contrived at the moment *anyway* that removing -Os from the build flags as a further step is practically no additional burden. If we become serious about it, we can always introduce NOOPT later, further aligning GCC with other toolchains on IA32 and X64. > Another thing I noticed: OpensslLib uses -UNO_BUILTIN_VA_ARGS to > switch to the default va_list implementation, which is necessary since > its variadic functions lack an EFIAPI annotation. This means I should > probably revise the patch to allow the standard __builtins to be used, > e.g., add -DNO_MS_ABI_VARARGS to OpensslLib instead, and make the use > of __builtin_ms_va_list conditional on !defined(NO_MS_ABI_VARARGS) Aaargh. I've run into (independent) varargs problems with OpenSSL in edk2 before, so I'm not sure how my testing missed this! Ah wait, I may know how -- I think I wanted to use EnrollDefaultKeys.efi as a starting point for SB testing too, but I didn't get as far with it, because -O2 in your v1 triggered a latent bug in the app. ... So, with your next update, we won't just distinguish "builtin" from "no-builtin" for VA_LIST, we'll also distinguish "MS" from "SYSV" within "builtin:. :( <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50818> just got twice as annoying. :( :( I guess I'll delay my testing until your v3. Is that okay with you? Thanks Laszlo _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel