On Tuesday 25 April 2023 10:44:17 Bin Meng wrote: > Hi Simon, > > On Tue, Apr 25, 2023 at 7:09 AM Simon Glass <s...@chromium.org> wrote: > > > > The sandbox build makes use of a small number of weak symbols. Allow these > > to be dropped when building for the PE format, since its support for weak > > symbols is poor. > > > > Signed-off-by: Simon Glass <s...@chromium.org> > > --- > > > > cmd/bootefi.c | 3 ++- > > cmd/bootz.c | 3 +++ > > common/usb.c | 3 +++ > > drivers/core/root.c | 3 +++ > > drivers/spi/sandbox_spi.c | 3 +++ > > env/env.c | 6 ++++++ > > lib/efi_loader/efi_image_loader.c | 3 +++ > > lib/efi_loader/efi_runtime.c | 4 ++++ > > lib/lmb.c | 4 +++- > > lib/time.c | 3 +++ > > 10 files changed, 33 insertions(+), 2 deletions(-) > > > > You probably need to use: > > __declspec(selectany) > > to replace __weak in the ELF for the *nix world. > > Note this Microsoft bizarre does not provide the "strong override > weak" effect but I suspect what you only need is to get the build pass > on Windows so it should be okay. > > Regards, > Bin
You have selectany and external weaks support in PE format. For the majority of weak function cases, this is enough. Cannot we use them?