* [PATCH] ltp: Fix for glibc 2.23+
@ 2016-02-01 21:23 Richard Purdie
2016-02-02 6:02 ` Khem Raj
0 siblings, 1 reply; 2+ messages in thread
From: Richard Purdie @ 2016-02-01 21:23 UTC (permalink / raw)
To: openembedded-core
glibc 2.23 onwards drops support for the bdflush syscall, which doesn't actually
do anything on 2.6 kernels anyway, its handled by a kernel thread.
Therefore drop the test.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
diff --git a/meta/recipes-extended/ltp/ltp/no_bdflush.patch b/meta/recipes-extended/ltp/ltp/no_bdflush.patch
new file mode 100644
index 0000000..02bff79
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/no_bdflush.patch
@@ -0,0 +1,182 @@
+glibc 2.23 onwards drops support for the bdflush syscall, which doesn't actually
+do anything on 2.6 kernels anyway, its handled by a kernel thread.
+
+Therefore drop the test.
+
+RP
+2016/2/1
+Upstream-Status: Pending
+
+Index: git/runtest/syscalls
+===================================================================
+--- git.orig/runtest/syscalls
++++ git/runtest/syscalls
+@@ -31,8 +31,6 @@ asyncio02 asyncio02
+ bind01 bind01
+ bind02 bind02
+
+-bdflush01 bdflush01
+-
+ brk01 brk01
+
+ capget01 capget01
+Index: git/testcases/kernel/syscalls/bdflush/Makefile
+===================================================================
+--- git.orig/testcases/kernel/syscalls/bdflush/Makefile
++++ /dev/null
+@@ -1,23 +0,0 @@
+-#
+-# Copyright (c) International Business Machines Corp., 2009
+-#
+-# This program is free software; you can redistribute it and/or modify
+-# it under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2 of the License, or
+-# (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
+-# the GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+-#
+-
+-top_srcdir ?= ../../../..
+-
+-include $(top_srcdir)/include/mk/testcases.mk
+-
+-include $(top_srcdir)/include/mk/generic_leaf_target.mk
+Index: git/testcases/kernel/syscalls/bdflush/bdflush01.c
+===================================================================
+--- git.orig/testcases/kernel/syscalls/bdflush/bdflush01.c
++++ /dev/null
+@@ -1,127 +0,0 @@
+-/******************************************************************************/
+-/* Copyright (c) Crackerjack Project., 2007 */
+-/* */
+-/* This program is free software; you can redistribute it and/or modify */
+-/* it under the terms of the GNU General Public License as published by */
+-/* the Free Software Foundation; either version 2 of the License, or */
+-/* (at your option) any later version. */
+-/* */
+-/* This program is distributed in the hope that it will be useful, */
+-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
+-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See */
+-/* the GNU General Public License for more details. */
+-/* */
+-/* You should have received a copy of the GNU General Public License */
+-/* along with this program; if not, write to the Free Software */
+-/* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
+-/* */
+-/******************************************************************************/
+-/******************************************************************************/
+-/* */
+-/* File: bdflush01.c */
+-/* */
+-/* Description: bdflush() starts, flushes, or tunes the buffer-dirty-flush */
+-/* daemon. Only a privileged process (one with the CAP_SYS_ADMIN */
+-/* capability) may call bdflush(). */
+-/* */
+-/* If func is negative or 0, and no daemon has been started, */
+-/* then bdflush() enters the daemon code and never returns. */
+-/* */
+-/* If func is 1, some dirty buffers are written to disk. */
+-/* If func is 2 or more and is even (low bit is 0), then address */
+-/* is the address of a long word, and the tuning parameter */
+-/* numbered (func-2)/2 is returned to the caller in that address.*/
+-/* */
+-/* If func is 3 or more and is odd (low bit is 1), then data is */
+-/* a long word, and the kernel sets tuning parameter numbered */
+-/* (func-3)/2 to that value. */
+-/* */
+-/* The set of parameters, their values, and their legal ranges */
+-/* are defined in the kernel source file fs/buffer.c. */
+-/* */
+-/* Return Value: */
+-/* If func is negative or 0 and the daemon successfully starts, */
+-/* bdflush() never returns. Otherwise, the return value is 0 on */
+-/* success and -1 on failure, with errno set to indicate the */
+-/* error. */
+-/* */
+-/* Errors: */
+-/* EBUSY */
+-/* An attempt was made to enter the daemon code after*/
+-/* another process has already entered. */
+-/* EFAULT */
+-/* address points outside your accessible address */
+-/* space. */
+-/* EINVAL */
+-/* An attempt was made to read or write an invalid */
+-/* parameter number, or to write an invalid value to */
+-/* a parameter. */
+-/* EPERM */
+-/* Caller does not have the CAP_SYS_ADMIN capability.*/
+-/* */
+-/* Usage: <for command-line> */
+-/* bdflush01 [-c n] [-e][-i n] [-I x] [-p x] [-t] */
+-/* where, -c n : Run n copies concurrently. */
+-/* -e : Turn on errno logging. */
+-/* -i n : Execute test n times. */
+-/* -I x : Execute test for x seconds. */
+-/* -P x : Pause for x seconds between iterations. */
+-/* -t : Turn on syscall timing. */
+-/* */
+-/* Total Tests: 1 */
+-/* */
+-/* Test Name: bdflush01 */
+-/* History: Porting from Crackerjack to LTP is done by */
+-/* Manas Kumar Nayak maknayak@in.ibm.com> */
+-/******************************************************************************/
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <sys/wait.h>
+-#include <sys/types.h>
+-#include <unistd.h>
+-#include <errno.h>
+-#include <sys/stat.h>
+-#include <sys/kdaemon.h>
+-
+-#include "test.h"
+-#include "linux_syscall_numbers.h"
+-
+-char *TCID = "bdflush01";
+-int testno;
+-int TST_TOTAL = 1;
+-
+-void cleanup(void)
+-{
+- tst_rmdir();
+-}
+-
+-void setup(void)
+-{
+- TEST_PAUSE;
+- tst_tmpdir();
+-}
+-
+-int main(int ac, char **av)
+-{
+- long data;
+-
+- tst_parse_opts(ac, av, NULL, NULL);
+-
+- setup();
+-
+- /*
+- * TODO (garrcoop): add more functional testcases; there are a ton
+- * missing.
+- */
+- data = 0;
+- tst_count = 1;
+- for (testno = 0; testno < TST_TOTAL; ++testno) {
+- TEST(ltp_syscall(__NR_bdflush, 3, data));
+- if (TEST_RETURN == -1)
+- tst_brkm(TFAIL | TTERRNO, cleanup, "bdflush failed");
+- else
+- tst_resm(TPASS, "bdflush() = %ld", TEST_RETURN);
+- }
+- cleanup();
+- tst_exit();
+-}
diff --git a/meta/recipes-extended/ltp/ltp_20150903.bb b/meta/recipes-extended/ltp/ltp_20150903.bb
index f018dae..615d0f8 100644
--- a/meta/recipes-extended/ltp/ltp_20150903.bb
+++ b/meta/recipes-extended/ltp/ltp_20150903.bb
@@ -30,6 +30,7 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
file://add-knob-for-tirpc.patch \
file://0001-ltp-vma03-fix-the-alginment-of-page-size.patch \
file://0001-Fix-compilation-for-gcc-5.x.patch \
+ file://no_bdflush.patch \
"
S = "${WORKDIR}/git"
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] ltp: Fix for glibc 2.23+
2016-02-01 21:23 [PATCH] ltp: Fix for glibc 2.23+ Richard Purdie
@ 2016-02-02 6:02 ` Khem Raj
0 siblings, 0 replies; 2+ messages in thread
From: Khem Raj @ 2016-02-02 6:02 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
On Mon, Feb 1, 2016 at 1:23 PM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> glibc 2.23 onwards drops support for the bdflush syscall, which doesn't actually
> do anything on 2.6 kernels anyway, its handled by a kernel thread.
>
> Therefore drop the test.
I have a patch which upgrade to latest release which fixes this issue
and plus it fixes build issues for LTP for musl
the patch is here
http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/master&id=1ad922b3abdfe7f3dadb4b16e7fb3a7d10495023
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>
> diff --git a/meta/recipes-extended/ltp/ltp/no_bdflush.patch b/meta/recipes-extended/ltp/ltp/no_bdflush.patch
> new file mode 100644
> index 0000000..02bff79
> --- /dev/null
> +++ b/meta/recipes-extended/ltp/ltp/no_bdflush.patch
> @@ -0,0 +1,182 @@
> +glibc 2.23 onwards drops support for the bdflush syscall, which doesn't actually
> +do anything on 2.6 kernels anyway, its handled by a kernel thread.
> +
> +Therefore drop the test.
> +
> +RP
> +2016/2/1
> +Upstream-Status: Pending
> +
> +Index: git/runtest/syscalls
> +===================================================================
> +--- git.orig/runtest/syscalls
> ++++ git/runtest/syscalls
> +@@ -31,8 +31,6 @@ asyncio02 asyncio02
> + bind01 bind01
> + bind02 bind02
> +
> +-bdflush01 bdflush01
> +-
> + brk01 brk01
> +
> + capget01 capget01
> +Index: git/testcases/kernel/syscalls/bdflush/Makefile
> +===================================================================
> +--- git.orig/testcases/kernel/syscalls/bdflush/Makefile
> ++++ /dev/null
> +@@ -1,23 +0,0 @@
> +-#
> +-# Copyright (c) International Business Machines Corp., 2009
> +-#
> +-# This program is free software; you can redistribute it and/or modify
> +-# it under the terms of the GNU General Public License as published by
> +-# the Free Software Foundation; either version 2 of the License, or
> +-# (at your option) any later version.
> +-#
> +-# This program is distributed in the hope that it will be useful,
> +-# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
> +-# the GNU General Public License for more details.
> +-#
> +-# You should have received a copy of the GNU General Public License
> +-# along with this program; if not, write to the Free Software
> +-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> +-#
> +-
> +-top_srcdir ?= ../../../..
> +-
> +-include $(top_srcdir)/include/mk/testcases.mk
> +-
> +-include $(top_srcdir)/include/mk/generic_leaf_target.mk
> +Index: git/testcases/kernel/syscalls/bdflush/bdflush01.c
> +===================================================================
> +--- git.orig/testcases/kernel/syscalls/bdflush/bdflush01.c
> ++++ /dev/null
> +@@ -1,127 +0,0 @@
> +-/******************************************************************************/
> +-/* Copyright (c) Crackerjack Project., 2007 */
> +-/* */
> +-/* This program is free software; you can redistribute it and/or modify */
> +-/* it under the terms of the GNU General Public License as published by */
> +-/* the Free Software Foundation; either version 2 of the License, or */
> +-/* (at your option) any later version. */
> +-/* */
> +-/* This program is distributed in the hope that it will be useful, */
> +-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
> +-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See */
> +-/* the GNU General Public License for more details. */
> +-/* */
> +-/* You should have received a copy of the GNU General Public License */
> +-/* along with this program; if not, write to the Free Software */
> +-/* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
> +-/* */
> +-/******************************************************************************/
> +-/******************************************************************************/
> +-/* */
> +-/* File: bdflush01.c */
> +-/* */
> +-/* Description: bdflush() starts, flushes, or tunes the buffer-dirty-flush */
> +-/* daemon. Only a privileged process (one with the CAP_SYS_ADMIN */
> +-/* capability) may call bdflush(). */
> +-/* */
> +-/* If func is negative or 0, and no daemon has been started, */
> +-/* then bdflush() enters the daemon code and never returns. */
> +-/* */
> +-/* If func is 1, some dirty buffers are written to disk. */
> +-/* If func is 2 or more and is even (low bit is 0), then address */
> +-/* is the address of a long word, and the tuning parameter */
> +-/* numbered (func-2)/2 is returned to the caller in that address.*/
> +-/* */
> +-/* If func is 3 or more and is odd (low bit is 1), then data is */
> +-/* a long word, and the kernel sets tuning parameter numbered */
> +-/* (func-3)/2 to that value. */
> +-/* */
> +-/* The set of parameters, their values, and their legal ranges */
> +-/* are defined in the kernel source file fs/buffer.c. */
> +-/* */
> +-/* Return Value: */
> +-/* If func is negative or 0 and the daemon successfully starts, */
> +-/* bdflush() never returns. Otherwise, the return value is 0 on */
> +-/* success and -1 on failure, with errno set to indicate the */
> +-/* error. */
> +-/* */
> +-/* Errors: */
> +-/* EBUSY */
> +-/* An attempt was made to enter the daemon code after*/
> +-/* another process has already entered. */
> +-/* EFAULT */
> +-/* address points outside your accessible address */
> +-/* space. */
> +-/* EINVAL */
> +-/* An attempt was made to read or write an invalid */
> +-/* parameter number, or to write an invalid value to */
> +-/* a parameter. */
> +-/* EPERM */
> +-/* Caller does not have the CAP_SYS_ADMIN capability.*/
> +-/* */
> +-/* Usage: <for command-line> */
> +-/* bdflush01 [-c n] [-e][-i n] [-I x] [-p x] [-t] */
> +-/* where, -c n : Run n copies concurrently. */
> +-/* -e : Turn on errno logging. */
> +-/* -i n : Execute test n times. */
> +-/* -I x : Execute test for x seconds. */
> +-/* -P x : Pause for x seconds between iterations. */
> +-/* -t : Turn on syscall timing. */
> +-/* */
> +-/* Total Tests: 1 */
> +-/* */
> +-/* Test Name: bdflush01 */
> +-/* History: Porting from Crackerjack to LTP is done by */
> +-/* Manas Kumar Nayak maknayak@in.ibm.com> */
> +-/******************************************************************************/
> +-#include <stdio.h>
> +-#include <stdlib.h>
> +-#include <sys/wait.h>
> +-#include <sys/types.h>
> +-#include <unistd.h>
> +-#include <errno.h>
> +-#include <sys/stat.h>
> +-#include <sys/kdaemon.h>
> +-
> +-#include "test.h"
> +-#include "linux_syscall_numbers.h"
> +-
> +-char *TCID = "bdflush01";
> +-int testno;
> +-int TST_TOTAL = 1;
> +-
> +-void cleanup(void)
> +-{
> +- tst_rmdir();
> +-}
> +-
> +-void setup(void)
> +-{
> +- TEST_PAUSE;
> +- tst_tmpdir();
> +-}
> +-
> +-int main(int ac, char **av)
> +-{
> +- long data;
> +-
> +- tst_parse_opts(ac, av, NULL, NULL);
> +-
> +- setup();
> +-
> +- /*
> +- * TODO (garrcoop): add more functional testcases; there are a ton
> +- * missing.
> +- */
> +- data = 0;
> +- tst_count = 1;
> +- for (testno = 0; testno < TST_TOTAL; ++testno) {
> +- TEST(ltp_syscall(__NR_bdflush, 3, data));
> +- if (TEST_RETURN == -1)
> +- tst_brkm(TFAIL | TTERRNO, cleanup, "bdflush failed");
> +- else
> +- tst_resm(TPASS, "bdflush() = %ld", TEST_RETURN);
> +- }
> +- cleanup();
> +- tst_exit();
> +-}
> diff --git a/meta/recipes-extended/ltp/ltp_20150903.bb b/meta/recipes-extended/ltp/ltp_20150903.bb
> index f018dae..615d0f8 100644
> --- a/meta/recipes-extended/ltp/ltp_20150903.bb
> +++ b/meta/recipes-extended/ltp/ltp_20150903.bb
> @@ -30,6 +30,7 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
> file://add-knob-for-tirpc.patch \
> file://0001-ltp-vma03-fix-the-alginment-of-page-size.patch \
> file://0001-Fix-compilation-for-gcc-5.x.patch \
> + file://no_bdflush.patch \
> "
>
> S = "${WORKDIR}/git"
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-02-02 6:02 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-01 21:23 [PATCH] ltp: Fix for glibc 2.23+ Richard Purdie
2016-02-02 6:02 ` Khem Raj
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.