lkml.org 
[lkml]   [2014]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: 3.13: <module> disagrees about version of symbol <symbol>
    On Tue, 08 Apr, at 10:04:48PM, Thomas Bächler wrote:
    >
    > Hello again Matt,
    >
    > with linux.git master, I cannot reproduce the problem at all (with or
    > without your patch). In fact, all the 0x0 CRCs on symbols are gone, and
    > those were the symbols that were broken after all.
    >
    > FWIW, with your patch the kernel still boots.

    Could you try this version? It's against v3.14,


    diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
    index a7677babf946..78cbb2db5a85 100644
    --- a/arch/x86/boot/compressed/eboot.c
    +++ b/arch/x86/boot/compressed/eboot.c
    @@ -425,6 +425,9 @@ void setup_graphics(struct boot_params *boot_params)
    * Because the x86 boot code expects to be passed a boot_params we
    * need to create one ourselves (usually the bootloader would create
    * one for us).
    + *
    + * The caller is responsible for filling out ->code32_start in the
    + * returned boot_params.
    */
    struct boot_params *make_boot_params(void *handle, efi_system_table_t *_table)
    {
    @@ -483,8 +486,6 @@ struct boot_params *make_boot_params(void *handle, efi_system_table_t *_table)
    hdr->vid_mode = 0xffff;
    hdr->boot_flag = 0xAA55;

    - hdr->code32_start = (__u64)(unsigned long)image->image_base;
    -
    hdr->type_of_loader = 0x21;

    /* Convert unicode cmdline to ascii */
    diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S
    index 9116aac232c7..f45ab7a36fb6 100644
    --- a/arch/x86/boot/compressed/head_32.S
    +++ b/arch/x86/boot/compressed/head_32.S
    @@ -50,6 +50,13 @@ ENTRY(efi_pe_entry)
    pushl %eax
    pushl %esi
    pushl %ecx
    +
    + call reloc
    +reloc:
    + popl %ecx
    + subl reloc, %ecx
    + movl %ecx, BP_code32_start(%eax)
    +
    sub $0x4, %esp

    ENTRY(efi_stub_entry)
    @@ -63,12 +70,7 @@ ENTRY(efi_stub_entry)
    hlt
    jmp 1b
    2:
    - call 3f
    -3:
    - popl %eax
    - subl $3b, %eax
    - subl BP_pref_address(%esi), %eax
    - add BP_code32_start(%esi), %eax
    + movl BP_code32_start(%esi), %eax
    leal preferred_addr(%eax), %eax
    jmp *%eax

    diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
    index c5c1ae0997e7..b10fa66a2540 100644
    --- a/arch/x86/boot/compressed/head_64.S
    +++ b/arch/x86/boot/compressed/head_64.S
    @@ -217,6 +217,8 @@ ENTRY(efi_pe_entry)
    cmpq $0,%rax
    je 1f
    mov %rax, %rdx
    + leaq startup_32(%rip), %rax
    + movl %eax, BP_code32_start(%rdx)
    popq %rsi
    popq %rdi

    @@ -230,12 +232,7 @@ ENTRY(efi_stub_entry)
    hlt
    jmp 1b
    2:
    - call 3f
    -3:
    - popq %rax
    - subq $3b, %rax
    - subq BP_pref_address(%rsi), %rax
    - add BP_code32_start(%esi), %eax
    + movl BP_code32_start(%esi), %eax
    leaq preferred_addr(%rax), %rax
    jmp *%rax

    --
    Matt Fleming, Intel Open Source Technology Center
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2014-04-09 11:01    [W:2.155 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site