New issue
Advanced search Search tips

Issue 661124 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug-Regression



Sign in to add a comment

coreboot: elm-release (+3) failed to build

Project Member Reported by tfiga@chromium.org, Nov 1 2016

Issue description

https://uberchromegw.corp.google.com/i/chromeos/builders/elm-release/builds/536

Build #536

Snippet of log that contains the failure:

coreboot-0.0.1-r1813: Assembler messages:
coreboot-0.0.1-r1813: Fatal error: can't create /build/elm/tmp/portage/sys-boot/coreboot-0.0.1-r1813/work/coreboot-0.0.1/build/3rdparty/arm-trusted-firmware/bl31/cci.o: No such file or directory
coreboot-0.0.1-r1813:     CC         verstage/ec/google/chromeec/vstore.o
coreboot-0.0.1-r1813: make[1]: *** [Makefile:575: /build/elm/tmp/portage/sys-boot/coreboot-0.0.1-r1813/work/coreboot-0.0.1/build/3rdparty/arm-trusted-firmware/bl31/cci.o] Error 1
coreboot-0.0.1-r1813: make[1]: *** Waiting for unfinished jobs....

coreboot-0.0.1-r1813: Assembler messages:
coreboot-0.0.1-r1813: Fatal error: can't create /build/elm/tmp/portage/sys-boot/coreboot-0.0.1-r1813/work/coreboot-0.0.1/build/3rdparty/arm-trusted-firmware/bl31/gic_v3.o: No such file or directory
coreboot-0.0.1-r1813: make[1]: *** [Makefile:575: /build/elm/tmp/portage/sys-boot/coreboot-0.0.1-r1813/work/coreboot-0.0.1/build/3rdparty/arm-trusted-firmware/bl31/gic_v3.o] Error 1

[... and few more almost identical errors for remaining threads ...]

coreboot-0.0.1-r1813:  * 
coreboot-0.0.1-r1813:  * ERROR: sys-boot/coreboot-0.0.1-r1813::chromiumos failed (compile phase):
coreboot-0.0.1-r1813:  *   emake failed
coreboot-0.0.1-r1813:  * 

Same failure happening on oak-release, gru-release and kevin-release as well.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 1 2016

Labels: merge-merged-chromeos-2016.05
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/57585a7df068138dc96a712ff9adc1f2075cf281

commit 57585a7df068138dc96a712ff9adc1f2075cf281
Author: Tomasz Figa <tfiga@chromium.org>
Date: Tue Nov 01 08:37:50 2016

Revert "arm64: arm_tf: Do not build raw bl31.bin binary"

This reverts commit ba319725dca7784933ebce8dbfe98298acef43c1.

Reason for revert: Breaks build for elm-release, oak-release,
gru-release and kevin-release.

BUG= chromium:661124 
TEST=trybot the revert, coreboot builds again on affected targets

Change-Id: I2fd96ff0e8406cc94a7a08e5afe859104212c331
Reviewed-on: https://chromium-review.googlesource.com/405130
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Commit-Queue: Tomasz Figa <tfiga@chromium.org>
Tested-by: Tomasz Figa <tfiga@chromium.org>
Trybot-Ready: Tomasz Figa <tfiga@chromium.org>

[modify] https://crrev.com/57585a7df068138dc96a712ff9adc1f2075cf281/src/arch/arm64/Makefile.inc

Hi tomasz,

looks like we changed target from bl31 to bl31.elf, then IS_ANYTHING_TO_BUILD become 0


# List of rules that involve building things
BUILD_TARGETS := all bl1 bl2 bl2u bl31 bl32 certificates fip

# Does the list of goals specified on the command line include a build target?
ifneq ($(call match_goals,${BUILD_TARGETS}),)
IS_ANYTHING_TO_BUILD := 1
endif

so, it will not try to generate deps before obj(which will create the dirs):

$(PREREQUISITES): $(2) | bl$(3)_dirs
        @echo "  DEPS    $$@"
        $$(Q)$$(CC) $$(TF_CFLAGS) $$(CFLAGS) -M -MT $(OBJ) -MF $$@ $$<

ifdef IS_ANYTHING_TO_BUILD
-include $(PREREQUISITES)
endif


maybe we can add *.elf to BUILD_TARGETS, or add dirs to obj's prerequisites
I've already uploaded a fix Jeffy, see https://chromium-review.googlesource.com/c/407110/.
Project Member

Comment 5 by bugdroid1@chromium.org, Nov 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/31699820f4c36fd441a3e7271871af4e1474129f

commit 31699820f4c36fd441a3e7271871af4e1474129f
Author: Julius Werner <jwerner@chromium.org>
Date: Sat Oct 29 07:10:53 2016

arm64: arm_tf: Do not build raw bl31.bin binary

Coreboot's build system picks up the BL31 image as an ELF from the ARM
Trusted Firmware submodule and inserts it into CBFS. However, the
generic 'bl31' build target we run in the ARM Trusted Firmware build
system also generates a raw bl31.bin binary file.

We don't need that binary, and with the recently added support for
multiple non-contiguous program segments in BL31 it can grow close to
4GB in size (by having one section mapped near the start and one near
the end of the address space). To avoid clogging up people's hard drives
with 4GB of zeroes, let's only build the target we actually need.

BRANCH=gru
BUG=chrome-os-partner:56314, chromium:661124 
TEST=FEATURES=noclean emerge-kevin coreboot, confirm that there's no
giant build/3rdparty/arm-trusted-firmware/bl31.bin file left in the
build artifacts, and that we still generate .d prerequisite files.

Change-Id: Iaa073ec11dabed7265620d370fcd01ea8c0c2056
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/407110
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/31699820f4c36fd441a3e7271871af4e1474129f/src/arch/arm64/Makefile.inc

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 4 2016

Labels: merge-merged-firmware-gru-8785.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/af8ddcdb79ec5aecb98dbe3f2fec573b6b2e971e

commit af8ddcdb79ec5aecb98dbe3f2fec573b6b2e971e
Author: Julius Werner <jwerner@chromium.org>
Date: Sat Oct 29 07:10:53 2016

arm64: arm_tf: Do not build raw bl31.bin binary

Coreboot's build system picks up the BL31 image as an ELF from the ARM
Trusted Firmware submodule and inserts it into CBFS. However, the
generic 'bl31' build target we run in the ARM Trusted Firmware build
system also generates a raw bl31.bin binary file.

We don't need that binary, and with the recently added support for
multiple non-contiguous program segments in BL31 it can grow close to
4GB in size (by having one section mapped near the start and one near
the end of the address space). To avoid clogging up people's hard drives
with 4GB of zeroes, let's only build the target we actually need.

BRANCH=gru
BUG=chrome-os-partner:56314, chromium:661124 
TEST=FEATURES=noclean emerge-kevin coreboot, confirm that there's no
giant build/3rdparty/arm-trusted-firmware/bl31.bin file left in the
build artifacts, and that we still generate .d prerequisite files.

Change-Id: Iaa073ec11dabed7265620d370fcd01ea8c0c2056
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/407110
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/408217

[modify] https://crrev.com/af8ddcdb79ec5aecb98dbe3f2fec573b6b2e971e/src/arch/arm64/Makefile.inc

Status: Fixed (was: Assigned)

Comment 8 by dchan@google.com, Jan 21 2017

Labels: VerifyIn-57

Comment 9 by dchan@google.com, Mar 4 2017

Labels: VerifyIn-58

Comment 10 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 11 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 13 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)

Sign in to add a comment