Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/origin/official' into cctools-llvm
Browse files Browse the repository at this point in the history
Conflicts:
	config/binutils.in
	config/cc/gcc.in
	config/companion_libs/mpfr.in
	config/config.mk
	config/global/build-behave.in
	config/libc/eglibc.in
	config/libc/glibc.in
	config/libc/uClibc.in
	samples/arm-cortex_a15-linux-gnueabi/crosstool.config
	samples/mipsel-sde-elf/crosstool.config
	scripts/build/cc/gcc.sh
	scripts/build/internals.sh
	scripts/crosstool-NG.sh.in
	steps.mk
  • Loading branch information
Yann Diorcet committed Jul 7, 2013
2 parents 7735796 + b066764 commit 1282e5a
Show file tree
Hide file tree
Showing 158 changed files with 4,284 additions and 1,181 deletions.
10 changes: 5 additions & 5 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -298,10 +298,9 @@ install-bin: $(DESTDIR)$(bindir)

# If one is hacking crosstool-NG, the patch set might change between any two
# installations of the same VERSION, thus the patches must be removed prior
# to being installed. It is simpler to remove the whole lib/ directory, as it
# is the goal of the install-lib rule to install the lib/ directory...
install-lib: uninstall-lib \
$(DESTDIR)$(libdir) \
# to being installed. It is the responsibility of the user to call uninstall
# first, if (s)he deems it necessary
install-lib: $(DESTDIR)$(libdir) \
install-lib-main \
install-lib-samples

Expand Down Expand Up @@ -349,8 +348,9 @@ install-lib-samples: $(DESTDIR)$(libdir) install-lib-main
KCONFIG_FILES := conf mconf nconf kconfig.mk
install-lib-kconfig: $(DESTDIR)$(libdir) install-lib-main
@echo " INST 'kconfig/'"
@mkdir -p "$(DESTDIR)$(libdir)/kconfig"
@for f in $(KCONFIG_FILES); do \
install -D "kconfig/$${f}" "$(DESTDIR)$(libdir)/kconfig/$${f}"; \
install "kconfig/$${f}" "$(DESTDIR)$(libdir)/kconfig/$${f}"; \
done

install-doc: $(DESTDIR)$(docdir)
Expand Down
55 changes: 48 additions & 7 deletions config/arch/arm.in.2
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ config ARCH_ARM_MODE_ARM

config ARCH_ARM_MODE_THUMB
bool
prompt "thumb (EXPERIMENTAL)"
depends on EXPERIMENTAL
prompt "thumb"
help
Defaults to emitting instructions in the THUMB mode.

Expand All @@ -28,7 +27,6 @@ endchoice
config ARCH_ARM_INTERWORKING
bool
prompt "Use Thumb-interworking (READ HELP)"
depends on EXPERIMENTAL
help
Excerpt from the gcc manual:

Expand All @@ -37,16 +35,59 @@ config ARCH_ARM_INTERWORKING
> cannot be reliably used inside one program. The default is
> [not to use interwork], since slightly larger code is generated
> when [interwork] is specified.

NOTE: Interworking in crosstool-NG is not sell-tested. Use at your
own risks, and report success and/or failure.

# Until we only support EABI:
config ARCH_ARM_ABI_OK
def_bool y
depends on ! ARCH_ARM_EABI
select ARCH_SUPPORTS_WITH_ABI

# Little trick to force EABI *and* always show the prompt
config ARCH_ARM_EABI_FORCE
bool
default y if ! OBSOLETE
select ARCH_ARM_EABI

config ARCH_ARM_EABI
bool
prompt "Use EABI"
default y
help
Set up the toolchain so that it generates EABI-compliant binaries.

If you say 'n' here, then the toolchain will generate OABI binaries.
OABI has long been deprecated, and is now considered legacy.

config ARCH_ARM_ABI_OK
config ARCH_ARM_TUPLE_USE_EABIHF
bool
default y
depends on ! ARCH_ARM_EABI
select ARCH_SUPPORTS_WITH_ABI
prompt "append 'hf' to the tuple (EXPERIMENTAL)"
depends on ARCH_FLOAT_HW
depends on ARCH_ARM_EABI # Until we only support that...
depends on EXPERIMENTAL
help
Is you say 'y' here, then the tuple for the toolchain will end
up with *eabihf, instead of the usual *eabi.

*eabihf is used to denote that the toolchain *is* using the
hard-float ABI, while *eabi is just an indication of using the
soft-float ABI.

Ie. all one can say is: *eabihf ⊢ hard-float ABI

Saying 'n' here does *not* impact the ability of the toolchain to
generate hard-float instructions with the hard-float ABI. It is a
purely cosmetic thing, used by distros to differentiate their
hard-float-ABI-using ports from their soft-float-ABI-using ports.
(eg. Debian Wheezy and above).

This is an option, as not all versions of gcc/binutils do support
such tuple, and fail to build with *eabihf. Stock gcc version up
to, and including 4.7.2 have an issue or another with *eabihf.

This option is here for the future.

Say 'n', unless you are trying to fix gcc to properly recognise
the *eabihf tuples.
2 changes: 0 additions & 2 deletions config/arch/m68k.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# m68k specific configuration file

## depends on EXPERIMENTAL
##
## select ARCH_SUPPORTS_32
## select ARCH_DEFAULT_32
## select ARCH_DEFAULT_BE
Expand Down
22 changes: 22 additions & 0 deletions config/arch/microblaze.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# MicroBlaze specific config options

## depends on EXPERIMENTAL
##
## select ARCH_SUPPORT_ARCH
## select ARCH_FLOAT_SW
## select ARCH_SUPPORTS_BOTH_ENDIAN
## select ARCH_DEFAULT_BE
## select ARCH_SUPPORTS_BOTH_MMU
## select ARCH_DEFAULT_HAS_MMU
##
## help The MicroBlaze architecture, as defined by:
## help http://www.xilinx.com/
## help
## help Upstream projects do not currently provide
## help full support for the microblaze architecture
## help and as such, this is marked as EXPERIMENTAL
## help for CT-NG.
## help
## help Support is being added for a modern gcc,
## help binutils and gdb along with nptl threading
## help in eglibc for microblaze.
2 changes: 0 additions & 2 deletions config/arch/s390.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# s390 specific config options

## depends on EXPERIMENTAL
##
## select ARCH_SUPPORTS_32
## select ARCH_SUPPORTS_64
## select ARCH_DEFAULT_32
Expand Down
35 changes: 32 additions & 3 deletions config/binutils.in
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,41 @@

menu "Binary utilities"

config BINUTILS
string
choice
bool
prompt "Binary format:"

config ARCH_BINFMT_ELF
bool
prompt "ELF"
depends on ARCH_USE_MMU || BARE_METAL
help
This will make your system build ELF executables,
suitable for architectures with an MMU.

config ARCH_BINFMT_FLAT
bool
prompt "Flat"
depends on ! ARCH_USE_MMU
help
This will build flat binaries, suitable for
MMU-less architectures.

config BINUTILS_VERSION
config ARCH_BINFMT_FDPIC
bool
prompt "FD_PIC ELF"
depends on ! ARCH_USE_MMU
help
This will build FD_PIC ELF binaries, suitable for
MMU-less architectures that still require to use
shared libraries (FIXME).

endchoice

config BINUTILS
string

source "config.gen/binutils.in"
source "config.gen/binutils.in.2"

endmenu
52 changes: 35 additions & 17 deletions config/binutils/binutils.in
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,20 @@ choice
# Don't remove next line
# CT_INSERT_VERSION_BELOW

config BINUTILS_V_2_22
config BINUTILS_V_2_23_1
bool
prompt "2.22 (EXPERIMENTAL)"
prompt "2.23.1 (EXPERIMENTAL)"
depends on EXPERIMENTAL
select BINUTILS_2_23_or_later

config BINUTILS_V_2_22
bool
prompt "2.22"
select BINUTILS_2_22_or_later

config BINUTILS_V_2_21_53
bool
prompt "2.21.53 (EXPERIMENTAL)"
depends on EXPERIMENTAL
prompt "2.21.53"
select BINUTILS_2_21_or_later

config BINUTILS_V_2_21_1a
Expand All @@ -43,30 +47,44 @@ config BINUTILS_V_2_18a
prompt "2.18a"
select BINUTILS_2_18_or_later

config BINUTILS_V_2_17a
bool
prompt "2.17a (OBSOLETE)"
depends on OBSOLETE

config BINUTILS_V_2_16_1a
config BINUTILS_CUSTOM
bool
prompt "2.16.1a (OBSOLETE)"
depends on OBSOLETE
prompt "Custom binutils"
depends on EXPERIMENTAL
select BINUTILS_2_22_or_later

endchoice

if BINUTILS_CUSTOM

config BINUTILS_CUSTOM_LOCATION
string
prompt "Full path to custom binutils source"
default ""
help
Enter the path to the directory (or tarball) of your source for binutils,
or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/binutils

endif # BINUTILS_CUSTOM

config BINUTILS_VERSION
string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
default "2.23.1" if BINUTILS_V_2_23_1
default "2.22" if BINUTILS_V_2_22
default "2.21.53" if BINUTILS_V_2_21_53
default "2.21.1a" if BINUTILS_V_2_21_1a
default "2.20.1a" if BINUTILS_V_2_20_1a
default "2.19.1a" if BINUTILS_V_2_19_1a
default "2.18a" if BINUTILS_V_2_18a
default "2.17a" if BINUTILS_V_2_17a
default "2.16.1a" if BINUTILS_V_2_16_1a
default "custom" if BINUTILS_CUSTOM

config BINUTILS_2_23_or_later
bool
select BINUTILS_2_22_or_later
select BINUTILS_HAS_GOLD
select BINUTILS_HAS_PLUGINS

config BINUTILS_2_22_or_later
bool
Expand Down Expand Up @@ -99,8 +117,11 @@ config BINUTILS_HAS_HASH_STYLE
config BINUTILS_HAS_GOLD
bool

# gold only suports the listed architectures
config BINUTILS_GOLD_SUPPORTS_ARCH
bool
default y if ARCH_arm
default y if ARCH_x86

config BINUTILS_HAS_PLUGINS
bool
Expand Down Expand Up @@ -130,7 +151,6 @@ config BINUTILS_LINKER_GOLD
depends on BINUTILS_HAS_GOLD
depends on BINUTILS_GOLD_SUPPORTS_ARCH
depends on ! BINUTILS_FORCE_LD_BFD
depends on EXPERIMENTAL
select BINUTILS_GOLD_INSTALLED
help
gold is a new, optimised, multi-threaded linker with support
Expand All @@ -143,7 +163,6 @@ config BINUTILS_LINKER_LD_GOLD
prompt "ld, gold"
depends on BINUTILS_HAS_GOLD
depends on BINUTILS_GOLD_SUPPORTS_ARCH
depends on EXPERIMENTAL
select BINUTILS_GOLD_INSTALLED
select BINUTILS_LINKER_BOTH
help
Expand All @@ -157,7 +176,6 @@ config BINUTILS_LINKER_GOLD_LD
prompt "gold, ld"
depends on BINUTILS_HAS_GOLD
depends on BINUTILS_GOLD_SUPPORTS_ARCH
depends on EXPERIMENTAL
select BINUTILS_GOLD_INSTALLED
select BINUTILS_LINKER_BOTH
select BINUTILS_LD_WRAPPER if BINUTILS_FORCE_LD_BFD
Expand Down
56 changes: 56 additions & 0 deletions config/binutils/binutils.in.2
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# elf2flt options

if ARCH_BINFMT_FLAT

comment "elf2flt"

choice
bool
prompt "elf2flt version"
# Don't remove next line
# CT_INSERT_VERSION_BELOW

config ELF2FLT_CVSHEAD
bool
prompt "CVS Head"
help
Grab the latest version of elf2flt from the CVS repository

config ELF2FLT_CUSTOM
bool
prompt "Custom elf2flt"
depends on EXPERIMENTAL

endchoice

if ELF2FLT_CUSTOM

config ELF2FLT_CUSTOM_LOCATION
string
prompt "Full path to custom elf2flt source"
default ""
help
Enter the path to the directory (or tarball) of your source for elf2flt,
or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/elf2flt

endif # ELF2FLT_CUSTOM

config ELF2FLT_VERSION
string
default "cvs" if ELF2FLT_CVSHEAD
default "custom" if ELF2FLT_CUSTOM
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW

config ELF2FLT_EXTRA_CONFIG_ARRAY
string
prompt "elf2flt extra config"
default ""
help
Extra flags passed onto ./configure when configuring

You can enter multiple arguments here, and arguments can contain spaces
if they are properly quoted (or escaped, but prefer quotes). Eg.:
--with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space

endif
3 changes: 3 additions & 0 deletions config/cc.in
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ config CC
config CC_CORE_PASSES_NEEDED
bool

config CC_CORE_PASSES_NEEDED
bool

source "config.gen/cc.in"

config CC_SUPPORT_CXX
Expand Down
Loading

0 comments on commit 1282e5a

Please sign in to comment.