Bump buildroot to 2019.02

This commit is contained in:
2019-03-28 22:49:48 +01:00
parent 5598b1b762
commit 920d307141
5121 changed files with 78550 additions and 46132 deletions

View File

@@ -1,49 +0,0 @@
From 1c27982bb8a007bb1a6a29db8e6efb1f40975879 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Sun, 28 Jan 2018 13:59:30 +0100
Subject: [PATCH 1/1] aarch64/sys/ucontext.h: include bits/sigcontext.h
Fixes a buildroot build error with ffmpeg
In file included from /home/bernd/buildroot/output/host/aarch64-buildroot-linux-uclibc/sysroot/usr/include/signal.h:329:0,
from fftools/ffmpeg.h:26,
from fftools/ffmpeg_opt.c:23:
/home/bernd/buildroot/output/host/aarch64-buildroot-linux-uclibc/sysroot/usr/include/sys/ucontext.h:52:16:
error: field 'uc_mcontext' has incomplete type
mcontext_t uc_mcontext;
^~~~~~~~~~~
using this defconfig:
BR2_aarch64=y
BR2_PACKAGE_FFMPEG=y
sys/ucontext.h for other archs already include bits/sigcontext.h,
on aarch64 this is needed as well.
Patch sent upstream:
https://mailman.uclibc-ng.org/pipermail/devel/2018-January/001622.html
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
libc/sysdeps/linux/aarch64/sys/ucontext.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libc/sysdeps/linux/aarch64/sys/ucontext.h b/libc/sysdeps/linux/aarch64/sys/ucontext.h
index d17458896..dc7303b54 100644
--- a/libc/sysdeps/linux/aarch64/sys/ucontext.h
+++ b/libc/sysdeps/linux/aarch64/sys/ucontext.h
@@ -26,6 +26,10 @@
#include <sys/procfs.h>
+/* We need the signal context definitions even if they are not used
+ included in <signal.h>. */
+#include <bits/sigcontext.h>
+
typedef elf_greg_t greg_t;
/* Container for all general registers. */
--
2.11.0

View File

@@ -0,0 +1,169 @@
From 8a73a967e18c55199785bae0f22dc94d9b2f8985 Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbrodkorb@conet.de>
Date: Tue, 27 Nov 2018 15:41:37 +0100
Subject: [PATCH] statfs.h: sync generic header with glibc
Fix issues with aarch64 and df with mismatching header between kernel
and libc.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---
.../linux/common-generic/bits/statfs.h | 84 +++++++++----------
libc/sysdeps/linux/common/fstatfs.c | 9 --
libc/sysdeps/linux/common/statfs.c | 10 ---
3 files changed, 40 insertions(+), 63 deletions(-)
diff --git a/libc/sysdeps/linux/common-generic/bits/statfs.h b/libc/sysdeps/linux/common-generic/bits/statfs.h
index a2767b49a..23519a57e 100644
--- a/libc/sysdeps/linux/common-generic/bits/statfs.h
+++ b/libc/sysdeps/linux/common-generic/bits/statfs.h
@@ -11,65 +11,61 @@
#include <endian.h>
#include <bits/align64bit.h>
#include <bits/types.h>
+#include <bits/wordsize.h>
+/* 64-bit libc uses the kernel's 'struct statfs', accessed via the
+ statfs() syscall; 32-bit libc uses the kernel's 'struct statfs64'
+ and accesses it via the statfs64() syscall. All the various
+ APIs offered by libc use the kernel shape for their struct statfs
+ structure; the only difference is that 32-bit programs not
+ using __USE_FILE_OFFSET64 only see the low 32 bits of some
+ of the fields (the __fsblkcnt_t and __fsfilcnt_t fields). */
+
+#if defined __USE_FILE_OFFSET64
+# define __field64(type, type64, name) type64 name
+#elif __WORDSIZE == 64
+# define __field64(type, type64, name) type name
+#elif __BYTE_ORDER == __LITTLE_ENDIAN
+# define __field64(type, type64, name) \
+ type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
+#else
+# define __field64(type, type64, name) \
+ int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
+#endif
struct statfs
{
- __U32_TYPE f_type;
- __U32_TYPE f_bsize;
-#ifndef __USE_FILE_OFFSET64
-# if __BYTE_ORDER == __LITTLE_ENDIAN
- __U32_TYPE f_blocks;
- __U32_TYPE __pad1;
- __U32_TYPE f_bfree;
- __U32_TYPE __pad2;
- __U32_TYPE f_bavail;
- __U32_TYPE __pad3;
- __U32_TYPE f_files;
- __U32_TYPE __pad4;
- __U32_TYPE f_ffree;
- __U32_TYPE __pad5;
-# else
- __U32_TYPE __pad1;
- __U32_TYPE f_blocks;
- __U32_TYPE __pad2;
- __U32_TYPE f_bfree;
- __U32_TYPE __pad3;
- __U32_TYPE f_bavail;
- __U32_TYPE __pad4;
- __U32_TYPE f_files;
- __U32_TYPE __pad5;
- __U32_TYPE f_ffree;
-# endif /* __LITTLE_ENDIAN */
-#else
- __U64_TYPE f_blocks;
- __U64_TYPE f_bfree;
- __U64_TYPE f_bavail;
- __U64_TYPE f_files;
- __U64_TYPE f_ffree;
-#endif /* __USE_FILE_OFFSET64 */
+ __SWORD_TYPE f_type;
+ __SWORD_TYPE f_bsize;
+ __field64(__fsblkcnt_t, __fsblkcnt64_t, f_blocks);
+ __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bfree);
+ __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bavail);
+ __field64(__fsfilcnt_t, __fsfilcnt64_t, f_files);
+ __field64(__fsfilcnt_t, __fsfilcnt64_t, f_ffree);
__fsid_t f_fsid;
- __U32_TYPE f_namelen;
- __U32_TYPE f_frsize;
- __U32_TYPE f_flags;
- __U32_TYPE f_spare[4];
- } __ARCH_64BIT_ALIGNMENT__;
+ __SWORD_TYPE f_namelen;
+ __SWORD_TYPE f_frsize;
+ __SWORD_TYPE f_flags;
+ __SWORD_TYPE f_spare[4];
+ };
+
+#undef __field64
#ifdef __USE_LARGEFILE64
struct statfs64
{
- __U32_TYPE f_type;
- __U32_TYPE f_bsize;
+ __SWORD_TYPE f_type;
+ __SWORD_TYPE f_bsize;
__U64_TYPE f_blocks;
__U64_TYPE f_bfree;
__U64_TYPE f_bavail;
__U64_TYPE f_files;
__U64_TYPE f_ffree;
__fsid_t f_fsid;
- __U32_TYPE f_namelen;
- __U32_TYPE f_frsize;
- __U32_TYPE f_flags;
- __U32_TYPE f_spare[4];
+ __SWORD_TYPE f_namelen;
+ __SWORD_TYPE f_frsize;
+ __SWORD_TYPE f_flags;
+ __SWORD_TYPE f_spare[4];
};
#endif
diff --git a/libc/sysdeps/linux/common/fstatfs.c b/libc/sysdeps/linux/common/fstatfs.c
index fcb0820eb..0b2709ce3 100644
--- a/libc/sysdeps/linux/common/fstatfs.c
+++ b/libc/sysdeps/linux/common/fstatfs.c
@@ -30,15 +30,6 @@ _syscall2(int, __libc_fstatfs, int, fd, struct statfs *, buf)
int __libc_fstatfs (int __fildes, struct statfs *__buf)
{
int err = INLINE_SYSCALL(fstatfs64, 3, __fildes, sizeof(*__buf), __buf);
-
- if (err == 0) {
- /* Did we overflow? */
- if (__buf->__pad1 || __buf->__pad2 || __buf->__pad3 ||
- __buf->__pad4 || __buf->__pad5) {
- __set_errno(EOVERFLOW);
- return -1;
- }
- }
return err;
};
/* Redefined fstatfs because we need it for backwards compatibility */
diff --git a/libc/sysdeps/linux/common/statfs.c b/libc/sysdeps/linux/common/statfs.c
index ab9ec0e56..2990ff3e2 100644
--- a/libc/sysdeps/linux/common/statfs.c
+++ b/libc/sysdeps/linux/common/statfs.c
@@ -18,16 +18,6 @@ extern __typeof(statfs) __libc_statfs attribute_hidden;
int __libc_statfs(const char *path, struct statfs *buf)
{
int err = INLINE_SYSCALL(statfs64, 3, path, sizeof(*buf), buf);
-
- if (err == 0) {
- /* Did we overflow? */
- if (buf->__pad1 || buf->__pad2 || buf->__pad3 ||
- buf->__pad4 || buf->__pad5) {
- __set_errno(EOVERFLOW);
- return -1;
- }
- }
-
return err;
}
# if defined __UCLIBC_LINUX_SPECIFIC__ || defined __UCLIBC_HAS_THREADS_NATIVE__
--
2.19.1

View File

@@ -0,0 +1,93 @@
From 0cae9700a4a421dc22c80d205fbae4d01fdd1356 Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Wed, 12 Dec 2018 06:58:01 -0800
Subject: [PATCH] xtensa: add custom bits/poll.h
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Definitions of POLLWRNORM, POLLWRBAND and POLLREMOVE in xtensa linux
kernel are non-standard. Provide bits/poll.h with correct values for
these constants.
This fixes the following strace build errors:
In file included from xlat/pollflags.h:4:0,
from poll.c:34:
./static_assert.h:40:24: error: static assertion failed: "POLLWRBAND != 0x0100"
# define static_assert _Static_assert
^
xlat/pollflags.h:75:1: note: in expansion of macro static_assert
static_assert((POLLWRBAND) == (0x0100), "POLLWRBAND != 0x0100");
^~~~~~~~~~~~~
./static_assert.h:40:24: error: static assertion failed: "POLLREMOVE != 0x0800"
# define static_assert _Static_assert
^
xlat/pollflags.h:117:1: note: in expansion of macro static_assert
static_assert((POLLREMOVE) == (0x0800), "POLLREMOVE != 0x0800");
^~~~~~~~~~~~~
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
libc/sysdeps/linux/xtensa/bits/poll.h | 49 +++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
create mode 100644 libc/sysdeps/linux/xtensa/bits/poll.h
diff --git a/libc/sysdeps/linux/xtensa/bits/poll.h b/libc/sysdeps/linux/xtensa/bits/poll.h
new file mode 100644
index 000000000000..4588cc326006
--- /dev/null
+++ b/libc/sysdeps/linux/xtensa/bits/poll.h
@@ -0,0 +1,49 @@
+/* Copyright (C) 1997, 2001, 2006 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_POLL_H
+# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
+#endif
+
+/* Event types that can be polled for. These bits may be set in `events'
+ to indicate the interesting event types; they will appear in `revents'
+ to indicate the status of the file descriptor. */
+#define POLLIN 0x001 /* There is data to read. */
+#define POLLPRI 0x002 /* There is urgent data to read. */
+#define POLLOUT 0x004 /* Writing now will not block. */
+
+#ifdef __USE_XOPEN
+/* These values are defined in XPG4.2. */
+# define POLLRDNORM 0x040 /* Normal data may be read. */
+# define POLLRDBAND 0x080 /* Priority data may be read. */
+# define POLLWRNORM POLLOUT /* Writing now will not block. */
+# define POLLWRBAND 0x100 /* Priority data may be written. */
+#endif
+
+#ifdef __USE_GNU
+/* These are extensions for Linux. */
+# define POLLMSG 0x400
+# define POLLREMOVE 0x800
+# define POLLRDHUP 0x2000
+#endif
+
+/* Event types always implicitly polled for. These bits need not be set in
+ `events', but they will appear in `revents' to indicate the status of
+ the file descriptor. */
+#define POLLERR 0x008 /* Error condition. */
+#define POLLHUP 0x010 /* Hung up. */
+#define POLLNVAL 0x020 /* Invalid polling request. */
--
2.11.0

View File

@@ -1,38 +0,0 @@
From 09a776103e4aa75f95c9ad44554a9c2b56de3535 Mon Sep 17 00:00:00 2001
From: Carlos Santos <casantos@datacom.com.br>
Date: Mon, 29 Oct 2018 01:17:38 -0300
Subject: [PATCH] mkostemp64: clear flags, as mkostemp does
This should have been made in commit 9649721950 but was forgotten.
Signed-off-by: Carlos Santos <casantos@datacom.com.br>
---
libc/stdlib/mkostemp64.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libc/stdlib/mkostemp64.c b/libc/stdlib/mkostemp64.c
index aa9736cd6..f4674bb0c 100644
--- a/libc/stdlib/mkostemp64.c
+++ b/libc/stdlib/mkostemp64.c
@@ -15,9 +15,9 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
+#include <fcntl.h>
#include "../misc/internals/tempname.h"
/* Generate a unique temporary file name from TEMPLATE.
@@ -27,6 +27,7 @@
int
mkostemp64 (char *template, int flags)
{
+ flags -= flags & O_ACCMODE; /* Remove O_RDONLY, O_WRONLY, and O_RDWR. */
return __gen_tempname (template, __GT_BIGFILE, flags | O_LARGEFILE, 0,
S_IRUSR | S_IWUSR);
}
--
2.14.5

View File

@@ -53,7 +53,7 @@ config BR2_PTHREADS_NATIVE
config BR2_PTHREADS
bool "linuxthreads"
depends on BR2_bfin || BR2_m68k || BR2_microblaze || BR2_or1k || BR2_arm || BR2_armeb || BR2_xtensa
depends on BR2_m68k || BR2_microblaze || BR2_or1k || BR2_arm || BR2_armeb || BR2_xtensa
select BR2_TOOLCHAIN_HAS_THREADS
config BR2_PTHREADS_NONE
@@ -96,7 +96,6 @@ config BR2_UCLIBC_TARGET_ARCH
string
default "arc" if BR2_arcle || BR2_arceb
default "arm" if BR2_arm || BR2_armeb
default "bfin" if BR2_bfin
default "m68k" if BR2_m68k
default "microblaze" if BR2_microblaze
default "mips" if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
@@ -108,13 +107,6 @@ config BR2_UCLIBC_TARGET_ARCH
default "i386" if BR2_i386
default "x86_64" if BR2_x86_64
config BR2_UCLIBC_ARC_TYPE
string
default "ARC_CPU_700" if BR2_arc750d
default "ARC_CPU_700" if BR2_arc770d
default "ARC_CPU_HS" if BR2_archs38
depends on BR2_UCLIBC_TARGET_ARCH = "arc"
config BR2_UCLIBC_MIPS_ABI
string
default "O32" if BR2_MIPS_OABI32

View File

@@ -1,2 +1,4 @@
# From https://uclibc-ng.org/
sha256 a1504ddc34a29cc9bfd1f5a7419c4b63bb510d9e2faed81618d1b596ceb0a5a9 uClibc-ng-1.0.28.tar.xz
# From https://downloads.uclibc-ng.org/releases/1.0.31/uClibc-ng-1.0.31.tar.xz.sha256
sha256 2215d7377118434d1697fd575f10d7a6be3f29e460d6b0e1ee9f6f5306288060 uClibc-ng-1.0.31.tar.xz
# Locally calculated
sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING.LIB

View File

@@ -4,9 +4,9 @@
#
################################################################################
UCLIBC_VERSION = 1.0.28
UCLIBC_VERSION = 1.0.31
UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz
UCLIBC_SITE = http://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION)
UCLIBC_SITE = https://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION)
UCLIBC_LICENSE = LGPL-2.1+
UCLIBC_LICENSE_FILES = COPYING.LIB
UCLIBC_INSTALL_STAGING = YES
@@ -52,14 +52,6 @@ UCLIBC_LOCALES = \
endif
# noMMU binary formats
ifeq ($(BR2_BINFMT_FDPIC),y)
define UCLIBC_BINFMT_CONFIG
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config)
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config)
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config)
endef
endif
ifeq ($(BR2_BINFMT_FLAT_ONE),y)
define UCLIBC_BINFMT_CONFIG
$(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config)
@@ -68,14 +60,6 @@ define UCLIBC_BINFMT_CONFIG
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config)
endef
endif
ifeq ($(BR2_BINFMT_FLAT_SEP_DATA),y)
define UCLIBC_BINFMT_CONFIG
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config)
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config)
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config)
endef
endif
ifeq ($(BR2_BINFMT_FLAT_SHARED),y)
define UCLIBC_BINFMT_CONFIG
$(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config)
@@ -90,11 +74,6 @@ endif
#
ifeq ($(UCLIBC_TARGET_ARCH),arc)
UCLIBC_ARC_TYPE = CONFIG_$(call qstrip,$(BR2_UCLIBC_ARC_TYPE))
define UCLIBC_ARC_TYPE_CONFIG
$(call KCONFIG_ENABLE_OPT,$(UCLIBC_ARC_TYPE),$(@D)/.config)
endef
UCLIBC_ARC_PAGE_SIZE = CONFIG_ARC_PAGE_SIZE_$(call qstrip,$(BR2_ARC_PAGE_SIZE))
define UCLIBC_ARC_PAGE_SIZE_CONFIG
$(SED) '/CONFIG_ARC_PAGE_SIZE_*/d' $(@D)/.config
@@ -382,7 +361,7 @@ endif
UCLIBC_MAKE_FLAGS = \
ARCH="$(UCLIBC_TARGET_ARCH)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
UCLIBC_EXTRA_CFLAGS="$(UCLIBC_EXTRA_CFLAGS) $(TARGET_ABI)" \
UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \
HOSTCC="$(HOSTCC)"
define UCLIBC_KCONFIG_FIXUP_CMDS
@@ -395,7 +374,6 @@ define UCLIBC_KCONFIG_FIXUP_CMDS
$(call KCONFIG_SET_OPT,SHARED_LIB_LOADER_PREFIX,"/lib",$(@D)/.config)
$(UCLIBC_MMU_CONFIG)
$(UCLIBC_BINFMT_CONFIG)
$(UCLIBC_ARC_TYPE_CONFIG)
$(UCLIBC_ARC_PAGE_SIZE_CONFIG)
$(UCLIBC_ARC_ATOMICS_CONFIG)
$(UCLIBC_ARM_ABI_CONFIG)
@@ -447,7 +425,6 @@ define UCLIBC_INSTALL_TARGET_CMDS
RUNTIME_PREFIX=/ \
install_runtime
$(UCLIBC_INSTALL_UTILS_TARGET)
$(UCLIBC_INSTALL_LDSO_SYMLINKS)
endef
# STATIC has no ld* tools, only getconf