>>> On 1/25/2019 at 10:26 AM, Michael Brown <mc...@ipxe.org> wrote: > On 25/01/2019 16:53, Bruce Rogers wrote: >> Compiling with GCC 9 now warns as follows: >> interface/efi/efi_debug.c:334:3: error: ā%sā directive argument is null > [-Werror=format-overflow=] >> 334 | printf ( "HANDLE %s could not retrieve protocols\n", >> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> 335 | efi_handle_name ( handle ) ); >> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> cc1: all warnings being treated as errors >> >> Simplify this diagnostic by simply indicating a <NULL> has been >> passed as a handle. > > I'd prefer not to have to work around that on an instance-by-instance > basis; we explicitly allow NULL as a value for a %s format specifier, > and there are multiple other code paths that will do this. > Understandable. This one seemed to be the only one noticed by the compiler however, when I build with a simple make -C src.
> Is there a way to inform GCC 9 that NULL is allowed as a %s value? > I don't know if there is. There is a -Wnonnull, but we probably don't want to do that. > If not, then does marking efi_handle_name() as noinline fix the warning? > Yes, that does indeed avoid this warning, and the object size changes only slightly. Do you want me to send a patch for that? Bruce _______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel