qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 33143c: linux-user: fix ELF load alignment er


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 33143c: linux-user: fix ELF load alignment error
Date: Mon, 23 Jul 2018 07:15:28 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 33143c446eb88de28ea3088b279feda8f693e398
      
https://github.com/qemu/qemu/commit/33143c446eb88de28ea3088b279feda8f693e398
  Author: Laurent Vivier <address@hidden>
  Date:   2018-07-22 (Sun, 22 Jul 2018)

  Changed paths:
    M linux-user/elfload.c
    M linux-user/qemu.h

  Log Message:
  -----------
  linux-user: fix ELF load alignment error

When we try to use some targets on ppc64, it can happen the target
doesn't support the host page size to align ELF load sections and
fails with:

  ELF load command alignment not page-aligned

Since commit a70daba3771 ("linux-user: Tell guest about big host
page sizes") the host page size is used to align ELF sections, but
this doesn't work if the alignment required by the load section is
smaller than the host one.  For these cases, we continue to use the
TARGET_PAGE_SIZE instead of the host one.

I have tested this change on ppc64, and it fixes qemu linux-user for:
  s390x, m68k, i386, arm, aarch64, hppa
and I have tested it doesn't break the following targets:
  x86_64, mips64el, sh4
mips and mipsel abort, but I think for another reason.

Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
[lv: fixed "info->alignment = 0"]
Message-Id: <address@hidden>


  Commit: fa97e38eed3bbdbc322d94092ca49450e724fff1
      
https://github.com/qemu/qemu/commit/fa97e38eed3bbdbc322d94092ca49450e724fff1
  Author: Richard Henderson <address@hidden>
  Date:   2018-07-22 (Sun, 22 Jul 2018)

  Changed paths:
    M linux-user/ppc/signal.c
    M linux-user/qemu.h
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user/ppc: Implement swapcontext syscall

This allows the tests generated by debian-powerpc-user-cross
to function properly, especially tests/test-coroutine.

Technically this syscall is available to both ppc32 and ppc64,
but only ppc32 glibc actually uses it.  Thus the ppc64 path is
untested.

Signed-off-by: Richard Henderson <address@hidden>
Tested-by: Alex Bennée <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>


  Commit: 55b1f14cefcb19ce6d5e28c4c83404230888aa7e
      
https://github.com/qemu/qemu/commit/55b1f14cefcb19ce6d5e28c4c83404230888aa7e
  Author: Peter Maydell <address@hidden>
  Date:   2018-07-23 (Mon, 23 Jul 2018)

  Changed paths:
    M linux-user/elfload.c
    M linux-user/ppc/signal.c
    M linux-user/qemu.h
    M linux-user/syscall.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/vivier2/tags/linux-user-for-3.0-pull-request' into staging

Some ppc/ppc64 fixes:
- we can run now most of the targets on a ppc64 host with 64kB pages
- add swapcontext syscall to run tests/test-coroutine in
  debian-powerpc-user-cross

# gpg: Signature made Mon 23 Jul 2018 13:55:57 BST
# gpg:                using RSA key F30C38BD3F2FBE3C
# gpg: Good signature from "Laurent Vivier <address@hidden>"
# gpg:                 aka "Laurent Vivier <address@hidden>"
# gpg:                 aka "Laurent Vivier (Red Hat) <address@hidden>"
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier2/tags/linux-user-for-3.0-pull-request:
  linux-user/ppc: Implement swapcontext syscall
  linux-user: fix ELF load alignment error

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/6598f0cdad6a...55b1f14cefcb
      **NOTE:** This service been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]