Re: [Gems-users] Compile Opal: Error: Dx.i Functions


Date: Mon, 27 Nov 2006 13:35:54 -0500
From: "Datta, Kushal" <kdatta@xxxxxxxx>
Subject: Re: [Gems-users] Compile Opal: Error: Dx.i Functions
Yes, Makefile.simics_version was set to Simics 3.0, not to 3.0.23. Do you think that might be a problem?

-----Original Message-----
From: gems-users-bounces@xxxxxxxxxxx on behalf of Dan Gibson
Sent: Mon 11/27/2006 12:15 PM
To: Gems Users
Subject: Re: [Gems-users] Compile Opal: Error: Dx.i Functions
 
You should also verify that your Makefile.simics_version is set to 
Simics 3.0.X.

Regards,
Dan

Luke Yen wrote:
>    dx.C/h contains definitions to the dx.i macros that are used by all
> dynamic_inst_t class objects.  Grep dynamic.h to see where dx.h is
> included as a header file for this class.
>
>   All these macros and function defintions are dereferenced under the
> scope of dynamic_inst_t, during Execute() (for each instruction type)  This is
> possible through function pointers set up in dynamic_inst_t::initialize().
>
>   I have not personally compiled Opal with Simics 3.0, so there may be
> compiler issues like you are seeing.  Try 2.0 or 2.2 if you have access to
> them and don't need the functionality of 3.0.
>
>   Luke
>
>
> On Mon, 27 Nov 2006, Datta, Kushal wrote:
>
>   
>> Hello Everyone,
>>
>> I experienced a lot of difficulties while compiling Opal. No matter which compiler version I used, it was throwing the same errors in the step "make module DESTINATION=MOSI_SMP_bcast" of the compilation process. FYI, I could compile ruby successfully. Here's a few questions I wanted to ask.
>>
>> The errors were about three fucntions getSourceReg, getDestReg, getStaticInst used in the file "dx.i" and g++ was not able to link these functions properly. The dx.i file is included from dx.C and ix.C.
>>
>> The functions getSourceReg, getDestReg, getStaticInst are defined as private members of the class dynamic_inst_t (defined in $GEMS/opal/system/dynamic.h) and they are accessed in dx.i file as:
>>
>>
>> DX_RETURNT dx_add( DX_PLIST ) {
>>   IREGISTER result = (SOURCE1 + S2ORI);
>>   //ED  m_pseq->out_info("   source1 0x%0llx\n", (SOURCE1));
>>   //ED  m_pseq->out_info("   source2 0x%0llx\n",  S2ORI);
>>   //ED  m_pseq->out_info("   result == 0x%0llx\n", result );
>>   WRITE_DEST(result);
>> }
>>
>> where macro SOURCE1 is defined as "#define SOURCE1    getSourceReg(0).getARF()->readInt64( getSourceReg(0) )".
>>
>> How is it possible to access a private member function of a class like that? What am I missing here?
>>
>> Thanks,
>> Kushal.
>>
>> P.S. I am using
>>
>> GEMS: gems-1.3.1
>> CC: I have tried with gcc/g++ version 3.4, 4.1, 4.0.3.
>> SIMICS: 3.0.23
>>
>>     
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
>
>   

-- 
http://www.cs.wisc.edu/~gibson [esc]:wq!

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.


<<winmail.dat>>

[← Prev in Thread] Current Thread [Next in Thread→]