Subversion Repositories Kolibri OS

Rev

Rev 6433 | 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. -memmove cannot overlap
  61.  
  62.  
  63. libc not full
  64. no files:
  65. assert.h
  66. errno.h
  67. limits.h
  68. locale.h
  69. setjmp.h
  70. signall.h
  71. time.h
  72. check functions:
  73.  
  74. stdio.h:
  75. Operations on files: none http://www.cplusplus.com/reference/cstdio/
  76. reopen
  77. setbuf, setvbuf
  78. scanf, sscanf, vfscanf(C11), vscanf(C11), vsscanf(C11)
  79. vfprintf, vsfprintf
  80.  
  81. +fgets, gets
  82. fputs, puts
  83. getchar
  84. putc
  85. +putchar
  86. Error-handling: only feof
  87. Macros: only EOF, NULL, FILE
  88.  
  89. -all files in libc/kolibrisys catalog are stdcall in header, but in asm cdecl
  90.