2018-09-12 17:06:49

by Vineet Gupta

[permalink] [raw]
Subject: Re: [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs

On 09/12/2018 09:58 AM, Guenter Roeck wrote:
> Hi,
>
> On Fri, Sep 07, 2018 at 03:13:10PM -0700, Vineet Gupta wrote:
>> helps gcc with better instruction selections such as 64-bit multiply MPYD
>>
>> before
>> ------
>> 82c34b58 <sched_clock>:
>> 82c34b58: ld r2,[0x83068d00]
>> 82c34b60: add_s r2,r2,0x7530
>> 82c34b66: mov_s r0,0x989680
>> 82c34b6c: mpymu r5,r2,r0
>> 82c34b70: mpy r4,r2,r0
>> 82c34b74: mov_s r0,r4
>> 82c34b76: j_s.d [blink]
>> 82c34b78: mov_s r1,r5
>> 82c34b7a: nop_s
>>
>> after
>> ------
>> 82c34b7c <sched_clock>:
>> 82c34b7c: ld r0,[0x83064d00]
>> 82c34b84: add_s r0,r0,0x7530
>> 82c34b8a: mpydu r0,r0,0x989680
>> 82c34b92: j_s [blink]
>>
>> Signed-off-by: Vineet Gupta <[email protected]>
> This patch causes my arc2 test builds to fail
>
> Building arc:axs103_defconfig ... failed
> --------------
> Error log:
>
> standard input}: Assembler messages:
> {standard input}:154: Error: inappropriate arguments for opcode 'st'
> {standard input}:157: Error: Insn j_s has a jump/branch instruction j_s in its delay slot.
> {standard input}:186: Error: inappropriate arguments for opcode 'st'
> make[3]: *** [net/core/dev.o] Error 1
> make[2]: *** [net/core] Error 2
>
> Building arc:nsim_hs_smp_defconfig ... failed
> --------------
> Error log:
> {standard input}: Assembler messages:
> {standard input}:218: Error: inappropriate arguments for opcode 'st'
> {standard input}:9329: Error: inappropriate arguments for opcode 'st'
>
> Building arc:vdk_hs38_smp_defconfig ... failed
> --------------
> Error log:
>
> {standard input}: Assembler messages:
> {standard input}:9629: Error: inappropriate arguments for opcode 'st'
> {standard input}:9883: Error: inappropriate arguments for opcode 'st'
>
> I use a toolchain based on gcc 7.3.0 and binutils 2.30. What version
> of gcc and binutils do I need for the builds to complete ?

Hmm I have a prebuilt 2017.03 release of tools (gcc 7.1.1 based) and I don't see
the issue above when building net/core/dev.o
I presume your toolchain was built off of upstream gcc sources.
Can you please post the output of your arc-linux*gcc -v

Thx,
-Vineet


2018-09-12 17:34:03

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs

On Wed, Sep 12, 2018 at 05:06:25PM +0000, Vineet Gupta wrote:
>
> Hmm I have a prebuilt 2017.03 release of tools (gcc 7.1.1 based) and I don't see
> the issue above when building net/core/dev.o
> I presume your toolchain was built off of upstream gcc sources.

Yes, using buildroot.

> Can you please post the output of your arc-linux*gcc -v
>

Here you are:

Using built-in specs.
COLLECT_GCC=/opt/kernel/arcv2/gcc-7.3.0/bin/arc-linux-gcc.br_real
COLLECT_LTO_WRAPPER=/opt/kernel/arcv2/gcc-7.3.0/bin/../libexec/gcc/arc-buildroot-linux-uclibc/7.3.0/lto-wrapper
Target: arc-buildroot-linux-uclibc
Configured with: ./configure --prefix=/opt/buildbot/buildroot/output/host
--sysconfdir=/opt/buildbot/buildroot/output/host/etc --enable-static
--target=arc-buildroot-linux-uclibc
--with-sysroot=/opt/buildbot/buildroot/output/host/arc-buildroot-linux-uclibc/sysroot
--disable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib
--with-gmp=/opt/buildbot/buildroot/output/host
--with-mpc=/opt/buildbot/buildroot/output/host
--with-mpfr=/opt/buildbot/buildroot/output/host --with-pkgversion='Buildroot
2018.02.2-00017-gea0e6fa-dirty' --with-bugurl=http://bugs.buildroot.net/
--disable-libquadmath --disable-libsanitizer --enable-tls --disable-libmudflap
--enable-threads --without-isl --without-cloog --disable-decimal-float
--with-cpu=archs --enable-languages=c
--with-build-time-tools=/opt/buildbot/buildroot/output/host/arc-buildroot-linux-uclibc/bin
--enable-shared --disable-libgomp
Thread model: posix
gcc version 7.3.0 (Buildroot 2018.02.2-00017-gea0e6fa-dirty)

Guenter

2018-09-12 21:43:27

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] ARCv2: build: use mcpu=hs38 iso generic mcpu=archs

On Wed, Sep 12, 2018 at 05:06:25PM +0000, Vineet Gupta wrote:
> >
> > I use a toolchain based on gcc 7.3.0 and binutils 2.30. What version
> > of gcc and binutils do I need for the builds to complete ?
>
> Hmm I have a prebuilt 2017.03 release of tools (gcc 7.1.1 based) and I don't see
> the issue above when building net/core/dev.o
> I presume your toolchain was built off of upstream gcc sources.
> Can you please post the output of your arc-linux*gcc -v
>

I decided to build a new toolchain with gcc 8.2.0 and binutils 2.31.1.
Problem solved ... building with this toolchain works.

Guenter