From: "Ard Biesheuvel" <ard.biesheuvel@linaro.org>
To: Leif Lindholm <leif.lindholm@linaro.org>
Cc: edk2-devel-groups-io <devel@edk2.groups.io>,
Laszlo Ersek <lersek@redhat.com>
Subject: Re: [PATCH] ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: revert to PIE linking
Date: Thu, 5 Sep 2019 10:06:56 -0700 [thread overview]
Message-ID: <CAKv+Gu-KKVh+kmcHAWM0tffwE9VGvR7kJchF7nSEafF+Dk4ONQ@mail.gmail.com> (raw)
In-Reply-To: <20190905155556.GD29255@bivouac.eciton.net>
On Thu, 5 Sep 2019 at 08:55, Leif Lindholm <leif.lindholm@linaro.org> wrote:
>
> On Thu, Sep 05, 2019 at 07:25:39AM -0700, Ard Biesheuvel wrote:
> > > > [BuildOptions]
> > > > - GCC:*_*_*_DLINK_FLAGS = -shared -Wl,-Bsymbolic -Wl,-T,$(MODULE_DIR)/Scripts/PrePi-PIE.lds
> > > > + GCC:*_*_*_DLINK_FLAGS = -Wl,-Bsymbolic,-pie,-T,$(MODULE_DIR)/Scripts/PrePi-PIE.lds
> > >
> > > We already merged a fix for AARCH64 though - could/should this be
> > > active on ARM only?
> > >
> > > A problem I have with this patch is that ArmVirtQemuKernel curently
> > > doesn't boot on my qemu (with/without kvm, built with GCC5 or CLANG38,
> > > with or without this patch):
> > > ProcessPciHost: Config[0x4010000000+0x10000000) Bus[0x0..0xFF]
> > > Io[0x0+0x10000)@0x3EFF0000 Mem32[0x10000000+0x2EFF0000)@0x0
> > > Mem64[0x8000000000+0x8000000000)@0x0
> > > MapGcdMmioSpace: failed to set memory space attributes for region
> > > [0x4010000000+0x10000000)
> > >
> > > ASSERT_EFI_ERROR (Status = Unsupported)
> > > ASSERT [PciHostBridgeDxe]
> > > /work/git/edk2/ArmVirtPkg/Library/FdtPciHostBridgeLib/FdtPciHostBridgeLib.c(293):
> > > !EFI_ERROR (Status)
> > > qemu-system-arm: terminating on signal 15 from pid 4680 (killall)
> > >
> >
> > Does it work with -M virt,highmem=off ?
>
> Ah, yes - that works fine then, also with the patch.
>
> Well, with that, and your explanation in the other thread:
> Acked-by: Leif Lindholm <leif.lindholm@linaro.org>
Thanks. I am going to replace the last paragraph of the commit log with
Note that in this particular case, we are interested in PIE linking
only (i.e., producing a .rela section containing dynamic relocations
that the startup code can process directly), and not in position
independent code generation, and by passing the -pie option to the
linker directly using -Wl,-pie (and dropping -shared), we can coerce
the GOLD linker into doing only the former rather than both when it
performs its LTO code generation.
and push (unless you have any objections)
next prev parent reply other threads:[~2019-09-05 17:07 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-04 23:04 [PATCH] ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: revert to PIE linking Ard Biesheuvel
2019-09-05 14:19 ` Leif Lindholm
2019-09-05 14:25 ` Ard Biesheuvel
2019-09-05 15:55 ` Leif Lindholm
2019-09-05 17:06 ` Ard Biesheuvel [this message]
2019-09-05 17:16 ` Leif Lindholm
2019-09-05 17:19 ` Ard Biesheuvel
2019-09-05 14:27 ` Ard Biesheuvel
2019-09-05 19:33 ` [edk2-devel] " Laszlo Ersek
2019-09-06 22:47 ` Ard Biesheuvel
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-list 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=CAKv+Gu-KKVh+kmcHAWM0tffwE9VGvR7kJchF7nSEafF+Dk4ONQ@mail.gmail.com \
--to=devel@edk2.groups.io \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox