All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] glibc: Avoid multilibbing on wordsize.h
@ 2018-07-25 18:35 Daniel Díaz
  2018-07-31  2:01 ` ChenQi
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Díaz @ 2018-07-25 18:35 UTC (permalink / raw)
  To: openembedded-core

Once another header #includes <bits/wordsize.h>, there is a
potential recursion going on because the
multilib_header_wrapper.h #includes <bits/wordsize.h> again!

This should not happen because an __arm__ (32-bits) or an
__aarch64__ (64-bits) environment guarantees that we will
be getting the correct definition, but when building against
a different target (like BPF), recursion is what happens.

This can be seen, for instance, when building eBPF programs
from the kernel with `clang -target bpf', such as the ones
located in linux/tools/testing/selftests/bpf/.

Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
---
 meta/recipes-core/glibc/glibc-package.inc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
index ae3f2f6..a4f61f8 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -136,8 +136,7 @@ do_install_append_armeb () {
 }
 
 do_install_armmultilib () {
-
-	oe_multilib_header bits/endian.h bits/fcntl.h bits/fenv.h bits/fp-fast.h bits/hwcap.h bits/ipc.h bits/link.h bits/wordsize.h
+	oe_multilib_header bits/endian.h bits/fcntl.h bits/fenv.h bits/fp-fast.h bits/hwcap.h bits/ipc.h bits/link.h
 	oe_multilib_header bits/local_lim.h bits/mman.h bits/msq.h bits/pthreadtypes.h bits/pthreadtypes-arch.h  bits/sem.h  bits/semaphore.h bits/setjmp.h
 	oe_multilib_header bits/shm.h bits/sigstack.h bits/stat.h bits/statfs.h bits/typesizes.h
 
-- 
2.7.4



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

* Re: [PATCH] glibc: Avoid multilibbing on wordsize.h
  2018-07-25 18:35 [PATCH] glibc: Avoid multilibbing on wordsize.h Daniel Díaz
@ 2018-07-31  2:01 ` ChenQi
  2018-08-09 17:03   ` Daniel Díaz
  0 siblings, 1 reply; 3+ messages in thread
From: ChenQi @ 2018-07-31  2:01 UTC (permalink / raw)
  To: Daniel Díaz, openembedded-core

This patch causes a regression in multilib SDK for qemuarm64.

Error: Transaction check error:
   file /usr/include/bits/wordsize.h conflicts between attempted installs of lib32-libc6-dev-2.27-r0.armv7vet2hf_vfp and libc6-dev-2.27-r0.aarch64

Please consider sending a follow-up patch to fix this regression.

Best Regards,
Chen Qi

On 07/26/2018 02:35 AM, Daniel Díaz wrote:
> Once another header #includes <bits/wordsize.h>, there is a
> potential recursion going on because the
> multilib_header_wrapper.h #includes <bits/wordsize.h> again!
>
> This should not happen because an __arm__ (32-bits) or an
> __aarch64__ (64-bits) environment guarantees that we will
> be getting the correct definition, but when building against
> a different target (like BPF), recursion is what happens.
>
> This can be seen, for instance, when building eBPF programs
> from the kernel with `clang -target bpf', such as the ones
> located in linux/tools/testing/selftests/bpf/.
>
> Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
> Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
> ---
>   meta/recipes-core/glibc/glibc-package.inc | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
> index ae3f2f6..a4f61f8 100644
> --- a/meta/recipes-core/glibc/glibc-package.inc
> +++ b/meta/recipes-core/glibc/glibc-package.inc
> @@ -136,8 +136,7 @@ do_install_append_armeb () {
>   }
>   
>   do_install_armmultilib () {
> -
> -	oe_multilib_header bits/endian.h bits/fcntl.h bits/fenv.h bits/fp-fast.h bits/hwcap.h bits/ipc.h bits/link.h bits/wordsize.h
> +	oe_multilib_header bits/endian.h bits/fcntl.h bits/fenv.h bits/fp-fast.h bits/hwcap.h bits/ipc.h bits/link.h
>   	oe_multilib_header bits/local_lim.h bits/mman.h bits/msq.h bits/pthreadtypes.h bits/pthreadtypes-arch.h  bits/sem.h  bits/semaphore.h bits/setjmp.h
>   	oe_multilib_header bits/shm.h bits/sigstack.h bits/stat.h bits/statfs.h bits/typesizes.h
>   




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

* Re: [PATCH] glibc: Avoid multilibbing on wordsize.h
  2018-07-31  2:01 ` ChenQi
@ 2018-08-09 17:03   ` Daniel Díaz
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Díaz @ 2018-08-09 17:03 UTC (permalink / raw)
  To: ChenQi; +Cc: Patches and discussions about the oe-core layer

Hello!


On 30 July 2018 at 21:01, ChenQi <Qi.Chen@windriver.com> wrote:
> This patch causes a regression in multilib SDK for qemuarm64.
>
> Error: Transaction check error:
>   file /usr/include/bits/wordsize.h conflicts between attempted installs of
> lib32-libc6-dev-2.27-r0.armv7vet2hf_vfp and libc6-dev-2.27-r0.aarch64
>
> Please consider sending a follow-up patch to fix this regression.

Thanks for the heads up. Follow-up patches coming along.

Greetings!

Daniel Díaz
daniel.diaz@linaro.org


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

end of thread, other threads:[~2018-08-09 17:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-25 18:35 [PATCH] glibc: Avoid multilibbing on wordsize.h Daniel Díaz
2018-07-31  2:01 ` ChenQi
2018-08-09 17:03   ` Daniel Díaz

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.