[LEDE-DEV] [PATCH 2/2] toolchain: gcc: drop MIPS patch
Kevin Darbyshire-Bryant
kevin at darbyshire-bryant.me.uk
Wed Aug 23 01:50:57 PDT 2017
On 23/08/17 09:20, Felix Fietkau wrote:
> On 2017-08-22 12:01, Kevin Darbyshire-Bryant wrote:
>> Drop 300-mips_Os_cpu_rtx_cost_model.patch for gcc 7.2
>>
>> This was causing mis-compilation of dropbear with the default '-Os' size
>> optimization as reported in FS#814
>>
>> Tested on ar71xx, archer C7 v2. For size comparison of my whole build:
>>
>> 12058628 O2-withoutpatch-dropbearworks.bin
>> 12058628 O2-withpatch-dropbearworks.bin
>> 11468804 Os-withoutpatch-dropbearworks.bin
>> 11468804 Os-withpatch-dropbearfails.bin
>>
>> Signed-off-by: Kevin Darbyshire-Bryant <kevin at darbyshire-bryant.me.uk>
> I strongly suspect that this change is hiding the real bug instead of
> fixing it. Please double-check that the mis-compilation also does not
> happen with -O2 instead of -Os.
Hi Felix,
The symptom of dropbear not responding (it goes into a tight loop)
*only* occurs for me with the patch installed and with '-Os'. As
documented in the FS report, starting with gcc 7.1, dropbear (and for
some uhttpd) go AWOL when built with '-Os'. Initially I did not
experience that issue because I always build with '-O2', however by
switching to '-Os' I was able to reproduce the behaviour.
As part of my bump to gcc 7.2 and 'cargo culting/refreshing' the 7.1
patches across, I thought I would investigate if the same erroneous
behaviour existed - it did. So questions: Why MIPS only, why only with
'-Os' and not '-O2', why is no one else screaming about this? Many
experiments and 'make dirclean' (to ensure gcc and the whole router
image rebuilt) later I reached my conclusions with
300-mips_Os_cpu_rtx_cost_model.patch.
What I have not done is check to see if removal of
300-mips_Os_cpu_rtx_cost_model.patch on gcc 7.1 solves the problem
there, it could be that gcc 7.1 also had a bug.
Cheers,
Kevin
>
> - Felix
>
More information about the Lede-dev
mailing list