return -0x02;
}
- p_exp->dw_setdata = LIBGOBLIN_DWARF_DATA_NONE;
+ p_exp->dw_setdata = LIBGOBLIN_DWARF_REQUEST_NONE;
if( LIBGOBLIN_BINFO_TYPE_ELF32 == p_binfo->b_type )
- { p_exp->dw_addrsize = 4; }
+ { p_exp->qw_reqdata[ LIBGOBLIN_DWARF_DATAID_ADDRSIZE ] = 4; }
else // LIBGOBLIN_BINFO_TYPE_ELF64
- { p_exp->dw_addrsize = 8; }
- p_exp->dw_setdata |= LIBGOBLIN_DWARF_DATA_ADDRSIZE;
+ { p_exp->qw_reqdata[ LIBGOBLIN_DWARF_DATAID_ADDRSIZE ] = 8; }
+ p_exp->dw_setdata |= LIBGOBLIN_DWARF_REQUEST_ADDRSIZE;
return 0x00;
}
qw_remain = (( 0 == dw_size ) ? 512 : (QWord)dw_size );
qw_value = 0x00000000;
p_exp->result.qw_value = 0x00000000;
- p_exp->dw_requested = LIBGOBLIN_DWARF_DATA_NONE;
+ p_exp->dw_requested = LIBGOBLIN_DWARF_REQUEST_NONE;
p_exp->dw_status = LIBGOBLIN_DWARF_STATUS_ERROR;
p_exp->dw_depth = 0;
memset( &((p_exp)->t_stack), 0x00,
qw_remain--;
switch( b_opcode ) {
+ // Constant Opcodes ----
+ case DW_OP_lit0: // 0x30
+ case DW_OP_lit1: // 0x31
+ case DW_OP_lit2: // 0x32
+ case DW_OP_lit3: // 0x33
+ case DW_OP_lit4: // 0x34
+ case DW_OP_lit5: // 0x35
+ case DW_OP_lit6: // 0x36
+ case DW_OP_lit7: // 0x37
+ case DW_OP_lit8: // 0x38
+ case DW_OP_lit9: // 0x39
+ case DW_OP_lit10: // 0x3a
+ case DW_OP_lit11: // 0x3b
+ case DW_OP_lit12: // 0x3c
+ case DW_OP_lit13: // 0x3d
+ case DW_OP_lit14: // 0x3e
+ case DW_OP_lit15: // 0x3f
+ case DW_OP_lit16: // 0x40
+ case DW_OP_lit17: // 0x41
+ case DW_OP_lit18: // 0x42
+ case DW_OP_lit19: // 0x43
+ case DW_OP_lit20: // 0x44
+ case DW_OP_lit21: // 0x45
+ case DW_OP_lit22: // 0x46
+ case DW_OP_lit23: // 0x47
+ case DW_OP_lit24: // 0x48
+ case DW_OP_lit25: // 0x49
+ case DW_OP_lit26: // 0x4a
+ case DW_OP_lit27: // 0x4b
+ case DW_OP_lit28: // 0x4c
+ case DW_OP_lit29: // 0x4d
+ case DW_OP_lit30: // 0x4e
+ case DW_OP_lit31: // 0x4f
+ b_value = b_opcode - DW_OP_lit0;
+ PUSH_DWARF( p_exp, (QWord)b_value );
+ break;
+
case DW_OP_addr: // 0x03
- if( p_exp->dw_setdata & LIBGOBLIN_DWARF_DATA_ADDRSIZE )
- { PUSH_DWARF( p_exp, p_exp->dw_addrsize ); }
+ if( p_exp->dw_setdata & LIBGOBLIN_DWARF_REQUEST_ADDRSIZE )
+ { PUSH_DWARF( p_exp, p_exp->qw_reqdata[ LIBGOBLIN_DWARF_DATAID_ADDRSIZE ] ); }
else
- { p_exp->dw_requested |= LIBGOBLIN_DWARF_DATA_ADDRSIZE; }
- break;
- case DW_OP_deref: // 0x06
+ { p_exp->dw_requested |= LIBGOBLIN_DWARF_REQUEST_ADDRSIZE; }
break;
+
case DW_OP_const1u: // 0x08
qw_value = (QWord)*pb_now++;
qw_remain--;
PUSH_DWARF_SIGN( p_exp, ii_value );
break;
+ // Register-Base Opcodes ----
+ case DW_OP_fbreg: // 0x91
+ pb_now = DWARF_Common_DecodeLEB128( &ii_value, pb_now, &qw_remain );
+ if( p_exp->dw_setdata & LIBGOBLIN_DWARF_REQUEST_FRAME_BASE ) {
+
+ if( 0 > ii_value ) {
+ qw_value = p_exp->qw_reqdata[ LIBGOBLIN_DWARF_DATAID_FRAME_BASE ]
+ - (QWord)(-1 * ii_value);
+ }
+ else {
+ qw_value = p_exp->qw_reqdata[ LIBGOBLIN_DWARF_DATAID_FRAME_BASE ]
+ + (QWord)ii_value;
+ }
+
+ PUSH_DWARF( p_exp, qw_value );
+ }
+ else
+ { p_exp->dw_requested |= LIBGOBLIN_DWARF_REQUEST_FRAME_BASE; }
+
+ break;
+ case DW_OP_breg0: // 0x70
+ case DW_OP_breg1: // 0x71
+ case DW_OP_breg2: // 0x72
+ case DW_OP_breg3: // 0x73
+ case DW_OP_breg4: // 0x74
+ case DW_OP_breg5: // 0x75
+ case DW_OP_breg6: // 0x76
+ case DW_OP_breg7: // 0x77
+ case DW_OP_breg8: // 0x78
+ case DW_OP_breg9: // 0x79
+ case DW_OP_breg10: // 0x7a
+ case DW_OP_breg11: // 0x7b
+ case DW_OP_breg12: // 0x7c
+ case DW_OP_breg13: // 0x7d
+ case DW_OP_breg14: // 0x7e
+ case DW_OP_breg15: // 0x7f
+ case DW_OP_breg16: // 0x80
+ case DW_OP_breg17: // 0x81
+ case DW_OP_breg18: // 0x82
+ case DW_OP_breg19: // 0x83
+ case DW_OP_breg20: // 0x84
+ case DW_OP_breg21: // 0x85
+ case DW_OP_breg22: // 0x86
+ case DW_OP_breg23: // 0x87
+ case DW_OP_breg24: // 0x88
+ case DW_OP_breg25: // 0x89
+ case DW_OP_breg26: // 0x8a
+ case DW_OP_breg27: // 0x8b
+ case DW_OP_breg28: // 0x8c
+ case DW_OP_breg29: // 0x8d
+ case DW_OP_breg30: // 0x8e
+ case DW_OP_breg31: // 0x8f
+ b_reg = b_opcode - DW_OP_breg0;
+ pb_now = DWARF_Common_DecodeLEB128( &ii_value, pb_now, &qw_remain );
+
+ if( p_exp->dw_setdata & (LIBGOBLIN_DWARF_REQUEST_REG | b_reg) ) {
+ if( 0 > ii_value )
+ { qw_value = p_exp->qw_reqdata[b_reg] - (QWord)(-1 * ii_value); }
+ else
+ { qw_value = p_exp->qw_reqdata[b_reg] + (QWord)ii_value; }
+
+ PUSH_DWARF( p_exp, qw_value );
+ }
+ else
+ { p_exp->dw_requested |= (LIBGOBLIN_DWARF_REQUEST_REG | b_reg); }
+ break;
+ case DW_OP_bregx: // 0x92
+ // Get RegID
+ pb_now = DWARF_Common_DecodeULEB128( &qw_value, pb_now, &qw_remain );
+ b_reg = (Byte)(qw_value & 0x1f);
+
+ // Get Offset
+ pb_now = DWARF_Common_DecodeLEB128( &ii_value, pb_now, &qw_remain );
+
+ if( p_exp->dw_setdata & (LIBGOBLIN_DWARF_REQUEST_REG | b_reg) ) {
+ if( 0 > ii_value )
+ { qw_value = p_exp->qw_reqdata[b_reg] - (QWord)(-1 * ii_value); }
+ else
+ { qw_value = p_exp->qw_reqdata[b_reg] + (QWord)ii_value; }
+
+ PUSH_DWARF( p_exp, qw_value );
+ }
+ else
+ { p_exp->dw_requested |= (LIBGOBLIN_DWARF_REQUEST_REG | b_reg); }
+ break;
+
+
+ // Stack Opcodes ----
case DW_OP_dup: // 0x12
if( 0 == p_exp->dw_depth )
{ goto goto_DWARF_Expression_Evaluate_post; }
qw_value = p_exp->t_stack[p_exp->dw_depth - 1].value.qw_value;
PUSH_DWARF( p_exp, qw_value );
break;
-
case DW_OP_drop: // 0x13
if( 0 == p_exp->dw_depth )
{ goto goto_DWARF_Expression_Evaluate_post; }
qw_value = POP_DWARF( p_exp );
break;
+ case DW_OP_pick: // 0x15
+ b_value = *pb_now++;
+ qw_remain--;
- case DW_OP_over: // 0x14
- if( 2 > p_exp->dw_depth )
+ if( p_exp->dw_depth <= (DWord)b_value )
{ goto goto_DWARF_Expression_Evaluate_post; }
- dw_value = p_exp->dw_depth - 2;
+ dw_value = p_exp->dw_depth - (DWord)b_value - 1;
qw_value = p_exp->t_stack[dw_value].value.qw_value;
PUSH_DWARF( p_exp, qw_value );
break;
-
- case DW_OP_pick: // 0x15
- // 2019/09/02 Lunch-Coding (Required TEST!!)
- b_value = *pb_now++;
- qw_remain--;
-
- if( p_exp->dw_depth < (DWord)b_value )
+ case DW_OP_over: // 0x14
+ if( 2 > p_exp->dw_depth )
{ goto goto_DWARF_Expression_Evaluate_post; }
- dw_value = p_exp->dw_depth - (DWord)b_value;
+ dw_value = p_exp->dw_depth - 2;
qw_value = p_exp->t_stack[dw_value].value.qw_value;
PUSH_DWARF( p_exp, qw_value );
break;
-
case DW_OP_swap: // 0x16
- // 2019/09/03 Lunch-Coding (Required TEST!!)
if( 2 > p_exp->dw_depth )
{ goto goto_DWARF_Expression_Evaluate_post; }
qw_value = p_exp->t_stack[p_exp->dw_depth - 2].value.qw_value;
= p_exp->t_stack[p_exp->dw_depth - 1].value.qw_value;
p_exp->t_stack[p_exp->dw_depth - 1].value.qw_value = qw_value;
break;
-
case DW_OP_rot: // 0x17
- // 2019/09/03 Lunch-Coding (Required TEST!!)
if( 3 > p_exp->dw_depth )
{ goto goto_DWARF_Expression_Evaluate_post; }
qw_value = p_exp->t_stack[p_exp->dw_depth - 1].value.qw_value;
p_exp->t_stack[p_exp->dw_depth - 3].value.qw_value = qw_value;
break;
+ case DW_OP_deref: // 0x06
+ break;
+ case DW_OP_deref_size: // 0x94
+ break;
case DW_OP_xderef: // 0x18
break;
+ case DW_OP_xderef_size: // 0x95
+ break;
+ case DW_OP_push_object_address: // 0x97
+ break;
+ case DW_OP_form_tls_address: // 0x9b
+ break;
+ case DW_OP_call_frame_cfa: // 0x9c
+ break;
case DW_OP_abs: // 0x19
// 2019/09/03 Lunch-Coding (Required TEST!!)
case DW_OP_skip: // 0x2f
break;
- case DW_OP_lit0: // 0x30
- case DW_OP_lit1: // 0x31
- case DW_OP_lit2: // 0x32
- case DW_OP_lit3: // 0x33
- case DW_OP_lit4: // 0x34
- case DW_OP_lit5: // 0x35
- case DW_OP_lit6: // 0x36
- case DW_OP_lit7: // 0x37
- case DW_OP_lit8: // 0x38
- case DW_OP_lit9: // 0x39
- case DW_OP_lit10: // 0x3a
- case DW_OP_lit11: // 0x3b
- case DW_OP_lit12: // 0x3c
- case DW_OP_lit13: // 0x3d
- case DW_OP_lit14: // 0x3e
- case DW_OP_lit15: // 0x3f
- case DW_OP_lit16: // 0x40
- case DW_OP_lit17: // 0x41
- case DW_OP_lit18: // 0x42
- case DW_OP_lit19: // 0x43
- case DW_OP_lit20: // 0x44
- case DW_OP_lit21: // 0x45
- case DW_OP_lit22: // 0x46
- case DW_OP_lit23: // 0x47
- case DW_OP_lit24: // 0x48
- case DW_OP_lit25: // 0x49
- case DW_OP_lit26: // 0x4a
- case DW_OP_lit27: // 0x4b
- case DW_OP_lit28: // 0x4c
- case DW_OP_lit29: // 0x4d
- case DW_OP_lit30: // 0x4e
- case DW_OP_lit31: // 0x4f
- b_value = b_opcode - DW_OP_lit0;
- PUSH_DWARF( p_exp, (QWord)b_value );
- break;
-
case DW_OP_reg0: // 0x50
break;
case DW_OP_reg1: // 0x51
break;
case DW_OP_reg31: // 0x6f
break;
-
- case DW_OP_breg0: // 0x70
- case DW_OP_breg1: // 0x71
- case DW_OP_breg2: // 0x72
- case DW_OP_breg3: // 0x73
- case DW_OP_breg4: // 0x74
- case DW_OP_breg5: // 0x75
- case DW_OP_breg6: // 0x76
- case DW_OP_breg7: // 0x77
- case DW_OP_breg8: // 0x78
- case DW_OP_breg9: // 0x79
- case DW_OP_breg10: // 0x7a
- case DW_OP_breg11: // 0x7b
- case DW_OP_breg12: // 0x7c
- case DW_OP_breg13: // 0x7d
- case DW_OP_breg14: // 0x7e
- case DW_OP_breg15: // 0x7f
- case DW_OP_breg16: // 0x80
- case DW_OP_breg17: // 0x81
- case DW_OP_breg18: // 0x82
- case DW_OP_breg19: // 0x83
- case DW_OP_breg20: // 0x84
- case DW_OP_breg21: // 0x85
- case DW_OP_breg22: // 0x86
- case DW_OP_breg23: // 0x87
- case DW_OP_breg24: // 0x88
- case DW_OP_breg25: // 0x89
- case DW_OP_breg26: // 0x8a
- case DW_OP_breg27: // 0x8b
- case DW_OP_breg28: // 0x8c
- case DW_OP_breg29: // 0x8d
- case DW_OP_breg30: // 0x8e
- case DW_OP_breg31: // 0x8f
- b_reg = b_opcode - DW_OP_breg0;
- pb_now = DWARF_Common_DecodeLEB128( &ii_value, pb_now, &qw_remain );
-
- if( p_exp->dw_setdata & (LIBGOBLIN_DWARF_DATA_REG | b_reg) ) {
- if( 0 > ii_value )
- { qw_value = p_exp->qw_reg[b_reg] - (QWord)(-1 * ii_value); }
- else
- { qw_value = p_exp->qw_reg[b_reg] + (QWord)ii_value; }
-
- PUSH_DWARF( p_exp, qw_value );
- }
- else
- { p_exp->dw_requested |= (LIBGOBLIN_DWARF_DATA_REG | b_reg); }
- break;
-
case DW_OP_regx: // 0x90
break;
- case DW_OP_fbreg: // 0x91
- pb_now = DWARF_Common_DecodeLEB128( &ii_value, pb_now, &qw_remain );
- if( p_exp->dw_setdata & LIBGOBLIN_DWARF_DATA_FRAME_BASE ) {
-
- if( 0 > ii_value )
- { qw_value = p_exp->qw_frame_base - (QWord)(-1 * ii_value); }
- else
- { qw_value = p_exp->qw_frame_base + (QWord)ii_value; }
-
- PUSH_DWARF( p_exp, qw_value );
- }
- else
- { p_exp->dw_requested |= LIBGOBLIN_DWARF_DATA_FRAME_BASE; }
-
- break;
- case DW_OP_bregx: // 0x92
- // Get RegID
- pb_now = DWARF_Common_DecodeULEB128( &qw_value, pb_now, &qw_remain );
- b_reg = (Byte)(qw_value & 0x1f);
-
- // Get Offset
- pb_now = DWARF_Common_DecodeLEB128( &ii_value, pb_now, &qw_remain );
-
- if( p_exp->dw_setdata & (LIBGOBLIN_DWARF_DATA_REG | b_reg) ) {
- if( 0 > ii_value )
- { qw_value = p_exp->qw_reg[b_reg] - (QWord)(-1 * ii_value); }
- else
- { qw_value = p_exp->qw_reg[b_reg] + (QWord)ii_value; }
-
- PUSH_DWARF( p_exp, qw_value );
- }
- else
- { p_exp->dw_requested |= (LIBGOBLIN_DWARF_DATA_REG | b_reg); }
- break;
case DW_OP_piece: // 0x93
break;
- case DW_OP_deref_size: // 0x94
- break;
- case DW_OP_xderef_size: // 0x95
- break;
case DW_OP_nop: // 0x96
break;
- case DW_OP_push_object_address: // 0x97
- break;
case DW_OP_call2: // 0x98
break;
case DW_OP_call4: // 0x99
break;
case DW_OP_call_ref: // 0x9a
break;
- case DW_OP_form_tls_address: // 0x9b
- break;
- case DW_OP_call_frame_cfa: // 0x9c
- break;
case DW_OP_bit_piece: // 0x9d
break;
case DW_OP_implicit_value: // 0x9e
}while( 0 < qw_remain );
- if( LIBGOBLIN_DWARF_DATA_NONE != p_exp->dw_requested )
+ if( LIBGOBLIN_DWARF_REQUEST_NONE != p_exp->dw_requested )
{ p_exp->dw_status = LIBGOBLIN_DWARF_STATUS_REQUESTED; }
else if( 0 < p_exp->dw_depth ) {
p_exp->dw_status = LIBGOBLIN_DWARF_STATUS_EVALUATED;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 1 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.qw_value == qw_value );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == qw_value );
+ CU_ASSERT( p_exp->dw_depth == 1 );
i_result = DWARF_Expression_Free( p_exp );
CU_ASSERT( 0x00 == i_result );
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 1 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_REQUESTED,
- LIBGOBLIN_DWARF_DATA_ADDRSIZE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_ADDRSIZE, LIBGOBLIN_DWARF_REQUEST_NONE );
- p_exp->dw_addrsize = 8;
- p_exp->dw_setdata |= LIBGOBLIN_DWARF_DATA_ADDRSIZE;
+ p_exp->qw_reqdata[ LIBGOBLIN_DWARF_DATAID_ADDRSIZE ] = 8;
+ p_exp->dw_setdata |= LIBGOBLIN_DWARF_REQUEST_ADDRSIZE;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 1 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_ADDRSIZE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_ADDRSIZE );
CU_ASSERT( p_exp->result.qw_value == 8 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == 8 );
+ CU_ASSERT( p_exp->dw_depth == 1 );
// DW_OP_const1u --------------
b_data[0] = DW_OP_const1u;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 2 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.qw_value == 0x12 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == 0x12 );
+ CU_ASSERT( p_exp->dw_depth == 1 );
// DW_OP_const1s --------------
b_data[0] = DW_OP_const1s;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 2 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.ii_value == -1 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.ii_value = -1 );
+ CU_ASSERT( p_exp->dw_depth == 1 );
// DW_OP_const2u --------------
b_data[0] = DW_OP_const2u;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.qw_value == 0x1234 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == 0x1234 );
+ CU_ASSERT( p_exp->dw_depth == 1 );
// DW_OP_const2s --------------
b_data[0] = DW_OP_const2s;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.ii_value == -12345 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.ii_value = -12345 );
+ CU_ASSERT( p_exp->dw_depth == 1 );
// DW_OP_const4u --------------
b_data[0] = DW_OP_const4u;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 5 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.qw_value == 0x12345678 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == 0x12345678 );
+ CU_ASSERT( p_exp->dw_depth == 1 );
// DW_OP_const4s --------------
b_data[0] = DW_OP_const4s;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 5 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.ii_value == -1234567890 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.ii_value = -1234567890 );
+ CU_ASSERT( p_exp->dw_depth == 1 );
// DW_OP_const8u --------------
b_data[0] = DW_OP_const8u;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 9 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.qw_value == 0x1234567890abcdef );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == 0x1234567890abcdef );
+ CU_ASSERT( p_exp->dw_depth == 1 );
// DW_OP_const8s --------------
b_data[0] = DW_OP_const8s;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 9 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.ii_value == -123456789012345 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.ii_value = -123456789012345 );
+ CU_ASSERT( p_exp->dw_depth == 1 );
// DW_OP_constu --------------
b_data[0] = DW_OP_constu;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.qw_value == 12857 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == 12857 );
+ CU_ASSERT( p_exp->dw_depth == 1 );
// DW_OP_consts --------------
b_data[0] = DW_OP_consts;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.ii_value == -129 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.ii_value = -129 );
+ CU_ASSERT( p_exp->dw_depth == 1 );
i_result = DWARF_Expression_Free( p_exp );
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_REQUESTED,
- (LIBGOBLIN_DWARF_DATA_REG | b_reg), LIBGOBLIN_DWARF_DATA_NONE );
+ (LIBGOBLIN_DWARF_REQUEST_REG | b_reg), LIBGOBLIN_DWARF_REQUEST_NONE );
- p_exp->qw_reg[b_reg] = 0x80000000;
- p_exp->dw_setdata |= (LIBGOBLIN_DWARF_DATA_REG | b_reg);
+ p_exp->qw_reqdata[b_reg] = 0x80000000;
+ p_exp->dw_setdata |= (LIBGOBLIN_DWARF_REQUEST_REG | b_reg);
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, (LIBGOBLIN_DWARF_DATA_REG | b_reg) );
+ LIBGOBLIN_DWARF_REQUEST_NONE, (LIBGOBLIN_DWARF_REQUEST_REG | b_reg) );
CU_ASSERT( p_exp->result.qw_value == (0x80000000 + 129) );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == (0x80000000 + 129) );
+ CU_ASSERT( p_exp->dw_depth == 1 );
b_data[0] = b_opcode;
b_data[1] = 0xff;
b_data[2] = 0x7e; // value = -129 (0xff 0x7e)
DWARF_Expression_ClearValue( p_exp );
- p_exp->qw_reg[b_reg] = 0x80000000;
- p_exp->dw_setdata |= (LIBGOBLIN_DWARF_DATA_REG | b_reg);
+ p_exp->qw_reqdata[b_reg] = 0x80000000;
+ p_exp->dw_setdata |= (LIBGOBLIN_DWARF_REQUEST_REG | b_reg);
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, (LIBGOBLIN_DWARF_DATA_REG | b_reg) );
+ LIBGOBLIN_DWARF_REQUEST_NONE, (LIBGOBLIN_DWARF_REQUEST_REG | b_reg) );
CU_ASSERT( p_exp->result.qw_value == (0x80000000 - 129) );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == (0x80000000 - 129) );
+ CU_ASSERT( p_exp->dw_depth == 1 );
i_result = DWARF_Expression_Free( p_exp );
CU_ASSERT( 0x00 == i_result );
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_REQUESTED,
- LIBGOBLIN_DWARF_DATA_FRAME_BASE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_FRAME_BASE, LIBGOBLIN_DWARF_REQUEST_NONE );
- p_exp->qw_frame_base = 0x80000000;
- p_exp->dw_setdata |= LIBGOBLIN_DWARF_DATA_FRAME_BASE;
+ p_exp->qw_reqdata[ LIBGOBLIN_DWARF_DATAID_FRAME_BASE ] = 0x80000000;
+ p_exp->dw_setdata |= LIBGOBLIN_DWARF_REQUEST_FRAME_BASE;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_FRAME_BASE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_FRAME_BASE );
CU_ASSERT( p_exp->result.qw_value == (0x80000000 + 129) );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == (0x80000000 + 129) );
+ CU_ASSERT( p_exp->dw_depth == 1 );
b_data[0] = DW_OP_fbreg;
b_data[1] = 0xff;
b_data[2] = 0x7e; // value = -129 (0xff 0x7e)
DWARF_Expression_ClearValue( p_exp );
- p_exp->qw_frame_base = 0x80000000;
- p_exp->dw_setdata |= LIBGOBLIN_DWARF_DATA_FRAME_BASE;
+ p_exp->qw_reqdata[ LIBGOBLIN_DWARF_DATAID_FRAME_BASE ] = 0x80000000;
+ p_exp->dw_setdata |= LIBGOBLIN_DWARF_REQUEST_FRAME_BASE;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_FRAME_BASE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_FRAME_BASE );
CU_ASSERT( p_exp->result.qw_value == (0x80000000 - 129) );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == (0x80000000 - 129) );
+ CU_ASSERT( p_exp->dw_depth == 1 );
// DW_OP_bregX --------------
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 4 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_REQUESTED,
- (LIBGOBLIN_DWARF_DATA_REG | 0x0a), LIBGOBLIN_DWARF_DATA_NONE );
+ (LIBGOBLIN_DWARF_REQUEST_REG | 0x0a), LIBGOBLIN_DWARF_REQUEST_NONE );
- p_exp->qw_reg[0x0a] = 0x80000000;
- p_exp->dw_setdata |= (LIBGOBLIN_DWARF_DATA_REG | 0x0a );
+ p_exp->qw_reqdata[0x0a] = 0x80000000;
+ p_exp->dw_setdata |= (LIBGOBLIN_DWARF_REQUEST_REG | 0x0a );
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 4 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, (LIBGOBLIN_DWARF_DATA_REG | 0x0a) );
+ LIBGOBLIN_DWARF_REQUEST_NONE, (LIBGOBLIN_DWARF_REQUEST_REG | 0x0a) );
CU_ASSERT( p_exp->result.qw_value == (0x80000000 + 129) );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == (0x80000000 + 129) );
+ CU_ASSERT( p_exp->dw_depth == 1 );
b_data[0] = DW_OP_bregx;
b_data[2] = 0xff;
b_data[3] = 0x7e; // value = -129 (0xff 0x7e)
DWARF_Expression_ClearValue( p_exp );
- p_exp->qw_reg[0x1f] = 0x80000000;
- p_exp->dw_setdata |= (LIBGOBLIN_DWARF_DATA_REG | 0x1f );
+ p_exp->qw_reqdata[0x1f] = 0x80000000;
+ p_exp->dw_setdata |= (LIBGOBLIN_DWARF_REQUEST_REG | 0x1f );
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 4 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, (LIBGOBLIN_DWARF_DATA_REG | 0x1f ) );
+ LIBGOBLIN_DWARF_REQUEST_NONE, (LIBGOBLIN_DWARF_REQUEST_REG | 0x1f ) );
CU_ASSERT( p_exp->result.qw_value == (0x80000000 - 129) );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == (0x80000000 - 129) );
+ CU_ASSERT( p_exp->dw_depth == 1 );
i_result = DWARF_Expression_Free( p_exp );
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 1 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_ERROR,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
b_data[0] = DW_OP_lit10;
b_data[1] = DW_OP_dup;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 2 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.qw_value == 10 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == 10 );
+ CU_ASSERT( p_exp->t_stack[ 1 ].value.qw_value == 10 );
+ CU_ASSERT( p_exp->dw_depth == 2 );
// DW_OP_drop ---------------
b_data[0] = DW_OP_drop;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 1 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_ERROR,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
b_data[0] = DW_OP_lit10;
b_data[1] = DW_OP_drop;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 2 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_ERROR,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
b_data[0] = DW_OP_lit31;
b_data[1] = DW_OP_lit10;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.qw_value == 31 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == 31 );
+ CU_ASSERT( p_exp->t_stack[ 1 ].value.qw_value == 10 );
+ CU_ASSERT( p_exp->dw_depth == 1 );
+
+ // DW_OP_pick ---------------
+ b_data[0] = DW_OP_pick;
+ b_data[1] = 2;
+ DWARF_Expression_ClearValue( p_exp );
+ dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 1 );
+ Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
+ LIBGOBLIN_DWARF_STATUS_ERROR,
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
+
+ b_data[0] = DW_OP_lit10;
+ b_data[1] = DW_OP_pick;
+ b_data[2] = 2;
+ DWARF_Expression_ClearValue( p_exp );
+ dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
+ Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
+ LIBGOBLIN_DWARF_STATUS_ERROR,
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
+
+ b_data[0] = DW_OP_lit10;
+ b_data[1] = DW_OP_lit20;
+ b_data[2] = DW_OP_lit30;
+ b_data[3] = DW_OP_pick;
+ b_data[4] = 2;
+ DWARF_Expression_ClearValue( p_exp );
+ dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 5 );
+ Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
+ LIBGOBLIN_DWARF_STATUS_EVALUATED,
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
+ CU_ASSERT( p_exp->result.qw_value == 10 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == 10 );
+ CU_ASSERT( p_exp->t_stack[ 1 ].value.qw_value == 20 );
+ CU_ASSERT( p_exp->t_stack[ 2 ].value.qw_value == 30 );
+ CU_ASSERT( p_exp->t_stack[ 3 ].value.qw_value == 10 );
+ CU_ASSERT( p_exp->dw_depth == 4 );
// DW_OP_over ---------------
b_data[0] = DW_OP_over;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 1 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_ERROR,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
b_data[0] = DW_OP_lit10;
b_data[1] = DW_OP_over;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 2 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_ERROR,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
b_data[0] = DW_OP_lit30;
b_data[1] = DW_OP_lit11;
- b_data[2] = DW_OP_drop;
+ b_data[2] = DW_OP_over;
DWARF_Expression_ClearValue( p_exp );
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
CU_ASSERT( p_exp->result.qw_value == 30 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == 30 );
+ CU_ASSERT( p_exp->t_stack[ 1 ].value.qw_value == 11 );
+ CU_ASSERT( p_exp->t_stack[ 2 ].value.qw_value == 30 );
+ CU_ASSERT( p_exp->dw_depth == 3 );
- // DW_OP_pick ---------------
+ // DW_OP_swap ---------------
+ b_data[0] = DW_OP_lit10;
+ b_data[1] = DW_OP_swap;
+ DWARF_Expression_ClearValue( p_exp );
+ dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 2 );
+ Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
+ LIBGOBLIN_DWARF_STATUS_ERROR,
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
+
+ b_data[0] = DW_OP_lit10;
+ b_data[1] = DW_OP_lit20;
+ b_data[2] = DW_OP_lit30;
+ b_data[3] = DW_OP_swap;
+ DWARF_Expression_ClearValue( p_exp );
+ dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 4 );
+ Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
+ LIBGOBLIN_DWARF_STATUS_EVALUATED,
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
+ CU_ASSERT( p_exp->result.qw_value == 20 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == 10 );
+ CU_ASSERT( p_exp->t_stack[ 1 ].value.qw_value == 30 );
+ CU_ASSERT( p_exp->t_stack[ 2 ].value.qw_value == 20 );
+ CU_ASSERT( p_exp->dw_depth == 3 );
+
+ // DW_OP_rot ---------------
+ b_data[0] = DW_OP_lit10;
+ b_data[1] = DW_OP_lit20;
+ b_data[2] = DW_OP_rot;
+ DWARF_Expression_ClearValue( p_exp );
+ dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
+ Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
+ LIBGOBLIN_DWARF_STATUS_ERROR,
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
+ b_data[0] = DW_OP_lit10;
+ b_data[1] = DW_OP_lit20;
+ b_data[2] = DW_OP_lit30;
+ b_data[3] = DW_OP_rot;
+ DWARF_Expression_ClearValue( p_exp );
+ dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 4 );
+ Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
+ LIBGOBLIN_DWARF_STATUS_EVALUATED,
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_NONE );
+ CU_ASSERT( p_exp->result.qw_value == 20 );
+ CU_ASSERT( p_exp->t_stack[ 0 ].value.qw_value == 30 );
+ CU_ASSERT( p_exp->t_stack[ 1 ].value.qw_value == 10 );
+ CU_ASSERT( p_exp->t_stack[ 2 ].value.qw_value == 20 );
+ CU_ASSERT( p_exp->dw_depth == 3 );
+
+ // DW_OP_deref ------------------
+ // DW_OP_deref_size -------------
+ // DW_OP_xderef -----------------
+ // DW_OP_xderef_size ------------
+ // DW_OP_push_object_address ----
+ // DW_OP_form_tls_address -------
+ // DW_OP_call_frame_cfa ---------
+
// DW_OP_fbreg --------------
/*
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_REQUESTED,
- LIBGOBLIN_DWARF_DATA_FRAME_BASE, LIBGOBLIN_DWARF_DATA_NONE );
+ LIBGOBLIN_DWARF_REQUEST_FRAME_BASE, LIBGOBLIN_DWARF_REQUEST_NONE );
p_exp->qw_frame_base = 0x80000000;
- p_exp->dw_setdata |= LIBGOBLIN_DWARF_DATA_FRAME_BASE;
+ p_exp->dw_setdata |= LIBGOBLIN_DWARF_REQUEST_FRAME_BASE;
dw_result = DWARF_Expression_Evaluate( p_exp, b_data, 3 );
Test_LibGoblin_DWARF_Expression_CheckStruct( p_exp,
LIBGOBLIN_DWARF_STATUS_EVALUATED,
- LIBGOBLIN_DWARF_DATA_NONE, LIBGOBLIN_DWARF_DATA_FRAME_BASE );
+ LIBGOBLIN_DWARF_REQUEST_NONE, LIBGOBLIN_DWARF_REQUEST_FRAME_BASE );
CU_ASSERT( p_exp->result.qw_value == (0x80000000 + 129) );
*/