| | 1 | = Updating GCC/Binutils Toolchain = |
| | 2 | |
| | 3 | 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. |
| | 4 | |
| | 5 | The process of updating the toolchain is very similar for both GCC and binutils-gdb projects. |
| | 6 | |
| | 7 | * Add another Git remote with upstream development. |
| | 8 | * git://sourceware.org/git/binutils-gdb.git |
| | 9 | * git://gcc.gnu.org/git/gcc.git |
| | 10 | * Find a branch on the upstream with the right version. |
| | 11 | * binutils-2_40-branch |
| | 12 | * releases/gcc-13 |
| | 13 | * Create a new branch starting on the last commit from branch from the previous step. |
| | 14 | * binutils-2_40-helenos |
| | 15 | * 13_1_1-helenos |
| | 16 | * Rebase changes in previous *-helenos branch onto the branch from the previous step. |
| | 17 | * There will be conflicts: mostly in various *config* files as new targets are added or obsoleted ones are removed. Usually resolving them is straightforward. |
| | 18 | * Update the version numbers in toolchain.sh. |
| | 19 | |
| | 20 | {{{#!box type=information |
| | 21 | = Pro-tip = |
| | 22 | 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. |
| | 23 | }}} |