The following commit: http://sourceware.org/git/?p=glibc.git;a=commit;h=3e6b0a28ebc2319262b318790019558f78249c8b updates the include/features.h headers to default _POSIX_C_SOURCE to 200809L, this in turn defines __USE_ISOC99 to 1, and this causes the headers to trigger strict ISO C99 mode which redirects sscanf to __isoc99_sscanf. Applications that were previously using the sscanf format specifier '%a' (a GNU extension) stop working. Using -std=gnu89, -std=gnu99 does not allow you to get back the previous behaviour. Using -std=c89 or -D_GNU_SOURCE restores the previous behaviour of supporting '%a' (now '%m' in POSIX). The compiler is still defaulting to -std=gnu89. Is it glibc's intent to default to strict ISO C99 mode?
(In reply to comment #0) > Is it glibc's intent to default to strict ISO C99 mode? It always has been. If you use GNU extension you have to use _GNU_SOURCE.
Thanks Ulrich.