From: Alexandru Elisei <alexandru.elisei@arm.com>
To: Zhenzhong Duan <zhenzhong.duan@intel.com>
Cc: kvm@vger.kernel.org, pbonzini@redhat.com, seanjc@google.com
Subject: Re: [PATCH] x86 UEFI: Fix broken build for UEFI
Date: Mon, 14 Feb 2022 11:14:43 +0000 [thread overview]
Message-ID: <Ygo5o7+j1ALOSwtY@monolith.localdoman> (raw)
In-Reply-To: <20220210092044.18808-1-zhenzhong.duan@intel.com>
Hi,
On Thu, Feb 10, 2022 at 05:20:44PM +0800, Zhenzhong Duan wrote:
> UEFI loads EFI applications to dynamic runtime addresses, so it requires
> all applications to be compiled as PIC (position independent code).
>
> The new introduced single-step #DB tests series bring some compile time
> absolute address, fixed it with RIP relative address.
With this patch the error:
ld: x86/debug.o: relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
disappears and I can now build kvm-unit-tests for x86_64 when configured
with --target-efi:
Tested-by: Alexandru Elisei <alexandru.elisei@arm.com>
Thanks,
Alex
>
> Fixes: 9734b4236294 ("x86/debug: Add framework for single-step #DB tests")
> Fixes: 6bfb9572ec04 ("x86/debug: Test IN instead of RDMSR for single-step #DB emulation test")
> Fixes: bc0dd8bdc627 ("x86/debug: Add single-step #DB + STI/MOVSS blocking tests")
> Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
> ---
> x86/debug.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/x86/debug.c b/x86/debug.c
> index 20ff8ebacc16..13d1f9629e1d 100644
> --- a/x86/debug.c
> +++ b/x86/debug.c
> @@ -145,7 +145,7 @@ static unsigned long singlestep_basic(void)
> "and $~(1<<8),%%rax\n\t"
> "1:push %%rax\n\t"
> "popf\n\t"
> - "lea 1b, %0\n\t"
> + "lea 1b(%%rip), %0\n\t"
> : "=r" (start) : : "rax"
> );
> return start;
> @@ -186,7 +186,7 @@ static unsigned long singlestep_emulated_instructions(void)
> "movl $0x3fd, %%edx\n\t"
> "inb %%dx, %%al\n\t"
> "popf\n\t"
> - "lea 1b,%0\n\t"
> + "lea 1b(%%rip),%0\n\t"
> : "=r" (start) : : "rax", "ebx", "ecx", "edx"
> );
> return start;
> @@ -223,7 +223,7 @@ static unsigned long singlestep_with_sti_blocking(void)
> "1:and $~(1<<8),%%rax\n\t"
> "push %%rax\n\t"
> "popf\n\t"
> - "lea 1b,%0\n\t"
> + "lea 1b(%%rip),%0\n\t"
> : "=r" (start_rip) : : "rax"
> );
> return start_rip;
> @@ -259,7 +259,7 @@ static unsigned long singlestep_with_movss_blocking(void)
> "and $~(1<<8),%%rax\n\t"
> "1: push %%rax\n\t"
> "popf\n\t"
> - "lea 1b,%0\n\t"
> + "lea 1b(%%rip),%0\n\t"
> : "=r" (start_rip) : : "rax"
> );
> return start_rip;
> @@ -302,7 +302,7 @@ static unsigned long singlestep_with_movss_blocking_and_icebp(void)
> "1:and $~(1<<8),%%rax\n\t"
> "push %%rax\n\t"
> "popf\n\t"
> - "lea 1b,%0\n\t"
> + "lea 1b(%%rip),%0\n\t"
> : "=r" (start) : : "rax"
> );
> return start;
> @@ -346,7 +346,7 @@ static unsigned long singlestep_with_movss_blocking_and_dr7_gd(void)
> "and $~(1<<8),%%rax\n\t"
> "push %%rax\n\t"
> "popf\n\t"
> - "lea 1b,%0\n\t"
> + "lea 1b(%%rip),%0\n\t"
> : "=r" (start_rip) : : "rax"
> );
> return start_rip;
> --
> 2.25.1
>
next prev parent reply other threads:[~2022-02-14 11:32 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-10 9:20 [PATCH] x86 UEFI: Fix broken build for UEFI Zhenzhong Duan
2022-02-10 16:30 ` Sean Christopherson
2022-02-11 3:07 ` Duan, Zhenzhong
2022-02-14 11:14 ` Alexandru Elisei [this message]
2022-02-14 12:42 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Ygo5o7+j1ALOSwtY@monolith.localdoman \
--to=alexandru.elisei@arm.com \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
--cc=zhenzhong.duan@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.