Commit Graph

35 Commits

Author SHA1 Message Date
Dmitry Pankratov
fa9f2bda11 Requested changes by @stilor in the PR #368 review 2016-11-12 07:32:06 +01:00
Dmitry Pankratov
6e3e735680 MinGW: add C++11 posix threads support 2016-03-07 23:57:29 +01:00
Jasmin Jessich
521d232154 Fix for issue #147:
Enable definition of "Use __cxa_atexit" for bare-metal systems, if the used
libc does provide such a function. The libc configuration have to select
LIBC_PROVIDES_CXA_ATEXIT.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-01 04:08:17 +02:00
Yann E. MORIN
152b7ad4b4 libc/mingw: threads are the native ones
There is no need to differentiate the win32 threads case, since we
can cosider them to be the native implementation on Windows.

Besides, with the previous patch, nothing uses it anymore.

So, just remove it.

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
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
Benoît THÉBAUDEAU"
96245813d8 kconfig: remove useless 'default n'
kconfig bools are disabled by default, so specifying 'default n' is useless and
noisy. This patch removes all occurrences of 'default n'.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-31 16:27:39 +02:00
Yann E. MORIN"
ccbfef2376 libc: hide no-thread for those C libraries that do not support it
Building non-threaded glibc has been unsupported for a long time, now:
  http://sourceware.org/ml/libc-alpha/2005-08/msg00091.html

As eglibc is a spin-off of glibc: ditto.

So do not offer that possibility in the menuconfig.
Thanks to Thomas Petazzoni for spotting, and helping to solve, the issue!

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-12 22:18:52 +01:00
Yann E. MORIN"
c49c8b1ac2 scripts/xldd: install only when shared libs enabled
When the toolchain has no support for shared libraries, there is no
point in installing the cross-ldd helper.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:35:24 +01:00
Yann E. MORIN"
e1848908de libc: do not offer cross-ldd for bare-metal 2010-07-30 22:50:32 +02:00
Yann E. MORIN"
c03ac58aca scripts: add a cross-ldd-like
Add a cross-ldd that mimicks a native ldd.
2010-07-22 23:26:08 +02:00
Yann E. MORIN"
b81d232a9b kernel: add mingw
Add the option to build a cross-compiler for kernel type 'mingw'.
The resulting cross-compiler can be used to build applications on a Linux host
that can be run on a Windows target.

Compiler is build using the mingwrt and w32-api packages aviable from the
MinGW project (http://sourceforge.net/projects/mingw).

The windows headers (w32-api package) are extracting with the kernel_headers
step The libraries and other headers from both packages are build and
installed in the various steps of libc

Signed-off-by: Bart vdr Meulen <bartvdrmeulen@gmail.com>
[yann.morin.1998@anciens.enib.fr: fix kernel headers comment, don't "return 0"]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-07-11 21:36:20 +02:00
Yann E. MORIN"
7707f0fb54 libc: add global threads support option 2010-07-11 14:26:52 +02:00
Yann E. MORIN"
43ca5b4095 config: add support for a second part of the generated choices
Some components have configuration options that can depend on
generic options, so they should go below those.

uClibc for example:
- has its own options (wchar...)
- uses the generic options (threads...)
- if linuxthreads chosen, offers two impls

So we need to be able to split the components options in 2,
one part that is above the generic options, and one part that
ends up below the generic options.
2010-06-08 23:26:54 +02:00
Yann E. MORIN"
d276ce2a4f config: fix style issues when source-ing files
Always enclose the sourced file between double-quotes (purely for
consistency; enclosing or not are both allowed by the kconfig language).
2010-03-29 20:24:50 +02:00
Yann E. MORIN"
68b9b30f6b libc/newlib: allow using newlib with archs other than avr32 2009-10-21 22:51:39 +02:00
Yann E. MORIN"
37c48b9654 config/libc: move around hidden config options
This yields a cleaner .config file that is easier to read.
2009-10-21 19:08:31 +02:00
Martin Lund
b4467e6617 Fix libc config 2009-06-20 18:54:56 +02:00
Martin Lund
8fb846f5b5 Misc AVR32 cleanups. 2009-06-20 17:16:54 +02:00
Martin Lund"
a94b870756 Added initial AVR32 support (bare-metal,newlib) 2009-05-22 14:46:18 +00:00
Yann E. MORIN"
6501c29fd1 Merge r1432:1437 from /branches/newlib into /trunk :
- under bare-metal, the user is responsible for providing a gdbserver stub (r1433)
- install a CT_TARGET-cc -> CT_TARGET-gcc symlink for the core gcc (r1434)
- allow broader dependency in generated config files (r1435, r1436)
- prepare C library menuconfig for using a C library under bare-metal (r1437)

 /trunk/scripts/build/cc/gcc.sh  |    4     4     0     0 ++++
 /trunk/config/debug/gdb.in      |    5     5     0     0 +++++
 /trunk/config/libc/glibc.in     |    1     1     0     0 +
 /trunk/config/libc/uClibc.in    |    1     1     0     0 +
 /trunk/config/libc/eglibc.in    |    2     1     1     0 +-
 /trunk/config/config.mk         |   20     8    12     0 ++++++++------------
 /trunk/config/arch/sh.in        |    2     1     1     0 +-
 /trunk/config/arch/ia64.in      |    2     1     1     0 +-
 /trunk/config/arch/powerpc64.in |    2     1     1     0 +-
 /trunk/config/libc.in           |    4     0     4     0 ----
 10 files changed, 23 insertions(+), 20 deletions(-)
2009-03-26 18:58:13 +00:00
Yann E. MORIN"
9f53d6a4b8 Add infrastructure to use common config files for generated config files.
/trunk/config/libc/glibc-eglibc.in-common |    4     4     0     0 ++++
 /trunk/config/config.mk                   |    4     4     0     0 ++++
 /trunk/config/libc.in                     |    7     0     7     0 -------
 3 files changed, 8 insertions(+), 7 deletions(-)
2009-01-31 11:29:50 +00:00
Yann E. MORIN"
d2fe51a715 Generate the choice menu for C libraries, the same way arch and kernels are generated.
/trunk/kconfig/kconfig.mk          |   10     8     2     0 ++++++--
 /trunk/scripts/build/libc/glibc.sh |    2     1     1     0 +-
 /trunk/config/libc/glibc.in        |   22     6    16     0 +++++-------------
 /trunk/config/libc/uClibc.in       |    7     6     1     0 +++++-
 /trunk/config/libc/eglibc.in       |   12    11     1     0 +++++++++-
 /trunk/config/libc.in              |   53     4    49     0 +++-----------------------------------------
 6 files changed, 36 insertions(+), 70 deletions(-)
2008-10-13 11:23:51 +00:00
Yann E. MORIN"
02d2b29cda Enhance setting the minimum kernel version glibc will run against.
Ideally, eglibc should also benefit for that, but the current code does not set it.

 /trunk/scripts/build/libc/glibc.sh        |   38    33     5     0 +++++++++++++++---
 /trunk/config/libc/glibc.in               |    4     2     2     0 +-
 /trunk/config/libc/uClibc.in              |    2     2     0     0 +
 /trunk/config/libc/eglibc.in              |    4     2     2     0 +-
 /trunk/config/libc/glibc-eglibc-common.in |   80    68    12     0 +++++++++++++++++++++++++++++++------
 /trunk/config/libc.in                     |   69    38    31     0 ++++++++++++++++++--------------
 6 files changed, 145 insertions(+), 52 deletions(-)
2008-09-14 18:09:36 +00:00
Yann E. MORIN"
799672a641 Introduce a new EXPERIMENTAL feature: BARE_METAL.
This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library.
Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal.
Move the compiler build script to its own sub-directory.
Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal.
Update the ARM target tuples to enable bare-metal targets.
Add two ARM bare-metal samples.
Add latest Linux kernel versions.

 /trunk/scripts/build/kernel/none.sh              |   77     6    71     0 +----
 /trunk/scripts/build/cc/gcc.sh                   |   58    41    17     0 ++-
 /trunk/scripts/build/libc/none.sh                |  513     9   504     0 +-----------------------------
 /trunk/scripts/crosstool.sh                      |   17     9     8     0 +
 /trunk/scripts/functions                         |    6     4     2     0 +
 /trunk/scripts/showSamples.sh                    |    6     3     3     0
 /trunk/samples/arm-unknown-elf/crosstool.config  |  225   225     0     0 +++++++++++++
 /trunk/samples/arm-unknown-eabi/crosstool.config |  223   223     0     0 +++++++++++++
 /trunk/config/kernel/linux_headers_install.in    |   64    27    37     0 ++--
 /trunk/config/kernel.in                          |    9     8     1     0 +
 /trunk/config/toolchain.in                       |    1     1     0     0 +
 /trunk/config/cc/gcc.in                          |    3     3     0     0 +
 /trunk/config/debug/dmalloc.in                   |    1     1     0     0 +
 /trunk/config/debug/gdb.in                       |    4     3     1     0 +
 /trunk/config/debug/strace.in                    |    1     1     0     0 +
 /trunk/config/debug/duma.in                      |    1     1     0     0 +
 /trunk/config/cc.in                              |    8     8     0     0 +
 /trunk/config/target.in                          |   13    13     0     0 +
 /trunk/config/binutils.in                        |    1     1     0     0 +
 /trunk/config/gmp_mpfr.in                        |    1     1     0     0 +
 /trunk/config/libc.in                            |   17    11     6     0 +
 /trunk/arch/arm/functions                        |    3     1     2     0 -
 22 files changed, 600 insertions(+), 652 deletions(-)
2008-09-14 16:21:07 +00:00
Yann E. MORIN"
8623e7154c eglibc and PowerPC SPE documentaion, courtesy Nate CASE.
/trunk/config/libc.in         |    7     7     0     0 +++++++
 /trunk/arch/powerpc/config.in |   11    10     1     0 ++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)
2008-08-27 16:24:24 +00:00
Yann E. MORIN"
30481d01ce Move the threading model choice back to the C library menu:
- the threading models available are dependent on the C library used
 - it is thus easier to first select the C libary, and then the threading model, rather going back to the toolchain menu.

 /trunk/config/toolchain.in |   29     0    29     0 -----------------------------
 /trunk/config/libc.in      |   47    38     9     0 ++++++++++++++++++++++++++++++++++++++---------
 2 files changed, 38 insertions(+), 38 deletions(-)
2008-08-21 09:48:00 +00:00
Yann E. MORIN"
5b77246d1c Typo.
/trunk/config/libc.in |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-08-12 10:53:11 +00:00
Yann E. MORIN"
59ef10f5d6 Merge the branches/eglibc stuff:
- Add support for eglibc

 /trunk/scripts/functions  |    6     4     2     0 ++++--
 /trunk/docs/CREDITS       |    1     1     0     0 +
 /trunk/config/libc.in     |   12    12     0     0 ++++++++++++
 /trunk/arch/arm/functions |    4     2     2     0 ++--
 4 files changed, 19 insertions(+), 4 deletions(-)
2008-08-11 12:22:47 +00:00
Yann E. MORIN"
7abf35f472 Allow selecting 'latest' snapshot, as well as 'specific' date snapshot for glibc.
Update uClibc config to commonalise some help.

 /trunk/scripts/build/libc_glibc.sh |   22    20     2     0 ++++++++++++++++++++--
 /trunk/config/libc/glibc.in        |   12    12     0     0 ++++++++++++
 /trunk/config/libc/uClibc.in       |   12     4     8     0 ++++--------
 /trunk/config/libc.in              |   13    13     0     0 +++++++++++++
 4 files changed, 49 insertions(+), 10 deletions(-)
2008-07-22 13:29:08 +00:00
Yann E. MORIN"
2237fab536 Moving around the files in config/ broke the tools/addToolVersion.sh script.
Fix that.

 /trunk/tools/addToolVersion.sh |   26    13    13     0 +++++++++++++-------------
 /trunk/config/kernel/linux.in  |    6     3     3     0 +++---
 /trunk/config/kernel.in        |    2     1     1     0 +-
 /trunk/config/cc.in            |    2     1     1     0 +-
 /trunk/config/libc.in          |    4     2     2     0 ++--
 5 files changed, 20 insertions(+), 20 deletions(-)
2008-04-17 21:04:23 +00:00
Yann E. MORIN"
dd862bd7a4 Move config files around, and clean up the mess in the config/ directory.
config/kernel/kernel_linux.in            |   12     6     6     0 +-
 config/paths.in                          |   89     0    89     0 ----------------
 config/kernel_linux_headers_install.in   |  168     0   168     0 ------------------------------
 config/kernel.in                         |    2     1     1     0
 config/kernel_linux_headers_copy.in      |   42     0    42     0 --------
 config/cc.in                             |    2     1     1     0
 config/logging.in                        |  110     0   110     0 --------------------
 config/build-behave.in                   |   45     0    45     0 --------
 config/libc_uClibc.in                    |  101     0   101     0 ------------------
 config/kernel_linux_headers_sanitised.in |   62     0    62     0 -----------
 config/ct-behave.in                      |   82     0    82     0 ---------------
 config/kernel_linux.in                   |  134     0   134     0 ------------------------
 config/global.in                         |   10     5     5     0 +-
 config/download_extract.in               |  171     0   171     0 -------------------------------
 config/cc_gcc.in                         |  130     0   130     0 ------------------------
 config/libc_glibc.in                     |  124     0   124     0 ----------------------
 config/libc.in                           |    4     2     2     0
 17 files changed, 15 insertions(+), 1273 deletions(-)
2008-04-17 20:26:25 +00:00
Yann E. MORIN"
de5df0533c Merge the NPTL stuff.
That still leaves the linuxthreads stuff broken, but it was just before. I don't care anyway. Time to fix that later...
2007-05-27 20:22:06 +00:00
Yann E. MORIN"
721da92158 Move the whole threading ;odel choice out of glibc and into the generic C library options: even uClibc may have NPTL at one point in the (hopefully near) future.
Mark the progress bar as being CPU-intensive.
Little style fix to the core C compiler build step.
2007-05-14 19:59:41 +00:00
Yann E. MORIN"
1906cf93f8 Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
2007-02-24 11:00:05 +00:00