https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114065
--- Comment #38 from Nicolas Boulenguez <nicolas at debian dot org> --- Created attachment 61085 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=61085&action=edit variant of v14 patch 2 defining the link symbols in System.OS_Constants This variant of patch 2 in v14 delegates the selection of the link symbols to the C code generating System.OS_Constants. It only assumes that the desired link symbol for "nanosleep" is either the value expanded by the "nanosleep" C preprocessor macro, or "nanosleep" itself if it is not a macro. This should be OK on any unaffected library, on glibc and on musl. Then, any Import replacing External_Name => "nanosleep" with External_Name => System.OS_Constants.Y2038_nanosleep. should be protected against the link part of this bug. If this answers your concerns, I will prepare v15 and test it.