[PATCH 3/4] libgcc: Split FDE search code from PT_GNU_EH_FRAME lookup

Jakub Jelinek jakub@redhat.com
Thu Nov 25 17:16:57 GMT 2021


On Tue, Nov 23, 2021 at 06:56:14PM +0100, Florian Weimer wrote:
> 8<------------------------------------------------------------------8<
> This allows switching to a different implementation for
> PT_GNU_EH_FRAME lookup in a subsequent commit.
> 
> This moves some of the PT_GNU_EH_FRAME parsing out of the glibc loader
> lock that is implied by dl_iterate_phdr.  However, the FDE is already
> parsed outside the lock before this change, so this does not introduce
> additional crashes in case of a concurrent dlclose.
> 
> libunwind/ChangeLog
> 
> 	* unwind-dw2-fde-dip.c (struct unw_eh_callback_data): Add hdr.
> 	Remove func, ret.
> 	(find_fde_tail): New function.  Split from
> 	_Unwind_IteratePhdrCallback. Move the result initialization
> 	from _Unwind_Find_FDE.
> 	(_Unwind_Find_FDE): Updated to call find_fde_tail.

LGTM, thanks.

	Jakub



More information about the Libc-alpha mailing list