A gentle ping?

On Tue, Jun 3, 2014 at 2:46 PM, Hán Shěn (沈涵) <[email protected]> wrote:
> Hi we are trying to boot up a x86_64 chrome book using binutils 2.24 and
> kernel 3.8, but failed.
>
> After some triage work, we found that a 2-year-old binutil CL changed the
> interpretation of "." in linker script (short story: absolute -> relative,
> long story: https://sourceware.org/ml/binutils/2012-06/msg00155.html).
>
> After some further work, we are able to boot the kernel with a kernel patch
> pasted at EOM. I am curious, why the upstream kernel is never hit by this
> behavior? We enabled "CONFIG_DEBUG_RODATA", so we were hit, is this some
> macro not usually turned on?
>
> Patch here ----
> diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
> index d329fc4..d5dc570 100644
> --- a/arch/x86/kernel/vmlinux.lds.S
> +++ b/arch/x86/kernel/vmlinux.lds.S
> @@ -58,7 +58,7 @@ jiffies_64 = jiffies;
>
>  #define X64_ALIGN_DEBUG_RODATA_END                             \
>                 . = ALIGN(HPAGE_SIZE);                          \
> -               __end_rodata_hpage_align = .;
> +               __end_rodata_hpage_align = ABSOLUTE(.);
>
>  #else
>
> @@ -159,7 +159,7 @@ SECTIONS
>  #ifdef CONFIG_X86_64
>
>         . = ALIGN(PAGE_SIZE);
> -       __vvar_page = .;
> +       __vvar_page = ABSOLUTE(.);
>
>         .vvar : AT(ADDR(.vvar) - LOAD_OFFSET) {
>                 /* work around gold bug 13023 */
> @@ -325,7 +325,7 @@ SECTIONS
>                 __brk_limit = .;
>         }
>
> -       _end = .;
> +       _end = ABSOLUTE(.);
>
>          STABS_DEBUG
>          DWARF_DEBUG
>



-- 
Han Shen |  Software Engineer |  [email protected] |  +1-650-440-3330
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to