Why doesn't STM32CubeMX not provide a copy of syscalls.c in the application directory tree as part of the code generation step? Presumably, all users of STM32 are developing bare-metal systems and so there must be some way of resolving the sys calls. STM32CubeMX should have at least a tick-box that allows the developer to choose to include syscalls.c in the application build.
Further, syscalls.c is found only in STM32Cube/Repository/STM32Cube_FW_F1_V1.4.0/Projects/<board>/Applications/... and STM32Cube/Repository/STM32Cube_FW_F1_V1.4.0/Projects/<board>/Examples/... , however it (or its equivalent) is required for every bare-metal project. Somehow, hiding an essential file in these locations seems silly and unhelpful.