17 Oct, 2007

2 commits

  • include/asm-powerpc/elf.h has 6 entries in ARCH_DLINFO. fs/binfmt_elf.c
    has 14 unconditional NEW_AUX_ENT entries and 2 conditional NEW_AUX_ENT
    entries. So in the worst case, saved_auxv does not get an AT_NULL entry at
    the end.

    The saved_auxv array must be terminated with an AT_NULL entry. Make the
    size of mm_struct->saved_auxv arch dependend, based on the number of
    ARCH_DLINFO entries.

    Signed-off-by: Olaf Hering
    Cc: Roland McGrath
    Cc: Jakub Jelinek
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: "Luck, Tony"
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olaf Hering
     
  • Update dump_task_altivec() (which has so far never been put to use) so that
    it dumps the Altivec/VMX registers (VR[0] - VR[31], VSCR and VRSAVE) in the
    same format as the ptrace get_vrregs(), and add the appropriate glue
    typedef and #defines to make it work.

    A new note type of NT_PPC_VMX was chosen to be 0x100 (arbitrarily) because
    it allows the low range values to be used for more generic purposes and
    0x100 seems an adequate starting point for PowerPC extensions.

    Signed-off-by: Mark Nelson
    Signed-off-by: Paul Mackerras
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Andi Kleen
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Nelson
     

19 Sep, 2007

1 commit

  • To start with, arch_notes_size() etc. is a little too ambiguous a name for
    my liking, so change the function names to be more explicit.

    Calling through macros is ugly, especially with hidden parameters, so don't
    do that, call the routines directly.

    Use ARCH_HAVE_EXTRA_ELF_NOTES as the only flag, and based on it decide
    whether we want the extern declarations or the empty versions.

    Since we have empty routines, actually use them in the coredump code to
    save a few #ifdefs.

    We want to change the handling of foffset so that the write routine updates
    foffset as it goes, instead of using file->f_pos (so that writing to a pipe
    works). So pass foffset to the write routine, and for now just set it to
    file->f_pos at the end of writing.

    It should also be possible for the write routine to fail, so change it to
    return int and treat a non-zero return as failure.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Jeremy Kerr
    Signed-off-by: Paul Mackerras

    Michael Ellerman
     

03 May, 2007

1 commit

  • Some versions of libc can't deal with a VDSO which doesn't have its
    ELF headers matching its mapped address. COMPAT_VDSO maps the VDSO at
    a specific system-wide fixed address. Previously this was all done at
    build time, on the grounds that the fixed VDSO address is always at
    the top of the address space. However, a hypervisor may reserve some
    of that address space, pushing the fixmap address down.

    This patch does the adjustment dynamically at runtime, depending on
    the runtime location of the VDSO fixmap.

    [ Patch has been through several hands: Jan Beulich wrote the orignal
    version; Zach reworked it, and Jeremy converted it to relocate phdrs
    as well as sections. ]

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Andi Kleen
    Cc: Zachary Amsden
    Cc: "Jan Beulich"
    Cc: Eric W. Biederman
    Cc: Andi Kleen
    Cc: Ingo Molnar
    Cc: Roland McGrath

    Jeremy Fitzhardinge
     

08 Dec, 2006

2 commits

  • In file included from include/asm/patch.h:14,
    from arch/ia64/kernel/patch.c:10:
    include/linux/elf.h:375: warning: "struct file" declared inside parameter list
    include/linux/elf.h:375: warning: its scope is only this definition or declaration, which is probably not what you want

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Define elf_addr_t in linux/elf.h. The size of the type is determined using
    ELF_CLASS. This allows us to remove the defines that today are spread all
    over .c and .h files.

    Signed-off-by: Magnus Damm
    Cc: Daniel Jacobowitz
    Cc: Roland McGrath
    Cc: Jakub Jelinek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Magnus Damm
     

04 Dec, 2006

1 commit

  • This patch adds SPU elf notes to the coredump. It creates a separate note
    for each of /regs, /fpcr, /lslr, /decr, /decr_status, /mem, /signal1,
    /signal1_type, /signal2, /signal2_type, /event_mask, /event_status,
    /mbox_info, /ibox_info, /wbox_info, /dma_info, /proxydma_info, /object-id.

    A new macro, ARCH_HAVE_EXTRA_NOTES, was created for architectures to
    specify they have extra elf core notes.

    A new macro, ELF_CORE_EXTRA_NOTES_SIZE, was created so the size of the
    additional notes could be calculated and added to the notes phdr entry.

    A new macro, ELF_CORE_WRITE_EXTRA_NOTES, was created so the new notes
    would be written after the existing notes.

    The SPU coredump code resides in spufs. Stub functions are provided in the
    kernel which are hooked into the spufs code which does the actual work via
    register_arch_coredump_calls().

    A new set of __spufs__read/get() functions was provided to allow the
    coredump code to read from the spufs files without having to lock the
    SPU context for each file read from.

    Cc:
    Signed-off-by: Dwayne Grant McConnell
    Signed-off-by: Arnd Bergmann

    Dwayne Grant McConnell
     

27 Apr, 2006

1 commit


09 Jan, 2006

1 commit


08 Sep, 2005

1 commit

  • The size of auxiliary vector is fixed at 42 in linux/sched.h. But it isn't
    very obvious when looking at linux/elf.h. This patch adds AT_VECTOR_SIZE
    so that we can change it if necessary when a new vector is added.

    Because of include file ordering problems, doing this necessitated the
    extraction of the AT_* symbols into a standalone header file.

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    H. J. Lu
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds