If __OPTIMIZE__ is defined, then compile dwarf_whatattr.c and dwarf_whatform.c will cause symbol conflict between dwarf_whatattr.c and libdw.h, dwarf_whatform.c and libdw.h,
So always undefined __OPTIMIZE__ when compiling these two files The error message is: dwarf_whatform.c [build] C:\work\xemu\elfutils\libdw\dwarf_whatform.c(39,1): error: redefinition of 'dwarf_whatform' [build] dwarf_whatform (Dwarf_Attribute *attr) [build] ^ [build] C:\work\xemu\elfutils\libdw/libdw.h(1110,1): note: previous definition is here [build] dwarf_whatform (Dwarf_Attribute *attr) [build] ^ [build] 1 error generated. Signed-off-by: Yonggang Luo <luoyongg...@gmail.com> --- libdw/dwarf_whatattr.c | 9 ++++----- libdw/dwarf_whatform.c | 9 ++++----- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/libdw/dwarf_whatattr.c b/libdw/dwarf_whatattr.c index d664b021..01d92307 100644 --- a/libdw/dwarf_whatattr.c +++ b/libdw/dwarf_whatattr.c @@ -30,13 +30,12 @@ #ifdef HAVE_CONFIG_H # include <config.h> #endif - +#ifndef __OPTIMIZE__ +#define __OPTIMIZE__ +#endif #include <dwarf.h> #include "libdwP.h" unsigned int -dwarf_whatattr (Dwarf_Attribute *attr) -{ - return attr == NULL ? 0 : attr->code; -} +dwarf_whatattr (Dwarf_Attribute *attr); diff --git a/libdw/dwarf_whatform.c b/libdw/dwarf_whatform.c index dee29a9f..9b3e41e6 100644 --- a/libdw/dwarf_whatform.c +++ b/libdw/dwarf_whatform.c @@ -30,13 +30,12 @@ #ifdef HAVE_CONFIG_H # include <config.h> #endif - +#ifndef __OPTIMIZE__ +#define __OPTIMIZE__ +#endif #include <dwarf.h> #include "libdwP.h" unsigned int -dwarf_whatform (Dwarf_Attribute *attr) -{ - return attr == NULL ? 0 : attr->form; -} +dwarf_whatform (Dwarf_Attribute *attr); \ No newline at end of file -- 2.36.1.windows.1