# make HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf --silentoldconfig Kconfig GENHASH tools/gcc/size_overflow_plugin/size_overflow_hash.h GENHASH tools/gcc/size_overflow_plugin/size_overflow_hash_aux.h HOSTCXX -fPIC tools/gcc/size_overflow_plugin/insert_size_overflow_asm.o tools/gcc/size_overflow_plugin/insert_size_overflow_asm.c: In function ‘void create_so_asm_stmt(asm_data*)’: tools/gcc/size_overflow_plugin/insert_size_overflow_asm.c:129:40: error: invalid conversion from ‘gimple {aka gimple_statement_base*}’ to ‘gasm*’ [-fpermissive] gimple_asm_set_volatile(asm_stmt, true); ^ In file included from tools/gcc/gcc-common.h:111:0, from tools/gcc/size_overflow_plugin/size_overflow.h:26, from tools/gcc/size_overflow_plugin/insert_size_overflow_asm.c:20: /usr/lib/gcc/x86_64-pc-linux-gnu/5.1.0/plugin/include/gimple.h:3550:1: note: initializing argument 1 of ‘void gimple_asm_set_volatile(gasm*, bool)’ gimple_asm_set_volatile (gasm *asm_stmt, bool volatile_p) ^ tools/gcc/size_overflow_plugin/insert_size_overflow_asm.c: In function ‘tree_node* get_so_asm_output(asm_data*)’: tools/gcc/size_overflow_plugin/insert_size_overflow_asm.c:161:35: error: invalid conversion from ‘gimple {aka gimple_statement_base*}’ to ‘const greturn*’ [-fpermissive] return gimple_return_retval(stmt); ^ In file included from tools/gcc/gcc-common.h:111:0, from tools/gcc/size_overflow_plugin/size_overflow.h:26, from tools/gcc/size_overflow_plugin/insert_size_overflow_asm.c:20: /usr/lib/gcc/x86_64-pc-linux-gnu/5.1.0/plugin/include/gimple.h:5525:1: note: initializing argument 1 of ‘tree_node* gimple_return_retval(const greturn*)’ gimple_return_retval (const greturn *gs) ^ tools/gcc/size_overflow_plugin/insert_size_overflow_asm.c: In function ‘void set_so_asm_input_target_stmt(asm_data*)’: tools/gcc/size_overflow_plugin/insert_size_overflow_asm.c:202:38: error: invalid conversion from ‘gimple {aka gimple_statement_base*}’ to ‘greturn*’ [-fpermissive] gimple_return_set_retval(asm_data->target_stmt, asm_data->output); ^ In file included from tools/gcc/gcc-common.h:111:0, from tools/gcc/size_overflow_plugin/size_overflow.h:26, from tools/gcc/size_overflow_plugin/insert_size_overflow_asm.c:20: /usr/lib/gcc/x86_64-pc-linux-gnu/5.1.0/plugin/include/gimple.h:5534:1: note: initializing argument 1 of ‘void gimple_return_set_retval(greturn*, tree)’ gimple_return_set_retval (greturn *gs, tree retval) ^ tools/gcc/size_overflow_plugin/insert_size_overflow_asm.c: At global scope: tools/gcc/size_overflow_plugin/insert_size_overflow_asm.c:384:1: error: ‘const pass_data’ has no non-static data member named ‘has_gate’ }; ^ scripts/Makefile.host:168: recipe for target 'tools/gcc/size_overflow_plugin/insert_size_overflow_asm.o' failed make[2]: *** [tools/gcc/size_overflow_plugin/insert_size_overflow_asm.o] Error 1 scripts/Makefile.build:402: recipe for target 'tools/gcc/size_overflow_plugin' failed make[1]: *** [tools/gcc/size_overflow_plugin] Error 2 Makefile:678: recipe for target 'gcc-plugins' failed make: *** [gcc-plugins] Error 2 Reproducible: Always Steps to Reproduce: 1. Install sys-kernel/hardened-sources-3.19.5-r1 2. Try to build it with GCC5 3. Errors out. Expected Results: The hardened kernel builds. I am able to build sys-kernel/gentoo-sources-4.0.1, but I'm on a hardened system, and I'd like this fixed.
(In reply to lluixhi from comment #0) > > I am able to build sys-kernel/gentoo-sources-4.0.1, but I'm on a hardened > system, and I'd like this fixed. size_overflow_plugin/insert_size_overflow_asm.c needs to be looked at in light of what gcc5 is looking for. I'll let upstream know.
https://twitter.com/grsecurity/status/592145304717303808 it was only fixed in PaX yesterday, you'll have to wait a bit for grsec or take the interdiff from PaX in the meantime.
(In reply to PaX Team from comment #2) > https://twitter.com/grsecurity/status/592145304717303808 > > it was only fixed in PaX yesterday, you'll have to wait a bit for grsec or > take the interdiff from PaX in the meantime. i'm in no rush.