From: "Kevin Hilman" <khilman@baylibre.com>
To: Alexey Brodkin <alexey.brodkin@synopsys.com>
Cc: "khilman@baylibre.com" <khilman@baylibre.com>,
Vineet Gupta <vineet.gupta1@synopsys.com>,
"kernelci@groups.io" <kernelci@groups.io>
Subject: Re: kernelCI: kernel builds for ARCH=arc
Date: Mon, 05 Nov 2018 14:54:02 -0800 [thread overview]
Message-ID: <7hftwf3zlh.fsf@baylibre.com> (raw)
In-Reply-To: <4aeb14c51ed09fffc4273795eb3c3fb7958c522f.camel@synopsys.com>
Alexey Brodkin writes:
> Hi Kevin,
>
> On Mon, 2018-11-05 at 09:18 -0800, Kevin Hilman wrote:
>> Hi Alexy,
>>
>> I'm working on the kernelCI build side for ARCH=arc, and running into
>> some basic build issues with the compilers you pointed me to.
>>
>> First, on some of the builds, we're seeing:
>>
>> arch/arc/Makefile:27: *** Toolchain not configured for ARCompact builds. Stop.
>>
>> In an earlier thread, you mentioned only focusing on ARCv2 ISA.
>> Are some of the upstream defconfigs configured for ARCompact? If so,
>> could you tell us which defconfigs we should enable?
>
> Ideally all our defconfigs could be built - we have [just] 17 of them.
> I'm not sure how much you'd like or may build though.
For now, I'd like to stick with 1 toolchain per arch, so based on the
info below, that will limit us to just the defconfigs that support
ARCv2.
> The most important is "hsdk_defconfig" because that's the one you'll
> need to run on the board.
>
> Now if you'd like to only build a couple of configs for ARC I'd say it would be good
> indeed to build both ARCompact and ARCv2 configs.
>
> ARCv2 configs are:
> ------------------------------>8---------------------------
> # git grep "CONFIG_ISA_ARCV2=y" arch/arc/configs
>
> arch/arc/configs/axs103_defconfig:24:CONFIG_ISA_ARCV2=y
> arch/arc/configs/axs103_smp_defconfig:24:CONFIG_ISA_ARCV2=y
> arch/arc/configs/haps_hs_defconfig:22:CONFIG_ISA_ARCV2=y
> arch/arc/configs/haps_hs_smp_defconfig:24:CONFIG_ISA_ARCV2=y
> arch/arc/configs/hsdk_defconfig:19:CONFIG_ISA_ARCV2=y
> arch/arc/configs/nsim_hs_defconfig:27:CONFIG_ISA_ARCV2=y
> arch/arc/configs/nsim_hs_smp_defconfig:25:CONFIG_ISA_ARCV2=y
> arch/arc/configs/nsimosci_hs_defconfig:24:CONFIG_ISA_ARCV2=y
> arch/arc/configs/nsimosci_hs_smp_defconfig:19:CONFIG_ISA_ARCV2=y
> arch/arc/configs/vdk_hs38_defconfig:15:CONFIG_ISA_ARCV2=y
> arch/arc/configs/vdk_hs38_smp_defconfig:15:CONFIG_ISA_ARCV2=y
> ------------------------------>8---------------------------
>
> Others are ARCompact.
>
> And for minimal setup I'd add "nsim_hs_defconfig" (that's ARCv2 config for
> simulator) and "nsim_700_defconfig" (ARCompact config for simulator)
> to already mentioned "hsdk_defconfig".
>
>> Also, I tried the latest release from here:
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_foss-2Dfor-2Dsynopsys-2Ddwc-2Darc-2Dprocessors_toolchain_releases_&d=DwIBaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r=lqdeeSSEes0GFDDl656eViXO7breS55ytWkhpk5R81I&m=Zme7Q1nCF-s71OkG89tVXtiv6vcwQBJtnKjMxlogIlU&s=PvPLFgqnZ-B-WiJlY9G_5QrxaVvIjHkgRHvMeIgVaKQ&e=
>>
>> And specifically, I tried the 2018.09-rc1 prebuilt_glibc release, and
>> I'm getting a bunch of link failures at the end due to mismatch
>> architectures. I get the same results with the 2018.03 release
>> whether I try the glibc or the uclibc release.
>>
>> Below is a log from an attempt with the v4.19 kernel, but I see the
>> same thing with the latest mainline (v4.20-rc1).
>>
>> Any suggestions on what I'm doing wrong here with the toolchain setup?
>
> I guess the problem is you try to use the same one toolchain
> for both ARCv2 and ARCompact builds. And this doesn't work because
> we import libgcc from the toolchain and essentially libgcc built for
> ARCv2 couldn't be linked with other code built for ARCompact.
>
> See all those mentioned library objects like "_muldi3", "_umodsi3"
> etc come exactly from libgcc.
>
> So solution here is to use 2 separate toolchains for ARCv2 and ARCompact.
>
> Also note messages like "arch/arc/Makefile:27: *** Toolchain not configured for ARCompact builds."
> are gone with older kernels as in 4.19 I removed it, see
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=615f64458ad890ef94abc879a66d8b27236e733a
>
> I did it to enable use of so-called multilib toolchains...
>
> But neither of toolchains from our release page are multilib [yet].
>
> That said you may only use
> https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2018.09-rc1/arc_gnu_2018.09-rc1_prebuilt_glibc_le_archs_linux_install.tar.gz
> for building ARCv2 configs... i.e. for example "hsdk_defconfig" and "nsim_hs_defconfig".
>
> And for "nsim_700_defconfig" you'll need to use
> https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2018.09-rc1/arc_gnu_2018.09-rc1_prebuilt_uclibc_le_arc700_linux_install.tar.gz
>
> If you really want to have one toolchain for both ARC versions you may
> build it with help of Crosstool-NG - use "arc-multilib-linux-uclibc" sample for that.
>
> Let me know if there are still any questions or issues.
Thanks for clarifying.
I just realized the default defconfig selected when doing a "make
defconfig" is and ARCompact config, and the toolchain is ARCv2, hence
the mismatch.
Since we currently only support a single toolchain per arch, I'll stick
with ARCv2 since that's the hardware we also have.
I'll have to cleanup our defconfig selection for ARCH=arc so that it
only enables ARCv2 configs.
Thanks,
Kevin
next prev parent reply other threads:[~2018-11-05 22:54 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-05 17:18 kernelCI: kernel builds for ARCH=arc Kevin Hilman
2018-11-05 21:09 ` Alexey Brodkin
2018-11-05 22:54 ` Kevin Hilman [this message]
2018-11-05 23:23 ` Kevin Hilman
2018-11-05 23:35 ` Kevin Hilman
2018-11-05 23:39 ` Vineet Gupta
2018-11-09 16:17 ` [kernelci] " Guillaume Tucker
2018-11-09 16:21 ` Alexey Brodkin
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=7hftwf3zlh.fsf@baylibre.com \
--to=khilman@baylibre.com \
--cc=alexey.brodkin@synopsys.com \
--cc=kernelci@groups.io \
--cc=vineet.gupta1@synopsys.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox