git: c52a6b17f28d - stable/12 - After r364423, which ensures the callbacks that dl_iterate_phdr(3) performs are protected by an exclusive lock, even for statically linked programs, it is safe to re-enable libunwind's FrameHeaderCache, which I temporarily disabled in r364263.

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Wed, 22 Dec 2021 10:06:10 UTC
The branch stable/12 has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=c52a6b17f28da03a928d477012ea942292f04fbe

commit c52a6b17f28da03a928d477012ea942292f04fbe
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2020-08-25 20:07:11 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2021-12-22 10:01:14 +0000

    After r364423, which ensures the callbacks that dl_iterate_phdr(3)
    performs are protected by an exclusive lock, even for statically linked
    programs, it is safe to re-enable libunwind's FrameHeaderCache, which I
    temporarily disabled in r364263.
    
    Meanwhile upstream has also used the _LIBUNWIND_USE_FRAME_HEADER_CACHE
    for this purpose, so the only thing needed is to add this as a
    compile-time command line flag.
    
    While here, reformat the CFLAGS lines a little bit.
    
    MFC after:      6 weeks
    X-MFC-With:     r364284, r364423
    
    (cherry picked from commit cc0b8830287282c96e26cd826383dc4794eb1268)
---
 lib/libgcc_eh/Makefile.inc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib/libgcc_eh/Makefile.inc b/lib/libgcc_eh/Makefile.inc
index 6e025921180a..4fe1eff406e1 100644
--- a/lib/libgcc_eh/Makefile.inc
+++ b/lib/libgcc_eh/Makefile.inc
@@ -25,7 +25,10 @@ CFLAGS.${file}+=	-fno-exceptions -funwind-tables
 CXXFLAGS.${file}+=	-fno-exceptions -funwind-tables
 .endfor
 
-CFLAGS+=	-I${UNWINDINCDIR} -I${.CURDIR} -D_LIBUNWIND_IS_NATIVE_ONLY
+CFLAGS+=	-I${UNWINDINCDIR}
+CFLAGS+=	-I${.CURDIR}
+CFLAGS+=	-D_LIBUNWIND_IS_NATIVE_ONLY
+CFLAGS+=	-D_LIBUNWIND_USE_FRAME_HEADER_CACHE
 CXXFLAGS+=	-fno-rtti
 CXXSTD?=	c++11
 STATIC_CXXFLAGS+= -fvisibility=hidden -fPIC