Subversion Repositories Kolibri OS

Rev

Rev 6429 | Rev 6439 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6429 siemargl 1
Siemargl port comments
2
 
3
Used github branch https://github.com/TinyCC/tinycc
4
It have a vesion 0.9.26 with heads up to 0.9.27 - see ChangeLog
5
 
6
Kolibri version errata/changelog:
7
 
8
-added TCC_TARGET_MEOS as needed
9
-leading_underscore by default is 0 (can use -f[no-]leading-underscore),
10
otherwise (error) underscoring all symbols, not only cdecl
11
-added message in tccmeos.c about missed symbols when linking KOS executable
12
-start.o added automatically, when -nostdlib not used
13
-to use standard ktcc lib must add -lck at commandline
14
-default search paths are ./include ./lib from executable (under KOS need to
15
 use -Bpath_to_ktcc and put start.o in current dir)
16
-when config.h is ready, compiler can be easy builded as [kos32-]gcc tcc.c libtcc.c
17
 see also makefile.kos32
18
-silent (kos) -> writes to debugboard
19
-impossible using with mingw-gcc compiled lib, incompatible library format:
20
 .o is PE-format from gcc but ELF from tcc, may be linux-gcc does it ok
21
-no symbols (mapfile) for debug, see howtodebugtcc
22
 
23
 
24
-how to use packed attribute see test82
25
-alias attribute wont work
26
-unnamed structs in union may lead to compiler internal error
27
-tcc: error: undefined symbol '__tcc_cvt_ftol'
28
--in config.h - used workaround (#define COMMIT_4ad186c5ef61_IS_FIXED
29
--but this is precision bugfix - see \tests\tests2\000_cvttoftol.c
30
-not working: default search path are ./include ./lib from executable
31
--under KOS need to use -Bpath_to_ktcc
32
--start.o not found using -B (kos) - put near your.c file
33
-if static var sized more than 14096+ -> crash compiled .exe (kos)
34
---^ stack size set in menuet header at compile time tccmeos.c:177 about 4k
35
 
36
Tests status:
37
asmtest +
38
abitest not tested (embedding compiler)
39
libtcctest not tested (embedding compiler)
40
boundtest ----- alloca removed from tcc  libtcc.c:945 (really not worked)
41
tcctest most test ok, some problems with long double
42
vla_test.c +
43
 
44
pp/* +  (minor comment error in 13.s)
45
 
46
tests2/* : see below
47
 
48
// errata
49
skippin' tests
50
test76 fail dollars in identifiers
51
test34 fail (array assignment not supported)
52
test73 fail compile (no stdint.h), printfloat, ARM specific
53
test46 no stdin - removed funtionality read from console, but file ops works
54
 
55
 
56
libc:
57
-no "finished" in title of console program after exit console - use con_exit()
58
-bench timing error (0s or 1s)
59
-minimal memory allocator
60
 
61
 
6433 siemargl 62
libc not complete. overall status:
6429 siemargl 63
no files:
64
assert.h
6433 siemargl 65
errno.h  - in stdio
6429 siemargl 66
limits.h
67
locale.h
68
setjmp.h
69
signall.h
70
time.h
6433 siemargl 71
wchar.h
72
wctype.h
6429 siemargl 73
 
6433 siemargl 74
 
75
 
76
functions absent list:
77
 
78
math.h
79
frexp
80
ldexp
81
modf
82
fmod
83
 
84
HUGE_VAL
85
NAN
86
 
87
 
6429 siemargl 88
stdio.h:
6433 siemargl 89
FOPEN_MAX
90
L_tmpnam
91
TMP_MAX
6429 siemargl 92
Operations on files: none http://www.cplusplus.com/reference/cstdio/
6433 siemargl 93
freopen
94
setbuf
95
setvbuf
6429 siemargl 96
 
97
 
6433 siemargl 98
stdlib.h:
99
atof
100
atol
101
strtol, strtoul
102
atexit
103
getenv
104
system
105
bsearch
106
qsort
107
mblen
108
mbtowc
109
wctomb
110
mbstowcs
111
wcstombs
112
 
113
string.h
114
strxfrm
115
 
116
 
6429 siemargl 117
-all files in libc/kolibrisys catalog are stdcall in header, but in asm cdecl