<div dir="ltr">Hi,<div><br></div><div>I'm trying to compile lttng-ust library on a Raspberry Pi 3 and I get the following error when make is compiling librinbuffer:</div><div><br></div><div>/tmp/ccczexgU.s:2010: Error: selected processor does not support `dmb' in ARM mode<br></div><div><br></div><div>I guessed the configure script is not detecting my processor correctly. Raspberry Pi 3 has a Cortex-A53 which is armv8, and has DMB. </div><div><br></div><div>To overcome this, I'm specifying additional CFLAGS to force to compile on the armv8 architecture:</div><div><br></div><div>CFLAGS="-mcpu=cortex-a53 -mfloat-abi=hard -mfpu=neon-fp-armv8 -mneon-for-64bits -mtune=cortex-a53" ./configure<br></div><div><br></div><div>Then I run make again. libringbuffer is compiled correctly, but now another error appears (see the bottom of this mail). I think it's related to liburcu. It seems lttng-ust-statedump.c is using some macros defined in hlist.c of the liburcu library, although I can't see no includes of that file. </div><div><br></div><div>Some context:<br></div><div>- I have compiled and installed the v0.7.2 of liburcu on my system.</div><div>- gcc version: gcc (Raspbian 6.3.0-18+rpi1) 6.3.0 20170516</div><div>- OS: Linux raspberrypi 4.9.35-v7+</div><div><br></div><div><br></div><div>The `make` output with the error:</div><div><br></div><div><div> CC       lttng-ust-statedump.lo</div><div>lttng-ust-statedump.c: In function ‘find_or_create_dl_node’:</div><div>lttng-ust-statedump.c:179:38: error: ‘node’ undeclared (first use in this function)<br></div><div>  cds_hlist_for_each_entry_2(e, head, node) {</div><div>                                      ^~~~</div><div>lttng-ust-statedump.c:179:44: error: expected ‘;’ before ‘{’ token<br></div><div>  cds_hlist_for_each_entry_2(e, head, node) {</div><div>                                            ^</div><div>lttng-ust-statedump.c:174:7: warning: unused variable ‘found’ [-Wunused-variable]</div><div>  bool found = false;</div><div>       ^~~~~</div><div>lttng-ust-statedump.c:193:1: warning: no return statement in function returning non-void [-Wreturn-type]</div><div> }</div><div> ^</div><div>lttng-ust-statedump.c: In function ‘iter_begin’:</div><div>lttng-ust-statedump.c:384:39: error: ‘node’ undeclared (first use in this function)</div><div>   cds_hlist_for_each_entry_2(e, head, node)</div><div>                                       ^~~~</div><div>lttng-ust-statedump.c: In function ‘iter_end’:</div><div>lttng-ust-statedump.c:433:39: error: ‘node’ undeclared (first use in this function)</div><div>   cds_hlist_for_each_entry_2(e, head, node) {</div><div>                                       ^~~~</div><div>lttng-ust-statedump.c:433:45: error: expected ‘;’ before ‘{’ token</div><div>   cds_hlist_for_each_entry_2(e, head, node) {</div><div>                                             ^</div><div>lttng-ust-statedump.c: In function ‘ust_dl_table_statedump’:</div><div>lttng-ust-statedump.c:542:39: error: ‘node’ undeclared (first use in this function)</div><div>   cds_hlist_for_each_entry_2(e, head, node) {</div><div>                                       ^~~~</div><div>lttng-ust-statedump.c:542:45: error: expected ‘;’ before ‘{’ token</div><div>   cds_hlist_for_each_entry_2(e, head, node) {</div><div>                                             ^</div><div>lttng-ust-statedump.c: In function ‘ust_dl_state_destroy’:</div><div>lttng-ust-statedump.c:642:3: warning: implicit declaration of function ‘cds_hlist_for_each_entry_safe_2’ [-Wimplicit-function-declaration]</div><div>   cds_hlist_for_each_entry_safe_2(e, tmp, head, node)</div><div>   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</div><div>lttng-ust-statedump.c:642:49: error: ‘node’ undeclared (first use in this function)</div><div>   cds_hlist_for_each_entry_safe_2(e, tmp, head, node)</div><div>                                                 ^~~~</div><div>lttng-ust-statedump.c:643:4: error: expected ‘;’ before ‘free_dl_node’</div><div>    free_dl_node(e);</div><div>    ^~~~~~~~~~~~</div><div>At top level:</div><div>lttng-ust-statedump.c:411:6: warning: ‘trace_lib_unload’ defined but not used [-Wunused-function]</div><div> void trace_lib_unload(const struct bin_info_data *bin_data, void *ip)</div><div>      ^~~~~~~~~~~~~~~~</div><div>lttng-ust-statedump.c:390:6: warning: ‘trace_lib_load’ defined but not used [-Wunused-function]</div><div> void trace_lib_load(const struct bin_info_data *bin_data, void *ip)</div><div>      ^~~~~~~~~~~~~~</div><div>lttng-ust-statedump.c:307:6: warning: ‘trace_baddr’ defined but not used [-Wunused-function]</div><div> void trace_baddr(struct bin_info_data *bin_data, void *owner)</div><div>      ^~~~~~~~~~~</div><div>lttng-ust-statedump.c:196:6: warning: ‘remove_dl_node’ defined but not used [-Wunused-function]</div><div> void remove_dl_node(struct lttng_ust_dl_node *e)</div><div>      ^~~~~~~~~~~~~~</div><div>lttng-ust-statedump.c:131:5: warning: ‘compare_bin_data’ defined but not used [-Wunused-function]</div><div> int compare_bin_data(const struct bin_info_data *a,</div><div>     ^~~~~~~~~~~~~~~~</div><div>lttng-ust-statedump.c:122:6: warning: ‘free_dl_node’ defined but not used [-Wunused-function]</div><div> void free_dl_node(struct lttng_ust_dl_node *e)</div><div>      ^~~~~~~~~~~~</div><div>lttng-ust-statedump.c:84:27: warning: ‘alloc_dl_node’ defined but not used [-Wunused-function]</div><div> struct lttng_ust_dl_node *alloc_dl_node(const struct bin_info_data *bin_data)</div><div>                           ^~~~~~~~~~~~~</div></div><div><br></div></div>