misc config-cleanup
cover misc config-cleanup
The attached small series ??) starts to cleanup some aspects of Peter's tree and starts to sync up with miscellaneous changes from my tree.
Peter, please pull.
??) git://git.buildroot.org/~aldot/git/buildroot
Bernhard Reutner-Fischer (6):
atmel mirrors are only needed for atmel targets always append FPU_SUFFIX
default to EABI on arm
improve arch selection and gcc setup
mark odd strip invocations
remove superfluous OPTIMIZE and DEBUG config knobs
Config.in | 108 +------ package/Makefile.in | 40 +-- package/ntfs-3g/ntfs-3g.mk | 2 + target/Config.in.arch | 683 +++++++++++++++++++++++++++++++++++---- target/device/Config.in.mirrors | 4 +- toolchain/Config.in.2 | 12 + toolchain/gcc/Makefile.in | 25 ++- toolchain/gcc/gcc-uclibc-4.x.mk | 9 +- 8 files changed, 665 insertions(+), 218 deletions(-)
PATCH 1/6 atmel mirrors are only needed for atmel targets
--- target/device/Config.in.mirrors | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
target/device/Config.in.mirrors +2 -2
@@ -64,7 +64,7 @@ config BR2_DEBIAN_MIRROR Usually, just add your country code like XX here: http://ftp.XX.debian.org - +if BR2_TARGET_ATMEL source "target/device/Atmel/Config.in.mirrors" - +endif endmenu
Signature · 1 line
1.6.3.3
PATCH 2/6 always append FPU_SUFFIX
--- Config.in | 7 ------- package/Makefile.in | 10 ++-------- 2 files changed, 2 insertions(+), 15 deletions(-)
Config.in +0 -7
@@ -99,13 +99,6 @@ config BR2_STAGING_DIR Most people will leave this set to the default value of "$(BASE_DIR)/staging". -config BR2_FPU_SUFFIX - bool "Add '_nofpu' suffix for softfloat toolchains" - help - If the toolchain is configured to use softfloat, then - the "_nofpu" suffix will be added to the toolchain build - directory name and to any rootfs image name - config BR2_GNU_BUILD_SUFFIX string "GNU build hostname suffix" default "pc-linux-gnu"
package/Makefile.in +2 -8
@@ -105,18 +105,12 @@ XXXX=xxxx ROOTFS_SUFFIX:=-$(BR2_ROOTFS_SUFFIX) endif -ifeq ($(call qstrip,$(BR2_FPU_SUFFIX)),y) -COND_ARCH_FPU_SUFFIX:=$(ARCH_FPU_SUFFIX) -else -COND_ARCH_FPU_SUFFIX:= -endif - ifeq ($(BR2_TOOLCHAIN_SOURCE),y) TOOLCHAIN_DIR=$(BASE_DIR)/toolchain # Quotes are needed for spaces et al in path components. TARGET_PATH="$(TOOLCHAIN_DIR)/bin:$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(STAGING_DIR)/bin:$(STAGING_DIR)/usr/bin:$(PATH)" -IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(COND_ARCH_FPU_SUFFIX)$(ROOTFS_SUFFIX) +IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(ARCH_FPU_SUFFIX)$(ROOTFS_SUFFIX) GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)$(GNU_TARGET_SUFFIX) TARGET_CROSS=$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-
@@ -127,7 +121,7 @@ TOOLCHAIN_EXTERNAL_PATH:=$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PATH)) TOOLCHAIN_DIR=$(BASE_DIR)/toolchain TARGET_PATH="$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(TOOLCHAIN_DIR)/bin:$(TOOLCHAIN_EXTERNAL_PATH)/bin:$(PATH)" #IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(TOOLCHAIN_EXTERNAL_PREFIX)$(ROOTFS_SUFFIX) -IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(COND_ARCH_FPU_SUFFIX)$(ROOTFS_SUFFIX) +IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(ARCH_FPU_SUFFIX)$(ROOTFS_SUFFIX) REAL_GNU_TARGET_NAME=$(TOOLCHAIN_EXTERNAL_PREFIX) GNU_TARGET_NAME=$(TOOLCHAIN_EXTERNAL_PREFIX)
Signature · 1 line
1.6.3.3
PATCH 3/6 default to EABI on arm
Use of OABI is strongly discouraged since years now.
--- target/Config.in.arch | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-)
target/Config.in.arch +6 -3
@@ -116,14 +116,17 @@ config BR2_ARM_TYPE choice prompt "Target ABI" depends on BR2_arm || BR2_armeb - default BR2_ARM_OABI + default BR2_ARM_EABI help Application Binary Interface to use -config BR2_ARM_OABI - bool "OABI" + Note: + Using OABI is discouraged. + config BR2_ARM_EABI bool "EABI" +config BR2_ARM_OABI + bool "OABI" endchoice choice
Signature · 1 line
1.6.3.3
PATCH 4/6 improve arch selection and gcc setup
--- package/Makefile.in | 4 +- target/Config.in.arch | 674 +++++++++++++++++++++++++++++++++++---- toolchain/Config.in.2 | 12 + toolchain/gcc/Makefile.in | 25 ++- toolchain/gcc/gcc-uclibc-4.x.mk | 9 +- 5 files changed, 652 insertions(+), 72 deletions(-)
package/Makefile.in +2 -2
@@ -110,7 +110,7 @@ TOOLCHAIN_DIR=$(BASE_DIR)/toolchain # Quotes are needed for spaces et al in path components. TARGET_PATH="$(TOOLCHAIN_DIR)/bin:$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(STAGING_DIR)/bin:$(STAGING_DIR)/usr/bin:$(PATH)" -IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(ARCH_FPU_SUFFIX)$(ROOTFS_SUFFIX) +IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(ARCH_FPU_SUFFIX)$(ARCH_MMU_SUFFIX)$(ROOTFS_SUFFIX) GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)$(GNU_TARGET_SUFFIX) TARGET_CROSS=$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-
@@ -121,7 +121,7 @@ TOOLCHAIN_EXTERNAL_PATH:=$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PATH)) TOOLCHAIN_DIR=$(BASE_DIR)/toolchain TARGET_PATH="$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(TOOLCHAIN_DIR)/bin:$(TOOLCHAIN_EXTERNAL_PATH)/bin:$(PATH)" #IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(TOOLCHAIN_EXTERNAL_PREFIX)$(ROOTFS_SUFFIX) -IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(ARCH_FPU_SUFFIX)$(ROOTFS_SUFFIX) +IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(ARCH_FPU_SUFFIX)$(ARCH_MMU_SUFFIX)$(ROOTFS_SUFFIX) REAL_GNU_TARGET_NAME=$(TOOLCHAIN_EXTERNAL_PREFIX) GNU_TARGET_NAME=$(TOOLCHAIN_EXTERNAL_PREFIX)
target/Config.in.arch +613 -61
888 lines not on this page · raw message
toolchain/Config.in.2 +12 -0
@@ -85,6 +85,18 @@ config BR2_SOFT_FLOAT Most people will answer N. +config BR2_HAVE_NOMMU + def_bool n + # assume that we have an MMU per default. + +config BR2_USE_MMU + bool "Use MMU" + default y + depends on !BR2_HAVE_NOMMU + help + If your target has an MMU and you want to use it + then say Y here. + config BR2_USE_SSP bool "Enable stack protection support" help
toolchain/gcc/Makefile.in +19 -6
@@ -49,16 +49,29 @@ SOFT_FLOAT_CONFIG_OPTION:= TARGET_SOFT_FLOAT:= ARCH_FPU_SUFFIX:= endif +ifeq ($(BR2_USE_MMU),y) +ARCH_MMU_SUFFIX:= +else +ARCH_MMU_SUFFIX:=_nommu +endif -# some additional defaults +# Some arches (e.g. cris) do not have supported_defaults +# These are not allowed BR2_GCC_TARGET_ARCH but only +# BR2_GCC_TARGET_FLAGS_ARCH +ifneq ($(call qstrip,$(BR2_GCC_TARGET_ABI)),) +GCC_WITH_ABI:=--with-abi=$(call qstrip,$(BR2_GCC_TARGET_ABI)) +endif ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),) -GCC_WITH_ARCH:=--with-arch=$(BR2_GCC_TARGET_ARCH) +GCC_WITH_ARCH:=--with-arch=$(call qstrip,$(BR2_GCC_TARGET_ARCH)) endif -ifneq ($(call qstrip,$(BR2_GCC_TARGET_TUNE)),) -GCC_WITH_TUNE:=--with-tune=$(BR2_GCC_TARGET_TUNE) +ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),) +BR2_GCC_TARGET_CPU_:=$(call qstrip,$(BR2_GCC_TARGET_CPU)) +BR2_GCC_TARGET_SUBCPU_:=$(call qstrip,$(BR2_GCC_TARGET_SUBCPU)) +BR2_GCC_TARGET_SUBCPU_SEPARATOR_:=$(call qstrip,$(BR2_GCC_TARGET_SUBCPU_SEPARATOR)) +GCC_WITH_CPU:=--with-cpu=$(GCC_TARGET_CPU_)$(if $(GCC_TARGET_SUBCPU_),$(GCC_TARGET_SUBCPU_SEPARATOR)$(GCC_TARGET_SUBCPU_)) endif -ifneq ($(call qstrip,$(BR2_GCC_TARGET_ABI)),) -GCC_WITH_ABI:=--with-abi=$(BR2_GCC_TARGET_ABI) +ifneq ($(call qstrip,$(BR2_GCC_TARGET_TUNE)),) +GCC_WITH_TUNE:=--with-tune=$(call qstrip,$(BR2_GCC_TARGET_TUNE)) endif # AVR32 GCC configuration
toolchain/gcc/gcc-uclibc-4.x.mk +6 -3
@@ -233,7 +233,8 @@ $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched $(MULTILIB) \ $(GCC_DECIMAL_FLOAT) \ $(SOFT_FLOAT_CONFIG_OPTION) \ - $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \ + $(GCC_WITH_ABI) $(GCC_WITH_ARCH) \ + $(GCC_WITH_CPU) $(GCC_WITH_TUNE) \ $(EXTRA_GCC_CONFIG_OPTIONS) \ $(EXTRA_GCC1_CONFIG_OPTIONS) \ $(QUIET) \
@@ -310,7 +311,8 @@ $(GCC_BUILD_DIR2)/.configured: $(GCC_SRC_DIR)/.patched $(GCC_STAGING_PREREQ) $(MULTILIB) \ $(GCC_DECIMAL_FLOAT) \ $(SOFT_FLOAT_CONFIG_OPTION) \ - $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \ + $(GCC_WITH_ABI) $(GCC_WITH_ARCH) \ + $(GCC_WITH_CPU) $(GCC_WITH_TUNE) \ $(GCC_USE_SJLJ_EXCEPTIONS) \ $(DISABLE_LARGEFILE) \ $(EXTRA_GCC_CONFIG_OPTIONS) \
@@ -437,7 +439,8 @@ $(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR3)/.prepared $(MULTILIB) \ $(GCC_DECIMAL_FLOAT) \ $(SOFT_FLOAT_CONFIG_OPTION) \ - $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \ + $(GCC_WITH_ABI) $(GCC_WITH_ARCH) \ + $(GCC_WITH_CPU) $(GCC_WITH_TUNE) \ $(GCC_USE_SJLJ_EXCEPTIONS) \ $(DISABLE_LARGEFILE) \ $(EXTRA_GCC_CONFIG_OPTIONS) \
Signature · 1 line
1.6.3.3
PATCH 5/6 mark odd strip invocations
--- package/ntfs-3g/ntfs-3g.mk | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
package/ntfs-3g/ntfs-3g.mk +2 -0
@@ -20,8 +20,10 @@ $(NTFS_3G_TARGET_INSTALL_TARGET): $(NTFS_3G_TARGET_INSTALL_STAGING) ifeq ($(BR2_ENABLE_DEBUG),) $(NTFS_3G_HOOK_POST_INSTALL): $(NTFS_3G_TARGET_INSTALL_TARGET) + # huh? $(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/bin/ntfs-3g $(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/bin/ntfs-3g.probe + # huhu? STRIP_STRIP_UNNEEDED $(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/lib/libntfs-3g.so* touch $@ endif
Signature · 1 line
1.6.3.3
PATCH 6/6 remove superfluous OPTIMIZE and DEBUG config knobs
There is BR2_TARGET_OPTIMIZATION that is saved in the .config
--- Config.in | 101 +-------------------------------------------------- package/Makefile.in | 30 +-------------- 2 files changed, 3 insertions(+), 128 deletions(-)
Config.in +1 -100
@@ -169,38 +169,7 @@ config BR2_ENABLE_DEBUG bool "build packages with debugging symbols" select BR2_PACKAGE_GDB_SERVER help - Build packages with debugging symbols - enabled - -if BR2_ENABLE_DEBUG -choice - prompt "gcc debug level" - default BR2_DEBUG_2 - help - Set the debug level for gcc - -config BR2_DEBUG_1 - bool "debug level 1" - help - Debug level 1 produces minimal information, enough - for making backtraces in parts of the program that - you don't plan to debug. This includes descriptions - of functions and external variables, but no information - about local variables and no line numbers. - -config BR2_DEBUG_2 - bool "debug level 2" - help - The default gcc debug level is 2 - -config BR2_DEBUG_3 - bool "debug level 3" - help - Level 3 includes extra information, such as all the - macro definitions present in the program. Some debuggers - support macro expansion when you use -g3. -endchoice -endif + Build packages with debugging symbols enabled choice prompt "strip"
@@ -231,74 +200,6 @@ config BR2_STRIP_none none do not strip (only for debugging!) endchoice -choice - prompt "gcc optimization level" - default BR2_OPTIMIZE_S - help - Set the optimization level for gcc - -config BR2_OPTIMIZE_0 - bool "optimization level 0" - depends on !BR2_PACKAGE_LINUX - help - Do not optimize. This is the default. - -config BR2_OPTIMIZE_1 - bool "optimization level 1" - depends on !BR2_PACKAGE_LINUX - help - Optimize. Optimizing compilation takes somewhat more time, - and a lot more memory for a large function. With -O, the - compiler tries to reduce code size and execution time, - without performing any optimizations that take a great deal - of compilation time. -O turns on the following optimization - flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability - -fcprop-registers -floop-optimize -fif-conversion - -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts - -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename - -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants - -O also turns on -fomit-frame-pointer on machines where doing - so does not interfere with debugging. - -config BR2_OPTIMIZE_2 - bool "optimization level 2" - help - Optimize even more. GCC performs nearly all supported optimizations - that do not involve a space-speed tradeoff. The compiler does not - perform loop unrolling or function inlining when you specify -O2. - As compared to -O, this option increases both compilation time and - the performance of the generated code. -O2 turns on all optimization - flags specified by -O. It also turns on the following optimization - flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls - -fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm - -fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop - -frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns - -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove - -fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks - -freorder-functions -falign-functions -falign-jumps -falign-loops - -falign-labels -ftree-vrp -ftree-pre - Please note the warning under -fgcse about invoking -O2 on programs - that use computed gotos. - -config BR2_OPTIMIZE_3 - bool "optimization level 3" - help - Optimize yet more. -O3 turns on all optimizations specified by -O2 - and also turns on the -finline-functions, -funswitch-loops and - -fgcse-after-reload options. - -config BR2_OPTIMIZE_S - bool "optimize for size" - help - Optimize for size. -Os enables all -O2 optimizations that do not - typically increase code size. It also performs further optimizations - designed to reduce code size. -Os disables the following optimization - flags: -falign-functions -falign-jumps -falign-loops -falign-labels - -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays - -ftree-vect-loop-version - -endchoice - config BR2_PREFER_STATIC_LIB bool "prefer static libraries" help
package/Makefile.in +2 -28
@@ -9,35 +9,9 @@ HOSTMAKE :=$(shell which $(HOSTMAKE) || type -p $(HOSTMAKE) || echo make) MAKE1:=$(HOSTMAKE) -j1 MAKE:=$(HOSTMAKE) -j$(BR2_JLEVEL) -ifeq ($(BR2_OPTIMIZE_0),y) -TARGET_OPTIMIZATION+=-O0 -endif -ifeq ($(BR2_OPTIMIZE_1),y) -TARGET_OPTIMIZATION+=-O1 -endif -ifeq ($(BR2_OPTIMIZE_2),y) -TARGET_OPTIMIZATION+=-O2 -endif -ifeq ($(BR2_OPTIMIZE_3),y) -TARGET_OPTIMIZATION+=-O3 -endif -ifeq ($(BR2_OPTIMIZE_S),y) -TARGET_OPTIMIZATION+=-Os -endif -ifeq ($(BR2_DEBUG_1),y) -TARGET_DEBUGGING=-g1 -endif -ifeq ($(BR2_DEBUG_2),y) -TARGET_DEBUGGING=-g2 -endif -ifeq ($(BR2_DEBUG_3),y) -TARGET_DEBUGGING=-g3 -endif - - ######################################################################### ifeq ($(BR2_TOOLCHAIN_SOURCE),y) -TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) \ +TARGET_CFLAGS=$(TARGET_OPTIMIZATION) \ -I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include TARGET_LDFLAGS+=-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib ifeq ($(BR2_TOOLCHAIN_SYSROOT),y)
@@ -91,7 +65,7 @@ TARGET_CXXFLAGS=$(TARGET_CFLAGS) # else it's an external toolchain ######################################################################### else -TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) --sysroot $(STAGING_DIR)/ +TARGET_CFLAGS=$(TARGET_OPTIMIZATION) --sysroot $(STAGING_DIR)/ TARGET_CXXFLAGS=$(TARGET_CFLAGS) TARGET_LDFLAGS=--sysroot $(STAGING_DIR)/ endif
Signature · 1 line
1.6.3.3
PATCH 6/6 remove superfluous OPTIMIZE and DEBUG config knobs
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Bernhard> There is BR2_TARGET_OPTIMIZATION that is saved in the .config
I'm not sure. I think the existing config is pretty user friendly. If we could do this, then we should probably rename it to BR2_TARGET_EXTRA_CFLAGS or something like that so it's clear that you should use it for all extra flags.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 6/6 remove superfluous OPTIMIZE and DEBUG config knobs
Quoted 8 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Bernhard> There is
BR2_TARGET_OPTIMIZATIONthat is saved in the .configI'm not sure. I think the existing config is pretty user friendly. If we could do this, then we should probably rename it to
BR2_TARGET_EXTRA_CFLAGSor something like that so it's clear that you should use it for all extra flags.
The help-text of BR2_TARGET_OPTIMIZATION reads:
---8<---
Optimizations to use when building for the target host. ---8<---
If you want to build with -O0 -g3 -ggdb3 , then just set it to that. Adding knobs for each -Ox and -gx is not userfriendly but odd, given that there always was BR2_TARGET_OPTIMIZATION and that this is (or should be anyway) used _everywhere_.
PATCH 6/6 remove superfluous OPTIMIZE and DEBUG config knobs
Le Tue, 6 Oct 2009 20:49:39 +0200,
Bernhard Reutner-Fischer <[email protected]> a ?crit :
Quoted 9 lines
The help-text of
BR2_TARGET_OPTIMIZATIONreads:
---8<---
Optimizations to use when building for the target host. ---8<---If you want to build with -O0 -g3 -ggdb3 , then just set it to that. Adding knobs for each -Ox and -gx is not userfriendly but odd, given that there always was
BR2_TARGET_OPTIMIZATIONand that this is (or should be anyway) used _everywhere_.
Hum, you're right. But I think I would still like to keep a "enable debug" option that would :
* Compile with -g and keep the unstripped binary in the staging/ directory
* Strip the binaries in target/
This is the normal setup needed to do remote debugging: stripped binaries on the target, unstripped binaries with debugging symbols to feed gdb on the host.
I don't have a very strong opinion on this, but I think having an option for debugging/non-debugging is useful (and debugging + stripping should probably be the default). But if we decide to get rid of the option, some documentation would probably be enough.
Sincerly,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 6/6 remove superfluous OPTIMIZE and DEBUG config knobs
Quoted 8 lines · Thomas Petazzoni
Le Tue, 6 Oct 2009 20:49:39 +0200,
Bernhard Reutner-Fischer <[email protected]> a ?crit :Quoted 5 lines
The help-text of
BR2_TARGET_OPTIMIZATIONreads:
---8<---
Optimizations to use when building for the target host. ---8<---
Quoted 7 lines
Quoted 4 lines
If you want to build with -O0 -g3 -ggdb3 , then just set it to that. Adding knobs for each -Ox and -gx is not userfriendly but odd, given that there always was
BR2_TARGET_OPTIMIZATIONand that this is (or should be anyway) used _everywhere_.Hum, you're right. But I think I would still like to keep a "enable debug" option that would :
I didn't remove that option, it's still there :)
Note, however, that previously we handled this via the STRIP setting (none, strip, sstrip) automagically. The auto stuff needs such an additional knob since it wouldn't be really clean to wire it up on STRIP_none, agree 100%.
Quoted 3 lines
* Compile with -g and keep the unstripped binary in the staging/ directory
the staging area should not be stripped anyway (unless a package does it behind our back)
PATCH 6/6 remove superfluous OPTIMIZE and DEBUG config knobs
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Hi,
Quoted 2 lines
Quoted 2 lines
* Compile with -g and keep the unstripped binary in the staging/ directory
Bernhard> the staging area should not be stripped anyway (unless a Bernhard> package does it behind our back)
Indeed. The debug stuff is for the (unlikely) situation where you want to run gdb (not gdbserver) on the target.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 6/6 remove superfluous OPTIMIZE and DEBUG config knobs
Quoted 10 lines · Peter Korsgaard
Quoted 4 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
* Compile with -g and keep the unstripped binary in the staging/ directory
Bernhard> the staging area should not be stripped anyway (unless a Bernhard> package does it behind our back)
Indeed. The debug stuff is for the (unlikely) situation where you want to run gdb (not gdbserver) on the target.
So we seem to all agree.
PATCH 5/6 mark odd strip invocations
In reply to Bernhard Reutner-FischerQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Bernhard> Signed-off-by: Bernhard Reutner-Fischer <[email protected]> Bernhard> ---
Bernhard> package/ntfs-3g/ntfs-3g.mk | 2 ++
Bernhard> 1 files changed, 2 insertions(+), 0 deletions(-)
Bernhard> diff --git a/package/ntfs-3g/ntfs-3g.mk b/package/ntfs-3g/ntfs-3g.mk Bernhard> index efe15fa..c6894e4 100644
Bernhard> --- a/package/ntfs-3g/ntfs-3g.mk
Bernhard> +++ b/package/ntfs-3g/ntfs-3g.mk
Bernhard> @@ -20,8 +20,10 @@ $(NTFS_3G_TARGET_INSTALL_TARGET): $(NTFS_3G_TARGET_INSTALL_STAGING)
Bernhard> ifeq ($(BR2_ENABLE_DEBUG),)
Bernhard> $(NTFS_3G_HOOK_POST_INSTALL): $(NTFS_3G_TARGET_INSTALL_TARGET)
Bernhard> + # huh?
Bernhard> $(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/bin/ntfs-3g
Bernhard> $(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/bin/ntfs-3g.probe
Bernhard> + # huhu? STRIP_STRIP_UNNEEDED
Please just fix stuff instead of adding questions in comments.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 5/6 mark odd strip invocations
Quoted 13 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Bernhard> Signed-off-by: Bernhard Reutner-Fischer <[email protected]> Bernhard> ---
Bernhard>package/ntfs-3g/ntfs-3g.mk| 2 ++
Bernhard> 1 files changed, 2 insertions(+), 0 deletions(-)Bernhard> diff --git
a/package/ntfs-3g/ntfs-3g.mkb/package/ntfs-3g/ntfs-3g.mkBernhard> index efe15fa..c6894e4 100644
Bernhard> ---a/package/ntfs-3g/ntfs-3g.mk
Bernhard> +++b/package/ntfs-3g/ntfs-3g.mk
Bernhard> @@ -20,8 +20,10 @@ $(NTFS_3G_TARGET_INSTALL_TARGET): $(NTFS_3G_TARGET_INSTALL_STAGING)
Quoted 8 lines
Bernhard> ifeq ($(BR2_ENABLE_DEBUG),)
Bernhard> $(NTFS_3G_HOOK_POST_INSTALL): $(NTFS_3G_TARGET_INSTALL_TARGET)
Bernhard> + # huh?
Bernhard> $(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/bin/ntfs-3g
Bernhard> $(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/bin/ntfs-3g.probe
Bernhard> + # huhu?STRIP_STRIP_UNNEEDEDPlease just fix stuff instead of adding questions in comments.
People should be made aware of stuff like that. Did the .so work at all if you stripped all (instead of only unneeded)?
PATCH 5/6 mark odd strip invocations
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Hi,
Bernhard> + # huhu? STRIP_STRIP_UNNEEDED
Quoted 2 lines
Quoted 2 lines
Please just fix stuff instead of adding questions in comments.
Bernhard> People should be made aware of stuff like that. Did the .so Bernhard> work at all if you stripped all (instead of only unneeded)?
Sure, but stuff should get fixed instead. I have no idea if it worked, never used ntfs3g - Olaf?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 5/6 mark odd strip invocations
Quoted 6 lines · On Tue, 06 Oct 2009 20:51:12 +0200 Peter Korsgaard <[email protected]> wrote:
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Hi,
Bernhard> + # huhu?
STRIP_STRIP_UNNEEDEDQuoted 1 line
Quoted 1 line
Quoted 7 lines
Quoted 1 line
Quoted 1 line
Please just fix stuff instead of adding questions in comments.
Bernhard> People should be made aware of stuff like that. Did the .so Bernhard> work at all if you stripped all (instead of only unneeded)?
Sure, but stuff should get fixed instead. I have no idea if it worked, never used ntfs3g - Olaf?
Yep, it works 100%.
Target is a i586 automated partition-imaging tool build with gcc 4.3.3, binutils 2.19.1, uclibc 0.9.31.1 and using BR2_STRIP_sstrip (if that matters).
Regards
Olaf
PATCH 5/6 mark odd strip invocations
Quoted 14 lines · Olaf Rempel
Quoted 11 lines · On Tue, 06 Oct 2009 20:51:12 +0200 Peter Korsgaard <[email protected]> wrote:
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Hi,
Bernhard> + # huhu?
STRIP_STRIP_UNNEEDEDQuoted 2 lines
Quoted 2 lines
Please just fix stuff instead of adding questions in comments.
Bernhard> People should be made aware of stuff like that. Did the .so Bernhard> work at all if you stripped all (instead of only unneeded)?
Quoted 6 lines
Quoted 2 lines
Sure, but stuff should get fixed instead. I have no idea if it worked, never used ntfs3g - Olaf?
Yep, it works 100%.
Target is a i586 automated partition-imaging tool build with gcc 4.3.3, binutils 2.19.1, uclibc 0.9.31.1 and usingBR2_STRIP_sstrip(if that matters).
that matters indeed; sstrip doesn't use any such flags as opposed to strip.
PATCH 5/6 mark odd strip invocations
In reply to Olaf RempelQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Olaf" == Olaf Rempel <[email protected]> writes:
Olaf> Yep, it works 100%.
Olaf> Target is a i586 automated partition-imaging tool build with gcc 4.3.3, Olaf> binutils 2.19.1, uclibc 0.9.31.1 and using BR2_STRIP_sstrip (if that matters).
OK, on a related note why do we need all this special install handling? The ntfs-3g buildsystem seems to do the right thing on make install*, E.G. with all those lines removed I have:
find -name \*ntfs\*|xargs file /tmp/br/target
./sbin/mount.ntfs-3g: broken symbolic link to `/usr/bin/ntfs-3g' ./usr/lib/libntfs-3g.so: symbolic link to `libntfs-3g.so.52.0.0' ./usr/lib/libntfs-3g.so.52: symbolic link to `libntfs-3g.so.52.0.0'
./usr/lib/libntfs-3g.so.52.0.0: ELF 32-bit MSB shared object, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked, with unknown capability 0x41000000 = 0x11676e75, with unknown capability 0x10000 = 0x90401, stripped./usr/bin/ntfs-3g.probe: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked (uses shared libs), with unknown capability 0x41000000 = 0x11676e75, with unknown capability 0x10000 = 0x90401, stripped./usr/bin/ntfs-3g: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked (uses shared libs), with unknown capability 0x41000000 = 0x11676e75, with unknown capability 0x10000 = 0x90401, stripped
Signature · 1 line
Bye, Peter Korsgaard
PATCH 4/6 improve arch selection and gcc setup
In reply to Bernhard Reutner-FischerQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Again, please provide more detailed commit messages. This seems to be several unrelated changes?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 4/6 improve arch selection and gcc setup
Quoted 4 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Again, please provide more detailed commit messages. This seems to be several unrelated changes?
It adds some arches, fleshes out the cpu selection and provides for a gcc that defaults to generate code for the selected cpu. Any "unrelated" change is making sure that the changes are propagated properly. Ok?
PATCH 4/6 improve arch selection and gcc setup
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Quoted 4 lines · Peter Korsgaard
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Again, please provide more detailed commit messages. This seems to be several unrelated changes?
Bernhard> It adds some arches, fleshes out the cpu selection and Bernhard> provides for a gcc that defaults to generate code for the Bernhard> selected cpu. Any "unrelated" change is making sure that the Bernhard> changes are propagated properly. Ok?
Could you please split it up in 3 patches then? Thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 4/6 improve arch selection and gcc setup
Quoted 8 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Quoted 4 lines · Peter Korsgaard
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Again, please provide more detailed commit messages. This seems to be several unrelated changes?
Quoted 6 lines
Bernhard> It adds some arches, fleshes out the cpu selection and Bernhard> provides for a gcc that defaults to generate code for the Bernhard> selected cpu. Any "unrelated" change is making sure that the Bernhard> changes are propagated properly. Ok?
Could you please split it up in 3 patches then? Thanks.
done.
PATCH 3/6 default to EABI on arm
In reply to Bernhard Reutner-FischerQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Bernhard> Use of OABI is strongly discouraged since years now. Bernhard> Signed-off-by: Bernhard Reutner-Fischer <[email protected]> Bernhard> ---
Bernhard> target/Config.in.arch | 9 ++++++---
Bernhard> 1 files changed, 6 insertions(+), 3 deletions(-)
Bernhard> diff --git a/target/Config.in.arch b/target/Config.in.arch Bernhard> index e63fc02..e82c8f4 100644
Bernhard> --- a/target/Config.in.arch
Bernhard> +++ b/target/Config.in.arch
Bernhard> @@ -116,14 +116,17 @@ config BR2_ARM_TYPE
Bernhard> choice Bernhard> prompt "Target ABI" Bernhard> depends on BR2_arm || BR2_armeb
Bernhard> - default BR2_ARM_OABI
Bernhard> + default BR2_ARM_EABI
Ok.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 3/6 default to EABI on arm
In reply to Bernhard Reutner-FischerQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Bernhard> Use of OABI is strongly discouraged since years now.
Committed, thanks!
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/6 always append FPU_SUFFIX
In reply to Bernhard Reutner-FischerQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Why?
Please provide a bit more detailed commit messages to why we would want to do this - Shouldn't we rather get rid of that suffix completely?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/6 always append FPU_SUFFIX
Quoted 3 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Why?
I can have (e.g.) m68k toolchains with and without fpu/mmu. It's much easier to just use _nofpu_nommu suffices than to repeatedly rebuild for a gazillion of different combinations.
Quoted 3 lines
Please provide a bit more detailed commit messages to why we would want to do this - Shouldn't we rather get rid of that suffix completely?
PATCH 2/6 always append FPU_SUFFIX
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Quoted 3 lines · Peter Korsgaard
Quoted 3 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Why?
Bernhard> I can have (e.g.) m68k toolchains with and without fpu/mmu. Bernhard> It's much easier to just use _nofpu_nommu suffices than to repeatedly Bernhard> rebuild for a gazillion of different combinations.
Huh? You still have to rebuild just like before, the only minor advantage is that the rootfs image doesn't get overwritten if you don't delete the images dir before rebuilding.
I don't particular mind the nofpu/mmu suffixes, but where to end? There's also abi, cpu variant, debug/optimzation level and hundreds of other options.
I think we should just suggest people to use the O= support we already have to put the output dirs somewhere else if they want to do something like this.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/6 always append FPU_SUFFIX
Le Tue, 06 Oct 2009 20:47:55 +0200,
Peter Korsgaard <[email protected]> a ?crit :
Quoted 3 lines
I think we should just suggest people to use the O= support we already have to put the output dirs somewhere else if they want to do something like this.
Again, I fully agree.
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 2/6 always append FPU_SUFFIX
In reply to Peter KorsgaardLe Tue, 06 Oct 2009 20:34:17 +0200,
Peter Korsgaard <[email protected]> a ?crit :
Quoted 1 line
Shouldn't we rather get rid of that suffix completely?
Agreed. If you want several toolchains for different arch, FPU or whatever, use O=.
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 1/6 atmel mirrors are only needed for atmel targets
In reply to Bernhard Reutner-FischerQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Bernhard> Usually, just add your country code like XX here: Bernhard> http://ftp.XX.debian.org
Bernhard> -
Bernhard> +if BR2_TARGET_ATMEL
Bernhard> source "target/device/Atmel/Config.in.mirrors"
Bernhard> -
OK.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/6 atmel mirrors are only needed for atmel targets
In reply to Bernhard Reutner-FischerQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Bernhard> Usually, just add your country code like XX here: Bernhard> http://ftp.XX.debian.org
Bernhard> -
Bernhard> +if BR2_TARGET_ATMEL
Bernhard> source "target/device/Atmel/Config.in.mirrors"
Bernhard> -
Committed, thanks!
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/6 atmel mirrors are only needed for atmeltargets
Quoted 8 lines · Peter Korsgaard
Bernhard> Usually, just add your country code like XX here: Bernhard> http://ftp.XX.debian.orgBernhard> -
Bernhard> +ifBR2_TARGET_ATMEL
Bernhard> source "target/device/Atmel/Config.in.mirrors"
Bernhard> -Committed, thanks!
Hello Peter,
Shouldn't there be a whitespace line before the 'if' and after the 'endif'? The end of Config.in.mirrors now looks like this:
config BR2_DEBIAN_MIRROR
string "Debian Software mirror"
default "http://ftp.debian.org"
help
Debian has multiple software mirrors scattered around the world. The following allows you to select your preferred mirror.
Usually, just add your country code like XX here:
http://ftp.XX.debian.org
if BR2_TARGET_ATMEL
source "target/device/Atmel/Config.in.mirrors"
endif
endmenu
At first glance it looks like everything at the end goes with 'config BR2_DEBIAN_MIRROR'.
Regards,
Hartley
PATCH 1/6 atmel mirrors are only needed for atmeltargets
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"H" == H Hartley Sweeten <[email protected]> writes:
H> On Tuesday, October 06, 2009 2:07 PM, Peter Korsgaard wrote:
Bernhard> Usually, just add your country code like XX here:
Bernhard> http://ftp.XX.debian.org
Bernhard> -
Bernhard> +if BR2_TARGET_ATMEL
Bernhard> source "target/device/Atmel/Config.in.mirrors"
Bernhard> -
Quoted 2 lines
Quoted 2 lines
Committed, thanks!
H> Hello Peter,
H> Shouldn't there be a whitespace line before the 'if' and after the 'endif'? H> The end of Config.in.mirrors now looks like this:
Kconfig doesn't seem to complain, but I agree it looks cleaner - Will fix.
Signature · 1 line
Bye, Peter Korsgaard
cover misc config-cleanup
In reply to Bernhard Reutner-FischerQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernhard" == Bernhard Reutner-Fischer <[email protected]> writes:
Bernhard> The attached small series ?) starts to cleanup some aspects of Peter's tree Bernhard> and starts to sync up with miscellaneous changes from my tree.
Bernhard> Peter, please pull.
Thanks, much appreciated - I'll comment on the individual patches.
Signature · 1 line
Bye, Peter Korsgaard
cover misc config-cleanup
Le Tue, 06 Oct 2009 20:32:10 +0200,
Peter Korsgaard <[email protected]> a ?crit :
Quoted 7 lines
Bernhard> The attached small series ?) starts to cleanup some Bernhard> aspects of Peter's tree and starts to sync up with Bernhard> miscellaneous changes from my tree.
Bernhard> Peter, please pull.
Thanks, much appreciated - I'll comment on the individual patches.
Yes, thanks a lot for sending patches again to the mainline Buildroot. This is very valuable.
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com