summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2020-12-14 05:53:45 +0100
committerDenys Vlasenko2020-12-14 05:53:45 +0100
commitdb793480cb8ec3e5f878d1ec18b6ed5010c85e85 (patch)
treef0b398018025a481084f0afb6218a58dd1985b29
parenta8e19608fc9d2f775a4f81eaf9c38a5844684237 (diff)
downloadbusybox-db793480cb8ec3e5f878d1ec18b6ed5010c85e85.zip
busybox-db793480cb8ec3e5f878d1ec18b6ed5010c85e85.tar.gz
build system: combat gcc zealotry in data alignment
text data bss dec hex filename 1020934 559 5052 1026545 fa9f1 busybox_old 1020750 559 5052 1026361 fa939 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--arch/i386/Makefile8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/i386/Makefile b/arch/i386/Makefile
index 425361f..2fa008f 100644
--- a/arch/i386/Makefile
+++ b/arch/i386/Makefile
@@ -11,3 +11,11 @@ ifeq ($(CONFIG_STACK_OPTIMIZATION_386),y)
# from aligning stack to 16 bytes. (Which is gcc's way of supporting SSE).
CFLAGS += $(call cc-option,-mpreferred-stack-boundary=2,)
endif
+
+# "Control how GCC aligns variables.
+# Supported values for type are compat uses increased alignment value
+# compatible uses GCC 4.8 and earlier, abi uses alignment value as specified by the psABI,
+# and cacheline uses increased alignment value to match the cache line size.
+# compat is the default."
+# "abi" seems to be somewhat successful in preventing oversealous data alignment.
+CFLAGS += $(call cc-option,-malign-data=abi,)