User Tools

Site Tools


wswan:bugs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
wswan:bugs [2025/11/01 08:57] asiewswan:bugs [2026/01/10 20:50] (current) – [Bug: Miscompilations involving far function pointers] asie
Line 6: Line 6:
   * gcc-ia16's handling of far pointers is considered experimental. Caveat emptor.   * gcc-ia16's handling of far pointers is considered experimental. Caveat emptor.
   * gcc-ia16's handling of DS != SS (wwitch target) is pretty buggy. It works for simple code, but complex pointer operations may lead to bugs. Again, caveat emptor.   * gcc-ia16's handling of DS != SS (wwitch target) is pretty buggy. It works for simple code, but complex pointer operations may lead to bugs. Again, caveat emptor.
 +  * The optimization levels ''%%-O0%%'', ''%%-O2%%'' and ''%%-Os%%'' are most stable (roughly in that order).
  
 ==== Bug: Miscompilations involving far function pointers ==== ==== Bug: Miscompilations involving far function pointers ====
  
-In some cases, when calling pointers from arrays of far function pointers in optimization modes >= -O1, the code will be miscompiled. This is a [[https://github.com/tkchia/gcc-ia16/issues/120|known issue]], with no ETA for a fix.+In some cases, when calling pointers from arrays of far function pointers in optimization modes >= -O1, the code will be miscompiled. This is a [[https://codeberg.org/tkchia/gcc-ia16/issues/6|known issue]], with no ETA for a fix.
  
 One can work around this by annotating the affected function to be compiled without optimizations. In particular, one can create a separate function that //only// acts as a wrapper for the function call: One can work around this by annotating the affected function to be compiled without optimizations. In particular, one can create a separate function that //only// acts as a wrapper for the function call:
wswan/bugs.1761987439.txt.gz · Last modified: by asie