ok, rebuilding DynInst 9.3.2 now to investigate why adding the string does not seem to have any effect.
I looked at the source code, and I *think* the function is already in the list of non-returning functions.
Checking what is going on. Example setup:
.plt.got:0000000000053CF8 __stack_chk_fail proc near ; CODE XREF: init:loc_54673âp
.plt.got:0000000000053CF8 ; uninit:loc_54705âp ...
.plt.got:0000000000053CF8 jmp cs:__stack_chk_fail_ptr
.plt.got:0000000000053CF8 __stack_chk_fail endp
.text:00000000000A4290 var_8 = qword ptr -8
.text:00000000000A4290
.text:00000000000A4290 graph = rdi ; AVFilterGraph_0 *
.text:00000000000A4290 flags = rsi ; unsigned int
.text:00000000000A4290 ; __unwind {
.text:00000000000A4290 push rax
.text:00000000000A4291 mov rax, fs:28h
.text:00000000000A429A mov [rsp+8+var_8], rax
.text:00000000000A429E mov [graph+5Ch], esi
.text:00000000000A42A1 mov rax, fs:28h
.text:00000000000A42AA cmp rax, [rsp+8+var_8]
.text:00000000000A42AE jnz short loc_A42B2
.text:00000000000A42B0 pop rax
.text:00000000000A42B1 retn
.text:00000000000A42B2 ; ---------------------------------------------------------------------------
.text:00000000000A42B2
.text:00000000000A42B2 loc_A42B2: ; CODE XREF: avfilter_graph_set_auto_convert+1Eâj
.text:00000000000A42B2 call __stack_chk_fail
.text:00000000000A42B2 ; } // starts at A4290
.text:00000000000A42B2 avfilter_graph_set_auto_convert endp
DynInst for some reason does not interpret the tailing call as non-return. Digging to see what is going on,