[openwrt/openwrt] restool: fix compilation with GCC 10
LEDE Commits
lede-commits at lists.infradead.org
Tue Sep 21 11:08:11 PDT 2021
stintel pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/b62a4cfc9330e9631a372a11fa9e09ac809080f5
commit b62a4cfc9330e9631a372a11fa9e09ac809080f5
Author: Kuan-Yi Li <kyli at abysm.org>
AuthorDate: Fri Sep 17 14:27:47 2021 +0800
restool: fix compilation with GCC 10
GCC 10 defaults to `-fno-common` and complains about multiple definition
of `mc_status` in restool.
Backport a patch from upstream to fix compilation with host GCC 10.
Signed-off-by: Kuan-Yi Li <kyli at abysm.org>
---
package/network/utils/layerscape/restool/Makefile | 2 +-
...0001-restool-fix-get_device_file-function.patch | 13 +-
.../patches/0002-restool-yocto-build-issue.patch | 264 +++++++++++++++++++++
3 files changed, 269 insertions(+), 10 deletions(-)
diff --git a/package/network/utils/layerscape/restool/Makefile b/package/network/utils/layerscape/restool/Makefile
index 73fa8e4d9e..96ee7ef1cc 100644
--- a/package/network/utils/layerscape/restool/Makefile
+++ b/package/network/utils/layerscape/restool/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=restool
PKG_VERSION:=LSDK-20.04
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/restool
diff --git a/package/network/utils/layerscape/restool/patches/0001-restool-fix-get_device_file-function.patch b/package/network/utils/layerscape/restool/patches/0001-restool-fix-get_device_file-function.patch
index 2745fd02a0..65d381cbc5 100644
--- a/package/network/utils/layerscape/restool/patches/0001-restool-fix-get_device_file-function.patch
+++ b/package/network/utils/layerscape/restool/patches/0001-restool-fix-get_device_file-function.patch
@@ -16,11 +16,9 @@ Signed-off-by: Ioana Ciornei <ioana.ciornei at nxp.com>
restool.c | 44 ++++++++++++++++++++++++++++----------------
1 file changed, 28 insertions(+), 16 deletions(-)
-diff --git a/restool.c b/restool.c
-index 7553659..78fd1bf 100644
--- a/restool.c
+++ b/restool.c
-@@ -1185,8 +1185,13 @@ out:
+@@ -1193,8 +1193,13 @@ out:
static int get_device_file(void)
{
@@ -34,7 +32,7 @@ index 7553659..78fd1bf 100644
memset(restool.device_file, '\0', DEV_FILE_SIZE);
-@@ -1214,10 +1219,6 @@ static int get_device_file(void)
+@@ -1222,10 +1227,6 @@ static int get_device_file(void)
goto out;
}
} else {
@@ -45,7 +43,7 @@ index 7553659..78fd1bf 100644
d = opendir("/dev");
if (!d) {
-@@ -1227,26 +1228,34 @@ static int get_device_file(void)
+@@ -1235,26 +1236,34 @@ static int get_device_file(void)
}
while ((dir = readdir(d)) != NULL) {
if (strncmp(dir->d_name, "dprc.", 5) == 0) {
@@ -92,7 +90,7 @@ index 7553659..78fd1bf 100644
} else {
error = -1;
if (num_dev_files == 0)
-@@ -1255,6 +1264,9 @@ static int get_device_file(void)
+@@ -1263,6 +1272,9 @@ static int get_device_file(void)
ERROR_PRINTF("error: multiple root containers\n");
}
}
@@ -102,6 +100,3 @@ index 7553659..78fd1bf 100644
out:
return error;
}
---
-2.17.1
-
diff --git a/package/network/utils/layerscape/restool/patches/0002-restool-yocto-build-issue.patch b/package/network/utils/layerscape/restool/patches/0002-restool-yocto-build-issue.patch
new file mode 100644
index 0000000000..d38db52dae
--- /dev/null
+++ b/package/network/utils/layerscape/restool/patches/0002-restool-yocto-build-issue.patch
@@ -0,0 +1,264 @@
+From 802764f8ed76f927dff494558332b0b77de7ac65 Mon Sep 17 00:00:00 2001
+From: Ionut-robert Aron <ionut-robert.aron at nxp.com>
+Date: Fri, 16 Oct 2020 11:01:24 +0300
+Subject: [PATCH] restool: yocto build issue
+
+Prefix 'enum mc_cmd_status mc_status' with 'static' so restool can
+compile.
+
+Signed-off-by: Ionut-robert Aron <ionut-robert.aron at nxp.com>
+---
+ dpaiop_commands.c | 2 +-
+ dpbp_commands.c | 2 +-
+ dpci_commands.c | 2 +-
+ dpcon_commands.c | 2 +-
+ dpdbg_commands.c | 2 +-
+ dpdcei_commands.c | 2 +-
+ dpdmai_commands.c | 2 +-
+ dpdmux_commands.c | 2 +-
+ dpio_commands.c | 2 +-
+ dpmac_commands.c | 2 +-
+ dpmcp_commands.c | 2 +-
+ dpni_commands.c | 2 +-
+ dprc_commands.c | 2 +-
+ dprc_commands_generate_dpl.c | 4 ++--
+ dprtc_commands.c | 2 +-
+ dpseci_commands.c | 2 +-
+ dpsw_commands.c | 2 +-
+ restool.c | 8 ++++----
+ 18 files changed, 22 insertions(+), 22 deletions(-)
+
+--- a/dpaiop_commands.c
++++ b/dpaiop_commands.c
+@@ -44,7 +44,7 @@
+ #include "mc_v9/fsl_dpaiop.h"
+ #include "mc_v10/fsl_dpaiop.h"
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dpaiop info command options
+--- a/dpbp_commands.c
++++ b/dpbp_commands.c
+@@ -43,7 +43,7 @@
+ #include "mc_v9/fsl_dpbp.h"
+ #include "mc_v10/fsl_dpbp.h"
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dpbp info command options
+--- a/dpci_commands.c
++++ b/dpci_commands.c
+@@ -44,7 +44,7 @@
+ #include "mc_v9/fsl_dpci.h"
+ #include "mc_v10/fsl_dpci.h"
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dpci info command options
+--- a/dpcon_commands.c
++++ b/dpcon_commands.c
+@@ -44,7 +44,7 @@
+ #include "mc_v9/fsl_dpcon.h"
+ #include "mc_v10/fsl_dpcon.h"
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dpcon info command options
+--- a/dpdbg_commands.c
++++ b/dpdbg_commands.c
+@@ -41,7 +41,7 @@
+ #include "utils.h"
+ #include "mc_v10/fsl_dpdbg.h"
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ enum dpdbg_info_options {
+ INFO_OPT_HELP = 0,
+--- a/dpdcei_commands.c
++++ b/dpdcei_commands.c
+@@ -43,7 +43,7 @@
+ #include "mc_v9/fsl_dpdcei.h"
+ #include "mc_v10/fsl_dpdcei.h"
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dpdcei info command options
+--- a/dpdmai_commands.c
++++ b/dpdmai_commands.c
+@@ -42,7 +42,7 @@
+ #include "mc_v9/fsl_dpdmai.h"
+ #include "mc_v10/fsl_dpdmai.h"
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dpdmai info command options
+--- a/dpdmux_commands.c
++++ b/dpdmux_commands.c
+@@ -47,7 +47,7 @@
+ DPDMUX_OPT_BRIDGE_EN | \
+ DPDMUX_OPT_CLS_MASK_SUPPORT)
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dpdmux info command options
+--- a/dpio_commands.c
++++ b/dpio_commands.c
+@@ -43,7 +43,7 @@
+ #include "mc_v9/fsl_dpio.h"
+ #include "mc_v10/fsl_dpio.h"
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dpio info command options
+--- a/dpmac_commands.c
++++ b/dpmac_commands.c
+@@ -43,7 +43,7 @@
+ #include "mc_v9/fsl_dpmac.h"
+ #include "mc_v10/fsl_dpmac.h"
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dpmac info command options
+--- a/dpmcp_commands.c
++++ b/dpmcp_commands.c
+@@ -43,7 +43,7 @@
+ #include "mc_v9/fsl_dpmcp.h"
+ #include "mc_v10/fsl_dpmcp.h"
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dpmcp info command options
+--- a/dpni_commands.c
++++ b/dpni_commands.c
+@@ -71,7 +71,7 @@
+ DPNI_OPT_SINGLE_SENDER | \
+ DPNI_OPT_CUSTOM_CG)
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * max_dist: Maximum distribution size for Rx traffic class;
+--- a/dprc_commands.c
++++ b/dprc_commands.c
+@@ -52,7 +52,7 @@
+ DPRC_CFG_OPT_IRQ_CFG_ALLOWED | \
+ DPRC_CFG_OPT_PL_ALLOWED)
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dprc sync command options
+--- a/dprc_commands_generate_dpl.c
++++ b/dprc_commands_generate_dpl.c
+@@ -189,7 +189,7 @@ static struct container_list *container_
+ static struct obj_list *obj_head;
+ static struct conn_list *conn_head;
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * compare_insert_obj - compare the newly added object node with existing ones,
+@@ -273,7 +273,7 @@ static int find_all_obj_desc(uint32_t dp
+
+ int num_child_devices;
+ int error = 0;
+- enum mc_cmd_status mc_status;
++ static enum mc_cmd_status mc_status;
+ struct container_list *prev_cont;
+ struct container_list *curr_cont;
+ struct dprc_attributes dprc_attr;
+--- a/dprtc_commands.c
++++ b/dprtc_commands.c
+@@ -42,7 +42,7 @@
+ #include "mc_v9/fsl_dprtc.h"
+ #include "mc_v10/fsl_dprtc.h"
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dprtc info command options
+--- a/dpseci_commands.c
++++ b/dpseci_commands.c
+@@ -43,7 +43,7 @@
+ #include "mc_v9/fsl_dpseci.h"
+ #include "mc_v10/fsl_dpseci.h"
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dpseci info command options
+--- a/dpsw_commands.c
++++ b/dpsw_commands.c
+@@ -50,7 +50,7 @@
+ DPSW_OPT_FLOODING_METERING_DIS | \
+ DPSW_OPT_METERING_EN)
+
+-enum mc_cmd_status mc_status;
++static enum mc_cmd_status mc_status;
+
+ /**
+ * dpsw info command options
+--- a/restool.c
++++ b/restool.c
+@@ -360,7 +360,7 @@ int find_target_obj_desc(uint32_t dprc_i
+ {
+ int num_child_devices;
+ int error = 0;
+- enum mc_cmd_status mc_status;
++ static enum mc_cmd_status mc_status;
+
+ assert(nesting_level <= MAX_DPRC_NESTING);
+
+@@ -492,7 +492,7 @@ int print_obj_verbose(struct dprc_obj_de
+ uint16_t obj_handle;
+ uint32_t irq_mask;
+ uint32_t irq_status;
+- enum mc_cmd_status mc_status;
++ static enum mc_cmd_status mc_status;
+ int error = 0;
+
+ if (strcmp(target_obj_desc->type, "dprc") == 0 &&
+@@ -816,7 +816,7 @@ int parse_object_name(const char *obj_na
+ int open_dprc(uint32_t dprc_id, uint16_t *dprc_handle)
+ {
+ int error;
+- enum mc_cmd_status mc_status;
++ static enum mc_cmd_status mc_status;
+
+ error = dprc_open(&restool.mc_io, 0,
+ dprc_id,
+@@ -1325,7 +1325,7 @@ int main(int argc, char *argv[])
+ const char *cmd_name;
+ bool mc_io_initialized = false;
+ bool root_dprc_opened = false;
+- enum mc_cmd_status mc_status;
++ static enum mc_cmd_status mc_status;
+ bool talk_to_mc = true;
+
+ #ifdef DEBUG
More information about the lede-commits
mailing list