Issue 76957
Summary [libunwind]
Labels new issue
Assignees
Reporter SihangZhu
    In libgcc, we register the eh_frame section of the live patching. We can use the `__register_frame` interface. This libunwind library also provides` __register_frame` and `__deregister_frame` functions, but they are aliases for `__unw_add_dynamic_fde` and `__unw_remove_dynamic_fde` and thus can only take a single FDE. I found the `__unw_add_dynamic_eh_frame_section` function, but during live patching, the eh_frame section may be followed by all 0. Scenario,  the content of all 0 will be regarded as legal CIE.
We will fall into an infinite loop or access illegal memory.
the data of patchArea as below
![image](https://github.com/llvm/llvm-project/assets/153892168/e623900d-61d4-4008-b788-34b3b6d013c5)

_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to