Skip to content

Releases: tkchia/gcc-ia16

20210302

07 Mar 06:38
Compare
Choose a tag to compare

Note: Please see https://github.com/tkchia/build-ia16/releases and https://launchpad.net/%7Etkchia/+archive/ubuntu/build-ia16/ for the most recent pre-compiled packages and release notes.

gcc-ia16-20180807-gcc-testsuite-tested: 7 Aug 2018 "stable" gcc-ia16 commit (tkchia)

07 Aug 11:48
Compare
Choose a tag to compare
This commit of gcc-ia16 has undergone GCC's C language
regression tests, and can thus be considered "stable".

This release includes the following changes relative to the
previous "stable" release (14 Jul 2018):
  * Added a new `regparmcall' calling convention, available
    for now through __attribute__ ((regparmcall)).
  * Bug fix: %ds might not be reset properly to %ss before
    function return, when shrink-wrapping optimization was
    in effect.
  * Minor bug fixes:
    - A function _definition_ `void __far f (void) { ... }'
      no longer gives a spurious "function definition has
      qualified void return type" warning.
    - __attribute__ ((near_section)) and __attribute__
      ((far_section)) are now ignored on near functions, for
      the purposes of comparing type attributes.
  * Corrected some mistakes in the regression test suite.

Several minor regressions are as in the previous release:
  * Size regressions:
    - gcc.c-torture/execute/pr58574.c with -O0
    - gcc.dg/torture/fp-int-convert-double.c with -O0
    - gcc.dg/torture/fp-int-convert-long-double.c with -O0
    - c-c++-common/torture/complex-sign-mul.c with -Os.
    - c-c++-common/torture/vector-compare-1.c with -O1.
  * attribute-incompat-1.c and attribute-abi-ds-3.c in
    gcc.target/ia16/torture/ currently fail to give expected
    warnings, when compiled with -flto.
  * gcc.target/ia16/torture/cmodel-small-only/far-addr-fp-{1,
    2}.c fail under -flto, as __builtin_ia16_FP_OFF (.) cannot
    currently be folded when LTO is in effect.

gcc-ia16-20180714-gcc-testsuite-tested: 14 Jul 2018 "stable" gcc-ia16 commit (tkchia)

14 Jul 13:32
Compare
Choose a tag to compare
This commit of gcc-ia16 has undergone GCC's C language
regression tests, and can thus be considered "stable".

This release includes the following changes relative to the
previous "stable" release (8 Jul 2018):
  * -mfar-function-if-far-return-type is now enabled on
    default.  This means that `int __far f (void);' is now
    considered a far function declaration.
  * Bug fix: `void __far f (void);' no longer gives a spurious
    "function with qualified void return type called" warning.
  * __builtin_ia16_FP_OFF (fp) can now be constant-folded,
    even if *fp occurs in the same translation unit.
  * However, __builtin_ia16_FP_OFF (.) is no longer folded
    when LTO is in effect.  The current implementation of
    this built-in uses a trick where the same symbol is
    "interpreted" as having two different types, and the LTO
    engine hates that.

There are two minor new regressions:
  * gcc.target/ia16/torture/cmodel-small-only/far-addr-fp-{1,
    2}.c fail under -flto, due to the above.

Several minor regressions are as in the previous release:
  * Size regressions:
    - gcc.c-torture/execute/pr58574.c with -O0
    - gcc.dg/torture/fp-int-convert-double.c with -O0
    - gcc.dg/torture/fp-int-convert-long-double.c with -O0
    - c-c++-common/torture/complex-sign-mul.c with -Os.
    - c-c++-common/torture/vector-compare-1.c with -O1.
  * attribute-incompat-1.c and attribute-abi-ds-3.c in
    gcc.target/ia16/torture/attribute currently fail to give
    expected warnings, when compiled with -flto.

gcc-ia16-20180708-gcc-testsuite-tested: 8 Jul 2018 "stable" gcc-ia16 commit (tkchia)

13 Jul 17:24
Compare
Choose a tag to compare
This commit of gcc-ia16 has undergone GCC's C language
regression tests, and can thus be considered "stable".

This release includes the following changes relative to the
previous "stable" release (29 Jun 2018):
  * Added a new function __builtin_ia16_FP_OFF (.) which
    extracts the offset portion of a far pointer.  This
    function is useful in that it can be invoked from within
    static initializers in some cases.
  * Calls to __builtin_ia16_selector (.) can now also be
    constant-folded in some cases.
  * Fixed a bug in which casting a far pointer to a near
    pointer crashed GCC.

Several minor regressions are as in the previous release:
  * Size regressions:
    - gcc.c-torture/execute/pr58574.c with -O0
    - gcc.dg/torture/fp-int-convert-double.c with -O0
    - gcc.dg/torture/fp-int-convert-long-double.c with -O0
    - c-c++-common/torture/complex-sign-mul.c with -Os.
    - c-c++-common/torture/vector-compare-1.c with -O1.
  * attribute-incompat-1.c and attribute-abi-ds-3.c in
    gcc.target/ia16/torture/attribute currently fail to give
    expected warnings, when compiled with -Os + -flto.

gcc-ia16-20180629-gcc-testsuite-tested: 29 Jun 2018 "stable" gcc-ia16 commit (tkchia)

02 Jul 16:31
Compare
Choose a tag to compare
This commit of gcc-ia16 has undergone GCC's C language
regression tests, and can thus be considered "stable".

This release includes the following changes relative to the
previous "stable" release (14 Jun 2018):
  * Added __attribute__ ((far_section)).
  * Fixed the logic for checking if two function types are
    compatible (given their qualifiers and attributes).
  * Made libstdc++'s c++locale.cc use strtold (...).
  * Reorganized the IA-16 test cases somewhat.
  * Preparing some groundwork for implementing the medium
    memory model (one data segment, multiple text segments).

This release adds a new test program gcc.target/ia16/torture/
attribute-incompat-1.c, and also enables the with-LTO tests
for the test program gcc.target/ia16/torture/attribute-abi-
ds-3.c.  This resulted in some "regressions" where warnings
were expected but not seen when compiling with -Os -flto.
I hope to find a way to fix this problem.

Several minor regressions are as in the previous release:
  * Size regressions:
    - gcc.c-torture/execute/pr58574.c with -O0
    - gcc.dg/torture/fp-int-convert-double.c with -O0
    - gcc.dg/torture/fp-int-convert-long-double.c with -O0
    - c-c++-common/torture/complex-sign-mul.c with -Os.
    - c-c++-common/torture/vector-compare-1.c with -O1.

gcc-ia16-20180614-gcc-testsuite-tested: 14 Jun 2018 "stable" gcc-ia16 commit (tkchia)

15 Jun 04:38
Compare
Choose a tag to compare
This commit of gcc-ia16 has undergone GCC's C language
regression tests, and can thus be considered "stable".

This release includes the following changes relative to the
previous "stable" release (3 Jun 2018):
  * Added experimental (and incomplete) support for the
    Embeddable Linux Kernel Subset (ELKS) OS.
  * Unified the -mcmodel=small and -mseparate-code-segment
    options.
  * Added a new -mno-segment-relocation-stuff option.

Several minor regressions are as in the previous release:
  * Size regressions:
    - gcc.c-torture/execute/pr58574.c with -O0
    - gcc.dg/torture/fp-int-convert-double.c with -O0
    - gcc.dg/torture/fp-int-convert-long-double.c with -O0
    - c-c++-common/torture/complex-sign-mul.c with -Os.
    - c-c++-common/torture/vector-compare-1.c with -O1.

gcc-ia16-20180603-gcc-testsuite-tested: 3 Jun 2018 "stable" gcc-ia16 commit (tkchia)

03 Jun 16:48
Compare
Choose a tag to compare
This commit of gcc-ia16 has undergone GCC's C language
regression tests, and can thus be considered "stable".

This release includes the following changes relative to the
previous "stable" release (28 Apr 2018):

  * Modified the c-c++-common/torture/vector-compare-1.c test
    case to use the small memory model (-mcmodel=small) when
    targeting ia16-*-*.  This program now compiles to larger
    binaries, because newlib's _fstat (...) now does more
    things and also indirectly links in _tzset_r (.).

There is one (relatively minor) new regression:

  * c-c++-common/torture/vector-compare-1.c with -O1 now has
    a text segment which is too large to fit into 64 KiB.

Several minor regressions are as in the previous release:
  * Size regressions:
    - gcc.c-torture/execute/pr58574.c with -O0
    - gcc.dg/torture/fp-int-convert-double.c with -O0
    - gcc.dg/torture/fp-int-convert-long-double.c with -O0
    - c-c++-common/torture/complex-sign-mul.c with -Os.

gcc-ia16-20180428-gcc-testsuite-tested: 28 Apr 2018 "stable" gcc-ia16 commit (tkchia)

06 May 15:18
Compare
Choose a tag to compare
This commit of gcc-ia16 has undergone GCC's C language
regression tests, and can thus be considered "stable".

This release includes the following changes relative to the
previous "stable" release (19 Apr 2018):

  * Backported Jakub Jelinek's --with-gcc-major-version-only
    patch from GCC 7+.  This is to help with porting gcc-ia16
    to DJGPP/MS-DOS sans long file name support.
  * Added a test case to test that MZ relocations work right.

Several minor regressions are as in the previous release:
  * Size regressions:
    - gcc.c-torture/execute/pr58574.c with -O0
    - gcc.dg/torture/fp-int-convert-double.c with -O0
    - gcc.dg/torture/fp-int-convert-long-double.c with -O0
    - c-c++-common/torture/complex-sign-mul.c with -Os.

gcc-ia16-20180419-gcc-testsuite-tested: 19 Apr 2018 "stable" gcc-ia16 commit (tkchia)

19 Apr 16:06
Compare
Choose a tag to compare
This commit of gcc-ia16 has undergone GCC's C language
regression tests, and can thus be considered "stable".

This release includes the following changes relative to the
previous "stable" release (13 Apr 2018):
  * Changed the way far function calls are handled --- calls
    to far functions defined outside a module now use
    `lcall', rather than `pushw %cs; call'.  This is similar
    to how Open Watcom C/C++ works.
  * Added `assume_ds_data', `no_assume_ds_data', and
    `near_section' function attributes.

Several minor regressions are as in the previous release:
  * Size regressions:
    - gcc.c-torture/execute/pr58574.c with -O0
    - gcc.dg/torture/fp-int-convert-double.c with -O0
    - gcc.dg/torture/fp-int-convert-long-double.c with -O0
    - c-c++-common/torture/complex-sign-mul.c with -Os.

gcc-ia16-20180413-gcc-testsuite-tested: 13 Apr 2018 "stable" gcc-ia16 commit (tkchia)

13 Apr 18:56
Compare
Choose a tag to compare
This commit of gcc-ia16 has undergone GCC's C language
regression tests, and can thus be considered "stable".

This release includes the following changes relative to the
previous "stable" release (7 Apr 2018):
  * Added experimental support for generation of code which
    can work in 80286 protected mode (-mprotected-mode).
  * Removed `wide-types' and `*/frame-pointer' multilibs.
  * Improved reporting of "tiny code model does not support
    `__far' static storage variables" error condition.
  * Refactored expansion of (call...) insn templates.

The test case gcc.dg/tree-ssa/gen-vect-11.c has now been
disabled for ia16-*-*, since it does not really apply.

Several minor regressions are as in the previous release:
  * Size regressions:
    - gcc.c-torture/execute/pr58574.c with -O0
    - gcc.dg/torture/fp-int-convert-double.c with -O0
    - gcc.dg/torture/fp-int-convert-long-double.c with -O0
    - c-c++-common/torture/complex-sign-mul.c with -Os.