Re: [OE-core] [PATCH v2 1/3] binutils: Upgrade to 2.40 release
On 1/23/23 16:38, Khem Raj wrote: On Thu, Jan 19, 2023 at 9:25 AM Jeff Law wrote: On 1/18/23 21:27, Khem Raj wrote: Signed-off-by: Khem Raj --- v1 -> v2: - Fix build on mingw - Backport fix to build with --disable-gdb [ ... ] Note I think this is going to run afoul of grub2 mkimage. In binutils-2.40 the assembler for risc-v was changed to use CALL_PLT relocations rather than CALL relocations. grub2 does not handle CALL_PLT relocations which in turn will cause a failure when grub2-mkimage is used on risc-v. As far as I can tell, the assembler change literally just changes the relocation number, they are otherwise treated the same. So I think grub2 can be fixed by just treating R_RISCV_CALL_PLT just like R_RISCV_CALL in kern/riscv/dl.c. Nelson, can you confirm that all your assembler change did was change the relocation used in the resultant object? The binutils change is here https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=70f35d72ef04cd23771875c1661c9975044a749c I tried something like this http://sprunge.us/ZjpFCI I still get | grub-mkimage: error: relocation 0x13 is not implemented yet. need to look more. That's what I would think the right fix ought to be. Weird. I think mkimage is run as a host tool, so I'd dig into the build of that on the host. jeff -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#176324): https://lists.openembedded.org/g/openembedded-core/message/176324 Mute This Topic: https://lists.openembedded.org/mt/96371613/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core] [PATCH v2 1/3] binutils: Upgrade to 2.40 release
On Thu, Jan 19, 2023 at 9:25 AM Jeff Law wrote: > > > > On 1/18/23 21:27, Khem Raj wrote: > > Signed-off-by: Khem Raj > > --- > > v1 -> v2: > > - Fix build on mingw > > - Backport fix to build with --disable-gdb > [ ... ] > Note I think this is going to run afoul of grub2 mkimage. > > In binutils-2.40 the assembler for risc-v was changed to use CALL_PLT > relocations rather than CALL relocations. grub2 does not handle > CALL_PLT relocations which in turn will cause a failure when > grub2-mkimage is used on risc-v. > > As far as I can tell, the assembler change literally just changes the > relocation number, they are otherwise treated the same. So I think > grub2 can be fixed by just treating R_RISCV_CALL_PLT just like > R_RISCV_CALL in kern/riscv/dl.c. > > Nelson, can you confirm that all your assembler change did was change > the relocation used in the resultant object? The binutils change is here https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=70f35d72ef04cd23771875c1661c9975044a749c I tried something like this http://sprunge.us/ZjpFCI I still get | grub-mkimage: error: relocation 0x13 is not implemented yet. need to look more. > > Jeff -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#176318): https://lists.openembedded.org/g/openembedded-core/message/176318 Mute This Topic: https://lists.openembedded.org/mt/96371613/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core] [PATCH v2 1/3] binutils: Upgrade to 2.40 release
On Thu, Jan 19, 2023 at 2:58 PM Luca Ceresoli wrote: > > Hi Khem, > > On Thu, 19 Jan 2023 08:52:09 -0800 > "Khem Raj" wrote: > > > On Thu, Jan 19, 2023 at 1:44 AM Luca Ceresoli > > wrote: > > > > > > Hi Khem, > > > > > > On Wed, 18 Jan 2023 20:27:22 -0800 > > > "Khem Raj" wrote: > > > > > > > Signed-off-by: Khem Raj > > This version is failing too: > > https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/6592/steps/14/logs/stdio > https://autobuilder.yoctoproject.org/typhoon/#/builders/122/builds/2263/steps/12/logs/stdio > https://autobuilder.yoctoproject.org/typhoon/#/builders/42/builds/6521/steps/14/logs/stdio > my bad. I have fixed the mingw32 patch and sent v3. Please try that patchset out. > ... > > > > > diff --git a/meta/conf/distro/include/tcmode-default.inc > b/meta/conf/distro/include/tcmode-default.inc > > > > index 4d4929529a..bcc5f7ce1f 100644 > > > > --- a/meta/conf/distro/include/tcmode-default.inc > > > > +++ b/meta/conf/distro/include/tcmode-default.inc > > > > @@ -18,7 +18,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext" > > > > > > > > GCCVERSION ?= "12.%" > > > > SDKGCCVERSION ?= "${GCCVERSION}" > > > > -BINUVERSION ?= "2.39%" > > > > +BINUVERSION ?= "2.40%" > > > > GDBVERSION ?= "12.%" > > > > GLIBCVERSION ?= "2.37" > > > > LINUXLIBCVERSION ?= "6.1%" > > > > > > Applying this patch on an oe-core repository fails with 'git am': > > > > > > error: sha1 information is lacking or useless > > > (meta/conf/distro/include/tcmode-default.inc). > > > error: could not build fake ancestor > > > Patch failed at 0001 binutils: Upgrade to 2.40 release > > > > > > And also with 'git apply' > > > > > > error: patch failed: meta/conf/distro/include/tcmode-default.inc:18 > > > error: meta/conf/distro/include/tcmode-default.inc: patch does not apply > > > > It might be due to glibc 2.37 upgrade which I have in my local tree > > staged as well. > > you might edit it locally. If you want I can push it to a dedicated branch > > Hm, maybe. I will try with your v3 I guess. :) > > Not a big problem so far, but an annoyance. > > -- > Luca Ceresoli, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#176176): https://lists.openembedded.org/g/openembedded-core/message/176176 Mute This Topic: https://lists.openembedded.org/mt/96371613/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core] [PATCH v2 1/3] binutils: Upgrade to 2.40 release
Hi Khem, On Thu, 19 Jan 2023 08:52:09 -0800 "Khem Raj" wrote: > On Thu, Jan 19, 2023 at 1:44 AM Luca Ceresoli > wrote: > > > > Hi Khem, > > > > On Wed, 18 Jan 2023 20:27:22 -0800 > > "Khem Raj" wrote: > > > > > Signed-off-by: Khem Raj This version is failing too: https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/6592/steps/14/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/122/builds/2263/steps/12/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/42/builds/6521/steps/14/logs/stdio ... > > > diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc > > > index 4d4929529a..bcc5f7ce1f 100644 > > > --- a/meta/conf/distro/include/tcmode-default.inc > > > +++ b/meta/conf/distro/include/tcmode-default.inc > > > @@ -18,7 +18,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext" > > > > > > GCCVERSION ?= "12.%" > > > SDKGCCVERSION ?= "${GCCVERSION}" > > > -BINUVERSION ?= "2.39%" > > > +BINUVERSION ?= "2.40%" > > > GDBVERSION ?= "12.%" > > > GLIBCVERSION ?= "2.37" > > > LINUXLIBCVERSION ?= "6.1%" > > > > Applying this patch on an oe-core repository fails with 'git am': > > > > error: sha1 information is lacking or useless > > (meta/conf/distro/include/tcmode-default.inc). > > error: could not build fake ancestor > > Patch failed at 0001 binutils: Upgrade to 2.40 release > > > > And also with 'git apply' > > > > error: patch failed: meta/conf/distro/include/tcmode-default.inc:18 > > error: meta/conf/distro/include/tcmode-default.inc: patch does not apply > > It might be due to glibc 2.37 upgrade which I have in my local tree > staged as well. > you might edit it locally. If you want I can push it to a dedicated branch Hm, maybe. I will try with your v3 I guess. :) Not a big problem so far, but an annoyance. -- Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#176166): https://lists.openembedded.org/g/openembedded-core/message/176166 Mute This Topic: https://lists.openembedded.org/mt/96371613/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core] [PATCH v2 1/3] binutils: Upgrade to 2.40 release
On Thu, Jan 19, 2023 at 9:25 AM Jeff Law wrote: > > > On 1/18/23 21:27, Khem Raj wrote: > > Signed-off-by: Khem Raj > > --- > > v1 -> v2: > > - Fix build on mingw > > - Backport fix to build with --disable-gdb > [ ... ] > Note I think this is going to run afoul of grub2 mkimage. > Yes I am seeing that in local builds for both rv32 and rv64 > In binutils-2.40 the assembler for risc-v was changed to use CALL_PLT > relocations rather than CALL relocations. grub2 does not handle > CALL_PLT relocations which in turn will cause a failure when > grub2-mkimage is used on risc-v. > > As far as I can tell, the assembler change literally just changes the > relocation number, they are otherwise treated the same. So I think > grub2 can be fixed by just treating R_RISCV_CALL_PLT just like > R_RISCV_CALL in kern/riscv/dl.c. I will try this and let you know > > Nelson, can you confirm that all your assembler change did was change > the relocation used in the resultant object? > > Jeff > -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#176161): https://lists.openembedded.org/g/openembedded-core/message/176161 Mute This Topic: https://lists.openembedded.org/mt/96371613/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core] [PATCH v2 1/3] binutils: Upgrade to 2.40 release
On 1/18/23 21:27, Khem Raj wrote: Signed-off-by: Khem Raj --- v1 -> v2: - Fix build on mingw - Backport fix to build with --disable-gdb [ ... ] Note I think this is going to run afoul of grub2 mkimage. In binutils-2.40 the assembler for risc-v was changed to use CALL_PLT relocations rather than CALL relocations. grub2 does not handle CALL_PLT relocations which in turn will cause a failure when grub2-mkimage is used on risc-v. As far as I can tell, the assembler change literally just changes the relocation number, they are otherwise treated the same. So I think grub2 can be fixed by just treating R_RISCV_CALL_PLT just like R_RISCV_CALL in kern/riscv/dl.c. Nelson, can you confirm that all your assembler change did was change the relocation used in the resultant object? Jeff -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#176155): https://lists.openembedded.org/g/openembedded-core/message/176155 Mute This Topic: https://lists.openembedded.org/mt/96371613/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core] [PATCH v2 1/3] binutils: Upgrade to 2.40 release
On Thu, Jan 19, 2023 at 1:44 AM Luca Ceresoli wrote: > > Hi Khem, > > On Wed, 18 Jan 2023 20:27:22 -0800 > "Khem Raj" wrote: > > > Signed-off-by: Khem Raj > > --- > > v1 -> v2: > > - Fix build on mingw > > - Backport fix to build with --disable-gdb > > > > meta/conf/distro/include/tcmode-default.inc | 2 +- > > .../{binutils-2.39.inc => binutils-2.40.inc} |22 +- > > 39.bb => binutils-cross-canadian_2.40.bb} | 0 > > ...39.bb => binutils-cross-testsuite_2.40.bb} | 0 > > ...s-cross_2.39.bb => binutils-cross_2.40.bb} | 0 > > ...ssdk_2.39.bb => binutils-crosssdk_2.40.bb} | 0 > > ...s-crosssdk-Generate-relocatable-SDKs.patch |10 +- > > ...o-not-generate-linker-script-directo.patch | 4 +- > > ...dk-Search-for-alternative-ld.so.conf.patch |18 +- > > ...004-Point-scripts-location-to-libdir.patch |10 +- > > ...stro-compiler-point-to-the-wrong-ins.patch | 4 +- > > ...-system-directories-when-cross-linki.patch |44 +- > > ...ect-assembling-for-ppc-wait-mnemonic.patch | 8 +- > > .../binutils/0008-Use-libtool-2.4.patch | 19254 ++-- > > ...h-in-libtool-when-sysroot-is-enabled.patch | 2 +- > > .../0010-sync-with-OE-libtool-changes.patch | 2 +- > > ...or-clang-before-checking-gcc-version.patch |10 +- > > ...-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch | 4 +- > > .../binutils/0013-CVE-2022-38533.patch|36 - > > ...sing-_Alignof-when-using-C11-or-newe.patch |48 + > > .../binutils/0014-CVE-2022-38128-1.patch | 350 - > > .../binutils/0014-CVE-2022-38128-2.patch | 536 - > > .../binutils/0014-CVE-2022-38128-3.patch |95 - > > ...-dependencies-on-gmp-and-mpfr-when-g.patch |56 + > > .../binutils/0015-CVE-2022-4285.patch |37 - > > ...-pe-dll.o-entry-deom-targ_extra_ofil.patch |41 + > > .../{binutils_2.39.bb => binutils_2.40.bb}| 0 > > 27 files changed, 11820 insertions(+), 8773 deletions(-) > > rename meta/recipes-devtools/binutils/{binutils-2.39.inc => > > binutils-2.40.inc} (71%) > > rename meta/recipes-devtools/binutils/{binutils-cross-canadian_2.39.bb => > > binutils-cross-canadian_2.40.bb} (100%) > > rename meta/recipes-devtools/binutils/{binutils-cross-testsuite_2.39.bb => > > binutils-cross-testsuite_2.40.bb} (100%) > > rename meta/recipes-devtools/binutils/{binutils-cross_2.39.bb => > > binutils-cross_2.40.bb} (100%) > > rename meta/recipes-devtools/binutils/{binutils-crosssdk_2.39.bb => > > binutils-crosssdk_2.40.bb} (100%) > > delete mode 100644 > > meta/recipes-devtools/binutils/binutils/0013-CVE-2022-38533.patch > > create mode 100644 > > meta/recipes-devtools/binutils/binutils/0013-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch > > delete mode 100644 > > meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-1.patch > > delete mode 100644 > > meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-2.patch > > delete mode 100644 > > meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-3.patch > > create mode 100644 > > meta/recipes-devtools/binutils/binutils/0014-configure-remove-dependencies-on-gmp-and-mpfr-when-g.patch > > delete mode 100644 > > meta/recipes-devtools/binutils/binutils/0015-CVE-2022-4285.patch > > create mode 100644 > > meta/recipes-devtools/binutils/binutils/0015-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch > > rename meta/recipes-devtools/binutils/{binutils_2.39.bb => > > binutils_2.40.bb} (100%) > > > > diff --git a/meta/conf/distro/include/tcmode-default.inc > > b/meta/conf/distro/include/tcmode-default.inc > > index 4d4929529a..bcc5f7ce1f 100644 > > --- a/meta/conf/distro/include/tcmode-default.inc > > +++ b/meta/conf/distro/include/tcmode-default.inc > > @@ -18,7 +18,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext" > > > > GCCVERSION ?= "12.%" > > SDKGCCVERSION ?= "${GCCVERSION}" > > -BINUVERSION ?= "2.39%" > > +BINUVERSION ?= "2.40%" > > GDBVERSION ?= "12.%" > > GLIBCVERSION ?= "2.37" > > LINUXLIBCVERSION ?= "6.1%" > > Applying this patch on an oe-core repository fails with 'git am': > > error: sha1 information is lacking or useless > (meta/conf/distro/include/tcmode-default.inc). > error: could not build fake ancestor > Patch failed at 0001 binutils: Upgrade to 2.40 release > > And also with 'git apply' > > error: patch failed: meta/conf/distro/include/tcmode-default.inc:18 > error: meta/conf/distro/include/tcmode-default.inc: patch does not apply It might be due to glibc 2.37 upgrade which I have in my local tree staged as well. you might edit it locally. If you want I can push it to a dedicated branch > > I noticed you prepared the patch in a poky repository, so I did apply > it there, re-extracted it via 'git format-patch' and the resulting > patch applied perfectly on my oe-core. This happened with your v1 as > well a couple days ago. > > I don't understand the root cause and definitely there are no recent > commits that
Re: [OE-core] [PATCH v2 1/3] binutils: Upgrade to 2.40 release
Hi Khem, On Wed, 18 Jan 2023 20:27:22 -0800 "Khem Raj" wrote: > Signed-off-by: Khem Raj > --- > v1 -> v2: > - Fix build on mingw > - Backport fix to build with --disable-gdb > > meta/conf/distro/include/tcmode-default.inc | 2 +- > .../{binutils-2.39.inc => binutils-2.40.inc} |22 +- > 39.bb => binutils-cross-canadian_2.40.bb} | 0 > ...39.bb => binutils-cross-testsuite_2.40.bb} | 0 > ...s-cross_2.39.bb => binutils-cross_2.40.bb} | 0 > ...ssdk_2.39.bb => binutils-crosssdk_2.40.bb} | 0 > ...s-crosssdk-Generate-relocatable-SDKs.patch |10 +- > ...o-not-generate-linker-script-directo.patch | 4 +- > ...dk-Search-for-alternative-ld.so.conf.patch |18 +- > ...004-Point-scripts-location-to-libdir.patch |10 +- > ...stro-compiler-point-to-the-wrong-ins.patch | 4 +- > ...-system-directories-when-cross-linki.patch |44 +- > ...ect-assembling-for-ppc-wait-mnemonic.patch | 8 +- > .../binutils/0008-Use-libtool-2.4.patch | 19254 ++-- > ...h-in-libtool-when-sysroot-is-enabled.patch | 2 +- > .../0010-sync-with-OE-libtool-changes.patch | 2 +- > ...or-clang-before-checking-gcc-version.patch |10 +- > ...-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch | 4 +- > .../binutils/0013-CVE-2022-38533.patch|36 - > ...sing-_Alignof-when-using-C11-or-newe.patch |48 + > .../binutils/0014-CVE-2022-38128-1.patch | 350 - > .../binutils/0014-CVE-2022-38128-2.patch | 536 - > .../binutils/0014-CVE-2022-38128-3.patch |95 - > ...-dependencies-on-gmp-and-mpfr-when-g.patch |56 + > .../binutils/0015-CVE-2022-4285.patch |37 - > ...-pe-dll.o-entry-deom-targ_extra_ofil.patch |41 + > .../{binutils_2.39.bb => binutils_2.40.bb}| 0 > 27 files changed, 11820 insertions(+), 8773 deletions(-) > rename meta/recipes-devtools/binutils/{binutils-2.39.inc => > binutils-2.40.inc} (71%) > rename meta/recipes-devtools/binutils/{binutils-cross-canadian_2.39.bb => > binutils-cross-canadian_2.40.bb} (100%) > rename meta/recipes-devtools/binutils/{binutils-cross-testsuite_2.39.bb => > binutils-cross-testsuite_2.40.bb} (100%) > rename meta/recipes-devtools/binutils/{binutils-cross_2.39.bb => > binutils-cross_2.40.bb} (100%) > rename meta/recipes-devtools/binutils/{binutils-crosssdk_2.39.bb => > binutils-crosssdk_2.40.bb} (100%) > delete mode 100644 > meta/recipes-devtools/binutils/binutils/0013-CVE-2022-38533.patch > create mode 100644 > meta/recipes-devtools/binutils/binutils/0013-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch > delete mode 100644 > meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-1.patch > delete mode 100644 > meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-2.patch > delete mode 100644 > meta/recipes-devtools/binutils/binutils/0014-CVE-2022-38128-3.patch > create mode 100644 > meta/recipes-devtools/binutils/binutils/0014-configure-remove-dependencies-on-gmp-and-mpfr-when-g.patch > delete mode 100644 > meta/recipes-devtools/binutils/binutils/0015-CVE-2022-4285.patch > create mode 100644 > meta/recipes-devtools/binutils/binutils/0015-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch > rename meta/recipes-devtools/binutils/{binutils_2.39.bb => binutils_2.40.bb} > (100%) > > diff --git a/meta/conf/distro/include/tcmode-default.inc > b/meta/conf/distro/include/tcmode-default.inc > index 4d4929529a..bcc5f7ce1f 100644 > --- a/meta/conf/distro/include/tcmode-default.inc > +++ b/meta/conf/distro/include/tcmode-default.inc > @@ -18,7 +18,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext" > > GCCVERSION ?= "12.%" > SDKGCCVERSION ?= "${GCCVERSION}" > -BINUVERSION ?= "2.39%" > +BINUVERSION ?= "2.40%" > GDBVERSION ?= "12.%" > GLIBCVERSION ?= "2.37" > LINUXLIBCVERSION ?= "6.1%" Applying this patch on an oe-core repository fails with 'git am': error: sha1 information is lacking or useless (meta/conf/distro/include/tcmode-default.inc). error: could not build fake ancestor Patch failed at 0001 binutils: Upgrade to 2.40 release And also with 'git apply' error: patch failed: meta/conf/distro/include/tcmode-default.inc:18 error: meta/conf/distro/include/tcmode-default.inc: patch does not apply I noticed you prepared the patch in a poky repository, so I did apply it there, re-extracted it via 'git format-patch' and the resulting patch applied perfectly on my oe-core. This happened with your v1 as well a couple days ago. I don't understand the root cause and definitely there are no recent commits that create conflicts. However I'm wondering whether you could move to working on actual oe-core instead of poky. It would certainly help me. Kind regards, Luca -- Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#176131):