[Bug lto/59626] [4.9 lto] /usr/include/bits/unistd.h:173:1: error: inlining failed in call to always_inline 'readlinkat': recursive inlining
trippels at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 30 17:15:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59626
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2013-12-30
CC| |trippels at gcc dot gnu.org
Known to work| |4.7.3
Ever confirmed|0 |1
Known to fail| |4.8.3, 4.9.0
--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
markus@x4 % cat test.i
long __readlinkat_alias() __asm__("readlinkat");
__inline __attribute__((__always_inline__))
long readlinkat(int p1, const char *p2, char *p3, unsigned long p4) {
__readlinkat_alias();
}
int main() {
long (*b)(int, const char *, char *, unsigned long) = readlinkat;
return b(0, 0, 0, 0);
}
(4.7.3 is fine with -std=gnu99)
markus@x4 % /usr/x86_64-pc-linux-gnu/gcc-bin/4.7.3/gcc -std=gnu99 -flto -r
-nostdlib test.i -O2 -o /dev/null
(4.9.0 fails)
markus@x4 % gcc -std=gnu99 -flto -r -nostdlib test.i -O2 -o /dev/null
test.i: In function ‘main’:
test.i:3:6: error: inlining failed in call to always_inline ‘readlinkat’:
recursive inlining
long readlinkat(int p1, const char *p2, char *p3, unsigned long p4) {
^
test.i:4:21: error: called from here
__readlinkat_alias();
^
lto-wrapper: /usr/x86_64-pc-linux-gnu/gcc-bin/4.9.0/gcc returned 1 exit status
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.0/../../../../x86_64-pc-linux-gnu/bin/ld:
fatal error: lto-wrapper failed
collect2: error: ld returned 1 exit status
markus@x4 % gcc -std=gnu99 -r -nostdlib test.i -O2 -o /dev/null
markus@x4 %
More information about the Gcc-bugs
mailing list