From patchwork Sat Apr 18 08:59:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 237982 List-Id: U-Boot discussion From: bmeng.cn at gmail.com (Bin Meng) Date: Sat, 18 Apr 2020 01:59:09 -0700 Subject: [PATCH 1/3] tools: Remove the out-of-date MinGW support codes Message-ID: <1587200351-12590-1-git-send-email-bmeng.cn@gmail.com> From: Bin Meng MinGW build for U-Boot tools has been broken for years. The official support of Windows build is now MSYS2. Remove the MinGW support codes. Signed-off-by: Bin Meng --- README | 10 ----- tools/mingw_support.c | 113 -------------------------------------------------- tools/mingw_support.h | 45 -------------------- tools/os_support.c | 7 ++-- tools/os_support.h | 3 -- 5 files changed, 3 insertions(+), 175 deletions(-) delete mode 100644 tools/mingw_support.c delete mode 100644 tools/mingw_support.h diff --git a/README b/README index 19dae14..d0af6c6 100644 --- a/README +++ b/README @@ -3186,16 +3186,6 @@ necessary. For example using the ELDK on a 4xx CPU, please enter: $ CROSS_COMPILE=ppc_4xx- $ export CROSS_COMPILE -Note: If you wish to generate Windows versions of the utilities in - the tools directory you can use the MinGW toolchain - (http://www.mingw.org). Set your HOST tools to the MinGW - toolchain and execute 'make tools'. For example: - - $ make HOSTCC=i586-mingw32msvc-gcc HOSTSTRIP=i586-mingw32msvc-strip tools - - Binaries such as tools/mkimage.exe will be created which can - be executed on computers running Windows. - U-Boot is intended to be simple to build. After installing the sources you must configure U-Boot for one specific board type. This is done by typing: diff --git a/tools/mingw_support.c b/tools/mingw_support.c deleted file mode 100644 index 2b17bf7..0000000 --- a/tools/mingw_support.c +++ /dev/null @@ -1,113 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright 2008 Extreme Engineering Solutions, Inc. - * - * mmap/munmap implementation derived from: - * Clamav Native Windows Port : mmap win32 compatibility layer - * Copyright (c) 2005-2006 Gianluigi Tiesi - * Parts by Kees Zeelenberg (LibGW32C) - */ - -#include "mingw_support.h" -#include -#include -#include -#include -#include -#include - -int fsync(int fd) -{ - return _commit(fd); -} - -void *mmap(void *addr, size_t len, int prot, int flags, int fd, int offset) -{ - void *map = NULL; - HANDLE handle = INVALID_HANDLE_VALUE; - DWORD cfm_flags = 0, mvf_flags = 0; - - switch (prot) { - case PROT_READ | PROT_WRITE: - cfm_flags = PAGE_READWRITE; - mvf_flags = FILE_MAP_ALL_ACCESS; - break; - case PROT_WRITE: - cfm_flags = PAGE_READWRITE; - mvf_flags = FILE_MAP_WRITE; - break; - case PROT_READ: - cfm_flags = PAGE_READONLY; - mvf_flags = FILE_MAP_READ; - break; - default: - return MAP_FAILED; - } - - handle = CreateFileMappingA((HANDLE) _get_osfhandle(fd), NULL, - cfm_flags, HIDWORD(len), LODWORD(len), NULL); - if (!handle) - return MAP_FAILED; - - map = MapViewOfFile(handle, mvf_flags, HIDWORD(offset), - LODWORD(offset), len); - CloseHandle(handle); - - if (!map) - return MAP_FAILED; - - return map; -} - -int munmap(void *addr, size_t len) -{ - if (!UnmapViewOfFile(addr)) - return -1; - - return 0; -} - -/* Reentrant string tokenizer. Generic version. - Copyright (C) 1991,1996-1999,2001,2004,2007 Free Software Foundation, Inc. - This file is part of the GNU C Library. - */ - -/* Parse S into tokens separated by characters in DELIM. - If S is NULL, the saved pointer in SAVE_PTR is used as - the next starting point. For example: - char s[] = "-abc-=-def"; - char *sp; - x = strtok_r(s, "-", &sp); // x = "abc", sp = "=-def" - x = strtok_r(NULL, "-=", &sp); // x = "def", sp = NULL - x = strtok_r(NULL, "=", &sp); // x = NULL - // s = "abc\0-def\0" -*/ -char *strtok_r(char *s, const char *delim, char **save_ptr) -{ - char *token; - - if (s == NULL) - s = *save_ptr; - - /* Scan leading delimiters. */ - s += strspn(s, delim); - if (*s == '\0') { - *save_ptr = s; - return NULL; - } - - /* Find the end of the token. */ - token = s; - s = strpbrk (token, delim); - if (s == NULL) { - /* This token finishes the string. */ - *save_ptr = memchr(token, '\0', strlen(token)); - } else { - /* Terminate the token and make *SAVE_PTR point past it. */ - *s = '\0'; - *save_ptr = s + 1; - } - return token; -} - -#include "getline.c" diff --git a/tools/mingw_support.h b/tools/mingw_support.h deleted file mode 100644 index e0b8ac3..0000000 --- a/tools/mingw_support.h +++ /dev/null @@ -1,45 +0,0 @@ -/* SPDX-License-Identifier: LGPL-2.0+ */ -/* - * Copyright 2008 Extreme Engineering Solutions, Inc. - */ - -#ifndef __MINGW_SUPPORT_H_ -#define __WINGW_SUPPORT_H_ 1 - -/* Defining __INSIDE_MSYS__ helps to prevent u-boot/mingw overlap */ -#define __INSIDE_MSYS__ 1 - -#include - -/* mmap protections */ -#define PROT_READ 0x1 /* Page can be read */ -#define PROT_WRITE 0x2 /* Page can be written */ -#define PROT_EXEC 0x4 /* Page can be executed */ -#define PROT_NONE 0x0 /* Page can not be accessed */ - -/* Sharing types (must choose one and only one of these) */ -#define MAP_SHARED 0x01 /* Share changes */ -#define MAP_PRIVATE 0x02 /* Changes are private */ - -/* File perms */ -#ifndef S_IRGRP -# define S_IRGRP 0 -#endif -#ifndef S_IWGRP -# define S_IWGRP 0 -#endif - -/* Windows 64-bit access macros */ -#define LODWORD(x) ((DWORD)((DWORDLONG)(x))) -#define HIDWORD(x) ((DWORD)(((DWORDLONG)(x) >> 32) & 0xffffffff)) - -typedef UINT uint; -typedef ULONG ulong; - -int fsync(int fd); -void *mmap(void *, size_t, int, int, int, int); -int munmap(void *, size_t); -char *strtok_r(char *s, const char *delim, char **save_ptr); -#include "getline.h" - -#endif /* __MINGW_SUPPORT_H_ */ diff --git a/tools/os_support.c b/tools/os_support.c index 21e43c8..6890c31 100644 --- a/tools/os_support.c +++ b/tools/os_support.c @@ -3,13 +3,12 @@ * Copyright 2009 Extreme Engineering Solutions, Inc. */ +#include "compiler.h" + /* * Include additional files required for supporting different operating systems */ -#include "compiler.h" -#ifdef __MINGW32__ -#include "mingw_support.c" -#endif + #if defined(__APPLE__) && __DARWIN_C_LEVEL < 200809L #include "getline.c" #endif diff --git a/tools/os_support.h b/tools/os_support.h index 3a2106e..471d605 100644 --- a/tools/os_support.h +++ b/tools/os_support.h @@ -11,9 +11,6 @@ /* * Include additional files required for supporting different operating systems */ -#ifdef __MINGW32__ -#include "mingw_support.h" -#endif #if defined(__APPLE__) && __DARWIN_C_LEVEL < 200809L #include "getline.h"