Message ID | 20240806130553.981094-1-wdouglass@carnegierobotics.com |
---|---|
State | Changes Requested |
Headers | show |
Series | package/chicken: pass TARGET_CFLAGS to chicken build system explicitly | expand |
Hi Woodrow, On Tue, Aug 06 2024, Woodrow Douglass via buildroot wrote: > diff --git a/package/chicken/chicken.mk b/package/chicken/chicken.mk > index 0520280134..e7a2384f5a 100644 > --- a/package/chicken/chicken.mk > +++ b/package/chicken/chicken.mk > @@ -16,8 +16,6 @@ CHICKEN_INSTALL_STAGING = YES > # values that have an effect, or pass "unused" here > ifeq ($(NORMALIZED_ARCH),x86_64) > CHICKEN_ARCH = x86-64 > -else ifeq ($(NORMALIZED_ARCH),xtensa) > -CHICKEN_ARCH = xtensa > else > CHICKEN_ARCH = unused > endif > @@ -25,6 +23,7 @@ endif > CHICKEN_MAKE_OPTS = \ > ARCH="$(CHICKEN_ARCH)" \ > C_COMPILER="$(TARGET_CC)" \ > + C_COMPILER_OPTIONS="$(TARGET_CFLAGS) -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES" \ I think C_COMPILER_OPTIMIZATION_OPTIONS is better for this purpose. C_COMPILER_OPTIMIZATION_OPTIONS usage is documented in README and config.make, while C_COMPILER_OPTIONS looks like an internal implementation detail. C_COMPILER_OPTIMIZATION_OPTIONS allows Buildroot users to override upstream default optimization options via BR2_OPTIMIZE_x, or debug options via BR2_DEBUG_x. Another advantage of not using C_COMPILER_OPTIONS is that you won't have to copy its default value here. baruch > CXX_COMPILER="$(TARGET_CXX)" \ > PREFIX=/usr \ > PLATFORM=linux \
diff --git a/package/chicken/0001-xtensa-text-section-literals.patch b/package/chicken/0001-xtensa-text-section-literals.patch deleted file mode 100644 index b93aaf9e21..0000000000 --- a/package/chicken/0001-xtensa-text-section-literals.patch +++ /dev/null @@ -1,30 +0,0 @@ -From e8d177f4d4e1c6bc41787ea1621e323ff4ad493e Mon Sep 17 00:00:00 2001 -From: Woodrow Douglass <wdouglass@carnegierobotics.com> -Date: Mon, 22 Jul 2024 08:50:37 -0400 -Subject: [PATCH] Move literals into text section for xtensa architecture - -Upstream: https://bugs.call-cc.org/ticket/1840 -Signed-off-by: Woodrow Douglass <wdouglass@carnegierobotics.com> ---- - Makefile.linux | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/Makefile.linux b/Makefile.linux -index b628cda4..e97c2b94 100644 ---- a/Makefile.linux -+++ b/Makefile.linux -@@ -52,6 +52,11 @@ USES_SONAME = yes - - # architectures - -+ifeq ($(ARCH),xtensa) -+C_COMPILER_OPTIONS += -mtext-section-literals -+LINKER_OPTIONS += -mtext-section-literals -+endif -+ - ifeq ($(ARCH),x32) - C_COMPILER_OPTIONS += -mx32 - LINKER_OPTIONS += -mx32 --- -2.39.2 - diff --git a/package/chicken/chicken.mk b/package/chicken/chicken.mk index 0520280134..e7a2384f5a 100644 --- a/package/chicken/chicken.mk +++ b/package/chicken/chicken.mk @@ -16,8 +16,6 @@ CHICKEN_INSTALL_STAGING = YES # values that have an effect, or pass "unused" here ifeq ($(NORMALIZED_ARCH),x86_64) CHICKEN_ARCH = x86-64 -else ifeq ($(NORMALIZED_ARCH),xtensa) -CHICKEN_ARCH = xtensa else CHICKEN_ARCH = unused endif @@ -25,6 +23,7 @@ endif CHICKEN_MAKE_OPTS = \ ARCH="$(CHICKEN_ARCH)" \ C_COMPILER="$(TARGET_CC)" \ + C_COMPILER_OPTIONS="$(TARGET_CFLAGS) -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES" \ CXX_COMPILER="$(TARGET_CXX)" \ PREFIX=/usr \ PLATFORM=linux \
Chicken Scheme's build system wants cflags to be passed as a make variable in a way that's different then what buildroot expects. this bridges the gap. This commit also fixes the xtensa build problems, negating the need for the xtensa build patch Signed-off-by: Woodrow Douglass <wdouglass@carnegierobotics.com> --- .../0001-xtensa-text-section-literals.patch | 30 ------------------- package/chicken/chicken.mk | 3 +- 2 files changed, 1 insertion(+), 32 deletions(-) delete mode 100644 package/chicken/0001-xtensa-text-section-literals.patch