From 01c7d37e00f37538bb43a44ba4e6b660c5ed6a5f Mon Sep 17 00:00:00 2001 From: Toomas Soome Date: Thu, 12 Jul 2018 22:05:22 +0300 Subject: [PATCH] 9652 loader.efi: use explicit lea in multiboot_tramp.S we want to load addresses for the symbols, so we can actually use the memory relative to %rip. --- usr/src/boot/sys/boot/efi/loader/arch/amd64/multiboot_tramp.S | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr/src/boot/sys/boot/efi/loader/arch/amd64/multiboot_tramp.S b/usr/src/boot/sys/boot/efi/loader/arch/amd64/multiboot_tramp.S index dffa273563..061c638b59 100644 --- a/usr/src/boot/sys/boot/efi/loader/arch/amd64/multiboot_tramp.S +++ b/usr/src/boot/sys/boot/efi/loader/arch/amd64/multiboot_tramp.S @@ -59,20 +59,20 @@ multiboot_tramp: movq %rax, %rbx /* MBI */ popq %rsi /* entry to rsi */ popq %rdi /* restore magic */ - movq gdt@GOTPCREL(%rip), %rax - movq gdtaddr@GOTPCREL(%rip), %rdx + lea gdt(%rip), %rax + lea gdtaddr(%rip), %rdx movq %rax, (%rdx) - movq gdtdesc@GOTPCREL(%rip), %rax + lea gdtdesc(%rip), %rax lgdt (%rax) /* record the address */ - movq multiboot_tramp_2@GOTPCREL(%rip), %rcx + lea multiboot_tramp_2(%rip), %rcx movq %rsp, %rax pushq $SEL_SDATA pushq %rax pushf pushq $SEL_SCODE - movq multiboot_tramp_1@GOTPCREL(%rip), %rax + lea multiboot_tramp_1(%rip), %rax pushq %rax iretq -- 2.11.4.GIT