Ubuntu

libgii ftbfs on armel (assembler errors)

Reported by Matthias Klose on 2011-09-27
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
libgii (Debian)
Fix Released
Unknown
libgii (Ubuntu)
High
Unassigned
Oneiric
High
Unassigned

Bug Description

https://launchpadlibrarian.net/81216522/buildlog_ubuntu-oneiric-armel.libgii_1%3A1.0.2-4_FAILEDTOBUILD.txt.gz

libtool: compile: arm-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../include -DBUILDING_LIBGG -DDEBUG_NAMESPACE=\"libgg\" -g -Wall -O2 -Wall -pedantic -D_REENTRANT -D_THREAD_SAFE -DDEBUG -std=gnu99 -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wswitch -Wmissing-prototypes -Wreturn-type -Wshadow -Wnested-externs -Wredundant-decls -Wuninitialized -Wcast-qual -Wwrite-strings -Werror-implicit-function-declaration -MT gglock.lo -MD -MP -MF .deps/gglock.Tpo -c gglock.c -fPIC -DPIC -o .libs/gglock.o
/tmp/ccUHMXVz.s: Assembler messages:
/tmp/ccUHMXVz.s:132: Error: selected processor does not support Thumb mode `swp r3,r3,[r6]'
/tmp/ccUHMXVz.s:163: Error: selected processor does not support Thumb mode `swp r3,r3,[r6]'
/tmp/ccUHMXVz.s:239: Error: selected processor does not support Thumb mode `swp r3,r3,[r0]'
make[4]: *** [gglock.lo] Error 1
make[4]: Leaving directory `/build/buildd/libgii-1.0.2/gg'
make[3]: *** [all-recursive] Error 1

Matthias Klose (doko) on 2011-09-27
Changed in libgii (Ubuntu Oneiric):
importance: Undecided → High
status: New → Confirmed
Michael Hope (michaelh1) wrote :

Thank you for the bug report. I've confirmed this with gcc-linaro-4.6-2011.09-1 on ARM:

michaelh@leo2:~/linaro/packages/libgii-1.0.2/gg$ /tools/toolchains/arch/armv7l/gcc-linaro-4.6-2011.09-armv7l-natty-cbuild181-ursa4-cortexa9r1/bin/gcc -g -O2 -c gglock.i
/tmp/ccwsQQXn.s: Assembler messages:
/tmp/ccwsQQXn.s:130: Error: selected processor does not support Thumb mode `swp r3,r3,[r6]'
/tmp/ccwsQQXn.s:164: Error: selected processor does not support Thumb mode `swp r3,r3,[r6]'
/tmp/ccwsQQXn.s:235: Error: selected processor does not support Thumb mode `swp r3,r3,[r0]'

The assembler is correct - the swp instruction does not exist in Thumb-2.

This is due to the inline assembly in gg/gglock.h. It should be
replaced with the GCC builtin __sync_lock_test_and_set(),
__sync_var_compare_and_swap() or similar.

Note that the custom lock implementation can be disabled by passing --enable-mutexes=pthread to configure.

Marcin Juszkiewicz (hrw) on 2011-10-12
tags: added: thumb2

a proposed patch is sent to the Debian BTS as this bug was found in Debian armhf as well.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648741

Changed in libgii (Debian):
status: Unknown → New
Changed in libgii (Debian):
status: New → Fix Committed
Changed in libgii (Debian):
status: Fix Committed → Fix Released
Jani Monoses (jani) wrote :

This seems to no longer FTBFS

Changed in libgii (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.