add -D_GNU_SOURCE