base: Ensure that encoding global variables aren't inlined
As noted in #17970 (closed), these (e.g. getFileSystemEncoding
and
setFileSystemEncoding
) previously had unfoldings, which would
break their global-ness.
While not strictly necessary, I also add a NOINLINE on
initLocaleEncoding
since it is used in System.IO
, ensuring that we
only system's query the locale encoding once.
Fixes #17970 (closed).