package/collectd: Specify FP layout based on endianness
authorAndrey Smirnov <andrew.smirnov@gmail.com>
Tue, 7 Nov 2017 20:04:42 +0000 (12:04 -0800)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 11 Nov 2017 22:31:14 +0000 (23:31 +0100)
Big-endian CPUs store floating point as big endian (at lest majority
of them do), so, in order for 'network' plugin to work correctly (and
potentially any user of htond() in collectd's codebase),
--with-fp-layout=endianflip as opposed to --with-fp-layout=nothing
needs to be specified during configuration phase.

Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/collectd/collectd.mk

index 626fba81bf2078111ac947e0550b876e886a0006..6c987b2e36f8cfd4d53c13c516b22884cf8f52e2 100644 (file)
@@ -24,9 +24,23 @@ COLLECTD_PLUGINS_DISABLE = \
 
 COLLECTD_CONF_ENV += LIBS="-lm"
 
+#
+# NOTE: There's also a third availible setting "intswap", which might
+# be needed on some old ARM hardware (see [2]), but is not being
+# accounted for as per discussion [1]
+#
+# [1] http://lists.busybox.net/pipermail/buildroot/2017-November/206100.html
+# [2] http://lists.busybox.net/pipermail/buildroot/2017-November/206251.html
+#
+ifeq ($(BR2_ENDIAN),"BIG")
+COLLECTD_FP_LAYOUT=endianflip
+else
+COLLECTD_FP_LAYOUT=nothing
+endif
+
 COLLECTD_CONF_OPTS += \
        --with-nan-emulation \
-       --with-fp-layout=nothing \
+       --with-fp-layout=$(COLLECTD_FP_LAYOUT) \
        --with-perl-bindings=no \
        $(foreach p, $(COLLECTD_PLUGINS_DISABLE), --disable-$(p)) \
        $(if $(BR2_PACKAGE_COLLECTD_AGGREGATION),--enable-aggregation,--disable-aggregation) \