aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2019-07-22 11:26:15 +0200
committerKevin Wolf <kwolf@redhat.com>2019-07-30 12:25:43 +0200
commit6078a0b64f23b40a9f5405bb39662412f536d7d6 (patch)
treec4017cd326bfd8895a1e7c42cd5cf6c4929cf451
parentee9545ed1543020fba52fa5fb8f2b71c63e5389f (diff)
downloadqemu-6078a0b64f23b40a9f5405bb39662412f536d7d6.zip
qemu-6078a0b64f23b40a9f5405bb39662412f536d7d6.tar.gz
qemu-6078a0b64f23b40a9f5405bb39662412f536d7d6.tar.bz2
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>
-rw-r--r--tests/multiboot/link.ld6
1 files changed, 3 insertions, 3 deletions
diff --git a/tests/multiboot/link.ld b/tests/multiboot/link.ld
index 3d49b58..2eafcff 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) : {