zephyr/samples/subsys
Kai Vehmanen 60325019aa samples/subsys/audio/sof: use -fstrict-overflow for SOF
Align compiler flags of SOF Zephyr build with the build SOF XTOS
and use -fstrict-overflow.

With -fno-strict-overflow, some versions of XCC compiler (e.g. xt-xcc
12.0.8) always emit a "bltu" instruction to check for overflow in loops
like:

  unsigned int n;
  for(n = 0; n < 1024; n++)
	do_arithmetic();

With "-fno-strict-overflow", you'll have:
  18:   068076                  loop    a0, 22 <dummy_dspload+0x22>
  1b:   445a                    add.n   a4, a4, a5
  1d:   551b                    addi.n  a5, a5, 1
  1f:   023657                  bltu    a6, a5, 25 <dummy_dspload+0x25>
  22:   fffc86                  j       18 <dummy_dspload+0x18>

With "-fstrict-overflow":
  16:   038476                  loop    a4, 1d <dummy_dspload+0x1d>
  19:   223a                    add.n   a2, a2, a3
  1b:   331b                    addi.n  a3, a3, 1

As this is a common pattern in audio DSP code, change the default
for SOF builds to -fstrict-overflow.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-01-07 10:46:14 -05:00
..
audio/sof samples/subsys/audio/sof: use -fstrict-overflow for SOF 2022-01-07 10:46:14 -05:00
canbus drivers: can: remove DT_CHOSEN_ZEPHYR_CANBUS_LABEL macro 2021-11-09 11:19:50 +01:00
console cmake: increase minimal required version to 3.20.0 2021-08-20 09:47:34 +02:00
cpp cmake: increase minimal required version to 3.20.0 2021-08-20 09:47:34 +02:00
debug samples: debug/gdbstub: update instructions to run 2021-11-30 15:24:00 -05:00
display samples: exclude platform stm32f769i_disco 2022-01-05 14:59:58 -05:00
edac cmake: increase minimal required version to 3.20.0 2021-08-20 09:47:34 +02:00
fs samples: exclude platform stm32f769i_disco 2022-01-05 14:59:58 -05:00
ipc tests: fix typos and misnamed platforms 2021-12-17 12:24:37 -05:00
logging samples: logging: Add v2 logging support for sys-t sample. 2022-01-05 14:41:51 +01:00
lorawan/class_a cmake: increase minimal required version to 3.20.0 2021-08-20 09:47:34 +02:00
mgmt mcumgr: kconfig: Have OS_MGMT_TASKSTAT default to n 2022-01-04 11:54:28 +01:00
modbus samples: modbus: update/fix samples.yaml configs 2021-09-27 21:54:56 -04:00
nvs storage/flash_map: Add FLASH_AREA_DEVICE macro 2021-11-06 21:37:47 -04:00
pm/device_pm pm: device_runtime: Return possible error on enable 2021-12-14 19:23:05 -05:00
portability samples: fix wrong extra_args definitions 2022-01-04 17:15:06 -05:00
settings soc: riscv: esp32c3: nvs: add NVS support using fixed partitions 2021-10-28 06:47:21 -04:00
shell lib: getopt: rework and extend getopt library 2022-01-06 21:26:59 +01:00
task_wdt task_wdt: fix silent init failures 2021-10-01 15:21:32 +02:00
testsuite cmake: increase minimal required version to 3.20.0 2021-08-20 09:47:34 +02:00
tracing tests: tracing.osawareness.openocd cleanup 2021-10-13 06:22:44 -04:00
usb samples: fix wrong extra_args definitions 2022-01-04 17:15:06 -05:00
video cmake: increase minimal required version to 3.20.0 2021-08-20 09:47:34 +02:00
subsys.rst