[OE-core] why do we poison -Os?
Kumar Gala
galak at kernel.crashing.org
Wed Aug 24 04:06:30 UTC 2011
On Aug 23, 2011, at 8:47 PM, Xu, Dongxiao wrote:
>> -----Original Message-----
>> From: Kumar Gala [mailto:galak at kernel.crashing.org]
>>
>> If tinylogin is the only issue why modify/patch gcc? I see we have
>> meta/recipes-core/tinylogin/tinylogin-1.4/use_O2_option.patch to deal with
>> this?
>
> Yes, patch for tinylogin is to deal with the issue.
> Besides that, we added this poison detection mechanism and suppose it should not affect functionality.
> My understanding is that, if GCC is not configured with the ability of code space optimization, target recipes will not have code size benefit even if adding "-Os" option.
>
>>
>> Not allowing -Os at all, which is our current situation on PPC is problematic.
>> So trying to see if this issue is really limited to gcc 4.5 or not. How can I
>> reproduce it with current poky.git?
>
> Not allowing -Os for PPC is because --enable-target-optspace is not enabled for PPC GCC. This is a known issue for PPC GCC 4.5.x.
>
> I wonder if GCC 4.6.x has fixed this issue. If so, we should add "--enable-target-optspace" for PPC GCC again, thus -Os will be allowed for recipes.
Thus my query on how to verify this and if it was limited to tinylogin.
- k
>
> Thanks,
> Dongxiao
>
>>
>> - k
>>
>> On Aug 23, 2011, at 8:16 PM, Xu, Dongxiao wrote:
>>
>>> Hi Kumar,
>>>
>>> The background of this commit is, when I upgraded PowerPC gcc to 4.5,
>> tinylogin would crash with certain GCC build parameters.
>>>
>>> The root cause for that bug is, if enabled both "-frename-registers" and "-Os"
>> options to build tinylogin in powerpc architecture, the tinylogin/getty
>> application will encounter segmentation fault. Other combinations like
>> "-frename-registers and -O2" or only "-Os" will not trigger this issue.
>>>
>>> Poky cross environment provides the "-frename-registers" parameter,
>> however it does not provide -Os option since "--enable-target-optspace" option
>> is disabled for powerpc gcc. The "-Os" option in tinylogin is added by its own
>> Makefile.
>>>
>>> This commit is to prevent the above case. If --enable-target-optspace is
>> disabled for GCC, "-Os" should not be added by recipe.
>>>
>>> Thanks,
>>> Dongxiao
>>>
>>>> -----Original Message-----
>>>> From: Kumar Gala [mailto:galak at kernel.crashing.org]
>>>> Sent: Wednesday, August 24, 2011 8:53 AM
>>>> To: Xu, Dongxiao
>>>> Cc: Patches and discussions about the oe-core layer; Khem Raj
>>>> Subject: why do we poison -Os?
>>>>
>>>> Dongxiao,
>>>>
>>>> Can you explain why this was needed:
>>>>
>>>> commit ce456306dad3fdf42494830011dacae213c48edf
>>>> Author: Dongxiao Xu <dongxiao.xu at intel.com>
>>>> Date: Sat Sep 25 10:16:26 2010 +0800
>>>>
>>>> gcc: enable poison parameters detection
>>>>
>>>> If not configured with --enable-target-optspace, gcc will report
>>>> errors if there is '-Os' optimization in parameters.
>>>>
>>>> This fixes [BUGID #342]
>>>>
>>>> Also add "--enable-target-optspace" option to arm gcc configuration.
>>>>
>>>> Signed-off-by: Dongxiao Xu <dongxiao.xu at intel.com>
>>>>
>>>>
>>>> - k
More information about the Openembedded-core
mailing list