Subversion Repositories Kolibri OS

Rev

Rev 6441 | Rev 6460 | 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
6441 siemargl 21
-__fastcall incompatible with other compilers. now stack freed by caller.
22
 must fix i386-gen.c@490,572 (fixed in other branch https://github.com/mirror/tinycc)
6429 siemargl 23
 
24
 
6439 siemargl 25
-using __attribute__((packed)) see test82. need naming struct twice as in kos32sys1.h
26
-using __attribute__ ((alias xxx)) restricted only for non "static inline" functions
27
-erroneous or "non TCC" member using in nested structs or unions can lead to compiler internal error
6429 siemargl 28
-not working: default search path are ./include ./lib from executable
29
--under KOS need to use -Bpath_to_ktcc
30
--start.o not found using -B (kos) - put near your.c file
6439 siemargl 31
-bench timing coarse (0s or 1s), no usec in newlib gettimeofday. OK
6429 siemargl 32
 
33
Tests status:
34
asmtest +
35
abitest not tested (embedding compiler)
36
libtcctest not tested (embedding compiler)
37
boundtest ----- alloca removed from tcc  libtcc.c:945 (really not worked)
38
tcctest most test ok, some problems with long double
39
vla_test.c +
40
 
41
pp/* +  (minor comment error in 13.s)
42
 
43
tests2/* : see below
44
 
45
// errata
46
skippin' tests
47
test76 fail dollars in identifiers
48
test34 fail (array assignment not supported)
49
test73 fail compile (no stdint.h), printfloat, ARM specific
50
test46 no stdin - removed funtionality read from console, but file ops works
51
 
52
 
53
libc:
54
-no "finished" in title of console program after exit console - use con_exit()
6439 siemargl 55
-used system memory allocator (4096 bytes minimum)
6429 siemargl 56
 
57
 
6433 siemargl 58
libc not complete. overall status:
6429 siemargl 59
no files:
6433 siemargl 60
errno.h  - in stdio
6429 siemargl 61
limits.h
62
locale.h
63
setjmp.h
64
signall.h
6439 siemargl 65
time.h  - can use get_tick_count()/100 from kos32sys1.h
6433 siemargl 66
wchar.h
67
wctype.h
6429 siemargl 68
 
6433 siemargl 69
 
70
 
71
functions absent list:
72
 
73
math.h
74
frexp
75
ldexp
76
modf
77
fmod
78
 
79
HUGE_VAL
80
 
6429 siemargl 81
stdio.h:
6439 siemargl 82
remove
83
rename
84
tmpfile
85
tmpnam
6433 siemargl 86
freopen
87
setbuf
88
setvbuf
6429 siemargl 89
 
90
 
6433 siemargl 91
stdlib.h:
92
atexit
93
getenv
94
system
95
bsearch
96
qsort
97
mblen
98
mbtowc
99
wctomb
100
mbstowcs
101
wcstombs
102
 
103
string.h
104
strxfrm
105
 
106
 
6441 siemargl 107
            Status or libc tests
108
 
109
---FAILED---
6443 siemargl 110
strtoul incorrect work with big unsigned > MAX_LONG
6441 siemargl 111
 
112
 
113
---NOT TESTED---
114
no library fns realized
115
qsort
116
time
117
 
118
---HANG---
119
sscanf
120
>TEST_F(0x1234p56) - no %a formats
121
 
122
 
123
---STACK IS SMALL---
6443 siemargl 124
use new -stack=1280000 option to pass test
6441 siemargl 125
tstring
126
strtodlong
127
 
128
 
129
--other--
130
fscanf
131
-?scanf ignores width specs, '*' and [chars], cant read %a float
132
-%n counts as parameter
133
 
134
snprintf
135
-some format misturbances
6443 siemargl 136
-may incorrect prints unsigned > 2147483647L
6441 siemargl 137
 
138
ungetc
139
-ungetc fails if filepos == 0 - no tricks
140
 
141
all file ops limited to 2Gb