On 12/1/25 11:26 AM, Maud Spierings via B4 Relay wrote: > From: Maud Spierings <[email protected]> > > 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 <[email protected]>
Reviewed-by: Ahmad Fatoum <[email protected]> > --- > 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 |
