On Tue, Mar 8, 2011 at 9:25 PM, Alexander van Heukelum <heukelum@xxxxxxxxxxx> wrote: > On Tue, 08 Mar 2011 18:53 +0100, "Sedat Dilek" <sedat.dilek@xxxxxxxxxxxxxx> wrote: >> On Tue, Mar 8, 2011 at 6:27 PM, Alexander van Heukelum >> <heukelum@xxxxxxxxxxx> wrote: >> > On Tue, 08 Mar 2011 16:42 +0100, "Sedat Dilek" <sedat.dilek@xxxxxxxxxxxxxx> wrote: >> >> On 3/8/11, Sedat Dilek <sedat.dilek@xxxxxxxxxxxxxx> wrote: >> >> > On 3/8/11, H.J. Lu <hjl.tools@xxxxxxxxx> wrote: >> >> >> On Tue, Mar 8, 2011 at 2:44 AM, Sedat Dilek <sedat.dilek@xxxxxxxxxxxxxx> >> >> >> wrote: >> >> >>> Hi, >> >> >>> >> >> >>> my build of linux-next (next-20110308, the same with the one from >> >> >>> yesterday) is broken. >> >> >>> (I translated the German output.) >> >> >>> >> >> >>> [ build.log ] >> >> >>> ÂAS   Âarch/x86/kernel/entry_32.o >> >> >>> /home/sd/src/linux-2.6/linux-2.6.38-rc7/debian/build/source_i386_none/arch/x86/kernel/entry_32.S: >> >> >>> Assembler messages: >> >> >>> /home/sd/src/linux-2.6/linux-2.6.38-rc7/debian/build/source_i386_none/arch/x86/kernel/entry_32.S:1421: >> >> >>> Error: .size expression does not evaluate to a constant >> >> >>> make[6]: *** [arch/x86/kernel/entry_32.o] Fehler 1 (Error 1) >> >> >>> make[5]: *** [arch/x86/kernel] Fehler 2 (Error 2) >> >> >>> make[4]: *** [arch/x86] Fehler 2 (Error 2) >> >> >>> make[4]: *** Warte auf noch nicht beendete Prozesse... (Waiting for >> >> >>> unfinished jobs...) >> >> >>> >> >> >> >> >> >> This is a kernel bug. ÂPlease use the latest binutils from CVS. >> >> >> It will tell you which symbol causes this. >> >> >> >> >> >> >> >> >> -- >> >> >> H.J. >> >> >> >> >> > >> >> > Yeah, I have cherry-picked these two upstream commits before you have >> >> > mentionned it... >> >> > >> >> > 0001-Mention-symbol-name-in-non-constant-.size-expression.patch >> >> >    Â(Cherry-picked from commit b9521fc0be7945fc842ce1197e241a023378125d) >> >> > 0002-Revert-the-last-change-on-gas-elf-bad-size.err.patch >> >> >    Â(Cherry-picked from commit cbd141bb69f791de7ea1581abe7afb34f0c61288) >> >> > >> >> > ... and have built with them a new binutils Debian package. >> >> > >> >> > The error looks now like this (sorry for the German output): >> >> > ... >> >> >  AS   Âarch/x86/kernel/entry_32.o >> >> > /home/sd/src/linux-2.6/linux-2.6.38-rc7/debian/build/source_i386_none/arch/x86/kernel/entry_32.S: >> >> > Assembler messages: >> >> > /home/sd/src/linux-2.6/linux-2.6.38-rc7/debian/build/source_i386_none/arch/x86/kernel/entry_32.S:1421: >> >> > Error: .size expression with symbol `apf_page_fault' does not evaluate >> >> > to a constant >> >> > make[6]: *** [arch/x86/kernel/entry_32.o] Fehler 1 >> >> > make[5]: *** [arch/x86/kernel] Fehler 2 >> >> > make[5]: *** Warte auf noch nicht beendete Prozesse... >> >> > >> >> > Anyway, before more riddling around it would be very helpful to have a >> >> > clear pointer if there is a fix around... That building, testing and >> >> > installing took me now several hours. >> >> > And... yeah, backports to 2.21-branch appreciated. >> >> > >> >> > - Sedat - >> >> > >> >> >> >> After a quick look into the source, it seems attached patch fixes the >> >> issue. >> >> Is that OK? >> > >> > Hi Sedat, >> > >> > The patch ( https://lkml.org/lkml/2011/3/8/203 ) is ok, feel free to add >> > Acked-by: Alexander van Heukelum <heukelum@xxxxxxxxxxx> >> > >> > Better description might be something like: >> > >> > i386: Fix mismatched ENTRY/END pair. >> > >> > Under CONFIG_KVM_GUEST=y, the following part of entry_32.S causes a compile failure. >> > >> > 1409 #ifdef CONFIG_KVM_GUEST >> > 1410 ENTRY(async_page_fault) >> > 1411     RING0_EC_FRAME >> > 1412     pushl $do_async_page_fault >> > 1413     CFI_ADJUST_CFA_OFFSET 4 >> > 1414     jmp error_code >> > 1415     CFI_ENDPROC >> > 1416 END(apf_page_fault) >> > 1417 #endif >> > >> > Replace apf_page_fault with async_page_fault, as intended. >> > >> > Greetings, >> >  ÂAlexander >> > >> >> - Sedat - >> >> >> >> Email had 1 attachment: >> >> + 0001-x86-Fix-build-failure-with-binutils-as-from-upstream.patch >> >>  1k (text/x-patch) >> > >> >> As I said, quick view on the code, quick fix :-). >> >> Your description is definitive more meaningful. >> I can refresh my patch and add your ACK. >> >> Anyway, I continued after dinner and with the above patch I ran into >> the next problem: >> [ build.log ] >> ... >>  AS   Âarch/x86/kernel/acpi/wakeup_rm.o >> /home/sd/src/linux-2.6/linux-2.6.38-rc7/debian/build/source_i386_none/arch/x86/kernel/acpi/wakeup_rm.S: >> Assembler messages: >> /home/sd/src/linux-2.6/linux-2.6.38-rc7/debian/build/source_i386_none/arch/x86/kernel/acpi/wakeup_rm.S:12: >> Error: .size expression with symbol `wakeup_code_start' does not >> evaluate to a constant > > No idea what's wrong there. But my version of wakeup_rm.S has only 10 lines... > >   1 Â/* >   2  * Wrapper script for the realmode binary as a transport object >   3  * before copying to low memory. >   4  */ >   5     Â.section ".rodata","a" >   6     Â.globl Âwakeup_code_start, wakeup_code_end >   7 Âwakeup_code_start: >   8     Â.incbin "arch/x86/kernel/acpi/realmode/wakeup.bin" >   9 Âwakeup_code_end: >  Â10     Â.size  wakeup_code_start, .-wakeup_code_start > > And it compiles just fine. > The fix for entry_32.S is valid, though, and necessary for mainline. > > Greetings, >  ÂAlexander > >> I am unsure how to fix that and open for feedback. >> >> - Sedat - >> > The file in linux-next (next-20110308) looks different (the above code looks more logical to me) [ arch/x86/kernel/acpi/wakeup_rm.S ] /* * Wrapper script for the realmode binary as a transport object * before copying to low memory. */ #include <asm/page_types.h> .section ".x86_trampoline","a" .balign PAGE_SIZE .globl acpi_wakeup_code acpi_wakeup_code: .incbin "arch/x86/kernel/acpi/realmode/wakeup.bin" .size wakeup_code_start, .-wakeup_code_start Any ideas? - Sedat - -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html