[PATCH] libdvb5: fix build failure against gcc-10

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On gcc-10 (and gcc-9 -fno-common) build fails as:

```
  CCLD     libdvbv5.la
ld: .libs/libdvbv5_la-dvb-fe.o:(.bss+0x0):
  multiple definition of `delivery_system_name'; .libs/libdvbv5_la-dvb-v5.o:v4l-utils/lib/libdvbv5/dvb-v5.h:29: first defined here
ld: .libs/libdvbv5_la-dvb-fe.o:(.bss+0xa0):
  multiple definition of `dvb_v5_name'; .libs/libdvbv5_la-dvb-v5.o:v4l-utils/lib/libdvbv5/dvb-v5.h:28: first defined here
```

gcc-10 will change the default from -fcommon to fno-common:
https://gcc.gnu.org/PR85678.

The error also happens if CFLAGS=-fno-common passed explicitly.

Bug: https://bugs.gentoo.org/706130
Signed-off-by: Sergei Trofimovich <slyfox@xxxxxxxxxx>
---
 lib/include/libdvbv5/desc_t2_delivery.h |  2 +-
 lib/libdvbv5/dvb-v5.h                   | 26 ++++++++++++-------------
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/lib/include/libdvbv5/desc_t2_delivery.h b/lib/include/libdvbv5/desc_t2_delivery.h
index 93594b76..8c11fa9a 100644
--- a/lib/include/libdvbv5/desc_t2_delivery.h
+++ b/lib/include/libdvbv5/desc_t2_delivery.h
@@ -215,7 +215,7 @@ extern const unsigned dvbt2_transmission_mode[];
  * @brief converts from internal representation to string the SISO_MISO
  *	  field of dvb_desc_t2_delivery:SISO_MISO field.
  */
-const char *siso_miso[4];
+extern const char *siso_miso[4];
 
 #ifdef __cplusplus
 }
diff --git a/lib/libdvbv5/dvb-v5.h b/lib/libdvbv5/dvb-v5.h
index 45aaddda..3540bac1 100644
--- a/lib/libdvbv5/dvb-v5.h
+++ b/lib/libdvbv5/dvb-v5.h
@@ -14,17 +14,17 @@ struct fe_status_name {
 	char *name;
 };
 extern struct fe_status_name fe_status_name[8];
-const char *fe_code_rate_name[14];
-const char *fe_modulation_name[15];
-const char *fe_transmission_mode_name[10];
-const unsigned fe_bandwidth_name[8];
-const char *fe_guard_interval_name[12];
-const char *fe_hierarchy_name[6];
-const char *fe_voltage_name[4];
-const char *fe_tone_name[3];
-const char *fe_inversion_name[4];
-const char *fe_pilot_name[4];
-const char *fe_rolloff_name[5];
-const char *dvb_v5_name[72];
-const char *delivery_system_name[20];
+extern const char *fe_code_rate_name[14];
+extern const char *fe_modulation_name[15];
+extern const char *fe_transmission_mode_name[10];
+extern const unsigned fe_bandwidth_name[8];
+extern const char *fe_guard_interval_name[12];
+extern const char *fe_hierarchy_name[6];
+extern const char *fe_voltage_name[4];
+extern const char *fe_tone_name[3];
+extern const char *fe_inversion_name[4];
+extern const char *fe_pilot_name[4];
+extern const char *fe_rolloff_name[5];
+extern const char *dvb_v5_name[72];
+extern const char *delivery_system_name[20];
 #endif
-- 
2.25.0




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux