All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] cpuset: disable for UCLIBC
@ 2019-03-12 17:44 ` Vineet Gupta
  0 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-12 17:44 UTC (permalink / raw)
  To: linux-snps-arc

libcpuset.c relies on FTS which is not enabled by default on uClibc.
Instead of needing to reconfigure, rebuild uClibc lets disable this test
for uClibc

Signed-off-by: Vineet Gupta <vgupta at synopsys.com>
---
 testcases/kernel/controllers/Makefile | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/testcases/kernel/controllers/Makefile b/testcases/kernel/controllers/Makefile
index 404073947904..9f4abe28bfcf 100644
--- a/testcases/kernel/controllers/Makefile
+++ b/testcases/kernel/controllers/Makefile
@@ -29,6 +29,11 @@ LIBDIR			:= libcontrollers
 LIB			:= $(LIBDIR)/libcontrollers.a
 FILTER_OUT_DIRS		:= $(LIBDIR)
 
+# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
+ifeq ($(UCLIBC),1)
+FILTER_OUT_DIRS	+= cpuset
+endif
+
 $(LIBDIR):
 	mkdir -p "$@"
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [LTP] [PATCH] cpuset: disable for UCLIBC
@ 2019-03-12 17:44 ` Vineet Gupta
  0 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-12 17:44 UTC (permalink / raw)
  To: ltp

libcpuset.c relies on FTS which is not enabled by default on uClibc.
Instead of needing to reconfigure, rebuild uClibc lets disable this test
for uClibc

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
---
 testcases/kernel/controllers/Makefile | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/testcases/kernel/controllers/Makefile b/testcases/kernel/controllers/Makefile
index 404073947904..9f4abe28bfcf 100644
--- a/testcases/kernel/controllers/Makefile
+++ b/testcases/kernel/controllers/Makefile
@@ -29,6 +29,11 @@ LIBDIR			:= libcontrollers
 LIB			:= $(LIBDIR)/libcontrollers.a
 FILTER_OUT_DIRS		:= $(LIBDIR)
 
+# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
+ifeq ($(UCLIBC),1)
+FILTER_OUT_DIRS	+= cpuset
+endif
+
 $(LIBDIR):
 	mkdir -p "$@"
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [LTP] [PATCH] cpuset: disable for UCLIBC
  2019-03-12 17:44 ` [LTP] " Vineet Gupta
@ 2019-03-14 10:01   ` Petr Vorel
  -1 siblings, 0 replies; 26+ messages in thread
From: Petr Vorel @ 2019-03-14 10:01 UTC (permalink / raw)
  To: linux-snps-arc

Hi Vineet,

> libcpuset.c relies on FTS which is not enabled by default on uClibc.
> Instead of needing to reconfigure, rebuild uClibc lets disable this test
> for uClibc
Which uClibc version are you using?
Both uClibc and uclibc-ng has it [1] since 2011, version v0.9.32, in commit
a4aa01c12 ("Added fts support for traversing UNIX file hierarchies.")

It's actually MUSL, what is missing it [2]. Although there is some
implementation [3], we should skip it for musl. But the clearest way is really
to check presence of <fts.h>, that's fix it for all libc.

Kind regards,
Petr

[1] https://cgit.openadk.org/cgi/cgit/uclibc-ng.git/tree/include/fts.h
[2] https://wiki.musl-libc.org/faq.html#Q:-Why-is-%3Ccode%3Efts.h%3C/code%3E-not-included?
[3] https://github.com/pullmoll/musl-fts

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [LTP] [PATCH] cpuset: disable for UCLIBC
@ 2019-03-14 10:01   ` Petr Vorel
  0 siblings, 0 replies; 26+ messages in thread
From: Petr Vorel @ 2019-03-14 10:01 UTC (permalink / raw)
  To: ltp

Hi Vineet,

> libcpuset.c relies on FTS which is not enabled by default on uClibc.
> Instead of needing to reconfigure, rebuild uClibc lets disable this test
> for uClibc
Which uClibc version are you using?
Both uClibc and uclibc-ng has it [1] since 2011, version v0.9.32, in commit
a4aa01c12 ("Added fts support for traversing UNIX file hierarchies.")

It's actually MUSL, what is missing it [2]. Although there is some
implementation [3], we should skip it for musl. But the clearest way is really
to check presence of <fts.h>, that's fix it for all libc.

Kind regards,
Petr

[1] https://cgit.openadk.org/cgi/cgit/uclibc-ng.git/tree/include/fts.h
[2] https://wiki.musl-libc.org/faq.html#Q:-Why-is-%3Ccode%3Efts.h%3C/code%3E-not-included?
[3] https://github.com/pullmoll/musl-fts

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [LTP] [PATCH] cpuset: disable for UCLIBC
  2019-03-14 10:01   ` Petr Vorel
@ 2019-03-18 16:41     ` Vineet Gupta
  -1 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-18 16:41 UTC (permalink / raw)
  To: linux-snps-arc

On 3/14/19 3:01 AM, Petr Vorel wrote:
> Hi Vineet,
> 
>> libcpuset.c relies on FTS which is not enabled by default on uClibc.
>> Instead of needing to reconfigure, rebuild uClibc lets disable this test
>> for uClibc
> Which uClibc version are you using?
> Both uClibc and uclibc-ng has it [1] since 2011, version v0.9.32, in commit
> a4aa01c12 ("Added fts support for traversing UNIX file hierarchies.")

Right I'm using bleeding edge as well, and do have the header in sources, its just
not configured/enabled by default hence not available in installation.


> It's actually MUSL, what is missing it [2]. Although there is some
> implementation [3], we should skip it for musl. But the clearest way is really
> to check presence of <fts.h>, that's fix it for all libc.

Spot on, that is indeed the best/ideal way of doing it. Do you know if such a
mechanism already exists in LTP. If you point me to an example I can respin the
patch accordingly.

Thx,
-Vineet

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [LTP] [PATCH] cpuset: disable for UCLIBC
@ 2019-03-18 16:41     ` Vineet Gupta
  0 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-18 16:41 UTC (permalink / raw)
  To: ltp

On 3/14/19 3:01 AM, Petr Vorel wrote:
> Hi Vineet,
> 
>> libcpuset.c relies on FTS which is not enabled by default on uClibc.
>> Instead of needing to reconfigure, rebuild uClibc lets disable this test
>> for uClibc
> Which uClibc version are you using?
> Both uClibc and uclibc-ng has it [1] since 2011, version v0.9.32, in commit
> a4aa01c12 ("Added fts support for traversing UNIX file hierarchies.")

Right I'm using bleeding edge as well, and do have the header in sources, its just
not configured/enabled by default hence not available in installation.


> It's actually MUSL, what is missing it [2]. Although there is some
> implementation [3], we should skip it for musl. But the clearest way is really
> to check presence of <fts.h>, that's fix it for all libc.

Spot on, that is indeed the best/ideal way of doing it. Do you know if such a
mechanism already exists in LTP. If you point me to an example I can respin the
patch accordingly.

Thx,
-Vineet


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [LTP] [PATCH] cpuset: disable for UCLIBC
  2019-03-18 16:41     ` Vineet Gupta
@ 2019-03-18 18:19       ` Petr Vorel
  -1 siblings, 0 replies; 26+ messages in thread
From: Petr Vorel @ 2019-03-18 18:19 UTC (permalink / raw)
  To: linux-snps-arc

Hi Vineet,

> >> libcpuset.c relies on FTS which is not enabled by default on uClibc.
> >> Instead of needing to reconfigure, rebuild uClibc lets disable this test
> >> for uClibc
> > Which uClibc version are you using?
> > Both uClibc and uclibc-ng has it [1] since 2011, version v0.9.32, in commit
> > a4aa01c12 ("Added fts support for traversing UNIX file hierarchies.")

> Right I'm using bleeding edge as well, and do have the header in sources, its just
> not configured/enabled by default hence not available in installation.


> > It's actually MUSL, what is missing it [2]. Although there is some
> > implementation [3], we should skip it for musl. But the clearest way is really
> > to check presence of <fts.h>, that's fix it for all libc.

> Spot on, that is indeed the best/ideal way of doing it. Do you know if such a
> mechanism already exists in LTP. If you point me to an example I can respin the
> patch accordingly.
Simple adding fts.h in AC_CHECK_HEADERS + guards in a file #ifdef HAVE_FTS_H
should do the magic :).

Kind regards,
Petr

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [LTP] [PATCH] cpuset: disable for UCLIBC
@ 2019-03-18 18:19       ` Petr Vorel
  0 siblings, 0 replies; 26+ messages in thread
From: Petr Vorel @ 2019-03-18 18:19 UTC (permalink / raw)
  To: ltp

Hi Vineet,

> >> libcpuset.c relies on FTS which is not enabled by default on uClibc.
> >> Instead of needing to reconfigure, rebuild uClibc lets disable this test
> >> for uClibc
> > Which uClibc version are you using?
> > Both uClibc and uclibc-ng has it [1] since 2011, version v0.9.32, in commit
> > a4aa01c12 ("Added fts support for traversing UNIX file hierarchies.")

> Right I'm using bleeding edge as well, and do have the header in sources, its just
> not configured/enabled by default hence not available in installation.


> > It's actually MUSL, what is missing it [2]. Although there is some
> > implementation [3], we should skip it for musl. But the clearest way is really
> > to check presence of <fts.h>, that's fix it for all libc.

> Spot on, that is indeed the best/ideal way of doing it. Do you know if such a
> mechanism already exists in LTP. If you point me to an example I can respin the
> patch accordingly.
Simple adding fts.h in AC_CHECK_HEADERS + guards in a file #ifdef HAVE_FTS_H
should do the magic :).

Kind regards,
Petr

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH v2] autodetect fts support and tests depending on it
  2019-03-18 18:19       ` Petr Vorel
@ 2019-03-18 19:52         ` Vineet Gupta
  -1 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-18 19:52 UTC (permalink / raw)
  To: linux-snps-arc

Signed-off-by: Vineet Gupta <vgupta at synopsys.com>
---
 configure.ac                          | 1 +
 testcases/kernel/controllers/Makefile | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/configure.ac b/configure.ac
index e002c248eab2..10b2f6b1e43b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,6 +33,7 @@ AC_PROG_YACC
 AC_PREFIX_DEFAULT(/opt/ltp)
 
 AC_CHECK_HEADERS([ \
+    fts.h \
     ifaddrs.h \
     keyutils.h \
     linux/can.h \
diff --git a/testcases/kernel/controllers/Makefile b/testcases/kernel/controllers/Makefile
index 404073947904..a1626ae03695 100644
--- a/testcases/kernel/controllers/Makefile
+++ b/testcases/kernel/controllers/Makefile
@@ -29,6 +29,12 @@ LIBDIR			:= libcontrollers
 LIB			:= $(LIBDIR)/libcontrollers.a
 FILTER_OUT_DIRS		:= $(LIBDIR)
 
+# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
+# which may not be available/configured in the libc build
+ifndef HAVE_FTS_H
+FILTER_OUT_DIRS	+= cpuset
+endif
+
 $(LIBDIR):
 	mkdir -p "$@"
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [LTP] [PATCH v2] autodetect fts support and tests depending on it
@ 2019-03-18 19:52         ` Vineet Gupta
  0 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-18 19:52 UTC (permalink / raw)
  To: ltp

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
---
 configure.ac                          | 1 +
 testcases/kernel/controllers/Makefile | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/configure.ac b/configure.ac
index e002c248eab2..10b2f6b1e43b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,6 +33,7 @@ AC_PROG_YACC
 AC_PREFIX_DEFAULT(/opt/ltp)
 
 AC_CHECK_HEADERS([ \
+    fts.h \
     ifaddrs.h \
     keyutils.h \
     linux/can.h \
diff --git a/testcases/kernel/controllers/Makefile b/testcases/kernel/controllers/Makefile
index 404073947904..a1626ae03695 100644
--- a/testcases/kernel/controllers/Makefile
+++ b/testcases/kernel/controllers/Makefile
@@ -29,6 +29,12 @@ LIBDIR			:= libcontrollers
 LIB			:= $(LIBDIR)/libcontrollers.a
 FILTER_OUT_DIRS		:= $(LIBDIR)
 
+# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
+# which may not be available/configured in the libc build
+ifndef HAVE_FTS_H
+FILTER_OUT_DIRS	+= cpuset
+endif
+
 $(LIBDIR):
 	mkdir -p "$@"
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH] auto filter aio tests of libc can't support aio
  2019-03-18 18:19       ` Petr Vorel
@ 2019-03-18 20:06         ` Vineet Gupta
  -1 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-18 20:06 UTC (permalink / raw)
  To: linux-snps-arc

uClibc-ng lacks libaio.h and thus LTP UCLIBC=1 builds need to filter
out aio tests which it currently doesn't.

FWIW the tests sources themselves use a slightly different guard
HAVE_LIBAIO (while autotool generate HAVE_LIBAIO_H).
Anyhow that seems pointless as aio tests should not even build of libc
doesn't support the prerequsute header.

Signed-off-by: Vineet Gupta <vgupta at synopsys.com>
---
 testcases/kernel/io/Makefile | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/testcases/kernel/io/Makefile b/testcases/kernel/io/Makefile
index 7db02882a530..3afae3888f63 100644
--- a/testcases/kernel/io/Makefile
+++ b/testcases/kernel/io/Makefile
@@ -24,4 +24,8 @@ top_srcdir		?= ../../..
 
 include $(top_srcdir)/include/mk/env_pre.mk
 
+ifndef HAVE_LIBAIO_H
+FILTER_OUT_DIRS	+= aio
+endif
+
 include $(top_srcdir)/include/mk/generic_trunk_target.mk
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [LTP] [PATCH] auto filter aio tests of libc can't support aio
@ 2019-03-18 20:06         ` Vineet Gupta
  0 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-18 20:06 UTC (permalink / raw)
  To: ltp

uClibc-ng lacks libaio.h and thus LTP UCLIBC=1 builds need to filter
out aio tests which it currently doesn't.

FWIW the tests sources themselves use a slightly different guard
HAVE_LIBAIO (while autotool generate HAVE_LIBAIO_H).
Anyhow that seems pointless as aio tests should not even build of libc
doesn't support the prerequsute header.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
---
 testcases/kernel/io/Makefile | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/testcases/kernel/io/Makefile b/testcases/kernel/io/Makefile
index 7db02882a530..3afae3888f63 100644
--- a/testcases/kernel/io/Makefile
+++ b/testcases/kernel/io/Makefile
@@ -24,4 +24,8 @@ top_srcdir		?= ../../..
 
 include $(top_srcdir)/include/mk/env_pre.mk
 
+ifndef HAVE_LIBAIO_H
+FILTER_OUT_DIRS	+= aio
+endif
+
 include $(top_srcdir)/include/mk/generic_trunk_target.mk
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2] autodetect fts support and tests depending on it
  2019-03-18 19:52         ` [LTP] " Vineet Gupta
@ 2019-03-20 22:37           ` Petr Vorel
  -1 siblings, 0 replies; 26+ messages in thread
From: Petr Vorel @ 2019-03-20 22:37 UTC (permalink / raw)
  To: linux-snps-arc

Hi Vineet,

> Signed-off-by: Vineet Gupta <vgupta at synopsys.com>
> ---
>  configure.ac                          | 1 +
>  testcases/kernel/controllers/Makefile | 6 ++++++
>  2 files changed, 7 insertions(+)

> diff --git a/configure.ac b/configure.ac
> index e002c248eab2..10b2f6b1e43b 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -33,6 +33,7 @@ AC_PROG_YACC
>  AC_PREFIX_DEFAULT(/opt/ltp)

>  AC_CHECK_HEADERS([ \
> +    fts.h \
>      ifaddrs.h \
>      keyutils.h \
>      linux/can.h \
> diff --git a/testcases/kernel/controllers/Makefile b/testcases/kernel/controllers/Makefile
> index 404073947904..a1626ae03695 100644
> --- a/testcases/kernel/controllers/Makefile
> +++ b/testcases/kernel/controllers/Makefile
> @@ -29,6 +29,12 @@ LIBDIR			:= libcontrollers
>  LIB			:= $(LIBDIR)/libcontrollers.a
>  FILTER_OUT_DIRS		:= $(LIBDIR)

> +# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
> +# which may not be available/configured in the libc build
> +ifndef HAVE_FTS_H
> +FILTER_OUT_DIRS	+= cpuset
> +endif
Have you tested it? This will not work as HAVE_LIBAIO_H is in include/config.h,
thus only for C. For Makefile it must be done via autotools (search for AC_SUBST
in m4/). I thought TST_TEST_TCONF usage, but you're right, that problematic
source is part of libcontrollers.a (i.e. part of a library, not normal C
binary).


Kind regards,
Petr

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [LTP] [PATCH v2] autodetect fts support and tests depending on it
@ 2019-03-20 22:37           ` Petr Vorel
  0 siblings, 0 replies; 26+ messages in thread
From: Petr Vorel @ 2019-03-20 22:37 UTC (permalink / raw)
  To: ltp

Hi Vineet,

> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> ---
>  configure.ac                          | 1 +
>  testcases/kernel/controllers/Makefile | 6 ++++++
>  2 files changed, 7 insertions(+)

> diff --git a/configure.ac b/configure.ac
> index e002c248eab2..10b2f6b1e43b 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -33,6 +33,7 @@ AC_PROG_YACC
>  AC_PREFIX_DEFAULT(/opt/ltp)

>  AC_CHECK_HEADERS([ \
> +    fts.h \
>      ifaddrs.h \
>      keyutils.h \
>      linux/can.h \
> diff --git a/testcases/kernel/controllers/Makefile b/testcases/kernel/controllers/Makefile
> index 404073947904..a1626ae03695 100644
> --- a/testcases/kernel/controllers/Makefile
> +++ b/testcases/kernel/controllers/Makefile
> @@ -29,6 +29,12 @@ LIBDIR			:= libcontrollers
>  LIB			:= $(LIBDIR)/libcontrollers.a
>  FILTER_OUT_DIRS		:= $(LIBDIR)

> +# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
> +# which may not be available/configured in the libc build
> +ifndef HAVE_FTS_H
> +FILTER_OUT_DIRS	+= cpuset
> +endif
Have you tested it? This will not work as HAVE_LIBAIO_H is in include/config.h,
thus only for C. For Makefile it must be done via autotools (search for AC_SUBST
in m4/). I thought TST_TEST_TCONF usage, but you're right, that problematic
source is part of libcontrollers.a (i.e. part of a library, not normal C
binary).


Kind regards,
Petr

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [LTP] [PATCH v2] autodetect fts support and tests depending on it
  2019-03-20 22:37           ` [LTP] " Petr Vorel
@ 2019-03-20 22:47             ` Petr Vorel
  -1 siblings, 0 replies; 26+ messages in thread
From: Petr Vorel @ 2019-03-20 22:47 UTC (permalink / raw)
  To: linux-snps-arc

Hi Vineet,

> > Signed-off-by: Vineet Gupta <vgupta at synopsys.com>
> > ---
> >  configure.ac                          | 1 +
> >  testcases/kernel/controllers/Makefile | 6 ++++++
> >  2 files changed, 7 insertions(+)

> > diff --git a/configure.ac b/configure.ac
> > index e002c248eab2..10b2f6b1e43b 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -33,6 +33,7 @@ AC_PROG_YACC
> >  AC_PREFIX_DEFAULT(/opt/ltp)

> >  AC_CHECK_HEADERS([ \
> > +    fts.h \
> >      ifaddrs.h \
> >      keyutils.h \
> >      linux/can.h \
> > diff --git a/testcases/kernel/controllers/Makefile b/testcases/kernel/controllers/Makefile
> > index 404073947904..a1626ae03695 100644
> > --- a/testcases/kernel/controllers/Makefile
> > +++ b/testcases/kernel/controllers/Makefile
> > @@ -29,6 +29,12 @@ LIBDIR			:= libcontrollers
> >  LIB			:= $(LIBDIR)/libcontrollers.a
> >  FILTER_OUT_DIRS		:= $(LIBDIR)

> > +# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
> > +# which may not be available/configured in the libc build
> > +ifndef HAVE_FTS_H
> > +FILTER_OUT_DIRS	+= cpuset
> > +endif
> Have you tested it? This will not work as HAVE_LIBAIO_H is in include/config.h,
> thus only for C. For Makefile it must be done via autotools (search for AC_SUBST
> in m4/). I thought TST_TEST_TCONF usage, but you're right, that problematic
> source is part of libcontrollers.a (i.e. part of a library, not normal C
> binary).

But when files aren't compiled, they're missing in runtest/controllers (there
are commands expected, that's why we use TST_TEST_TCONF, so file is there but
exits with warning). There is not an elegant solution, maybe adding these missing
binaries into TST_NEEDS_CMDS (one enough to any *.sh).

Kind regards,
Petr

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [LTP] [PATCH v2] autodetect fts support and tests depending on it
@ 2019-03-20 22:47             ` Petr Vorel
  0 siblings, 0 replies; 26+ messages in thread
From: Petr Vorel @ 2019-03-20 22:47 UTC (permalink / raw)
  To: ltp

Hi Vineet,

> > Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> > ---
> >  configure.ac                          | 1 +
> >  testcases/kernel/controllers/Makefile | 6 ++++++
> >  2 files changed, 7 insertions(+)

> > diff --git a/configure.ac b/configure.ac
> > index e002c248eab2..10b2f6b1e43b 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -33,6 +33,7 @@ AC_PROG_YACC
> >  AC_PREFIX_DEFAULT(/opt/ltp)

> >  AC_CHECK_HEADERS([ \
> > +    fts.h \
> >      ifaddrs.h \
> >      keyutils.h \
> >      linux/can.h \
> > diff --git a/testcases/kernel/controllers/Makefile b/testcases/kernel/controllers/Makefile
> > index 404073947904..a1626ae03695 100644
> > --- a/testcases/kernel/controllers/Makefile
> > +++ b/testcases/kernel/controllers/Makefile
> > @@ -29,6 +29,12 @@ LIBDIR			:= libcontrollers
> >  LIB			:= $(LIBDIR)/libcontrollers.a
> >  FILTER_OUT_DIRS		:= $(LIBDIR)

> > +# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
> > +# which may not be available/configured in the libc build
> > +ifndef HAVE_FTS_H
> > +FILTER_OUT_DIRS	+= cpuset
> > +endif
> Have you tested it? This will not work as HAVE_LIBAIO_H is in include/config.h,
> thus only for C. For Makefile it must be done via autotools (search for AC_SUBST
> in m4/). I thought TST_TEST_TCONF usage, but you're right, that problematic
> source is part of libcontrollers.a (i.e. part of a library, not normal C
> binary).

But when files aren't compiled, they're missing in runtest/controllers (there
are commands expected, that's why we use TST_TEST_TCONF, so file is there but
exits with warning). There is not an elegant solution, maybe adding these missing
binaries into TST_NEEDS_CMDS (one enough to any *.sh).

Kind regards,
Petr

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH] auto filter aio tests of libc can't support aio
  2019-03-18 20:06         ` [LTP] " Vineet Gupta
@ 2019-03-20 22:48           ` Petr Vorel
  -1 siblings, 0 replies; 26+ messages in thread
From: Petr Vorel @ 2019-03-20 22:48 UTC (permalink / raw)
  To: linux-snps-arc

Hi Vineet,

> uClibc-ng lacks libaio.h and thus LTP UCLIBC=1 builds need to filter
> out aio tests which it currently doesn't.

> FWIW the tests sources themselves use a slightly different guard
> HAVE_LIBAIO (while autotool generate HAVE_LIBAIO_H).
> Anyhow that seems pointless as aio tests should not even build of libc
> doesn't support the prerequsute header.

> Signed-off-by: Vineet Gupta <vgupta at synopsys.com>
> ---
>  testcases/kernel/io/Makefile | 4 ++++
>  1 file changed, 4 insertions(+)

> diff --git a/testcases/kernel/io/Makefile b/testcases/kernel/io/Makefile
> index 7db02882a530..3afae3888f63 100644
> --- a/testcases/kernel/io/Makefile
> +++ b/testcases/kernel/io/Makefile
> @@ -24,4 +24,8 @@ top_srcdir		?= ../../..

>  include $(top_srcdir)/include/mk/env_pre.mk

> +ifndef HAVE_LIBAIO_H
> +FILTER_OUT_DIRS	+= aio
> +endif
This is IMHO wrong, as all files using libaio.h are guarded with
TST_TEST_TCONF().


Kind regards,
Petr

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [LTP] [PATCH] auto filter aio tests of libc can't support aio
@ 2019-03-20 22:48           ` Petr Vorel
  0 siblings, 0 replies; 26+ messages in thread
From: Petr Vorel @ 2019-03-20 22:48 UTC (permalink / raw)
  To: ltp

Hi Vineet,

> uClibc-ng lacks libaio.h and thus LTP UCLIBC=1 builds need to filter
> out aio tests which it currently doesn't.

> FWIW the tests sources themselves use a slightly different guard
> HAVE_LIBAIO (while autotool generate HAVE_LIBAIO_H).
> Anyhow that seems pointless as aio tests should not even build of libc
> doesn't support the prerequsute header.

> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> ---
>  testcases/kernel/io/Makefile | 4 ++++
>  1 file changed, 4 insertions(+)

> diff --git a/testcases/kernel/io/Makefile b/testcases/kernel/io/Makefile
> index 7db02882a530..3afae3888f63 100644
> --- a/testcases/kernel/io/Makefile
> +++ b/testcases/kernel/io/Makefile
> @@ -24,4 +24,8 @@ top_srcdir		?= ../../..

>  include $(top_srcdir)/include/mk/env_pre.mk

> +ifndef HAVE_LIBAIO_H
> +FILTER_OUT_DIRS	+= aio
> +endif
This is IMHO wrong, as all files using libaio.h are guarded with
TST_TEST_TCONF().


Kind regards,
Petr

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH v2] autodetect fts support and tests depending on it
  2019-03-20 22:37           ` [LTP] " Petr Vorel
@ 2019-03-20 23:11             ` Vineet Gupta
  -1 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-20 23:11 UTC (permalink / raw)
  To: linux-snps-arc

Hi Petr,

On 3/20/19 3:37 PM, Petr Vorel wrote:
> 
>> +# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
>> +# which may not be available/configured in the libc build
>> +ifndef HAVE_FTS_H
>> +FILTER_OUT_DIRS	+= cpuset
>> +endif
> Have you tested it? 

Absolutely. I verified again. With this patch reverted locally I see errors due to
it trying to build the file

|
| make[5]: Leaving directory
'~/ltp/testcases/kernel/controllers/cpuset/cpuset_exclusive_test'
| make[5]: Entering directory
'~/ltp/testcases/kernel/controllers/cpuset/cpuset_memory_pressure_test'
| make -C ../cpuset_lib -f
"~/ltp/testcases/kernel/controllers/cpuset/cpuset_memory_pressure_test/../cpuset_lib/Makefile"
all
| make[6]: Entering directory '~/ltp/testcases/kernel/controllers/cpuset/cpuset_lib'
| arc-linux-uclibc-gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -W
-Wold-style-definition -D_FORTIFY_SOURCE=2 -I../../../../../include
-I../../../../../include -I../../../../../include/old/  -c -o meminfo.o meminfo.c
| arc-linux-uclibc-gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -W
-Wold-style-definition -D_FORTIFY_SOURCE=2 -I../../../../../include
-I../../../../../include -I../../../../../include/old/  -c -o libbitmask.o
libbitmask.c
| arc-linux-uclibc-gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -W
-Wold-style-definition -D_FORTIFY_SOURCE=2 -I../../../../../include
-I../../../../../include -I../../../../../include/old/  -c -o libcpuset.o libcpuset.c
| libcpuset.c:32:10: fatal error: fts.h: No such file or directory
|

With my patch the build runs to completion.

This will not work as HAVE_LIBAIO_H is in include/config.h,

You mean HAVE_FTS_H (LIBAIO stuff is for different patch)

> thus only for C. For Makefile it must be done via autotools (search for AC_SUBST
> in m4/). I thought TST_TEST_TCONF usage, but you're right, that problematic
> source is part of libcontrollers.a (i.e. part of a library, not normal C
> binary).
Umm not sure what u mean. Going to read the next msg in thread.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [LTP] [PATCH v2] autodetect fts support and tests depending on it
@ 2019-03-20 23:11             ` Vineet Gupta
  0 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-20 23:11 UTC (permalink / raw)
  To: ltp

Hi Petr,

On 3/20/19 3:37 PM, Petr Vorel wrote:
> 
>> +# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
>> +# which may not be available/configured in the libc build
>> +ifndef HAVE_FTS_H
>> +FILTER_OUT_DIRS	+= cpuset
>> +endif
> Have you tested it? 

Absolutely. I verified again. With this patch reverted locally I see errors due to
it trying to build the file

|
| make[5]: Leaving directory
'~/ltp/testcases/kernel/controllers/cpuset/cpuset_exclusive_test'
| make[5]: Entering directory
'~/ltp/testcases/kernel/controllers/cpuset/cpuset_memory_pressure_test'
| make -C ../cpuset_lib -f
"~/ltp/testcases/kernel/controllers/cpuset/cpuset_memory_pressure_test/../cpuset_lib/Makefile"
all
| make[6]: Entering directory '~/ltp/testcases/kernel/controllers/cpuset/cpuset_lib'
| arc-linux-uclibc-gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -W
-Wold-style-definition -D_FORTIFY_SOURCE=2 -I../../../../../include
-I../../../../../include -I../../../../../include/old/  -c -o meminfo.o meminfo.c
| arc-linux-uclibc-gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -W
-Wold-style-definition -D_FORTIFY_SOURCE=2 -I../../../../../include
-I../../../../../include -I../../../../../include/old/  -c -o libbitmask.o
libbitmask.c
| arc-linux-uclibc-gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -W
-Wold-style-definition -D_FORTIFY_SOURCE=2 -I../../../../../include
-I../../../../../include -I../../../../../include/old/  -c -o libcpuset.o libcpuset.c
| libcpuset.c:32:10: fatal error: fts.h: No such file or directory
|

With my patch the build runs to completion.

This will not work as HAVE_LIBAIO_H is in include/config.h,

You mean HAVE_FTS_H (LIBAIO stuff is for different patch)

> thus only for C. For Makefile it must be done via autotools (search for AC_SUBST
> in m4/). I thought TST_TEST_TCONF usage, but you're right, that problematic
> source is part of libcontrollers.a (i.e. part of a library, not normal C
> binary).
Umm not sure what u mean. Going to read the next msg in thread.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH v2] autodetect fts support and tests depending on it
  2019-03-20 23:11             ` [LTP] " Vineet Gupta
@ 2019-03-21 12:06               ` Petr Vorel
  -1 siblings, 0 replies; 26+ messages in thread
From: Petr Vorel @ 2019-03-21 12:06 UTC (permalink / raw)
  To: linux-snps-arc

Hi Vineet,

> On 3/20/19 3:37 PM, Petr Vorel wrote:
> >> +# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
> >> +# which may not be available/configured in the libc build
> >> +ifndef HAVE_FTS_H
> >> +FILTER_OUT_DIRS	+= cpuset
> >> +endif
> > Have you tested it? 

> Absolutely. I verified again. With this patch reverted locally I see errors due to
> it trying to build the file
I meant testing with glibc :). Because your patch would bring a regression:
ifndef HAVE_FTS_H is always true because HAVE_FTS_H as an autotools check is not
visible to make in this form, no matter what it's set to HAVE_FTS_H in
include/config.h :(.

We could solve previous problem to make HAVE_FTS_H visible with AC_SUBST, while
creating proper autotools function check in m4/. Planning to do that? (if not
I'll do).
My thoughts about dependency problem in shell scripts (TST_TEST_TCONF) was wrong
as these tests are also under cpuset directory.

> With my patch the build runs to completion.

> This will not work as HAVE_LIBAIO_H is in include/config.h,

> You mean HAVE_FTS_H (LIBAIO stuff is for different patch)

> > thus only for C. For Makefile it must be done via autotools (search for AC_SUBST
> > in m4/). I thought TST_TEST_TCONF usage, but you're right, that problematic
> > source is part of libcontrollers.a (i.e. part of a library, not normal C
> > binary).
> Umm not sure what u mean. Going to read the next msg in thread.
See up.

Kind regards,
Petr

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [LTP] [PATCH v2] autodetect fts support and tests depending on it
@ 2019-03-21 12:06               ` Petr Vorel
  0 siblings, 0 replies; 26+ messages in thread
From: Petr Vorel @ 2019-03-21 12:06 UTC (permalink / raw)
  To: ltp

Hi Vineet,

> On 3/20/19 3:37 PM, Petr Vorel wrote:
> >> +# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
> >> +# which may not be available/configured in the libc build
> >> +ifndef HAVE_FTS_H
> >> +FILTER_OUT_DIRS	+= cpuset
> >> +endif
> > Have you tested it? 

> Absolutely. I verified again. With this patch reverted locally I see errors due to
> it trying to build the file
I meant testing with glibc :). Because your patch would bring a regression:
ifndef HAVE_FTS_H is always true because HAVE_FTS_H as an autotools check is not
visible to make in this form, no matter what it's set to HAVE_FTS_H in
include/config.h :(.

We could solve previous problem to make HAVE_FTS_H visible with AC_SUBST, while
creating proper autotools function check in m4/. Planning to do that? (if not
I'll do).
My thoughts about dependency problem in shell scripts (TST_TEST_TCONF) was wrong
as these tests are also under cpuset directory.

> With my patch the build runs to completion.

> This will not work as HAVE_LIBAIO_H is in include/config.h,

> You mean HAVE_FTS_H (LIBAIO stuff is for different patch)

> > thus only for C. For Makefile it must be done via autotools (search for AC_SUBST
> > in m4/). I thought TST_TEST_TCONF usage, but you're right, that problematic
> > source is part of libcontrollers.a (i.e. part of a library, not normal C
> > binary).
> Umm not sure what u mean. Going to read the next msg in thread.
See up.

Kind regards,
Petr

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH v2] autodetect fts support and tests depending on it
  2019-03-21 12:06               ` [LTP] " Petr Vorel
@ 2019-03-21 15:48                 ` Vineet Gupta
  -1 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-21 15:48 UTC (permalink / raw)
  To: linux-snps-arc

On 3/21/19 5:06 AM, Petr Vorel wrote:
> Hi Vineet,
>
>> On 3/20/19 3:37 PM, Petr Vorel wrote:
>>>> +# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
>>>> +# which may not be available/configured in the libc build
>>>> +ifndef HAVE_FTS_H
>>>> +FILTER_OUT_DIRS	+= cpuset
>>>> +endif
>>> Have you tested it? 
>> Absolutely. I verified again. With this patch reverted locally I see errors due to
>> it trying to build the file
> I meant testing with glibc :). 

No I didn't. Sorry missed that aspect of testing.

> Because your patch would bring a regression:
> ifndef HAVE_FTS_H is always true because HAVE_FTS_H as an autotools check is not
> visible to make in this form, no matter what it's set to HAVE_FTS_H in
> include/config.h :(.

OK makes sense.

> We could solve previous problem to make HAVE_FTS_H visible with AC_SUBST, while
> creating proper autotools function check in m4/. Planning to do that? (if not
> I'll do).

It seems you already have a good grasp of both the problem I was trying to solve
and the solution, latter I'll have to dig into myself - not necessarily rocket
science but still. So please go ahead and do that if you have spare cycles.

> My thoughts about dependency problem in shell scripts (TST_TEST_TCONF) was wrong
> as these tests are also under cpuset directory.

OK !

Thx,
-Vineet

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [LTP] [PATCH v2] autodetect fts support and tests depending on it
@ 2019-03-21 15:48                 ` Vineet Gupta
  0 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-21 15:48 UTC (permalink / raw)
  To: ltp

On 3/21/19 5:06 AM, Petr Vorel wrote:
> Hi Vineet,
>
>> On 3/20/19 3:37 PM, Petr Vorel wrote:
>>>> +# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
>>>> +# which may not be available/configured in the libc build
>>>> +ifndef HAVE_FTS_H
>>>> +FILTER_OUT_DIRS	+= cpuset
>>>> +endif
>>> Have you tested it? 
>> Absolutely. I verified again. With this patch reverted locally I see errors due to
>> it trying to build the file
> I meant testing with glibc :). 

No I didn't. Sorry missed that aspect of testing.

> Because your patch would bring a regression:
> ifndef HAVE_FTS_H is always true because HAVE_FTS_H as an autotools check is not
> visible to make in this form, no matter what it's set to HAVE_FTS_H in
> include/config.h :(.

OK makes sense.

> We could solve previous problem to make HAVE_FTS_H visible with AC_SUBST, while
> creating proper autotools function check in m4/. Planning to do that? (if not
> I'll do).

It seems you already have a good grasp of both the problem I was trying to solve
and the solution, latter I'll have to dig into myself - not necessarily rocket
science but still. So please go ahead and do that if you have spare cycles.

> My thoughts about dependency problem in shell scripts (TST_TEST_TCONF) was wrong
> as these tests are also under cpuset directory.

OK !

Thx,
-Vineet

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH] auto filter aio tests of libc can't support aio
  2019-03-20 22:48           ` [LTP] " Petr Vorel
@ 2019-03-21 21:43             ` Vineet Gupta
  -1 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-21 21:43 UTC (permalink / raw)
  To: linux-snps-arc

On 3/20/19 3:48 PM, Petr Vorel wrote:
>> +ifndef HAVE_LIBAIO_H
>> +FILTER_OUT_DIRS	+= aio
>> +endif
> This is IMHO wrong, as all files using libaio.h are guarded with
> TST_TEST_TCONF().

You're right. It seems this ltp tree of mine had stray aio1 and aio2 dir in the
io/aio which was actually tripping the build. With a pristine tree that is indeed
not needed.

Thx,
-Vineet

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [LTP] [PATCH] auto filter aio tests of libc can't support aio
@ 2019-03-21 21:43             ` Vineet Gupta
  0 siblings, 0 replies; 26+ messages in thread
From: Vineet Gupta @ 2019-03-21 21:43 UTC (permalink / raw)
  To: ltp

On 3/20/19 3:48 PM, Petr Vorel wrote:
>> +ifndef HAVE_LIBAIO_H
>> +FILTER_OUT_DIRS	+= aio
>> +endif
> This is IMHO wrong, as all files using libaio.h are guarded with
> TST_TEST_TCONF().

You're right. It seems this ltp tree of mine had stray aio1 and aio2 dir in the
io/aio which was actually tripping the build. With a pristine tree that is indeed
not needed.

Thx,
-Vineet

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2019-03-21 21:43 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-12 17:44 [PATCH] cpuset: disable for UCLIBC Vineet Gupta
2019-03-12 17:44 ` [LTP] " Vineet Gupta
2019-03-14 10:01 ` Petr Vorel
2019-03-14 10:01   ` Petr Vorel
2019-03-18 16:41   ` Vineet Gupta
2019-03-18 16:41     ` Vineet Gupta
2019-03-18 18:19     ` Petr Vorel
2019-03-18 18:19       ` Petr Vorel
2019-03-18 19:52       ` [PATCH v2] autodetect fts support and tests depending on it Vineet Gupta
2019-03-18 19:52         ` [LTP] " Vineet Gupta
2019-03-20 22:37         ` Petr Vorel
2019-03-20 22:37           ` [LTP] " Petr Vorel
2019-03-20 22:47           ` Petr Vorel
2019-03-20 22:47             ` Petr Vorel
2019-03-20 23:11           ` Vineet Gupta
2019-03-20 23:11             ` [LTP] " Vineet Gupta
2019-03-21 12:06             ` Petr Vorel
2019-03-21 12:06               ` [LTP] " Petr Vorel
2019-03-21 15:48               ` Vineet Gupta
2019-03-21 15:48                 ` [LTP] " Vineet Gupta
2019-03-18 20:06       ` [PATCH] auto filter aio tests of libc can't support aio Vineet Gupta
2019-03-18 20:06         ` [LTP] " Vineet Gupta
2019-03-20 22:48         ` Petr Vorel
2019-03-20 22:48           ` [LTP] " Petr Vorel
2019-03-21 21:43           ` Vineet Gupta
2019-03-21 21:43             ` [LTP] " Vineet Gupta

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.