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


Date: Mon, 27 Nov 2006 11:32:58 -0500
From: "Datta, Kushal" <kdatta@xxxxxxxx>
Subject: [Gems-users] Compile Opal: Error: Dx.i Functions
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

<<winmail.dat>>

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