summaryrefslogtreecommitdiff
path: root/Makefile.inc
diff options
context:
space:
mode:
authorYu-Ping Wu <yupingso@google.com>2020-11-24 17:56:37 +0800
committerHung-Te Lin <hungte@chromium.org>2020-12-01 07:31:22 +0000
commit3c729487bf2de44c15d0c3541ff97ed16511b635 (patch)
tree6301b8189bf8a49f0d6c5d06c64e971dbcfe33e3 /Makefile.inc
parent679b236bedd42d4a97a15d108b605ae8d4e5ee9a (diff)
downloadcoreboot-3c729487bf2de44c15d0c3541ff97ed16511b635.tar.xz
Makefile.inc: Alloc .bss* sections for "struct" file type
When the global variable of a "struct" CBFS file is zero (for example, CB:47696), the binary will appear in the .bss* section in the ELF file (instead of .data). This results in an empty binary file added to CBFS, so that file size check will fail when reading it at runtime. BUG=b:173751635 TEST=emerge-asurada coreboot TEST=Check sdram-lpddr4x-KMDP6001DA-B425-4GB is non-empty in CBFS BRANCH=none Change-Id: Idfd17d10101a948de0eb0522a672afd5c2f83b04 Signed-off-by: Yu-Ping Wu <yupingso@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/47903 Reviewed-by: Julius Werner <jwerner@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'Makefile.inc')
-rw-r--r--Makefile.inc2
1 files changed, 1 insertions, 1 deletions
diff --git a/Makefile.inc b/Makefile.inc
index fafb9ecd0d..95846a75c7 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -338,7 +338,7 @@ cbfs-files-processor-struct= \
$(eval $(2): $(1) $(obj)/build.h $(KCONFIG_AUTOHEADER); \
printf " CC+STRIP $(@)\n"; \
$(CC_ramstage) -MMD $(CPPFLAGS_ramstage) $(CFLAGS_ramstage) $$(ramstage-c-ccopts) -include $(KCONFIG_AUTOHEADER) -MT $(2) -o $(2).tmp -c $(1) && \
- $(OBJCOPY_ramstage) -O binary $(2).tmp $(2); \
+ $(OBJCOPY_ramstage) -O binary --set-section-flags .bss*=alloc,contents,load $(2).tmp $(2); \
rm -f $(2).tmp) \
$(eval DEPENDENCIES += $(2).d)