Skip to contentSkip to conversation

Fix for lttng-ust not compiling on beagleboard

PATCH In review Saul Wold 4 participants 6 messages Aug 23, 2011

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

cover Fix for lttng-ust not compiling on beagleboard

Thanks to Darren for helping with this one.

Sau!

The following changes since commit b2266beeb357bae938830f559845f5f3deb4f916:

usermanual: The git fetcher defaults to the git protocol (or file) (2011-08-23 10:00:35 -0700)

are available in the git repository at:
git://git.yoctoproject.org/poky-contrib sgw/fix
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=sgw/fix

Saul Wold (1):
beagleboard.conf: set DEFAULT_TUNE to cortexa8

 meta-yocto/conf/machine/beagleboard.conf |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
Signature · 1 line
1.7.6
author
#1 lore raw

PATCH 1/1 beagleboard.conf: set DEFAULT_TUNE to cortexa8

    [YOCTO #1381]

    lttng-ust generates an ICE when building for armv7, so change it to armv5
    | vfprintf.c:956:1: error: unrecognizable insn:
    | (insn 3968 3967 3969 145 (set (subreg:SI (reg/v:DI 160 [ _umax ]) 0)
    |         (sign_extend:SI (mem:QI (plus:SI (mult:SI (reg/v:SI 166 [ nextarg ])
    |                         (const_int 8 [0x8]))
    |                     (reg/f:SI 370 [ argtable.7 ])) [0 *D.6937_569+0 S1
    A32]))) vfprintf.c:555 -1
    |      (nil))
    | vfprintf.c:956:1: internal compiler error: in extract_insn, at recog.c:2109
---
 meta-yocto/conf/machine/beagleboard.conf |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
meta-yocto/conf/machine/beagleboard.conf +2 -0
index 0b3cebc..9ed8c59 100644
@@ -18,6 +18,8 @@ MACHINE_EXTRA_RRECOMMENDS += "beagleboard-audio"
 # Allow for MMC booting (required by the NAND-less Beagleboard XM)
 EXTRA_IMAGEDEPENDS += "u-boot x-load"
 
+DEFAULT_TUNE = "cortexa8"
+
 include conf/machine/include/tune-cortexa8.inc
 
 IMAGE_FSTYPES += "tar.bz2 jffs2"
Signature · 1 line
1.7.6
#2 lore raw

Re: [PATCH 1/1] beagleboard.conf: set DEFAULT_TUNE to cortexa8

Quoted 22 lines · Saul Wold
    [YOCTO #1381]

    lttng-ust generates an ICE when building for armv7, so change it to armv5
    | vfprintf.c:956:1: error: unrecognizable insn:
    | (insn 3968 3967 3969 145 (set (subreg:SI (reg/v:DI 160 [ _umax ]) 0)
    |         (sign_extend:SI (mem:QI (plus:SI (mult:SI (reg/v:SI 166 [ nextarg ])
    |                         (const_int 8 [0x8]))
    |                     (reg/f:SI 370 [ argtable.7 ])) [0 *D.6937_569+0 S1
    A32]))) vfprintf.c:555 -1
    |      (nil))
    | vfprintf.c:956:1: internal compiler error: in extract_insn, at recog.c:2109
---
 meta-yocto/conf/machine/beagleboard.conf |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
meta-yocto/conf/machine/beagleboard.conf +0 -0
index 0b3cebc..9ed8c59 100644

meta-yocto/conf/machine/beagleboard.conf MACHINE_EXTRA_RRECOMMENDS += "beagleboard-audio" · line 22

Quoted 5 lines
meta-yocto/conf/machine/beagleboard.conf +2 -0
@@ -18,6 +18,8 @@ MACHINE_EXTRA_RRECOMMENDS += "beagleboard-audio"
 # Allow for MMC booting (required by the NAND-less Beagleboard XM)
 EXTRA_IMAGEDEPENDS += "u-boot x-load"
 
+DEFAULT_TUNE = "cortexa8"
+

Sorry, I didn't mean for this to be a final solution, just a means to determine the problem. Removing neon eliminates the vector floating point, which we do not want to do. The correct fix for this is probably in gcc. I'd rather not build lttng for beagleboard than change the tune default to DEFAULT_TUNE to "cortexa8".

Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
#3 lore raw

Re: [PATCH 1/1] beagleboard.conf: set DEFAULT_TUNE to cortexa8

In reply to Saul Wold
Quoted 11 lines · Saul Wold

   [YOCTO #1381]

   lttng-ust generates an ICE when building for armv7, so change it to armv5

   | vfprintf.c:956:1: error: unrecognizable insn:
   | (insn 3968 3967 3969 145 (set (subreg:SI (reg/v:DI 160 [ _umax ]) 0)
   |         (sign_extend:SI (mem:QI (plus:SI (mult:SI (reg/v:SI 166 [ nextarg ])
   |                         (const_int 8 [0x8]))
   |                     (reg/f:SI 370 [ argtable.7 ])) [0 *D.6937_569+0 S1

   A32]))) vfprintf.c:555 -1
   |      (nil))
   | vfprintf.c:956:1: internal compiler error: in extract_insn, at recog.c:2109

Which version of lttng-ust is this exactly? In addition to what Darren is saying about how this should be papered-over at the recipe level until gcc itself is fixed...

Signature · 1 line
Tom
author
#4 lore raw

Re: [PATCH 1/1] beagleboard.conf: set DEFAULT_TUNE to cortexa8

Quoted 13 lines · Tom Rini
Quoted 11 lines · Saul Wold
    [YOCTO #1381]

    lttng-ust generates an ICE when building for armv7, so change it to armv5
    | vfprintf.c:956:1: error: unrecognizable insn:
    | (insn 3968 3967 3969 145 (set (subreg:SI (reg/v:DI 160 [ _umax ]) 0)
    |         (sign_extend:SI (mem:QI (plus:SI (mult:SI (reg/v:SI 166 [ nextarg ])
    |                         (const_int 8 [0x8]))
    |                     (reg/f:SI 370 [ argtable.7 ])) [0 *D.6937_569+0 S1
    A32]))) vfprintf.c:555 -1
    |      (nil))
    | vfprintf.c:956:1: internal compiler error: in extract_insn, at recog.c:2109
Quoted 4 lines

Which version of lttng-ust is this exactly? In addition to what Darren is saying about how this should be papered-over at the recipe level until gcc itself is fixed...

Sorry, this was my mis-understanding of Darren's comment.

Version of lttng-ust is 0.15.

Initially I tried to do something with tcmode-default, setting lttng-ust similar to meta-xlib which also had a ICE issue.

TARGET_CC_ARCH_arm_pn-mesa-xlib := "${@'${TARGET_CC_ARCH}'.replace('armv7-a','armv5')}"

That caused the compiler to complain about a mode issue, probably due to mixing of tune parameters:

| arm-poky-linux-gnueabi-libtool: compile: ccache arm-poky-linux-gnueabi-gcc -march=armv5 -fno-tree-vectorize -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8 --sysroot=/vol/1/sgw/autobuilder/yab/yocto-slave/external/build/build/tmp/sysroots/beagleboard -DHAVE_CONFIG_H -I. -I.. -I../include/ust -I../include -I../libustcomm -DUST_COMPONENT=libust -fno-strict-aliasing -Wall -pipe -g -feliminate-unused-debug-types -MT libust_la-marker-control.lo -MD -MP -MF .deps/libust_la-marker-control.Tpo -c marker-control.c -o libust_la-marker-control.o >/dev/null 2>&1

| mv -f .deps/libust_la-tracercore.Tpo .deps/libust_la-tracercore.Plo
| {standard input}: Assembler messages:
| {standard input}:190: Error: selected processor does not support ARM mode `dmb'

Yes, we are trying to solve Compiler issue, when I first started working on the last week there was not a compiler bug filed, but now there seems to be one!

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43137

Which looks like it is resolved also!

I will move this to Nitin to see if he can incorporate the patch into gcc.

Sau!

#5 lore raw

Re: [PATCH 1/1] beagleboard.conf: set DEFAULT_TUNE to cortexa8

Quoted 46 lines · Saul Wold
Quoted 13 lines · Tom Rini
Quoted 11 lines · Saul Wold
    [YOCTO #1381]

    lttng-ust generates an ICE when building for armv7, so change it to armv5
    | vfprintf.c:956:1: error: unrecognizable insn:
    | (insn 3968 3967 3969 145 (set (subreg:SI (reg/v:DI 160 [ _umax ]) 0)
    |         (sign_extend:SI (mem:QI (plus:SI (mult:SI (reg/v:SI 166 [ nextarg ])
    |                         (const_int 8 [0x8]))
    |                     (reg/f:SI 370 [ argtable.7 ])) [0 *D.6937_569+0 S1
    A32]))) vfprintf.c:555 -1
    |      (nil))
    | vfprintf.c:956:1: internal compiler error: in extract_insn, at recog.c:2109
Quoted 4 lines

Which version of lttng-ust is this exactly? In addition to what Darren is saying about how this should be papered-over at the recipe level until gcc itself is fixed...

Sorry, this was my mis-understanding of Darren's comment.

Version of lttng-ust is 0.15.

Initially I tried to do something with tcmode-default, setting lttng-ust similar to meta-xlib which also had a ICE issue.

TARGET_CC_ARCH_arm_pn-mesa-xlib := "${@'${TARGET_CC_ARCH}'.replace('armv7-a','armv5')}"

That caused the compiler to complain about a mode issue, probably due to mixing of tune parameters:

| arm-poky-linux-gnueabi-libtool: compile: ccache arm-poky-linux-gnueabi-gcc

(quoted diff) +0 -6
-march=armv5 -fno-tree-vectorize -mthumb-interwork -mfloat-abi=softfp
-mfpu=neon -mtune=cortex-a8
--sysroot=/vol/1/sgw/autobuilder/yab/yocto-slave/external/build/build/tmp/sysroots/beagleboard
-DHAVE_CONFIG_H -I. -I.. -I../include/ust -I../include -I../libustcomm
-DUST_COMPONENT=libust -fno-strict-aliasing -Wall -pipe -g
-feliminate-unused-debug-types -MT libust_la-marker-control.lo -MD -MP -MF

.deps/libust_la-marker-control.Tpo -c marker-control.c -o libust_la-marker-control.o >/dev/null 2>&1

| mv -f .deps/libust_la-tracercore.Tpo .deps/libust_la-tracercore.Plo
| {standard input}: Assembler messages:
| {standard input}:190: Error: selected processor does not support ARM 

mode `dmb'

Quoted 7 lines

Yes, we are trying to solve Compiler issue, when I first started working on the last week there was not a compiler bug filed, but now there seems to be one!

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43137

Which looks like it is resolved also!

This is better bug report:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50099

Regards,

Quoted 8 lines

I will move this to Nitin to see if he can incorporate the patch into gcc.

Sau!

_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]