From: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
To: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] gcc-target.inc: Remove non-related gcc headers from include_fixed folder
Date: Wed, 02 Sep 2015 14:45:13 -0500 [thread overview]
Message-ID: <55E751C9.8020109@linux.intel.com> (raw)
In-Reply-To: <1435755468-33642-1-git-send-email-leonardo.sandoval.gonzalez@linux.intel.com>
This patch has not been merged yet. Any comments? otherwise merging is
pending.
On 07/01/2015 07:57 AM, leonardo.sandoval.gonzalez@linux.intel.com wrote:
> From: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
>
> Without this patch, the D's include_fixed folder may change after building it
> (due to the gcc's fixinc.sh script, executed on the do_compile task) and changes
> depend on the current sysroot headers, making the gcc's builds non-deterministic.
>
> [YOCTO #7882]
>
> Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
> ---
> meta/recipes-devtools/gcc/gcc-target.inc | 31 +++++++++++++++++++++++++++++++
> 1 file changed, 31 insertions(+)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc
> index 5d31446..1f91107 100644
> --- a/meta/recipes-devtools/gcc/gcc-target.inc
> +++ b/meta/recipes-devtools/gcc/gcc-target.inc
> @@ -168,6 +168,37 @@ do_install () {
> 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
> +}
> +
> # Installing /usr/lib/gcc/* means we'd have two copies, one from gcc-cross
> # and one from here. These can confuse gcc cross where includes use #include_next
> # and builds track file dependencies (e.g. perl and its makedepends code).
>
next prev parent reply other threads:[~2015-09-02 19:44 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-01 12:57 [PATCH] gcc-target.inc: Remove non-related gcc headers from include_fixed folder leonardo.sandoval.gonzalez
2015-09-02 19:45 ` Leonardo Sandoval [this message]
2015-09-02 20:39 ` Khem Raj
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=55E751C9.8020109@linux.intel.com \
--to=leonardo.sandoval.gonzalez@linux.intel.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.