Skip to contentSkip to conversation

Build failure in linux mainline when building arcv2 images

DISCUSSION Guenter Roeck 4 participants 8 messages Jul 29, 2016 – Aug 1, 2016 Synopsys ARC architecture

lore
Share & tools
lore
#0 lore raw

Hi Vineet,

Mainline fails to build arcv2 images with the following error.

{standard input}: Assembler messages:
{standard input}:19174: Error: Instruction with long immediate data in delay slot make[2]: *** [block/cfq-iosched.o] Error 1

Bisect points to commit 9a7f38c42c2 ("cfq-iosched: Convert from jiffies to nanoseconds"), but I don't really hold it responsible. It looks more like a compiler / binutils problem to me.

I am using a toolchain built with buildroot (gcc 4.8.3). Is there a more recent toolchain than the one in buildroot available, by any chance ? If yes, where do I find it ?

Thanks,
Guenter

#1 lore raw

Hi Guenter,

Quoted 8 lines · Guenter Roeck

Hi Vineet,

Mainline fails to build arcv2 images with the following error.

{standard input}: Assembler messages:
{standard input}:19174: Error: Instruction with long immediate data in delay slot make[2]: *** [block/cfq-iosched.o] Error 1

Quoted 5 lines

Bisect points to commit 9a7f38c42c2 ("cfq-iosched: Convert from jiffies to nanoseconds"),
but I don't really hold it responsible. It looks more like a compiler / binutils problem
to me.

Indeed - triggers a latent bug in ARC gcc !

Quoted 3 lines

I am using a toolchain built with buildroot (gcc 4.8.3). Is there a more recent toolchain
than the one in buildroot available, by any chance ? If yes, where do I find it ?

Yeah there's a 4.8.5 based one (referred to as GNU 2016.03) - will prebuilt toolchain suffice or would you prefer building on your own. Prebuilt could be found below.

https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03

For building on your own, Alexey can point to upstream buildroot which enabled 2016.03 tools.

Thx,
-Vineet

#2 lore raw
Quoted 23 lines · Vineet Gupta

Hi Guenter,

Quoted 8 lines · Guenter Roeck

Hi Vineet,

Mainline fails to build arcv2 images with the following error.

{standard input}: Assembler messages:
{standard input}:19174: Error: Instruction with long immediate data in delay slot make[2]: *** [block/cfq-iosched.o] Error 1

Quoted 5 lines

Bisect points to commit 9a7f38c42c2 ("cfq-iosched: Convert from jiffies to nanoseconds"),
but I don't really hold it responsible. It looks more like a compiler / binutils problem
to me.

Indeed - triggers a latent bug in ARC gcc !

Quoted 3 lines

I am using a toolchain built with buildroot (gcc 4.8.3). Is there a more recent toolchain
than the one in buildroot available, by any chance ? If yes, where do I find it ?

Quoted 9 lines

Yeah there's a 4.8.5 based one (referred to as GNU 2016.03) - will prebuilt toolchain suffice or would you prefer building on your own. Prebuilt could be found below.

https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03

For building on your own, Alexey can point to upstream buildroot which enabled 2016.03 tools.

Unfortunately, I get the same error when using "arc-linux-gcc.br_real (Buildroot 2016.05) 4.8.5".

Guenter

#3 lore raw
Quoted 31 lines · Guenter Roeck
Quoted 30 lines · Vineet Gupta

Hi Guenter,

Quoted 8 lines · Guenter Roeck

Hi Vineet,

Mainline fails to build arcv2 images with the following error.

{standard input}: Assembler messages:
{standard input}:19174: Error: Instruction with long immediate data in delay slot make[2]: *** [block/cfq-iosched.o] Error 1

Quoted 5 lines

Bisect points to commit 9a7f38c42c2 ("cfq-iosched: Convert from jiffies to nanoseconds"),
but I don't really hold it responsible. It looks more like a compiler / binutils problem
to me.

Indeed - triggers a latent bug in ARC gcc !

Quoted 3 lines

I am using a toolchain built with buildroot (gcc 4.8.3). Is there a more recent toolchain
than the one in buildroot available, by any chance ? If yes, where do I find it ?

Yeah there's a 4.8.5 based one (referred to as GNU 2016.03) - will prebuilt toolchain suffice or would you prefer building on your own. Prebuilt could be found below.

https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03

Quoted 6 lines
Quoted 3 lines

For building on your own, Alexey can point to upstream buildroot which enabled 2016.03 tools.

Unfortunately, I get the same error when using "arc-linux-gcc.br_real (Buildroot 2016.05) 4.8.5".

Weird - I don't see this when building mainline of now using prebuilt 2016.03 tools on github . I'm building axs103_smp_defconfig.

What exact buildroot commit did u use to build your tools BTW - I can try and replicate that here !

Thx,
-Vineet

#4 lore raw
Quoted 36 lines · Vineet Gupta
Quoted 35 lines · Guenter Roeck
Quoted 33 lines · Vineet Gupta

Hi Guenter,

Quoted 8 lines · Guenter Roeck

Hi Vineet,

Mainline fails to build arcv2 images with the following error.

{standard input}: Assembler messages:
{standard input}:19174: Error: Instruction with long immediate data in delay slot make[2]: *** [block/cfq-iosched.o] Error 1

Quoted 5 lines

Bisect points to commit 9a7f38c42c2 ("cfq-iosched: Convert from jiffies to nanoseconds"),
but I don't really hold it responsible. It looks more like a compiler / binutils problem
to me.

Indeed - triggers a latent bug in ARC gcc !

Quoted 3 lines

I am using a toolchain built with buildroot (gcc 4.8.3). Is there a more recent toolchain
than the one in buildroot available, by any chance ? If yes, where do I find it ?

Yeah there's a 4.8.5 based one (referred to as GNU 2016.03) - will prebuilt toolchain suffice or would you prefer building on your own. Prebuilt could be found below.

https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03

For building on your own, Alexey can point to upstream buildroot which enabled 2016.03 tools.

Quoted 6 lines
Quoted 2 lines

Unfortunately, I get the same error when using "arc-linux-gcc.br_real (Buildroot 2016.05) 4.8.5".

Weird - I don't see this when building mainline of now using prebuilt 2016.03 tools on github . I'm building axs103_smp_defconfig.

What exactly is prebuilt 2016.03 based on ? The arc tree on github only has an arc-2016.02 branch. I tried it, but it reports the same error. I also tried abrodkin-arc-2016.03, but it doesn't build for me.

Quoted 3 lines

What exact buildroot commit did u use to build your tools BTW - I can try and replicate that here !

I used buildroot 2016.05.

Guenter

#5 lore raw
Quoted 11 lines · Guenter Roeck
Quoted 11 lines
Quoted 11 lines
Quoted 10 lines

Yeah there's a 4.8.5 based one (referred to as GNU 2016.03) - will prebuilt toolchain suffice or would you prefer building on your own. Prebuilt could be found below.

https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03

For building on your own, Alexey can point to upstream buildroot which enabled 2016.03 tools.

Quoted 7 lines
Quoted 6 lines
Quoted 2 lines

Unfortunately, I get the same error when using "arc-linux-gcc.br_real (Buildroot 2016.05) 4.8.5".

Weird - I don't see this when building mainline of now using prebuilt 2016.03 tools on github . I'm building axs103_smp_defconfig.

What exactly is prebuilt 2016.03 based on ?

GNU 2016.03 based tools - but not built with BR, but with our internal scripts (toolchain repo on github) - although it doesn't really matter,

Quoted 3 lines

The arc tree on github only has an
arc-2016.02 branch. I tried it, but it reports the same error. I also tried abrodkin-arc-2016.03, but it doesn't build for me.

I think github buildroot repo for ARC is kind of stale - Alexey would know more.

Quoted 4 lines
Quoted 3 lines

What exact buildroot commit did u use to build your tools BTW - I can try and replicate that here !

I used buildroot 2016.05.

So I'm looking at upstream buildroot but something is weird is happening - friday woes maybe.

What you want is
2016-05-19 09439560b9f9 toolchain: bump ARC tools to arc-2016.03 release

which seems to be present in released 2016.05, but when I checkout 2016.05 tag (or aa6fd11feebff) that patch is not there !

Sorry we would have to defer this to next week or when Alexey takes a look.

-Vineet

#6 lore raw
Quoted 6 lines · Vineet Gupta

What you want is
2016-05-19 09439560b9f9 toolchain: bump ARC tools to arc-2016.03 release

which seems to be present in released 2016.05, but when I checkout 2016.05 tag (or aa6fd11feebff) that patch is not there !

A toolchain build off SHA 09439560b9f9 works.

Thanks!

Guenter

#7 lore raw

Hi Vineet,?Guenter,

Quoted 11 lines · Guenter Roeck
Quoted 7 lines · Vineet Gupta

What you want is
2016-05-19 09439560b9f9 toolchain: bump ARC tools to arc-2016.03 release

which seems to be present in released 2016.05, but when I checkout 2016.05 tag (or aa6fd11feebff) that patch is not there !

A toolchain build off SHA 09439560b9f9 works.

Indeed we were a little-bit too late for BR 2016.05 release with our toolchain bump so the patch in question only made its way in BR repo right after BR release.

Anyways good to know your issue is resolved now.

Note with arc-2016.03 we still see a lot of issues here and there because that's the first version that uses our rewritten from scratch binutils (the base for binutils port upstreaming for ARC). And so in BR we continue to update ARC tools to so-called engineering builds of our current development branches of gcc and binutils. That information might be useful if you face any other issues building stuff for ARC.

Or don't hesitate to email us so we'll try to point you to something that should work :)

-Alexey