Update buildroot to 2020.11 (#1051)

Signed-off-by: Stefan Agner <stefan@agner.ch>
This commit is contained in:
Stefan Agner 2020-12-03 12:34:02 +01:00 committed by GitHub
parent c9c5f1b3e9
commit a4f5670cd8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 745 additions and 78 deletions

View File

@ -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 2020.11-rc3, released November 28th, 2020
Fixes all over the tree. Fixes all over the tree.

View File

@ -92,9 +92,9 @@ all:
.PHONY: all .PHONY: all
# Set and export the version string # 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) # 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 # Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION) RUNNING_MAKE_VERSION := $(MAKE_VERSION)

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -174,13 +174,13 @@ List of Examples
--------------------------------------------------------------------- ---------------------------------------------------------------------
Buildroot 2020.11-rc3 manual generated on 2020-11-28 10:11:23 UTC Buildroot 2020.11 manual generated on 2020-12-02 22:29:04 UTC from
from git revision a418d0ac51 git revision 9624a001f9
The Buildroot manual is written by the Buildroot developers. It is The Buildroot manual is written by the Buildroot developers. It is
licensed under the GNU General Public License, version 2. Refer to licensed under the GNU General Public License, version 2. Refer to
the COPYING [http://git.buildroot.org/buildroot/tree/COPYING?id= 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. sources for the full text of this license.
Copyright © 2004-2020 The Buildroot developers Copyright © 2004-2020 The Buildroot developers

View File

@ -42,40 +42,40 @@
</div> </div>
</div> </div>
<h3 style="text-align: center;">Latest stable release: <b>2020.08.2</b></h3> <h3 style="text-align: center;">Latest stable release: <b>2020.11</b></h3>
<div class="row mt centered"> <div class="row mt centered">
<div class="col-sm-6"> <div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');"> <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper"> <div class="flipper">
<div class="front"> <div class="front">
<a href="/downloads/buildroot-2020.08.2.tar.gz"><img src="images/zip.png" width="180" alt=""></a> <a href="/downloads/buildroot-2020.11.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div> </div>
<div class="back"> <div class="back">
<a href="/downloads/buildroot-2020.08.2.tar.gz"><img src="images/zip.png" width="180" alt=""></a> <a href="/downloads/buildroot-2020.11.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div> </div>
</div> </div>
</div> </div>
<h3><a href="/downloads/buildroot-2020.08.2.tar.gz">buildroot-2020.08.2.tar.gz</a></h3> <h3><a href="/downloads/buildroot-2020.11.tar.gz">buildroot-2020.11.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2020.08.2.tar.gz.sign">PGP signature</a></p> <p><a href="/downloads/buildroot-2020.11.tar.gz.sign">PGP signature</a></p>
</div> </div>
<div class="col-sm-6"> <div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');"> <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper"> <div class="flipper">
<div class="front"> <div class="front">
<a href="/downloads/buildroot-2020.08.2.tar.bz2"><img src="images/package.png" width="180" alt=""></a> <a href="/downloads/buildroot-2020.11.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div> </div>
<div class="back"> <div class="back">
<a href="/downloads/buildroot-2020.08.2.tar.bz2"><img src="images/package.png" width="180" alt=""></a> <a href="/downloads/buildroot-2020.11.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div> </div>
</div> </div>
</div> </div>
<h3><a href="/downloads/buildroot-2020.08.2.tar.bz2">buildroot-2020.08.2.tar.bz2</a></h3> <h3><a href="/downloads/buildroot-2020.11.tar.bz2">buildroot-2020.11.tar.bz2</a></h3>
<p><a href="/downloads/buildroot-2020.08.2.tar.bz2.sign">PGP signature</a></p> <p><a href="/downloads/buildroot-2020.11.tar.bz2.sign">PGP signature</a></p>
</div> </div>
</div> </div>
<!--
<h3 style="text-align: center;">Latest release candidate: <b>2020.11-rc3</b></h3> <h3 style="text-align: center;">Latest release candidate: <b>2020.11-rc3</b></h3>
<div class="row mt centered"> <div class="row mt centered">
<div class="col-sm-6"> <div class="col-sm-6">
@ -109,7 +109,7 @@
<p><a href="/downloads/buildroot-2020.11-rc3.tar.bz2.sign">PGP signature</a></p> <p><a href="/downloads/buildroot-2020.11-rc3.tar.bz2.sign">PGP signature</a></p>
</div> </div>
</div> </div>
-->
This and earlier releases (and their PGP signatures) can always be downloaded from This and earlier releases (and their PGP signatures) can always be downloaded from
<a href="/downloads/">http://buildroot.net/downloads/</a>. <a href="/downloads/">http://buildroot.net/downloads/</a>.
</div> </div>

View File

@ -9,6 +9,24 @@
<h2>News</h2> <h2>News</h2>
<ul class="timeline"> <ul class="timeline">
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2020.11 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>2 December 2020</small></p>
</div>
<div class="timeline-body">
<p>The stable 2020.11 release is out - Thanks to everyone
contributing and testing the release candidates. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2020.11">CHANGES</a>
file for more details
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2020.11.tar.bz2">2020.11 release</a>.</p>
</div>
</div>
</li>
<li> <li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div> <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel"> <div class="timeline-panel">

View File

@ -39,7 +39,7 @@ config BR2_BINUTILS_VERSION_2_35_X
depends on !BR2_BINFMT_FLAT depends on !BR2_BINFMT_FLAT
config BR2_BINUTILS_VERSION_ARC config BR2_BINUTILS_VERSION_ARC
bool "binutils arc (2.31)" bool "binutils arc (2.34.50)"
depends on BR2_arc depends on BR2_arc
config BR2_BINUTILS_VERSION_CSKY config BR2_BINUTILS_VERSION_CSKY

View File

@ -6,7 +6,7 @@
BUSTLE_VERSION = 0.7.5 BUSTLE_VERSION = 0.7.5
BUSTLE_SITE = https://www.freedesktop.org/software/bustle/$(BUSTLE_VERSION) 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_LICENSE_FILES = LICENSE
BUSTLE_DEPENDENCIES = libglib2 libpcap host-pkgconf BUSTLE_DEPENDENCIES = libglib2 libpcap host-pkgconf

View File

@ -1,3 +1,3 @@
# Computed locally # Computed locally
sha256 d410b8efc94e4124990f01de7107223971be8c9258fc651decf9e0ba648485b5 docker-containerd-1.4.1.tar.gz sha256 bc6d9452c700af0ebc09c0da8ddba55be4c03ac8928e72ca92d98905800c8018 docker-containerd-1.4.3.tar.gz
sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE

View File

@ -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_SITE = $(call github,containerd,containerd,v$(DOCKER_CONTAINERD_VERSION))
DOCKER_CONTAINERD_LICENSE = Apache-2.0 DOCKER_CONTAINERD_LICENSE = Apache-2.0
DOCKER_CONTAINERD_LICENSE_FILES = LICENSE DOCKER_CONTAINERD_LICENSE_FILES = LICENSE

View File

@ -9,7 +9,7 @@ choice
Select the version of gcc you wish to use. Select the version of gcc you wish to use.
config BR2_GCC_VERSION_ARC config BR2_GCC_VERSION_ARC
bool "gcc arc (9.x)" bool "gcc arc (10.x)"
# Only supported architecture # Only supported architecture
depends on BR2_arc depends on BR2_arc
select BR2_TOOLCHAIN_GCC_AT_LEAST_9 select BR2_TOOLCHAIN_GCC_AT_LEAST_9

View File

@ -0,0 +1,243 @@
From b92c22b144d063c4436a6693045ceb57d344c495 Mon Sep 17 00:00:00 2001
From: Claudiu Zissulescu <claziss@synopsys.com>
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 <claziss@synopsys.com>
* 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 <claziss@synopsys.com>
Downloaded from upstream commit
https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/commit/b92c22b144d063c4436a6693045ceb57d344c495
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
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 <rtx_sequence *> (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)

View File

@ -1,17 +0,0 @@
history.c: Patch to solve the 'undefined reference to gp_read_history'
Signed-off-by: Michael Fischer <mf@go-sys.de>
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
}

View File

@ -1,6 +1,6 @@
# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.0/ # From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.1/
md5 ac586178f3b031dea82cd3890cefb21b gnuplot-5.4.0.tar.gz md5 80f75b684f1175d36cd6908ff1ceb588 gnuplot-5.4.1.tar.gz
sha1 b4660dff7d047a453c55fd77faba11f63bb2d5ed gnuplot-5.4.0.tar.gz sha1 bb1cd34f8ec0357eccef70122f0fd531ced5dd29 gnuplot-5.4.1.tar.gz
# Locally computed # Locally computed
sha256 eb4082f03a399fd1e9e2b380cf7a4f785e77023d8dcc7e17570c1b5570a49c47 gnuplot-5.4.0.tar.gz sha256 6b690485567eaeb938c26936e5e0681cf70c856d273cc2c45fabf64d8bc6590e gnuplot-5.4.1.tar.gz
sha256 895928ec0735cca1c8cec42656c7e314a065d0242813bb8693c0c1bf61fd4e4d Copyright sha256 895928ec0735cca1c8cec42656c7e314a065d0242813bb8693c0c1bf61fd4e4d Copyright

View File

@ -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_SITE = http://downloads.sourceforge.net/project/gnuplot/gnuplot/$(GNUPLOT_VERSION)
GNUPLOT_LICENSE = gnuplot license (open source) GNUPLOT_LICENSE = gnuplot license (open source)
GNUPLOT_LICENSE_FILES = Copyright GNUPLOT_LICENSE_FILES = Copyright

View File

@ -279,6 +279,7 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL
bool "qmlgl (qt5)" bool "qmlgl (qt5)"
depends on BR2_PACKAGE_QT5 depends on BR2_PACKAGE_QT5
depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative 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_QT5BASE_WIDGETS
select BR2_PACKAGE_QT5DECLARATIVE select BR2_PACKAGE_QT5DECLARATIVE
select BR2_PACKAGE_QT5DECLARATIVE_QUICK select BR2_PACKAGE_QT5DECLARATIVE_QUICK
@ -286,6 +287,9 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL
help help
QT5 plugin which includes elements qmlglsrc and qmlglsink 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 config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHOUT2
bool "shout2" bool "shout2"
select BR2_PACKAGE_LIBSHOUT select BR2_PACKAGE_LIBSHOUT

View File

@ -10,6 +10,7 @@ JEMALLOC_SITE = https://github.com/jemalloc/jemalloc/releases/download/$(JEMALLO
JEMALLOC_LICENSE = BSD-2-Clause JEMALLOC_LICENSE = BSD-2-Clause
JEMALLOC_LICENSE_FILES = COPYING JEMALLOC_LICENSE_FILES = COPYING
JEMALLOC_INSTALL_STAGING = YES JEMALLOC_INSTALL_STAGING = YES
JEMALLOC_CONFIG_SCRIPTS = jemalloc-config
# gcc bug internal compiler error: in merge_overlapping_regs, at # gcc bug internal compiler error: in merge_overlapping_regs, at
# regrename.c:304. This bug is fixed since gcc 6. # regrename.c:304. This bug is fixed since gcc 6.

View File

@ -0,0 +1,27 @@
From f7ee1e8c96ffbfc645487e483b928d250a7e79ec Mon Sep 17 00:00:00 2001
From: Tobias Off <sebastianoff@web.de>
Date: Thu, 8 Oct 2020 22:37:55 +0200
Subject: [PATCH] added #include <string> to card.h to follow gcc10 porting
guide
[Upstream: https://github.com/tomba/kmsxx/commit/b53f9d383c9189a897c44cd88a8fc1b871fdc8a2.patch]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
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 <cstdint>
#include <vector>
#include <map>
+#include <string>
#include "decls.h"
#include "pipeline.h"
--
2.29.2

View File

@ -19,6 +19,8 @@ LIBCAP_MAKE_FLAGS = \
CROSS_COMPILE="$(TARGET_CROSS)" \ CROSS_COMPILE="$(TARGET_CROSS)" \
BUILD_CC="$(HOSTCC)" \ BUILD_CC="$(HOSTCC)" \
BUILD_CFLAGS="$(HOST_CFLAGS)" \ BUILD_CFLAGS="$(HOST_CFLAGS)" \
lib=lib \
prefix=/usr \
SHARED=$(if $(BR2_STATIC_LIBS),,yes) \ SHARED=$(if $(BR2_STATIC_LIBS),,yes) \
PTHREADS=$(if $(BR2_TOOLCHAIN_HAS_THREADS),yes,) PTHREADS=$(if $(BR2_TOOLCHAIN_HAS_THREADS),yes,)
@ -38,27 +40,31 @@ endef
define LIBCAP_INSTALL_STAGING_CMDS define LIBCAP_INSTALL_STAGING_CMDS
$(foreach d,$(LIBCAP_MAKE_DIRS), \ $(foreach d,$(LIBCAP_MAKE_DIRS), \
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/$(d) $(LIBCAP_MAKE_FLAGS) \ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/$(d) $(LIBCAP_MAKE_FLAGS) \
DESTDIR=$(STAGING_DIR) prefix=/usr lib=lib install DESTDIR=$(STAGING_DIR) install
) )
endef endef
define LIBCAP_INSTALL_TARGET_CMDS define LIBCAP_INSTALL_TARGET_CMDS
$(foreach d,$(LIBCAP_MAKE_DIRS), \ $(foreach d,$(LIBCAP_MAKE_DIRS), \
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/$(d) $(LIBCAP_MAKE_FLAGS) \ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/$(d) $(LIBCAP_MAKE_FLAGS) \
DESTDIR=$(TARGET_DIR) prefix=/usr lib=lib install DESTDIR=$(TARGET_DIR) install
) )
endef endef
HOST_LIBCAP_MAKE_FLAGS = \
DYNAMIC=yes \
GOLANG=no \
lib=lib \
prefix=$(HOST_DIR) \
RAISE_SETFCAP=no
define HOST_LIBCAP_BUILD_CMDS define HOST_LIBCAP_BUILD_CMDS
$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
DYNAMIC=yes \ $(HOST_LIBCAP_MAKE_FLAGS)
RAISE_SETFCAP=no GOLANG=no
endef endef
define HOST_LIBCAP_INSTALL_CMDS define HOST_LIBCAP_INSTALL_CMDS
$(HOST_MAKE_ENV) $(MAKE) -C $(@D) prefix=$(HOST_DIR) \ $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_LIBCAP_MAKE_FLAGS) install
DYNAMIC=yes \
RAISE_SETFCAP=no GOLANG=no lib=lib install
endef endef
$(eval $(generic-package)) $(eval $(generic-package))

View File

@ -1,4 +1,3 @@
# Locally calculated # Locally calculated
sha256 4b33f9af3f9208d54a3c3e1a8c149932513f451c98d1dd696fe42c06e30b7f03 libplist-2.1.0.tar.gz sha256 4b33f9af3f9208d54a3c3e1a8c149932513f451c98d1dd696fe42c06e30b7f03 libplist-2.1.0.tar.gz
sha256 7619c753cac95d4740220223bde48a032606fcaccde5e546f9bc444c81ab356d COPYING sha256 7619c753cac95d4740220223bde48a032606fcaccde5e546f9bc444c81ab356d COPYING
sha256 7619c753cac95d4740220223bde48a032606fcaccde5e546f9bc444c81ab356d COPYING

View File

@ -0,0 +1,51 @@
From 0c2d85450e3eb77dfbe11e8612a5131c5f3f3938 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
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 <fontaine.fabrice@gmail.com>
[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

View File

@ -1,5 +1,5 @@
# From https://lists.freedesktop.org/archives/wayland-devel/2020-November/041659.html # From https://lists.freedesktop.org/archives/wayland-devel/2020-November/041660.html
sha256 0ea2f88f4472bbf8170c5a7112f5af8848a908ca15df9e9086c3de0189612b2b libxkbcommon-1.0.2.tar.xz sha256 a2202f851e072b84e64a395212cbd976ee18a8ee602008b0bad02a13247dbc52 libxkbcommon-1.0.3.tar.xz
# License file: # License file:
sha256 086caee279449369d41c1157911ec7696e707b93feba7280de757d3c470b2dfb LICENSE sha256 086caee279449369d41c1157911ec7696e707b93feba7280de757d3c470b2dfb LICENSE

View File

@ -4,7 +4,7 @@
# #
################################################################################ ################################################################################
LIBXKBCOMMON_VERSION = 1.0.2 LIBXKBCOMMON_VERSION = 1.0.3
LIBXKBCOMMON_SITE = http://xkbcommon.org/download LIBXKBCOMMON_SITE = http://xkbcommon.org/download
LIBXKBCOMMON_SOURCE = libxkbcommon-$(LIBXKBCOMMON_VERSION).tar.xz LIBXKBCOMMON_SOURCE = libxkbcommon-$(LIBXKBCOMMON_VERSION).tar.xz
LIBXKBCOMMON_LICENSE = MIT/X11 LIBXKBCOMMON_LICENSE = MIT/X11

View File

@ -12,6 +12,13 @@ LYNX_LICENSE_FILES = COPYING
LYNX_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) 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) ifeq ($(BR2_PACKAGE_NCURSES),y)
LYNX_DEPENDENCIES += ncurses LYNX_DEPENDENCIES += ncurses
LYNX_CONF_OPTS += --with-screen=ncurses$(if $(BR2_PACKAGE_NCURSES_WCHAR),w) 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` LYNX_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs libidn`
endif endif
LYNX_CONF_ENV = LIBS="$(LYNX_LIBS)" LYNX_CONF_ENV = LIBS="$(LYNX_LIBS)" CFLAGS="$(TARGET_CFLAGS) $(LYNX_CFLAGS)"
$(eval $(autotools-package)) $(eval $(autotools-package))

View File

@ -1,8 +1,6 @@
# From https://downloads.mariadb.org/mariadb/10.3.23 # From https://downloads.mariadb.org/mariadb/10.3.27
md5 473950893d29805d9384ec0ed5d7c276 mariadb-10.3.23.tar.gz sha256 0dadc1650ab2ff40caab58210e93b106ae1e3d1a82e5b0fd92c795b8b43e4619 mariadb-10.3.27.tar.gz
sha1 c95b6d4cff5e6d63eed05da20561802b9c83e717 mariadb-10.3.23.tar.gz sha512 1ebfdfa3ef6e13e92615ac2fb6995362ca60fe78f57ff3cf9e384517f95eaf4c701e60fe0977b1eee73889cdfe3367720da9a9bae3dd1a09a4558114ba593369 mariadb-10.3.27.tar.gz
sha256 fc405022457d8eec5991b870cc1c9a07b83b551d6165c414c4d8f31523aa86ae mariadb-10.3.23.tar.gz
sha512 535cd2ce80a95b6c0a1aa559cc3275dfcd559c3a4f958fab3382923190a16e6bc5b4ad79acaa518244512ff618568c239c0edef8a701d958362ede19a29c2986 mariadb-10.3.23.tar.gz
# Hash for license files # Hash for license files
sha256 a4665c1189fe31e0bbc27e9b55439df7dad6e99805407fe58d78da7aabe678f8 README.md sha256 a4665c1189fe31e0bbc27e9b55439df7dad6e99805407fe58d78da7aabe678f8 README.md

View File

@ -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_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) 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 # Tarball no longer contains LGPL license text

View File

@ -0,0 +1,37 @@
From 434f6c3fe7d1d2c6a3e6ae6338608a4a4421ab1b Mon Sep 17 00:00:00 2001
From: Michael Drake <michael.drake@codethink.co.uk>
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 <fontaine.fabrice@gmail.com>
---
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

View File

@ -1,6 +1,6 @@
# From http://sourceforge.net/projects/ijbswa/files/Sources/3.0.28%20%28stable%29/ # From http://sourceforge.net/projects/ijbswa/files/Sources/3.0.28%20%29stable%29/
md5 c7e8900d5aff33d9a5fc37ac28154f21 privoxy-3.0.28-stable-src.tar.gz md5 493a3a643247e6c8bc60725e9993d4ee privoxy-3.0.29-stable-src.tar.gz
sha1 fa8f9f355a48afe94afcaef31c5404b2294c1043 privoxy-3.0.28-stable-src.tar.gz sha1 59873a122729b1b03e1d202d663036d2b5fa1120 privoxy-3.0.29-stable-src.tar.gz
# Locally computed # 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 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE

View File

@ -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_SITE = http://downloads.sourceforge.net/project/ijbswa/Sources/$(PRIVOXY_VERSION)%20%28stable%29
PRIVOXY_SOURCE = privoxy-$(PRIVOXY_VERSION)-stable-src.tar.gz PRIVOXY_SOURCE = privoxy-$(PRIVOXY_VERSION)-stable-src.tar.gz
# configure not shipped # configure not shipped

View File

@ -0,0 +1,41 @@
From d7faa31a871d14ab02b290bdf2b2fa085766d2ac Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
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 <fontaine.fabrice@gmail.com>
[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

View File

@ -18,9 +18,13 @@ S390_TOOLS_MAKE_OPTS = \
ifeq ($(BR2_PACKAGE_LIBCURL),y) ifeq ($(BR2_PACKAGE_LIBCURL),y)
S390_TOOLS_DEPENDENCIES += libcurl S390_TOOLS_DEPENDENCIES += libcurl
S390_TOOLS_MAKE_OPTS += HAVE_CURL=1 S390_TOOLS_MAKE_OPTS += \
HAVE_CURL=1 \
HAVE_LIBCURL=1
else else
S390_TOOLS_MAKE_OPTS += HAVE_CURL=0 S390_TOOLS_MAKE_OPTS += \
HAVE_CURL=0 \
HAVE_LIBCURL=0
endif endif
ifeq ($(BR2_PACKAGE_JSON_C),y) ifeq ($(BR2_PACKAGE_JSON_C),y)
@ -72,9 +76,11 @@ else
S390_TOOLS_MAKE_OPTS += HAVE_FUSE=0 S390_TOOLS_MAKE_OPTS += HAVE_FUSE=0
endif endif
ifeq ($(BR2_PACKAGE_PERL_NET_SNMP),y) ifeq ($(BR2_PACKAGE_NETSNMP),y)
S390_TOOLS_DEPENDENCIES += perl-net-snmp S390_TOOLS_DEPENDENCIES += netsnmp
S390_TOOLS_MAKE_OPTS += HAVE_SNMP=1 S390_TOOLS_MAKE_OPTS += \
NET_SNMP_CONFIG=$(STAGING_DIR)/usr/bin/net-snmp-config \
HAVE_SNMP=1
else else
S390_TOOLS_MAKE_OPTS += HAVE_SNMP=0 S390_TOOLS_MAKE_OPTS += HAVE_SNMP=0
endif endif

View File

@ -1,3 +1,5 @@
# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/s/setserial/setserial_2.17-45.3.dsc # 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 7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a setserial_2.17.orig.tar.gz
sha256 33db87e8a86cf12b7c97efca9e056865e71358e8cfeb3931118b2647ce1eecc6 setserial_2.17-45.3.diff.gz sha256 33db87e8a86cf12b7c97efca9e056865e71358e8cfeb3931118b2647ce1eecc6 setserial_2.17-45.3.diff.gz
# Locally computed
sha256 1d7e810ed28daf370def626dfd4c502f2f77d2b678f1ac72e2ba675dd6f9af0d debian/copyright

View File

@ -0,0 +1,100 @@
From 87c64fc5b0db9f62f4e361444f4b60501ebf67b9 Mon Sep 17 00:00:00 2001
From: Matthieu Herrb <matthieu@herrb.eu>
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 <matthieu@herrb.eu>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
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

View File

@ -0,0 +1,131 @@
From 446ff2d3177087b8173fa779fa5b77a2a128988b Mon Sep 17 00:00:00 2001
From: Matthieu Herrb <matthieu@herrb.eu>
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 <matthieu@herrb.eu>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
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

View File

@ -5,7 +5,7 @@
################################################################################ ################################################################################
# Buildroot version to use # Buildroot version to use
RELEASE='2020.08' RELEASE='2020.11'
### Change here for more memory/cores ### ### Change here for more memory/cores ###
VM_MEMORY=2048 VM_MEMORY=2048