Re: [PATCH 2/2] Add CONFIG_READABLE_ASM

From: Geert Uytterhoeven
Date: Thu Apr 12 2012 - 15:42:06 EST


On Thu, Apr 12, 2012 at 21:36, H. Peter Anvin <hpa@xxxxxxxxxx> wrote:
> On 04/12/2012 12:08 PM, Geert Uytterhoeven wrote:
>> On Wed, Mar 28, 2012 at 20:51, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:
>>> +ifdef CONFIG_READABLE_ASM
>>> +# Disable optimizations that make assembler listings hard to read.
>>> +# reorder blocks reorders the control in the function
>>> +# ipa clone creates specialized cloned functions
>>> +# partial inlining inlines only parts of functions
>>> +KBUILD_CFLAGS += $(call cc-option,-fno-reorder-blocks,) \
>>> + Â Â Â Â Â Â Â Â $(call cc-option,-fno-ipa-cp-clone,) \
>>> + Â Â Â Â Â Â Â Â $(call cc-option,-fno-partial-inlining)
>>> +endif
>>
>> This (now in linux-next) causes m68k/allmodconfig to fail for me:
>>
>> Â CHK Â Â include/linux/version.h
>> Â CHK Â Â include/generated/utsrelease.h
>> Â CC Â Â Âkernel/bounds.s
>> cc1: error: unrecognized command line option "-fno-ipa-cp-clone"
>>
>> Somehow, "$(call cc-option,-fno-ipa-cp-clone,)" doesn't detect that my
>> toolchain (gcc version 4.1.2 20061115 (prerelease) (Ubuntu 4.1.1-21))
>> doesn't support this option.
>>
>> I tried playing with the trailing comma (why do the first 2 tests have it,
>> and the 3rd one doesn't?), but that didn't make a difference.
>>
>> linux-next builds (using a newer toolchain) don't show this.
>>
>
> Sounds like the fundamental action item is to find out what makes
> cc-option not work.

FWIW, it did detect that:
- -fno-reorder-blocks is supported,
- -fno-partial-inlining is not supported.

Gr{oetje,eeting}s,

            Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
             Â Â -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/