aboutsummaryrefslogtreecommitdiff
path: root/libsframe/testsuite/libsframe.find/findfunc-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'libsframe/testsuite/libsframe.find/findfunc-1.c')
-rw-r--r--libsframe/testsuite/libsframe.find/findfunc-1.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/libsframe/testsuite/libsframe.find/findfunc-1.c b/libsframe/testsuite/libsframe.find/findfunc-1.c
index 3cdcdb6..00b9e8d 100644
--- a/libsframe/testsuite/libsframe.find/findfunc-1.c
+++ b/libsframe/testsuite/libsframe.find/findfunc-1.c
@@ -50,7 +50,10 @@ add_fde1 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr,
fre_start_addr of the last FRE above (0x38). */
*func_size = 0x40;
- int32_t func1_start_addr = start_pc_vaddr - sframe_vaddr;
+ uint32_t offsetof_fde_in_sec
+ = sframe_encoder_get_offsetof_fde_start_addr (encode, idx, NULL);
+ int32_t func1_start_addr = (start_pc_vaddr
+ - (sframe_vaddr + offsetof_fde_in_sec));
unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1,
SFRAME_FDE_TYPE_PCINC);
int err = sframe_encoder_add_funcdesc (encode, func1_start_addr, *func_size,
@@ -81,7 +84,10 @@ add_fde2 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr,
fre_start_addr of the last FRE above (0x20). */
*func_size = 0x60;
- int32_t func2_start_addr = start_pc_vaddr - sframe_vaddr;
+ uint32_t offsetof_fde_in_sec
+ = sframe_encoder_get_offsetof_fde_start_addr (encode, idx, NULL);
+ int32_t func2_start_addr = (start_pc_vaddr
+ - (sframe_vaddr + offsetof_fde_in_sec));
unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1,
SFRAME_FDE_TYPE_PCINC);
int err = sframe_encoder_add_funcdesc (encode, func2_start_addr, *func_size,
@@ -112,7 +118,10 @@ add_fde3 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr,
fre_start_addr of the last FRE above (0x38). */
*func_size = 0x40;
- int32_t func3_start_addr = start_pc_vaddr - sframe_vaddr;
+ uint32_t offsetof_fde_in_sec
+ = sframe_encoder_get_offsetof_fde_start_addr (encode, idx, NULL);
+ int32_t func3_start_addr = (start_pc_vaddr
+ - (sframe_vaddr + offsetof_fde_in_sec));
unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1,
SFRAME_FDE_TYPE_PCINC);
int err = sframe_encoder_add_funcdesc (encode, func3_start_addr, *func_size,
@@ -155,7 +164,8 @@ void test_text_findfre (uint32_t text_vaddr, uint32_t sframe_vaddr)
} \
while (0)
- encode = sframe_encode (SFRAME_VERSION, 0,
+ encode = sframe_encode (SFRAME_VERSION,
+ SFRAME_F_FDE_FUNC_START_PCREL,
SFRAME_ABI_AMD64_ENDIAN_LITTLE,
SFRAME_CFA_FIXED_FP_INVALID,
-8, /* Fixed RA offset for AMD64. */