Martin Li��ka changed bug 1141188
What Removed Added
CC   martin.liska@suse.com

Comment # 2 on bug 1141188 from
So the problem is following:

include/schily/schily.h defines:

/*PRINTFLIKE1*/
extern    int    error __PR((const char *, ...)) __printflike__(1, 2);
/*PRINTFLIKE1*/
extern    int    gterror __PR((const char *, ...)) __printflike__(1, 2);

#ifdef    GT_ERROR
#undef    error
#define    error        gterror
#endif

So it's a different declaration of function error that has a different
signature in glibc:

void error(int status, int errnum, const char *format, ...);

And I bet GT_ERROR is not defined for all source files that are then linked
with LTO. In LTO linking, we end up with duplicate and different function
signatures and the from glibc is taken:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7f67331 in __strlen_avx2 () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff7f67331 in __strlen_avx2 () from /lib64/libc.so.6
#1  0x00007ffff7e731ae in __vfprintf_internal () from /lib64/libc.so.6
#2  0x00007ffff7e7418e in buffered_vfprintf () from /lib64/libc.so.6
#3  0x00007ffff7e71384 in __vfprintf_internal () from /lib64/libc.so.6
#4  0x00007ffff7e7b16a in locked_vfxprintf () from /lib64/libc.so.6
#5  0x00007ffff7e7b26d in __vfxprintf () from /lib64/libc.so.6
#6  0x00007ffff7f0173e in error_tail () from /lib64/libc.so.6
#7  0x00007ffff7f018bc in error () from /lib64/libc.so.6
#8  0x0000555555560b20 in main (argc=4, argv=0x7fffffffe8b8) at mkisofs.c:2801

while without LTO the libschily/gterror.c is taken:
(gdb) bt
#0  0x00007ffff7fa9a10 in error () from
../libs/x86_64-linux-gcc/pic/libschily.so.2.0
#1  0x00005555555602b9 in main (argc=4, argv=0x7fffffffe8b8) at mkisofs.c:2801


You are receiving this mail because: