0001-Fix-GCC10-build-failure.patch 2.7 KB

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