[PATCH 00/31] Allow building sandbox with MSYS2
Simon Glass
sjg at chromium.org
Tue Apr 25 01:08:05 CEST 2023
This expands the existing work to allow sandbox to build and run on
Windows using MSYS2.
It also fixes a few issues so that binman can be used.
There are various limitations and some features do not work fully yet. In
particular, weak functions are not well supported on Windows so these are
disabled. Various minor compiler-flag and filename adjustments are also
needed.
This does not support SDL, so U-Boot has no display. This is potentially
possible, but requires using minggw instead of the base toolchain [1] so
needs to be dealt with separately.
[1] https://gist.github.com/thales17/fb2e4cff60890a51d9dddd4c6e832ad2
Simon Glass (31):
patman: Declare the future Series memory
u_boot_pylib: Correct name of readme
u_boot_pylib: Make pty optional
binman: Avoid using a symlink
binman: Don't require a HOME directory
pylibfdt: Allow building on Windows
Fix Makefile warning about parallel targets
mkimage: Correct checking of configuration node
Kbuild: Detect including an MSYS2 path
sandbox: Provide a linker script for MSYS2
sandbox: Provide an EFI link script for PE
sandbox: Drop dead code from Makefile
sandbox: Disable raw Ethernet on MSYS2
sandbox: Drop signal handling for MSYS2
sandbox: Correct SDL.h header inclusion
sandbox: Include errno.h in the test header
sandbox: Allow weak symbols to be dropped
sections: Drop use of linux/types.h
sandbox: Drop incorrect inclusion of linux/types.h
sandbox: Drop inclusion of os.h in sscanf.c
test: Avoid strange symbols in the assembler file
sandbox: Fix up setting of monitor_len on MSYS2
ctype: Avoid using a symlink
build: Disable weak symbols for MSYS2
Makefile: Disable unsupported compiler options with PE
Makefile: Correct the ans1_compiler rule for MSYS2
Makefile: Disable LTO when building with MSYS2
doc: Update the MSYS2 packages and versions
doc: Show how to build sandbox for MSYS2
Makefile: Drop unwind tables
CI: Enable sandbox build for Windows
.azure-pipelines.yml | 27 ++
Kconfig | 15 +
Makefile | 27 +-
arch/sandbox/Makefile | 7 -
arch/sandbox/config.mk | 8 +-
arch/sandbox/cpu/Makefile | 2 +
arch/sandbox/cpu/os.c | 3 +-
arch/sandbox/cpu/sdl.c | 2 +-
arch/sandbox/cpu/u-boot-pe.lds | 447 ++++++++++++++++++++++++++
arch/sandbox/include/asm/test.h | 1 +
arch/x86/lib/crt0_x86_64_efi.S | 2 +
arch/x86/lib/pe_x86_64_efi.lds | 83 +++++
cmd/bootefi.c | 3 +-
cmd/bootz.c | 3 +
common/board_f.c | 2 +-
common/usb.c | 3 +
doc/build/gcc.rst | 35 ++
doc/build/tools.rst | 20 +-
drivers/core/root.c | 3 +
drivers/net/Makefile | 2 +
drivers/spi/sandbox_spi.c | 3 +
env/env.c | 6 +
include/asm-generic/sections.h | 16 +-
include/ctype.h | 7 +-
include/linux/compiler_attributes.h | 4 +
include/os.h | 2 -
include/test/test.h | 4 +-
lib/efi_loader/Makefile | 8 +
lib/efi_loader/efi_image_loader.c | 3 +
lib/efi_loader/efi_runtime.c | 4 +
lib/lmb.c | 4 +-
lib/sscanf.c | 1 -
lib/time.c | 3 +
scripts/Kbuild.include | 3 +-
scripts/Makefile.build | 2 +-
scripts/Makefile.lib | 9 +-
scripts/dtc/pylibfdt/Makefile | 16 +-
scripts/make_pip.sh | 9 +-
tools/Makefile | 14 +-
tools/binman/binman | 11 +-
tools/binman/cmdline.py | 2 +-
tools/image-host.c | 4 +-
tools/patman/commit.py | 3 +
tools/u_boot_pylib/README.rst | 2 +-
tools/u_boot_pylib/cros_subprocess.py | 28 +-
tools/u_boot_pylib/pyproject.toml | 2 +-
46 files changed, 803 insertions(+), 62 deletions(-)
create mode 100644 arch/sandbox/cpu/u-boot-pe.lds
create mode 100644 arch/x86/lib/pe_x86_64_efi.lds
mode change 120000 => 100644 include/ctype.h
mode change 120000 => 100755 tools/binman/binman
--
2.40.0.634.g4ca3ef3211-goog
More information about the U-Boot
mailing list