Hi! A problem with __bound_local_new is caused by compiling a bcheck.c by tcc. A tcc doesn't handle __attribyte__((regparm(3))). and simply ignore this. Look:
08048465 <main>: 8048465: 55 push %ebp 8048466: 89 e5 mov %esp,%ebp 8048468: 81 ec 30 00 00 00 sub $0x30,%esp 804846e: b8 00 9f 04 08 mov $0x8049f00,%eax 8048473: e8 0b 07 00 00 call 8048b83 <__bound_local_new> 08048b83 <__bound_local_new>: 8048b83: 55 push %ebp 8048b84: 89 e5 mov %esp,%ebp 8048b86: 81 ec 10 00 00 00 sub $0x10,%esp 8048b8c: 8b 45 08 mov 0x8(%ebp),%eax ### ????????????? After compiling bcheck.c by gcc we have the following output of the test program: fantoo TEST # ./a.out bcheck.c, __bound_init() start bcheck.c, __bound_new_region(0x804b144, c) start bcheck.c, __bound_new_region end bcheck.c, __bound_new_region(0x804b151, 1a) start bcheck.c, __bound_new_region end lbaound: start=ffffffd4 size=28 bcheck.c, __bound_init() end bcheck.c, __bound_local_new start p1=8049d80 *p1=ffffffd4 bcheck.c, __bound_new_region(0xbfd56d3c, 28) start bcheck.c, __bound_new_region end bcheck.c, __bound_local_new end add: 0xbfd56d3c 0 Ошибка сегментирования This is much better. _______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel
