Skip to content

Releases: BrickBot/GNU-Legacy-Toolchain

GNU Legacy Toolchain v1.1.5

10 Jan 20:32

Choose a tag to compare

Core Updates:
This release is comprised almost exclusively of updates to ChangeLog files, covering releases up through and including v1.1.4. Given the large number of files updated, these changes are bundled as a separate release so as to not clutter up the content on GitHub’s “Full Changelog” links for other releases.

Nearly all of the changes had been documented elsewhere in one form or another, but this effort went back through and updated the corresponding ChangeLog files in order to continue that record.

Full Changelog: v1.1.4...v1.1.5

GNU Legacy Toolchain v1.1.4

10 Jan 18:46

Choose a tag to compare

Key Updates:

  • Continued enhancements to GitHub workflow and main configure script
  • Update the common config.guess and config.sub files to the latest version (2025-07-10)
  • Remove outdated hack that added an underscore prefix to AC_PROG_CC* macros
    • gcc-3.4.6/libobjc/aclocal.m4
    • gcc-3.4.6/libf2c/aclocal.m4
  • Update deprecated Bison %pure_parser directive in gcc-4.4.7/intl/plural.y
  • Update documentation in README.md files

Full Changelog: v1.1.3...v1.1.4

GNU Legacy Toolchain v1.1.3

17 Jul 22:50

Choose a tag to compare

Primary Updates:

  • Add includes (headers) missing from GDB sim source (needed for GCC 15)
  • Fix handling of --enable-languages in configure wrapper script
  • Update list of openSUSE build dependencies for GCC 4.4
  • Add note of libstdc++-v3 dependency on NewLib in main ReadMe

Full Changelog: v1.1.2...v1.1.3

GNU Legacy Toolchain v1.1.2

11 Jul 03:28

Choose a tag to compare

Primary Updates:

  • Update configure flags for GCC3-based builds based on what is built
  • Preserve NoConfigDirs passed via command-line arguments when building under Cygwin, such as:
    • --disable-libdecnumber
    • --disable-sim
    • --disable-gdb

Full Changelog: v1.1.1...v1.1.2

GNU Legacy Toolchain v1.1.1

09 Jul 01:05

Choose a tag to compare

Primary updates:

  • Address build failures encountered with GCC 15.1.1 due to missing #include statements
  • Add further troubleshooting and diagnostics information

Full Changelog: v1.1.0...v1.1.1

GNU Legacy Toolchain v1.1.0

05 Jul 16:56

Choose a tag to compare

Enhancement release of the GNU Legacy Toolchain for combined builds, with key new features including the following:

  • Add options to builds to skip the installation of files typically excluded by distribution package maintainers
    • If using the ./sym-combined/rcx-lego-configure script targeting the Hitachi H8/300, these new options are included by default.
  • Cygwin support
    • Cygwin builds were also added to the Continuous Integration workflow

Full Changelog: v1.0.0...v1.1.0

GNU Legacy Toolchain v1.0.0

28 Jun 18:24

Choose a tag to compare

Initial release of the GNU Legacy Toolchain for combined builds

More details are available on the project GitHub page, but briefly this project bundles parts the following for a combined build:

  • binutils-2.16.1
  • gcc-3.4.6
  • gcc-4.4.7
  • gpc-2.1-20070904
  • newlib-1.19.0
  • config-latest
  • gdb-5.3 -or- gdb-6.8

With GCC 3.4.6, supported programming languages include the following:

  • C
  • C++
  • Fortran77
  • Java (GCJ)
  • Objective-C
  • Pascal (GPC)
  • TreeLang

The Ada language is currently unsupported, as current Ada compiler tools are unable to build this legacy Ada source code.

Collectively, gdb-6.8 appears to be the ideal GDB version for a combined toolchain build; however, the GDB server capabilities that were integrated into the BrickEmu emulator were based on GDB v5 and do not work with GDB v6.  So, this project is currently able to be selectively built with either GDB v5 or GDB v6.

In addition to the main README.md on the project site, please also see the README.md files in both the "patches" subdirectory and the "sym-combined" subdirectory for even further details on how this project is setup and what patches have been applied.

More build details are available on the project site, but a particular highlight is that if targeting the RCX, instead of running the "sym-combined/configure" or "sym-combined/h8300-hitachi-coff-configure" scripts, run the "sym-combined/rcx-lego-configure" script to appropriately setup the configure script.

If everything is adequately configured, BrickEmu still works with the latest version of DDD, which was nice to see.  There are a few quirks in how things work compared to a perhaps more typical debug session, but the debugging guide on the original BrickEmu project site still appears usable.  Briefly, DDD's "Run" and "Stop" should not be used with a BrickEmu setup.  Instead, load your program, set your breakpoints, press "Continue" in DDD, and then start your program in the virtual RCX.

In an effort to provide timely warning of any breaking changes introduced by newer tool versions as they evolve, a GitHub Action is setup to run on a weekly basis.

High-Level Overview of Changes to Project Code

Due to breaking changes that have been made to various libraries, tools, etc. over time, some code from the original projects must be updated in order to be able to build and run on contemporary systems. At a high level, changes include the following (refer to commit history and/or individual ChangeLog files for further information):

  • Apply applicable patches from distribution packaging sources
    • Debian
    • Red Hat
  • Update handling of default installation paths:
    • /usr/share/man has superseded /usr/man
    • /usr/share/info has superseded /usr/info
  • Address definition changes:
    • Convert "struct siginfo" to "siginfo_t"
    • Convert "struct ucontext" to "ucontext_t"
    • Add missing include files
  • Updates due to tighter compiler rules and checks.
  • Address potential overflow issues identified by FORTIFY
  • Updates for compatibility with newer versions of Bison
  • Update *.texi, *.info, and *.texinfo files for compatibility with newer doc tool versions.
  • Makefiles:
    • gprof: Update SUFFIX-styles rules in Makefile.am and Makefile.in.
    • gprof: Fix the rule for %m in Makefile.am and Makefile.in.
    • Updates to support additional/enhanced configure options
  • Capability backporting:
    • Basic multiarch support in GCC 3.4.6
    • Fuller multiarch support in GCC 4.4.7
  • Porting of GCC CIL/CLI (.NET) to GCC 4.4.7