On Wed, Jun 17, 2009 at 5:39 PM, David Daney<firstname.lastname@example.org> wrote:
> Manuel Lauss wrote:
>> Quick fixes for some compile failures which have cropped up
>> in linus-git in the last 24 hours:
>> CC arch/mips/kernel/time.o
>> In file included from linux-2.6.git/include/linux/bug.h:4,
>> from linux-2.6.git/arch/mips/kernel/time.c:13:
>> linux-2.6.git/arch/mips/include/asm/bug.h:10: error: expected '=', ',',
>> ';', 'asm' or '__attribute__' before 'BUG'
>> linux-2.6.git/arch/mips/include/asm/bug.h: In function '__BUG_ON':
>> linux-2.6.git/arch/mips/include/asm/bug.h:26: error: implicit declaration
>> of function 'BUG'
>> CC arch/mips/mm/uasm.o
>> In file included from linux-2.6.git/arch/mips/mm/uasm.c:21:
>> linux-2.6.git/arch/mips/include/asm/bugs.h: In function 'check_bugs':
>> linux-2.6.git/arch/mips/include/asm/bugs.h:34: error: implicit declaration
>> of function 'smp_processor_id'
>> linux-2.6.git/arch/mips/mm/uasm.c: In function 'uasm_copy_handler':
>> linux-2.6.git/arch/mips/mm/uasm.c:514: error: implicit declaration of
>> function 'memcpy'
>> Signed-off-by: Manuel Lauss <email@example.com>
>> arch/mips/include/asm/bug.h | 2 +-
>> arch/mips/include/asm/bugs.h | 1 +
>> arch/mips/mm/uasm.c | 1 +
>> 3 files changed, 3 insertions(+), 1 deletions(-)
>> diff --git a/arch/mips/include/asm/bug.h b/arch/mips/include/asm/bug.h
>> index 08ea468..92b372a 100644
>> --- a/arch/mips/include/asm/bug.h
>> +++ b/arch/mips/include/asm/bug.h
>> @@ -7,7 +7,7 @@
>> #include <asm/break.h>
>> -static inline void __noreturn BUG(void)
>> +static inline void __attribute__((noreturn)) BUG(void)
> That isn't correct.
> __noreturn is defined in linux/compiler.h You should figure out why that
> definition is not being used.
I did a quick check, seems to be an include ordering problem; bug.h is included
before compiler.h... I don't know what exactly changed or whether the fact that
it worked previously was purely by accident. The "right" thing to do I think is
to include compiler.h in asm/bug.h.