[OE-core] [PATCH 3/3] uclibc.inc: avoid immediate expansion for UCLIBC_EXTRA_CFLAGS

Andre McCurdy armccurdy at gmail.com
Fri Aug 7 01:14:01 UTC 2015


On Thu, Aug 6, 2015 at 4:02 PM, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> On Thu, 2015-08-06 at 12:41 -0700, Andre McCurdy wrote:
>> If immediate variable expansion is used, then UCLIBC_EXTRA_CFLAGS can
>> sometimes be derived from a partially expanded value of CFLAGS.
>>
>> One specific problem case occurs when security_flags.inc is used: CFLAGS
>> is evaluated before the SECURITY_CFLAGS_pn-uclibc over-ride has been
>> applied and therefore UCLIBC_EXTRA_CFLAGS ends up being based on the
>> default SECURITY_CFLAGS instead of the uclibc specific value.
>>
>> Signed-off-by: Andre McCurdy <armccurdy at gmail.com>
>> ---
>>  meta/recipes-core/uclibc/uclibc.inc | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc
>> index c483228..3ed8b60 100644
>> --- a/meta/recipes-core/uclibc/uclibc.inc
>> +++ b/meta/recipes-core/uclibc/uclibc.inc
>> @@ -57,8 +57,8 @@ export V="2"
>>  # -O<n> -fno-omit-frame-pointer ends up with GCC ICE on thumb as reported
>>  # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44860
>>  #
>> -CFLAGS_arm := "${@oe_filter_out('-fno-omit-frame-pointer', '${CFLAGS}', d)}"
>> -UCLIBC_EXTRA_CFLAGS  := "${@oe_filter_out('(-I\S+|-i\S+)', '${CFLAGS}', d)}"
>> +CFLAGS_arm = "${@oe_filter_out('-fno-omit-frame-pointer', '${CFLAGS}', d)}"
>
> I'm rather surprised we don't get circular references without the :=
> operator with this. I suspect we can see build failures if you change
> the code like this. That said, I've been meaning to go through and
> replace all the uses of oe_filter_out with the remove operator. Can we
> do that here please instead?
>
> E.g:
> CFLAGS_remove_arm = "-fno-omit-frame-pointer"

OK, new patch on the way.

>> +UCLIBC_EXTRA_CFLAGS = "${@oe_filter_out('(-I\S+|-i\S+)', '${CFLAGS}', d)}"

Is it OK to keep using oe_filter_out() here to support the regex?

> Cheers,
>
> Richard
>
>



More information about the Openembedded-core mailing list