Subversion Repositories Kolibri OS

Rev

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

  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.  
  62. libc not complete. overall status:
  63. no files:
  64. assert.h
  65. errno.h  - in stdio
  66. limits.h
  67. locale.h
  68. setjmp.h
  69. signall.h
  70. time.h
  71. wchar.h
  72. wctype.h
  73.  
  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.  
  88. stdio.h:
  89. FOPEN_MAX
  90. L_tmpnam
  91. TMP_MAX
  92. Operations on files: none http://www.cplusplus.com/reference/cstdio/
  93. freopen
  94. setbuf
  95. setvbuf
  96.  
  97.  
  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.  
  117. -all files in libc/kolibrisys catalog are stdcall in header, but in asm cdecl
  118.