Releases: BrickBot/GNU-Legacy-Toolchain
GNU Legacy Toolchain v1.1.5
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
Key Updates:
- Continued enhancements to GitHub workflow and main
configurescript - Update the common
config.guessandconfig.subfiles to the latest version (2025-07-10) - Remove outdated hack that added an underscore prefix to
AC_PROG_CC* macrosgcc-3.4.6/libobjc/aclocal.m4gcc-3.4.6/libf2c/aclocal.m4
- Update deprecated Bison
%pure_parserdirective ingcc-4.4.7/intl/plural.y - Update documentation in
README.mdfiles
Full Changelog: v1.1.3...v1.1.4
GNU Legacy Toolchain v1.1.3
Primary Updates:
- Add includes (headers) missing from GDB sim source (needed for GCC 15)
- Fix handling of
--enable-languagesinconfigurewrapper 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
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
Primary updates:
- Address build failures encountered with GCC 15.1.1 due to missing
#includestatements - Add further troubleshooting and diagnostics information
Full Changelog: v1.1.0...v1.1.1
GNU Legacy Toolchain v1.1.0
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-configurescript targeting the Hitachi H8/300, these new options are included by default.
- If using the
- 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
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