The recent change to atomic functions has some problems.
I fixed one. See https://repo.or.cz/tinycc.git/commitdiff/32b597746c1c9da4656ef34e2930c604f6c13c81

Another problem is the arm code. It uses tumb code. But this should be armv6k.

The old code had:

#ifndef __TINYC__
        .arch armv6k
        .syntax unified
#endif

The new code is:

        .thumb
        .syntax unified

tcc does not support .thumb or  .syntax unified.
If I disassemble the tcc code for atomic_flag_clear I get:

00022a34 <atomic_flag_clear>:
   22a34:       f3bf2300        vsubw.u<illegal width 64>       q1, <illegal reg q7.5>, d0    22a38:       f3bf7003        vaddl.u<illegal width 64>       <illegal reg q3.5>, d15, d3
   22a3c:       Address 0x22a3c is out of bounds.

Also the windows code does not work. The endbr32 is not supported.
If I remove this the testcase 125_atomic_misc and testcase 136_atomic_gcc_style fail for i386.

    Herman




_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to