config/kernel/bare-metal.in
author |
Bryan Hundven <bryanhundven@gmail.com> |
|
Sun Jun 26 03:26:54 2011 -0700 (2011-06-26) |
changeset 2515 |
364b06df9e3a |
parent 1030 |
e5bf882d6514
|
permissions |
-rw-r--r-- |
glibc: Refactor startfiles/headers into do_libc_backend()
Refactor the contents of 'do_libc_start_files()' and 'do_libc()' into a
parameterized 'do_libc_backend()'. 'do_libc_start_files()' and 'do_libc()'
call 'do_libc_backend()' with either 'libc_mode=startfiles' or
'libc_mode=final' (respectively) so that the startfiles/headers and
the final libc builds are configured and built with the same options.
One example of where this is needed is when building a mips toolchain.
Previously, if you were building an n32 toolchain, you wouldn't have
noticed an issue, because if '-mabi' is not in CFLAGS, n32 is the
default:
http://sourceware.org/git/?p=glibc-ports.git;a=blob;f=sysdeps/mips/preconfigure;hb=HEAD
But when trying to build an o32 or n64 toolchain the build would
have failed. This is because (e)glibc expects "-mabi={o32,n32,n64}" to be
in CFLAGS, but was not previously provided in 'do_libc_start_files()'.
The build failure would happen in the shared-core gcc when it tries to
configure an n64 or o32 gcc with an n32 libc.
A simpler solution would have been to just add TARGET_CFLAGS to configure
in 'do_libc_start_files()', but this way makes configure and make
consistent for both steps.
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
yann@861
|
1 |
# Bare metal config options
|
yann@861
|
2 |
|
yann@2444
|
3 |
## select BARE_METAL
|
yann@2444
|
4 |
##
|
yann@2444
|
5 |
## help 'Bare metal' refers to those programs that run without any kernel.
|
yann@2444
|
6 |
## help
|
yann@2444
|
7 |
## help You probably want to say 'y' here if you plan to use your compiler
|
yann@2444
|
8 |
## help to build bootloaders. It is not yet suitable to build Linux kernels,
|
yann@2444
|
9 |
## help though, because the APCI stuff relies on the target C library headers
|
yann@2444
|
10 |
## help being available?!?!...
|