"NXP, i.MX 6UL" 修訂間的差異
(→Patches) |
(→Patches) |
||
行 20: | 行 20: | ||
* m4-1.4.17 | * m4-1.4.17 | ||
** fseeko.patch | ** fseeko.patch | ||
+ | <pre> | ||
+ | --- ./tmp/work/x86_64-linux/m4-native/1.4.17-r0/m4-1.4.17/lib/fseeko.c 2019-11-13 22:03:56.999217823 +0800 | ||
+ | +++ /home/tommy/Downloads/gnulib/lib/fseeko.c 2019-11-13 21:49:41.532465868 +0800 | ||
+ | @@ -1,9 +1,9 @@ | ||
+ | /* An fseeko() function that, together with fflush(), is POSIX compliant. | ||
+ | - Copyright (C) 2007-2013 Free Software Foundation, Inc. | ||
+ | + Copyright (C) 2007-2019 Free Software Foundation, Inc. | ||
+ | |||
+ | This program is free software; you can redistribute it and/or modify | ||
+ | it under the terms of the GNU General Public License as published by | ||
+ | - the Free Software Foundation; either version 3, or (at your option) | ||
+ | + the Free Software Foundation; either version 2, or (at your option) | ||
+ | any later version. | ||
+ | |||
+ | This program is distributed in the hope that it will be useful, | ||
+ | @@ -12,7 +12,7 @@ | ||
+ | GNU General Public License for more details. | ||
+ | |||
+ | You should have received a copy of the GNU General Public License along | ||
+ | - with this program; if not, see <http://www.gnu.org/licenses/>. */ | ||
+ | + with this program; if not, see <https://www.gnu.org/licenses/>. */ | ||
+ | |||
+ | #include <config.h> | ||
+ | |||
+ | @@ -33,9 +33,9 @@ | ||
+ | #endif | ||
+ | #if _GL_WINDOWS_64_BIT_OFF_T | ||
+ | # undef fseeko | ||
+ | -# if HAVE__FSEEKI64 /* msvc, mingw64 */ | ||
+ | +# if HAVE__FSEEKI64 && HAVE_DECL__FSEEKI64 /* msvc, mingw since msvcrt8.0, mingw64 */ | ||
+ | # define fseeko _fseeki64 | ||
+ | -# else /* mingw */ | ||
+ | +# else /* mingw before msvcrt8.0 */ | ||
+ | # define fseeko fseeko64 | ||
+ | # endif | ||
+ | #endif | ||
+ | @@ -47,11 +47,13 @@ | ||
+ | #endif | ||
+ | |||
+ | /* These tests are based on fpurge.c. */ | ||
+ | -#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ | ||
+ | +#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 | ||
+ | + /* GNU libc, BeOS, Haiku, Linux libc5 */ | ||
+ | if (fp->_IO_read_end == fp->_IO_read_ptr | ||
+ | && fp->_IO_write_ptr == fp->_IO_write_base | ||
+ | && fp->_IO_save_base == NULL) | ||
+ | -#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ | ||
+ | +#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ | ||
+ | + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ | ||
+ | # if defined __SL64 && defined __SCLE /* Cygwin */ | ||
+ | if ((fp->_flags & __SL64) == 0) | ||
+ | { | ||
+ | @@ -79,7 +81,7 @@ | ||
+ | #elif defined __minix /* Minix */ | ||
+ | if (fp_->_ptr == fp_->_buf | ||
+ | && (fp_->_ptr == NULL || fp_->_count == 0)) | ||
+ | -#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ | ||
+ | +#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ | ||
+ | if (fp_->_ptr == fp_->_base | ||
+ | && (fp_->_ptr == NULL || fp_->_cnt == 0)) | ||
+ | #elif defined __UCLIBC__ /* uClibc */ | ||
+ | @@ -115,17 +117,20 @@ | ||
+ | off_t pos = lseek (fileno (fp), offset, whence); | ||
+ | if (pos == -1) | ||
+ | { | ||
+ | -#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ | ||
+ | +#if defined __sferror || defined __DragonFly__ || defined __ANDROID__ | ||
+ | + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ | ||
+ | fp_->_flags &= ~__SOFF; | ||
+ | #endif | ||
+ | return -1; | ||
+ | } | ||
+ | |||
+ | -#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ | ||
+ | +#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 | ||
+ | + /* GNU libc, BeOS, Haiku, Linux libc5 */ | ||
+ | fp->_flags &= ~_IO_EOF_SEEN; | ||
+ | fp->_offset = pos; | ||
+ | -#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ | ||
+ | -# if defined __CYGWIN__ | ||
+ | +#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ | ||
+ | + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ | ||
+ | +# if defined __CYGWIN__ || (defined __NetBSD__ && __NetBSD_Version__ >= 600000000) || defined __minix | ||
+ | /* fp_->_offset is typed as an integer. */ | ||
+ | fp_->_offset = pos; | ||
+ | # else | ||
+ | @@ -147,8 +152,8 @@ | ||
+ | fp_->_flags &= ~__SEOF; | ||
+ | #elif defined __EMX__ /* emx+gcc */ | ||
+ | fp->_flags &= ~_IOEOF; | ||
+ | -#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ | ||
+ | - fp->_flag &= ~_IOEOF; | ||
+ | +#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ | ||
+ | + fp_->_flag &= ~_IOEOF; | ||
+ | #elif defined __MINT__ /* Atari FreeMiNT */ | ||
+ | fp->__offset = pos; | ||
+ | fp->__eof = 0; | ||
+ | </pre> | ||
** freadahead.patch | ** freadahead.patch | ||
<pre> | <pre> |
於 2019年11月13日 (三) 22:42 的修訂
Build
- Get fsl_yocto-L4.1.15_2.0.0-ga.tar.gz
- Install the `repo` utility: (only need to do this once)
$: mkdir ~/bin $: curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $: chmod a+x ~/bin/repo $: PATH=${PATH}:~/bin
- Download the BSP Yocto Project Environment into your directory
$: mkdir fsl-arm-yocto-bsp $: cd fsl-arm-yocto-bsp $: repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-4.1-krogoth $: repo sync
Patches
- m4-1.4.17
- fseeko.patch
--- ./tmp/work/x86_64-linux/m4-native/1.4.17-r0/m4-1.4.17/lib/fseeko.c 2019-11-13 22:03:56.999217823 +0800 +++ /home/tommy/Downloads/gnulib/lib/fseeko.c 2019-11-13 21:49:41.532465868 +0800 @@ -1,9 +1,9 @@ /* An fseeko() function that, together with fflush(), is POSIX compliant. - Copyright (C) 2007-2013 Free Software Foundation, Inc. + Copyright (C) 2007-2019 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) + the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, see <http://www.gnu.org/licenses/>. */ + with this program; if not, see <https://www.gnu.org/licenses/>. */ #include <config.h> @@ -33,9 +33,9 @@ #endif #if _GL_WINDOWS_64_BIT_OFF_T # undef fseeko -# if HAVE__FSEEKI64 /* msvc, mingw64 */ +# if HAVE__FSEEKI64 && HAVE_DECL__FSEEKI64 /* msvc, mingw since msvcrt8.0, mingw64 */ # define fseeko _fseeki64 -# else /* mingw */ +# else /* mingw before msvcrt8.0 */ # define fseeko fseeko64 # endif #endif @@ -47,11 +47,13 @@ #endif /* These tests are based on fpurge.c. */ -#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ +#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 + /* GNU libc, BeOS, Haiku, Linux libc5 */ if (fp->_IO_read_end == fp->_IO_read_ptr && fp->_IO_write_ptr == fp->_IO_write_base && fp->_IO_save_base == NULL) -#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ +#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ # if defined __SL64 && defined __SCLE /* Cygwin */ if ((fp->_flags & __SL64) == 0) { @@ -79,7 +81,7 @@ #elif defined __minix /* Minix */ if (fp_->_ptr == fp_->_buf && (fp_->_ptr == NULL || fp_->_count == 0)) -#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ +#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ if (fp_->_ptr == fp_->_base && (fp_->_ptr == NULL || fp_->_cnt == 0)) #elif defined __UCLIBC__ /* uClibc */ @@ -115,17 +117,20 @@ off_t pos = lseek (fileno (fp), offset, whence); if (pos == -1) { -#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ +#if defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ fp_->_flags &= ~__SOFF; #endif return -1; } -#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ +#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 + /* GNU libc, BeOS, Haiku, Linux libc5 */ fp->_flags &= ~_IO_EOF_SEEN; fp->_offset = pos; -#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ -# if defined __CYGWIN__ +#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +# if defined __CYGWIN__ || (defined __NetBSD__ && __NetBSD_Version__ >= 600000000) || defined __minix /* fp_->_offset is typed as an integer. */ fp_->_offset = pos; # else @@ -147,8 +152,8 @@ fp_->_flags &= ~__SEOF; #elif defined __EMX__ /* emx+gcc */ fp->_flags &= ~_IOEOF; -#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ - fp->_flag &= ~_IOEOF; +#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ + fp_->_flag &= ~_IOEOF; #elif defined __MINT__ /* Atari FreeMiNT */ fp->__offset = pos; fp->__eof = 0;
- freadahead.patch
--- ./tmp/work/x86_64-linux/m4-native/1.4.17-r0/m4-1.4.17/lib/freadahead.c 2013-09-22 14:15:20.000000000 +0800 +++ /home/tommy/Downloads/gnulib/lib/freadahead.c 2019-11-13 21:49:41.528465850 +0800 @@ -1,5 +1,5 @@ /* Retrieve information about a FILE stream. - Copyright (C) 2007-2013 Free Software Foundation, Inc. + Copyright (C) 2007-2019 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +12,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. */ + along with this program. If not, see <https://www.gnu.org/licenses/>. */ #include <config.h> @@ -22,16 +22,26 @@ #include <stdlib.h> #include "stdio-impl.h" +#if defined __DragonFly__ +/* Defined in libc, but not declared in <stdio.h>. */ +extern size_t __sreadahead (FILE *); +#endif + +/* This file is not used on systems that have the __freadahead function, + namely musl libc. */ + size_t freadahead (FILE *fp) { -#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ +#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 + /* GNU libc, BeOS, Haiku, Linux libc5 */ if (fp->_IO_write_ptr > fp->_IO_write_base) return 0; return (fp->_IO_read_end - fp->_IO_read_ptr) + (fp->_flags & _IO_IN_BACKUP ? fp->_IO_save_end - fp->_IO_save_base : 0); -#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ +#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ if ((fp_->_flags & __SWR) != 0 || fp_->_r < 0) return 0; # if defined __DragonFly__ @@ -52,7 +62,7 @@ if ((fp_->_flags & _IOWRITING) != 0) return 0; return fp_->_count; -#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ +#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ if ((fp_->_flag & _IOWRT) != 0) return 0; return fp_->_cnt;
- stdio-impl.patch