Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Assembly error on Sun Studio 11 - Solaris 10/amd64

807575Sep 13 2006 — edited Sep 14 2006
Hi All

I am compiling my source code using cc. My cc version is
cc: Sun C 5.8 2005/10/13
I am using Sun Studio 11 and Solaris 10 on amd64 for my build.

I am getting following Assemply errors when compiling my code.
cc -xarch=amd64 -Kpic gptas.c
Assembler:
"/tmp/yabeAAALdaqGz", line 31 : Illegal mnemonic
"/tmp/yabeAAALdaqGz", line 34 : Syntax error
"/tmp/yabeAAALdaqGz", line 37 : Syntax error
"/tmp/yabeAAALdaqGz", line 50 : Illegal mnemonic
Failure in /opt/ss11/SUNWspro/prod/bin/fbe, status = 0x7f00
Fatal Error exec'ing /opt/ss11/SUNWspro/prod/bin/fbe
cc: acomp failed for gptas.c

The c code which I'm trying to compile:

/*ARGSUSED*/
int
#if defined(__STDC__) || defined(__cplusplus)
gptas(unsigned *x, short flag)
#else
gptas(x,flag)
unsigned *x;
short flag;
#endif
{
#ifdef __STDC__
volatile int r; /* volatile so optimizers won't get
* rid of variable - some assembly code
* depends on offsets with this on
* the stack.
*/
#else
int r; /* var to return explicitly */
#endif

r = 0; /* always set return to 0 */
asm(" movl $1,%eax"); /* this 1 inworking reg will set x /
asm(" pushl %ebx"); /* save the register; eax already saved */
asm(" movl 8(%ebp),%ebx"); /* move the address of x */
asm(" xchg %eax,(%ebx)"); /* atomic swap a one with x /
asm(" cmp $0,%eax"); /* test what was in x /
asm(" jnz .A9999"); /* jump if x was already set /
r = 1; /* indicate set occurred */
asm(" .A9999:");
asm(" popl %ebx"); /* restore the register */
return(r);
}

Can someone let me know if this is a Compiler issue or it has something to do with my code .

I'll Appreciate any help on this.

Thanks in Advance
Somak
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 12 2006
Added on Sep 13 2006
1 comment
177 views