= Updating GCC/Binutils Toolchain = HelenOS is build using cross toolchain built from our repositories that contain modified versions of GCC and Binutils. The customization consists of the addition of HelenOS-specific targets. The process of updating the toolchain is very similar for both GCC and binutils-gdb projects. * Add another Git remote with upstream development. * git://sourceware.org/git/binutils-gdb.git * git://gcc.gnu.org/git/gcc.git * Find a branch on the upstream with the right version. * binutils-2_40-branch * releases/gcc-13 * Create a new branch starting on the last commit from branch from the previous step. * binutils-2_40-helenos * 13_1_1-helenos * Rebase changes in previous *-helenos branch onto the branch from the previous step. * There will be conflicts: mostly in various *config* files as new targets are added or obsoleted ones are removed. Usually resolving them is straightforward. * Update the version numbers in toolchain.sh. {{{#!box type=information = Pro-tip = Set up the repositories in toolchain.sh to point to your local clones to speed-up the cloning. Or setup the clones in the downloads directory and comment-out all Git operations. }}}