Re: [PATCH] unicore32: fix build error for find bitops

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

 



2011/6/9 Akinobu Mita <akinobu.mita@xxxxxxxxx>:
> 2011/6/9 GuanXuetao <gxt@xxxxxxxxxxxxxxx>:
>> From: Guan Xuetao <gxt@xxxxxxxxxxxxxxx>
>>
>> Remove the __uc32_ prefix in find bitops functions.
>> see commit <19de85ef574c3a2182e3ccad9581805052f14946>
>>  bitops: add #ifndef for each of find bitops
>>
>> Signed-off-by: Guan Xuetao <gxt@xxxxxxxxxxxxxxx>
>> Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx>
>> ---
>>  arch/unicore32/include/asm/bitops.h |    6 ------
>>  arch/unicore32/kernel/ksyms.c       |    4 ++--
>>  arch/unicore32/lib/findbit.S        |   14 ++++++++------
>>  3 files changed, 10 insertions(+), 14 deletions(-)
>>
>> diff --git a/arch/unicore32/include/asm/bitops.h b/arch/unicore32/include/asm/bitops.h
>> index 1628a63..a9653f0 100644
>> --- a/arch/unicore32/include/asm/bitops.h
>> +++ b/arch/unicore32/include/asm/bitops.h
>> @@ -13,12 +13,6 @@
>>  #ifndef __UNICORE_BITOPS_H__
>>  #define __UNICORE_BITOPS_H__
>>
>> -#define find_next_bit          __uc32_find_next_bit
>> -#define find_next_zero_bit     __uc32_find_next_zero_bit
>> -
>> -#define find_first_bit         __uc32_find_first_bit
>> -#define find_first_zero_bit    __uc32_find_first_zero_bit
>> -
>
> Is this patch really fix the build error?
>
> If these find_*_bit macros are removed, vmlinux will have multiple
> definisions of find_*_bit. Because lib/find_next_bit.c is built
> unconditionally after the commit 63e424c84429903c92a0f1e9654c31ccaf6694d0
> ("arch: remove CONFIG_GENERIC_FIND_{NEXT_BIT,BIT_LE,LAST_BIT}".

The attached patch hopefully fix the build error but it is untested
because I can't find crosstool for unicore32. So could you apply
this patch on top of your patch and check whether it fixes?
From 133331e9314388e78619ed77cc62f6ad04233299 Mon Sep 17 00:00:00 2001
From: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Date: Thu, 9 Jun 2011 22:28:37 +0900
Subject: [PATCH] unicore32: fix build error for find bitops

Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
---
 arch/unicore32/include/asm/bitops.h |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/arch/unicore32/include/asm/bitops.h b/arch/unicore32/include/asm/bitops.h
index a9653f0..fb8a29c 100644
--- a/arch/unicore32/include/asm/bitops.h
+++ b/arch/unicore32/include/asm/bitops.h
@@ -17,6 +17,7 @@
 #define _ASM_GENERIC_BITOPS___FLS_H_
 #define _ASM_GENERIC_BITOPS_FFS_H_
 #define _ASM_GENERIC_BITOPS___FFS_H_
+#define _ASM_GENERIC_BITOPS_FIND_H_
 /*
  * On UNICORE, those functions can be implemented around
  * the cntlz instruction for much better code efficiency.
@@ -36,6 +37,22 @@ static inline int fls(int x)
 #define ffs(x) ({ unsigned long __t = (x); fls(__t & -__t); })
 #define __ffs(x) (ffs(x) - 1)
 
+extern unsigned long find_next_bit(const unsigned long *addr, unsigned long
+		size, unsigned long offset);
+#define find_next_bit find_next_bit
+
+extern unsigned long find_next_zero_bit(const unsigned long *addr, unsigned
+		long size, unsigned long offset);
+#define find_next_zero_bit find_next_zero_bit
+
+extern unsigned long find_first_bit(const unsigned long *addr,
+				    unsigned long size);
+#define find_first_bit find_first_bit
+
+extern unsigned long find_first_zero_bit(const unsigned long *addr,
+					 unsigned long size);
+#define find_first_zero_bit find_first_zero_bit
+
 #include <asm-generic/bitops.h>
 
 #endif /* __UNICORE_BITOPS_H__ */
-- 
1.7.4.4


[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux