Hi Peter,

Thank you for responding to my questions. 

I haven't tried dissassembling the code yet. I know that there is this gnu tool 
called nm or objdump, but I don't know the name of the corresponding solaris 
tools. Or, maybe it is possible to use the gnu tools on these binaries as well? 
Anyhow, I'll give it a try...

Thank you for the tip regarding the C++ compiler, I'll see if I can specify the 
compiler somewhere in the setup process. I'm using the bldenv tool to do this 
together with an opensolaris.sh file, can't see any compiler directives there. 
But I'll look into this...

I heard that there might be a compability issue to compile opensolaris 5.11 
build 57, with a studio 12 compiler, but it would be great if it worked.

In the GCC-style macro I specified g1 and g2 in the clobber list which should 
inform the compiler that I want to use this registers. I don't know how to do 
this using the studio compiler.

I solved my problem (temporarely) with a function definition in C. So, now I 
have defined 

void magic_ql_c(int n, int ql, int id)
{
  MAGIC(n)
}


So basically, I'm putting the second and third argument in registers i1 and i2 
and the MAGIC macro is a single line of assembler (sethi #n, g0). This achieves 
the objective I had, which was to pass the arguments to specific registers that 
can be read when the MAGIC instruction triggers the simulator I'm using. The 
only difference is that this solution uses i registers instead of g, but that's 
ok. Another benefit is that I don't have to worry that the registers are 
already used by the compiler since the i registers are dedicated for this 
specific purpose.

Thanks agian.

Regards,
Mladen
--
This message posted from opensolaris.org

Reply via email to