Hello all !
I followed the code and could see that mixing strings malloced and not malloced by tcc is the reason for the test to fail on linux 32 bits.
On that particular case we are mixing a string from program argv[] with the tcc bounds checking, the later expect all strings to have been malloced by __bound_malloc that adds an extra byte to the size, but the strings from program parameters argv[] seem to be allocated without __bound_malloc and then the false BAD_POINTER is raised.
Who did this ?
If we do the tests without compiled tcc by tcc it works fine, I propose to move those tests to the compiled tcc instead of tcc running by other tcc.
It sounds a bit crazy but if someone can come in to help clarify this we can together solve this problem.
Cheers !