On Tue, Mar 8, 2011 at 9:59 PM, Alexander van Heukelum <heukelum@xxxxxxxxxxx> wrote: > On Tue, 08 Mar 2011 12:45 -0800, "H.J. Lu" <hjl.tools@xxxxxxxxx> wrote: >> On Tue, Mar 8, 2011 at 12:33 PM, Sedat Dilek <sedat.dilek@xxxxxxxxxxxxxx> >> wrote: >> > 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 >> >> Those are simply wrong. Â2.6.38-rc8 is OK. > > Right :) > > That last line should be: > Â.size  acpi_wakeup_code, .-acpi_wakeup_code > > Sedat, care to make that patch, test-compile, and send to Ingo for -tip? > >> -- >> H.J. >> > > Yeah, looks good, thanks (still building...). $ grep "arch/x86" ~/src/linux-2.6/build_2.6.38-rc7_next20110308.dileks.1.log | grep wakeup LDS arch/x86/kernel/acpi/realmode/wakeup.lds AS arch/x86/kernel/acpi/realmode/wakeup.o LD arch/x86/kernel/acpi/realmode/wakeup.elf OBJCOPY arch/x86/kernel/acpi/realmode/wakeup.bin AS arch/x86/kernel/acpi/wakeup_32.o AS arch/x86/kernel/acpi/wakeup_rm.o I send a separate patch. - 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