On 15.12.23 13:29, Jan Beulich wrote:
On 15.12.2023 13:23, Florian Weimer wrote:* Jan Beulich:On 15.12.2023 12:59, Florian Weimer wrote:The cc-option check always fails (that, it picks the second option unconditionally) if the compiler does not support implicit conversion from integers to pointers. Just drop the initialization because it seems unnecessary in this context.Did you pay attention to ...--- a/Config.mk +++ b/Config.mk @@ -21,7 +21,7 @@ endef # of which would indicate an "unrecognized command-line option" warning/error.... the comment the tail of which is visible here?I didn't investigate how the mechanics of the selection are accomplished. I was so happy that I finally found the source of the int-conversion error and got a bit carried away. Looking at the shell script fragment:# Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586) -cc-option = $(shell if test -z "`echo 'void*p=1;' | \ +cc-option = $(shell if test -z "`echo 'void*p;' | \ $(1) $(2) -c -o /dev/null -x c - 2>&1 | grep -- $(2) -`"; \ then echo "$(2)"; else echo "$(3)"; fi ;)I can see that the exit status of the compiler does not matter, so the patch will not make a difference.An option may be to use Xen's (newer) variant cc-option = $(shell if $(1) $(2:-Wno-%=-W%) -Werror -c -o /dev/null -x c /dev/null >/dev/null 2>&1; \ then echo "$(2)"; else echo "$(3)"; fi ;) here as well (omitted all commentary). Cc-ing maintainers for possible input.
There is no urgent need for that, as in Mini-OS I'm not aware of any use case to test for a "-W..." option, but the approach is really cleaner IMO. Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature
