[OpenWrt-Devel] [PATCH-18.06] omcproxy: fix compilation on little-endian CPUs

Hans Dedecker dedeckeh at gmail.com
Mon Aug 5 08:10:42 EDT 2019


Hi,

On Tue, Jul 23, 2019 at 5:02 AM Rosen Penev <rosenp at gmail.com> wrote:
>
> From: Eneas U de Queiroz <cote2004-github at yahoo.com>
>
> Don't use cpu_to_be32 outside of a function.
>
> Signed-off-by: Eneas U de Queiroz <cote2004-github at yahoo.com>
This patch has already been applied in the past; see
https://git.openwrt.org/?p=project/omcproxy.git;a=commit;h=722151f04348cf1b759613c087bced52fb45790a

Hans
> ---
>  Please backport to 18.06
>  https://downloads.openwrt.org/releases/faillogs-18.06/arm_cortex-a9_vfpv3/base/omcproxy/compile.txt
>  package/network/services/omcproxy/Makefile    |  2 +-
>  ...-use-cpu_to_be32-outside-of-function.patch | 35 +++++++++++++++++++
>  2 files changed, 36 insertions(+), 1 deletion(-)
>  create mode 100644 package/network/services/omcproxy/patches/100-mrib.c-don-t-use-cpu_to_be32-outside-of-function.patch
>
> diff --git a/package/network/services/omcproxy/Makefile b/package/network/services/omcproxy/Makefile
> index 28de833a1c..e121fa0b23 100644
> --- a/package/network/services/omcproxy/Makefile
> +++ b/package/network/services/omcproxy/Makefile
> @@ -8,7 +8,7 @@
>  include $(TOPDIR)/rules.mk
>
>  PKG_NAME:=omcproxy
> -PKG_RELEASE:=4
> +PKG_RELEASE:=5
>
>  PKG_SOURCE_URL:=https://github.com/sbyx/omcproxy.git
>  PKG_SOURCE_PROTO:=git
> diff --git a/package/network/services/omcproxy/patches/100-mrib.c-don-t-use-cpu_to_be32-outside-of-function.patch b/package/network/services/omcproxy/patches/100-mrib.c-don-t-use-cpu_to_be32-outside-of-function.patch
> new file mode 100644
> index 0000000000..d71315b60e
> --- /dev/null
> +++ b/package/network/services/omcproxy/patches/100-mrib.c-don-t-use-cpu_to_be32-outside-of-function.patch
> @@ -0,0 +1,35 @@
> +From 721064f2eb1dabe5bda63dcaff249b73ab891e6c Mon Sep 17 00:00:00 2001
> +From: Eneas U de Queiroz <cote2004-github at yahoo.com>
> +Date: Fri, 14 Dec 2018 15:13:41 -0200
> +Subject: [PATCH] mrib.c: don't use cpu_to_be32 outside of function
> +
> +cpu_to_be32 is not a constant, so it can't be used outside of a
> +function.
> +
> +Signed-off-by: Eneas U de Queiroz <cote2004-github at yahoo.com>
> +
> +--- a/src/mrib.c
> ++++ b/src/mrib.c
> +@@ -21,6 +21,7 @@
> + #include <stdio.h>
> + #include <string.h>
> + #include <stdlib.h>
> ++#include <endian.h>
> + #include <sys/socket.h>
> + #include <sys/ioctl.h>
> + #include <unistd.h>
> +@@ -54,7 +55,13 @@ struct mrib_iface {
> +       struct uloop_timeout timer;
> + };
> +
> +-static uint32_t ipv4_rtr_alert = cpu_to_be32(0x94040000);
> ++/* we can't use cpu_to_be32 outside a function */
> ++#if __BYTE_ORDER == __BIG_ENDIAN
> ++static uint32_t ipv4_rtr_alert = 0x94040000;
> ++#else
> ++static uint32_t ipv4_rtr_alert = 0x00000494;
> ++#endif
> ++
> + static struct {
> +       struct ip6_hbh hdr;
> +       struct ip6_opt_router rt;
> --
> 2.17.1
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list