Compile error on stackleak_plugin

Discuss usability issues, general maintenance, and general support issues for a grsecurity-enabled system.

Compile error on stackleak_plugin

Postby gribugfu » Sun Jul 26, 2015 4:10 pm

Hello, I am getting compile errors with grsecurity-3.1-3.14.48-201507261203.patch and vanilla linux-3.14.48 on debian jessie after the inclusion of the stackleak_plugin.c patch.

My system is i386

Code: Select all
root@debian:/usr/src/linux-3.14.48-201507261203# make deb-pkg LOCALVERSION=-201507261203 KDEB_PKGVERSION=1
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf --silentoldconfig Kconfig
#
# configuration written to .config
#
  CHK     include/config/kernel.release
  UPD     include/config/kernel.release
make KBUILD_SRC=
  GENHASH  /usr/src/linux-3.14.48-201507261203/tools/gcc/size_overflow_plugin/size_overflow_hash.h
  GENHASH  /usr/src/linux-3.14.48-201507261203/tools/gcc/size_overflow_plugin/size_overflow_hash_aux.h
  HOSTCXX -fPIC tools/gcc/size_overflow_plugin/insert_size_overflow_asm.o
  HOSTCXX -fPIC tools/gcc/size_overflow_plugin/insert_size_overflow_check_core.o
  HOSTCXX -fPIC tools/gcc/size_overflow_plugin/insert_size_overflow_check_ipa.o
  HOSTCXX -fPIC tools/gcc/size_overflow_plugin/intentional_overflow.o
  HOSTCXX -fPIC tools/gcc/size_overflow_plugin/misc.o
  HOSTCXX -fPIC tools/gcc/size_overflow_plugin/remove_unnecessary_dup.o
  HOSTCXX -fPIC tools/gcc/size_overflow_plugin/size_overflow_debug.o
  HOSTCXX -fPIC tools/gcc/size_overflow_plugin/size_overflow_plugin.o
  HOSTCXX -fPIC tools/gcc/size_overflow_plugin/size_overflow_plugin_hash.o
  HOSTLLD -shared tools/gcc/size_overflow_plugin/size_overflow_plugin.so
  HOSTCXX -fPIC tools/gcc/colorize_plugin.o
  HOSTCXX -fPIC tools/gcc/constify_plugin.o
  HOSTCXX -fPIC tools/gcc/latent_entropy_plugin.o
  GENSEED  /usr/src/linux-3.14.48-201507261203/tools/gcc/randomize_layout_seed.h
  HOSTCXX -fPIC tools/gcc/randomize_layout_plugin.o
  HOSTCXX -fPIC tools/gcc/stackleak_plugin.o
tools/gcc/stackleak_plugin.c: In function ‘void stackleak_check_alloca(gimple_stmt_iterator*)’:
tools/gcc/stackleak_plugin.c:48:70: error: invalid conversion from ‘gimple’ to ‘gcall* {aka gimple_statement_call*}’ [-fpermis
sive]
  check_alloca = gimple_build_call(check_function_decl, 1, alloca_size);
                                                                      ^
tools/gcc/stackleak_plugin.c: In function ‘void stackleak_add_instrumentation(gimple_stmt_iterator*)’:
tools/gcc/stackleak_plugin.c:67:56: error: invalid conversion from ‘gimple’ to ‘gcall* {aka gimple_statement_call*}’ [-fpermis
sive]
  track_stack = gimple_build_call(track_function_decl, 0);
                                                        ^
scripts/Makefile.host:172: recipe for target 'tools/gcc/stackleak_plugin.o' failed
make[3]: *** [tools/gcc/stackleak_plugin.o] Error 1
Makefile:645: recipe for target 'gcc-plugins' failed
make[2]: *** [gcc-plugins] Error 2
/usr/src/linux-3.14.48-201507261203/scripts/package/Makefile:90: recipe for target 'deb-pkg' failed
make[1]: *** [deb-pkg] Error 2
Makefile:1211: recipe for target 'deb-pkg' failed
make: *** [deb-pkg] Error 2
gribugfu
 
Posts: 3
Joined: Sun Jul 26, 2015 4:01 pm

Re: Compile error on stackleak_plugin

Postby spender » Sun Jul 26, 2015 4:29 pm

What version of gcc/g++ is this?

-Brad
spender
 
Posts: 2185
Joined: Wed Feb 20, 2002 8:00 pm

Re: Compile error on stackleak_plugin

Postby gribugfu » Sun Jul 26, 2015 4:36 pm

Hello,
i think it is the default gcc that ships with debian jessie.

Code: Select all
root@debian:~# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i586-linux-gnu/4.9/lto-wrapper
Target: i586-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-i386 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-targets=all --enable-multiarch --with-arch-32=i586 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i586-linux-gnu --host=i586-linux-gnu --target=i586-linux-gnu
Thread model: posix
gcc version 4.9.2 (Debian 4.9.2-10)


Code: Select all
root@debian:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.1 (jessie)
Release:        8.1
Codename:       jessie
root@debian:~#
gribugfu
 
Posts: 3
Joined: Sun Jul 26, 2015 4:01 pm

Re: Compile error on stackleak_plugin

Postby PaX Team » Mon Jul 27, 2015 9:41 am

thanks for the report, looks like i somehow forgot to synchronize the plugins with the linux-4.x trees where they compile properly. you can take the stackleak and kernexec plugins from there until i release the next patch for 3.14.
PaX Team
 
Posts: 2310
Joined: Mon Mar 18, 2002 4:35 pm

Re: Compile error on stackleak_plugin

Postby gribugfu » Mon Aug 03, 2015 3:00 pm

The latest patch, grsecurity-3.1-3.14.48-201508020901.patch compiled and installed successfully on debian jessie. Thank you!
gribugfu
 
Posts: 3
Joined: Sun Jul 26, 2015 4:01 pm


Return to grsecurity support