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

From: Guan Xuetao
Date: Mon Jun 13 2011 - 04:57:30 EST


On Fri, 2011-06-10 at 13:22 +0900, Akinobu Mita wrote:
> 2011/6/10 Guan Xuetao <gxt@xxxxxxxxxxxxxxx>:
> > On Thu, 2011-06-09 at 23:05 +0900, Akinobu Mita wrote:
> >> 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?
> >
> > Thanks Akinobu.
> > I want to avoid the duplication of the 'extern' function definitions in
> > asm-generic header and arch-specific header.
>
> OK then adding the following four lines after asm-generic/bitops.h
> inclusion should fix the problem.
>
> #define find_next_bit find_next_bit
> #define find_next_zero_bit find_next_zero_bit
> #define find_first_bit find_first_bit
> #define find_first_zero_bit find_first_zero_bit

Thanks, please review following patch: