Subversion Repositories Kolibri OS

Rev

Rev 6460 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6460 Rev 7172
Line 1... Line 1...
1
Siemargl port comments 
1
Siemargl port comments 
Line 2... Line 2...
2
 
2
 
3
Used github branch https://github.com/TinyCC/tinycc
3
Used github branch https://github.com/TinyCC/tinycc
Line 4... Line 4...
4
It have a vesion 0.9.26 with heads up to 0.9.27 - see ChangeLog
4
It have a vesion 0.9.26 with heads up to 0.9.27 - see ChangeLog
-
 
5
 
Line 5... Line 6...
5
 
6
Kolibri version specifics
6
Kolibri version errata/changelog:
7
errata/changelog - moved to trunk/readme.txt
7
 
8
 
8
-added TCC_TARGET_MEOS as needed
9
-added TCC_TARGET_MEOS as needed
Line 13... Line 14...
13
-to use standard ktcc lib must add -lck at commandline
14
-to use standard ktcc lib must add -lck at commandline
14
-default search paths are ./include ./lib from executable (under KOS need to 
15
-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
 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
-when config.h is ready, compiler can be easy builded as [kos32-]gcc tcc.c libtcc.c
17
 see also makefile.kos32
18
 see also makefile.kos32
18
-silent (kos) -> writes to debugboard
-
 
19
-impossible using with mingw-gcc compiled lib, incompatible library format:
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
20
 .o is PE-format from gcc but ELF from tcc, may be linux-gcc does it ok
21
-__fastcall incompatible with other compilers. now stack freed by caller. 
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)
22
 must fix i386-gen.c@490,572 (fixed in other branch https://github.com/mirror/tinycc)
Line 23... Line 23...
23
 
23
 
24
 
24
 
25
-using __attribute__((packed)) see test82. need naming struct twice as in kos32sys1.h
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
-
 
28
-not working: default search path are ./include ./lib from executable 
-
 
29
--under KOS need to use -Bpath_to_ktcc
26
-using __attribute__ ((alias xxx)) restricted only for non "static inline" functions 
Line 30... Line 27...
30
--start.o not found using -B (kos) - put near your.c file
27
-erroneous or "non TCC" member using in nested structs or unions can lead to compiler internal error
31
-bench timing coarse (0s or 1s), no usec in newlib gettimeofday. OK
28
-bench timing coarse (0s or 1s), no usec in newlib gettimeofday. OK
32
 
29
 
Line 48... Line 45...
48
test34 fail (array assignment not supported)
45
test34 fail (array assignment not supported)
49
test73 fail compile (no stdint.h), printfloat, ARM specific
46
test73 fail compile (no stdint.h), printfloat, ARM specific
50
test46 no stdin - removed funtionality read from console, but file ops works
47
test46 no stdin - removed funtionality read from console, but file ops works
Line 51... Line -...
51
 
-
 
52
 
-
 
53
libc:
-
 
54
-no "finished" in title of console program after exit console - use con_exit()
-
 
55
-used system memory allocator (4096 bytes minimum)
-
 
56
 
-
 
57
 
-
 
58
libc not complete. overall status:
-
 
59
no files:
-
 
60
errno.h  - in stdio
-
 
61
limits.h
-
 
62
locale.h
-
 
63
setjmp.h
-
 
64
signal.h
-
 
65
time.h  - can use get_tick_count()/100 from kos32sys1.h
-
 
66
wchar.h
-
 
67
wctype.h
-
 
68
 
-
 
69
 
-
 
70
 
-
 
71
functions absent list:
-
 
72
 
-
 
73
stdio.h:
-
 
74
remove
-
 
75
rename
-
 
76
tmpfile
-
 
77
tmpnam
-
 
78
freopen
-
 
79
setbuf
-
 
80
setvbuf
-
 
81
 
-
 
82
 
-
 
83
stdlib.h:
-
 
84
atexit
-
 
85
getenv
-
 
86
system
-
 
87
bsearch
-
 
88
qsort
-
 
89
mblen
-
 
90
mbtowc
-
 
91
wctomb
-
 
92
mbstowcs
-
 
93
wcstombs
-
 
94
 
-
 
95
string.h
-
 
96
strxfrm
-
 
97
 
-
 
98
 
-
 
99
            Status or libc tests
-
 
100
 
-
 
101
---FAILED---
-
 
102
strtoul incorrect work with big unsigned > MAX_LONG
-
 
103
 
-
 
104
 
-
 
105
---NOT TESTED---
-
 
106
no library fns realized
-
 
107
qsort
-
 
108
time
-
 
109
 
-
 
110
---HANG---
-
 
111
sscanf
-
 
112
>TEST_F(0x1234p56) - no %a formats
-
 
113
 
-
 
114
 
-
 
115
---STACK IS SMALL---
-
 
116
use new -stack=1280000 option to pass test
-
 
117
tstring	
-
 
118
strtodlong
-
 
119
 
-
 
120
 
-
 
121
--other--
-
 
122
fscanf 
-
 
123
-?scanf ignores width specs, '*' and [chars], cant read %a float
-
 
124
-%n counts as parameter
-
 
125
 
-
 
126
snprintf
-
 
127
-some format misturbances
-
 
128
-may incorrect prints unsigned > 2147483647L
-
 
129
 
-
 
130
ungetc
-
 
131
-ungetc fails if filepos == 0 - no tricks
-