Message ID | 20210503111350.2933319-1-giulio.benetti@benettiengineering.com |
---|---|
Headers | show |
Series | Fix binutils bug 21464 and remove it | expand |
Hi Giulio, Thanks for these! On 03/05/2021 13:13, Giulio Benetti wrote: > This patchset fixes binutils bug 21464 and fixes libgeos build failure > by introducing the gcc option flag -mcmodel. This is done by adding > upstreamed binutils and gcc patches. Note tha this way buildroot > toolchains can be considered bug binutils 21464 free and the only other > OpenRisc toolchain supported is the external Bootlin one. So this > patchset has to be considered valid once Bootlin updates its OpenRisc > by adding binutils and gcc patches that are added with patches in this > patchset. > > Giulio Benetti (9): > package/binutils: update or1k patches for plt link version with > upstream > package/binutils: add upstream backported patches to support > -mcmodel=large gcc option > package/gcc: add upstream patches that introduce -mcmodel=large option > for or1k Patches 1-3 applied to master. Note that I had to fix all of them up because they failed check-package. The [PATCH N/M] things are not allowed. Ideally, when you add patches, you shouldn't just pluck them from the mailing list. Instead, you should apply them in a git clone - preferably by cherry-picking with `git cherry-pick -x <sha1>` if they have been applied upstream. Then you should regenerate *all* patches `git format-patch -N <base>..`. Then verify that only the patches that you intended to change have actually changed. > package/libgeos: fix build failure due to missing -mcmodel=large > package/protobuf: fix build failure due to missing -mcmodel=large As mentioned, these can only be applied after Thomas updates the bootlin toolchains *and* the patch to update them in Buildroot has been merged. That's not going to happen on master :-) > toolchain: remove binutils bug 21464 > package/libgeos: remove binutils bug 21464 dependency > package/postgis: remove libgeos binutils bug 21464 inheritance > package/protobuf: remove binutils bug 21464 dependency These four should be squashed into a single patch. Regards, Arnout > > .../0010-bfd-elf32-or1k-fix-ld-assert.patch | 35 -- > ...ith-plt-link-failure-for-local-calls.patch | 59 +++ > ...elocation-R_OR1K_GOT_AHI16-for-gotha.patch | 256 +++++++++ > ...K_GOT16-overflow-failures-in-presenc.patch | 61 +++ > ...ge-plt_relocs-when-generating-plt-en.patch | 500 ++++++++++++++++++ > .../0003-bfd-elf32-or1k-fix-ld-assert.patch | 35 -- > ...ith-plt-link-failure-for-local-calls.patch | 59 +++ > ...elocation-R_OR1K_GOT_AHI16-for-gotha.patch | 256 +++++++++ > ...K_GOT16-overflow-failures-in-presenc.patch | 61 +++ > ...ge-plt_relocs-when-generating-plt-en.patch | 500 ++++++++++++++++++ > .../0003-bfd-elf32-or1k-fix-ld-assert.patch | 35 -- > ...ith-plt-link-failure-for-local-calls.patch | 59 +++ > ...elocation-R_OR1K_GOT_AHI16-for-gotha.patch | 256 +++++++++ > ...K_GOT16-overflow-failures-in-presenc.patch | 61 +++ > ...ge-plt_relocs-when-generating-plt-en.patch | 500 ++++++++++++++++++ > .../0003-bfd-elf32-or1k-fix-ld-assert.patch | 35 -- > ...ith-plt-link-failure-for-local-calls.patch | 59 +++ > ...elocation-R_OR1K_GOT_AHI16-for-gotha.patch | 256 +++++++++ > ...K_GOT16-overflow-failures-in-presenc.patch | 61 +++ > ...ge-plt_relocs-when-generating-plt-en.patch | 500 ++++++++++++++++++ > ...-mcmodel-option-to-handle-large-GOTs.patch | 200 +++++++ > ...-cmodel-large-when-building-crtstuff.patch | 60 +++ > ...-mcmodel-option-to-handle-large-GOTs.patch | 201 +++++++ > ...-cmodel-large-when-building-crtstuff.patch | 60 +++ > package/libgeos/Config.in | 4 +- > package/libgeos/libgeos.mk | 4 + > package/postgis/Config.in | 4 +- > package/protobuf/Config.in | 1 - > package/protobuf/protobuf.mk | 4 + > toolchain/Config.in | 6 - > 30 files changed, 4035 insertions(+), 153 deletions(-) > delete mode 100644 package/binutils/2.32/0010-bfd-elf32-or1k-fix-ld-assert.patch > create mode 100644 package/binutils/2.32/0010-or1k-Fix-issue-with-plt-link-failure-for-local-calls.patch > create mode 100644 package/binutils/2.32/0011-or1k-Implement-relocation-R_OR1K_GOT_AHI16-for-gotha.patch > create mode 100644 package/binutils/2.32/0012-or1k-Avoid-R_OR1K_GOT16-overflow-failures-in-presenc.patch > create mode 100644 package/binutils/2.32/0013-or1k-Support-large-plt_relocs-when-generating-plt-en.patch > delete mode 100644 package/binutils/2.34/0003-bfd-elf32-or1k-fix-ld-assert.patch > create mode 100644 package/binutils/2.34/0003-or1k-Fix-issue-with-plt-link-failure-for-local-calls.patch > create mode 100644 package/binutils/2.34/0004-or1k-Implement-relocation-R_OR1K_GOT_AHI16-for-gotha.patch > create mode 100644 package/binutils/2.34/0005-or1k-Avoid-R_OR1K_GOT16-overflow-failures-in-presenc.patch > create mode 100644 package/binutils/2.34/0006-or1k-Support-large-plt_relocs-when-generating-plt-en.patch > delete mode 100644 package/binutils/2.35.2/0003-bfd-elf32-or1k-fix-ld-assert.patch > create mode 100644 package/binutils/2.35.2/0003-or1k-Fix-issue-with-plt-link-failure-for-local-calls.patch > create mode 100644 package/binutils/2.35.2/0004-or1k-Implement-relocation-R_OR1K_GOT_AHI16-for-gotha.patch > create mode 100644 package/binutils/2.35.2/0005-or1k-Avoid-R_OR1K_GOT16-overflow-failures-in-presenc.patch > create mode 100644 package/binutils/2.35.2/0006-or1k-Support-large-plt_relocs-when-generating-plt-en.patch > delete mode 100644 package/binutils/2.36.1/0003-bfd-elf32-or1k-fix-ld-assert.patch > create mode 100644 package/binutils/2.36.1/0003-or1k-Fix-issue-with-plt-link-failure-for-local-calls.patch > create mode 100644 package/binutils/2.36.1/0004-or1k-Implement-relocation-R_OR1K_GOT_AHI16-for-gotha.patch > create mode 100644 package/binutils/2.36.1/0005-or1k-Avoid-R_OR1K_GOT16-overflow-failures-in-presenc.patch > create mode 100644 package/binutils/2.36.1/0006-or1k-Support-large-plt_relocs-when-generating-plt-en.patch > create mode 100644 package/gcc/10.3.0/0002-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch > create mode 100644 package/gcc/10.3.0/0003-or1k-Use-cmodel-large-when-building-crtstuff.patch > create mode 100644 package/gcc/9.3.0/0006-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch > create mode 100644 package/gcc/9.3.0/0007-or1k-Use-cmodel-large-when-building-crtstuff.patch >
Hi Arnout, On 5/21/21 10:46 AM, Arnout Vandecappelle wrote: > Hi Giulio, > > Thanks for these! Happy to help :-) > On 03/05/2021 13:13, Giulio Benetti wrote: >> This patchset fixes binutils bug 21464 and fixes libgeos build failure >> by introducing the gcc option flag -mcmodel. This is done by adding >> upstreamed binutils and gcc patches. Note tha this way buildroot >> toolchains can be considered bug binutils 21464 free and the only other >> OpenRisc toolchain supported is the external Bootlin one. So this >> patchset has to be considered valid once Bootlin updates its OpenRisc >> by adding binutils and gcc patches that are added with patches in this >> patchset. >> >> Giulio Benetti (9): >> package/binutils: update or1k patches for plt link version with >> upstream >> package/binutils: add upstream backported patches to support >> -mcmodel=large gcc option >> package/gcc: add upstream patches that introduce -mcmodel=large option >> for or1k > > Patches 1-3 applied to master. Note that I had to fix all of them up because > they failed check-package. The [PATCH N/M] things are not allowed. Ideally, when > you add patches, you shouldn't just pluck them from the mailing list. Instead, > you should apply them in a git clone - preferably by cherry-picking with `git > cherry-pick -x <sha1>` if they have been applied upstream. Then you should > regenerate *all* patches `git format-patch -N <base>..`. Then verify that only > the patches that you intended to change have actually changed. Oh right, thank you for modifying them, I've forgotten to check-package them. > >> package/libgeos: fix build failure due to missing -mcmodel=large >> package/protobuf: fix build failure due to missing -mcmodel=large > > As mentioned, these can only be applied after Thomas updates the bootlin > toolchains *and* the patch to update them in Buildroot has been merged. That's > not going to happen on master :-) Ok >> toolchain: remove binutils bug 21464 >> package/libgeos: remove binutils bug 21464 dependency >> package/postgis: remove libgeos binutils bug 21464 inheritance >> package/protobuf: remove binutils bug 21464 dependency > > These four should be squashed into a single patch. I've just sent a v2 for this: https://patchwork.ozlabs.org/project/buildroot/patch/20210521140942.3032331-1-giulio.benetti@benettiengineering.com/ Kind regards
Giulio, Arnout, All, On 2021-05-21 16:21 +0200, Giulio Benetti spake thusly: > On 5/21/21 10:46 AM, Arnout Vandecappelle wrote: > >On 03/05/2021 13:13, Giulio Benetti wrote: > >> toolchain: remove binutils bug 21464 > >> package/libgeos: remove binutils bug 21464 dependency > >> package/postgis: remove libgeos binutils bug 21464 inheritance > >> package/protobuf: remove binutils bug 21464 dependency > > These four should be squashed into a single patch. > I've just sent a v2 for this: > https://patchwork.ozlabs.org/project/buildroot/patch/20210521140942.3032331-1-giulio.benetti@benettiengineering.com/ As a consequence, I've marked the original 4 as supersded in Patchwork, which only leaves the remaining two: package/libgeos: fix build failure due to missing -mcmodel=large package/protobuf: fix build failure due to missing -mcmodel=large Thanks! Regards, Yann E. MORIN.
On 5/21/21 11:26 PM, Yann E. MORIN wrote: > Giulio, Arnout, All, > > On 2021-05-21 16:21 +0200, Giulio Benetti spake thusly: >> On 5/21/21 10:46 AM, Arnout Vandecappelle wrote: >>> On 03/05/2021 13:13, Giulio Benetti wrote: >>>> toolchain: remove binutils bug 21464 >>>> package/libgeos: remove binutils bug 21464 dependency >>>> package/postgis: remove libgeos binutils bug 21464 inheritance >>>> package/protobuf: remove binutils bug 21464 dependency >>> These four should be squashed into a single patch. >> I've just sent a v2 for this: >> https://patchwork.ozlabs.org/project/buildroot/patch/20210521140942.3032331-1-giulio.benetti@benettiengineering.com/ > > As a consequence, I've marked the original 4 as supersded in Patchwork, > which only leaves the remaining two: > > package/libgeos: fix build failure due to missing -mcmodel=large > package/protobuf: fix build failure due to missing -mcmodel=large Oh yes, I've forgotten, thank you :-) Kind regards