Commit Graph

5256 Commits

Author SHA1 Message Date
Keith Packard
e785f7c5c4 picolibc: Pull tarballs from github instead of keithp.com
Way more bandwidth at github.

Signed-off-by: Keith Packard <keithp@keithp.com>
2021-01-07 18:26:08 -08:00
Alexey Brodkin
1a65041dc0 libgmp: Fix cross-canadian build for macOS
Currently when building cross-canadian toolchain for macOS
the folowing error happens when GCC is configured:
|ld: illegal text-relocation to '___gmp_binvert_limb_table' in
|... /.build/... /buildtools/complibs-host/lib/libgmp.a(mp_minv_tab.o) from '___gmpn_divexact_1' in
|... /.build/... /buildtools/complibs-host/lib/libgmp.a(dive_1.o)
|collect2: error: ld returned 1 exit status

Apparently this might be solved with GMP configured with "--with-pic",
even though we're talking about static library here.

That solution was found here:
    https://github.com/Homebrew/homebrew-core/pull/25470

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-12-23 18:34:08 +03:00
Alexey Brodkin
b833f45259 gcc: Make it aware of Newlib nano IO feature
Even though GCC as a compiler has nothing to do with a C library
being used it still makes sense to know about Newlib's compact
implementation of IO functions:

 * For targets like MSP430 which require to have such a tuned
   Newlib if "-mtiny-printf" is passed to the GCC's command-line [1]

 * For correct compilation of the following GCC's own DejaGnu tests [2]:
     - gcc/testsuite/gcc.c-torture/execute/920501-8.c
     - gcc/testsuite/gcc.c-torture/execute/930513-1.c
     - gcc/testsuite/gcc.dg/torture/builtin-sprintf.c
     - gcc/testsuite/gcc.c-torture/execute/ieee/920810-1.x

[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=02afb6a9321fbfb435452636cedc2cd43f0c4fd2
[2] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=571bbd0d48d5872eacbd0b681fce6e1ae754520b

So we add that missing cross-dependency now.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-12-23 17:54:03 +03:00
Chris Packham
6b4b43774d packages/ncurses: update ncurses mirror
ftp://invisible-island.net/ncurses doesn't actually have the numbered
ncurses tarball. We've not noticed because we fall back to using the GNU
mirror which does. It's also ftp which is being deprecated.

Switch to https://invisible-mirror.net/archives/ncurses which has the
actual tarballs and provides a secure connection.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-12-18 13:07:38 +13:00
Chris Packham
4ae7ed0113
Merge pull request #1433 from ivanka2012/add-mingw-8.0.0
Add MinGW version 8.0.0
2020-12-17 22:18:22 +13:00
ivanka2012
cacb3109bc Add MinGW version 8.0.0
Signed-off-by: Kittenberger Iván <ivanka2012@gmail.com>
2020-12-14 09:00:34 +01:00
Chris Packham
5fbcd4b740
Merge pull request #1431 from cpackham/ltrace-url-fix
packages/ltrace: Remove stray ':' from URL
2020-12-14 19:29:41 +13:00
Chris Packham
54b8b91c10 packages/ltrace: Remove stray ':' from URL
Change 'ftp::' to 'ftp:'.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-12-11 09:04:28 +13:00
Chris Packham
0946aaa1fc
Merge pull request #1429 from galak/mac-arm-2
gcc: Additional build fix for building arm64 toolchain on M1 Mac's
2020-12-09 19:38:52 +13:00
Kumar Gala
e4ca30ee1c gcc: Additional build fix for building arm64 toolchain on M1 Mac's
If we are targetting an aarch64-none-elf toolchain we end up running
into a build issue in gcc/config/aarch64/driver-aarch64.c.  This is
fixed in upstream gcc so just backport the patch to gcc-10.2.0

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-08 07:09:20 -06:00
Chris Packham
36db1595b0
Merge pull request #1426 from galak/mac-arm
Initial changes to build cross compilers on new ARM based M1 Macs
2020-12-08 20:10:34 +13:00
Kumar Gala
e7b3b20d0b gcc: Add some patches to get gcc 10.2 building on ARM based Mac
Pull in a change from upstream GCC and one from the gcc-darwin-arm64
repo that gets an initial cross compiler building on ARM based Mac.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-04 10:53:49 -06:00
Kumar Gala
f1eeb2b0f3 bump to gmp 6.2.1 + patch for ARM based MacOS support
Update to GMP 6.2.1 for MacOS ARM support and pull in one patch
from repo that deal with a possible issue with GMP on MacOS ARM
systems.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-04 10:20:19 -06:00
Kumar Gala
c12f5b209f Run through 'ct-ng updatetools'
Update config.{sub,guess} to get proper awareness for ARM based MacOS.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-04 10:14:53 -06:00
Chris Packham
a5219d6e04 Merge branch 'aaujon-master' 2020-11-30 19:39:51 +13:00
Arnaud Aujon Chevallier
de668b062a Update reported.by 2020-11-24 09:59:18 +01:00
Arnaud Aujon Chevallier
08981c05cd samples : update armv6 configuration 2020-11-24 09:55:24 +01:00
Chris Packham
f7f3b0b180 Merge branch 'jemarch-oracle/ol-support' 2020-11-23 19:56:31 +13:00
Jose E. Marchesi
cd7098d41b Add sample configuration for Oracle Linux 7 on aarch64 2020-11-23 19:54:22 +13:00
Jose E. Marchesi
470ce219af Add Oracle products to crosstool-ng
This commit adds support for the following Oracle products, in order
to target Oracle Linux 7.9:

Binutils 2.27-44.base.0.400
GCC      4.8.5-44.0.5
glibc    2.17-317.0.3
UEK5/u4  4.14.35-2025.400.8

Sample configuration files are provides for the following triplets:

arm-ol7u9-linux-gnueabi
arm-ol7u9-linux-gnueabihf

Signed-off-by: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
Signed-off-by: Jose E. Marchesi <jose.marchesi@oracle.com>
2020-11-23 19:54:22 +13:00
Egeyar
98d7be9cbf Set the origin of Linux releases
Set the origin of the Linux tarballs to www.kernel.org in order to avoid
getting an empty string in menuconfig.

Signed-off-by: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
[cp: use kernel.org]
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-11-23 19:54:15 +13:00
Egeyar
7fdb7665f7 Support released versions from Git branches
* Do not assume a release has a tarball if src_release is set to "n".
 * Do not assume versions in repositories are all experimental.
 * Allow versions to define their default repository_branch,
   repository_cset, repository_subdir and bootstrap.
 * Do not expect mirrors, archive_filename, archive_dirname,
   archive_formats and signature_format from a version if src_release
   is set to "n".
 * Add version_number to allow version names to be different than the
   version number. When given, use version_number to compare against
   the milestones.

Signed-off-by: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
2020-11-23 19:47:13 +13:00
Chris Packham
3c177b39d2 Merge branch 'galak-macosx' 2020-11-23 19:38:07 +13:00
Kumar Gala
9afeab2ccc CI: Add MacOS X builds to CI testing
Add building on MacOS X as part of the CI testing.

A few notes:

* We exclude mips64-unknown-linux-gnu as the linux kernel headers need
  <byteswap.h> that is a GNU extension to build elf-entry.c and does
  not exist on Mac OS X.

* We create a SPARSE image filesystem to ensure we have are doing the
  builds in a case sensitive fs.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-11-11 13:47:28 -06:00
Kumar Gala
15a49fa4fd gcc: add build fix for aarch64 toolchain on MacOS X
When building aarch64-unknown-linux-gnu on MacOS X, aarch64-builtins.c
files doesn't build by default with clang on MacOS X.  We need to pass
-std=gnu++11 when building the file for things to work with clang.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-11-11 13:42:02 -06:00
Chris Packham
ed3a1ff4b9
Merge pull request #1417 from cpackham/continuous-integration
CI: Replace add-path command
2020-11-11 20:02:01 +13:00
Chris Packham
b0ca9b8ca7 CI: Replace add-path command
The add-path and set-env commands are being deprecated[1]. Replace the
one instance of add-path in the CI workflow with the recommended
alternative[2].

[1] - https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
[2] - https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#adding-a-system-path

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-11-10 21:10:31 +13:00
Chris Packham
a4231a555a
Merge pull request #1342 from DspHack/feature/add_support_for_ti_c6x
Experimental: Add support for the Texas Instruments C6X (TMS320C6000 …
2020-11-10 20:29:25 +13:00
Chris Packham
66b3c25be7
Merge pull request #1416 from galak/binutils-2.35.1-fix
binutils: Pull in some bug fixes from binutils 2.35 branch
2020-11-08 14:11:16 +13:00
Kumar Gala
fe97d0794a binutils: Pull in some bug fixes from binutils 2.35 branch
Expect that if there is a binutils 2.35.2 release these fixes will be
included in there, these are pulled out of the binutils-2_35-branch post
the 2.35.1 release.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-11-06 08:51:19 -06:00
Chris Packham
0dd54d59ce
Merge pull request #1414 from cpackham/disable-context-for-thumb
arm: Disable context functions for Thumb
2020-11-03 20:47:13 +13:00
Chris Packham
b7084c0acd
Merge pull request #1413 from cpackham/continuous-integration
CI: Add armv6-nommu-linux-uclibcgnueabi
2020-11-03 20:46:36 +13:00
Dan Tejada
3a3e645245 c6x: Remove multilib requirement
Restore tuple config check
     Add sample configuration

Signed-off-by: Dan Tejada <dan.tejada@cantada.com>
2020-11-02 16:21:26 -05:00
Chris Packham
beae27d87b arm: Disable context functions for Thumb
Similar to commit 57679b5e ("Disable context functions for Thumb") when
building for thumb we need to unset UCLIBC_HAS_CONTEXT_FUNCS.

Fixes #1397

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-11-01 21:17:50 +13:00
Chris Packham
4dd65a18a3 CI: Add armv6-nommu-linux-uclibcgnueabi
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-11-01 21:11:29 +13:00
Chris Packham
e0bf7aa72a Merge branch 'keith-packard-picolibc-1.4.7' 2020-11-01 20:03:07 +13:00
Chris Packham
9e1e0ff3a7 Merge branch 'picolibc-1.4.7' of git://github.com/keith-packard/crosstool-ng into keith-packard-picolibc-1.4.7 2020-11-01 20:02:42 +13:00
Chris Packham
1876d29a6a Merge branch 'lancethepants-xlocale' 2020-11-01 20:02:13 +13:00
Chris Packham
827b42336e Merge branch 'xlocale' of git://github.com/lancethepants/crosstool-ng into lancethepants-xlocale 2020-11-01 20:01:58 +13:00
Keith Packard
c14b7c6cfc packages/picolibc: Update to version 1.4.7
New picolibc release has some useful bug fixes

Signed-off-by: Keith Packard <keithp@keithp.com>
2020-10-26 19:37:56 -07:00
Chris Packham
dd20ee5526
Merge pull request #1408 from abrodkin/topic-binutils-no-glob
binutils: Disable glob for better portability
2020-10-18 20:33:36 +13:00
Chris Packham
62a7de5b0f
Merge pull request #1407 from bagasme/local-patch-dir-description-clarify-example
Clarify tree layout of local patches directory
2020-10-18 20:33:14 +13:00
Chris Packham
3975029a9e
Merge pull request #1402 from lancethepants/add_uclibc-ng_1.0.36
Add uClibc-ng 1.0.36
2020-10-18 20:32:32 +13:00
lancethepants
bc5798a8ea Don't remove XLOCALE support unconditionally.
Signed-off-by: Lance Fredrickson <lancethepants@gmail.com>
2020-10-15 13:59:04 -06:00
lancethepants
1afa04ee6c Add uClibc-ng 1.0.36
Signed-off-by: Lance Fredrickson <lancethepants@gmail.com>
2020-10-15 13:53:59 -06:00
Alexey Brodkin
57f5909285 binutils: Disable glob for better portability
Since glibc 2.27 glob interface was changed [1]  and so
"glob" & "glob64" symbols require glibc 2.27+.

For us that means if we build Binutils on a machine with glibc 2.27+
produced binaries won't be any longer usable on machines with older
glibc.

As an example [2]: build on Ubuntu 18.04 (with glibc 2.27) and try to run
on CentOS 7.x (with glibc 2.17), you'll see this:
---------------------->8-------------------
ldd ld
ld: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by ld)
---------------------->8-------------------

Now given glob is not really used by Binutils itself (only needed by GDB)
and we build Binutils & GDB separately let's make at least Binutils
more portable.

In theory we may even try to do the same hack for GDB forcing it to use
imported glob implementation. But since GDB is now built strictly by C++
compiler we'll get waaay to many incompatibilities due to multiple changes
of C++ ABI in between GCC 7.5 of Ubuntu 18.04 and GCC 4.8.5 of CentOS 7.x,
so there's no point to even try.

[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=ccf970c7a77e86f4f5ef8ecc5e637114b1c0136a
[2] https://github.com/zephyrproject-rtos/sdk-ng/issues/280

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-10-14 23:10:47 +03:00
Bagas Sanjaya
19f1849163
Clarify tree layout of local patches directory
Currently the help for LOCAL_PATCH_DIR did not specify the tree layout
of custom patches directory. This commit adds such explanation.

For example, the bundled patches for GCC are placed under
packages/gcc/<gcc-version>, thus custom (local) GCC patches should be
placed under $LOCAL_PATCH_DIR/gcc/<gcc-version>.

Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
2020-10-13 16:09:35 +07:00
Chris Packham
99ce9d3861
Merge pull request #1400 from fvalette/fix-m4-build-for-mingw32-host
m4: fix build for mingw32 host
2020-10-07 20:03:16 +13:00
Florent Valette
1c93176e05 m4: fix build for mingw32 host
While building a canadian toolchain for windows host (any target),
the build failed for m4 host companion_tool with a recent mingw-w64
(at least 7.0.0).
m4 needs stack smashing protection which is not part of mingw-w64 c
library and an explicit trigger to link w/ libssp is needed.

Signed-off-by: Florent Valette <florent.valette@gmail.com>
2020-10-06 09:32:40 +02:00
Chris Packham
364ed7aa96
Merge pull request #1398 from egtvedt/fix-glibc-2.32-version.h
glibc: fix version 2.32 not setting correct version string
2020-10-06 19:37:29 +13:00