1From ae0af080058a576d62c72ffc011d644d0b4dcb98 Mon Sep 17 00:00:00 2001 2From: Yegor Yefremov <yegorslists@googlemail.com> 3Date: Tue, 7 Jul 2020 19:39:41 +0200 4Subject: [PATCH] Fix GCC10 build failure (#17) 5 6GCC10 breaks on multiple definitions: 7 8ld: /tmp/ccFiGYO7.o:(.bss+0x114): multiple definition of `tv'; /tmp/cc7f6J5h.o:(.bss+0x80): first defined here 9 10Change the scope of the related variables. 11 12Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> 13 14[Retrieved from: 15https://github.com/linux-can/socketcand/commit/ae0af080058a576d62c72ffc011d644d0b4dcb98] 16Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 17--- 18 socketcand.c | 3 ++- 19 state_bcm.c | 4 ++-- 20 state_isotp.c | 2 +- 21 state_raw.c | 2 +- 22 4 files changed, 6 insertions(+), 5 deletions(-) 23 24diff --git a/socketcand.c b/socketcand.c 25index 8d84754..6125be9 100644 26--- a/socketcand.c 27+++ b/socketcand.c 28@@ -102,7 +102,6 @@ socklen_t unaddrlen; 29 struct sockaddr_un remote_unaddr; 30 socklen_t remote_unaddrlen; 31 char* interface_string; 32-struct ifreq ifr, ifr_brd; 33 34 int state_changed(char *buf, int current_state) 35 { 36@@ -666,6 +665,8 @@ int receive_command(int socket, char *buffer) { 37 } 38 39 void determine_adress() { 40+ struct ifreq ifr, ifr_brd; 41+ 42 int probe_socket = socket(AF_INET, SOCK_DGRAM, 0); 43 44 if(probe_socket < 0) { 45diff --git a/state_bcm.c b/state_bcm.c 46index cfaa8ed..05a5f7c 100644 47--- a/state_bcm.c 48+++ b/state_bcm.c 49@@ -28,8 +28,6 @@ 50 #define RXLEN 128 51 52 int sc = -1; 53-fd_set readfds; 54-struct timeval tv; 55 56 void state_bcm() { 57 int i, j, ret; 58@@ -38,6 +36,7 @@ void state_bcm() { 59 struct ifreq ifr; 60 char rxmsg[RXLEN]; 61 char buf[MAXLEN]; 62+ fd_set readfds; 63 64 struct { 65 struct bcm_msg_head msg_head; 66@@ -91,6 +90,7 @@ void state_bcm() { 67 } 68 69 if (FD_ISSET(sc, &readfds)) { 70+ struct timeval tv; 71 72 ret = recvfrom(sc, &msg, sizeof(msg), 0, 73 (struct sockaddr*)&caddr, &caddrlen); 74diff --git a/state_isotp.c b/state_isotp.c 75index 5c671f9..e1b944b 100644 76--- a/state_isotp.c 77+++ b/state_isotp.c 78@@ -25,7 +25,6 @@ 79 #include <linux/sockios.h> 80 81 int si = -1; 82-fd_set readfds; 83 84 void state_isotp() { 85 int i, items, ret; 86@@ -39,6 +38,7 @@ void state_isotp() { 87 char buf[MAXLEN]; /* inet commands to can */ 88 unsigned char isobuf[ISOTPLEN+1]; /* binary buffer for isotp socket */ 89 unsigned char tmp; 90+ fd_set readfds; 91 92 while(previous_state != STATE_ISOTP) { 93 94diff --git a/state_raw.c b/state_raw.c 95index e83e6ec..2c49975 100644 96--- a/state_raw.c 97+++ b/state_raw.c 98@@ -25,7 +25,6 @@ 99 int raw_socket; 100 struct ifreq ifr; 101 struct sockaddr_can addr; 102-fd_set readfds; 103 struct msghdr msg; 104 struct can_frame frame; 105 struct iovec iov; 106@@ -36,6 +35,7 @@ struct cmsghdr *cmsg; 107 void state_raw() { 108 char buf[MAXLEN]; 109 int i, ret, items; 110+ fd_set readfds; 111 112 if(previous_state != STATE_RAW) { 113 114