❦ 8 septembre 2020 16:13 -04, Alex Evonosky:
> Just compiling 2.2.3 and getting this reference:
>
>
> /haproxy-2.2.3/src/thread.c:212: undefined reference to
> `_Unwind_Find_FDE'
I am getting the same issue on armhf only. Other platforms don't get
this issue. On this platform, we only get:
00000000 w DF *UND* 00000000 GLIBC_2.4 __gnu_Unwind_Find_exidx
000165d0 g DF .text 0000000c GCC_3.0 _Unwind_DeleteException
0000d1f6 g DF .text 00000002 GCC_3.0 _Unwind_GetTextRelBase
00016e1c g DF .text 00000022 GCC_4.3.0 _Unwind_Backtrace
00016df8 g DF .text 00000022 GCC_3.0 _Unwind_ForcedUnwind
00016dd4 g DF .text 00000022 GCC_3.3 _Unwind_Resume_or_Rethrow
0000d1f0 g DF .text 00000006 GCC_3.0 _Unwind_GetDataRelBase
0001662c g DF .text 00000036 GCC_3.5 _Unwind_VRS_Set
00016db0 g DF .text 00000022 GCC_3.0 _Unwind_Resume
000169d8 g DF .text 000002ba GCC_3.5 _Unwind_VRS_Pop
00017178 g DF .text 0000000a GCC_3.0 _Unwind_GetRegionStart
000165cc g DF .text 00000002 GCC_3.5 _Unwind_Complete
00017184 g DF .text 00000012 GCC_3.0 _Unwind_GetLanguageSpecificData
000165dc g DF .text 00000036 GCC_3.5 _Unwind_VRS_Get
000164f0 g DF .text 00000004 GCC_3.3 _Unwind_GetCFA
00016d8c g DF .text 00000022 GCC_3.0 _Unwind_RaiseException
So, older symbols are:
000165d0 g DF .text 0000000c GCC_3.0 _Unwind_DeleteException
0000d1f6 g DF .text 00000002 GCC_3.0 _Unwind_GetTextRelBase
00016df8 g DF .text 00000022 GCC_3.0 _Unwind_ForcedUnwind
0000d1f0 g DF .text 00000006 GCC_3.0 _Unwind_GetDataRelBase
00016db0 g DF .text 00000022 GCC_3.0 _Unwind_Resume
00017178 g DF .text 0000000a GCC_3.0 _Unwind_GetRegionStart
00017184 g DF .text 00000012 GCC_3.0 _Unwind_GetLanguageSpecificData
00016d8c g DF .text 00000022 GCC_3.0 _Unwind_RaiseException
Moreover, comment says _Unwind_Find_DFE doesn't take arguments, but the
signature I have in glibc is:
fde *
_Unwind_Find_FDE (void *pc, struct dwarf_eh_bases *bases)
--
Don't sacrifice clarity for small gains in "efficiency".
- The Elements of Programming Style (Kernighan & Plauger)