Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1501650 > unrolled thread
| Started by | Geert Uytterhoeven <geert@linux-m68k.org> |
|---|---|
| First post | 2016-10-17 09:40 +0200 |
| Last post | 2016-10-19 18:30 +0200 |
| Articles | 8 — 6 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: Build regressions/improvements in v4.9-rc1 Geert Uytterhoeven <geert@linux-m68k.org> - 2016-10-17 09:40 +0200
Re: Build regressions/improvements in v4.9-rc1 Vineet Gupta <Vineet.Gupta1@synopsys.com> - 2016-10-17 19:00 +0200
Re: Build regressions/improvements in v4.9-rc1 Arnd Bergmann <arnd@arndb.de> - 2016-10-17 23:10 +0200
Re: Build regressions/improvements in v4.9-rc1 Vineet Gupta <Vineet.Gupta1@synopsys.com> - 2016-10-18 00:40 +0200
Re: Build regressions/improvements in v4.9-rc1 Alexey Brodkin <Alexey.Brodkin@synopsys.com> - 2016-10-19 17:00 +0200
Re: Build regressions/improvements in v4.9-rc1 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - 2016-10-19 22:40 +0200
Re: Build regressions/improvements in v4.9-rc1 Michael Ellerman <mpe@ellerman.id.au> - 2016-10-27 02:00 +0200
Re: Build regressions/improvements in v4.9-rc1 Michael Ellerman <mpe@ellerman.id.au> - 2016-10-19 18:30 +0200
| From | Geert Uytterhoeven <geert@linux-m68k.org> |
|---|---|
| Date | 2016-10-17 09:40 +0200 |
| Subject | Re: Build regressions/improvements in v4.9-rc1 |
| Message-ID | <staGB-sN-13@gated-at.bofh.it> |
On Mon, Oct 17, 2016 at 9:21 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> Below is the list of build error/warning regressions/improvements in
> v4.9-rc1[1] compared to v4.8[2].
> [1] http://kisskb.ellerman.id.au/kisskb/head/11053/ (all 262 configs)
> [2] http://kisskb.ellerman.id.au/kisskb/head/10989/ (all 262 configs)
> 48 error regressions:
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r0]': => 476
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r13]': => 475
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r4]': => 475
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r5]': => 475
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r6]': => 475, 476
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r8]': => 476, 475, 515
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r4,[r11]': => 476
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r4,[r13]': => 493, 475
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r4,[r14]': => 475
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r4,[r18]': => 493
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r4,[r21]': => 493
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r4,[r6]': => 476, 475, 515
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r4,[r7]': => 475
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r6,[r12]': => 493
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r6,[r3]': => 475
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r6,[r8]': => 493
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r6,[r9]': => 493
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r0,[r6]': => 516
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r10,[r12]': => 496
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r14,[r9]': => 496
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r16,[r8]': => 496
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r2,[r0]': => 479
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r2,[r13]': => 496, 478
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r2,[r18]': => 496
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r2,[r21]': => 496
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r2,[r4]': => 478
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r2,[r5]': => 478
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r2,[r6]': => 478, 516, 479
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r2,[r8]': => 479, 478
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r4,[r11]': => 479
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r4,[r13]': => 478
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r4,[r14]': => 478
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r4,[r6]': => 479, 478
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r4,[r7]': => 478
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r4,[r8]': => 516
> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r6,[r3]': => 478
arcv2/axs103_smp_defconfig
> + /home/kisskb/slave/src/arch/powerpc/kvm/book3s_hv_rm_xics.c: error: implicit declaration of function 'get_hard_smp_processor_id' [-Werror=implicit-function-declaration]: => 758:2
powerpc/ppc64_defconfig+UP
> + /home/kisskb/slave/src/drivers/dma/omap-dma.c: error: unrecognizable insn:: => 350:1
cris-allyesconfig
cris-allmodconfig
> + error: ".irq_set_parent" [drivers/mfd/tps65217.ko] undefined!: => N/A
> + error: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!: => N/A
ppc64le/allmodconfig+ppc64le
powerpc/powerpc-allmodconfig
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
[toc] | [next] | [standalone]
| From | Vineet Gupta <Vineet.Gupta1@synopsys.com> |
|---|---|
| Date | 2016-10-17 19:00 +0200 |
| Message-ID | <stjqx-61C-29@gated-at.bofh.it> |
| In reply to | #1501650 |
+CC Arnd, Michal Hi Geert, Arnd Need some guidance here. On 10/17/2016 12:34 AM, Geert Uytterhoeven wrote: >> 48 error regressions: >> > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r0]': => 476 >> > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r13]': => 475 [snip...] >> > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r4,[r8]': => 516 >> > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r6,[r3]': => 478 > arcv2/axs103_smp_defconfig I'm thinking how to address this correctly. This is due to the older version of compiler. The fix itself is trivial - add an "call as-instr" construct in Makefile to get -DARC_TOOLS_SUPPORT_LLOCKD However the atomic64 API variant (CONFIG_GENERIC_ATOMIC64 or arch native) which gets included in build comes from Kconfig (ISA supports them or not). How do we tie the Makefile info into the Kconfig. We could trigger a build failure for invalid combinations of GENERIC_ATOMIC64 and ARC_TOOLS_SUPPORT_LLOCKD but that would be less than ideal out of box experience. Or the simpler solution is that kisskb upgrades the ARC GNU compiler ;-) -Vineet
[toc] | [prev] | [next] | [standalone]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2016-10-17 23:10 +0200 |
| Message-ID | <stnku-wX-23@gated-at.bofh.it> |
| In reply to | #1502209 |
On Monday, October 17, 2016 9:59:24 AM CEST Vineet Gupta wrote: > +CC Arnd, Michal > > Hi Geert, Arnd > > Need some guidance here. > > On 10/17/2016 12:34 AM, Geert Uytterhoeven wrote: > >> 48 error regressions: > >> > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r0]': => 476 > >> > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r13]': => 475 > > [snip...] > > >> > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r4,[r8]': => 516 > >> > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r6,[r3]': => 478 > > arcv2/axs103_smp_defconfig > > > I'm thinking how to address this correctly. > > This is due to the older version of compiler. The fix itself is trivial - add an > "call as-instr" construct in Makefile to get -DARC_TOOLS_SUPPORT_LLOCKD > > However the atomic64 API variant (CONFIG_GENERIC_ATOMIC64 or arch native) which > gets included in build comes from Kconfig (ISA supports them or not). How do we > tie the Makefile info into the Kconfig. > > We could trigger a build failure for invalid combinations of GENERIC_ATOMIC64 and > ARC_TOOLS_SUPPORT_LLOCKD but that would be less than ideal out of box experience. > > Or the simpler solution is that kisskb upgrades the ARC GNU compiler Some ideas, none of which are perfect: - add an #ifndef ARC_TOOLS_SUPPORT_LLOCKD clause in asm/atomic.h that uses .long with hardcoded opcodes in place of the mnemonics. - instead of setting CONFIG_GENERIC_ATOMIC64 from Kconfig, add a file in arch/arc/kernel/ that includes lib/atomic64.c if ARC_TOOLS_SUPPORT_LLOCKD is not set. - add "-DCONFIG_GENERIC_ATOMIC64" to cflags-y from arch/arc/Makefile if old binutils are found. I think someone was suggesting in the past that Kconfig could be extended to make decisions based on the gcc version, and the same thing could be done for binutils. Don't remember who that was though. I think a number of awkward hacks in the kernel could be simplified if we had this. And
[toc] | [prev] | [next] | [standalone]
| From | Vineet Gupta <Vineet.Gupta1@synopsys.com> |
|---|---|
| Date | 2016-10-18 00:40 +0200 |
| Message-ID | <stoJC-1Co-77@gated-at.bofh.it> |
| In reply to | #1502461 |
On 10/17/2016 02:02 PM, Arnd Bergmann wrote: > On Monday, October 17, 2016 9:59:24 AM CEST Vineet Gupta wrote: >> +CC Arnd, Michal >> >> Hi Geert, Arnd >> >> Need some guidance here. >> >> On 10/17/2016 12:34 AM, Geert Uytterhoeven wrote: >>>> 48 error regressions: >>>>> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r0]': => 476 >>>>> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r13]': => 475 >> >> [snip...] >> >>>>> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r4,[r8]': => 516 >>>>> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r6,[r3]': => 478 >>> arcv2/axs103_smp_defconfig >> >> >> I'm thinking how to address this correctly. >> >> This is due to the older version of compiler. The fix itself is trivial - add an >> "call as-instr" construct in Makefile to get -DARC_TOOLS_SUPPORT_LLOCKD >> >> However the atomic64 API variant (CONFIG_GENERIC_ATOMIC64 or arch native) which >> gets included in build comes from Kconfig (ISA supports them or not). How do we >> tie the Makefile info into the Kconfig. >> >> We could trigger a build failure for invalid combinations of GENERIC_ATOMIC64 and >> ARC_TOOLS_SUPPORT_LLOCKD but that would be less than ideal out of box experience. >> >> Or the simpler solution is that kisskb upgrades the ARC GNU compiler > > Some ideas, none of which are perfect: > > - add an #ifndef ARC_TOOLS_SUPPORT_LLOCKD clause in asm/atomic.h that uses > .long with hardcoded opcodes in place of the mnemonics. > > - instead of setting CONFIG_GENERIC_ATOMIC64 from Kconfig, add a file > in arch/arc/kernel/ that includes lib/atomic64.c if ARC_TOOLS_SUPPORT_LLOCKD > is not set. > > - add "-DCONFIG_GENERIC_ATOMIC64" to cflags-y from arch/arc/Makefile if > old binutils are found. I'm tending towards this one - seems cleanest, however... @Michael can I bother you to upgrade the tools or is this absolutely must for you. > > I think someone was suggesting in the past that Kconfig could be extended > to make decisions based on the gcc version, and the same thing could > be done for binutils. Don't remember who that was though. I think a number > of awkward hacks in the kernel could be simplified if we had this. > > And >
[toc] | [prev] | [next] | [standalone]
| From | Alexey Brodkin <Alexey.Brodkin@synopsys.com> |
|---|---|
| Date | 2016-10-19 17:00 +0200 |
| Message-ID | <su0vw-2D0-31@gated-at.bofh.it> |
| In reply to | #1502561 |
Hi Michael, On Wed, 2016-10-19 at 22:50 +1100, Michael Ellerman wrote: > Vineet Gupta <Vineet.Gupta1@synopsys.com> writes: > > > > On 10/17/2016 02:02 PM, Arnd Bergmann wrote: > > > > > > On Monday, October 17, 2016 9:59:24 AM CEST Vineet Gupta wrote: > > > > > > > > On 10/17/2016 12:34 AM, Geert Uytterhoeven wrote: > > > > > > > > > > > > > > > > > 48 error regressions: > > > > > > > > > > > > > > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r0]': => 476 > > > > > > > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r13]': => > > > > > > > 475 > > > > > > > > [snip...] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r4,[r8]': => 516 > > > > > > > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r6,[r3]': => 478 > > > > > arcv2/axs103_smp_defconfig > > > > @Michael can I bother you to upgrade the tools or is this absolutely must for you. > > Happy to, just short on time. > > I tried building a new toolchain with buildroot, using the instructions > from last time, but the resulting toolchain doesn't relocate, ie. it has > hard-coded paths in it. Any ideas? Hm... that's strange - it used to work but doesn't work with newer Buildroot... Anyways if something very simple (i.e. with no extra libraries) works for you just go ahead and grab pre-built image that Thomas Petazzoni builds. That's the most recent one: http://autobuild.buildroot.org/toolchains/tarballs/br-arcle-hs38-full-2016.08-613-ge98b4dd.tar.bz2 If I'm not mistaken Thomas runs some post-processing script to make these toolchains relocatable. Maybe Thomas may comment on that and even maybe will share his post-processing technique so you'll be able to build your customized toolchain. Regards, Alexey
[toc] | [prev] | [next] | [standalone]
| From | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
|---|---|
| Date | 2016-10-19 22:40 +0200 |
| Message-ID | <su5Ox-6he-3@gated-at.bofh.it> |
| In reply to | #1503783 |
Hello, On Wed, 19 Oct 2016 12:23:12 +0000, Alexey Brodkin wrote: > > I tried building a new toolchain with buildroot, using the instructions > > from last time, but the resulting toolchain doesn't relocate, ie. it has > > hard-coded paths in it. Any ideas? > > Hm... that's strange - it used to work but doesn't work with newer Buildroot... > > Anyways if something very simple (i.e. with no extra libraries) works for you just go > ahead and grab pre-built image that Thomas Petazzoni builds. > > That's the most recent one: > http://autobuild.buildroot.org/toolchains/tarballs/br-arcle-hs38-full-2016.08-613-ge98b4dd.tar.bz2 > > If I'm not mistaken Thomas runs some post-processing script to make these toolchains > relocatable. > > Maybe Thomas may comment on that and even maybe will share his post-processing technique > so you'll be able to build your customized toolchain. I simply have two patches on top of Buildroot to build the toolchains available at http://autobuild.buildroot.org/toolchains/tarballs/ : - One patch that builds mpc, gmp and mpfr statically. This is needed since the host tools are built with an absolute rpath, so once the toolchain is moved, it can't find the host shared libraries that have been built for it. Using static linking is a temporary work-around, our idea is to fix the rpath to use relative path using $ORIGIN. There are some patches from Samuel Martin doing this, we have discussed them during the Buildroot Developers Meeting last week-end, and we proposed to Samuel to investigate a slightly different approach (namely add more features to the upstream patchelf utility). - One patch that fixes the toolchain wrapper logic so that it works fine when the toolchain is moved out of the usr/ sub-directory. We started discussing it during the meeting, but I got drowned into other discussions, so we haven't had the time to get to the bottom of it. If people are interested, I can prepare a tutorial on how to build re-usable and relocatable toolchains with Buildroot. Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
[toc] | [prev] | [next] | [standalone]
| From | Michael Ellerman <mpe@ellerman.id.au> |
|---|---|
| Date | 2016-10-27 02:00 +0200 |
| Message-ID | <swGh1-2j3-25@gated-at.bofh.it> |
| In reply to | #1503783 |
Alexey Brodkin <Alexey.Brodkin@synopsys.com> writes: > On Wed, 2016-10-19 at 22:50 +1100, Michael Ellerman wrote: >> Vineet Gupta <Vineet.Gupta1@synopsys.com> writes: >> > On 10/17/2016 02:02 PM, Arnd Bergmann wrote: >> > > On Monday, October 17, 2016 9:59:24 AM CEST Vineet Gupta wrote: >> > > > On 10/17/2016 12:34 AM, Geert Uytterhoeven wrote: >> > > > > > 48 error regressions: >> > > > > > > >> > > > > > > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r0]': => 476 >> > > > > > > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r13]': => >> > > > > > > 475 >> > > > >> > > > [snip...] >> > > > > > > >> > > > > > > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r4,[r8]': => 516 >> > > > > > > + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r6,[r3]': => 478 >> > > > > arcv2/axs103_smp_defconfig >> > >> > @Michael can I bother you to upgrade the tools or is this absolutely must for you. >> >> Happy to, just short on time. >> >> I tried building a new toolchain with buildroot, using the instructions >> from last time, but the resulting toolchain doesn't relocate, ie. it has >> hard-coded paths in it. Any ideas? > > Hm... that's strange - it used to work but doesn't work with newer Buildroot... > > Anyways if something very simple (i.e. with no extra libraries) works for you just go > ahead and grab pre-built image that Thomas Petazzoni builds. > > That's the most recent one: > http://autobuild.buildroot.org/toolchains/tarballs/br-arcle-hs38-full-2016.08-613-ge98b4dd.tar.bz2 Thanks, I grabbed that and it works for axs103_smp_defconfig: http://kisskb.ellerman.id.au/kisskb/buildresult/12840656/ It doesn't work for axs101_defconfig, saying: arch/arc/Makefile:29: *** Toolchain not configured for ARCompact builds. Stop. So those are still failing: http://kisskb.ellerman.id.au/kisskb/buildresult/12841194/ cheers
[toc] | [prev] | [next] | [standalone]
| From | Michael Ellerman <mpe@ellerman.id.au> |
|---|---|
| Date | 2016-10-19 18:30 +0200 |
| Message-ID | <su0vw-2D0-33@gated-at.bofh.it> |
| In reply to | #1502561 |
Vineet Gupta <Vineet.Gupta1@synopsys.com> writes: > On 10/17/2016 02:02 PM, Arnd Bergmann wrote: >> On Monday, October 17, 2016 9:59:24 AM CEST Vineet Gupta wrote: >>> On 10/17/2016 12:34 AM, Geert Uytterhoeven wrote: >>>>> 48 error regressions: >>>>>> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r0]': => 476 >>>>>> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `llockd r2,[r13]': => 475 >>> >>> [snip...] >>> >>>>>> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r4,[r8]': => 516 >>>>>> + /home/kisskb/slave/src/arch/arc/include/asm/atomic.h: Error: bad instruction `scondd r6,[r3]': => 478 >>>> arcv2/axs103_smp_defconfig > > @Michael can I bother you to upgrade the tools or is this absolutely must for you. Happy to, just short on time. I tried building a new toolchain with buildroot, using the instructions from last time, but the resulting toolchain doesn't relocate, ie. it has hard-coded paths in it. Any ideas? cheers
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web