> > But the defines of ENDPROC and END in linkage.h are from 2006, commit > > ab7efcc9 from Jan Beulich. This has not changed, binutils has, thus my > > idea about binutils difference. However, I do not have the old binutils > > package easyly availbale right now so I can not test that today. > > You are correct, there is a new error message for .size > http://sourceware.org/bugzilla/show_bug.cgi?id=12519 > and the change was applied to the 2.21 branch. > > The message was introduced because you can't size a function across > two sections. It's not obvious why this is happening here. So, I think > a binutils bug should be filed with preprocessed assembler. Got an answer from binutils bugzilla - we have a problem with ENDPROC(flush_alias_page) that is not started because the start is #if 0 but end is not. I did not understand clearly what the code intends to do but it looks there are just two independent functions that should have their start and end matched. Made a test patch to try that out, makes it compile, will test boot soon. diff --git a/arch/parisc/kernel/pacache.S b/arch/parisc/kernel/pacache.S index 09b77b2..f3d7da6 100644 --- a/arch/parisc/kernel/pacache.S +++ b/arch/parisc/kernel/pacache.S @@ -842,11 +842,10 @@ ENTRY(flush_alias_page) .exit .procend +ENDPROC(flush_alias_page) #endif - .export flush_user_dcache_range_asm - -flush_user_dcache_range_asm: +ENTRY(flush_user_dcache_range_asm) .proc .callinfo NO_CALLS .entry @@ -865,7 +864,7 @@ flush_user_dcache_range_asm: .exit .procend -ENDPROC(flush_alias_page) +ENDPROC(flush_user_dcache_range_asm) ENTRY(flush_kernel_dcache_range_asm) .proc -- Meelis Roos (mroos@xxxxxxxx) -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html