Subversion Repositories Kolibri OS

Rev

Rev 6433 | Rev 6441 | 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
 
6439 siemargl 24
-using __attribute__((packed)) see test82. need naming struct twice as in kos32sys1.h
25
-using __attribute__ ((alias xxx)) restricted only for non "static inline" functions
26
-erroneous or "non TCC" member using in nested structs or unions can lead to compiler internal error
6429 siemargl 27
-not working: default search path are ./include ./lib from executable
28
--under KOS need to use -Bpath_to_ktcc
29
--start.o not found using -B (kos) - put near your.c file
30
-if static var sized more than 14096+ -> crash compiled .exe (kos)
31
---^ stack size set in menuet header at compile time tccmeos.c:177 about 4k
6439 siemargl 32
-bench timing coarse (0s or 1s), no usec in newlib gettimeofday. OK
6429 siemargl 33
 
34
Tests status:
35
asmtest +
36
abitest not tested (embedding compiler)
37
libtcctest not tested (embedding compiler)
38
boundtest ----- alloca removed from tcc  libtcc.c:945 (really not worked)
39
tcctest most test ok, some problems with long double
40
vla_test.c +
41
 
42
pp/* +  (minor comment error in 13.s)
43
 
44
tests2/* : see below
45
 
46
// errata
47
skippin' tests
48
test76 fail dollars in identifiers
49
test34 fail (array assignment not supported)
50
test73 fail compile (no stdint.h), printfloat, ARM specific
51
test46 no stdin - removed funtionality read from console, but file ops works
52
 
53
 
54
libc:
55
-no "finished" in title of console program after exit console - use con_exit()
6439 siemargl 56
-used system memory allocator (4096 bytes minimum)
6429 siemargl 57
 
58
 
6433 siemargl 59
libc not complete. overall status:
6429 siemargl 60
no files:
6433 siemargl 61
errno.h  - in stdio
6429 siemargl 62
limits.h
63
locale.h
64
setjmp.h
65
signall.h
6439 siemargl 66
time.h  - can use get_tick_count()/100 from kos32sys1.h
6433 siemargl 67
wchar.h
68
wctype.h
6429 siemargl 69
 
6433 siemargl 70
 
71
 
72
functions absent list:
73
 
74
math.h
75
frexp
76
ldexp
77
modf
78
fmod
79
 
80
HUGE_VAL
81
 
6429 siemargl 82
stdio.h:
6439 siemargl 83
remove
84
rename
85
tmpfile
86
tmpnam
6433 siemargl 87
freopen
88
setbuf
89
setvbuf
6429 siemargl 90
 
91
 
6433 siemargl 92
stdlib.h:
93
atof
94
atol
95
strtol, strtoul
96
atexit
97
getenv
98
system
99
bsearch
100
qsort
101
mblen
102
mbtowc
103
wctomb
104
mbstowcs
105
wcstombs
106
 
107
string.h
108
strxfrm
109