]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Update main/backtrace.c to deal with changes in binutils 2.34.
authorJaco Kroon <jaco@uls.co.za>
Mon, 16 Mar 2020 10:11:11 +0000 (12:11 +0200)
committerGeorge Joseph <gjoseph@digium.com>
Tue, 17 Mar 2020 14:13:53 +0000 (09:13 -0500)
binutils 2.34 merged this commit:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;\
h=fd3619828e94a24a92cddec42cbc0ab33352eeb4

Which effectively does things like:

-#define bfd_section_size(bfd, ptr) ((ptr)->size)
-#define bfd_get_section_size(ptr) ((ptr)->size)

+#define bfd_section_size(sec) ((sec)->size)

So in order to remain backwards compatible we need to detect this API
change, and adjust accordingly.  The simplest is to notice that the
bfd_get_section_size and bfd_get_section_vma MACROs are no longer
defined, and define then onto the new API.  The alternative is to litter
the code with a number of #ifdef #else #endif splatters right through
the code.

Change-Id: I3efe0f8e8f3e338d16fcbc2b26a505367b6e172f

main/backtrace.c

index 50e642eb77b4b823a4213c151e56eb79b7c3c2e6..28f5e40a6f825a190b1461970762d2d768eb1f11 100644 (file)
 #if defined(HAVE_DLADDR) && defined(HAVE_BFD) && defined(BETTER_BACKTRACES)
 #include <dlfcn.h>
 #include <bfd.h>
+#ifndef bfd_get_section_size
+#define bfd_get_section_size(x) bfd_section_size(x)
+#endif
+#ifndef bfd_get_section_vma
+#define bfd_get_section_vma(x, y)      bfd_section_vma(y)
+#endif
 #endif
 
 #include <pthread.h>