build: preserve F303 float constant semantics

pull/166/head
PhysicistJohn 7 days ago
parent 02bbc6592d
commit 9a84753a38

@ -13,7 +13,9 @@ endif
# Compiler options here.
ifeq ($(USE_OPT),)
ifeq ($(TARGET),F303)
USE_OPT = -Og -fno-inline-small-functions -ggdb -fomit-frame-pointer -falign-functions=16 --specs=nano.specs -fstack-usage -std=c11
USE_OPT = -Og -fno-inline-small-functions -ggdb -fomit-frame-pointer -falign-functions=16 --specs=nano.specs -fstack-usage -fsingle-precision-constant -std=c11
# The legacy ChibiOS rules appended -fsingle-precision-constant for hard-FPU
# builds. Keep that numeric behavior explicit when using the 21.11.x rules.
#USE_OPT+=-fstack-protector-strong
else
USE_OPT = -Og -fno-inline-small-functions -ggdb -fomit-frame-pointer -falign-functions=16 --specs=nano.specs -fstack-usage -fsingle-precision-constant

@ -28,7 +28,12 @@ this port is marked ready.
queue reset calls, time conversions, and thread diagnostics.
- Update the project-local F303 ADC LLD while retaining its tinySA-specific
behavior.
- Convert custom `BaseSequentialStream` VMTs to the current layout.
- Convert custom `BaseSequentialStream` VMTs to the current layout, including
the required `instance_offset` field.
- Preserve the legacy hard-FPU build's `-fsingle-precision-constant` behavior
explicitly. ChibiOS 21.11.x no longer adds it automatically; omitting it
promotes unsuffixed sweep constants to software double precision and causes
a measurable self-test sweep regression.
## Build

Loading…
Cancel
Save

Powered by TurnKey Linux.