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 |
- |