diff options
author | Kevin Wolf | 2019-07-22 11:26:15 +0200 |
---|---|---|
committer | Kevin Wolf | 2019-07-30 12:25:43 +0200 |
commit | 6078a0b64f23b40a9f5405bb39662412f536d7d6 (patch) | |
tree | c4017cd326bfd8895a1e7c42cd5cf6c4929cf451 /tests/multiboot | |
parent | Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (diff) | |
download | qemu-6078a0b64f23b40a9f5405bb39662412f536d7d6.tar.gz qemu-6078a0b64f23b40a9f5405bb39662412f536d7d6.tar.xz qemu-6078a0b64f23b40a9f5405bb39662412f536d7d6.zip |
tests/multiboot: Fix load address of test kernels
While older toolchains produced binaries where the physical load address
of ELF segments was the same as the virtual address, newer versions seem
to choose a different physical address if it isn't specified explicitly.
The means that the test kernel doesn't use the right addresses to access
e.g. format strings any more and the whole output disappears, causing
all test cases to fail.
Fix this by specifying the physical load address of sections explicitly.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'tests/multiboot')
-rw-r--r-- | tests/multiboot/link.ld | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tests/multiboot/link.ld b/tests/multiboot/link.ld index 3d49b58c60..2eafcffc4f 100644 --- a/tests/multiboot/link.ld +++ b/tests/multiboot/link.ld @@ -3,14 +3,14 @@ ENTRY(_start) SECTIONS { . = 0x100000; - .text : { + .text : AT(ADDR(.text)) { *(multiboot) *(.text) } - .data ALIGN(4096) : { + .data ALIGN(4096) : AT(ADDR(.data)) { *(.data) } - .rodata ALIGN(4096) : { + .rodata ALIGN(4096) : AT(ADDR(.rodata)) { *(.rodata) } .bss ALIGN(4096) : { |