Branch: refs/heads/master
Home: https://github.com/LinuxCNC/linuxcnc
Commit: f24653f7f9e516b8260d4c6417303d779cf9a788
https://github.com/LinuxCNC/linuxcnc/commit/f24653f7f9e516b8260d4c6417303d779cf9a788
Author: Luca Toniolo <107...@us...>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M src/emc/tp/tp.c
Log Message:
-----------
tp: reduce trajectory planner stack frames (fixes #4049)
Mark tpHandleBlendArc and the four tpCreate*Blend functions noinline to
prevent the queue-add chain (tpAdd{Line,Circle,RigidTap} -> tpHandleBlendArc
-> tpCreate*Blend) from collapsing into one stack frame. Aggressive
inlining accumulated multiple 1704-byte TC_STRUCTs plus BlendGeom3 and
BlendParameters in the same frame, producing 5-6 KB frames under RTAI
gcc and triggering -Wframe-larger-than warnings, especially with UBSan
(-fsanitize=undefined,bool,float-cast-overflow) enabled.
The blend creation path runs once per G-code segment at queue time,
not per servo cycle, so the lost inlining cost is negligible. After
the change tpHandleBlendArc drops from 2752 to 1904 bytes (gcc 14
-O2 uspace) and all frames in tp.c stay below the 2048-byte default
warning threshold under both stock and UBSan builds.
Commit: 34c07071bf3d9bbe21e968b47e1558dc26299f64
https://github.com/LinuxCNC/linuxcnc/commit/34c07071bf3d9bbe21e968b47e1558dc26299f64
Author: andypugh <an...@bo...>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M src/emc/tp/tp.c
Log Message:
-----------
Merge pull request #4055 from grandixximo/fix/4049-tp-frame-size
tp: reduce trajectory planner stack frames (fixes #4049)
Compare: https://github.com/LinuxCNC/linuxcnc/compare/0524539a0efe...34c07071bf3d
To unsubscribe from these emails, change your notification settings at https://github.com/LinuxCNC/linuxcnc/settings/notifications
|