Commit Graph

89 Commits

Author SHA1 Message Date
Nik Konyuchenko
aa98a2e2f3 Add fcommon flag help and remove extra empty lines
Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
2021-06-24 01:49:22 -07:00
Nik Konyuchenko
05c6758985 Fix build of older Glibc using GCC >=10
Issue #1535

GCC 10 changed the default to -fno-common, which leads to a linking error in GLibc older than 2.30.

This change adds -fcommon cflag for the target GLibc versions <=2.29 and GCC >=10.

This change also adds additional cflags for the target GLibc to disable
new GCC11 checks that lead to compilation errors.

Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
2021-06-24 00:58:32 -07:00
Chris Packham
cc8c64a8dc glibc: --enable-obsolete-rpc has been removed as of 2.32
Make --enable-obsolete-rpc conditional on !GLIBC_2_32_or_later as
it's been removed from that version on.

Fixes: #1505
Fixes: commit 1ee44ab5 ("glibc: --enable-obsolete-rpc has been removed as of 2.32")
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-05-11 21:02:29 +12:00
spaun2002
6ca5f91fb5 Disable -Werror for GLIBC for all ARCH for GCC11.
This change replicates what GLIBC 2.23 has in the string/rawmemchr.c:

// #if __GNUC_PREREQ (11, 0)
//  /* Likewise GCC 11, with a different warning option.  */
//  DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread");
// #endif

With -Werror multiple platforms failing on the string/rawmemchr.c:40 line.

Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
2021-05-05 01:26:34 -07: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
Chris Packham
215432d380 config/libc: Extend glibc 2.32 workaround to include sparc
Sparc seems to be affected by the same issues as powerpc64. Disable
glibc warnings for sparc.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-09-14 20:55:49 +12:00
Chris Packham
1ee44ab516 glibc: --enable-obsolete-rpc has been removed as of 2.32
Make --enable-obsolete-rpc conditional on !CT_GLIBC_2_32_or_later as
it's been removed from that version on.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-09-07 20:25:19 +12:00
Chris Packham
645ee12492 glibc: Don't build with -Werror for powerpc64+glibc-2.32
When building powerpc64+glibc-2.32 we see the following error:

[ALL  ]      In file included from ../sysdeps/powerpc/powerpc32/power4/multiarch/wordcopy-ppc32.c:26,
[ALL  ]                       from ../sysdeps/powerpc/powerpc64/multiarch/wordcopy-ppc64.c:18:
[ALL  ]      ../string/wordcopy.c: In function '_wordcopy_fwd_aligned':
[ERROR]      ../string/wordcopy.c:98:26: error: 'a1' may be used uninitialized in this function [-Werror=maybe-uninitialized]
[ALL  ]         98 |       ((op_t *) dstp)[0] = a1;
[ALL  ]            |       ~~~~~~~~~~~~~~~~~~~^~~~
[ALL  ]      In file included from ../sysdeps/powerpc/powerpc64/power4/../../powerpc32/power4/memcopy.h:38,
[ALL  ]                       from ../sysdeps/powerpc/powerpc64/power4/memcopy.h:1,
[ALL  ]                       from ../string/wordcopy.c:23,
[ALL  ]                       from ../sysdeps/powerpc/powerpc32/power4/multiarch/wordcopy-ppc32.c:26,
[ALL  ]                       from ../sysdeps/powerpc/powerpc64/multiarch/wordcopy-ppc64.c:18:
[ALL  ]      ../string/wordcopy.c: In function '_wordcopy_fwd_dest_aligned':
[ERROR]      ../sysdeps/generic/memcopy.h:72:61: error: 'a3' may be used uninitialized in this function [-Werror=maybe-uninitialized]
[ALL  ]         72 | #define MERGE(w0, sh_1, w1, sh_2) (((w0) << (sh_1)) | ((w1) >> (sh_2)))
[ALL  ]            |                                                             ^~

This seems to only trigger for powerpc64. Other architectures build
cleanly. For now avoid specifying -Werror for powerpc64+glibc-2.32.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-09-03 22:47:02 +12:00
Alexey Neyman
8606251585 Add --with-cpu= on 32-bit SPARC
... if building for GLIBC 2.31+.

Signed-off-by: Alexey Neyman <stilor@att.net>
2020-03-03 16:40:33 -08:00
Alexey Neyman
715591306f
Merge pull request #1231 from cpackham/glibc-2.28-make-4.0
libc: glibc 2.28 needs make 4.0
2019-10-01 21:17:06 -07:00
Chris Packham
7b362e6dae Add glibc 2.30
Add the GNU C Library version 2.30. Bring forward the
typedef-caddr.patch. Skip the ARC patch for now.

https://sourceware.org/ml/libc-alpha/2019-08/msg00029.html

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2019-09-05 11:32:23 +12:00
Chris Packham
af2f3ac9c5 libc: glibc 2.28 needs make 4.0
Fixes: #1210

Per the release notes for the GNU C library 2.28[1] make 4.0 or newer is
required. Previously the logic was applied to glibc 2.29 or newer.

[1] - https://www.sourceware.org/ml/libc-alpha/2018-08/msg00003.html

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2019-09-04 20:28:33 +12:00
Alexey Neyman
b3cce054ef Meet our new companion tool, bison
Which is here courtesy of CentOS6, which only has bison 2.4 - while new
glibc requires 2.7.

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-03-04 00:22:02 -08:00
Alexey Neyman
862c35457d Fix build of glibc 2.29 on systems with obsolete host programs
- Force building make as a companion tool if host make is older than
4.0 (CentOS 7 currently has 3.82)
- Disable 2.29 as a choice if host python is older than 3.4
(CentOS 7 has 2.6 unless python from EPEL is installed)
- Python2 emits its version information to STDERR. Ugh.

While there, also use the detected host Python for GDB configuration.

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-03-02 15:45:37 -08:00
Alexey Neyman
e149e28e57 Disable -fstack-protector* from being used by glibc
... until it was fixed (to some extent) in 2.25.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-07 00:03:04 -08:00
Alexey Neyman
f5b57504d2 Add configuration options for enabling SSP
... in uClibc and glibc.

Fixes #681.

While here, relocate additional "sources" for uClibc/binutils into packages/
directory.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-04 16:15:37 -08:00
Alexey Neyman
37ac0e8474 Too many fixes need backporting for GCC8...
... so instead, disable -Werror for older versions of glibc.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-05-14 23:47:17 -07:00
Alexey Neyman
387c8d8e2c First batch of fixes
- Incompatible function type for ifunc alias
- Multiple statements macro expansion in strftime
- if_nametoindex size checking

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-05-12 13:03:29 -07:00
Alexey Neyman
36bb675a71 More fixes after the upgrades:
- GLIBC requires a fix to work with binutils 2.30 on aarch64. This fix
  relies on binutils 2.24 or newer, which is okay for glibc 2.26 since
  it needs 2.25 or newer anyway. But older glibc versions are now pinned
  to binutils 2.29 or older on aarch64.
- xtensa needs patches in libgcc with gcc 7.3.
- comment in newlib's patch to indicate it is a reversal of a commit.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-01-30 15:08:18 -08:00
Alexey Neyman
9fdb93cce0 Make comp.libs use generated templates, too
This allows us to include the component-to-package relation in the
generated kconfig files and make use of that information in the
show-config.sh script.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-11-29 23:44:49 -08:00
Alexey Neyman
24b0e666b5 Apply ucontext patch to mainstream GCC releases
Not applicable to 4.8, as GLIBC2.26 requires 4.9 or newer. Record
that dependency.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-27 20:27:21 -07:00
Alexey Neyman
eba1a82686 Make --enable-obsolete-rpc an option in ct-ng
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-26 13:01:45 -07:00
Alexey Neyman
9b076a39ab Record glibc 2.24+ dependency
... on kernel headers of 3.2 and newer.

Fixes #794.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-16 14:26:31 -07:00
Alexey Neyman
4000e1def3 Also upgrade non-generated config files
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
ff0a1a3da6 Switch gen-kconfig to new framework
Also:
- Move companion_* to comp_* to match the kconfig symbols
- Replace bootstrap with former gen-versions.sh
- Fold *.in.2 into their respective first parts; this moves common
  options to the end - if it is undesirable, inclusion of *.in
  can be moved where *.in.2 used to be (but that will also move
  version selection after common options).
- Retire addToolVersion.sh (may later replace with a more
  comprehensive script that tries to download the added tarballs,
  copy the patches and try to apply them, and create a version.desc).

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
567277099a Fix the references to old config variables
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
57426168ad Convert the rest of packages to new framework
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
cc3432c4d6 Add notes about obsoletion policy for kernel/glibc.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-09 18:05:36 -08:00
Alexey Neyman
5273394f55 Ports patches for glibc 2.12.1 .. 2.16
Add patches for versions that didn't have them - patches updated/retired
as necessary.

Also, disallow 2.12.2 for architectures in ports - this version did not have
ports addon.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-09 18:05:36 -08:00
Alexey Neyman
fb6fe0d70b Revert "glibc: Clean out old glibc versions"
This partially reverts commit 88e8852ccd.

Bring back releases 2.12 and newer of glibc, along with the associated
Kconfig machinery. Simplify it slightly.
2017-02-09 18:05:36 -08:00
Alexey Neyman
e69734cb12 Add glibc 2.25
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-05 16:10:40 -08:00
Alexey Neyman
23aef79883 Declare older versions obsolete.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-26 12:19:49 -08:00
Joachim Nilsson
9b216274e5 glibc: Add glibc-2.24
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-11-12 19:49:26 +01:00
Alexey Neyman
712b617a74 Unbreak sparc-unknown-linux-gnu.
GLIBC 2.23 dropped support for pre-v9 SPARC in pthreads. Pass host
triplet with s/sparc/sparcv9/ replacement for 2.23.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-04-01 18:15:39 -07:00
Bryan Hundven
88e8852ccd glibc: Clean out old glibc versions
We now only support glibc >=2.18
This now enables us to clean up glibc support!

Also, add a comment about glibc 2.20 as the point which glibc no longer
supports not building with pthread.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-02-23 17:27:54 -08:00
Bryan Hundven
17952f2fa4 glibc: Add glibc-2.23
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-02-23 10:37:30 -08:00
Bryan Hundven
514f1546d7 config: Update kconfig for new CT_GetCustom
This commit sort of unifies the kconfigs to handle custom files and
directories.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-12-08 10:55:16 -08:00
Bryan Hundven
2a89c32193 gcc: Remove gcc <= 4.7.x
As per #222, in crosstool-NG >= 1.23.0, we will only support:

 [upstream supported gcc versions] - 1

As of this writing, these versions are:

* 5.2.0
* 4.9.3
* 4.8.5 (the -1, since development on 4.8.x is now closed)

I plan to keep 4.8.5 around because of some architectures having issues
with over-optimization or just faulty optimization in the 4.9.x and
possibly newer versions.

I also cleaned up a requirement for glibc to depend on >= gcc-4.6.x for
>= glibc-2.20, but since the lowest gcc we support after this change is
>= 4.8.5, this condition can go away.

Patches for older gcc versions are removed in the next commit.

This closes #222

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-29 17:36:58 -08:00
Ray Donnelly
9e81836b81 Add gettext and libiconv as companion libs
.. they're needed for the RPC generation in glibc
on both Cygwin and MinGW-w64.

Neither are built on GNU/Linux and iconv is not
built on Darwin.

Two patches for gettext are needed, one so that
-O0 works and one so that static builds can be
made.

They can take a good while to build, so if not
needed for_host or for_build then they are not
built.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:45 +00:00
Bryan Hundven
f189762245 glibc: Fix applying addons to glibc => 2.17
glibc-2.17 and above no longer have external addons or ports.
So if we are => 2.17, don't even think about trying to mess with ports
or addons.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-09-01 20:14:00 -07:00
Bryan Hundven
f9a257572e glibc: Add 2.22, and add a constraint on glibc >= 2.21
* Add glibc 2.22
* Add a constraint on glibc-2.21 that depends on gcc-4.6 or greater.
  See: https://sourceware.org/ml/libc-alpha/2015-02/msg00119.html
======================================================================
* The minimum GCC version that can be used to build this version of
  the GNU C Library is GCC 4.6.  Older GCC versions, and non-GNU
  compilers, can still be used to compile programs using the GNU C
  Library.
======================================================================

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-09-01 18:46:52 -07:00
Bryan Hundven
51b342345d config: Add binutils, newlib, and glibc linaro configuration
This commit introduces a "show linaro versions" for newlib, binutils,
and glibc.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-05-02 16:56:25 -07:00
Stefan Tauner
aa8b3252d9 Add glibc 2.21
Signed-off-by: Stefan Tauner <stefan.tauner@gmx.at>
2015-02-07 20:02:25 +01:00
Cristoforo Cataldo
315f69271c libc: glibc: Add Linaro GLibc 2.20-2014.11
This commit allows to choose, download and build latest Linaro GLibC:
- glibc-linaro-2.20-2014.11

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
David Holsgrove
79b9881295 libc/glibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 15:51:11 +10:00
David Holsgrove
d7b4f0dbe3 glibc: nptl is default from 2.20, so dont add to addons_list
No longer recommended practice to use --enable-add-ons=nptl, so
for 2.20 and later (along with custom glibc), don't add the
CT_THREADS to the addons_list

https://sourceware.org/glibc/wiki/Release/2.20#Packaging_Changes

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 14:41:35 +10:00
Bryan Hundven
f1bdbe995b libc/glibc: Add glibc-2.20
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 14:32:14 +10:00
Yann E. MORIN
a394fe49ec libc: libces are responsible for naming their threads implementation
This will help add new implementations, such as the one in musl.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bryan Hundven <bryanhundven@gmail.com>
2014-07-28 01:23:34 +02:00
Yann E. MORIN
b1f536966b libc: rename the threads options
Use a more coherent naming for the options. This will help commonalise
the native case (e.g. NPTL on Linux, win32 on Windows), and add alternate
implementations (e.g. musl.)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bryan Hundven <bryanhundven@gmail.com>
2014-07-28 01:23:34 +02:00
Daniel Zimmermann
086e927448 kernel/linux: pump glibc to version 2.19
pump glibc to version 2.19

Signed-off-by: '"Daniel Zimmermann" <netzimme@gmail.com>'
Message-Id: <b9df94ed76365f8bfd0b.1392591214@haus-VirtualBox>
Patchwork-Id: 320827
2014-02-16 23:53:29 +01:00