Commit 802ddeaa authored by Thiago Macieira's avatar Thiago Macieira Committed by Erich Keane

Force linking of liboctbstack to require all symbols resolved

The --no-undefined option (same as -z defs) causes the linker to refuse
to create its output if there are any symbols still unresolved after
searching all the dependent shared libraries. The default on ELF systems
is to allow shared libraries to link even if there are symbols
undefined, which has caused many a developer a lot of headache.

Unfortunately, changing ELF design flaws is not within our grasp.

Change-Id: I0d4913955e3745b69672ffff13dbc5f36ac07b3d
Signed-off-by: default avatarThiago Macieira <>
Reviewed-on: default avatarjenkins-iotivity <>
Reviewed-by: default avatarErich Keane <>
parent 49e729ae
......@@ -77,6 +77,8 @@ elif target_os not in ['darwin','ios']:
if target_os in ['darwin', 'ios']:
liboctbstack_env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE'])
liboctbstack_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
if target_os not in ['arduino']:
liboctbstack_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
if env.get('SECURED') == '1':
liboctbstack_env.AppendUnique(LIBS = ['tinydtls'])
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment