lkml.org 
[lkml]   [2014]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.12 10/32] arm64: vdso: prevent ld from aligning PT_LOAD segments to 64k
    Date
    3.12-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Will Deacon <will.deacon@arm.com>

    commit 40507403485fcb56b83d6ddfc954e9b08305054c upstream.

    Whilst the text segment for our VDSO is marked as PT_LOAD in the ELF
    headers, it is mapped by the kernel and not actually subject to
    demand-paging. ld doesn't realise this, and emits a p_align field of 64k
    (the maximum supported page size), which conflicts with the load address
    picked by the kernel on 4k systems, which will be 4k aligned. This
    causes GDB to fail with "Failed to read a valid object file image from
    memory" when attempting to load the VDSO.

    This patch passes the -n option to ld, which prevents it from aligning
    PT_LOAD segments to the maximum page size.

    Reported-by: Kyle McMartin <kyle@redhat.com>
    Acked-by: Kyle McMartin <kyle@redhat.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/arm64/kernel/vdso/Makefile | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/arch/arm64/kernel/vdso/Makefile
    +++ b/arch/arm64/kernel/vdso/Makefile
    @@ -48,7 +48,7 @@ $(obj-vdso): %.o: %.S

    # Actual build commands
    quiet_cmd_vdsold = VDSOL $@
    - cmd_vdsold = $(CC) $(c_flags) -Wl,-T $^ -o $@
    + cmd_vdsold = $(CC) $(c_flags) -Wl,-n -Wl,-T $^ -o $@
    quiet_cmd_vdsoas = VDSOA $@
    cmd_vdsoas = $(CC) $(a_flags) -c -o $@ $<




    \
     
     \ /
      Last update: 2014-02-19 01:41    [W:4.289 / U:0.700 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site