[OE-core] [morty][PATCH v2] gcc6.4 upgrade

Martin Jansa martin.jansa at gmail.com
Sun Mar 11 00:56:17 UTC 2018


I've sent the pull requests for all 3 release branches.

I'll let some builders doing more tests over night, but it's very close to
what was merged in master (and also to what is currently in morty-next) so
it should be relatively safe.

The "significant" diffs between gcc-6.4 in various branches:

1) 84d6be8ceb14b418b059212108c5a71a5950e6c3 (last master commits before 6.4
was removed)

master doesn't
have 0041-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch which
were backported to rocko from gcc-7.1 later
and it doesn't have new backports from Juro
and 0001-enable-FL_LPAE-flag-for-armv7ve-cores.patc fix from Andre

diff -rq meta/recipes-devtools/gcc-rocko
meta/recipes-devtools/gcc-master-84d6be8ceb14b418b059212108c5a71a5950e6c3/
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4:
0041-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
Only in
meta/recipes-devtools/gcc-master-84d6be8ceb14b418b059212108c5a71a5950e6c3/gcc-6.4:
0041-ssp_nonshared.patch
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4/backport:
0001-enable-FL_LPAE-flag-for-armv7ve-cores.patch
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4/backport:
0001-i386-Move-struct-ix86_frame-to-machine_function.patch
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4/backport:
0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.patch
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4/backport:
0003-i386-Use-const-reference-of-struct-ix86_frame-to-avo.patch
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4/backport:
0004-x86-Add-mindirect-branch.patch
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4/backport:
0005-x86-Add-mfunction-return.patch
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4/backport:
0006-x86-Add-mindirect-branch-register.patch
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4/backport:
0007-x86-Add-V-register-operand-modifier.patch
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4/backport:
0008-x86-Disallow-mindirect-branch-mfunction-return-with-.patch
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4/backport:
0009-Use-INVALID_REGNUM-in-indirect-thunk-processing.patch
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4/backport:
0010-i386-Pass-INVALID_REGNUM-as-invalid-register-number.patch
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4/backport:
0011-i386-Update-mfunction-return-for-return-with-pop.patch
Only in meta/recipes-devtools/gcc-rocko/gcc-6.4/backport:
0012-i386-Add-TARGET_INDIRECT_BRANCH_REGISTER.patch
Files meta/recipes-devtools/gcc-rocko/gcc-6.4.inc and
meta/recipes-devtools/gcc-master-84d6be8ceb14b418b059212108c5a71a5950e6c3/gcc-6.4.inc
differ

docker-shr @ ~/openembedded-core $ diff
meta/recipes-devtools/gcc-rocko/gcc-6.4.inc
meta/recipes-devtools/gcc-master-84d6be8ceb14b418b059212108c5a71a5950e6c3/gcc-6.4.inc
68c68
<
file://0041-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
---
>            file://0041-ssp_nonshared.patch \
84,96d83
<            file://0001-enable-FL_LPAE-flag-for-armv7ve-cores.patch \
<
file://0001-i386-Move-struct-ix86_frame-to-machine_function.patch \
<
file://0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.patch \
<
file://0003-i386-Use-const-reference-of-struct-ix86_frame-to-avo.patch \
<            file://0004-x86-Add-mindirect-branch.patch \
<            file://0005-x86-Add-mfunction-return.patch \
<            file://0006-x86-Add-mindirect-branch-register.patch \
<            file://0007-x86-Add-V-register-operand-modifier.patch \
<
file://0008-x86-Disallow-mindirect-branch-mfunction-return-with-.patch \
<
file://0009-Use-INVALID_REGNUM-in-indirect-thunk-processing.patch \
<
file://0010-i386-Pass-INVALID_REGNUM-as-invalid-register-number.patch \
<
file://0011-i386-Update-mfunction-return-for-return-with-pop.patch \
<            file://0012-i386-Add-TARGET_INDIRECT_BRANCH_REGISTER.patch \
98d84
<

2) rocko to pyro:
rocko doesn't have uclibc changes anymore and 5.4 (with "gcc: Fix
CVE-2016-6131 in libiberty")

docker-shr @ ~/openembedded-core $ diff -rq meta/recipes-devtools/gcc-pyro
meta/recipes-devtools/gcc-rocko
Only in meta/recipes-devtools/gcc-pyro: gcc-5.4
Only in meta/recipes-devtools/gcc-pyro: gcc-5.4.inc
Only in meta/recipes-devtools/gcc-pyro/gcc-6.4: 0002-uclibc-conf.patch
Only in meta/recipes-devtools/gcc-pyro/gcc-6.4:
0003-gcc-uclibc-locale-ctype_touplow_t.patch
Only in meta/recipes-devtools/gcc-pyro/gcc-6.4: 0004-uclibc-locale.patch
Only in meta/recipes-devtools/gcc-pyro/gcc-6.4:
0005-uclibc-locale-no__x.patch
Only in meta/recipes-devtools/gcc-pyro/gcc-6.4:
0006-uclibc-locale-wchar_fix.patch
Only in meta/recipes-devtools/gcc-pyro/gcc-6.4:
0007-uclibc-locale-update.patch
Files meta/recipes-devtools/gcc-pyro/gcc-6.4.inc and
meta/recipes-devtools/gcc-rocko/gcc-6.4.inc differ

docker-shr @ ~/openembedded-core $ diff -uNr
meta/recipes-devtools/gcc-pyro/gcc-6.4.inc
meta/recipes-devtools/gcc-rocko/gcc-6.4.inc
--- meta/recipes-devtools/gcc-pyro/gcc-6.4.inc  2018-03-11
00:31:45.474829982 +0000
+++ meta/recipes-devtools/gcc-rocko/gcc-6.4.inc 2018-03-11
00:36:58.421852950 +0000
@@ -32,12 +32,6 @@
 SRC_URI = "\
            ${BASEURI} \
            file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
-           file://0002-uclibc-conf.patch \
-           file://0003-gcc-uclibc-locale-ctype_touplow_t.patch \
-           file://0004-uclibc-locale.patch \
-           file://0005-uclibc-locale-no__x.patch \
-           file://0006-uclibc-locale-wchar_fix.patch \
-           file://0007-uclibc-locale-update.patch \
            file://0008-missing-execinfo_h.patch \
            file://0009-c99-snprintf.patch \
            file://0010-gcc-poison-system-directories.patch \
@@ -144,8 +138,6 @@
     gcc_cv_libc_provides_ssp=yes \
 "

-EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float "
-
 EXTRA_OECONF_PATHS = "\
     --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \
     --with-sysroot=/not/exist \

3) morty to pyro
no changes in patches

4) morty to morty-next (from Juro)

5.4 now also have a backport of CVE-2016-6131.patch
0041-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch changes
were backported
0047-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
Upstream-Status fix was included in 6.4 upgrade
0056-LRA-PR70904-relax-the-restriction-on-subreg-reload-f.patch was
backported
duplicate 0057-ARM-PR-82445-suppress-32-bit-aligned-ldrd-strd-peeph.patch
wasn't added to backport folder (it's already in gcc-6.4 as it it was
backported from master)

docker-shr @ ~/openembedded-core $ git diff origin/morty-next
contrib/jansa/morty-backports --stat
 meta/recipes-devtools/gcc/gcc-5.4.inc
                                |   1 +
 meta/recipes-devtools/gcc/gcc-5.4/CVE-2016-6131.patch
                                | 251
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 meta/recipes-devtools/gcc/gcc-6.4.inc
                                |   4 ++-
 meta/recipes-devtools/gcc/gcc-6.4/0041-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
        |  87 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 meta/recipes-devtools/gcc/gcc-6.4/0041-ssp_nonshared.patch
                                 |  28 -----------------
 meta/recipes-devtools/gcc/gcc-6.4/0047-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
        |   2 +-
 meta/recipes-devtools/gcc/gcc-6.4/0056-LRA-PR70904-relax-the-restriction-on-subreg-reload-f.patch
        |  51 +++++++++++++++++++++++++++++++
 meta/recipes-devtools/gcc/gcc-6.4/backport/0057-ARM-PR-82445-suppress-32-bit-aligned-ldrd-strd-peeph.patch
| 194
-------------------------------------------------------------------------------------------------------------------
 meta/recipes-devtools/gcc/gcc-runtime.inc
                                |   2 ++
 9 files changed, 396 insertions(+), 224 deletions(-)

On Sat, Mar 10, 2018 at 10:34 PM, Richard Purdie <
richard.purdie at linuxfoundation.org> wrote:

> On Sat, 2018-03-10 at 22:04 +0100, Martin Jansa wrote:
> > Feel free to ignore my feedback.
> >
> > I didn't mean it as strong objection to get this merged as-is.
> >
> > It was rather an advice for next time or in case another version is
> > sent (e.g. with that missing patch from Khem) and Juro decides to
> > rework it in order to save himself some time later when preparing the
> > changes for pyro and rocko (as he said in the e-mail that he plans to
> > prepare). It shouldn't be too difficult to rework anyway, because
> > Andre already has the cherry-picks for morty and Juro can do just
> > rebase of his change on top of that to get those new patches in
> > separate commit.
>
> Juro's mail reply was a bit messed up with formatting but that missing
> arm patch appeared to cause an internal compiler error when compiling
> valgrind for x86-64 and I suspect that is why its missing. If we do
> want to consider that one I'd probably make it a separate issue.
>
> I can't really merge anything due to our backports policy until we have
> at least the pyro patches sorted. I'm still torn on which way to go but
> if someone can pull together a good set of patches for the various
> branches I would take it. I'm also pretty sure Juro will be fine if
> someone wants to break that patch up.
>
> Cheers,
>
> Richard
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180311/fb9bcdec/attachment-0002.html>


More information about the Openembedded-core mailing list