Skip to contentSkip to conversation

MIPS: tlbex.c: Fix GCC 4.6.0 build error.

RFC|PATCH Alexander Clouter 1 participant 2 messages May 13, 2011 MIPS

lore
Share & tools
lore
#0 lore raw

For !HUGETLB_PAGE htlb_info barfs, and when !64BIT we get vmalloc_mode grumbling.

CC arch/mips/mm/tlbex.o
arch/mips/mm/tlbex.c: In function 'build_r4000_tlb_refill_handler':
arch/mips/mm/tlbex.c:1155:22: error: variable 'vmalloc_mode' set but not used [-Werror=unused-but-set-variable] arch/mips/mm/tlbex.c:1154:28: error: variable 'htlb_info' set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors

Untested other than shovelling through a compiler, it really is turning into an ifdef-fest though in there...

---
 arch/mips/mm/tlbex.c |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)
arch/mips/mm/tlbex.c +16 -1
index 04f9e17..814b3f4 100644
@@ -1151,8 +1151,12 @@ static void __cpuinit build_r4000_tlb_refill_handler(void)
 	struct uasm_reloc *r = relocs;
 	u32 *f;
 	unsigned int final_len;
+#ifdef CONFIG_HUGETLB_PAGE
 	struct mips_huge_tlb_info htlb_info;
+#endif
+#ifdef CONFIG_64BIT
 	enum vmalloc64_mode vmalloc_mode;
+#endif
 
 	memset(tlb_handler, 0, sizeof(tlb_handler));
 	memset(labels, 0, sizeof(labels));
@@ -1163,13 +1167,24 @@ static void __cpuinit build_r4000_tlb_refill_handler(void)
 		scratch_reg = allocate_kscratch();
 
 	if ((scratch_reg > 0 || scratchpad_available()) && use_bbit_insns()) {
-		htlb_info = build_fast_tlb_refill_handler(&p, &l, &r, K0, K1,
+#ifdef CONFIG_HUGETLB_PAGE
+		htlb_info = 
+#else
+		(void)
+#endif
+			build_fast_tlb_refill_handler(&p, &l, &r, K0, K1,
 							  scratch_reg);
+#ifdef CONFIG_64BIT
 		vmalloc_mode = refill_scratch;
+#endif
 	} else {
+#ifdef CONFIG_HUGETLB_PAGE
 		htlb_info.huge_pte = K0;
 		htlb_info.restore_scratch = 0;
+#endif
+#ifdef CONFIG_64BIT
 		vmalloc_mode = refill_noscratch;
+#endif
 		/*
 		 * create the plain linear handler
 		 */
Signature · 1 line
1.7.5.1
#1 lore raw

Forget this, just seen it in upstream as
4a9040f451c32cd62971ecda1cb5bc4aed444c78.

Cheers

Quoted 62 lines · Alexander Clouter

For !HUGETLB_PAGE htlb_info barfs, and when !64BIT we get vmalloc_mode grumbling.

CC arch/mips/mm/tlbex.o
arch/mips/mm/tlbex.c: In function 'build_r4000_tlb_refill_handler':
arch/mips/mm/tlbex.c:1155:22: error: variable 'vmalloc_mode' set but not used [-Werror=unused-but-set-variable] arch/mips/mm/tlbex.c:1154:28: error: variable 'htlb_info' set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors

Untested other than shovelling through a compiler, it really is turning into an ifdef-fest though in there...

---
 arch/mips/mm/tlbex.c |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)
arch/mips/mm/tlbex.c +16 -1
index 04f9e17..814b3f4 100644
@@ -1151,8 +1151,12 @@ static void __cpuinit build_r4000_tlb_refill_handler(void)
 	struct uasm_reloc *r = relocs;
 	u32 *f;
 	unsigned int final_len;
+#ifdef CONFIG_HUGETLB_PAGE
 	struct mips_huge_tlb_info htlb_info;
+#endif
+#ifdef CONFIG_64BIT
 	enum vmalloc64_mode vmalloc_mode;
+#endif
 
 	memset(tlb_handler, 0, sizeof(tlb_handler));
 	memset(labels, 0, sizeof(labels));
@@ -1163,13 +1167,24 @@ static void __cpuinit build_r4000_tlb_refill_handler(void)
 		scratch_reg = allocate_kscratch();
 
 	if ((scratch_reg > 0 || scratchpad_available()) && use_bbit_insns()) {
-		htlb_info = build_fast_tlb_refill_handler(&p, &l, &r, K0, K1,
+#ifdef CONFIG_HUGETLB_PAGE
+		htlb_info = 
+#else
+		(void)
+#endif
+			build_fast_tlb_refill_handler(&p, &l, &r, K0, K1,
 							  scratch_reg);
+#ifdef CONFIG_64BIT
 		vmalloc_mode = refill_scratch;
+#endif
 	} else {
+#ifdef CONFIG_HUGETLB_PAGE
 		htlb_info.huge_pte = K0;
 		htlb_info.restore_scratch = 0;
+#endif
+#ifdef CONFIG_64BIT
 		vmalloc_mode = refill_noscratch;
+#endif
 		/*
 		 * create the plain linear handler
 		 */
Signature · 2 lines
Alexander Clouter
.sigmonster says: Needs are a function of what other people have.