diff options
author | Tom Hughes <tomhughes@chromium.org> | 2019-02-12 09:49:00 -0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-09-28 04:28:20 +0000 |
commit | ab71261010629016885601b6f7553c5ba0c08560 (patch) | |
tree | fc353b54ac8f5fd61e74427a4cb87c1d10b1802f /Makefile.toolchain | |
parent | 476ce6df63da54684da2727b1d1a8ffcc818388e (diff) | |
download | chrome-ec-ab71261010629016885601b6f7553c5ba0c08560.tar.gz |
fpsensor: Build fpsensor source file with C++
Note that this change also removes abs() since this change makes the
fingerprint firmware link against the toolchain's C standard library,
which already provides an implementation. abs() is not actually used by
the FPC matching algorithm even though it links against it.
BRANCH=none
BUG=b:236025198, b:234181908
TEST=On dragonclaw v0.2 with servo_micro and J-Trace attached:
./util/flash_jlink.py -b bloonchipper -i ./build/bloonchipper/ec.bin
> fpenroll
> fpmatch
TEST=On dragonclaw v0.2 with servo_micro and J-Trace attached:
./test/run_device_tests.py --board bloonchipper
Test "aes": PASSED
Test "cec": PASSED
Test "cortexm_fpu": PASSED
Test "crc": PASSED
Test "flash_physical": PASSED
Test "flash_write_protect": PASSED
Test "fpsensor_hw": PASSED
Test "fpsensor_spi_ro": PASSED
Test "fpsensor_spi_rw": PASSED
Test "fpsensor_uart_ro": PASSED
Test "fpsensor_uart_rw": PASSED
Test "mpu_ro": PASSED
Test "mpu_rw": PASSED
Test "mutex": PASSED
Test "pingpong": PASSED
Test "printf": PASSED
Test "queue": PASSED
Test "rollback_region0": PASSED
Test "rollback_region1": PASSED
Test "rollback_entropy": PASSED
Test "rtc": PASSED
Test "sha256": PASSED
Test "sha256_unrolled": PASSED
Test "static_if": PASSED
Test "stdlib": PASSED
Test "system_is_locked_wp_on": PASSED
Test "system_is_locked_wp_off": PASSED
Test "timer_dos": PASSED
Test "utils": PASSED
Test "utils_str": PASSED
Test "stm32f_rtc": PASSED
Test "panic_data_bloonchipper_v2.0.4277": PASSED
Test "panic_data_bloonchipper_v2.0.5938": PASSED
TEST=On icetower v0.1 with servo_micro and J-Trace attached:
./util/flash_jlink.py -b dartmonkey -i ./build/dartmonkey/ec.bin
> fpenroll
> fpmatch
TEST=On icetower v0.1 with servo_micro and J-Trace attached:
./test/run_device_tests.py --board dartmonkey
Test "aes": PASSED
Test "cec": PASSED
Test "cortexm_fpu": PASSED
Test "crc": PASSED
Test "flash_physical": PASSED
Test "flash_write_protect": PASSED
Test "fpsensor_hw": PASSED
Test "fpsensor_spi_ro": PASSED
Test "fpsensor_spi_rw": PASSED
Test "fpsensor_uart_ro": PASSED
Test "fpsensor_uart_rw": PASSED
Test "mpu_ro": PASSED
Test "mpu_rw": PASSED
Test "mutex": PASSED
Test "pingpong": PASSED
Test "printf": PASSED
Test "queue": PASSED
Test "rollback_region0": PASSED
Test "rollback_region1": PASSED
Test "rollback_entropy": PASSED
Test "rtc": PASSED
Test "sha256": PASSED
Test "sha256_unrolled": PASSED
Test "static_if": PASSED
Test "stdlib": PASSED
Test "system_is_locked_wp_on": PASSED
Test "system_is_locked_wp_off": PASSED
Test "timer_dos": PASSED
Test "utils": PASSED
Test "utils_str": PASSED
Test "panic_data_dartmonkey_v2.0.2887": PASSED
Test "panic_data_nocturne_fp_v2.2.64": PASSED
Test "panic_data_nami_fp_v2.2.144": PASSED
LOW_COVERAGE_REASON=legacy code
Force-Relevant-Builds: all
Cq-Depend: chromium:3894586
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I2c7947d21e7020b51f7b5b3d87ef64545de867c1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3893045
Reviewed-by: Andrea Grandi <agrandi@google.com>
Reviewed-by: Bobby Casey <bobbycasey@google.com>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Diffstat (limited to 'Makefile.toolchain')
-rw-r--r-- | Makefile.toolchain | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Makefile.toolchain b/Makefile.toolchain index b960fadb4f..a37e7cc100 100644 --- a/Makefile.toolchain +++ b/Makefile.toolchain @@ -29,6 +29,21 @@ endif # library. USE_BUILTIN_STDLIB:=1 +# Boards that compile with clang by default. +# We can't use a config for this since the config generation uses the compiler. +CLANG_BOARDS:= \ + bloonchipper \ + dartmonkey \ + hatch_fp \ + nami_fp \ + nocturne_fp \ + nucleo-dartmonkey \ + +ifeq ($(filter $(BOARD), $(CLANG_BOARDS)), $(BOARD)) +CC=clang +USE_BUILTIN_STDLIB:=0 +endif + # Set the prefix for the compiler if specified (e.g., "x86_64-pc-linux-gnu-"). ifeq ($(origin BUILDCC_PREFIX),undefined) # If building with Portage use the environment variable it provides. @@ -170,9 +185,14 @@ ifneq ($(cc-name),clang) CFLAGS+= -ffat-lto-objects CFLAGS+= -fconserve-stack endif +CXXFLAGS=$(CXXFLAGS_WARN) CXXFLAGS+=-DPROTOBUF_INLINE_NOT_IN_HEADERS=0 ifeq ($(USE_BUILTIN_STDLIB), 1) CPPFLAGS+=-DUSE_BUILTIN_STDLIB +else +# TODO(https://issuetracker.google.com/234507656#comment19): C++ include path +# should not be necessary. +CXXFLAGS+=-I/usr/armv7m-cros-eabi/usr/include/c++/v1 endif ifeq ($(LIBFTDI_NAME),) |