feature test macros: make _GNU_SOURCE enable everything
authorRich Felker <dalias@aerifal.cx>
Mon, 3 Dec 2012 21:57:01 +0000 (16:57 -0500)
committerRich Felker <dalias@aerifal.cx>
Mon, 3 Dec 2012 21:57:01 +0000 (16:57 -0500)
commit769fd4ce202225ba1f2621bbefb803ee9a268ebf
tree06244a0f20243de6bcf6f8acef96426719cdd09d
parent216b706548c16e3bc9612c8a2e5eed23f016504c
feature test macros: make _GNU_SOURCE enable everything

previously, a few BSD features were enabled only by _BSD_SOURCE, not
by _GNU_SOURCE. since _BSD_SOURCE is default in the absence of other
feature test macros, this made adding _GNU_SOURCE to a project not a
purely additive feature test macro; it actually caused some features
to be suppressed.

most of the changes made by this patch actually bring musl in closer
alignment with the glibc behavior for _GNU_SOURCE. the only exceptions
are the added visibility of functions like strlcpy which were BSD-only
due to being disliked/rejected by glibc maintainers. here, I feel the
consistency of having _GNU_SOURCE mean "everything", and especially
the property of it being purely additive, are more valuable than
hiding functions which glibc does not have.
include/dirent.h
include/signal.h
include/stdio.h
include/string.h
include/sys/stat.h