[Webkit-unassigned] [Bug 126985] New: Source/WTF/wtf/Atomics.h:300: Error: bad register name `%bpl'
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Jan 14 07:42:00 PST 2014
https://bugs.webkit.org/show_bug.cgi?id=126985
Summary: Source/WTF/wtf/Atomics.h:300: Error: bad register name
`%bpl'
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Web Template Framework
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: berto at igalia.com
CC: oliver at apple.com
I'm having problems building the GTK+ port in i386. Looks like gcc is producing x86-64 registers here:
inline bool weakCompareAndSwap(uint8_t* location, uint8_t expected, uint8_t newValue)
{
unsigned char result;
asm volatile(
"lock; cmpxchgb %3, %2\n\t"
"sete %1"
: "+a"(expected), "=q"(result), "+m"(*location)
: "r"(newValue)
: "memory"
);
return result;
}
Here's the gcc output of the affected pre-processed source file:
$ gcc -O1 -m32 --std=c++11 -c CodeBlock.ii
../Source/WTF/wtf/Atomics.h: Assembler messages:
../Source/WTF/wtf/Atomics.h:300: Error: bad register name `%bpl'
../Source/WTF/wtf/Atomics.h:300: Error: bad register name `%bpl'
../Source/WTF/wtf/Atomics.h:300: Error: bad register name `%dil'
Adding -frename-registers seems to solve the problem. It also builds fine with clang.
My understanding is that this is a gcc bug, however reading the upstream
report http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10153 and its duplicates
suggests that the constraints in the function I pasted above might be wrong.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list