All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2] package/collectd: Specify FP layout based on endianness
@ 2017-11-07 20:04 Andrey Smirnov
  2017-11-07 21:38 ` Thomas Petazzoni
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Andrey Smirnov @ 2017-11-07 20:04 UTC (permalink / raw)
  To: buildroot

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>
---

Changes in [v2]:

 - Patch converted to use target's endianness as opposed to CPU
   architecture
 
 - Added a notes about the discussion around "intswap"

[v2] http://lists.busybox.net/pipermail/buildroot/2017-October/205773.html

 package/collectd/collectd.mk | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk
index 626fba81bf..6c987b2e36 100644
--- a/package/collectd/collectd.mk
+++ b/package/collectd/collectd.mk
@@ -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) \
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2] package/collectd: Specify FP layout based on endianness
  2017-11-07 20:04 [Buildroot] [PATCH v2] package/collectd: Specify FP layout based on endianness Andrey Smirnov
@ 2017-11-07 21:38 ` Thomas Petazzoni
  2017-11-11 22:31 ` Thomas Petazzoni
  2017-11-26 21:26 ` Peter Korsgaard
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2017-11-07 21:38 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue,  7 Nov 2017 12:04:42 -0800, Andrey Smirnov wrote:
> 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>

Thanks!

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2] package/collectd: Specify FP layout based on endianness
  2017-11-07 20:04 [Buildroot] [PATCH v2] package/collectd: Specify FP layout based on endianness Andrey Smirnov
  2017-11-07 21:38 ` Thomas Petazzoni
@ 2017-11-11 22:31 ` Thomas Petazzoni
  2017-11-26 21:26 ` Peter Korsgaard
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2017-11-11 22:31 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue,  7 Nov 2017 12:04:42 -0800, Andrey Smirnov wrote:
> 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>
> ---

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2] package/collectd: Specify FP layout based on endianness
  2017-11-07 20:04 [Buildroot] [PATCH v2] package/collectd: Specify FP layout based on endianness Andrey Smirnov
  2017-11-07 21:38 ` Thomas Petazzoni
  2017-11-11 22:31 ` Thomas Petazzoni
@ 2017-11-26 21:26 ` Peter Korsgaard
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Korsgaard @ 2017-11-26 21:26 UTC (permalink / raw)
  To: buildroot

>>>>> "Andrey" == Andrey Smirnov <andrew.smirnov@gmail.com> writes:

 > 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>
 > ---

 > Changes in [v2]:

 >  - Patch converted to use target's endianness as opposed to CPU
 >    architecture
 
 >  - Added a notes about the discussion around "intswap"

 > [v2] http://lists.busybox.net/pipermail/buildroot/2017-October/205773.html

Committed to 2017.02.x and 2017.08.x, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-11-26 21:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-07 20:04 [Buildroot] [PATCH v2] package/collectd: Specify FP layout based on endianness Andrey Smirnov
2017-11-07 21:38 ` Thomas Petazzoni
2017-11-11 22:31 ` Thomas Petazzoni
2017-11-26 21:26 ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.