Re: enabling COMPILE_TEST support for GCC plugins in v4.11

From: Kees Cook
Date: Fri Dec 16 2016 - 16:06:11 EST


On Sat, Dec 10, 2016 at 8:45 AM, Emese Revfy <re.emese@xxxxxxxxx> wrote:
> On Fri, 9 Dec 2016 11:12:18 -0800
> Kees Cook <keescook@xxxxxxxxxx> wrote:
>
>> On Fri, Dec 9, 2016 at 2:40 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
>> > On Thursday, December 8, 2016 11:00:42 AM CET Kees Cook wrote:
>> >
>> >> If you have a moment, applying 215e2aa6c024[1] and reverting
>> >> a519167e753e for an allyesconfig/allmodconfig build should let you
>> >> know if things are working correctly with headers installed. If anyone
>> >> sees any problems, please let me know and I can queue up fixes.
>> >
>> > Using gcc-4.9.3 or gcc-5.3.1 for an ARM allmodconfig build, I get tons of
>> > errors such as this one:
>> >
>> > /git/arm-soc/init/initramfs.c: In function 'error':
>> > /git/arm-soc/init/initramfs.c:50:1: error: unrecognizable insn:
>> > }
>> > ^
>> > (insn 26 25 27 5 (set (reg:SI 111 [ local_entropy.243 ])
>> > (rotatert:SI (reg:SI 116 [ local_entropy.243 ])
>> > (const_int -30 [0xffffffffffffffe2]))) -1
>> > (nil))
>> > *** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins.
>> > Event | Plugins
>> > PLUGIN_ATTRIBUTES | latent_entropy_plugin
>> > PLUGIN_START_UNIT | latent_entropy_plugin
>> > /git/arm-soc/init/initramfs.c:50:1: internal compiler error: in extract_insn, at recog.c:2202
>> > /git/arm-soc/arch/arm/vfp/vfpmodule.c: In function 'vfp_init':
>> > /git/arm-soc/arch/arm/vfp/vfpmodule.c:824:1: error: unrecognizable insn:
>> > }
>> > ^
>> > (insn 138 137 139 17 (set (reg:SI 165 [ local_entropy.93 ])
>> > (rotatert:SI (reg:SI 150 [ local_entropy.93 ])
>> > (const_int -9 [0xfffffffffffffff7]))) -1
>> > (nil))
>> > *** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins.
>>
>> Well that's exciting! :P
>
> Hi,
>
> You can find the fix here:
> https://github.com/ephox-gcc-plugins/latent_entropy/commit/c91275a1bfcebbcfc0ca1af03396e06039f04db8

Great, thanks!

-Kees

--
Kees Cook
Nexus Security