On Wed, Jun 17, 2009 at 5:39 PM, David Daney<ddaney@xxxxxxxxxxxxxxxxxx> 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 <manuel.lauss@xxxxxxxxx> >> --- >> 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. Manuel Lauss