qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH 70/81] remove last 3 uses of :=, everywhere else


From: Juan Quintela
Subject: [Qemu-devel] Re: [PATCH 70/81] remove last 3 uses of :=, everywhere else uses += or =
Date: Thu, 27 Aug 2009 00:26:25 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Hollis Blanchard <address@hidden> wrote:
> On Wed, Aug 26, 2009 at 2:46 PM, Juan Quintela<address@hidden> wrote:
>> Hollis Blanchard <address@hidden> wrote:
>>> On Mon, Aug 3, 2009 at 5:47 AM, Juan Quintela<address@hidden> wrote:
>> Could you check two things:
>>
>> a- remove the whole block, it should not be needed anymore (or that I
>>   have been told)
>
> The original commit, from malc, says it's necessary to work around a
> gcc 4.3.0 bug. If that's true, it's probably not a great idea to
> remove it.

>From malc:

  -fno-unit-at-a-time (-fno-toplevel-reorder which -fno-unit-at-a-time
   implies actually) is no longer needed after BlueSwirls work on PPC's
   translate.

it appears that they changed the file that was misscompiled (I don't
have more information).

I was waiting for someone with ppc access to test its removal (only ifeq
remaining on Makefile.target that depends of architecture, all other are
gone (but I was not able to test this one, hint, hint,  :)


>> b- if a) don't work, tryng to change the interior bit to
>>
>> translate.o: QEMU_CFLAGS += $(call cc-option, $(CFLAGS),-fno-unit-at-a-time,)
>>
>> And if so, we can do this change.  What we pass as 2nd argument
>> shouldn't matter for this test.
>>
>> call cc-option is complicated to get right, sorry :(
>
> If it doesn't matter, better not to pass anything, rather than confuse
> the reader into thinking it does matter. This seems to work:
> translate.o: QEMU_CFLAGS += $(call cc-option, , -fno-unit-at-a-time,)
>
> But strangely, this doesn't:
> translate.o: QEMU_CFLAGS += $(call cc-option, "", -fno-unit-at-a-time,)

I told you that call cc-option was bad :)

Look at its definition:

# cc-option
# Usage: CFLAGS+=$(call cc-option, $(CFLAGS), -falign-functions=0, 
-malign-functions=0)

cc-option = $(shell if $(CC) $(1) $(2) -S -o /dev/null -xc /dev/null \
              > /dev/null 2>&1; then echo "$(2)"; else echo "$(3)"; fi
              ;)

it appears that gcc don't like an empty argument in the middle :p
Actually, I think that example and macro is just wrong.  2nd argument
shouldn't exist at all.  We are testing if compiler accept some option,
shouldn't be needed any $CFLAGS at all.

But I didn't want to change so many things.


> However, what if the second argument did matter? I don't understand
> the problem with the original syntax.

There were (at least) 3 different styles on Makefiles, now there is only
one.
We had +=, := and I think some other funny variants.  Now we only have +=

Later, Juan.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]