public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH 00/31] Allow building sandbox with MSYS2
@ 2023-04-24 23:08 Simon Glass
  2023-04-24 23:08 ` [PATCH 01/31] patman: Declare the future Series memory Simon Glass
                   ` (31 more replies)
  0 siblings, 32 replies; 72+ messages in thread
From: Simon Glass @ 2023-04-24 23:08 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Bin Meng, Simon Glass, Alper Nebi Yasak, Anastasiia Lukianenko,
	Andre Przywara, Andrew Scull, Ashok Reddy Soma, Fabio Estevam,
	Hai Pham, Harald Seiler, Heiko Thiery, Heinrich Schuchardt,
	Ilias Apalodimas, Jagan Teki, Joe Hershberger, Kever Yang,
	Marek Behún, Marek Vasut, Marek Vasut, Mark Kettenis,
	Masahiro Yamada, Max Krummenacher, Michael Walle, Michal Simek,
	Michal Suchanek, Neha Malcom Francis, Nick Desaulniers,
	Oleksandr Andrushchenko, Ovidiu Panait, Pali Rohár,
	Patrice Chotard, Patrick Delaunay, Peng Fan, Philippe Reynes,
	Pierre-Clément Tosi, Quentin Schulz, Ramon Fried,
	Rasmus Villemoes, Rick Chen, Roman Kopytin, Sean Anderson,
	Sean Anderson, Sjoerd Simons, Stefan Herbrechtsmeier,
	Stefan Roese, Stefano Babic, Steven Lawrance, Sughosh Ganu,
	Weijie Gao, Wolfgang Denk

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


^ permalink raw reply	[flat|nested] 72+ messages in thread

end of thread, other threads:[~2023-04-30 15:10 UTC | newest]

Thread overview: 72+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-24 23:08 [PATCH 00/31] Allow building sandbox with MSYS2 Simon Glass
2023-04-24 23:08 ` [PATCH 01/31] patman: Declare the future Series memory Simon Glass
2023-04-24 23:08 ` [PATCH 02/31] u_boot_pylib: Correct name of readme Simon Glass
2023-04-24 23:08 ` [PATCH 03/31] u_boot_pylib: Make pty optional Simon Glass
2023-04-25 15:57   ` Tom Rini
2023-04-24 23:08 ` [PATCH 04/31] binman: Avoid using a symlink Simon Glass
2023-04-24 23:08 ` [PATCH 05/31] binman: Don't require a HOME directory Simon Glass
2023-04-24 23:08 ` [PATCH 06/31] pylibfdt: Allow building on Windows Simon Glass
2023-04-25 16:18   ` Pali Rohár
2023-04-24 23:08 ` [PATCH 07/31] Fix Makefile warning about parallel targets Simon Glass
2023-04-24 23:08 ` [PATCH 08/31] mkimage: Correct checking of configuration node Simon Glass
2023-04-24 23:08 ` [PATCH 09/31] Kbuild: Detect including an MSYS2 path Simon Glass
2023-04-24 23:08 ` [PATCH 10/31] sandbox: Provide a linker script for MSYS2 Simon Glass
2023-04-25 16:21   ` Pali Rohár
2023-04-25 18:01     ` Simon Glass
2023-04-25 18:11       ` Pali Rohár
2023-04-25 19:23         ` Simon Glass
2023-04-25 19:33           ` Pali Rohár
2023-04-26  0:50             ` Simon Glass
2023-04-26  7:13               ` Pali Rohár
2023-04-26  7:22                 ` Pali Rohár
2023-04-24 23:08 ` [PATCH 11/31] sandbox: Provide an EFI link script for PE Simon Glass
2023-04-24 23:08 ` [PATCH 12/31] sandbox: Drop dead code from Makefile Simon Glass
2023-04-24 23:08 ` [PATCH 13/31] sandbox: Disable raw Ethernet on MSYS2 Simon Glass
2023-04-24 23:08 ` [PATCH 14/31] sandbox: Drop signal handling for MSYS2 Simon Glass
2023-04-25  1:57   ` Heinrich Schuchardt
2023-04-24 23:08 ` [PATCH 15/31] sandbox: Correct SDL.h header inclusion Simon Glass
2023-04-24 23:08 ` [PATCH 16/31] sandbox: Include errno.h in the test header Simon Glass
2023-04-24 23:08 ` [PATCH 17/31] sandbox: Allow weak symbols to be dropped Simon Glass
2023-04-25  2:33   ` Heinrich Schuchardt
2023-04-29 18:41     ` Simon Glass
2023-04-25  2:44   ` Bin Meng
2023-04-25 16:31     ` Pali Rohár
2023-04-29 18:41       ` Simon Glass
2023-04-30  9:43         ` Pali Rohár
2023-04-29 18:41     ` Simon Glass
2023-04-30 15:10       ` Bin Meng
2023-04-24 23:08 ` [PATCH 18/31] sections: Drop use of linux/types.h Simon Glass
2023-04-24 23:08 ` [PATCH 19/31] sandbox: Drop incorrect inclusion " Simon Glass
2023-04-24 23:08 ` [PATCH 20/31] sandbox: Drop inclusion of os.h in sscanf.c Simon Glass
2023-04-24 23:08 ` [PATCH 21/31] test: Avoid strange symbols in the assembler file Simon Glass
2023-04-25  2:29   ` Heinrich Schuchardt
2023-04-24 23:08 ` [PATCH 22/31] sandbox: Fix up setting of monitor_len on MSYS2 Simon Glass
2023-04-24 23:08 ` [PATCH 23/31] ctype: Avoid using a symlink Simon Glass
2023-04-24 23:08 ` [PATCH 24/31] build: Disable weak symbols for MSYS2 Simon Glass
2023-04-25 16:21   ` Pali Rohár
2023-04-29 18:41     ` Simon Glass
2023-04-24 23:08 ` [PATCH 25/31] Makefile: Disable unsupported compiler options with PE Simon Glass
2023-04-25 15:59   ` Tom Rini
2023-04-25 16:22   ` Pali Rohár
2023-04-24 23:08 ` [PATCH 26/31] Makefile: Correct the ans1_compiler rule for MSYS2 Simon Glass
2023-04-25 16:23   ` Pali Rohár
2023-04-24 23:08 ` [PATCH 27/31] Makefile: Disable LTO when building with MSYS2 Simon Glass
2023-04-25 16:27   ` Pali Rohár
2023-04-26  1:04     ` Simon Glass
2023-04-26  7:07       ` Pali Rohár
2023-04-27 16:25         ` Simon Glass
2023-04-27 16:48           ` Pali Rohár
2023-04-27 17:34           ` Tom Rini
2023-04-28  7:37             ` Marek Behún
2023-04-28 13:03               ` Tom Rini
2023-04-24 23:08 ` [PATCH 28/31] doc: Update the MSYS2 packages and versions Simon Glass
2023-04-24 23:08 ` [PATCH 29/31] doc: Show how to build sandbox for MSYS2 Simon Glass
2023-04-25  2:20   ` Heinrich Schuchardt
2023-04-25  2:54   ` Heinrich Schuchardt
2023-04-25  3:01     ` Bin Meng
2023-04-25  3:12       ` Heinrich Schuchardt
2023-04-24 23:08 ` [PATCH 30/31] Makefile: Drop unwind tables Simon Glass
2023-04-24 23:08 ` [PATCH 31/31] CI: Enable sandbox build for Windows Simon Glass
2023-04-25  2:59 ` [PATCH 00/31] Allow building sandbox with MSYS2 Heinrich Schuchardt
2023-04-25 16:04   ` Tom Rini
2023-04-25 18:01     ` Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox