From a4f5670cd8ae3e661e06f285cf579168bee1ca29 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 3 Dec 2020 12:34:02 +0100 Subject: [PATCH] Update buildroot to 2020.11 (#1051) Signed-off-by: Stefan Agner --- buildroot/CHANGES | 13 + buildroot/Makefile | 4 +- buildroot/docs/manual/manual.html | 6 +- buildroot/docs/manual/manual.pdf | Bin 579408 -> 579400 bytes buildroot/docs/manual/manual.text | 6 +- buildroot/docs/website/download.html | 22 +- buildroot/docs/website/news.html | 18 ++ buildroot/package/binutils/Config.in.host | 2 +- buildroot/package/bustle/bustle.mk | 2 +- .../docker-containerd/docker-containerd.hash | 2 +- .../docker-containerd/docker-containerd.mk | 2 +- buildroot/package/gcc/Config.in.host | 2 +- .../0001-arc-Refurbish-adc-sbc-patterns.patch | 243 ++++++++++++++++++ .../gnuplot/0002-without-history.patch | 17 -- buildroot/package/gnuplot/gnuplot.hash | 8 +- buildroot/package/gnuplot/gnuplot.mk | 2 +- .../gstreamer1/gst1-plugins-good/Config.in | 4 + buildroot/package/jemalloc/jemalloc.mk | 1 + ...ring-to-card.h-to-follow-gcc10-porti.patch | 27 ++ buildroot/package/libcap/libcap.mk | 22 +- buildroot/package/libplist/libplist.hash | 1 - ...xt-fix-static-build-with-a-zlib-and-.patch | 51 ++++ .../package/libxkbcommon/libxkbcommon.hash | 4 +- .../package/libxkbcommon/libxkbcommon.mk | 2 +- buildroot/package/lynx/lynx.mk | 9 +- buildroot/package/mariadb/mariadb.hash | 8 +- buildroot/package/mariadb/mariadb.mk | 2 +- ...0002-do-not-cross-compile-nsgenbind.patch} | 0 ...> 0003-fix-compilation-without-curl.patch} | 0 ...nal-font-generated-source-for-GCC-10.patch | 37 +++ buildroot/package/privoxy/privoxy.hash | 8 +- buildroot/package/privoxy/privoxy.mk | 2 +- ...snmpd-Makefile-fix-cross-compilation.patch | 41 +++ buildroot/package/s390-tools/s390-tools.mk | 16 +- buildroot/package/setserial/setserial.hash | 6 +- ...Info-and-SetDeviceIndicators-heap-ov.patch | 100 +++++++ ...heck-SetMap-request-length-carefully.patch | 131 ++++++++++ buildroot/support/misc/Vagrantfile | 2 +- 38 files changed, 745 insertions(+), 78 deletions(-) create mode 100644 buildroot/package/gcc/arc-2020.09-release/0001-arc-Refurbish-adc-sbc-patterns.patch delete mode 100644 buildroot/package/gnuplot/0002-without-history.patch create mode 100644 buildroot/package/kmsxx/0002-added-include-string-to-card.h-to-follow-gcc10-porti.patch create mode 100644 buildroot/package/libuhttpd/0001-src-CMakeLists.txt-fix-static-build-with-a-zlib-and-.patch rename buildroot/package/netsurf/{0003-do-not-cross-compile-nsgenbind.patch => 0002-do-not-cross-compile-nsgenbind.patch} (100%) rename buildroot/package/netsurf/{0004-fix-compilation-without-curl.patch => 0003-fix-compilation-without-curl.patch} (100%) create mode 100644 buildroot/package/netsurf/0004-framebuffer-Fix-internal-font-generated-source-for-GCC-10.patch create mode 100644 buildroot/package/s390-tools/0002-osasnmpd-Makefile-fix-cross-compilation.patch create mode 100644 buildroot/package/x11r7/xserver_xorg-server/0007-Fix-XkbSetDeviceInfo-and-SetDeviceIndicators-heap-ov.patch create mode 100644 buildroot/package/x11r7/xserver_xorg-server/0008-Check-SetMap-request-length-carefully.patch diff --git a/buildroot/CHANGES b/buildroot/CHANGES index 45c7ecc12..3894193d3 100644 --- a/buildroot/CHANGES +++ b/buildroot/CHANGES @@ -1,3 +1,16 @@ +2020.11, released December 2nd, 2020 + + Various fixes. + + Updated/fixed packages: bustle, docker-containerd, gnuplot, + gst1-plugins-good, jemalloc, kmsxx, libcap, libplist, + libuhttpd, libxkbcommon, lynx, mariadb, netsurf, privoxy, + s390-tools, setserial, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #13276: libcap builds libcap.pc incorrectly + 2020.11-rc3, released November 28th, 2020 Fixes all over the tree. diff --git a/buildroot/Makefile b/buildroot/Makefile index 5105cd07f..34237a212 100644 --- a/buildroot/Makefile +++ b/buildroot/Makefile @@ -92,9 +92,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2020.11-rc3 +export BR2_VERSION := 2020.11 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1606558000 +BR2_VERSION_EPOCH = 1606948000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) diff --git a/buildroot/docs/manual/manual.html b/buildroot/docs/manual/manual.html index b3e1d9d42..d01120cc3 100644 --- a/buildroot/docs/manual/manual.html +++ b/buildroot/docs/manual/manual.html @@ -1,8 +1,8 @@ -The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Details about packages
8.9. Graphing the dependencies between packages
8.10. Graphing the build duration
8.11. Graphing the filesystem size contribution of packages
8.12. Top-level parallel build
8.13. Integration with Eclipse
8.14. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Using SELinux in Buildroot
10.1. Enabling SELinux support
10.2. SELinux policy tweaking
11. Frequently Asked Questions & Troubleshooting
11.1. The boot hangs after Starting network…
11.2. Why is there no compiler on the target?
11.3. Why are there no development files on the target?
11.4. Why is there no documentation on the target?
11.5. Why are some packages not visible in the Buildroot config menu?
11.6. Why not use the target directory as a chroot directory?
11.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
11.8. How to speed-up the build process?
12. Known issues
13. Legal notice and licensing
13.1. Complying with open source licenses
13.2. Complying with the Buildroot license
14. Beyond Buildroot
14.1. Boot the generated images
14.2. Chroot
III. Developer guide
15. How Buildroot works
16. Coding style
16.1. Config.in file
16.2. The .mk file
16.3. The documentation
16.4. Support scripts
17. Adding support for a particular board
18. Adding new packages to Buildroot
18.1. Package directory
18.2. Config files
18.3. The .mk file
18.4. The .hash file
18.5. Infrastructure for packages with specific build systems
18.6. Infrastructure for autotools-based packages
18.7. Infrastructure for CMake-based packages
18.8. Infrastructure for Python packages
18.9. Infrastructure for LuaRocks-based packages
18.10. Infrastructure for Perl/CPAN packages
18.11. Infrastructure for virtual packages
18.12. Infrastructure for packages using kconfig for configuration files
18.13. Infrastructure for rebar-based packages
18.14. Infrastructure for Waf-based packages
18.15. Infrastructure for Meson-based packages
18.16. Integration of Cargo-based packages
18.17. Infrastructure for Go packages
18.18. Infrastructure for QMake-based packages
18.19. Infrastructure for packages building kernel modules
18.20. Infrastructure for asciidoc documents
18.21. Infrastructure specific to the Linux kernel package
18.22. Hooks available in the various build steps
18.23. Gettext integration and interaction with packages
18.24. Tips and tricks
18.25. Conclusion
19. Patching a package
19.1. Providing patches
19.2. How patches are applied
19.3. Format and licensing of the package patches
19.4. Integrating patches found on the Web
20. Download infrastructure
21. Debugging Buildroot
22. Contributing to Buildroot
22.1. Reproducing, analyzing and fixing bugs
22.2. Analyzing and fixing autobuild failures
22.3. Reviewing and testing patches
22.4. Work on items from the TODO list
22.5. Submitting patches
22.6. Reporting issues/bugs or getting help
22.7. Using the run-tests framework
23. DEVELOPERS file and get-developers
24. Release Engineering
24.1. Releases
24.2. Development
IV. Appendix
25. Makedev syntax documentation
26. Makeusers syntax documentation
27. Migrating from older Buildroot versions
27.1. Migrating to 2016.11
27.2. Migrating to 2017.08

Buildroot 2020.11-rc3 manual generated on 2020-11-28 -10:11:19 UTC from git revision a418d0ac51

The Buildroot manual is written by the Buildroot developers. +The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Details about packages
8.9. Graphing the dependencies between packages
8.10. Graphing the build duration
8.11. Graphing the filesystem size contribution of packages
8.12. Top-level parallel build
8.13. Integration with Eclipse
8.14. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Using SELinux in Buildroot
10.1. Enabling SELinux support
10.2. SELinux policy tweaking
11. Frequently Asked Questions & Troubleshooting
11.1. The boot hangs after Starting network…
11.2. Why is there no compiler on the target?
11.3. Why are there no development files on the target?
11.4. Why is there no documentation on the target?
11.5. Why are some packages not visible in the Buildroot config menu?
11.6. Why not use the target directory as a chroot directory?
11.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
11.8. How to speed-up the build process?
12. Known issues
13. Legal notice and licensing
13.1. Complying with open source licenses
13.2. Complying with the Buildroot license
14. Beyond Buildroot
14.1. Boot the generated images
14.2. Chroot
III. Developer guide
15. How Buildroot works
16. Coding style
16.1. Config.in file
16.2. The .mk file
16.3. The documentation
16.4. Support scripts
17. Adding support for a particular board
18. Adding new packages to Buildroot
18.1. Package directory
18.2. Config files
18.3. The .mk file
18.4. The .hash file
18.5. Infrastructure for packages with specific build systems
18.6. Infrastructure for autotools-based packages
18.7. Infrastructure for CMake-based packages
18.8. Infrastructure for Python packages
18.9. Infrastructure for LuaRocks-based packages
18.10. Infrastructure for Perl/CPAN packages
18.11. Infrastructure for virtual packages
18.12. Infrastructure for packages using kconfig for configuration files
18.13. Infrastructure for rebar-based packages
18.14. Infrastructure for Waf-based packages
18.15. Infrastructure for Meson-based packages
18.16. Integration of Cargo-based packages
18.17. Infrastructure for Go packages
18.18. Infrastructure for QMake-based packages
18.19. Infrastructure for packages building kernel modules
18.20. Infrastructure for asciidoc documents
18.21. Infrastructure specific to the Linux kernel package
18.22. Hooks available in the various build steps
18.23. Gettext integration and interaction with packages
18.24. Tips and tricks
18.25. Conclusion
19. Patching a package
19.1. Providing patches
19.2. How patches are applied
19.3. Format and licensing of the package patches
19.4. Integrating patches found on the Web
20. Download infrastructure
21. Debugging Buildroot
22. Contributing to Buildroot
22.1. Reproducing, analyzing and fixing bugs
22.2. Analyzing and fixing autobuild failures
22.3. Reviewing and testing patches
22.4. Work on items from the TODO list
22.5. Submitting patches
22.6. Reporting issues/bugs or getting help
22.7. Using the run-tests framework
23. DEVELOPERS file and get-developers
24. Release Engineering
24.1. Releases
24.2. Development
IV. Appendix
25. Makedev syntax documentation
26. Makeusers syntax documentation
27. Migrating from older Buildroot versions
27.1. Migrating to 2016.11
27.2. Migrating to 2017.08

Buildroot 2020.11 manual generated on 2020-12-02 +22:28:59 UTC from git revision 9624a001f9

The Buildroot manual is written by the Buildroot developers. It is licensed under the GNU General Public License, version 2. Refer to the -COPYING +COPYING file in the Buildroot sources for the full text of this license.

Copyright © 2004-2020 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

Buildroot is a tool that simplifies and automates the process of building a complete Linux system for an embedded system, using cross-compilation.

In order to achieve this, Buildroot is able to generate a diff --git a/buildroot/docs/manual/manual.pdf b/buildroot/docs/manual/manual.pdf index e60ed46175d174097daa6f25c46c476832c87efe..56f54f84fbc7d1e049213bf037f498f2fcbdd5e5 100644 GIT binary patch delta 11115 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 diff --git a/buildroot/docs/manual/manual.text b/buildroot/docs/manual/manual.text index 13bbcd8fc..b77db9051 100644 --- a/buildroot/docs/manual/manual.text +++ b/buildroot/docs/manual/manual.text @@ -174,13 +174,13 @@ List of Examples --------------------------------------------------------------------- -Buildroot 2020.11-rc3 manual generated on 2020-11-28 10:11:23 UTC -from git revision a418d0ac51 +Buildroot 2020.11 manual generated on 2020-12-02 22:29:04 UTC from +git revision 9624a001f9 The Buildroot manual is written by the Buildroot developers. It is licensed under the GNU General Public License, version 2. Refer to the COPYING [http://git.buildroot.org/buildroot/tree/COPYING?id= -a418d0ac51e192adc54300f16b46b12a42b2b117] file in the Buildroot +9624a001f9d4314f8bcc9219df717d4c41fb5373] file in the Buildroot sources for the full text of this license. Copyright © 2004-2020 The Buildroot developers diff --git a/buildroot/docs/website/download.html b/buildroot/docs/website/download.html index beebbbea9..b971db39b 100644 --- a/buildroot/docs/website/download.html +++ b/buildroot/docs/website/download.html @@ -42,40 +42,40 @@

-

Latest stable release: 2020.08.2

+

Latest stable release: 2020.11

- + This and earlier releases (and their PGP signatures) can always be downloaded from http://buildroot.net/downloads/.
diff --git a/buildroot/docs/website/news.html b/buildroot/docs/website/news.html index f15637c3b..d2b5cbe06 100644 --- a/buildroot/docs/website/news.html +++ b/buildroot/docs/website/news.html @@ -9,6 +9,24 @@

News

    +
  • +
    +
    +
    +

    2020.11 released

    +

    2 December 2020

    +
    +
    +

    The stable 2020.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details + and go to the downloads page to pick up the + 2020.11 release.

    +
    +
    +
  • +
  • diff --git a/buildroot/package/binutils/Config.in.host b/buildroot/package/binutils/Config.in.host index b690b952d..89c6894a1 100644 --- a/buildroot/package/binutils/Config.in.host +++ b/buildroot/package/binutils/Config.in.host @@ -39,7 +39,7 @@ config BR2_BINUTILS_VERSION_2_35_X depends on !BR2_BINFMT_FLAT config BR2_BINUTILS_VERSION_ARC - bool "binutils arc (2.31)" + bool "binutils arc (2.34.50)" depends on BR2_arc config BR2_BINUTILS_VERSION_CSKY diff --git a/buildroot/package/bustle/bustle.mk b/buildroot/package/bustle/bustle.mk index 675ffb052..1dbad64ae 100644 --- a/buildroot/package/bustle/bustle.mk +++ b/buildroot/package/bustle/bustle.mk @@ -6,7 +6,7 @@ BUSTLE_VERSION = 0.7.5 BUSTLE_SITE = https://www.freedesktop.org/software/bustle/$(BUSTLE_VERSION) -BUSTLE_LICENSE = LGPL-2.1+ +BUSTLE_LICENSE = LGPL-2.1+, GPL-3.0 (binaries) BUSTLE_LICENSE_FILES = LICENSE BUSTLE_DEPENDENCIES = libglib2 libpcap host-pkgconf diff --git a/buildroot/package/docker-containerd/docker-containerd.hash b/buildroot/package/docker-containerd/docker-containerd.hash index 2ec3d042b..c5cfc137b 100644 --- a/buildroot/package/docker-containerd/docker-containerd.hash +++ b/buildroot/package/docker-containerd/docker-containerd.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 d410b8efc94e4124990f01de7107223971be8c9258fc651decf9e0ba648485b5 docker-containerd-1.4.1.tar.gz +sha256 bc6d9452c700af0ebc09c0da8ddba55be4c03ac8928e72ca92d98905800c8018 docker-containerd-1.4.3.tar.gz sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE diff --git a/buildroot/package/docker-containerd/docker-containerd.mk b/buildroot/package/docker-containerd/docker-containerd.mk index e4a410501..8ce3f0685 100644 --- a/buildroot/package/docker-containerd/docker-containerd.mk +++ b/buildroot/package/docker-containerd/docker-containerd.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_CONTAINERD_VERSION = 1.4.1 +DOCKER_CONTAINERD_VERSION = 1.4.3 DOCKER_CONTAINERD_SITE = $(call github,containerd,containerd,v$(DOCKER_CONTAINERD_VERSION)) DOCKER_CONTAINERD_LICENSE = Apache-2.0 DOCKER_CONTAINERD_LICENSE_FILES = LICENSE diff --git a/buildroot/package/gcc/Config.in.host b/buildroot/package/gcc/Config.in.host index 10688ff56..2ed159314 100644 --- a/buildroot/package/gcc/Config.in.host +++ b/buildroot/package/gcc/Config.in.host @@ -9,7 +9,7 @@ choice Select the version of gcc you wish to use. config BR2_GCC_VERSION_ARC - bool "gcc arc (9.x)" + bool "gcc arc (10.x)" # Only supported architecture depends on BR2_arc select BR2_TOOLCHAIN_GCC_AT_LEAST_9 diff --git a/buildroot/package/gcc/arc-2020.09-release/0001-arc-Refurbish-adc-sbc-patterns.patch b/buildroot/package/gcc/arc-2020.09-release/0001-arc-Refurbish-adc-sbc-patterns.patch new file mode 100644 index 000000000..3292b26a4 --- /dev/null +++ b/buildroot/package/gcc/arc-2020.09-release/0001-arc-Refurbish-adc-sbc-patterns.patch @@ -0,0 +1,243 @@ +From b92c22b144d063c4436a6693045ceb57d344c495 Mon Sep 17 00:00:00 2001 +From: Claudiu Zissulescu +Date: Wed, 11 Nov 2020 12:31:10 +0200 +Subject: [PATCH] arc: Refurbish adc/sbc patterns + +The adc/sbc patterns were unecessary spliting, remove that and +associated functions. + +gcc/ChangeLog: + +2020-10-11 Claudiu Zissulescu + + * config/arc/arc-protos.h (arc_scheduling_not_expected): Remove + it. + (arc_sets_cc_p): Likewise. + (arc_need_delay): Likewise. + * config/arc/arc.c (arc_sets_cc_p): Likewise. + (arc_need_delay): Likewise. + (arc_scheduling_not_expected): Likewise. + * config/arc/arc.md: Convert adc/sbc patterns to simple + instruction definitions. + +Signed-off-by: Claudiu Zissulescu + +Downloaded from upstream commit +https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/commit/b92c22b144d063c4436a6693045ceb57d344c495 + +Signed-off-by: Bernd Kuhls +--- + gcc/config/arc/arc-protos.h | 3 -- + gcc/config/arc/arc.c | 53 --------------------- + gcc/config/arc/arc.md | 95 +++++++++++-------------------------- + 3 files changed, 29 insertions(+), 122 deletions(-) + +diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h +index c72d78e3b9e..de4cf47c818 100644 +--- a/gcc/config/arc/arc-protos.h ++++ b/gcc/config/arc/arc-protos.h +@@ -90,10 +90,7 @@ extern void split_subsi (rtx *); + extern void arc_split_move (rtx *); + extern const char *arc_short_long (rtx_insn *insn, const char *, const char *); + extern rtx arc_regno_use_in (unsigned int, rtx); +-extern bool arc_scheduling_not_expected (void); +-extern bool arc_sets_cc_p (rtx_insn *insn); + extern int arc_label_align (rtx_insn *label); +-extern bool arc_need_delay (rtx_insn *insn); + extern bool arc_text_label (rtx_insn *insn); + + extern bool arc_short_comparison_p (rtx, int); +diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c +index 5a7b0cb6696..c3ee9181f93 100644 +--- a/gcc/config/arc/arc.c ++++ b/gcc/config/arc/arc.c +@@ -10341,59 +10341,6 @@ arc_attr_type (rtx_insn *insn) + return get_attr_type (insn); + } + +-/* Return true if insn sets the condition codes. */ +- +-bool +-arc_sets_cc_p (rtx_insn *insn) +-{ +- if (NONJUMP_INSN_P (insn)) +- if (rtx_sequence *seq = dyn_cast (PATTERN (insn))) +- insn = seq->insn (seq->len () - 1); +- return arc_attr_type (insn) == TYPE_COMPARE; +-} +- +-/* Return true if INSN is an instruction with a delay slot we may want +- to fill. */ +- +-bool +-arc_need_delay (rtx_insn *insn) +-{ +- rtx_insn *next; +- +- if (!flag_delayed_branch) +- return false; +- /* The return at the end of a function needs a delay slot. */ +- if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE +- && (!(next = next_active_insn (insn)) +- || ((!NONJUMP_INSN_P (next) || GET_CODE (PATTERN (next)) != SEQUENCE) +- && arc_attr_type (next) == TYPE_RETURN)) +- && (!TARGET_PAD_RETURN +- || (prev_active_insn (insn) +- && prev_active_insn (prev_active_insn (insn)) +- && prev_active_insn (prev_active_insn (prev_active_insn (insn)))))) +- return true; +- if (NONJUMP_INSN_P (insn) +- ? (GET_CODE (PATTERN (insn)) == USE +- || GET_CODE (PATTERN (insn)) == CLOBBER +- || GET_CODE (PATTERN (insn)) == SEQUENCE) +- : JUMP_P (insn) +- ? (GET_CODE (PATTERN (insn)) == ADDR_VEC +- || GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC) +- : !CALL_P (insn)) +- return false; +- return num_delay_slots (insn) != 0; +-} +- +-/* Return true if the scheduling pass(es) has/have already run, +- i.e. where possible, we should try to mitigate high latencies +- by different instruction selection. */ +- +-bool +-arc_scheduling_not_expected (void) +-{ +- return cfun->machine->arc_reorg_started; +-} +- + /* Code has a minimum p2 alignment of 1, which we must restore after + an ADDR_DIFF_VEC. */ + +diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md +index f91adbc0d94..c635b69ddd5 100644 +--- a/gcc/config/arc/arc.md ++++ b/gcc/config/arc/arc.md +@@ -2847,43 +2847,25 @@ archs4x, archs4xd" + (set_attr "type" "compare") + (set_attr "length" "4,4,8")]) + +-; w/c/c comes first (rather than w/0/C_0) to prevent the middle-end +-; needlessly prioritizing the matching constraint. +-; Rcw/0/C_0 comes before w/c/L so that the lower latency conditional +-; execution is used where possible. +-(define_insn_and_split "adc" +- [(set (match_operand:SI 0 "dest_reg_operand" "=w,Rcw,w,Rcw,w") +- (plus:SI (plus:SI (ltu:SI (reg:CC_C CC_REG) (const_int 0)) +- (match_operand:SI 1 "nonmemory_operand" +- "%c,0,c,0,cCal")) +- (match_operand:SI 2 "nonmemory_operand" "c,C_0,L,I,cCal")))] ++(define_insn "adc" ++ [(set (match_operand:SI 0 "register_operand" "=r, r,r,r, r,r") ++ (plus:SI ++ (plus:SI ++ (ltu:SI (reg:CC_C CC_REG) (const_int 0)) ++ (match_operand:SI 1 "nonmemory_operand" "%r, 0,r,0,Cal,r")) ++ (match_operand:SI 2 "nonmemory_operand" "r,C_0,L,I, r,Cal")))] + "register_operand (operands[1], SImode) + || register_operand (operands[2], SImode)" + "@ +- adc %0,%1,%2 +- add.cs %0,%1,1 +- adc %0,%1,%2 +- adc %0,%1,%2 +- adc %0,%1,%2" +- ; if we have a bad schedule after sched2, split. +- "reload_completed +- && !optimize_size && (!TARGET_ARC600_FAMILY) +- && arc_scheduling_not_expected () +- && arc_sets_cc_p (prev_nonnote_insn (insn)) +- /* If next comes a return or other insn that needs a delay slot, +- expect the adc to get into the delay slot. */ +- && next_nonnote_insn (insn) +- && !arc_need_delay (next_nonnote_insn (insn)) +- /* Restore operands before emitting. */ +- && (extract_insn_cached (insn), 1)" +- [(set (match_dup 0) (match_dup 3)) +- (cond_exec +- (ltu (reg:CC_C CC_REG) (const_int 0)) +- (set (match_dup 0) (plus:SI (match_dup 0) (const_int 1))))] +- "operands[3] = simplify_gen_binary (PLUS, SImode, operands[1], operands[2]);" ++ adc\\t%0,%1,%2 ++ add.cs\\t%0,%1,1 ++ adc\\t%0,%1,%2 ++ adc\\t%0,%1,%2 ++ adc\\t%0,%1,%2 ++ adc\\t%0,%1,%2" + [(set_attr "cond" "use") + (set_attr "type" "cc_arith") +- (set_attr "length" "4,4,4,4,8")]) ++ (set_attr "length" "4,4,4,4,8,8")]) + + ; combiner-splitter cmp / scc -> cmp / adc + (define_split +@@ -3015,7 +2997,7 @@ archs4x, archs4xd" + DONE; + } + emit_insn (gen_sub_f (l0, l1, l2)); +- emit_insn (gen_sbc (h0, h1, h2, gen_rtx_REG (CCmode, CC_REG))); ++ emit_insn (gen_sbc (h0, h1, h2)); + DONE; + ") + +@@ -3030,44 +3012,25 @@ archs4x, archs4xd" + (set_attr "type" "cc_arith") + (set_attr "length" "4")]) + +-; w/c/c comes first (rather than Rcw/0/C_0) to prevent the middle-end +-; needlessly prioritizing the matching constraint. +-; Rcw/0/C_0 comes before w/c/L so that the lower latency conditional execution +-; is used where possible. +-(define_insn_and_split "sbc" +- [(set (match_operand:SI 0 "dest_reg_operand" "=w,Rcw,w,Rcw,w") +- (minus:SI (minus:SI (match_operand:SI 1 "nonmemory_operand" +- "c,0,c,0,cCal") +- (ltu:SI (match_operand:CC_C 3 "cc_use_register") +- (const_int 0))) +- (match_operand:SI 2 "nonmemory_operand" "c,C_0,L,I,cCal")))] ++(define_insn "sbc" ++ [(set (match_operand:SI 0 "dest_reg_operand" "=r,r,r,r,r,r") ++ (minus:SI ++ (minus:SI ++ (match_operand:SI 1 "nonmemory_operand" "r, 0,r,0, r,Cal") ++ (ltu:SI (reg:CC_C CC_REG) (const_int 0))) ++ (match_operand:SI 2 "nonmemory_operand" "r,C_0,L,I,Cal,r")))] + "register_operand (operands[1], SImode) + || register_operand (operands[2], SImode)" + "@ +- sbc %0,%1,%2 +- sub.cs %0,%1,1 +- sbc %0,%1,%2 +- sbc %0,%1,%2 +- sbc %0,%1,%2" +- ; if we have a bad schedule after sched2, split. +- "reload_completed +- && !optimize_size && (!TARGET_ARC600_FAMILY) +- && arc_scheduling_not_expected () +- && arc_sets_cc_p (prev_nonnote_insn (insn)) +- /* If next comes a return or other insn that needs a delay slot, +- expect the adc to get into the delay slot. */ +- && next_nonnote_insn (insn) +- && !arc_need_delay (next_nonnote_insn (insn)) +- /* Restore operands before emitting. */ +- && (extract_insn_cached (insn), 1)" +- [(set (match_dup 0) (match_dup 4)) +- (cond_exec +- (ltu (reg:CC_C CC_REG) (const_int 0)) +- (set (match_dup 0) (plus:SI (match_dup 0) (const_int -1))))] +- "operands[4] = simplify_gen_binary (MINUS, SImode, operands[1], operands[2]);" ++ sbc\\t%0,%1,%2 ++ sub.cs\\t%0,%1,1 ++ sbc\\t%0,%1,%2 ++ sbc\\t%0,%1,%2 ++ sbc\\t%0,%1,%2 ++ sbc\\t%0,%1,%2" + [(set_attr "cond" "use") + (set_attr "type" "cc_arith") +- (set_attr "length" "4,4,4,4,8")]) ++ (set_attr "length" "4,4,4,4,8,8")]) + + (define_insn "sub_f" + [(set (reg:CC CC_REG) diff --git a/buildroot/package/gnuplot/0002-without-history.patch b/buildroot/package/gnuplot/0002-without-history.patch deleted file mode 100644 index 6091da841..000000000 --- a/buildroot/package/gnuplot/0002-without-history.patch +++ /dev/null @@ -1,17 +0,0 @@ -history.c: Patch to solve the 'undefined reference to gp_read_history' - -Signed-off-by: Michael Fischer - -diff -purN gnuplot-5.4.0.org/src/history.c gnuplot-5.4.0/src/history.c ---- gnuplot-5.4.0.org/src/history.c 2019-12-10 07:22:32.000000000 +0100 -+++ gnuplot-5.4.0/src/history.c 2020-09-14 10:07:36.525441702 +0200 -@@ -91,7 +91,9 @@ write_history(char *filename) - void - read_history(char *filename) - { -- gp_read_history(filename); -+#ifdef GNUPLOT_HISTORY -+ gp_read_history(filename); -+#endif - } - diff --git a/buildroot/package/gnuplot/gnuplot.hash b/buildroot/package/gnuplot/gnuplot.hash index 260b78314..9770185c2 100644 --- a/buildroot/package/gnuplot/gnuplot.hash +++ b/buildroot/package/gnuplot/gnuplot.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.0/ -md5 ac586178f3b031dea82cd3890cefb21b gnuplot-5.4.0.tar.gz -sha1 b4660dff7d047a453c55fd77faba11f63bb2d5ed gnuplot-5.4.0.tar.gz +# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.1/ +md5 80f75b684f1175d36cd6908ff1ceb588 gnuplot-5.4.1.tar.gz +sha1 bb1cd34f8ec0357eccef70122f0fd531ced5dd29 gnuplot-5.4.1.tar.gz # Locally computed -sha256 eb4082f03a399fd1e9e2b380cf7a4f785e77023d8dcc7e17570c1b5570a49c47 gnuplot-5.4.0.tar.gz +sha256 6b690485567eaeb938c26936e5e0681cf70c856d273cc2c45fabf64d8bc6590e gnuplot-5.4.1.tar.gz sha256 895928ec0735cca1c8cec42656c7e314a065d0242813bb8693c0c1bf61fd4e4d Copyright diff --git a/buildroot/package/gnuplot/gnuplot.mk b/buildroot/package/gnuplot/gnuplot.mk index ef9ef2ac6..746831275 100644 --- a/buildroot/package/gnuplot/gnuplot.mk +++ b/buildroot/package/gnuplot/gnuplot.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPLOT_VERSION = 5.4.0 +GNUPLOT_VERSION = 5.4.1 GNUPLOT_SITE = http://downloads.sourceforge.net/project/gnuplot/gnuplot/$(GNUPLOT_VERSION) GNUPLOT_LICENSE = gnuplot license (open source) GNUPLOT_LICENSE_FILES = Copyright diff --git a/buildroot/package/gstreamer1/gst1-plugins-good/Config.in b/buildroot/package/gstreamer1/gst1-plugins-good/Config.in index 4dcf26766..67df206ee 100644 --- a/buildroot/package/gstreamer1/gst1-plugins-good/Config.in +++ b/buildroot/package/gstreamer1/gst1-plugins-good/Config.in @@ -279,6 +279,7 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL bool "qmlgl (qt5)" depends on BR2_PACKAGE_QT5 depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative + depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL select BR2_PACKAGE_QT5BASE_WIDGETS select BR2_PACKAGE_QT5DECLARATIVE select BR2_PACKAGE_QT5DECLARATIVE_QUICK @@ -286,6 +287,9 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL help QT5 plugin which includes elements qmlglsrc and qmlglsink +comment "qmlgl (qt5) needs the gst1-plugins-base opengl library" + depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL + config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHOUT2 bool "shout2" select BR2_PACKAGE_LIBSHOUT diff --git a/buildroot/package/jemalloc/jemalloc.mk b/buildroot/package/jemalloc/jemalloc.mk index aedc1f04b..e43a4f790 100644 --- a/buildroot/package/jemalloc/jemalloc.mk +++ b/buildroot/package/jemalloc/jemalloc.mk @@ -10,6 +10,7 @@ JEMALLOC_SITE = https://github.com/jemalloc/jemalloc/releases/download/$(JEMALLO JEMALLOC_LICENSE = BSD-2-Clause JEMALLOC_LICENSE_FILES = COPYING JEMALLOC_INSTALL_STAGING = YES +JEMALLOC_CONFIG_SCRIPTS = jemalloc-config # gcc bug internal compiler error: in merge_overlapping_regs, at # regrename.c:304. This bug is fixed since gcc 6. diff --git a/buildroot/package/kmsxx/0002-added-include-string-to-card.h-to-follow-gcc10-porti.patch b/buildroot/package/kmsxx/0002-added-include-string-to-card.h-to-follow-gcc10-porti.patch new file mode 100644 index 000000000..3febac40e --- /dev/null +++ b/buildroot/package/kmsxx/0002-added-include-string-to-card.h-to-follow-gcc10-porti.patch @@ -0,0 +1,27 @@ +From f7ee1e8c96ffbfc645487e483b928d250a7e79ec Mon Sep 17 00:00:00 2001 +From: Tobias Off +Date: Thu, 8 Oct 2020 22:37:55 +0200 +Subject: [PATCH] added #include to card.h to follow gcc10 porting + guide + +[Upstream: https://github.com/tomba/kmsxx/commit/b53f9d383c9189a897c44cd88a8fc1b871fdc8a2.patch] +Signed-off-by: Peter Seiderer +--- + kms++/inc/kms++/card.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/kms++/inc/kms++/card.h b/kms++/inc/kms++/card.h +index 90ad1f6..f055e27 100644 +--- a/kms++/inc/kms++/card.h ++++ b/kms++/inc/kms++/card.h +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + + #include "decls.h" + #include "pipeline.h" +-- +2.29.2 + diff --git a/buildroot/package/libcap/libcap.mk b/buildroot/package/libcap/libcap.mk index 2b80a3cb7..7bb8f5767 100644 --- a/buildroot/package/libcap/libcap.mk +++ b/buildroot/package/libcap/libcap.mk @@ -19,6 +19,8 @@ LIBCAP_MAKE_FLAGS = \ CROSS_COMPILE="$(TARGET_CROSS)" \ BUILD_CC="$(HOSTCC)" \ BUILD_CFLAGS="$(HOST_CFLAGS)" \ + lib=lib \ + prefix=/usr \ SHARED=$(if $(BR2_STATIC_LIBS),,yes) \ PTHREADS=$(if $(BR2_TOOLCHAIN_HAS_THREADS),yes,) @@ -38,27 +40,31 @@ endef define LIBCAP_INSTALL_STAGING_CMDS $(foreach d,$(LIBCAP_MAKE_DIRS), \ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/$(d) $(LIBCAP_MAKE_FLAGS) \ - DESTDIR=$(STAGING_DIR) prefix=/usr lib=lib install + DESTDIR=$(STAGING_DIR) install ) endef define LIBCAP_INSTALL_TARGET_CMDS $(foreach d,$(LIBCAP_MAKE_DIRS), \ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/$(d) $(LIBCAP_MAKE_FLAGS) \ - DESTDIR=$(TARGET_DIR) prefix=/usr lib=lib install + DESTDIR=$(TARGET_DIR) install ) endef +HOST_LIBCAP_MAKE_FLAGS = \ + DYNAMIC=yes \ + GOLANG=no \ + lib=lib \ + prefix=$(HOST_DIR) \ + RAISE_SETFCAP=no + define HOST_LIBCAP_BUILD_CMDS - $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D)\ - DYNAMIC=yes \ - RAISE_SETFCAP=no GOLANG=no + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(HOST_LIBCAP_MAKE_FLAGS) endef define HOST_LIBCAP_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) prefix=$(HOST_DIR) \ - DYNAMIC=yes \ - RAISE_SETFCAP=no GOLANG=no lib=lib install + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_LIBCAP_MAKE_FLAGS) install endef $(eval $(generic-package)) diff --git a/buildroot/package/libplist/libplist.hash b/buildroot/package/libplist/libplist.hash index 9934ad05e..58054d0b8 100644 --- a/buildroot/package/libplist/libplist.hash +++ b/buildroot/package/libplist/libplist.hash @@ -1,4 +1,3 @@ # Locally calculated sha256 4b33f9af3f9208d54a3c3e1a8c149932513f451c98d1dd696fe42c06e30b7f03 libplist-2.1.0.tar.gz sha256 7619c753cac95d4740220223bde48a032606fcaccde5e546f9bc444c81ab356d COPYING -sha256 7619c753cac95d4740220223bde48a032606fcaccde5e546f9bc444c81ab356d COPYING diff --git a/buildroot/package/libuhttpd/0001-src-CMakeLists.txt-fix-static-build-with-a-zlib-and-.patch b/buildroot/package/libuhttpd/0001-src-CMakeLists.txt-fix-static-build-with-a-zlib-and-.patch new file mode 100644 index 000000000..289ed1aae --- /dev/null +++ b/buildroot/package/libuhttpd/0001-src-CMakeLists.txt-fix-static-build-with-a-zlib-and-.patch @@ -0,0 +1,51 @@ +From 0c2d85450e3eb77dfbe11e8612a5131c5f3f3938 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 1 Dec 2020 20:39:54 +0100 +Subject: [PATCH] src/CMakeLists.txt: fix static build with a zlib and mbedtls + +Static build with a zlib-enabled mbedtls fails on: + +[100%] Linking C executable example +/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: /home/buildroot/autobuild/instance-3/output-1/host/arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib/libmbedtls.a(ssl_tls.c.o): in function `mbedtls_ssl_transform_free.part.24': +ssl_tls.c:(.text+0xbc6): undefined reference to `deflateEnd' + +As mbedtls does not provide a pkg-config file, search for zlib and link +with it if necessary + +Fixes: + - http://autobuild.buildroot.org/results/5891d12e90182460cde1ddfa0ca75e9fd55e3dff + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/zhaojh329/libuhttpd/pull/13] +--- + src/CMakeLists.txt | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 132f243..f00fc8f 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -57,6 +57,7 @@ else() + endif() + find_package(WolfSSL) + find_package(MbedTLS) ++ find_package(ZLIB) + + if(UHTTPD_USE_OPENSSL) + if (NOT OPENSSL_FOUND) +@@ -97,7 +98,11 @@ else() + elseif(UHTTPD_USE_MBEDTLS) + set(SSL_NAME "MbedTLS(PolarSSL)") + set(SSL_INC ${MBEDTLS_INCLUDE_DIR}) +- set(SSL_LIB ${MBEDTLS_LIBRARIES}) ++ if(ZLIB_FOUND) ++ set(SSL_LIB ${MBEDTLS_LIBRARIES} ${ZLIB_LIBRARIES}) ++ else() ++ set(SSL_LIB ${MBEDTLS_LIBRARIES}) ++ endif() + set(UHTTPD_HAVE_MBEDTLS_CONFIG 1) + endif() + +-- +2.29.2 + diff --git a/buildroot/package/libxkbcommon/libxkbcommon.hash b/buildroot/package/libxkbcommon/libxkbcommon.hash index 1725eaecf..77bb20c3e 100644 --- a/buildroot/package/libxkbcommon/libxkbcommon.hash +++ b/buildroot/package/libxkbcommon/libxkbcommon.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2020-November/041659.html -sha256 0ea2f88f4472bbf8170c5a7112f5af8848a908ca15df9e9086c3de0189612b2b libxkbcommon-1.0.2.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2020-November/041660.html +sha256 a2202f851e072b84e64a395212cbd976ee18a8ee602008b0bad02a13247dbc52 libxkbcommon-1.0.3.tar.xz # License file: sha256 086caee279449369d41c1157911ec7696e707b93feba7280de757d3c470b2dfb LICENSE diff --git a/buildroot/package/libxkbcommon/libxkbcommon.mk b/buildroot/package/libxkbcommon/libxkbcommon.mk index cce5c0273..b592cd99d 100644 --- a/buildroot/package/libxkbcommon/libxkbcommon.mk +++ b/buildroot/package/libxkbcommon/libxkbcommon.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXKBCOMMON_VERSION = 1.0.2 +LIBXKBCOMMON_VERSION = 1.0.3 LIBXKBCOMMON_SITE = http://xkbcommon.org/download LIBXKBCOMMON_SOURCE = libxkbcommon-$(LIBXKBCOMMON_VERSION).tar.xz LIBXKBCOMMON_LICENSE = MIT/X11 diff --git a/buildroot/package/lynx/lynx.mk b/buildroot/package/lynx/lynx.mk index 07a3ddfcf..d115682d6 100644 --- a/buildroot/package/lynx/lynx.mk +++ b/buildroot/package/lynx/lynx.mk @@ -12,6 +12,13 @@ LYNX_LICENSE_FILES = COPYING LYNX_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) +ifeq ($(BR2_REPRODUCIBLE),y) +# configuration info leaks build paths +LYNX_CONF_OPTS += --disable-config-info +# disable build timestamp +LYNX_CFLAGS += -DNO_BUILDSTAMP +endif + ifeq ($(BR2_PACKAGE_NCURSES),y) LYNX_DEPENDENCIES += ncurses LYNX_CONF_OPTS += --with-screen=ncurses$(if $(BR2_PACKAGE_NCURSES_WCHAR),w) @@ -41,6 +48,6 @@ LYNX_DEPENDENCIES += libidn LYNX_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs libidn` endif -LYNX_CONF_ENV = LIBS="$(LYNX_LIBS)" +LYNX_CONF_ENV = LIBS="$(LYNX_LIBS)" CFLAGS="$(TARGET_CFLAGS) $(LYNX_CFLAGS)" $(eval $(autotools-package)) diff --git a/buildroot/package/mariadb/mariadb.hash b/buildroot/package/mariadb/mariadb.hash index 9de97360a..a210dd9da 100644 --- a/buildroot/package/mariadb/mariadb.hash +++ b/buildroot/package/mariadb/mariadb.hash @@ -1,8 +1,6 @@ -# From https://downloads.mariadb.org/mariadb/10.3.23 -md5 473950893d29805d9384ec0ed5d7c276 mariadb-10.3.23.tar.gz -sha1 c95b6d4cff5e6d63eed05da20561802b9c83e717 mariadb-10.3.23.tar.gz -sha256 fc405022457d8eec5991b870cc1c9a07b83b551d6165c414c4d8f31523aa86ae mariadb-10.3.23.tar.gz -sha512 535cd2ce80a95b6c0a1aa559cc3275dfcd559c3a4f958fab3382923190a16e6bc5b4ad79acaa518244512ff618568c239c0edef8a701d958362ede19a29c2986 mariadb-10.3.23.tar.gz +# From https://downloads.mariadb.org/mariadb/10.3.27 +sha256 0dadc1650ab2ff40caab58210e93b106ae1e3d1a82e5b0fd92c795b8b43e4619 mariadb-10.3.27.tar.gz +sha512 1ebfdfa3ef6e13e92615ac2fb6995362ca60fe78f57ff3cf9e384517f95eaf4c701e60fe0977b1eee73889cdfe3367720da9a9bae3dd1a09a4558114ba593369 mariadb-10.3.27.tar.gz # Hash for license files sha256 a4665c1189fe31e0bbc27e9b55439df7dad6e99805407fe58d78da7aabe678f8 README.md diff --git a/buildroot/package/mariadb/mariadb.mk b/buildroot/package/mariadb/mariadb.mk index 1d0be060d..83965d043 100644 --- a/buildroot/package/mariadb/mariadb.mk +++ b/buildroot/package/mariadb/mariadb.mk @@ -4,7 +4,7 @@ # ################################################################################ -MARIADB_VERSION = 10.3.23 +MARIADB_VERSION = 10.3.27 MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library) # Tarball no longer contains LGPL license text diff --git a/buildroot/package/netsurf/0003-do-not-cross-compile-nsgenbind.patch b/buildroot/package/netsurf/0002-do-not-cross-compile-nsgenbind.patch similarity index 100% rename from buildroot/package/netsurf/0003-do-not-cross-compile-nsgenbind.patch rename to buildroot/package/netsurf/0002-do-not-cross-compile-nsgenbind.patch diff --git a/buildroot/package/netsurf/0004-fix-compilation-without-curl.patch b/buildroot/package/netsurf/0003-fix-compilation-without-curl.patch similarity index 100% rename from buildroot/package/netsurf/0004-fix-compilation-without-curl.patch rename to buildroot/package/netsurf/0003-fix-compilation-without-curl.patch diff --git a/buildroot/package/netsurf/0004-framebuffer-Fix-internal-font-generated-source-for-GCC-10.patch b/buildroot/package/netsurf/0004-framebuffer-Fix-internal-font-generated-source-for-GCC-10.patch new file mode 100644 index 000000000..da512645a --- /dev/null +++ b/buildroot/package/netsurf/0004-framebuffer-Fix-internal-font-generated-source-for-GCC-10.patch @@ -0,0 +1,37 @@ +From 434f6c3fe7d1d2c6a3e6ae6338608a4a4421ab1b Mon Sep 17 00:00:00 2001 +From: Michael Drake +Date: Fri, 13 Nov 2020 11:12:58 +0000 +Subject: framebuffer: Fix internal font generated source for GCC 10. + +[Retrieved (and backported) from: +https://git.netsurf-browser.org/netsurf.git/commit/?id=434f6c3fe7d1d2c6a3e6ae6338608a4a4421ab1b] +Signed-off-by: Fabrice Fontaine +--- + tools/convert_font.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/netsurf/frontends/framebuffer/convert_font.c b/netsurf/frontends/framebuffer/convert_font.c +index 9f5734b71..d22c85920 100644 +--- a/netsurf/frontends/framebuffer/convert_font.c ++++ b/netsurf/frontends/framebuffer/convert_font.c +@@ -290,14 +290,14 @@ static bool generate_font_header(const char *path, struct font_data *data) + + + for (s = 0; s < 4; s++) { +- fprintf(fp, "const uint8_t *%s_section_table;\n", ++ fprintf(fp, "extern const uint8_t *%s_section_table;\n", + var_lables[s]); +- fprintf(fp, "const uint16_t *%s_sections;\n", ++ fprintf(fp, "extern const uint16_t *%s_sections;\n", + var_lables[s]); + + } + +- fprintf(fp, "const uint8_t *font_glyph_data;\n"); ++ fprintf(fp, "extern const uint8_t *font_glyph_data;\n"); + + fprintf(fp, "\n\n"); + +-- +cgit v1.2.1 + diff --git a/buildroot/package/privoxy/privoxy.hash b/buildroot/package/privoxy/privoxy.hash index 84daf5c61..850208dd9 100644 --- a/buildroot/package/privoxy/privoxy.hash +++ b/buildroot/package/privoxy/privoxy.hash @@ -1,6 +1,6 @@ -# From http://sourceforge.net/projects/ijbswa/files/Sources/3.0.28%20%28stable%29/ -md5 c7e8900d5aff33d9a5fc37ac28154f21 privoxy-3.0.28-stable-src.tar.gz -sha1 fa8f9f355a48afe94afcaef31c5404b2294c1043 privoxy-3.0.28-stable-src.tar.gz +# From http://sourceforge.net/projects/ijbswa/files/Sources/3.0.28%20%29stable%29/ +md5 493a3a643247e6c8bc60725e9993d4ee privoxy-3.0.29-stable-src.tar.gz +sha1 59873a122729b1b03e1d202d663036d2b5fa1120 privoxy-3.0.29-stable-src.tar.gz # Locally computed -sha256 b5d78cc036aaadb3b7cf860e9d598d7332af468926a26e2d56167f1cb6f2824a privoxy-3.0.28-stable-src.tar.gz +sha256 25c6069efdaf577d47c257da63b03cd6d063fb790e19cc39603d82e5db72489d privoxy-3.0.29-stable-src.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/buildroot/package/privoxy/privoxy.mk b/buildroot/package/privoxy/privoxy.mk index f12d015ef..3cf1dc975 100644 --- a/buildroot/package/privoxy/privoxy.mk +++ b/buildroot/package/privoxy/privoxy.mk @@ -4,7 +4,7 @@ # ################################################################################ -PRIVOXY_VERSION = 3.0.28 +PRIVOXY_VERSION = 3.0.29 PRIVOXY_SITE = http://downloads.sourceforge.net/project/ijbswa/Sources/$(PRIVOXY_VERSION)%20%28stable%29 PRIVOXY_SOURCE = privoxy-$(PRIVOXY_VERSION)-stable-src.tar.gz # configure not shipped diff --git a/buildroot/package/s390-tools/0002-osasnmpd-Makefile-fix-cross-compilation.patch b/buildroot/package/s390-tools/0002-osasnmpd-Makefile-fix-cross-compilation.patch new file mode 100644 index 000000000..8e3d1399f --- /dev/null +++ b/buildroot/package/s390-tools/0002-osasnmpd-Makefile-fix-cross-compilation.patch @@ -0,0 +1,41 @@ +From d7faa31a871d14ab02b290bdf2b2fa085766d2ac Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 27 Nov 2020 23:43:15 +0100 +Subject: [PATCH] osasnmpd/Makefile: fix cross-compilation + +Fix the following build failure by allowing the user to provide +NET_SNMP_CONFIG: + +/bin/sh: net-snmp-config: command not found +/home/buildroot/autobuild/run/instance-2/output-1/host/lib/gcc/s390x-buildroot-linux-gnu/9.3.0/../../../../s390x-buildroot-linux-gnu/bin/ld: osasnmpd.o: in function `main': +osasnmpd.c:(.text.startup+0xcc): undefined reference to `snmp_log_perror' + +Fixes: + - http://autobuild.buildroot.org/results/00796f2ebd5fb0e08ac7a05a9ee566f2bc4bd1c3 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/ibm-s390-tools/s390-tools/pull/99] +--- + osasnmpd/Makefile | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/osasnmpd/Makefile b/osasnmpd/Makefile +index 15496b2..8ce0932 100644 +--- a/osasnmpd/Makefile ++++ b/osasnmpd/Makefile +@@ -1,9 +1,10 @@ + include ../common.mak +-LDLIBS = `net-snmp-config --agent-libs` ++NET_SNMP_CONFIG = net-snmp-config ++LDLIBS = `$(NET_SNMP_CONFIG) --agent-libs` + # On some Linux systems `net-snmp-config --agent-libs` introduces -pie, + # therefore add -fPIC to prevent link failures. + ALL_CFLAGS += -fPIC +-ALL_CFLAGS += `net-snmp-config --cflags` ++ALL_CFLAGS += `$(NET_SNMP_CONFIG) --cflags` + + OBJS = ibmOSAMib.o ibmOSAMibUtil.o osasnmpd.o + +-- +2.29.2 + diff --git a/buildroot/package/s390-tools/s390-tools.mk b/buildroot/package/s390-tools/s390-tools.mk index 5a3bcffba..535caf208 100644 --- a/buildroot/package/s390-tools/s390-tools.mk +++ b/buildroot/package/s390-tools/s390-tools.mk @@ -18,9 +18,13 @@ S390_TOOLS_MAKE_OPTS = \ ifeq ($(BR2_PACKAGE_LIBCURL),y) S390_TOOLS_DEPENDENCIES += libcurl -S390_TOOLS_MAKE_OPTS += HAVE_CURL=1 +S390_TOOLS_MAKE_OPTS += \ + HAVE_CURL=1 \ + HAVE_LIBCURL=1 else -S390_TOOLS_MAKE_OPTS += HAVE_CURL=0 +S390_TOOLS_MAKE_OPTS += \ + HAVE_CURL=0 \ + HAVE_LIBCURL=0 endif ifeq ($(BR2_PACKAGE_JSON_C),y) @@ -72,9 +76,11 @@ else S390_TOOLS_MAKE_OPTS += HAVE_FUSE=0 endif -ifeq ($(BR2_PACKAGE_PERL_NET_SNMP),y) -S390_TOOLS_DEPENDENCIES += perl-net-snmp -S390_TOOLS_MAKE_OPTS += HAVE_SNMP=1 +ifeq ($(BR2_PACKAGE_NETSNMP),y) +S390_TOOLS_DEPENDENCIES += netsnmp +S390_TOOLS_MAKE_OPTS += \ + NET_SNMP_CONFIG=$(STAGING_DIR)/usr/bin/net-snmp-config \ + HAVE_SNMP=1 else S390_TOOLS_MAKE_OPTS += HAVE_SNMP=0 endif diff --git a/buildroot/package/setserial/setserial.hash b/buildroot/package/setserial/setserial.hash index ce3b369f5..991d2860a 100644 --- a/buildroot/package/setserial/setserial.hash +++ b/buildroot/package/setserial/setserial.hash @@ -1,3 +1,5 @@ # From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/s/setserial/setserial_2.17-45.3.dsc -sha256 7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a setserial_2.17.orig.tar.gz -sha256 33db87e8a86cf12b7c97efca9e056865e71358e8cfeb3931118b2647ce1eecc6 setserial_2.17-45.3.diff.gz +sha256 7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a setserial_2.17.orig.tar.gz +sha256 33db87e8a86cf12b7c97efca9e056865e71358e8cfeb3931118b2647ce1eecc6 setserial_2.17-45.3.diff.gz +# Locally computed +sha256 1d7e810ed28daf370def626dfd4c502f2f77d2b678f1ac72e2ba675dd6f9af0d debian/copyright diff --git a/buildroot/package/x11r7/xserver_xorg-server/0007-Fix-XkbSetDeviceInfo-and-SetDeviceIndicators-heap-ov.patch b/buildroot/package/x11r7/xserver_xorg-server/0007-Fix-XkbSetDeviceInfo-and-SetDeviceIndicators-heap-ov.patch new file mode 100644 index 000000000..8297aa8a9 --- /dev/null +++ b/buildroot/package/x11r7/xserver_xorg-server/0007-Fix-XkbSetDeviceInfo-and-SetDeviceIndicators-heap-ov.patch @@ -0,0 +1,100 @@ +From 87c64fc5b0db9f62f4e361444f4b60501ebf67b9 Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb +Date: Sun, 11 Oct 2020 17:05:09 +0200 +Subject: [PATCH] Fix XkbSetDeviceInfo() and SetDeviceIndicators() heap + overflows + +ZDI-CAN 11389 / CVE-2020-25712 + +This vulnerability was discovered by: +Jan-Niklas Sohn working with Trend Micro Zero Day Initiative + +Signed-off-by: Matthieu Herrb +Signed-off-by: Peter Korsgaard +--- + xkb/xkb.c | 26 +++++++++++++++++++++++--- + 1 file changed, 23 insertions(+), 3 deletions(-) + +diff --git a/xkb/xkb.c b/xkb/xkb.c +index 8e016cd74..f54cc97f8 100644 +--- a/xkb/xkb.c ++++ b/xkb/xkb.c +@@ -6536,7 +6536,9 @@ SetDeviceIndicators(char *wire, + unsigned changed, + int num, + int *status_rtrn, +- ClientPtr client, xkbExtensionDeviceNotify * ev) ++ ClientPtr client, ++ xkbExtensionDeviceNotify * ev, ++ xkbSetDeviceInfoReq * stuff) + { + xkbDeviceLedsWireDesc *ledWire; + int i; +@@ -6557,6 +6559,11 @@ SetDeviceIndicators(char *wire, + xkbIndicatorMapWireDesc *mapWire; + XkbSrvLedInfoPtr sli; + ++ if (!_XkbCheckRequestBounds(client, stuff, ledWire, ledWire + 1)) { ++ *status_rtrn = BadLength; ++ return (char *) ledWire; ++ } ++ + namec = mapc = statec = 0; + sli = XkbFindSrvLedInfo(dev, ledWire->ledClass, ledWire->ledID, + XkbXI_IndicatorMapsMask); +@@ -6575,6 +6582,10 @@ SetDeviceIndicators(char *wire, + memset((char *) sli->names, 0, XkbNumIndicators * sizeof(Atom)); + for (n = 0, bit = 1; n < XkbNumIndicators; n++, bit <<= 1) { + if (ledWire->namesPresent & bit) { ++ if (!_XkbCheckRequestBounds(client, stuff, atomWire, atomWire + 1)) { ++ *status_rtrn = BadLength; ++ return (char *) atomWire; ++ } + sli->names[n] = (Atom) *atomWire; + if (sli->names[n] == None) + ledWire->namesPresent &= ~bit; +@@ -6592,6 +6603,10 @@ SetDeviceIndicators(char *wire, + if (ledWire->mapsPresent) { + for (n = 0, bit = 1; n < XkbNumIndicators; n++, bit <<= 1) { + if (ledWire->mapsPresent & bit) { ++ if (!_XkbCheckRequestBounds(client, stuff, mapWire, mapWire + 1)) { ++ *status_rtrn = BadLength; ++ return (char *) mapWire; ++ } + sli->maps[n].flags = mapWire->flags; + sli->maps[n].which_groups = mapWire->whichGroups; + sli->maps[n].groups = mapWire->groups; +@@ -6671,7 +6686,7 @@ _XkbSetDeviceInfoCheck(ClientPtr client, DeviceIntPtr dev, + ed.deviceID = dev->id; + wire = (char *) &stuff[1]; + if (stuff->change & XkbXI_ButtonActionsMask) { +- int nBtns, sz, i; ++ int nBtns, sz, i; + XkbAction *acts; + DeviceIntPtr kbd; + +@@ -6683,7 +6698,11 @@ _XkbSetDeviceInfoCheck(ClientPtr client, DeviceIntPtr dev, + return BadAlloc; + dev->button->xkb_acts = acts; + } ++ if (stuff->firstBtn + stuff->nBtns > nBtns) ++ return BadValue; + sz = stuff->nBtns * SIZEOF(xkbActionWireDesc); ++ if (!_XkbCheckRequestBounds(client, stuff, wire, (char *) wire + sz)) ++ return BadLength; + memcpy((char *) &acts[stuff->firstBtn], (char *) wire, sz); + wire += sz; + ed.reason |= XkbXI_ButtonActionsMask; +@@ -6704,7 +6723,8 @@ _XkbSetDeviceInfoCheck(ClientPtr client, DeviceIntPtr dev, + int status = Success; + + wire = SetDeviceIndicators(wire, dev, stuff->change, +- stuff->nDeviceLedFBs, &status, client, &ed); ++ stuff->nDeviceLedFBs, &status, client, &ed, ++ stuff); + if (status != Success) + return status; + } +-- +2.20.1 + diff --git a/buildroot/package/x11r7/xserver_xorg-server/0008-Check-SetMap-request-length-carefully.patch b/buildroot/package/x11r7/xserver_xorg-server/0008-Check-SetMap-request-length-carefully.patch new file mode 100644 index 000000000..a8b33ebf3 --- /dev/null +++ b/buildroot/package/x11r7/xserver_xorg-server/0008-Check-SetMap-request-length-carefully.patch @@ -0,0 +1,131 @@ +From 446ff2d3177087b8173fa779fa5b77a2a128988b Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb +Date: Thu, 12 Nov 2020 19:15:07 +0100 +Subject: [PATCH] Check SetMap request length carefully. + +Avoid out of bounds memory accesses on too short request. + +ZDI-CAN 11572 / CVE-2020-14360 + +This vulnerability was discovered by: +Jan-Niklas Sohn working with Trend Micro Zero Day Initiative + +Signed-off-by: Matthieu Herrb +Signed-off-by: Peter Korsgaard +--- + xkb/xkb.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 92 insertions(+) + +diff --git a/xkb/xkb.c b/xkb/xkb.c +index f54cc97f8..d056c698c 100644 +--- a/xkb/xkb.c ++++ b/xkb/xkb.c +@@ -2382,6 +2382,93 @@ SetVirtualModMap(XkbSrvInfoPtr xkbi, + return (char *) wire; + } + ++#define _add_check_len(new) \ ++ if (len > UINT32_MAX - (new) || len > req_len - (new)) goto bad; \ ++ else len += new ++ ++/** ++ * Check the length of the SetMap request ++ */ ++static int ++_XkbSetMapCheckLength(xkbSetMapReq *req) ++{ ++ size_t len = sz_xkbSetMapReq, req_len = req->length << 2; ++ xkbKeyTypeWireDesc *keytype; ++ xkbSymMapWireDesc *symmap; ++ BOOL preserve; ++ int i, map_count, nSyms; ++ ++ if (req_len < len) ++ goto bad; ++ /* types */ ++ if (req->present & XkbKeyTypesMask) { ++ keytype = (xkbKeyTypeWireDesc *)(req + 1); ++ for (i = 0; i < req->nTypes; i++) { ++ _add_check_len(XkbPaddedSize(sz_xkbKeyTypeWireDesc)); ++ if (req->flags & XkbSetMapResizeTypes) { ++ _add_check_len(keytype->nMapEntries ++ * sz_xkbKTSetMapEntryWireDesc); ++ preserve = keytype->preserve; ++ map_count = keytype->nMapEntries; ++ if (preserve) { ++ _add_check_len(map_count * sz_xkbModsWireDesc); ++ } ++ keytype += 1; ++ keytype = (xkbKeyTypeWireDesc *) ++ ((xkbKTSetMapEntryWireDesc *)keytype + map_count); ++ if (preserve) ++ keytype = (xkbKeyTypeWireDesc *) ++ ((xkbModsWireDesc *)keytype + map_count); ++ } ++ } ++ } ++ /* syms */ ++ if (req->present & XkbKeySymsMask) { ++ symmap = (xkbSymMapWireDesc *)((char *)req + len); ++ for (i = 0; i < req->nKeySyms; i++) { ++ _add_check_len(sz_xkbSymMapWireDesc); ++ nSyms = symmap->nSyms; ++ _add_check_len(nSyms*sizeof(CARD32)); ++ symmap += 1; ++ symmap = (xkbSymMapWireDesc *)((CARD32 *)symmap + nSyms); ++ } ++ } ++ /* actions */ ++ if (req->present & XkbKeyActionsMask) { ++ _add_check_len(req->totalActs * sz_xkbActionWireDesc ++ + XkbPaddedSize(req->nKeyActs)); ++ } ++ /* behaviours */ ++ if (req->present & XkbKeyBehaviorsMask) { ++ _add_check_len(req->totalKeyBehaviors * sz_xkbBehaviorWireDesc); ++ } ++ /* vmods */ ++ if (req->present & XkbVirtualModsMask) { ++ _add_check_len(XkbPaddedSize(Ones(req->virtualMods))); ++ } ++ /* explicit */ ++ if (req->present & XkbExplicitComponentsMask) { ++ /* two bytes per non-zero explicit componen */ ++ _add_check_len(XkbPaddedSize(req->totalKeyExplicit * sizeof(CARD16))); ++ } ++ /* modmap */ ++ if (req->present & XkbModifierMapMask) { ++ /* two bytes per non-zero modmap component */ ++ _add_check_len(XkbPaddedSize(req->totalModMapKeys * sizeof(CARD16))); ++ } ++ /* vmodmap */ ++ if (req->present & XkbVirtualModMapMask) { ++ _add_check_len(req->totalVModMapKeys * sz_xkbVModMapWireDesc); ++ } ++ if (len == req_len) ++ return Success; ++bad: ++ ErrorF("[xkb] BOGUS LENGTH in SetMap: expected %ld got %ld\n", ++ len, req_len); ++ return BadLength; ++} ++ ++ + /** + * Check if the given request can be applied to the given device but don't + * actually do anything, except swap values when client->swapped and doswap are both true. +@@ -2642,6 +2729,11 @@ ProcXkbSetMap(ClientPtr client) + CHK_KBD_DEVICE(dev, stuff->deviceSpec, client, DixManageAccess); + CHK_MASK_LEGAL(0x01, stuff->present, XkbAllMapComponentsMask); + ++ /* first verify the request length carefully */ ++ rc = _XkbSetMapCheckLength(stuff); ++ if (rc != Success) ++ return rc; ++ + tmp = (char *) &stuff[1]; + + /* Check if we can to the SetMap on the requested device. If this +-- +2.20.1 + diff --git a/buildroot/support/misc/Vagrantfile b/buildroot/support/misc/Vagrantfile index 53f6012f6..db2a752c3 100644 --- a/buildroot/support/misc/Vagrantfile +++ b/buildroot/support/misc/Vagrantfile @@ -5,7 +5,7 @@ ################################################################################ # Buildroot version to use -RELEASE='2020.08' +RELEASE='2020.11' ### Change here for more memory/cores ### VM_MEMORY=2048