|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] Fix C compatibility issue in mini-os
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.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |