From e4666a3fd54d4dc16fb26b1061bbf9a0044e3c83 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Tue, 21 Mar 2023 12:03:14 +0100 Subject: [PATCH] lc15bts.h: add missing extern keyword Fix linker errors with ld from binutils 2.35.2 in Debian 11: /usr/bin/ld: osmo-bts-litecell15/lc15_l1_hw.o:(.rodata+0x100): multiple definition of `lc15bts_l1prim_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0x80): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15_l1_hw.o:(.rodata+0x2a0): multiple definition of `lc15bts_sysprim_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0x220): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15_l1_hw.o:(.rodata+0x420): multiple definition of `lc15bts_l1sapi_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0x3a0): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15_l1_hw.o:(.rodata+0x5a0): multiple definition of `lc15bts_l1status_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0x520): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15_l1_hw.o:(.rodata+0x760): multiple definition of `lc15bts_tracef_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0x6e0): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15_l1_hw.o:(.rodata+0x940): multiple definition of `lc15bts_tracef_docs'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0x8c0): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15_l1_hw.o:(.rodata+0xb20): multiple definition of `lc15bts_tch_pl_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0xaa0): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15_l1_hw.o:(.rodata+0xc20): multiple definition of `lc15bts_clksrc_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0xba0): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15_l1_hw.o:(.rodata+0xcc0): multiple definition of `lc15bts_dir_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0xc40): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15_l1_hw.o:(.rodata+0xd20): multiple definition of `pdch_msu_size'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0xca0): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15bts.o:(.data.rel.ro.local+0x0): multiple definition of `lc15bts_l1prim_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0x80): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15bts.o:(.data.rel.ro.local+0x1a0): multiple definition of `lc15bts_sysprim_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0x220): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15bts.o:(.data.rel.ro.local+0x320): multiple definition of `lc15bts_l1sapi_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0x3a0): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15bts.o:(.data.rel.ro.local+0x4a0): multiple definition of `lc15bts_l1status_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0x520): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15bts.o:(.data.rel.ro.local+0x660): multiple definition of `lc15bts_tracef_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0x6e0): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15bts.o:(.data.rel.ro.local+0x840): multiple definition of `lc15bts_tracef_docs'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0x8c0): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15bts.o:(.data.rel.ro.local+0xa20): multiple definition of `lc15bts_tch_pl_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0xaa0): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15bts.o:(.rodata+0x820): multiple definition of `lc15bts_clksrc_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0xba0): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15bts.o:(.data.rel.ro.local+0xb20): multiple definition of `lc15bts_dir_names'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0xc40): first defined here /usr/bin/ld: osmo-bts-litecell15/lc15bts.o:(.rodata+0x8e0): multiple definition of `pdch_msu_size'; osmo-bts-litecell15/lc15_l1_if.o:(.rodata+0xca0): first defined here Change-Id: I33c061e79536a6e9ea7289a245af996e8d17c6ce --- src/osmo-bts-litecell15/lc15bts.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/osmo-bts-litecell15/lc15bts.h b/src/osmo-bts-litecell15/lc15bts.h index 4c40db0f..31ca9239 100644 --- a/src/osmo-bts-litecell15/lc15bts.h +++ b/src/osmo-bts-litecell15/lc15bts.h @@ -23,24 +23,24 @@ enum l1prim_type { }; enum l1prim_type lc15bts_get_l1prim_type(GsmL1_PrimId_t id); -const struct value_string lc15bts_l1prim_names[GsmL1_PrimId_NUM+1]; +extern const struct value_string lc15bts_l1prim_names[GsmL1_PrimId_NUM+1]; GsmL1_PrimId_t lc15bts_get_l1prim_conf(GsmL1_PrimId_t id); enum l1prim_type lc15bts_get_sysprim_type(Litecell15_PrimId_t id); -const struct value_string lc15bts_sysprim_names[Litecell15_PrimId_NUM+1]; +extern const struct value_string lc15bts_sysprim_names[Litecell15_PrimId_NUM+1]; Litecell15_PrimId_t lc15bts_get_sysprim_conf(Litecell15_PrimId_t id); -const struct value_string lc15bts_l1sapi_names[GsmL1_Sapi_NUM+1]; -const struct value_string lc15bts_l1status_names[GSML1_STATUS_NUM+1]; +extern const struct value_string lc15bts_l1sapi_names[GsmL1_Sapi_NUM+1]; +extern const struct value_string lc15bts_l1status_names[GSML1_STATUS_NUM+1]; -const struct value_string lc15bts_tracef_names[29]; -const struct value_string lc15bts_tracef_docs[29]; +extern const struct value_string lc15bts_tracef_names[29]; +extern const struct value_string lc15bts_tracef_docs[29]; -const struct value_string lc15bts_tch_pl_names[15]; +extern const struct value_string lc15bts_tch_pl_names[15]; -const struct value_string lc15bts_clksrc_names[10]; +extern const struct value_string lc15bts_clksrc_names[10]; -const struct value_string lc15bts_dir_names[6]; +extern const struct value_string lc15bts_dir_names[6]; enum pdch_cs { PDCH_CS_1, @@ -59,6 +59,6 @@ enum pdch_cs { _NUM_PDCH_CS }; -const uint8_t pdch_msu_size[_NUM_PDCH_CS]; +extern const uint8_t pdch_msu_size[_NUM_PDCH_CS]; #endif /* LC15BTS_H */