From 8e40d9d79bfffa8bc4b1dfd20e78e1554f6c9b00 Mon Sep 17 00:00:00 2001 From: Fan Xin Date: Mon, 14 Dec 2015 17:29:24 +0900 Subject: ltp: Upgrade 20150420 -> 20150903 1. Upgrade from 20150420 to 20150903 https://github.com/linux-test-project/ltp/releases/tag/20150903 2. Replace the patch file 0001-replace-inline-with-static-inline-for-gcc-5.x.patch due to the ltp original source code is changed. Signed-off-by: Fan Xin Signed-off-by: Ross Burton --- .../ltp/ltp/0001-Fix-compilation-for-gcc-5.x.patch | 79 ++++++++++++++++++++++ ...ace-inline-with-static-inline-for-gcc-5.x.patch | 69 ------------------- meta/recipes-extended/ltp/ltp_20150420.bb | 77 --------------------- meta/recipes-extended/ltp/ltp_20150903.bb | 77 +++++++++++++++++++++ 4 files changed, 156 insertions(+), 146 deletions(-) create mode 100644 meta/recipes-extended/ltp/ltp/0001-Fix-compilation-for-gcc-5.x.patch delete mode 100644 meta/recipes-extended/ltp/ltp/0001-replace-inline-with-static-inline-for-gcc-5.x.patch delete mode 100644 meta/recipes-extended/ltp/ltp_20150420.bb create mode 100644 meta/recipes-extended/ltp/ltp_20150903.bb (limited to 'meta/recipes-extended/ltp') diff --git a/meta/recipes-extended/ltp/ltp/0001-Fix-compilation-for-gcc-5.x.patch b/meta/recipes-extended/ltp/ltp/0001-Fix-compilation-for-gcc-5.x.patch new file mode 100644 index 0000000000..9407a34584 --- /dev/null +++ b/meta/recipes-extended/ltp/ltp/0001-Fix-compilation-for-gcc-5.x.patch @@ -0,0 +1,79 @@ +From 40a2457cb8ec42a05a2f96b0810057efdb2a55f5 Mon Sep 17 00:00:00 2001 +From: Kai Kang +Date: Wed, 16 Sep 2015 13:23:43 +0200 +Subject: [PATCH] Fix compilation for gcc-5.x + +The gcc-5.x defaults to -std=gnu11 instead of -std=gnu89 which causes +semantics for inline functions changes. + +GNU89 inline: Same as C99 extern inline. + +So the standalone 'inline' causes error such as: + +git/testcases/kernel/syscalls/kill/kill10.c:355: undefined reference to `k_sigaction' + +Replace inline with static inline to fix this issue. + +Ref: +https://gcc.gnu.org/gcc-5/porting_to.html + +Upstream-Status: Backport +Signed-off-by: Kai Kang +Acked-by: Cyril Hrubis +--- + testcases/kernel/controllers/libcontrollers/libcontrollers.c | 2 +- + testcases/kernel/controllers/libcontrollers/libcontrollers.h | 2 +- + testcases/kernel/syscalls/kill/kill10.c | 4 ++-- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/testcases/kernel/controllers/libcontrollers/libcontrollers.c b/testcases/kernel/controllers/libcontrollers/libcontrollers.c +index 844c5bc..75766fc 100644 +--- a/testcases/kernel/controllers/libcontrollers/libcontrollers.c ++++ b/testcases/kernel/controllers/libcontrollers/libcontrollers.c +@@ -158,7 +158,7 @@ int read_file(char *filepath, int action, unsigned int *value) + * Prints error message and returns -1 + */ + +-inline void error_function(char *msg1, char *msg2) ++static inline void error_function(char *msg1, char *msg2) + { + fprintf(stdout, "ERROR: %s ", msg1); + fprintf(stdout, "%s\n", msg2); +diff --git a/testcases/kernel/controllers/libcontrollers/libcontrollers.h b/testcases/kernel/controllers/libcontrollers/libcontrollers.h +index bd8e2d8..cdde9f9 100644 +--- a/testcases/kernel/controllers/libcontrollers/libcontrollers.h ++++ b/testcases/kernel/controllers/libcontrollers/libcontrollers.h +@@ -70,7 +70,7 @@ enum{ + GET_TASKS + }; + +-inline void error_function(char *msg1, char *msg2); ++static inline void error_function(char *msg1, char *msg2); + + int read_shares_file(char *filepath); + +diff --git a/testcases/kernel/syscalls/kill/kill10.c b/testcases/kernel/syscalls/kill/kill10.c +index 982d9da..33dbcd3 100644 +--- a/testcases/kernel/syscalls/kill/kill10.c ++++ b/testcases/kernel/syscalls/kill/kill10.c +@@ -185,7 +185,7 @@ int child_checklist_total = 0; + int checklist_cmp(const void *a, const void *b); + void checklist_reset(int bit); + +-inline int k_sigaction(int sig, struct sigaction *sa, struct sigaction *osa); ++static inline int k_sigaction(int sig, struct sigaction *sa, struct sigaction *osa); + + char *TCID = "kill10"; + int TST_TOTAL = 1; +@@ -756,7 +756,7 @@ void checklist_reset(int bit) + + } + +-inline int k_sigaction(int sig, struct sigaction *sa, struct sigaction *osa) ++static inline int k_sigaction(int sig, struct sigaction *sa, struct sigaction *osa) + { + int ret; + if ((ret = sigaction(sig, sa, osa)) == -1) { +-- +1.9.1 + diff --git a/meta/recipes-extended/ltp/ltp/0001-replace-inline-with-static-inline-for-gcc-5.x.patch b/meta/recipes-extended/ltp/ltp/0001-replace-inline-with-static-inline-for-gcc-5.x.patch deleted file mode 100644 index 0b594dc550..0000000000 --- a/meta/recipes-extended/ltp/ltp/0001-replace-inline-with-static-inline-for-gcc-5.x.patch +++ /dev/null @@ -1,69 +0,0 @@ -Upstream-Status: Backport [From https://github.com/linux-test-project/ltp/commit/40a2457cb8ec42a05a2f96b0810057efdb2a55f5] - -gcc 5.x defaults to -std=gnu11 instead of -std=gnu89 which causes -semantics for inline functions changes. - -The standalone 'inline' causes error with gcc 5 such as: - -git/testcases/kernel/syscalls/kill/kill10.c:355: undefined reference to `k_sigaction' - -Replace inline with static inline to be compatible with both gcc 4 and 5. - -Signed-off-by: Kai Kang ---- - testcases/kernel/controllers/libcontrollers/libcontrollers.c | 2 +- - testcases/kernel/controllers/libcontrollers/libcontrollers.h | 2 +- - testcases/kernel/syscalls/kill/kill10.c | 4 ++-- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/testcases/kernel/controllers/libcontrollers/libcontrollers.c b/testcases/kernel/controllers/libcontrollers/libcontrollers.c -index b01e1b8..8857bc9 100644 ---- a/testcases/kernel/controllers/libcontrollers/libcontrollers.c -+++ b/testcases/kernel/controllers/libcontrollers/libcontrollers.c -@@ -146,7 +146,7 @@ int read_file(char *filepath, int action, unsigned int *value) - * Prints error message and returns -1 - */ - --inline int error_function(char *msg1, char *msg2) -+static inline int error_function(char *msg1, char *msg2) - { - fprintf(stdout, "ERROR: %s ", msg1); - fprintf(stdout, "%s\n", msg2); -diff --git a/testcases/kernel/controllers/libcontrollers/libcontrollers.h b/testcases/kernel/controllers/libcontrollers/libcontrollers.h -index 4001555..a1a0dfa 100644 ---- a/testcases/kernel/controllers/libcontrollers/libcontrollers.h -+++ b/testcases/kernel/controllers/libcontrollers/libcontrollers.h -@@ -70,7 +70,7 @@ enum{ - GET_TASKS - }; - --inline int error_function(char *msg1, char *msg2); -+static inline int error_function(char *msg1, char *msg2); - - unsigned int read_shares_file (char *filepath); - -diff --git a/testcases/kernel/syscalls/kill/kill10.c b/testcases/kernel/syscalls/kill/kill10.c -index 982d9da..33dbcd3 100644 ---- a/testcases/kernel/syscalls/kill/kill10.c -+++ b/testcases/kernel/syscalls/kill/kill10.c -@@ -185,7 +185,7 @@ int child_checklist_total = 0; - int checklist_cmp(const void *a, const void *b); - void checklist_reset(int bit); - --inline int k_sigaction(int sig, struct sigaction *sa, struct sigaction *osa); -+static inline int k_sigaction(int sig, struct sigaction *sa, struct sigaction *osa); - - char *TCID = "kill10"; - int TST_TOTAL = 1; -@@ -756,7 +756,7 @@ void checklist_reset(int bit) - - } - --inline int k_sigaction(int sig, struct sigaction *sa, struct sigaction *osa) -+static inline int k_sigaction(int sig, struct sigaction *sa, struct sigaction *osa) - { - int ret; - if ((ret = sigaction(sig, sa, osa)) == -1) { ---- --1.9.1 -- diff --git a/meta/recipes-extended/ltp/ltp_20150420.bb b/meta/recipes-extended/ltp/ltp_20150420.bb deleted file mode 100644 index 1117c11e0d..0000000000 --- a/meta/recipes-extended/ltp/ltp_20150420.bb +++ /dev/null @@ -1,77 +0,0 @@ -SUMMARY = "Linux Test Project" -DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features." -HOMEPAGE = "http://ltp.sourceforge.net" -SECTION = "console/utils" -LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause" -LIC_FILES_CHKSUM = "\ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ - file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \ - file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ - file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ - file://testcases/open_posix_testsuite/COPYING;md5=216e43b72efbe4ed9017cc19c4c68b01 \ - file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ - file://tools/netpipe-2.4/COPYING;md5=9e3781bb5fe787aa80e1f51f5006b6fa \ - file://tools/netpipe-2.4-ipv6/COPYING;md5=9e3781bb5fe787aa80e1f51f5006b6fa \ - file://tools/top-LTP/proc/COPYING;md5=aefc88eb8a41672fbfcfe6b69ab8c49c \ - file://tools/pounder21/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://utils/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \ -" - -DEPENDS = "attr libaio libcap acl openssl zip-native" -SRCREV = "77d0b7fd0148ce657c5a25060667e978c07662a0" - -SRC_URI = "git://github.com/linux-test-project/ltp.git \ - file://0001-Rename-runtests_noltp.sh-script-so-have-unique-name.patch \ - file://ltp-Do-not-link-against-libfl.patch \ - file://make-setregid02-work.patch \ - file://add-knob-for-numa.patch \ - file://add-knob-for-tirpc.patch \ - file://0001-ltp-vma03-fix-the-alginment-of-page-size.patch \ - file://0001-replace-inline-with-static-inline-for-gcc-5.x.patch \ -" - -S = "${WORKDIR}/git" - -inherit autotools-brokensep - -TARGET_CC_ARCH += "${LDFLAGS}" - -export prefix = "/opt/ltp" -export exec_prefix = "/opt/ltp" - -PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl," -EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4" -EXTRA_OECONF = " --with-power-management-testsuite --with-realtime-testsuite " -# ltp network/rpc test cases ftbfs when libtirpc is found -EXTRA_OECONF += " --without-tirpc " - -# The makefiles make excessive use of make -C and several include testcases.mk -# which triggers a build of the syscall header. To reproduce, build ltp, -# then delete the header, then "make -j XX" and watch regen.sh run multiple -# times. Its easier to generate this once here instead. -do_compile_prepend () { - ( make -C ${B}/testcases/kernel include/linux_syscall_numbers.h ) -} - -do_install(){ - install -d ${D}/opt/ltp/ - oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install - - # Copy POSIX test suite into ${D}/opt/ltp/testcases by manual - cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases -} - -RDEPENDS_${PN} = "perl e2fsprogs-mke2fs python-core libaio bash gawk expect" - -FILES_${PN}-staticdev += "/opt/ltp/lib/libmem.a" - -FILES_${PN} += "/opt/ltp/* /opt/ltp/runtest/* /opt/ltp/scenario_groups/* /opt/ltp/testcases/bin/* /opt/ltp/testcases/bin/*/bin/* /opt/ltp/testscripts/* /opt/ltp/testcases/open_posix_testsuite/* /opt/ltp/testcases/open_posix_testsuite/conformance/* /opt/ltp/testcases/open_posix_testsuite/Documentation/* /opt/ltp/testcases/open_posix_testsuite/functional/* /opt/ltp/testcases/open_posix_testsuite/include/* /opt/ltp/testcases/open_posix_testsuite/scripts/* /opt/ltp/testcases/open_posix_testsuite/stress/* /opt/ltp/testcases/open_posix_testsuite/tools/*" - -# Avoid generated binaries stripping. Otherwise some of the ltp tests such as ldd01 & nm01 fails -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" -# However, test_arch_stripped is already stripped, so... -INSANE_SKIP_${PN} += "already-stripped" - diff --git a/meta/recipes-extended/ltp/ltp_20150903.bb b/meta/recipes-extended/ltp/ltp_20150903.bb new file mode 100644 index 0000000000..a15c704134 --- /dev/null +++ b/meta/recipes-extended/ltp/ltp_20150903.bb @@ -0,0 +1,77 @@ +SUMMARY = "Linux Test Project" +DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features." +HOMEPAGE = "http://ltp.sourceforge.net" +SECTION = "console/utils" +LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \ + file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ + file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ + file://testcases/open_posix_testsuite/COPYING;md5=216e43b72efbe4ed9017cc19c4c68b01 \ + file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ + file://tools/netpipe-2.4/COPYING;md5=9e3781bb5fe787aa80e1f51f5006b6fa \ + file://tools/netpipe-2.4-ipv6/COPYING;md5=9e3781bb5fe787aa80e1f51f5006b6fa \ + file://tools/top-LTP/proc/COPYING;md5=aefc88eb8a41672fbfcfe6b69ab8c49c \ + file://tools/pounder21/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://utils/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \ +" + +DEPENDS = "attr libaio libcap acl openssl zip-native" +SRCREV = "d19755a1deddd0268d7c29991afddab497da1823" + +SRC_URI = "git://github.com/linux-test-project/ltp.git \ + file://0001-Rename-runtests_noltp.sh-script-so-have-unique-name.patch \ + file://ltp-Do-not-link-against-libfl.patch \ + file://make-setregid02-work.patch \ + file://add-knob-for-numa.patch \ + 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 \ +" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep + +TARGET_CC_ARCH += "${LDFLAGS}" + +export prefix = "/opt/ltp" +export exec_prefix = "/opt/ltp" + +PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl," +EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4" +EXTRA_OECONF = " --with-power-management-testsuite --with-realtime-testsuite " +# ltp network/rpc test cases ftbfs when libtirpc is found +EXTRA_OECONF += " --without-tirpc " + +# The makefiles make excessive use of make -C and several include testcases.mk +# which triggers a build of the syscall header. To reproduce, build ltp, +# then delete the header, then "make -j XX" and watch regen.sh run multiple +# times. Its easier to generate this once here instead. +do_compile_prepend () { + ( make -C ${B}/testcases/kernel include/linux_syscall_numbers.h ) +} + +do_install(){ + install -d ${D}/opt/ltp/ + oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install + + # Copy POSIX test suite into ${D}/opt/ltp/testcases by manual + cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases +} + +RDEPENDS_${PN} = "perl e2fsprogs-mke2fs python-core libaio bash gawk expect" + +FILES_${PN}-staticdev += "/opt/ltp/lib/libmem.a" + +FILES_${PN} += "/opt/ltp/* /opt/ltp/runtest/* /opt/ltp/scenario_groups/* /opt/ltp/testcases/bin/* /opt/ltp/testcases/bin/*/bin/* /opt/ltp/testscripts/* /opt/ltp/testcases/open_posix_testsuite/* /opt/ltp/testcases/open_posix_testsuite/conformance/* /opt/ltp/testcases/open_posix_testsuite/Documentation/* /opt/ltp/testcases/open_posix_testsuite/functional/* /opt/ltp/testcases/open_posix_testsuite/include/* /opt/ltp/testcases/open_posix_testsuite/scripts/* /opt/ltp/testcases/open_posix_testsuite/stress/* /opt/ltp/testcases/open_posix_testsuite/tools/*" + +# Avoid generated binaries stripping. Otherwise some of the ltp tests such as ldd01 & nm01 fails +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +# However, test_arch_stripped is already stripped, so... +INSANE_SKIP_${PN} += "already-stripped" + -- cgit 1.2.3-korg