| 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 | }}} |