* [Qemu-devel] [Bug 670776] [NEW] Build errors on TEGRA2(ubuntu), testandset()
@ 2010-11-04 6:12 hotdigi
2010-11-04 6:12 ` [Qemu-devel] [Bug 670776] Re: testandset hotdigi
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: hotdigi @ 2010-11-04 6:12 UTC (permalink / raw)
To: qemu-devel
Public bug reported:
Build errors on TEGRA2(ubuntu)
/tmp/ccqt9Y5t.s: Assembler messages:
/tmp/ccqt9Y5t.s:1899: Error: selected processor does not support Thumb mode 'swp r4, r4, [r2]'
/tmp/ccqt9Y5t.s:1974: Error: selected processor does not support Thumb mode 'swp r5, r5, [ip]'
make[1]: *** [exec.o Error 1
qemu-lock.h
#elif defined(__arm__)
static inline int testandset (int *spinlock)
{
register unsigned int ret;
__asm__ __volatile__("swp %0, %1, [%2]"
: "=r"(ret)
: "0"(1), "r"(spinlock));
return ret;
}
** Affects: qemu
Importance: Undecided
Status: New
--
Build errors on TEGRA2(ubuntu), testandset()
https://bugs.launchpad.net/bugs/670776
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
Status in QEMU: New
Bug description:
Build errors on TEGRA2(ubuntu)
/tmp/ccqt9Y5t.s: Assembler messages:
/tmp/ccqt9Y5t.s:1899: Error: selected processor does not support Thumb mode 'swp r4, r4, [r2]'
/tmp/ccqt9Y5t.s:1974: Error: selected processor does not support Thumb mode 'swp r5, r5, [ip]'
make[1]: *** [exec.o Error 1
qemu-lock.h
#elif defined(__arm__)
static inline int testandset (int *spinlock)
{
register unsigned int ret;
__asm__ __volatile__("swp %0, %1, [%2]"
: "=r"(ret)
: "0"(1), "r"(spinlock));
return ret;
}
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [Bug 670776] Re: testandset
2010-11-04 6:12 [Qemu-devel] [Bug 670776] [NEW] Build errors on TEGRA2(ubuntu), testandset() hotdigi
@ 2010-11-04 6:12 ` hotdigi
2010-11-04 11:03 ` [Qemu-devel] [Bug 670776] Re: Build errors on TEGRA2(ubuntu), testandset() Peter Maydell
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: hotdigi @ 2010-11-04 6:12 UTC (permalink / raw)
To: qemu-devel
Build errors on TEGRA2(ubuntu)
/tmp/ccqt9Y5t.s: Assembler messages:
/tmp/ccqt9Y5t.s:1899: Error: selected processor does not support Thumb mode 'swp r4, r4, [r2]'
/tmp/ccqt9Y5t.s:1974: Error: selected processor does not support Thumb mode 'swp r5, r5, [ip]'
make[1]: *** [exec.o Error 1
** Summary changed:
- testandset
+ Build errors on TEGRA2(ubuntu), testandset()
** Description changed:
+ Build errors on TEGRA2(ubuntu)
+
+ /tmp/ccqt9Y5t.s: Assembler messages:
+ /tmp/ccqt9Y5t.s:1899: Error: selected processor does not support Thumb mode 'swp r4, r4, [r2]'
+ /tmp/ccqt9Y5t.s:1974: Error: selected processor does not support Thumb mode 'swp r5, r5, [ip]'
+ make[1]: *** [exec.o Error 1
+
+ qemu-lock.h
+
#elif defined(__arm__)
static inline int testandset (int *spinlock)
{
register unsigned int ret;
__asm__ __volatile__("swp %0, %1, [%2]"
: "=r"(ret)
: "0"(1), "r"(spinlock));
-
return ret;
}
--
Build errors on TEGRA2(ubuntu), testandset()
https://bugs.launchpad.net/bugs/670776
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
Status in QEMU: New
Bug description:
Build errors on TEGRA2(ubuntu)
/tmp/ccqt9Y5t.s: Assembler messages:
/tmp/ccqt9Y5t.s:1899: Error: selected processor does not support Thumb mode 'swp r4, r4, [r2]'
/tmp/ccqt9Y5t.s:1974: Error: selected processor does not support Thumb mode 'swp r5, r5, [ip]'
make[1]: *** [exec.o Error 1
qemu-lock.h
#elif defined(__arm__)
static inline int testandset (int *spinlock)
{
register unsigned int ret;
__asm__ __volatile__("swp %0, %1, [%2]"
: "=r"(ret)
: "0"(1), "r"(spinlock));
return ret;
}
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [Bug 670776] Re: Build errors on TEGRA2(ubuntu), testandset()
2010-11-04 6:12 [Qemu-devel] [Bug 670776] [NEW] Build errors on TEGRA2(ubuntu), testandset() hotdigi
2010-11-04 6:12 ` [Qemu-devel] [Bug 670776] Re: testandset hotdigi
@ 2010-11-04 11:03 ` Peter Maydell
2011-02-03 15:08 ` Peter Maydell
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2010-11-04 11:03 UTC (permalink / raw)
To: qemu-devel
The Ubuntu ARM gcc defaults to building in Thumb mode. The swp/swpb
instructions only exist in ARM mode.
In any case, swp is deprecated for more recent ARM architectures (ARMv6
and above), and on ARMv7 MP it will UNDEF and have to be emulated in the
kernel. So the testandset implementation should probably be replaced
with something involving ldrex/strex for cores that support it, or by
using the gcc sync primitives (needs a gcc 4.4.1 or better, I think).
This Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/qemu-
kvm/+bug/514252 has a patch which checks for the gcc primitives in
configure and uses them if they exist -- you might like to try that.
Or if we believe the comment at the top of qemu-lock.h that "most of
this code should be redundant" we could do the cleanup to get rid of it
completely :-)
--
Build errors on TEGRA2(ubuntu), testandset()
https://bugs.launchpad.net/bugs/670776
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
Status in QEMU: New
Bug description:
Build errors on TEGRA2(ubuntu)
/tmp/ccqt9Y5t.s: Assembler messages:
/tmp/ccqt9Y5t.s:1899: Error: selected processor does not support Thumb mode 'swp r4, r4, [r2]'
/tmp/ccqt9Y5t.s:1974: Error: selected processor does not support Thumb mode 'swp r5, r5, [ip]'
make[1]: *** [exec.o Error 1
qemu-lock.h
#elif defined(__arm__)
static inline int testandset (int *spinlock)
{
register unsigned int ret;
__asm__ __volatile__("swp %0, %1, [%2]"
: "=r"(ret)
: "0"(1), "r"(spinlock));
return ret;
}
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [Bug 670776] Re: Build errors on TEGRA2(ubuntu), testandset()
2010-11-04 6:12 [Qemu-devel] [Bug 670776] [NEW] Build errors on TEGRA2(ubuntu), testandset() hotdigi
2010-11-04 6:12 ` [Qemu-devel] [Bug 670776] Re: testandset hotdigi
2010-11-04 11:03 ` [Qemu-devel] [Bug 670776] Re: Build errors on TEGRA2(ubuntu), testandset() Peter Maydell
@ 2011-02-03 15:08 ` Peter Maydell
2011-03-07 9:38 ` Peter Maydell
2011-08-12 17:52 ` Peter Maydell
4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2011-02-03 15:08 UTC (permalink / raw)
To: qemu-devel
This patch which I proposed would fix this bug:
http://patchwork.ozlabs.org/patch/81205/
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/670776
Title:
Build errors on TEGRA2(ubuntu), testandset()
Status in QEMU:
New
Bug description:
Build errors on TEGRA2(ubuntu)
/tmp/ccqt9Y5t.s: Assembler messages:
/tmp/ccqt9Y5t.s:1899: Error: selected processor does not support Thumb mode 'swp r4, r4, [r2]'
/tmp/ccqt9Y5t.s:1974: Error: selected processor does not support Thumb mode 'swp r5, r5, [ip]'
make[1]: *** [exec.o Error 1
qemu-lock.h
#elif defined(__arm__)
static inline int testandset (int *spinlock)
{
register unsigned int ret;
__asm__ __volatile__("swp %0, %1, [%2]"
: "=r"(ret)
: "0"(1), "r"(spinlock));
return ret;
}
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [Bug 670776] Re: Build errors on TEGRA2(ubuntu), testandset()
2010-11-04 6:12 [Qemu-devel] [Bug 670776] [NEW] Build errors on TEGRA2(ubuntu), testandset() hotdigi
` (2 preceding siblings ...)
2011-02-03 15:08 ` Peter Maydell
@ 2011-03-07 9:38 ` Peter Maydell
2011-08-12 17:52 ` Peter Maydell
4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2011-03-07 9:38 UTC (permalink / raw)
To: qemu-devel
This build error was fixed by this commit:
http://git.qemu.org/qemu.git/commit/?id=02615337ef295443daa03233e492194e289a807e
** Changed in: qemu
Status: New => Fix Committed
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/670776
Title:
Build errors on TEGRA2(ubuntu), testandset()
Status in QEMU:
Fix Committed
Bug description:
Build errors on TEGRA2(ubuntu)
/tmp/ccqt9Y5t.s: Assembler messages:
/tmp/ccqt9Y5t.s:1899: Error: selected processor does not support Thumb mode 'swp r4, r4, [r2]'
/tmp/ccqt9Y5t.s:1974: Error: selected processor does not support Thumb mode 'swp r5, r5, [ip]'
make[1]: *** [exec.o Error 1
qemu-lock.h
#elif defined(__arm__)
static inline int testandset (int *spinlock)
{
register unsigned int ret;
__asm__ __volatile__("swp %0, %1, [%2]"
: "=r"(ret)
: "0"(1), "r"(spinlock));
return ret;
}
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [Bug 670776] Re: Build errors on TEGRA2(ubuntu), testandset()
2010-11-04 6:12 [Qemu-devel] [Bug 670776] [NEW] Build errors on TEGRA2(ubuntu), testandset() hotdigi
` (3 preceding siblings ...)
2011-03-07 9:38 ` Peter Maydell
@ 2011-08-12 17:52 ` Peter Maydell
4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2011-08-12 17:52 UTC (permalink / raw)
To: qemu-devel
QEMU 0.15.0 has been released with a fix for this bug.
** Changed in: qemu
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/670776
Title:
Build errors on TEGRA2(ubuntu), testandset()
Status in QEMU:
Fix Released
Bug description:
Build errors on TEGRA2(ubuntu)
/tmp/ccqt9Y5t.s: Assembler messages:
/tmp/ccqt9Y5t.s:1899: Error: selected processor does not support Thumb mode 'swp r4, r4, [r2]'
/tmp/ccqt9Y5t.s:1974: Error: selected processor does not support Thumb mode 'swp r5, r5, [ip]'
make[1]: *** [exec.o Error 1
qemu-lock.h
#elif defined(__arm__)
static inline int testandset (int *spinlock)
{
register unsigned int ret;
__asm__ __volatile__("swp %0, %1, [%2]"
: "=r"(ret)
: "0"(1), "r"(spinlock));
return ret;
}
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/670776/+subscriptions
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-08-12 18:01 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-04 6:12 [Qemu-devel] [Bug 670776] [NEW] Build errors on TEGRA2(ubuntu), testandset() hotdigi
2010-11-04 6:12 ` [Qemu-devel] [Bug 670776] Re: testandset hotdigi
2010-11-04 11:03 ` [Qemu-devel] [Bug 670776] Re: Build errors on TEGRA2(ubuntu), testandset() Peter Maydell
2011-02-03 15:08 ` Peter Maydell
2011-03-07 9:38 ` Peter Maydell
2011-08-12 17:52 ` Peter Maydell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.