"NXP, i.MX 6UL" 修訂間的差異

出自 flip the world
前往: 導覽搜尋
(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 的修訂

i.MX 6UL EVB

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