mirror of
git://repo.or.cz/tinycc.git
synced 2026-06-19 19:34:19 +08:00
The problem was with tcctest.c:
unsigned set;
__asm__("btsl %1,%0" : "=m"(set) : "Ir"(20) : "cc");
when with tcc compiled with the HAVE_SELINUX option, run with
tcc -run, it would use large addresses far beyond the 32bits
range when tcc did not use the pc-relative mode for accessing
'set' in global data memory. In fact the assembler did not
know about %rip at all.
Changes:
- memory operands use (%rax) not (%eax)
- conversion from VT_LLOCAL: use type VT_PTR
- support 'k' modifier
- support %rip register
- support X(%rip) pc-relative addresses
The test in tcctest.c is from Michael Matz.
|
||
|---|---|---|
| .. | ||
| pp | ||
| tests2 | ||
| abitest.c | ||
| asmtest.S | ||
| boundtest.c | ||
| gcctestsuite.sh | ||
| libtcc_test.c | ||
| Makefile | ||
| tcctest.c | ||
| tcctest.py | ||
| testfp.c | ||
| vla_test.c | ||