Index: runtime/test/ompt/callback.h =================================================================== --- runtime/test/ompt/callback.h +++ runtime/test/ompt/callback.h @@ -120,10 +120,10 @@ ((char *)addr) - 8) #elif KMP_ARCH_AARCH64 // On AArch64 the NOP instruction is 4 bytes long, can be followed by inserted -// store instruction (another 4 bytes long). +// store instruction (another 4 bytes long) and possibly another instruction. #define print_possible_return_addresses(addr) \ - printf("%" PRIu64 ": current_address=%p or %p\n", ompt_get_thread_data()->value, \ - ((char *)addr) - 4, ((char *)addr) - 8) + printf("%" PRIu64 ": current_address=%p or %p or %p\n", ompt_get_thread_data()->value, \ + ((char *)addr) - 4, ((char *)addr) - 8), ((char *)addr) - 12) #else #error Unsupported target architecture, cannot determine address offset! #endif Index: runtime/test/ompt/synchronization/flush.c =================================================================== --- runtime/test/ompt/synchronization/flush.c +++ runtime/test/ompt/synchronization/flush.c @@ -21,10 +21,10 @@ // CHECK: 0: NULL_POINTER=[[NULL:.*$]] // CHECK: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_flush: codeptr_ra=[[RETURN_ADDRESS:0x[0-f]+]] - // CHECK: {{^}}[[MASTER_ID:[0-9]+]]: current_address=[[RETURN_ADDRESS]] + // CHECK: {{^}}[[MASTER_ID:[0-9]+]]: current_address={{.*}}[[RETURN_ADDRESS]] // // CHECK: {{^}}[[THREAD_ID:[0-9]+]]: ompt_event_flush: codeptr_ra=[[RETURN_ADDRESS:0x[0-f]+]] - // CHECK: {{^}}[[THREAD_ID:[0-9]+]]: current_address=[[RETURN_ADDRESS]] + // CHECK: {{^}}[[THREAD_ID:[0-9]+]]: current_address={{.*}}[[RETURN_ADDRESS]] Index: runtime/test/ompt/synchronization/master.c =================================================================== --- runtime/test/ompt/synchronization/master.c +++ runtime/test/ompt/synchronization/master.c @@ -29,7 +29,7 @@ // CHECK: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_master_begin: parallel_id=[[PARALLEL_ID:[0-9]+]], task_id=[[TASK_ID:[0-9]+]], codeptr_ra=[[RETURN_ADDRESS:0x[0-f]+]]{{[0-f][0-f]}} // CHECK: {{^}}[[MASTER_ID]]: fuzzy_address={{.*}}[[RETURN_ADDRESS]] // CHECK: {{^}}[[MASTER_ID]]: ompt_event_master_end: parallel_id=[[PARALLEL_ID]], task_id=[[TASK_ID]], codeptr_ra=[[RETURN_ADDRESS_END:0x[0-f]+]] - // CHECK: {{^}}[[MASTER_ID]]: current_address=[[RETURN_ADDRESS_END]] + // CHECK: {{^}}[[MASTER_ID]]: current_address={{.*}}[[RETURN_ADDRESS_END]] return 0;