With glibc 2.21 (Debian/unstable on x86_64), on any code compiled by tcc
segfaults. This occurs with both old tcc (tcc 0.9.27~git20140923.9d7fb33-3
Debian package) and mob. I wonder whether this is a bug in tcc or in the
glibc.
For instance:
ypig% cat conftest.c
int main (void)
{ return 0; }
ypig% tcc conftest.c -o conftest
ypig% ./conftest
zsh: segmentation fault (core dumped) ./conftest
In the "objdump -S" output of conftest, I notice the following
difference:
libc6 2.19:
0000000000400430 <_init>:
400430: 48 83 ec 08 sub $0x8,%rsp
400434: 48 8b 05 4d 01 20 00 mov 0x20014d(%rip),%rax #
600588 <_init+0x200158>
[...]
libc6 2.21:
00000000004003f0 <_init>:
4003f0: 48 83 ec 08 sub $0x8,%rsp
4003f4: 48 8b 05 00 00 00 00 mov 0x0(%rip),%rax # 4003fb
<_init+0xb>
The 0x20014d(%rip) has changed to 0x0(%rip).
My bug report for Debian:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=808008
--
Vincent Lefèvre <[email protected]> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel