The list of symbols missing seem to be consistent with the onces defined with the CRM_TRACE_INIT_DATA macro:
lib/lrmd/lrmd_client.c
46:CRM_TRACE_INIT_DATA(lrmd);
The macro itself is defined in the following way:
include/crm/common/logging.h
112: #define CRM_TRACE_INIT_DATA(name) QB_LOG_INIT_DATA(name)
On the other hand QB_LOG_INIT_DATA is defined in libqb as follows:
#if defined(QB_KILL_ATTRIBUTE_SECTION) || defined(S_SPLINT_S)
#undef QB_HAVE_ATTRIBUTE_SECTION
#endif /* defined(QB_KILL_ATTRIBUTE_SECTION) || defined(S_SPLINT_S) */
The list of symbols missing seem to be consistent with the onces defined with the CRM_TRACE_INIT_DATA macro: lrmd_client. c TRACE_INIT_ DATA(lrmd) ;
lib/lrmd/
46:CRM_
lib/pacemaker/ pcmk_trans_ unpack. c TRACE_INIT_ DATA(transition er);
20:CRM_
lib/fencing/ st_client. c TRACE_INIT_ DATA(stonith) ;
37:CRM_
lib/pacemaker/ pcmk_sched_ allocate. c TRACE_INIT_ DATA(pe_ allocate) ;
24:CRM_
lib/cluster/ cluster. c TRACE_INIT_ DATA(cluster) ;
25:CRM_
lib/common/utils.c TRACE_INIT_ DATA(common) ;
57:CRM_
lib/pengine/ unpack. c TRACE_INIT_ DATA(pe_ status) ;
28:CRM_
lib/pengine/rules.c TRACE_INIT_ DATA(pe_ rules);
25:CRM_
The macro itself is defined in the following way: crm/common/ logging. h INIT_DATA( name) QB_LOG_ INIT_DATA( name)
include/
112: #define CRM_TRACE_
On the other hand QB_LOG_INIT_DATA is defined in libqb as follows: QB_KILL_ ATTRIBUTE_ SECTION) || defined(S_SPLINT_S) ATTRIBUTE_ SECTION QB_KILL_ ATTRIBUTE_ SECTION) || defined(S_SPLINT_S) */
#if defined(
#undef QB_HAVE_
#endif /* defined(
#ifdef QB_HAVE_ ATTRIBUTE_ SECTION INIT_DATA( name) ATTRIBUTE_ SECTION */
// ...
#else
#define QB_LOG_
#endif /* QB_HAVE_
So in the end with the QB_KILL_ ATTRIBUTE_ SECTION defined the macro QB_LOG_INIT_DATA is being left empty. Hence the missing symbols.