https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67956
--- Comment #3 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- The gnu_printf format attribute is specifically supposed to accept %m; you can use -pedantic to disallow it. Targets can override what the printf attribute maps to; see config/i386/msformat-c.c for example; other OSes should do likewise so the correct set of formats for each target is accepted. The desire for a syslog format is bug 15338.