[Bug 10601] New: Depreciated and no longer supported swpb instruction for ARM
bugzilla at busybox.net
bugzilla at busybox.net
Mon Dec 18 04:55:36 UTC 2017
https://bugs.busybox.net/show_bug.cgi?id=10601
Bug ID: 10601
Summary: Depreciated and no longer supported swpb instruction
for ARM
Product: uClibc
Version: 0.9.33.2
Hardware: Other
OS: Linux
Status: NEW
Severity: major
Priority: P5
Component: Standard Compliance
Assignee: unassigned at uclibc.org
Reporter: jupiterict at gmail.com
CC: uclibc-cvs at uclibc.org
Target Milestone: ---
Hello, the ldso thumb_atomics.S file contains a greatly depreciated swpb
instruction that has not been supported by ARM processors since V7. This means
that RPi units and other ARM based hardware will not work with it.
To correct this problem, I propose that swpb be replaced with ldrexb and strexb
which will read the register and memory address and byte-swap into the
specified register similarly to swpb. It's extremely important to be certain
that this is implemented correctly as it may not be as simple as just changing
the command.
This should also make it thumb compatible so the .hidden swpb_thumb shouldn't
be required anymore.
Problems that may arise from this are the variations of ldrex and strex that
will work. Also ensuring that having exclusive access won't affect future
accesses to the same register.
I'll leave it in your capable hands, but it's broke and getting more broken as
time goes on and newer processors come to light.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the uClibc-cvs
mailing list