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