* [PATCH v2 0/3] scripts: imx: imx-usb-loader: fix mingw compilation
@ 2025-12-01 10:26 Maud Spierings via B4 Relay
2025-12-01 10:26 ` [PATCH v2 1/3] scripts: imx: Makefile.mingw64: add _GNU_SOURCE Maud Spierings via B4 Relay
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-12-01 10:26 UTC (permalink / raw)
To: Sascha Hauer, BAREBOX; +Cc: Maud Spierings
Compiling imx-usb-loader for windows targets had become broken, fix it.
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
Changes in v2:
- Extract the mingw pread implementation to a seperate file that only
gets used when mingw is the target.
- Link to v1: https://lore.kernel.org/r/20251128-imx_usb-v1-0-bb6a5180b38e@gocontroll.com
---
Maud Spierings (3):
scripts: imx: Makefile.mingw64: add _GNU_SOURCE
scripts: imx: add pread implementation for mingw target
gitignore: ignore *.exe
.gitignore | 1 +
scripts/imx/Makefile.mingw64 | 4 ++--
scripts/imx/pread.c | 25 +++++++++++++++++++++++++
3 files changed, 28 insertions(+), 2 deletions(-)
---
base-commit: 3e01efb6c6527ca72a1213000006be1902db7be9
change-id: 20251128-imx_usb-410bbb57e068
Best regards,
--
Maud Spierings <maudspierings@gocontroll.com>
^ permalink raw reply [flat|nested] 8+ messages in thread* [PATCH v2 1/3] scripts: imx: Makefile.mingw64: add _GNU_SOURCE 2025-12-01 10:26 [PATCH v2 0/3] scripts: imx: imx-usb-loader: fix mingw compilation Maud Spierings via B4 Relay @ 2025-12-01 10:26 ` Maud Spierings via B4 Relay 2025-12-01 10:29 ` Ahmad Fatoum 2025-12-01 10:26 ` [PATCH v2 2/3] scripts: imx: add pread implementation for mingw target Maud Spierings via B4 Relay ` (2 subsequent siblings) 3 siblings, 1 reply; 8+ messages in thread From: Maud Spierings via B4 Relay @ 2025-12-01 10:26 UTC (permalink / raw) To: Sascha Hauer, BAREBOX; +Cc: Maud Spierings From: Maud Spierings <maudspierings@gocontroll.com> imx.c uses asprintf which requires _GNU_SOURCE to be defined, include defines.h to define it. Signed-off-by: Maud Spierings <maudspierings@gocontroll.com> --- scripts/imx/Makefile.mingw64 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/imx/Makefile.mingw64 b/scripts/imx/Makefile.mingw64 index e012d833f1..101b39e917 100644 --- a/scripts/imx/Makefile.mingw64 +++ b/scripts/imx/Makefile.mingw64 @@ -30,7 +30,7 @@ $(if $(obj),, \ # $(realpath ...) resolves symlinks obj := $(realpath $(obj)) -CPPFLAGS := -I $(LIBUSB_MINGW)/include/libusb-1.0 -I $(src)/../include/ -I $(src)/../../include/mach/ +CPPFLAGS := -I $(LIBUSB_MINGW)/include/libusb-1.0 -I $(src)/../include/ -I $(src)/../../include/mach/ -include $(src)/../include/defines.h LDFLAGS := -L $(LIBUSB_MINGW)/lib -lusb-1.0 -static OBJECTS := $(addprefix $(obj)/, imx.o imx-usb-loader.o) -- 2.52.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/3] scripts: imx: Makefile.mingw64: add _GNU_SOURCE 2025-12-01 10:26 ` [PATCH v2 1/3] scripts: imx: Makefile.mingw64: add _GNU_SOURCE Maud Spierings via B4 Relay @ 2025-12-01 10:29 ` Ahmad Fatoum 0 siblings, 0 replies; 8+ messages in thread From: Ahmad Fatoum @ 2025-12-01 10:29 UTC (permalink / raw) To: maudspierings, Sascha Hauer, BAREBOX On 12/1/25 11:26 AM, Maud Spierings via B4 Relay wrote: > From: Maud Spierings <maudspierings@gocontroll.com> > > imx.c uses asprintf which requires _GNU_SOURCE to be defined, include > defines.h to define it. > > Signed-off-by: Maud Spierings <maudspierings@gocontroll.com> Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de> > --- > scripts/imx/Makefile.mingw64 | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/imx/Makefile.mingw64 b/scripts/imx/Makefile.mingw64 > index e012d833f1..101b39e917 100644 > --- a/scripts/imx/Makefile.mingw64 > +++ b/scripts/imx/Makefile.mingw64 > @@ -30,7 +30,7 @@ $(if $(obj),, \ > # $(realpath ...) resolves symlinks > obj := $(realpath $(obj)) > > -CPPFLAGS := -I $(LIBUSB_MINGW)/include/libusb-1.0 -I $(src)/../include/ -I $(src)/../../include/mach/ > +CPPFLAGS := -I $(LIBUSB_MINGW)/include/libusb-1.0 -I $(src)/../include/ -I $(src)/../../include/mach/ -include $(src)/../include/defines.h > LDFLAGS := -L $(LIBUSB_MINGW)/lib -lusb-1.0 -static > > OBJECTS := $(addprefix $(obj)/, imx.o imx-usb-loader.o) > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 2/3] scripts: imx: add pread implementation for mingw target 2025-12-01 10:26 [PATCH v2 0/3] scripts: imx: imx-usb-loader: fix mingw compilation Maud Spierings via B4 Relay 2025-12-01 10:26 ` [PATCH v2 1/3] scripts: imx: Makefile.mingw64: add _GNU_SOURCE Maud Spierings via B4 Relay @ 2025-12-01 10:26 ` Maud Spierings via B4 Relay 2025-12-01 11:00 ` Ahmad Fatoum 2025-12-01 10:26 ` [PATCH v2 3/3] gitignore: ignore *.exe Maud Spierings via B4 Relay 2025-12-01 11:03 ` [PATCH v2 0/3] scripts: imx: imx-usb-loader: fix mingw compilation Sascha Hauer 3 siblings, 1 reply; 8+ messages in thread From: Maud Spierings via B4 Relay @ 2025-12-01 10:26 UTC (permalink / raw) To: Sascha Hauer, BAREBOX; +Cc: Maud Spierings From: Maud Spierings <maudspierings@gocontroll.com> Add a simple pread implementation for the mingw target so imx-usb-loader can be compiled for windows. This function is actually only called by bareboxtlv, which I don't think targets being compiled for windows, so it is a bit of a dead weight. Signed-off-by: Maud Spierings <maudspierings@gocontroll.com> --- scripts/imx/Makefile.mingw64 | 2 +- scripts/imx/pread.c | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/scripts/imx/Makefile.mingw64 b/scripts/imx/Makefile.mingw64 index 101b39e917..a7be48ae53 100644 --- a/scripts/imx/Makefile.mingw64 +++ b/scripts/imx/Makefile.mingw64 @@ -33,7 +33,7 @@ obj := $(realpath $(obj)) CPPFLAGS := -I $(LIBUSB_MINGW)/include/libusb-1.0 -I $(src)/../include/ -I $(src)/../../include/mach/ -include $(src)/../include/defines.h LDFLAGS := -L $(LIBUSB_MINGW)/lib -lusb-1.0 -static -OBJECTS := $(addprefix $(obj)/, imx.o imx-usb-loader.o) +OBJECTS := $(addprefix $(obj)/, imx.o imx-usb-loader.o pread.o) $(obj)/%.o: $(src)/%.c @$(CC) -c -o $@ $< $(CPPFLAGS) diff --git a/scripts/imx/pread.c b/scripts/imx/pread.c new file mode 100644 index 0000000000..febb6f3243 --- /dev/null +++ b/scripts/imx/pread.c @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +// SPDX-FileCopyrightText: 2025 Maud Spierings, GOcontroll B.V. + +#include <stdint.h> +#include <sys/types.h> +#include <unistd.h> + +ssize_t pread(int fd, void *buf, size_t count, off_t offset) +{ + int offset_start, now; + + offset_start = lseek(fd, 0, SEEK_CUR); + if (offset_start < 0) + return offset_start; + + now = lseek(fd, offset, SEEK_SET); + if (now < 0) + return now; + + now = read(fd, buf, count); + + lseek(fd, offset_start, SEEK_SET); + + return now; +} -- 2.52.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 2/3] scripts: imx: add pread implementation for mingw target 2025-12-01 10:26 ` [PATCH v2 2/3] scripts: imx: add pread implementation for mingw target Maud Spierings via B4 Relay @ 2025-12-01 11:00 ` Ahmad Fatoum 0 siblings, 0 replies; 8+ messages in thread From: Ahmad Fatoum @ 2025-12-01 11:00 UTC (permalink / raw) To: maudspierings, Sascha Hauer, BAREBOX On 12/1/25 11:26 AM, Maud Spierings via B4 Relay wrote: > From: Maud Spierings <maudspierings@gocontroll.com> > > Add a simple pread implementation for the mingw target so imx-usb-loader > can be compiled for windows. > > This function is actually only called by bareboxtlv, which I don't think > targets being compiled for windows, so it is a bit of a dead weight. > > Signed-off-by: Maud Spierings <maudspierings@gocontroll.com> Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de> > --- > scripts/imx/Makefile.mingw64 | 2 +- > scripts/imx/pread.c | 25 +++++++++++++++++++++++++ > 2 files changed, 26 insertions(+), 1 deletion(-) > > diff --git a/scripts/imx/Makefile.mingw64 b/scripts/imx/Makefile.mingw64 > index 101b39e917..a7be48ae53 100644 > --- a/scripts/imx/Makefile.mingw64 > +++ b/scripts/imx/Makefile.mingw64 > @@ -33,7 +33,7 @@ obj := $(realpath $(obj)) > CPPFLAGS := -I $(LIBUSB_MINGW)/include/libusb-1.0 -I $(src)/../include/ -I $(src)/../../include/mach/ -include $(src)/../include/defines.h > LDFLAGS := -L $(LIBUSB_MINGW)/lib -lusb-1.0 -static > > -OBJECTS := $(addprefix $(obj)/, imx.o imx-usb-loader.o) > +OBJECTS := $(addprefix $(obj)/, imx.o imx-usb-loader.o pread.o) > > $(obj)/%.o: $(src)/%.c > @$(CC) -c -o $@ $< $(CPPFLAGS) > diff --git a/scripts/imx/pread.c b/scripts/imx/pread.c > new file mode 100644 > index 0000000000..febb6f3243 > --- /dev/null > +++ b/scripts/imx/pread.c > @@ -0,0 +1,25 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later > +// SPDX-FileCopyrightText: 2025 Maud Spierings, GOcontroll B.V. Nitpick: A comment here why this is needed would've been nice, but it's only a git blame away anyway. > + > +#include <stdint.h> > +#include <sys/types.h> > +#include <unistd.h> > + > +ssize_t pread(int fd, void *buf, size_t count, off_t offset) > +{ > + int offset_start, now; > + > + offset_start = lseek(fd, 0, SEEK_CUR); > + if (offset_start < 0) > + return offset_start; > + > + now = lseek(fd, offset, SEEK_SET); > + if (now < 0) > + return now; > + > + now = read(fd, buf, count); > + > + lseek(fd, offset_start, SEEK_SET); > + > + return now; > +} > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 3/3] gitignore: ignore *.exe 2025-12-01 10:26 [PATCH v2 0/3] scripts: imx: imx-usb-loader: fix mingw compilation Maud Spierings via B4 Relay 2025-12-01 10:26 ` [PATCH v2 1/3] scripts: imx: Makefile.mingw64: add _GNU_SOURCE Maud Spierings via B4 Relay 2025-12-01 10:26 ` [PATCH v2 2/3] scripts: imx: add pread implementation for mingw target Maud Spierings via B4 Relay @ 2025-12-01 10:26 ` Maud Spierings via B4 Relay 2025-12-01 10:42 ` Ahmad Fatoum 2025-12-01 11:03 ` [PATCH v2 0/3] scripts: imx: imx-usb-loader: fix mingw compilation Sascha Hauer 3 siblings, 1 reply; 8+ messages in thread From: Maud Spierings via B4 Relay @ 2025-12-01 10:26 UTC (permalink / raw) To: Sascha Hauer, BAREBOX; +Cc: Maud Spierings From: Maud Spierings <maudspierings@gocontroll.com> windows scripts produce .exe files, which should not be added. Add it to the gitignore. Signed-off-by: Maud Spierings <maudspierings@gocontroll.com> --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index a235f9f7de..74cb7b0928 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ *.dcd *.dcd.S *.elf +*.exe *.i *.ko *.lex.c -- 2.52.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 3/3] gitignore: ignore *.exe 2025-12-01 10:26 ` [PATCH v2 3/3] gitignore: ignore *.exe Maud Spierings via B4 Relay @ 2025-12-01 10:42 ` Ahmad Fatoum 0 siblings, 0 replies; 8+ messages in thread From: Ahmad Fatoum @ 2025-12-01 10:42 UTC (permalink / raw) To: maudspierings, Sascha Hauer, BAREBOX On 12/1/25 11:26 AM, Maud Spierings via B4 Relay wrote: > From: Maud Spierings <maudspierings@gocontroll.com> > > windows scripts produce .exe files, which should not be added. Add it to > the gitignore. > > Signed-off-by: Maud Spierings <maudspierings@gocontroll.com> Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de> > --- > .gitignore | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/.gitignore b/.gitignore > index a235f9f7de..74cb7b0928 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -19,6 +19,7 @@ > *.dcd > *.dcd.S > *.elf > +*.exe > *.i > *.ko > *.lex.c > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/3] scripts: imx: imx-usb-loader: fix mingw compilation 2025-12-01 10:26 [PATCH v2 0/3] scripts: imx: imx-usb-loader: fix mingw compilation Maud Spierings via B4 Relay ` (2 preceding siblings ...) 2025-12-01 10:26 ` [PATCH v2 3/3] gitignore: ignore *.exe Maud Spierings via B4 Relay @ 2025-12-01 11:03 ` Sascha Hauer 3 siblings, 0 replies; 8+ messages in thread From: Sascha Hauer @ 2025-12-01 11:03 UTC (permalink / raw) To: BAREBOX, Maud Spierings via B4 Relay; +Cc: Maud Spierings On Mon, 01 Dec 2025 11:26:15 +0100, Maud Spierings via B4 Relay wrote: > Compiling imx-usb-loader for windows targets had become broken, fix it. > > Applied, thanks! [1/3] scripts: imx: Makefile.mingw64: add _GNU_SOURCE https://git.pengutronix.de/cgit/barebox/commit/?id=ef66b9e0f1c7 (link may not be stable) [2/3] scripts: imx: add pread implementation for mingw target https://git.pengutronix.de/cgit/barebox/commit/?id=969c9b94b58d (link may not be stable) [3/3] gitignore: ignore *.exe https://git.pengutronix.de/cgit/barebox/commit/?id=8661354d7ef7 (link may not be stable) Best regards, -- Sascha Hauer <s.hauer@pengutronix.de> ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-12-01 11:04 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2025-12-01 10:26 [PATCH v2 0/3] scripts: imx: imx-usb-loader: fix mingw compilation Maud Spierings via B4 Relay 2025-12-01 10:26 ` [PATCH v2 1/3] scripts: imx: Makefile.mingw64: add _GNU_SOURCE Maud Spierings via B4 Relay 2025-12-01 10:29 ` Ahmad Fatoum 2025-12-01 10:26 ` [PATCH v2 2/3] scripts: imx: add pread implementation for mingw target Maud Spierings via B4 Relay 2025-12-01 11:00 ` Ahmad Fatoum 2025-12-01 10:26 ` [PATCH v2 3/3] gitignore: ignore *.exe Maud Spierings via B4 Relay 2025-12-01 10:42 ` Ahmad Fatoum 2025-12-01 11:03 ` [PATCH v2 0/3] scripts: imx: imx-usb-loader: fix mingw compilation Sascha Hauer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox