Skip to content
Commit d7add8e3 authored by Gianluca Busiello's avatar Gianluca Busiello
Browse files

Build scripts with support for tests and mingw

The following new features have been added:
- Support for testsuite.
- Build of mingw toolchains.
- Test using Fastmodels.
- GDB plugin for debugging in "Fastmodels"
  emulated environemnt.

---------------------------------
Squashed commit of the following:

commit fbbdb3fa
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Mon Sep 23 16:57:41 2024 +0100

    Fixed table with list of supported builds

    The mingw builds were still reported in the table of supported
    toolchains as not supported.
    Removed the extra column as all the listed toolchains are now supported
    for building.

    Change-Id: I87dda717bc6523bffe0dc6fde79e182947bb4b88

commit 73974b80
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Fri Sep 20 14:24:50 2024 +0100

    Cleanup of all files used by the arm CI

    Created a tidy code baseline suitable for public release of the build
    scripts with support for tests, mingw and fm-gdb-plugin.

    Change-Id: I0800a0750ae32242c73252de6e2f44c6eeb4100f

commit 5d6c2f11
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Thu Sep 19 14:32:00 2024 +0100

    After looking at the mingw build process in bld_gnu in more detail, we realised the process in the read me was slightly wrong and could be optimized, this updates mingw instructions in README

    Change-Id: I813513400453d9140837b7af2f306710adc640c0

commit b6a9e92c
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Tue Jul 2 18:31:31 2024 +0100

    Applied all changes to the dejagnu files

    This patch provides the dejagnu files changed with gerrit patches:
      - 543528
      - 543529
      - 543530
      - 543531
      - 543571
      - 543605

    Change-Id: Icb09a6e7b2ba634a76b808b6ad3d452f57e431d4

commit 1ef5509a
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Thu Jul 4 17:17:44 2024 +0100

    Restored instructions for testing

    Draft of the full README that describes testing with fastmodels and
    qemu.
    fm-gdb-plugin is left out because the integration in this project
    requires further work.

    Change-Id: I0ae70d06e52a92e318911acf5fd917f1ab7ae885

commit 1b770558
Merge: a33f68c3 b9f291e1
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Tue Sep 17 14:04:26 2024 +0100

    Merge "Followup to fix issue reported in patch 647903" into main

commit b9f291e1
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Mon Sep 2 13:14:01 2024 +0100

    Followup to fix issue reported in patch 647903

    Removed wrong definition of board file with .exp extension. See:
    https://eu-gerrit-1.euhpc.arm.com/c/dsg-gnu/Internal/gnu-devtools-for-arm/+/647903/10/build-baremetal-toolchain.sh#1346

    Change-Id: I1d61e5e3bd48294b2dece230408bcbedae9d1959

commit a33f68c3
Author: dgboter <dgboter@arm.com>
Date:   Wed Aug 14 11:36:49 2024 +0100

    GNUTOOLS-15136 add docs for fm-gdb-plugin usage

    Change-Id: I55109dcc300027a4ba54fb48d9b815fce21ee39e

commit d7aab325
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Thu Jul 18 13:37:44 2024 +0100

    GNUTOOLS-15099 pass in correct params for mingw64 bit builds

    Change-Id: I0bcde942b72207faf5a7f06d8e5ff3b0e328f0f6

commit f3d72a7a
Merge: 121a9678 a2b66338
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Sun Aug 18 09:45:17 2024 +0100

    Merge "Applied all changes to the dejagnu files" into main

commit a2b66338
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Tue Jul 2 18:31:31 2024 +0100

    Applied all changes to the dejagnu files

    Applied the latest patches reviewed by Stam in his refactoring patches
    and added the dejagnu files changed with gerrit patches:
      - 543528
      - 543529
      - 543530
      - 543531 (updated to patchset 12 from July 23rd)
      - 543571 (updated to patchset 14 from July 23rd)
      - 543605

    Change-Id: Icb09a6e7b2ba634a76b808b6ad3d452f57e431d4

commit 121a9678
Merge: be801f8f c9347e9c
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Fri Aug 16 10:11:24 2024 +0100

    Merge "GNUTOOLS-15098 add documentation on how to build mingw" into main

commit c9347e9c
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Tue Jul 23 14:48:25 2024 +0100

    GNUTOOLS-15098 add documentation on how to build mingw

    Change-Id: I4b6dd3e02ecc864299facff407715567916e6c30

commit be801f8f
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Fri Aug 9 11:52:42 2024 +0100

    GNUTOOLS-15136 Build fm_gd_plugin and commit to gerrit

    Change-Id: Idc2b961b9d60c0944c28afee5235445d2e855851

commit 19eb0684
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Wed Jun 19 15:15:39 2024 +0100

    GNUTOOLS-14723 add warning when multiple targets are specified

    Change-Id: I1682a79f60ec43d92720c8721d5d3e968e4709da

commit 394fdebd
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Thu Jun 13 16:42:47 2024 +0100

    GNUTOOLS-14324 Deprecate oban-scripts

        Re-introduced testing in gnu-devtools-for-arm.
        This is a revert of the change temporarily applied with task
        GNUTOOLS-14739 "implement skipping logic for testing features"

    Change-Id: If1a2efd8f4526dbfbfd515fe5e29bf5e59bb1520

commit 0f4dc6ee
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Thu Jun 13 17:27:20 2024 +0100

    Fix the path check with readlink under macos

    The option "-f" is not supported in Darwin for readlink.
    Using greadlink on Darwin so that we can use -f

    Change-Id: Ia053808b8117925a9a4ab152fcc8850c7e31da79

commit 84d88b57
Merge: d9053860 56af4d17
Author: Alex Coplan <alex.coplan@arm.com>
Date:   Fri Apr 26 16:25:42 2024 +0100

    Merge "Add sample spc directory" into main

commit 56af4d17
Author: Alex Coplan <alex.coplan@arm.com>
Date:   Thu Apr 25 17:04:25 2024 +0100

    Add sample spc directory

    This adds a sample spc directory including trunk.spc for trunk builds and
    morello.spc for users looking to work on the Morello GNU toolchain.

    Change-Id: I2808c05321eab2efccc54586f2ef6ef8ee34f922

commit d9053860
Author: Alex Coplan <alex.coplan@arm.com>
Date:   Fri Apr 26 12:57:40 2024 +0100

    Fix aarch64-none-linux-gnu build for morello

    This fixes an issue in build-cross-linux-toolchain.sh which was causing the
    build to fail when attempting to build a Morello Linux toolchain as follows:

    ./build-gnu-toolchain.sh --target=aarch64-none-linux-gnu --morello

    The problem was that in the libc{,-headers} stages, the variable
    libc[_headers]_extra_config_envflags lost some quotes around the operands to the
    ternary invocation inside the CC=, CXX= lines.  In particular, this meant that
    instead of setting:

    CC=aarch64-none-linux-gnu-gcc -mabi=purecap -march=morello+c64

    it would just set:

    CC=aarch64-none-linux-gnu-gcc

    and this eventually caused the gcc2 build to attempt to link vanilla A64
    objects (libc crt files) into a purecap libgcc.

    This patch fixes the issue by using heredocs around the definitions of
    the appropriate extra_config_envflags variables and inserting double
    quotes around the operands to the ternary invocations.

    Tested by building a Morello toolchain as described above.

    Change-Id: Id06f0750f4df9f47df9c05742672a628d4067003

commit abc44060
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Wed Apr 24 18:18:59 2024 +0100

    GNUTOOLS-14900 Fix dir structure

    - Identified the role of the different directories setup in
    build-gnu-toolchain.sh (added notes in the header)
    - Handling execdir when the script is run from a link and as a command
      in PATH
    - Documented how to configure the scripts for execution (link or from
      PATH)

    Change-Id: Ice837c5d431782408a2c3c330df8c9a356081481

commit 391284ad
Author: Alex Coplan <alex.coplan@arm.com>
Date:   Wed Apr 24 14:18:00 2024 +0100

    source-fetch.py: Add shebang and make script executable

    This allows invoking the script directly without having to name an
    interpreter.

    Change-Id: Ieacf448bab8a0ec74a5d836d61f7b34ebc7f84cf

commit b1b98ccd
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Wed Apr 17 14:37:35 2024 +0100

    GNUTOOLS-14843 fix none SpcItemGitVersion checkouts

    Change-Id: Ic6a64e30efe7da3f290a82a34259c4b989a75676

commit 95e2d40c
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Wed Apr 3 13:56:57 2024 +0100

    GNUTOOLS-14765 Clean command errors

    The "clean" stage removes all directories and run the "start" stage, at
    which point the installdir is lost and the error rises:
    this was introduced by refactoring here:
    https://eu-gerrit-1.euhpc.arm.com/c/dsg-gnu/Internal/oban-scripts/+/566141/3/build-elf.sh#682

    Implemented a generic mk_bin_dirs in utilities
    Invoking the function in start stage so that in case of cleanup and
    start, the directories are created.

    Also fixed build-cross script which has a similar defect

    Change-Id: Ifb9b0b15189c12dad2ba1d2e2843b84154953dff

commit 8a8bbe61
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Fri Mar 29 00:40:19 2024 +0000

    GNUTOOLS-14813 Integrate changes from oban-script

    checked out the latest bump of the scripts
    (c0adf91f)
    based on an older oban-script series of patches.

    bumped the scripts again and integrate the newest updates in the
    refactored oban-scripts

    finally rebased to include all the changes in gnu-devtools-for-arm

    Change-Id: I56ac0addef13347a347d7bfa369af3c3c21756a3

commit 86b9a07a
Merge: 863ae941 92e8e2e2
Author: Habibul Islam <habibul.islam@arm.com>
Date:   Thu Mar 28 13:44:37 2024 +0000

    Merge "GNUTOOLS-14818 Generalise the comment by removing anything specific to internal arm infra" into main

commit 92e8e2e2
Author: Habibul Islam <habibul.islam@arm.com>
Date:   Wed Mar 27 14:48:21 2024 +0000

    GNUTOOLS-14818 Generalise the comment by removing anything specific to internal arm infra

    Change-Id: I6c6fe798142325f95aa98d8ea6a38c79120beedb

commit 863ae941
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Mon Mar 25 11:26:47 2024 +0000

    GNUTOOLS-14791 update script help and remove old naming

    Change-Id: I8c4669816861d96bcae670a24427364d43a9ffc2

commit 967ede9f
Merge: 7507ebba 980bde02
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Thu Mar 21 17:17:43 2024 +0000

    Merge "GNUTOOLS-14321 improvements to README.md" into main

commit 980bde02
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Wed Mar 20 15:25:56 2024 +0000

    GNUTOOLS-14321 improvements to README.md

    Implemented changes suggested by Vasee in:
    https://eu-gerrit-1.euhpc.arm.com/c/dsg-gnu/Internal/gnu-devtools-builder/+/607784/11/gnu-devtools-for-arm-README.md

    Change-Id: I4f3320d285fa4efabca5f55a6338786ef71b1802

commit 7507ebba
Merge: 9bfa651f f47c2b27
Author: Habibul Islam <habibul.islam@arm.com>
Date:   Wed Mar 20 11:12:00 2024 +0000

    Merge "GNUTOOLS-14740 blue ocean to display each stage" into main

commit 9bfa651f
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Tue Mar 19 09:56:47 2024 +0000

    Removed testing with oban-scripts

    The integration of the patch that tests using oban-scripts failed
    becasue the python environment didn't work under the old OS builder
    (cen7, without docker)
    Removed this change because we are using a new test strategy from the
    refactored branch. We might re-instate this code later and solve the
    python issue

    Change-Id: I8717750499184a84baa627e88bb333917ea4ab49

commit d13beb44
Author: Nikita Venkatesh <Nikita.Venkatesh@arm.com>
Date:   Wed Feb 21 15:51:21 2024 +0000

    GNUTOOLS-14690: Fix builds on the Mac

    Update PATH for bison, findutils, gnubin, getopt and texinfo to be used for Mac builds

    Change-Id: I6981c1c61214ba530eb4a47d9fa1530c0f338bc6

commit 541097ba
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Wed Mar 6 17:51:59 2024 +0000

    test with oban

    Change-Id: Ic5fad53d06629bf0b083924bb3a4bcc1e6829dd8

commit 3bc7be31
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Fri Mar 15 17:39:58 2024 +0000

    Added LICENSE and updated README

    This was reviewed in patch

    https: //eu-gerrit-1.euhpc.arm.com/c/dsg-gnu/Internal/gnu-devtools-builder/+/607784
    Change-Id: I905846211d107991e54898101fc094c964e00bab

commit 85a5f233
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Thu Mar 14 16:21:30 2024 +0000

    implement skipping logic for testing features

    Change-Id: Ibab9c842d94452eae1d16ec551bbf85eaa2ad79e

commit f47c2b27
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Thu Mar 7 09:32:59 2024 +0000

    GNUTOOLS-14740 blue ocean to display each stage

    Change-Id: Ib13d2f60e6c5b3125e4f8a622b5149db5b787b08

commit 359aef04
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Wed Feb 28 16:58:01 2024 +0000

    add robot framework test

    Change-Id: I9c27d3e59476b4b295c30fcede68890bb952d6b1

commit 7b743776
Merge: c0adf91f 09d6819e
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Fri Feb 23 12:24:49 2024 +0000

    Merge "check git history, build only for changed files, separate devtools map" into main

commit 09d6819e
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Tue Feb 20 11:11:11 2024 +0000

    check git history, build only for changed files, separate devtools map

    Change-Id: I16049a8f51f6b248d2da507d30650a75bf3e0883

commit c0adf91f
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Wed Feb 21 16:09:37 2024 +0000

    oban-scripts version bump-up

      - added fix to only match directories for gcc in utilities.sh in find source tree
      - removed board files header

    Change-Id: Ide539eb722644db5683f5552d687f027d70f0431

commit 74e2bdbb
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Thu Feb 15 13:47:12 2024 +0000

    GNUTOOLS-14687 Set multiple builds

      - Listed all expected build combination for multiple arch/os
      - Changed Jenkinsfile to support builds on host and builds in docker
      - Introduced the field cplatform to pass for the container to enforce
    pulling a specific container platform (eg: linux/arm/v7 from aarch64
    host)
      - Updated file-origins with the latest fm-gdb-plugin SHA
      - Set all builds for linux targets to build libcrypt --config-flags-libc="--enable-crypt"

    Change-Id: I183a68ea475518c81e245d30126a14688c72482b

commit 1455f3ae
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Wed Feb 14 13:01:27 2024 +0000

    use release tarball, remove .additional repos

    Change-Id: I26f47263e5cd525e8f0fc2be3b4fd47d2306047c

commit d16a8e49
Author: Daniel Fellows <daniel.fellows@arm.com>
Date:   Thu Feb 8 09:25:58 2024 +0000

    Configure and use container in Jenkinsfile, add parallel tasks

    Change-Id: Id2b007c07f9fea0ccec17778e105d5aab51a27d6

commit 05e13dec
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Fri Feb 2 16:06:18 2024 +0000

    GNUTOOLS-14645

    Created first set of scripts imported with the builder.
    Refs:
            oban-scripts: 84675c5bb0f9d3454ab5bb5a4f5b020d36e70c86
            models-install: b7d8a2a2faae503bf21e59525cc9c7883eca5ae3
            fm-gdb-plugin: 0c64b262f2c0c5fb442352fb933091b6464c9c00

    Set jenkins to run a native build

    Using source-fetch.py to get the src repos. We can't use --shallow,
    otherwise the upstream servers report:
      error: git://sourceware.org/git/binutils-gdb.git
      error: Server does not allow request for unadvertised object 8a6295d22f3a8c2c4ae7f4237657cb1be4833bbb

    Change-Id: Iea5ea1a98d13d641cf65fdeab8c7a8746ff027c2

commit d66e2cd7
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Wed Jan 31 00:16:38 2024 +0000

    Added a comment to test CI

    Change-Id: I341e9bb283c81d4d37b1b015e1391f19a4a48f18

commit 397828a7
Author: Gianluca Busiello <gianluca.busiello@arm.com>
Date:   Tue Jan 30 17:10:03 2024 +0000

    Initial setup for this project CI

    Change-Id: I9ced58efde0226c2ab3d7d3c7af5c03f7a04eb50
parent f5396791
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment