scons: Fix libelf linking errors when using clang/llvm
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.
This commit is contained in:
parent
b7827a5aaa
commit
4731979ab0
1 changed files with 5 additions and 0 deletions
|
@ -100,6 +100,11 @@ if m4env['GCC']:
|
||||||
'-Wno-implicit-function-declaration'])
|
'-Wno-implicit-function-declaration'])
|
||||||
if m4env['CLANG']:
|
if m4env['CLANG']:
|
||||||
m4env.Append(CCFLAGS=['-Wno-initializer-overrides', '-Wno-pointer-sign'])
|
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'])
|
m4env.Append(CCFLAGS=['-Wno-implicit'])
|
||||||
del m4env['CPPPATH']
|
del m4env['CPPPATH']
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue