Package: gcc-4.7 Version: 4.7.0-8 Severity: normal Hello,
this bug reports originates from #667406 in v4l-utils. I've attached a minimal testcase for the bug. Maybe it's related to upstream bug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763 Problem description: libv4l provides a preloadable library that intercepts calls like open, open64, etc. The library provides the open and open64 symbols. The replacement open64 function tries to call the replacement open function with somewhat changed arguments. But this code fails to compile with: inlining failed in call to always_inline ‘open’: function not inlinable this is due to the declaration of the libc open() in fcntl2.h which has a always inline attibute. Full source can be found here: http://git.linuxtv.org/v4l-utils.git/blob/HEAD:/lib/libv4l2/v4l2convert.c Is this a compilier bug? Without the FORTIFY_SOURCE define the error is gone. Thanks, Gregor -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-2-amd64 (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages gcc-4.7 depends on: ii binutils 2.22-6 ii cpp-4.7 4.7.0-8 ii gcc-4.7-base 4.7.0-8 ii libc6 2.13-27 ii libgcc1 1:4.7.0-8 ii libgmp10 2:5.0.4+dfsg-1 ii libgomp1 4.7.0-8 ii libitm1 4.7.0-8 ii libmpc2 0.9-4 ii libmpfr4 3.1.0-4 ii libquadmath0 4.7.0-8 ii zlib1g 1:1.2.6.dfsg-2 Versions of packages gcc-4.7 recommends: ii libc6-dev 2.13-27 Versions of packages gcc-4.7 suggests: pn binutils-gold <none> pn gcc-4.7-doc <none> pn gcc-4.7-locales <none> pn gcc-4.7-multilib <none> pn libgcc1-dbg <none> pn libgomp1-dbg <none> pn libitm1-dbg <none> pn libmudflap0-4.7-dev <none> pn libmudflap0-dbg <none> pn libquadmath0-dbg <none> -- no debconf information
/* gcc-4.7 -c testcase.c -O2 -D_FORTIFY_SOURCE=2 */ #include <fcntl.h> int open(const char *file, int oflag, ...) { return -1; } #ifdef linux int open64(const char *file, int oflag, ...) { return open(file, oflag); } #endif