glibc: fix header file conflict in case of multilib

When enabling multilib for qemuarm64, populate_sdk would fail with
the following error:

  Error: Transaction test error: file /usr/include/bits/indirect-return.h
  conflicts between installs of lib32-libc6-dev-2.41 and libc6-dev-2.41+

The problem could be reproduced by adding the following lines in
local.conf and then run 'bitbake core-image-minimal -c populate_sdk':

  MACHINE ?= "qemuarm64"
  require conf/multilib.conf
  MULTILIBS ?= "multilib:lib32"
  DEFAULTTUNE:virtclass-multilib-lib32 ?= "armv7athf-neon"

Use oe_multilib_header to handle bits/indrect-return.h to fix this
issue.

(From OE-Core rev: e13d464db8db4e0fdec6c076aecff5284a27c510)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chen Qi 2025-02-10 17:59:49 -08:00 committed by Richard Purdie
parent af38235305
commit 76e071a79b

View File

@ -88,7 +88,7 @@ do_install() {
rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
fi
oe_multilib_header bits/syscall.h bits/long-double.h bits/floatn.h bits/endianness.h bits/struct_rwlock.h bits/math-vector.h
oe_multilib_header bits/syscall.h bits/long-double.h bits/floatn.h bits/endianness.h bits/struct_rwlock.h bits/math-vector.h bits/indirect-return.h
if [ -f ${D}${bindir}/mtrace ]; then
sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' -e '2s,exec.*perl,exec ${USRBINPATH}/env perl,' ${D}${bindir}/mtrace