[LTP] [PATCH] openat2: Move includes to lapi, remove _GNU_SOURCE
Li Wang
liwang@redhat.com
Thu Feb 5 10:41:38 CET 2026
On Thu, Feb 05, 2026 at 02:08:42PM +0800, Li Wang wrote:
> On Wed, Feb 04, 2026 at 01:43:23PM +0100, Petr Vorel wrote:
> > Improve 767b3e519e. struct open_how is also used in lapi/openat2.h,
> > which is used by all openat2*.c tests. Therefore move <fcntl.h> to the
> > lapi header (and use lapi/fcntl.h instead).
> >
> > Also remove _GNU_SOURCE which should not be needed.
> >
> > While at it, move include "config.h" to the top.
> >
> > Signed-off-by: Petr Vorel <pvorel@suse.cz>
> > ---
> > Hi Li,
> >
> > my points from the original patchset why not use _GNU_SOURCE:
> >
> > glibc test tst-openat2.c [1] which includes <fcntl.h>, uses struct
>
> Interesting, I haven't figure out why it can be built within glibc itself.
I think that becuase it uses '-D_GNU_SOURCE' cflags has already globally
enabled the GNU extension (equivalent to '#define _GNU_SOURCE'), which is
done uniformly by glibc's build system.
glibc/Makerules: ALL_BUILD_CFLAGS = $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) -D_GNU_SOURCE \
-DIS_IN_build -include $(common-objpfx)config.h
To verify this, when I add the '-D_GNU_SOURCE' cflgs in the LTP/openat20*.c
compliation, it build succeed as well:
# gcc -I../../../../include -I../../../../include \
-I../../../../include/old/ -Wformat -Werror=format-security \
-Werror=implicit-function-declaration -Werror=return-type -fno-common \
-g -O2 -fno-strict-aliasing -pipe -Wall -W -Wold-style-definition \
-D_GNU_SOURCE \
-std=gnu99 -L../../../../lib openat202.c -lltp -o openat202
So, to this patch, we need to add the _GNU_SOURCE definition.
--
Regards,
Li Wang
More information about the ltp
mailing list