This patch fixes a linking error that occurs when using clang/llvm in
combination with older versions of glibc. The fix involves adding
-std=gnu89 to the command line when compiling libelf as clang defaults
to c99, causing issues with the symbols in sysmacros.h being defined
multiple times.
'-Wno-implicit-function-declaration'])
if m4env['CLANG']:
m4env.Append(CCFLAGS=['-Wno-initializer-overrides', '-Wno-pointer-sign'])
+ # clang defaults to c99 (while gcc defaults to gnu89) and there is a
+ # difference in the handling of inlining functions which causes
+ # linking problems with multiple definitions of the symbols in
+ # sysmacros.h for older versions of glibc
+ m4env.Append(CCFLAGS=['-std=gnu89'])
m4env.Append(CCFLAGS=['-Wno-implicit'])
del m4env['CPPPATH']