D.gnu - [Issue 2053] New: PIC & ASM (EBX clobbering)
- d-bugmail puremagic.com (40/40) Apr 28 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2053
- d-bugmail puremagic.com (8/8) Apr 28 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2053
- d-bugmail puremagic.com (12/12) Jul 06 2012 http://d.puremagic.com/issues/show_bug.cgi?id=2053
http://d.puremagic.com/issues/show_bug.cgi?id=2053
Summary: PIC & ASM (EBX clobbering)
Product: DGCC aka GDC
Version: unspecified
Platform: Macintosh
OS/Version: Mac OS X
Status: NEW
Keywords: rejects-valid
Severity: normal
Priority: P2
Component: glue layer
AssignedTo: dvdfrdmn users.sf.net
ReportedBy: fawzi gmx.ch
I am no ams and PIC expert, but I think that the following code
{{{
volatile asm
{
push EDI;
lea EDI, newval;
mov ESI, [EDI];
mov ECX, 4[EDI];
lea EDI, equalTo;
mov EAX, [EDI];
mov EDX, 4[EDI];
mov EDI, val;
push EBX;
xchg EBX, ESI;
lock; // lock always needed to make this op atomic
cmpxch8b [EDI];
setz AL;
mov EBX, ESI;
pop EBX;
pop EDI;
}
}}}
should work on x86 when compiled with -fPIC, because EBX is pushed & popped and
no variable or symbol is accessed between push & pop.
The compiler complains about clobbered EBX (from the two xchg EBX and mov EBX
expressions).
--
Apr 28 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2053
sean invisibleduck.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Oh I see what you're saying. Thanks. I'll make this change.
--
Apr 28 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2053
Iain Buclaw <ibuclaw ubuntu.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |INVALID
D Inline Assembler support in GDC has been yanked out. So this report is no
longer valid.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jul 06 2012









d-bugmail puremagic.com 