From: Denys Dmytriyenko <denis@denix.org>
To: openembedded-core@lists.openembedded.org
Cc: Denys Dmytriyenko <denys@konsulko.com>
Subject: [PATCH 2/2] gcc: unify cleanup of include-fixed, apply to cross-canadian
Date: Mon, 22 Jul 2024 01:34:59 -0400 [thread overview]
Message-ID: <20240722053459.2462155-2-denis@denix.org> (raw)
In-Reply-To: <20240722053459.2462155-1-denis@denix.org>
From: Denys Dmytriyenko <denys@konsulko.com>
Since target and cross variants were already doing similar cleanup
of include-fixed headers, as those aren't used, unify the code and
also apply the same to cross-canadian variant.
Some of those header files get processed with a tool that leaves
absolute buildpaths inside the file's commented section, causing
QA errors. Since those aren't used, let's remove them.
This may be a temporary solution until the tool itself gets fixed
to not embed absolute buildpaths in the header files:
https://lists.openembedded.org/g/openembedded-core/topic/107268307
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
---
meta/recipes-devtools/gcc/gcc-common.inc | 4 +++
.../gcc/gcc-cross-canadian.inc | 2 ++
meta/recipes-devtools/gcc/gcc-cross.inc | 2 +-
meta/recipes-devtools/gcc/gcc-target.inc | 31 +------------------
4 files changed, 8 insertions(+), 31 deletions(-)
diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc
index 507b257e1f..661f2aef5c 100644
--- a/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-common.inc
@@ -135,3 +135,7 @@ remove_sysroot_paths_from_checksum_options () {
sed -i 's@${DEBUG_PREFIX_MAP}@@g' ${B}/gcc/checksum-options
sed -i 's@${1}@/host@g' ${B}/gcc/checksum-options
}
+
+cleanup_installed_include_fixed () {
+ find ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed -type f -not -name "README" -not -name limits.h -not -name syslimits.h | xargs rm -f
+}
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
index 9528b71272..39f468412a 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -175,6 +175,8 @@ do_install () {
done
done
done
+
+ cleanup_installed_include_fixed
}
ELFUTILS = "nativesdk-elfutils"
diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc
index f8a7730cf3..a1a52d9449 100644
--- a/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -109,7 +109,7 @@ do_install () {
cp ${S}/libquadmath/quadmath.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/
cp ${S}/libquadmath/quadmath_weak.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/
- find ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed -type f -not -name "README" -not -name limits.h -not -name syslimits.h | xargs rm -f
+ cleanup_installed_include_fixed
# install LTO linker plugins where binutils tools can find it
install -d ${D}${libdir}/bfd-plugins
diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc
index bd7506fe3a..aba5c2848e 100644
--- a/meta/recipes-devtools/gcc/gcc-target.inc
+++ b/meta/recipes-devtools/gcc/gcc-target.inc
@@ -193,37 +193,8 @@ do_install () {
install -d ${D}${libdir}/bfd-plugins
ln -sf ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/liblto_plugin.so ${D}${libdir}/bfd-plugins/liblto_plugin.so
chown -R root:root ${D}
-}
-do_install:append () {
- #
- # Thefixinc.sh script, run on the gcc's compile phase, looks into sysroot header
- # files and places the modified files into
- # {D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed folder. This makes the
- # build not deterministic. The following code prunes all those headers
- # except those under include-fixed/linux, *limits.h and README, yielding
- # the same include-fixed folders no matter what sysroot
-
- include_fixed="${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed"
- for f in $(find ${include_fixed} -type f); do
- case $f in
- */include-fixed/linux/*)
- continue
- ;;
- */include-fixed/*limits.h)
- continue
- ;;
- */include-fixed/README)
- continue
- ;;
- *)
- # remove file and directory if empty
- bbdebug 2 "Pruning $f"
- rm $f
- find $(dirname $f) -maxdepth 0 -empty -exec rmdir {} \;
- ;;
- esac
- done
+ cleanup_installed_include_fixed
}
# Installing /usr/lib/gcc/* means we'd have two copies, one from gcc-cross
--
2.25.1
next prev parent reply other threads:[~2024-07-22 5:35 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-22 5:34 [PATCH v3 1/2] gcc: remove paths to sysroot from configargs.h and checksum-options for gcc-cross-canadian Denys Dmytriyenko
2024-07-22 5:34 ` Denys Dmytriyenko [this message]
2024-07-22 20:51 ` [OE-core] " Richard Purdie
2024-07-22 21:18 ` Denys Dmytriyenko
2024-07-22 21:23 ` Richard Purdie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240722053459.2462155-2-denis@denix.org \
--to=denis@denix.org \
--cc=denys@konsulko.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.