Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 1/3] package/ltp-testsuite: remove ldd command test with static only build
@ 2017-05-09 20:59 Romain Naour
  2017-05-09 20:59 ` [Buildroot] [PATCH v3 2/3] package/ltp-testsuite: introduce BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS Romain Naour
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Romain Naour @ 2017-05-09 20:59 UTC (permalink / raw)
  To: buildroot

ldd command build system try to build a shared library unconditionally:

arc-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -matomic -Os -static \
	-I[...]/sysroot/usr/include/tirpc   -g -O2 -fno-strict-aliasing -pipe \
	-Wall -W -Wold-style-definition -shared -o lddfile1.obj.so lddfile1.o

Fixes:
http://autobuild.buildroot.net/results/2ec/2eccf9f517ab15d8d459b06195423fdfe3fba9fa

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/ltp-testsuite/ltp-testsuite.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/package/ltp-testsuite/ltp-testsuite.mk b/package/ltp-testsuite/ltp-testsuite.mk
index 7f26bd2..2a7f620 100644
--- a/package/ltp-testsuite/ltp-testsuite.mk
+++ b/package/ltp-testsuite/ltp-testsuite.mk
@@ -68,4 +68,12 @@ endef
 LTP_TESTSUITE_POST_PATCH_HOOKS += LTP_TESTSUITE_REMOVE_UNSUPPORTED
 endif
 
+# ldd command build system try to build a shared library unconditionally.
+ifeq ($(BR2_STATIC_LIBS),y)
+define LTP_TESTSUITE_REMOVE_LDD
+	rm -rf $(@D)/testcases/commands/ldd
+endef
+LTP_TESTSUITE_POST_PATCH_HOOKS += LTP_TESTSUITE_REMOVE_LDD
+endif
+
 $(eval $(autotools-package))
-- 
2.9.3

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

* [Buildroot] [PATCH v3 2/3] package/ltp-testsuite: introduce BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
  2017-05-09 20:59 [Buildroot] [PATCH v3 1/3] package/ltp-testsuite: remove ldd command test with static only build Romain Naour
@ 2017-05-09 20:59 ` Romain Naour
  2017-05-10 21:41   ` Thomas Petazzoni
  2017-05-09 20:59 ` [Buildroot] [PATCH v3 3/3] package/ltp-testsuite: add dependency on BR2_TOOLCHAIN_HAS_SYNC_4 Romain Naour
  2017-05-10 21:36 ` [Buildroot] [PATCH v3 1/3] package/ltp-testsuite: remove ldd command test with static only build Thomas Petazzoni
  2 siblings, 1 reply; 7+ messages in thread
From: Romain Naour @ 2017-05-09 20:59 UTC (permalink / raw)
  To: buildroot

ltp-testsuite needs __sync*() built-ins for 4-byte data, except on a few
architectures for which a specific implementation is provided in
ltp-testsuite source code.

To prepare for the introduction of this dependency, add
BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
 package/ltp-testsuite/Config.in | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/package/ltp-testsuite/Config.in b/package/ltp-testsuite/Config.in
index a7d3e58..699a289 100644
--- a/package/ltp-testsuite/Config.in
+++ b/package/ltp-testsuite/Config.in
@@ -1,10 +1,14 @@
+config BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
+	bool
+	# does not build on nios2, cachectl.h issue
+	default y if !BR2_nios2
+
 config BR2_PACKAGE_LTP_TESTSUITE
 	bool "ltp-testsuite"
 	depends on BR2_USE_MMU # fork()
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
 	depends on !BR2_TOOLCHAIN_USES_MUSL
-	# does not build, cachectl.h issue
-	depends on !BR2_nios2
+	depends on BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
 	select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	help
 	  The Linux Test Project provides a huge testsuite for Linux.
@@ -12,6 +16,6 @@ config BR2_PACKAGE_LTP_TESTSUITE
 	  http://linux-test-project.github.io
 
 comment "ltp-testsuite needs a glibc or uClibc toolchain w/ NPTL"
-	depends on !BR2_nios2
+	depends on BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
 	depends on BR2_USE_MMU
 	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_TOOLCHAIN_USES_MUSL
-- 
2.9.3

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

* [Buildroot] [PATCH v3 3/3] package/ltp-testsuite: add dependency on BR2_TOOLCHAIN_HAS_SYNC_4
  2017-05-09 20:59 [Buildroot] [PATCH v3 1/3] package/ltp-testsuite: remove ldd command test with static only build Romain Naour
  2017-05-09 20:59 ` [Buildroot] [PATCH v3 2/3] package/ltp-testsuite: introduce BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS Romain Naour
@ 2017-05-09 20:59 ` Romain Naour
  2017-05-09 21:21   ` Thomas Petazzoni
  2017-05-10 21:36 ` [Buildroot] [PATCH v3 1/3] package/ltp-testsuite: remove ldd command test with static only build Thomas Petazzoni
  2 siblings, 1 reply; 7+ messages in thread
From: Romain Naour @ 2017-05-09 20:59 UTC (permalink / raw)
  To: buildroot

As stated in commit [1], sparc toolchains doesn't have
any of __sync_*() family of functions implementation.

When __sync_add_and_fetch() is missing, ltp fallback to a local
implementation of tst_atomic_add_return() specific for each
supported architecture.
But there is none for sparc.

So add a dependency on BR2_TOOLCHAIN_HAS_SYNC_4 except for
architectures where a specific implementation is provided
in ltp-testsuite.

Fixes:
http://autobuild.buildroot.net/results/d7c/d7c3b145a64ed3916b89ddb4090050f3b9205e37

[1] 6856e417da4f3aa77e2a814db2a89429af072f7d

Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
v3: Fix comment dependency
    Rebase after newly introduced BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS (ThomasP)
v2: add a dependency on BR2_TOOLCHAIN_HAS_SYNC_4 except for arc, i386,
    powerpc, powerpc64, powerpc64le and x86_64
---
 package/ltp-testsuite/Config.in | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/package/ltp-testsuite/Config.in b/package/ltp-testsuite/Config.in
index 699a289..e0e7f62 100644
--- a/package/ltp-testsuite/Config.in
+++ b/package/ltp-testsuite/Config.in
@@ -1,7 +1,12 @@
 config BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
 	bool
 	# does not build on nios2, cachectl.h issue
-	default y if !BR2_nios2
+	# Needs __sync*() built-ins for 4-byte data, except on a few
+	# architectures for which a specific implementation is provided
+	# in ltp-testsuite
+	default y if !BR2_nios2 || (BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_arc \
+		|| BR2_i386 || BR2_powerpc || BR2_powerpc64 \
+		|| BR2_powerpc64le || BR2_x86_64)
 
 config BR2_PACKAGE_LTP_TESTSUITE
 	bool "ltp-testsuite"
-- 
2.9.3

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

* [Buildroot] [PATCH v3 3/3] package/ltp-testsuite: add dependency on BR2_TOOLCHAIN_HAS_SYNC_4
  2017-05-09 20:59 ` [Buildroot] [PATCH v3 3/3] package/ltp-testsuite: add dependency on BR2_TOOLCHAIN_HAS_SYNC_4 Romain Naour
@ 2017-05-09 21:21   ` Thomas Petazzoni
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2017-05-09 21:21 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue,  9 May 2017 22:59:29 +0200, Romain Naour wrote:

>  config BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
>  	bool
>  	# does not build on nios2, cachectl.h issue
> -	default y if !BR2_nios2
> +	# Needs __sync*() built-ins for 4-byte data, except on a few
> +	# architectures for which a specific implementation is provided
> +	# in ltp-testsuite
> +	default y if !BR2_nios2 || (BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_arc \
> +		|| BR2_i386 || BR2_powerpc || BR2_powerpc64 \
> +		|| BR2_powerpc64le || BR2_x86_64)

This is very convoluted. What about:

	depends on !BR2_nios2
	default y if BR2_TOOLCHAIN_HAS_SYNC_4
	default y if BR2_arc
	default y if BR2_i386
	default y if BR2_powerpc
	default y if BR2_powepc64
	default y if BR2_powerpc64le
	default y if BR2_x86_64

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

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

* [Buildroot] [PATCH v3 1/3] package/ltp-testsuite: remove ldd command test with static only build
  2017-05-09 20:59 [Buildroot] [PATCH v3 1/3] package/ltp-testsuite: remove ldd command test with static only build Romain Naour
  2017-05-09 20:59 ` [Buildroot] [PATCH v3 2/3] package/ltp-testsuite: introduce BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS Romain Naour
  2017-05-09 20:59 ` [Buildroot] [PATCH v3 3/3] package/ltp-testsuite: add dependency on BR2_TOOLCHAIN_HAS_SYNC_4 Romain Naour
@ 2017-05-10 21:36 ` Thomas Petazzoni
  2 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2017-05-10 21:36 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue,  9 May 2017 22:59:27 +0200, Romain Naour wrote:
> ldd command build system try to build a shared library unconditionally:
> 
> arc-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -matomic -Os -static \
> 	-I[...]/sysroot/usr/include/tirpc   -g -O2 -fno-strict-aliasing -pipe \
> 	-Wall -W -Wold-style-definition -shared -o lddfile1.obj.so lddfile1.o
> 
> Fixes:
> http://autobuild.buildroot.net/results/2ec/2eccf9f517ab15d8d459b06195423fdfe3fba9fa
> 
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  package/ltp-testsuite/ltp-testsuite.mk | 8 ++++++++
>  1 file changed, 8 insertions(+)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH v3 2/3] package/ltp-testsuite: introduce BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
  2017-05-09 20:59 ` [Buildroot] [PATCH v3 2/3] package/ltp-testsuite: introduce BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS Romain Naour
@ 2017-05-10 21:41   ` Thomas Petazzoni
  2017-05-11 20:31     ` Romain Naour
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2017-05-10 21:41 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue,  9 May 2017 22:59:28 +0200, Romain Naour wrote:
> ltp-testsuite needs __sync*() built-ins for 4-byte data, except on a few
> architectures for which a specific implementation is provided in
> ltp-testsuite source code.
> 
> To prepare for the introduction of this dependency, add
> BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS.
> 
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> ---
>  package/ltp-testsuite/Config.in | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)

Thanks, I've applied patches 2 and 3, after changing a bit how the
ARCH_SUPPORTS option is defined, as I suggested in my review of patch 3.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH v3 2/3] package/ltp-testsuite: introduce BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
  2017-05-10 21:41   ` Thomas Petazzoni
@ 2017-05-11 20:31     ` Romain Naour
  0 siblings, 0 replies; 7+ messages in thread
From: Romain Naour @ 2017-05-11 20:31 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

Le 10/05/2017 ? 23:41, Thomas Petazzoni a ?crit :
> Hello,
> 
> On Tue,  9 May 2017 22:59:28 +0200, Romain Naour wrote:
>> ltp-testsuite needs __sync*() built-ins for 4-byte data, except on a few
>> architectures for which a specific implementation is provided in
>> ltp-testsuite source code.
>>
>> To prepare for the introduction of this dependency, add
>> BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS.
>>
>> Signed-off-by: Romain Naour <romain.naour@gmail.com>
>> ---
>>  package/ltp-testsuite/Config.in | 10 +++++++---
>>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> Thanks, I've applied patches 2 and 3, after changing a bit how the
> ARCH_SUPPORTS option is defined, as I suggested in my review of patch 3.

Thanks for the final fixup.

Best regards,
Romain

> 
> Thanks!
> 
> Thomas
> 

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

end of thread, other threads:[~2017-05-11 20:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-09 20:59 [Buildroot] [PATCH v3 1/3] package/ltp-testsuite: remove ldd command test with static only build Romain Naour
2017-05-09 20:59 ` [Buildroot] [PATCH v3 2/3] package/ltp-testsuite: introduce BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS Romain Naour
2017-05-10 21:41   ` Thomas Petazzoni
2017-05-11 20:31     ` Romain Naour
2017-05-09 20:59 ` [Buildroot] [PATCH v3 3/3] package/ltp-testsuite: add dependency on BR2_TOOLCHAIN_HAS_SYNC_4 Romain Naour
2017-05-09 21:21   ` Thomas Petazzoni
2017-05-10 21:36 ` [Buildroot] [PATCH v3 1/3] package/ltp-testsuite: remove ldd command test with static only build Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox