This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

GNU8 cross-toolchain 8.2-2018.08: compile from source

Hello,

I would like to build the aforementioned toolchain from source. Previous releases by Linaro contained a framework called ABE that allowed to do it in a rather convenient way.

The source tarball currently published here contains only raw sources. Are there any plans to package the sources together with ABE or a similar build script utility?

Thanks a lot

Andrej

  • Hi Andrej,

    You could try to use ABE to build this compiler. With some modification to meta-data driving build rpocess and having sources you might me successful.

    Could you have a go and get back to us?

    Przemyslaw

  • Hello Przemyslaw,


    thank you very much for your answer!

    You're right, I could either repackage the current source tarball to meet ABE's expectations or adapt the ABE configuration accordingly.

    There are also other frameworks that I might use (ptxdist or crosstool-ng coming to mind).

    I suppose I will give them a try.

    The convenient thing about the LINARO way of source distribution was that it worked out of the box, without any additional adaption steps required.

    The other thing I liked about it was that it directly referenced LINARO git repos, thus making it easier to track the differences to the upstream.

    I suppose there is some tooling used at ARM to create the binaries. That's why I wondered if it has been considered to release them together with the gcc sources, making the transition easier for LINARO users who used to compile the toolchain themselves.


    Best wishes,
    Andrej


  • Duly noted sir.

    We are aiming to improve our releases with time and we will for sure take your comments under consideration.

    kind regards
    Przemyslaw

  • Hello Przemyslaw,

    excuse me for bothering you again!

    Could you please provide me with the configuration options for gcc, binutils and firends that have been used for the arm-linux-gnueabihf variant? The manifest file is generic and therefore only contains version information.

    Best wishes

    Andrej

  • Dear sir,

    You can obtain all configuration flags using -v command line switch as on example below (look for section "Configured with"):


    arm-linux-gnueabihf/bin $ ./arm-linux-gnueabihf-c++ -v
    Using built-in specs.
    COLLECT_GCC=./arm-linux-gnueabihf-c++
    COLLECT_LTO_WRAPPER=/media/przwir01/bulk/Linaro\ Releases/arm-rel-8.23/rhe6x86_64/arm-linux-gnueabihf/bin/../libexec/gcc/arm-linux-gnueabihf/8.2.1/lto-wrapper
    Target: arm-linux-gnueabihf
    Configured with: /tmp/dgboter/bbs/bc-b1-2-11--rhe6x86_64/buildbot/rhe6x86_64--arm-linux-gnueabihf/build/src/gcc/configure --target=arm-linux-gnueabihf --prefix= --with-sysroot=/arm-linux-gnueabihf/libc --with-build-sysroot=/tmp/dgboter/bbs/bc-b1-2-11--rhe6x86_64/buildbot/rhe6x86_64--arm-linux-gnueabihf/build/build-arm-linux-gnueabihf/install//arm-linux-gnueabihf/libc --enable-gnu-indirect-function --enable-shared --disable-libssp --disable-libmudflap --disable-libsanitizer --enable-checking=release --enable-languages=c,c++,fortran --with-gmp=/tmp/dgboter/bbs/bc-b1-2-11--rhe6x86_64/buildbot/rhe6x86_64--arm-linux-gnueabihf/build/build-arm-linux-gnueabihf/host-tools --with-mpfr=/tmp/dgboter/bbs/bc-b1-2-11--rhe6x86_64/buildbot/rhe6x86_64--arm-linux-gnueabihf/build/build-arm-linux-gnueabihf/host-tools --with-mpc=/tmp/dgboter/bbs/bc-b1-2-11--rhe6x86_64/buildbot/rhe6x86_64--arm-linux-gnueabihf/build/build-arm-linux-gnueabihf/host-tools --with-isl=/tmp/dgboter/bbs/bc-b1-2-11--rhe6x86_64/buildbot/rhe6x86_64--arm-linux-gnueabihf/build/build-arm-linux-gnueabihf/host-tools --with-arch=armv7-a --with-fpu=neon --with-float=hard --with-arch=armv7-a --with-pkgversion='GNU Toolchain for the A-profile Architecture 8.2-2018-08 (arm-rel-8.23)'
    Thread model: posix
    gcc version 8.2.1 20180802 (GNU Toolchain for the A-profile Architecture 8.2-2018-08 (arm-rel-8.23))


    PS: Please let me know if this is sufficient or do you still want me to grab all configuration flags for you?

    kind regards
    Przemyslaw Wirkus

  • Small correction, not all toolchain components will react to -v like in above example with c++ cross compiler.
    For example GDB configurationc an be obtained with --configuration command line switch:


    arm-linux-gnueabihf/bin $ ./arm-linux-gnueabihf-gdb --configuration

    This GDB was configured as follows:
       configure --host=x86_64-pc-linux-gnu --target=arm-linux-gnueabihf
                 --with-auto-load-dir=$debugdir:$datadir/auto-load
                 --with-auto-load-safe-path=$debugdir:$datadir/auto-load
                 --with-expat
                 --with-gdb-datadir=/share/gdb (relocatable)
                 --with-jit-reader-dir=/lib/gdb (relocatable)
                 --without-libunwind-ia64
                 --without-lzma
                 --with-python=/arm/tools/python/python/2.7.6_ucs4/rhe6-x86_64 (relocatable)
                 --without-guile
                 --with-separate-debug-dir=/lib/debug (relocatable)
                 --with-sysroot=/arm-linux-gnueabihf/libc (relocatable)
                 --without-babeltrace

    ("Relocatable" means the directory can be moved with the GDB installation
    tree, and GDB will still find it.)