forked from KolibriOS/kolibrios
90 lines
2.8 KiB
Plaintext
90 lines
2.8 KiB
Plaintext
|
Siemargl port comments
|
||
|
|
||
|
Used github branch https://github.com/TinyCC/tinycc
|
||
|
It have a vesion 0.9.26 with heads up to 0.9.27 - see ChangeLog
|
||
|
|
||
|
Kolibri version errata/changelog:
|
||
|
|
||
|
-added TCC_TARGET_MEOS as needed
|
||
|
-leading_underscore by default is 0 (can use -f[no-]leading-underscore),
|
||
|
otherwise (error) underscoring all symbols, not only cdecl
|
||
|
-added message in tccmeos.c about missed symbols when linking KOS executable
|
||
|
-start.o added automatically, when -nostdlib not used
|
||
|
-to use standard ktcc lib must add -lck at commandline
|
||
|
-default search paths are ./include ./lib from executable (under KOS need to
|
||
|
use -Bpath_to_ktcc and put start.o in current dir)
|
||
|
-when config.h is ready, compiler can be easy builded as [kos32-]gcc tcc.c libtcc.c
|
||
|
see also makefile.kos32
|
||
|
-silent (kos) -> writes to debugboard
|
||
|
-impossible using with mingw-gcc compiled lib, incompatible library format:
|
||
|
.o is PE-format from gcc but ELF from tcc, may be linux-gcc does it ok
|
||
|
-no symbols (mapfile) for debug, see howtodebugtcc
|
||
|
|
||
|
|
||
|
-how to use packed attribute see test82
|
||
|
-alias attribute wont work
|
||
|
-unnamed structs in union may lead to compiler internal error
|
||
|
-tcc: error: undefined symbol '__tcc_cvt_ftol'
|
||
|
--in config.h - used workaround (#define COMMIT_4ad186c5ef61_IS_FIXED
|
||
|
--but this is precision bugfix - see \tests\tests2\000_cvttoftol.c
|
||
|
-not working: default search path are ./include ./lib from executable
|
||
|
--under KOS need to use -Bpath_to_ktcc
|
||
|
--start.o not found using -B (kos) - put near your.c file
|
||
|
-if static var sized more than 14096+ -> crash compiled .exe (kos)
|
||
|
---^ stack size set in menuet header at compile time tccmeos.c:177 about 4k
|
||
|
|
||
|
Tests status:
|
||
|
asmtest +
|
||
|
abitest not tested (embedding compiler)
|
||
|
libtcctest not tested (embedding compiler)
|
||
|
boundtest ----- alloca removed from tcc libtcc.c:945 (really not worked)
|
||
|
tcctest most test ok, some problems with long double
|
||
|
vla_test.c +
|
||
|
|
||
|
pp/* + (minor comment error in 13.s)
|
||
|
|
||
|
tests2/* : see below
|
||
|
|
||
|
// errata
|
||
|
skippin' tests
|
||
|
test76 fail dollars in identifiers
|
||
|
test34 fail (array assignment not supported)
|
||
|
test73 fail compile (no stdint.h), printfloat, ARM specific
|
||
|
test46 no stdin - removed funtionality read from console, but file ops works
|
||
|
|
||
|
|
||
|
libc:
|
||
|
-no "finished" in title of console program after exit console - use con_exit()
|
||
|
-bench timing error (0s or 1s)
|
||
|
-minimal memory allocator
|
||
|
-memmove cannot overlap
|
||
|
|
||
|
|
||
|
libc not full
|
||
|
no files:
|
||
|
assert.h
|
||
|
errno.h
|
||
|
limits.h
|
||
|
locale.h
|
||
|
setjmp.h
|
||
|
signall.h
|
||
|
time.h
|
||
|
check functions:
|
||
|
|
||
|
stdio.h:
|
||
|
Operations on files: none http://www.cplusplus.com/reference/cstdio/
|
||
|
reopen
|
||
|
setbuf, setvbuf
|
||
|
scanf, sscanf, vfscanf(C11), vscanf(C11), vsscanf(C11)
|
||
|
vfprintf, vsfprintf
|
||
|
|
||
|
+fgets, gets
|
||
|
fputs, puts
|
||
|
getchar
|
||
|
putc
|
||
|
+putchar
|
||
|
Error-handling: only feof
|
||
|
Macros: only EOF, NULL, FILE
|
||
|
|
||
|
-all files in libc/kolibrisys catalog are stdcall in header, but in asm cdecl
|