Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2bf0c6412 | ||
|
|
b51f89577f | ||
|
|
bb0a6658af | ||
|
|
7e427814b9 | ||
|
|
4f80800172 | ||
|
|
2cd078c466 | ||
|
|
1a551c0753 | ||
|
|
0cf378164c | ||
|
|
3bc6e2b10a | ||
|
|
5662a6230f | ||
|
|
bc8db10ae6 | ||
|
|
9822625a3d | ||
|
|
f142640e2e |
@@ -5,15 +5,15 @@ Default Kernel tree: 5.4
|
||||
|
||||
| Board | Version |
|
||||
|-------|---------|
|
||||
| Open Virtual Appliance | 5.4.86 |
|
||||
| Raspberry Pi | 5.4.79 |
|
||||
| Raspberry Pi 0-W | 5.4.79 |
|
||||
| Raspberry Pi 2 | 5.4.79 |
|
||||
| Raspberry Pi 3 | 5.4.79 |
|
||||
| Raspberry Pi 4 | 5.4.79 |
|
||||
| Tinker Board | 5.4.86 |
|
||||
| Open Virtual Appliance | 5.4.99 |
|
||||
| Raspberry Pi | 5.4.83 |
|
||||
| Raspberry Pi 0-W | 5.4.83 |
|
||||
| Raspberry Pi 2 | 5.4.83 |
|
||||
| Raspberry Pi 3 | 5.4.83 |
|
||||
| Raspberry Pi 4 | 5.4.83 |
|
||||
| Tinker Board | 5.4.99 |
|
||||
| Odroid-C2 | 5.9.16 |
|
||||
| Odroid-C4 | 5.9.16 |
|
||||
| Odroid-N2 | 5.9.16 |
|
||||
| Odroid-XU4 | 5.9.16 |
|
||||
| Intel NUC | 5.4.86 |
|
||||
| Intel NUC | 5.4.99 |
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
From 3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
From 625000fe2a9c1f78099895bf14c2f9753e359fba Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <625000fe2a9c1f78099895bf14c2f9753e359fba.1611839042.git.stefan@agner.ch>
|
||||
From: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Date: Mon, 15 Jun 2020 10:40:41 +0200
|
||||
Subject: [PATCH 1/8] dt-bindings: arm: bcm: Convert BCM2835 firmware binding
|
||||
Subject: [PATCH 1/7] dt-bindings: arm: bcm: Convert BCM2835 firmware binding
|
||||
to YAML
|
||||
|
||||
Convert the Raspberry Pi BCM2835 firmware binding document to YAML.
|
||||
@@ -83,5 +83,5 @@ index 000000000000..cec540c052b6
|
||||
+ };
|
||||
+...
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
From 3ad7fb9329eabd1d7f692f612742ca5ac38854a5 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <3ad7fb9329eabd1d7f692f612742ca5ac38854a5.1609281882.git.stefan@agner.ch>
|
||||
In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
From 47ebc13878c0bff61aeac05bc376a795b26553cd Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <47ebc13878c0bff61aeac05bc376a795b26553cd.1611839042.git.stefan@agner.ch>
|
||||
In-Reply-To: <625000fe2a9c1f78099895bf14c2f9753e359fba.1611839042.git.stefan@agner.ch>
|
||||
References: <625000fe2a9c1f78099895bf14c2f9753e359fba.1611839042.git.stefan@agner.ch>
|
||||
From: Maxime Ripard <maxime@cerno.tech>
|
||||
Date: Mon, 15 Jun 2020 10:40:42 +0200
|
||||
Subject: [PATCH 2/8] dt-bindings: clock: Add a binding for the RPi Firmware
|
||||
Subject: [PATCH 2/7] dt-bindings: clock: Add a binding for the RPi Firmware
|
||||
clocks
|
||||
|
||||
The firmware running on the RPi VideoCore can be used to discover and
|
||||
@@ -67,5 +67,5 @@ index cec540c052b6..b48ed875eb8e 100644
|
||||
};
|
||||
...
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
From 305aeb868929695699e04e26dd590e64ad3c42dd Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <305aeb868929695699e04e26dd590e64ad3c42dd.1609281882.git.stefan@agner.ch>
|
||||
In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
From 0f26a0a4b0a7db1b50ee0f31dde3a23da22945ed Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <0f26a0a4b0a7db1b50ee0f31dde3a23da22945ed.1611839042.git.stefan@agner.ch>
|
||||
In-Reply-To: <625000fe2a9c1f78099895bf14c2f9753e359fba.1611839042.git.stefan@agner.ch>
|
||||
References: <625000fe2a9c1f78099895bf14c2f9753e359fba.1611839042.git.stefan@agner.ch>
|
||||
From: Maxime Ripard <maxime@cerno.tech>
|
||||
Date: Fri, 26 Jun 2020 13:54:33 +0200
|
||||
Subject: [PATCH 3/8] dt-bindings: arm: bcm: Add a select to the RPI Firmware
|
||||
Subject: [PATCH 3/7] dt-bindings: arm: bcm: Add a select to the RPI Firmware
|
||||
binding
|
||||
|
||||
The RaspberryPi firmware binding uses two compatible, include simple-bus.
|
||||
@@ -46,5 +46,5 @@ index b48ed875eb8e..17e4f20c8d39 100644
|
||||
compatible:
|
||||
items:
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
From 33743cfcff296b1011e46168ecab185a00e0f00d Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <33743cfcff296b1011e46168ecab185a00e0f00d.1609281882.git.stefan@agner.ch>
|
||||
In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
From eb9b3dff529cba1409ca17191954a7f26c2720ee Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <eb9b3dff529cba1409ca17191954a7f26c2720ee.1611839042.git.stefan@agner.ch>
|
||||
In-Reply-To: <625000fe2a9c1f78099895bf14c2f9753e359fba.1611839042.git.stefan@agner.ch>
|
||||
References: <625000fe2a9c1f78099895bf14c2f9753e359fba.1611839042.git.stefan@agner.ch>
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Date: Mon, 29 Jun 2020 18:18:37 +0200
|
||||
Subject: [PATCH 4/8] dt-bindings: reset: Add a binding for the RPi Firmware
|
||||
Subject: [PATCH 4/7] dt-bindings: reset: Add a binding for the RPi Firmware
|
||||
reset controller
|
||||
|
||||
The firmware running on the RPi VideoCore can be used to reset and
|
||||
@@ -79,5 +79,5 @@ index 000000000000..1a4f4c792723
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
From a97dba6bf04aa09279a7c5b4aec6e4520e354fbd Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <a97dba6bf04aa09279a7c5b4aec6e4520e354fbd.1609281882.git.stefan@agner.ch>
|
||||
In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
From 78ad38829939c60437fd8a11cabc92679cc3e6df Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <78ad38829939c60437fd8a11cabc92679cc3e6df.1611839042.git.stefan@agner.ch>
|
||||
In-Reply-To: <625000fe2a9c1f78099895bf14c2f9753e359fba.1611839042.git.stefan@agner.ch>
|
||||
References: <625000fe2a9c1f78099895bf14c2f9753e359fba.1611839042.git.stefan@agner.ch>
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Date: Mon, 29 Jun 2020 18:18:39 +0200
|
||||
Subject: [PATCH 5/8] ARM: dts: bcm2711: Add firmware usb reset node
|
||||
Subject: [PATCH 5/7] ARM: dts: bcm2711: Add firmware usb reset node
|
||||
|
||||
Now that the reset driver exposing Raspberry Pi 4's firmware based USB
|
||||
reset routine is available, let's add the device tree node exposing it.
|
||||
@@ -21,7 +21,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
3 files changed, 15 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
index 21b20e334b1a..d77d61d41bbc 100644
|
||||
index b5daeee077ec..37f14d7fd4f0 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -72,6 +72,11 @@
|
||||
@@ -37,7 +37,7 @@ index 21b20e334b1a..d77d61d41bbc 100644
|
||||
|
||||
&gpio {
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi-400.dts b/arch/arm/boot/dts/bcm2711-rpi-400.dts
|
||||
index afd1ca215518..3a1eb65f7075 100644
|
||||
index 9454ce193ec5..a4f4e619d83c 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-400.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-400.dts
|
||||
@@ -72,6 +72,11 @@
|
||||
@@ -53,7 +53,7 @@ index afd1ca215518..3a1eb65f7075 100644
|
||||
|
||||
&gpio {
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
|
||||
index 3ff0be02cb34..7f0a621a47f5 100644
|
||||
index fc3f062fd820..aa346b063b2a 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
|
||||
@@ -84,6 +84,11 @@
|
||||
@@ -69,5 +69,5 @@ index 3ff0be02cb34..7f0a621a47f5 100644
|
||||
|
||||
&pwm1 {
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
From c19d86704ffaa9fbe830aaa2a4015259928abf70 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <c19d86704ffaa9fbe830aaa2a4015259928abf70.1609281882.git.stefan@agner.ch>
|
||||
In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
From 874e651872c2b9e2a2a7f5e139197b9c8c96240b Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <874e651872c2b9e2a2a7f5e139197b9c8c96240b.1611839042.git.stefan@agner.ch>
|
||||
In-Reply-To: <625000fe2a9c1f78099895bf14c2f9753e359fba.1611839042.git.stefan@agner.ch>
|
||||
References: <625000fe2a9c1f78099895bf14c2f9753e359fba.1611839042.git.stefan@agner.ch>
|
||||
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
||||
Date: Mon, 29 Jun 2020 18:18:40 +0200
|
||||
Subject: [PATCH 6/8] ARM: dts: bcm2711: Add reset controller to xHCI node
|
||||
Subject: [PATCH 6/7] ARM: dts: bcm2711: Add reset controller to xHCI node
|
||||
|
||||
The chip is hardwired to the board's PCIe bus and needs to be properly
|
||||
setup trough a firmware routine after a PCI fundamental reset. Pass the
|
||||
@@ -23,7 +23,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
3 files changed, 46 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
index d77d61d41bbc..513cae21e64c 100644
|
||||
index 37f14d7fd4f0..1139d60a643d 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -3,6 +3,8 @@
|
||||
@@ -58,7 +58,7 @@ index d77d61d41bbc..513cae21e64c 100644
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi-400.dts b/arch/arm/boot/dts/bcm2711-rpi-400.dts
|
||||
index 3a1eb65f7075..c122aebd4d5e 100644
|
||||
index a4f4e619d83c..264f0226f1b0 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-400.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-400.dts
|
||||
@@ -3,6 +3,8 @@
|
||||
@@ -93,7 +93,7 @@ index 3a1eb65f7075..c122aebd4d5e 100644
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
|
||||
index 7f0a621a47f5..5eda5d096bfb 100644
|
||||
index aa346b063b2a..4c0f6b320656 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
|
||||
@@ -3,6 +3,8 @@
|
||||
@@ -123,5 +123,5 @@ index 7f0a621a47f5..5eda5d096bfb 100644
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
From febaf077f14b86da1edaa01abee2d0bfcf7bdece Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <febaf077f14b86da1edaa01abee2d0bfcf7bdece.1609281882.git.stefan@agner.ch>
|
||||
In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
From d862338cd866a6fe9541636b7948e4998d1dd01f Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <d862338cd866a6fe9541636b7948e4998d1dd01f.1611839042.git.stefan@agner.ch>
|
||||
In-Reply-To: <625000fe2a9c1f78099895bf14c2f9753e359fba.1611839042.git.stefan@agner.ch>
|
||||
References: <625000fe2a9c1f78099895bf14c2f9753e359fba.1611839042.git.stefan@agner.ch>
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Tue, 2 Jun 2020 21:20:08 +0000
|
||||
Subject: [PATCH 8/8] ARM: dts: bcm283x: add compatible picked up by U-Boot
|
||||
Subject: [PATCH 7/7] ARM: dts: bcm283x: add compatible picked up by U-Boot
|
||||
|
||||
Without brcm,bcm2835-pl011 in compatible U-Boot uses the regular PL011
|
||||
driver which seems to crash when enable_uart=1 is not used. Using
|
||||
@@ -72,5 +72,5 @@ index 4426f9e6ba92..abcf677fe416 100644
|
||||
interrupts = <2 25>;
|
||||
clocks = <&clocks BCM2835_CLOCK_UART>,
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
@@ -1,233 +0,0 @@
|
||||
From 189ef4e3aabe995021fdfb3ff9bfb3f9ffa5fae4 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <189ef4e3aabe995021fdfb3ff9bfb3f9ffa5fae4.1609281882.git.stefan@agner.ch>
|
||||
In-Reply-To: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
References: <3651b4af52d63d4e37f40c7a6d0809b0a6c9dd73.1609281882.git.stefan@agner.ch>
|
||||
From: Arnd Bergmann <arnd@arndb.de>
|
||||
Date: Fri, 13 Nov 2020 15:59:32 +0100
|
||||
Subject: [PATCH 7/8] arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where
|
||||
needed
|
||||
|
||||
Stefan Agner reported a bug when using zsram on 32-bit Arm machines
|
||||
with RAM above the 4GB address boundary:
|
||||
|
||||
Unable to handle kernel NULL pointer dereference at virtual address 00000000
|
||||
pgd = a27bd01c
|
||||
[00000000] *pgd=236a0003, *pmd=1ffa64003
|
||||
Internal error: Oops: 207 [#1] SMP ARM
|
||||
Modules linked in: mdio_bcm_unimac(+) brcmfmac cfg80211 brcmutil raspberrypi_hwmon hci_uart crc32_arm_ce bcm2711_thermal phy_generic genet
|
||||
CPU: 0 PID: 123 Comm: mkfs.ext4 Not tainted 5.9.6 #1
|
||||
Hardware name: BCM2711
|
||||
PC is at zs_map_object+0x94/0x338
|
||||
LR is at zram_bvec_rw.constprop.0+0x330/0xa64
|
||||
pc : [<c0602b38>] lr : [<c0bda6a0>] psr: 60000013
|
||||
sp : e376bbe0 ip : 00000000 fp : c1e2921c
|
||||
r10: 00000002 r9 : c1dda730 r8 : 00000000
|
||||
r7 : e8ff7a00 r6 : 00000000 r5 : 02f9ffa0 r4 : e3710000
|
||||
r3 : 000fdffe r2 : c1e0ce80 r1 : ebf979a0 r0 : 00000000
|
||||
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
|
||||
Control: 30c5383d Table: 235c2a80 DAC: fffffffd
|
||||
Process mkfs.ext4 (pid: 123, stack limit = 0x495a22e6)
|
||||
Stack: (0xe376bbe0 to 0xe376c000)
|
||||
|
||||
As it turns out, zsram needs to know the maximum memory size, which
|
||||
is defined in MAX_PHYSMEM_BITS when CONFIG_SPARSEMEM is set, or in
|
||||
MAX_POSSIBLE_PHYSMEM_BITS on the x86 architecture.
|
||||
|
||||
The same problem will be hit on all 32-bit architectures that have a
|
||||
physical address space larger than 4GB and happen to not enable sparsemem
|
||||
and include asm/sparsemem.h from asm/pgtable.h.
|
||||
|
||||
After the initial discussion, I suggested just always defining
|
||||
MAX_POSSIBLE_PHYSMEM_BITS whenever CONFIG_PHYS_ADDR_T_64BIT is
|
||||
set, or provoking a build error otherwise. This addresses all
|
||||
configurations that can currently have this runtime bug, but
|
||||
leaves all other configurations unchanged.
|
||||
|
||||
I looked up the possible number of bits in source code and
|
||||
datasheets, here is what I found:
|
||||
|
||||
- on ARC, CONFIG_ARC_HAS_PAE40 controls whether 32 or 40 bits are used
|
||||
- on ARM, CONFIG_LPAE enables 40 bit addressing, without it we never
|
||||
support more than 32 bits, even though supersections in theory allow
|
||||
up to 40 bits as well.
|
||||
- on MIPS, some MIPS32r1 or later chips support 36 bits, and MIPS32r5
|
||||
XPA supports up to 60 bits in theory, but 40 bits are more than
|
||||
anyone will ever ship
|
||||
- On PowerPC, there are three different implementations of 36 bit
|
||||
addressing, but 32-bit is used without CONFIG_PTE_64BIT
|
||||
- On RISC-V, the normal page table format can support 34 bit
|
||||
addressing. There is no highmem support on RISC-V, so anything
|
||||
above 2GB is unused, but it might be useful to eventually support
|
||||
CONFIG_ZRAM for high pages.
|
||||
|
||||
Fixes: 61989a80fb3a ("staging: zsmalloc: zsmalloc memory allocation library")
|
||||
Fixes: 02390b87a945 ("mm/zsmalloc: Prepare to variable MAX_PHYSMEM_BITS")
|
||||
Cc: Stefan Agner <stefan@agner.ch>
|
||||
Cc: Mike Rapoport <rppt@kernel.org>
|
||||
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
|
||||
Cc: Nitin Gupta <ngupta@vflare.org>
|
||||
Cc: Minchan Kim <minchan@kernel.org>
|
||||
Cc: Vineet Gupta <vgupta@synopsys.com>
|
||||
Cc: linux-snps-arc@lists.infradead.org
|
||||
Cc: Russell King <linux@armlinux.org.uk>
|
||||
Cc: linux-arm-kernel@lists.infradead.org
|
||||
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
||||
Cc: linux-mips@vger.kernel.org
|
||||
Cc: Michael Ellerman <mpe@ellerman.id.au>
|
||||
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
||||
Cc: Paul Mackerras <paulus@samba.org>
|
||||
Cc: linuxppc-dev@lists.ozlabs.org
|
||||
Cc: Paul Walmsley <paul.walmsley@sifive.com>
|
||||
Cc: Palmer Dabbelt <palmer@dabbelt.com>
|
||||
Cc: Albert Ou <aou@eecs.berkeley.edu>
|
||||
Cc: linux-riscv@lists.infradead.org
|
||||
Link: https://lore.kernel.org/linux-mm/bdfa44bf1c570b05d6c70898e2bbb0acf234ecdf.1604762181.git.stefan@agner.ch/
|
||||
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
||||
---
|
||||
arch/arc/include/asm/pgtable.h | 2 ++
|
||||
arch/arm/include/asm/pgtable-2level.h | 2 ++
|
||||
arch/arm/include/asm/pgtable-3level.h | 2 ++
|
||||
arch/mips/include/asm/pgtable-32.h | 3 +++
|
||||
arch/powerpc/include/asm/book3s/32/pgtable.h | 2 ++
|
||||
arch/powerpc/include/asm/nohash/32/pgtable.h | 2 ++
|
||||
arch/riscv/include/asm/pgtable-32.h | 2 ++
|
||||
include/asm-generic/pgtable.h | 13 +++++++++++++
|
||||
8 files changed, 28 insertions(+)
|
||||
|
||||
diff --git a/arch/arc/include/asm/pgtable.h b/arch/arc/include/asm/pgtable.h
|
||||
index 7addd0301c51..6bdcf9b495b8 100644
|
||||
--- a/arch/arc/include/asm/pgtable.h
|
||||
+++ b/arch/arc/include/asm/pgtable.h
|
||||
@@ -135,8 +135,10 @@
|
||||
|
||||
#ifdef CONFIG_ARC_HAS_PAE40
|
||||
#define PTE_BITS_NON_RWX_IN_PD1 (0xff00000000 | PAGE_MASK | _PAGE_CACHEABLE)
|
||||
+#define MAX_POSSIBLE_PHYSMEM_BITS 40
|
||||
#else
|
||||
#define PTE_BITS_NON_RWX_IN_PD1 (PAGE_MASK | _PAGE_CACHEABLE)
|
||||
+#define MAX_POSSIBLE_PHYSMEM_BITS 32
|
||||
#endif
|
||||
|
||||
/**************************************************************************
|
||||
diff --git a/arch/arm/include/asm/pgtable-2level.h b/arch/arm/include/asm/pgtable-2level.h
|
||||
index 51beec41d48c..50b51ac91fcb 100644
|
||||
--- a/arch/arm/include/asm/pgtable-2level.h
|
||||
+++ b/arch/arm/include/asm/pgtable-2level.h
|
||||
@@ -75,6 +75,8 @@
|
||||
#define PTE_HWTABLE_OFF (PTE_HWTABLE_PTRS * sizeof(pte_t))
|
||||
#define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u32))
|
||||
|
||||
+#define MAX_POSSIBLE_PHYSMEM_BITS 32
|
||||
+
|
||||
/*
|
||||
* PMD_SHIFT determines the size of the area a second-level page table can map
|
||||
* PGDIR_SHIFT determines what a third-level page table entry can map
|
||||
diff --git a/arch/arm/include/asm/pgtable-3level.h b/arch/arm/include/asm/pgtable-3level.h
|
||||
index 5b18295021a0..8006a56cc2ce 100644
|
||||
--- a/arch/arm/include/asm/pgtable-3level.h
|
||||
+++ b/arch/arm/include/asm/pgtable-3level.h
|
||||
@@ -25,6 +25,8 @@
|
||||
#define PTE_HWTABLE_OFF (0)
|
||||
#define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u64))
|
||||
|
||||
+#define MAX_POSSIBLE_PHYSMEM_BITS 40
|
||||
+
|
||||
/*
|
||||
* PGDIR_SHIFT determines the size a top-level page table entry can map.
|
||||
*/
|
||||
diff --git a/arch/mips/include/asm/pgtable-32.h b/arch/mips/include/asm/pgtable-32.h
|
||||
index ba967148b016..2604fab8a92d 100644
|
||||
--- a/arch/mips/include/asm/pgtable-32.h
|
||||
+++ b/arch/mips/include/asm/pgtable-32.h
|
||||
@@ -155,6 +155,7 @@ static inline void pmd_clear(pmd_t *pmdp)
|
||||
|
||||
#if defined(CONFIG_XPA)
|
||||
|
||||
+#define MAX_POSSIBLE_PHYSMEM_BITS 40
|
||||
#define pte_pfn(x) (((unsigned long)((x).pte_high >> _PFN_SHIFT)) | (unsigned long)((x).pte_low << _PAGE_PRESENT_SHIFT))
|
||||
static inline pte_t
|
||||
pfn_pte(unsigned long pfn, pgprot_t prot)
|
||||
@@ -170,6 +171,7 @@ pfn_pte(unsigned long pfn, pgprot_t prot)
|
||||
|
||||
#elif defined(CONFIG_PHYS_ADDR_T_64BIT) && defined(CONFIG_CPU_MIPS32)
|
||||
|
||||
+#define MAX_POSSIBLE_PHYSMEM_BITS 36
|
||||
#define pte_pfn(x) ((unsigned long)((x).pte_high >> 6))
|
||||
|
||||
static inline pte_t pfn_pte(unsigned long pfn, pgprot_t prot)
|
||||
@@ -184,6 +186,7 @@ static inline pte_t pfn_pte(unsigned long pfn, pgprot_t prot)
|
||||
|
||||
#else
|
||||
|
||||
+#define MAX_POSSIBLE_PHYSMEM_BITS 32
|
||||
#ifdef CONFIG_CPU_VR41XX
|
||||
#define pte_pfn(x) ((unsigned long)((x).pte >> (PAGE_SHIFT + 2)))
|
||||
#define pfn_pte(pfn, prot) __pte(((pfn) << (PAGE_SHIFT + 2)) | pgprot_val(prot))
|
||||
diff --git a/arch/powerpc/include/asm/book3s/32/pgtable.h b/arch/powerpc/include/asm/book3s/32/pgtable.h
|
||||
index 0796533d37dd..7b6349be621a 100644
|
||||
--- a/arch/powerpc/include/asm/book3s/32/pgtable.h
|
||||
+++ b/arch/powerpc/include/asm/book3s/32/pgtable.h
|
||||
@@ -37,8 +37,10 @@ static inline bool pte_user(pte_t pte)
|
||||
*/
|
||||
#ifdef CONFIG_PTE_64BIT
|
||||
#define PTE_RPN_MASK (~((1ULL << PTE_RPN_SHIFT) - 1))
|
||||
+#define MAX_POSSIBLE_PHYSMEM_BITS 36
|
||||
#else
|
||||
#define PTE_RPN_MASK (~((1UL << PTE_RPN_SHIFT) - 1))
|
||||
+#define MAX_POSSIBLE_PHYSMEM_BITS 32
|
||||
#endif
|
||||
|
||||
/*
|
||||
diff --git a/arch/powerpc/include/asm/nohash/32/pgtable.h b/arch/powerpc/include/asm/nohash/32/pgtable.h
|
||||
index 552b96eef0c8..3d32d7103ec8 100644
|
||||
--- a/arch/powerpc/include/asm/nohash/32/pgtable.h
|
||||
+++ b/arch/powerpc/include/asm/nohash/32/pgtable.h
|
||||
@@ -148,8 +148,10 @@ int map_kernel_page(unsigned long va, phys_addr_t pa, pgprot_t prot);
|
||||
*/
|
||||
#if defined(CONFIG_PPC32) && defined(CONFIG_PTE_64BIT)
|
||||
#define PTE_RPN_MASK (~((1ULL << PTE_RPN_SHIFT) - 1))
|
||||
+#define MAX_POSSIBLE_PHYSMEM_BITS 36
|
||||
#else
|
||||
#define PTE_RPN_MASK (~((1UL << PTE_RPN_SHIFT) - 1))
|
||||
+#define MAX_POSSIBLE_PHYSMEM_BITS 32
|
||||
#endif
|
||||
|
||||
/*
|
||||
diff --git a/arch/riscv/include/asm/pgtable-32.h b/arch/riscv/include/asm/pgtable-32.h
|
||||
index b0ab66e5fdb1..5b2e79e5bfa5 100644
|
||||
--- a/arch/riscv/include/asm/pgtable-32.h
|
||||
+++ b/arch/riscv/include/asm/pgtable-32.h
|
||||
@@ -14,4 +14,6 @@
|
||||
#define PGDIR_SIZE (_AC(1, UL) << PGDIR_SHIFT)
|
||||
#define PGDIR_MASK (~(PGDIR_SIZE - 1))
|
||||
|
||||
+#define MAX_POSSIBLE_PHYSMEM_BITS 34
|
||||
+
|
||||
#endif /* _ASM_RISCV_PGTABLE_32_H */
|
||||
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h
|
||||
index 6fd08cf04add..7a8c43dee873 100644
|
||||
--- a/include/asm-generic/pgtable.h
|
||||
+++ b/include/asm-generic/pgtable.h
|
||||
@@ -1163,6 +1163,19 @@ static inline bool arch_has_pfn_modify_check(void)
|
||||
#define io_remap_pfn_range remap_pfn_range
|
||||
#endif
|
||||
|
||||
+#if !defined(MAX_POSSIBLE_PHYSMEM_BITS) && !defined(CONFIG_64BIT)
|
||||
+#ifdef CONFIG_PHYS_ADDR_T_64BIT
|
||||
+/*
|
||||
+ * ZSMALLOC needs to know the highest PFN on 32-bit architectures
|
||||
+ * with physical address space extension, but falls back to
|
||||
+ * BITS_PER_LONG otherwise.
|
||||
+ */
|
||||
+#error Missing MAX_POSSIBLE_PHYSMEM_BITS definition
|
||||
+#else
|
||||
+#define MAX_POSSIBLE_PHYSMEM_BITS 32
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#ifndef has_transparent_hugepage
|
||||
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
|
||||
#define has_transparent_hugepage() 1
|
||||
--
|
||||
2.29.2
|
||||
|
||||
@@ -22,7 +22,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/intel/nuc $(BR2_EXTERNAL_HASSOS_PATH)/board/intel/nuc/hassos-hook.sh"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.86"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.99"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="x86_64"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/intel/nuc/kernel.config"
|
||||
BR2_LINUX_KERNEL_LZ4=y
|
||||
|
||||
@@ -23,7 +23,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/intel/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/intel/ova/hassos-hook.sh"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.86"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.99"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="x86_64"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/intel/ova/kernel.config"
|
||||
BR2_LINUX_KERNEL_LZ4=y
|
||||
|
||||
@@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi0-w $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/9797f1a4938c20139b00a25de93cc99efb5c291b.tar.gz"
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/76c49e60e742d0bebd798be972d67dd3fd007691.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config"
|
||||
BR2_LINUX_KERNEL_LZ4=y
|
||||
|
||||
@@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi2 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/9797f1a4938c20139b00a25de93cc99efb5c291b.tar.gz"
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/76c49e60e742d0bebd798be972d67dd3fd007691.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config"
|
||||
BR2_LINUX_KERNEL_LZ4=y
|
||||
|
||||
@@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/9797f1a4938c20139b00a25de93cc99efb5c291b.tar.gz"
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/76c49e60e742d0bebd798be972d67dd3fd007691.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config"
|
||||
BR2_LINUX_KERNEL_LZ4=y
|
||||
|
||||
@@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/9797f1a4938c20139b00a25de93cc99efb5c291b.tar.gz"
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/76c49e60e742d0bebd798be972d67dd3fd007691.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config"
|
||||
BR2_LINUX_KERNEL_LZ4=y
|
||||
|
||||
@@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi4-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/9797f1a4938c20139b00a25de93cc99efb5c291b.tar.gz"
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/76c49e60e742d0bebd798be972d67dd3fd007691.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config"
|
||||
BR2_LINUX_KERNEL_LZ4=y
|
||||
|
||||
@@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi4 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/9797f1a4938c20139b00a25de93cc99efb5c291b.tar.gz"
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/76c49e60e742d0bebd798be972d67dd3fd007691.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config"
|
||||
BR2_LINUX_KERNEL_LZ4=y
|
||||
|
||||
@@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/9797f1a4938c20139b00a25de93cc99efb5c291b.tar.gz"
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/76c49e60e742d0bebd798be972d67dd3fd007691.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config"
|
||||
BR2_LINUX_KERNEL_LZ4=y
|
||||
|
||||
@@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.86"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.99"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
VERSION_MAJOR=5
|
||||
VERSION_BUILD=10
|
||||
VERSION_BUILD=12
|
||||
|
||||
HASSOS_NAME="Home Assistant OS"
|
||||
HASSOS_ID="hassos"
|
||||
|
||||
@@ -14,5 +14,8 @@ backend=journal
|
||||
connection.mdns=2
|
||||
connection.llmnr=2
|
||||
|
||||
[connectivity]
|
||||
uri=https://version.home-assistant.io/online.txt
|
||||
|
||||
[device]
|
||||
wifi.scan-rand-mac-address=no
|
||||
|
||||
@@ -3,8 +3,6 @@ Description=HassOS boot partition
|
||||
DefaultDependencies=no
|
||||
Before=umount.target local-fs.target
|
||||
Conflicts=umount.target
|
||||
After=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2dboot.service
|
||||
Wants=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2dboot.service
|
||||
|
||||
[Mount]
|
||||
What=/dev/disk/by-label/hassos-boot
|
||||
|
||||
@@ -31,8 +31,7 @@ else
|
||||
|
||||
# For MBR, we have to calculate the last usable sector by ourselfs
|
||||
DEVICE_SIZE=$(blockdev --getsize64 "${DEVICE_ROOT}")
|
||||
SECTOR_SIZE=$(echo "${PART_TABLE}" | jq -r '.partitiontable.sectorsize')
|
||||
LAST_USABLE_LBA="$((DEVICE_SIZE / SECTOR_SIZE))"
|
||||
LAST_USABLE_LBA=$(echo "${PART_TABLE}" | jq -r "${DEVICE_SIZE} / .partitiontable.sectorsize")
|
||||
fi
|
||||
echo "[INFO] Last usable logical block ${LAST_USABLE_LBA}"
|
||||
|
||||
|
||||
@@ -69,9 +69,10 @@ if [ -z "${SUPERVISOR_CONTAINER_ID}" ]; then
|
||||
docker container create \
|
||||
--name hassio_supervisor \
|
||||
--privileged --security-opt apparmor="hassio-supervisor" \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v /var/run/dbus:/var/run/dbus \
|
||||
-v /run/docker.sock:/run/docker.sock:rw \
|
||||
-v /run/dbus:/run/dbus:ro \
|
||||
-v /run/supervisor:/run/os:rw \
|
||||
-v /run/udev:/run/udev:ro \
|
||||
-v /etc/machine-id:/etc/machine-id:ro \
|
||||
-v ${SUPERVISOR_DATA}:/data:rw \
|
||||
-v /mnt/overlay:/os/overlay:rw \
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
From dd83e231779b8daaeaa0a78d6686b80eeb49c12b Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1607000394.git.stefan@agner.ch>
|
||||
From 53aff7f049c974ab861db563c24d31c5512d1fbc Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Mon, 13 Jan 2020 12:27:06 +0000
|
||||
Subject: [PATCH 1/7] docker: add AppArmor support
|
||||
Subject: [PATCH 1/9] docker: add AppArmor support
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||
@@ -13,7 +13,7 @@ Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||
3 files changed, 15 insertions(+)
|
||||
|
||||
diff --git a/package/docker-containerd/docker-containerd.mk b/package/docker-containerd/docker-containerd.mk
|
||||
index d9a0eb28a6..c68e3818a8 100644
|
||||
index 6b79bd14ae..2eed6e346b 100644
|
||||
--- a/package/docker-containerd/docker-containerd.mk
|
||||
+++ b/package/docker-containerd/docker-containerd.mk
|
||||
@@ -18,6 +18,11 @@ DOCKER_CONTAINERD_BUILD_TARGETS = cmd/ctr cmd/containerd cmd/containerd-shim
|
||||
@@ -45,11 +45,11 @@ index 8cedf307ba..7f898680b7 100644
|
||||
DOCKER_ENGINE_TAGS += seccomp
|
||||
DOCKER_ENGINE_DEPENDENCIES += libseccomp
|
||||
diff --git a/package/runc/runc.mk b/package/runc/runc.mk
|
||||
index 3d177d23d5..c559244e83 100644
|
||||
index 393bd7b22f..45fe1442ad 100644
|
||||
--- a/package/runc/runc.mk
|
||||
+++ b/package/runc/runc.mk
|
||||
@@ -12,6 +12,11 @@ RUNC_LICENSE_FILES = LICENSE
|
||||
RUNC_LDFLAGS = -X main.gitCommit=$(RUNC_VERSION)
|
||||
RUNC_LDFLAGS = -X main.version=$(RUNC_VERSION)
|
||||
RUNC_TAGS = cgo static_build
|
||||
|
||||
+ifeq ($(BR2_PACKAGE_LIBAPPARMOR),y)
|
||||
@@ -61,5 +61,5 @@ index 3d177d23d5..c559244e83 100644
|
||||
RUNC_TAGS += seccomp
|
||||
RUNC_DEPENDENCIES += libseccomp host-pkgconf
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
From 7c7198d6075748a5f831c0068441695455d06e6f Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <7c7198d6075748a5f831c0068441695455d06e6f.1607000394.git.stefan@agner.ch>
|
||||
In-Reply-To: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1607000394.git.stefan@agner.ch>
|
||||
References: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1607000394.git.stefan@agner.ch>
|
||||
From b24a9853bf61b59c44f5b5e0c02a41e07b6d776f Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <b24a9853bf61b59c44f5b5e0c02a41e07b6d776f.1612369715.git.stefan@agner.ch>
|
||||
In-Reply-To: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
References: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Thu, 16 Apr 2020 11:51:46 +0000
|
||||
Subject: [PATCH 2/7] rpi-firmware: Bump firmware
|
||||
Subject: [PATCH 2/9] rpi-firmware: Bump firmware
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
---
|
||||
@@ -19,7 +19,7 @@ index 8730ec959b..49a600903c 100644
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally computed
|
||||
-sha256 c7a8c2b8cfe1977095d62086d340d6c15a383562aba2742e21df7f5f792aeb4b rpi-firmware-358f4c271f2bc10931aae8fe0879ffaded8b9c44.tar.gz
|
||||
+sha256 30e91cc1b502bb1a8aeddf49e7d9dd3fb4a8c2f3b9154a2fea9ecc9071f54bc7 rpi-firmware-2ba11f2a07760588546821aed578010252c9ecb3.tar.gz
|
||||
+sha256 e77016c80ec63ccd591f8aa4d46a5e27eddea1aaf3aedcd38098549588c32243 rpi-firmware-0d458874a89921fbe460e422b239695e1e101e2b.tar.gz
|
||||
sha256 c7283ff51f863d93a275c66e3b4cb08021a5dd4d8c1e7acc47d872fbe52d3d6b boot/LICENCE.broadcom
|
||||
diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
|
||||
index 8b2b2c7154..fe7a099407 100644
|
||||
@@ -30,10 +30,10 @@ index 8b2b2c7154..fe7a099407 100644
|
||||
################################################################################
|
||||
|
||||
-RPI_FIRMWARE_VERSION = 358f4c271f2bc10931aae8fe0879ffaded8b9c44
|
||||
+RPI_FIRMWARE_VERSION = 2ba11f2a07760588546821aed578010252c9ecb3
|
||||
+RPI_FIRMWARE_VERSION = 0d458874a89921fbe460e422b239695e1e101e2b
|
||||
RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION))
|
||||
RPI_FIRMWARE_LICENSE = BSD-3-Clause
|
||||
RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
From 506a2a77b2967f911f93a3941bfbdfe9f6acfa77 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <506a2a77b2967f911f93a3941bfbdfe9f6acfa77.1607000394.git.stefan@agner.ch>
|
||||
In-Reply-To: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1607000394.git.stefan@agner.ch>
|
||||
References: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1607000394.git.stefan@agner.ch>
|
||||
From 15db6339b4bdd202c44c663edcdc82b6d2f07652 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <15db6339b4bdd202c44c663edcdc82b6d2f07652.1612369715.git.stefan@agner.ch>
|
||||
In-Reply-To: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
References: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Thu, 16 Apr 2020 14:32:45 +0000
|
||||
Subject: [PATCH 3/7] network-manager: wpa_supplicant
|
||||
Subject: [PATCH 3/9] network-manager: wpa_supplicant
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
---
|
||||
@@ -42,5 +42,5 @@ index 3dc3188f32..2a04b00cee 100644
|
||||
NETWORK_MANAGER_LICENSE_FILES = COPYING COPYING.LGPL CONTRIBUTING
|
||||
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
From ad1b1c5ef75626ae0fc735473034ca1b571dc281 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <ad1b1c5ef75626ae0fc735473034ca1b571dc281.1607000394.git.stefan@agner.ch>
|
||||
In-Reply-To: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1607000394.git.stefan@agner.ch>
|
||||
References: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1607000394.git.stefan@agner.ch>
|
||||
From bd1542bc2e242b189b4a778cb879e3416c40b60a Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <bd1542bc2e242b189b4a778cb879e3416c40b60a.1612369715.git.stefan@agner.ch>
|
||||
In-Reply-To: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
References: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Thu, 16 Apr 2020 12:01:44 +0000
|
||||
Subject: [PATCH 4/7] Fix dhcp client
|
||||
Subject: [PATCH 4/9] Fix dhcp client
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
---
|
||||
@@ -26,5 +26,5 @@ index ad59804d3b..f1ffa81d9a 100644
|
||||
install-sbinPROGRAMS
|
||||
$(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
From 51babd578150f840311099d54abf8ea39b2127e6 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <51babd578150f840311099d54abf8ea39b2127e6.1607000394.git.stefan@agner.ch>
|
||||
In-Reply-To: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1607000394.git.stefan@agner.ch>
|
||||
References: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1607000394.git.stefan@agner.ch>
|
||||
From ff288c78226a2e61abf75bb285b429299e384edd Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <ff288c78226a2e61abf75bb285b429299e384edd.1612369715.git.stefan@agner.ch>
|
||||
In-Reply-To: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
References: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Thu, 16 Apr 2020 12:05:21 +0000
|
||||
Subject: [PATCH 5/7] rpi: use latest wifi driver
|
||||
Subject: [PATCH 5/9] rpi: use latest wifi driver
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
---
|
||||
@@ -44,5 +44,5 @@ index 6be02509fe..0c697bddbe 100644
|
||||
|
||||
$(eval $(generic-package))
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
From 3a34b131d0d7a1630e70f60c3bd62240d3b1b654 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <3a34b131d0d7a1630e70f60c3bd62240d3b1b654.1612369715.git.stefan@agner.ch>
|
||||
In-Reply-To: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
References: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
From: Stefan Agner <stefan@agner.ch>
|
||||
Date: Wed, 11 Nov 2020 22:16:10 +0100
|
||||
Subject: [PATCH 6/9] package/linux-firmware: add new option for Samsung MFC
|
||||
firmware
|
||||
|
||||
Multi format codec (MFC) is the IP present in Samsung Exynos
|
||||
series SoCs for video encoding/decoding operations.
|
||||
|
||||
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||
---
|
||||
package/linux-firmware/Config.in | 5 +++++
|
||||
package/linux-firmware/linux-firmware.mk | 6 ++++++
|
||||
2 files changed, 11 insertions(+)
|
||||
|
||||
diff --git a/package/linux-firmware/Config.in b/package/linux-firmware/Config.in
|
||||
index 105daf42b8..dbdfdb52b3 100644
|
||||
--- a/package/linux-firmware/Config.in
|
||||
+++ b/package/linux-firmware/Config.in
|
||||
@@ -44,6 +44,11 @@ config BR2_PACKAGE_LINUX_FIRMWARE_QCOM_ADRENO
|
||||
help
|
||||
Firmware files for Qualcomm Adreno GPU firmware
|
||||
|
||||
+config BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8
|
||||
+ bool "Samsung MFC video encoder/decoder v8 firmware"
|
||||
+ help
|
||||
+ Firmware files for Samsung MFC video encoder/decoder driver v8
|
||||
+
|
||||
endmenu # Video
|
||||
|
||||
menu "Bluetooth firmware"
|
||||
diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk
|
||||
index 8808b5284c..f1c84a134d 100644
|
||||
--- a/package/linux-firmware/linux-firmware.mk
|
||||
+++ b/package/linux-firmware/linux-firmware.mk
|
||||
@@ -39,6 +39,12 @@ LINUX_FIRMWARE_FILES += qcom/a*
|
||||
LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom qcom/NOTICE.txt
|
||||
endif
|
||||
|
||||
+ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8),y)
|
||||
+LINUX_FIRMWARE_FILES += s5p-mfc-v8.fw
|
||||
+# No license file; the license is in the file WHENCE
|
||||
+# which is installed unconditionally
|
||||
+endif
|
||||
+
|
||||
# Intel Wireless Bluetooth
|
||||
ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IBT),y)
|
||||
LINUX_FIRMWARE_FILES += intel/ibt-*
|
||||
--
|
||||
2.30.0
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
From 0feaec5aace7006f2a4afbb8d69541acac0842e4 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <0feaec5aace7006f2a4afbb8d69541acac0842e4.1607000394.git.stefan@agner.ch>
|
||||
In-Reply-To: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1607000394.git.stefan@agner.ch>
|
||||
References: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1607000394.git.stefan@agner.ch>
|
||||
From dc54a32cb53394e21bc5dd65c10a847944864a2b Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <dc54a32cb53394e21bc5dd65c10a847944864a2b.1612369715.git.stefan@agner.ch>
|
||||
In-Reply-To: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
References: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Thu, 7 May 2020 09:02:05 +0000
|
||||
Subject: [PATCH 7/7] docker-proxy: Bump version
|
||||
Subject: [PATCH 7/9] docker-proxy: Bump version
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
---
|
||||
@@ -37,5 +37,5 @@ index 6600b24ed9..d0e940db93 100644
|
||||
DOCKER_PROXY_LICENSE = Apache-2.0
|
||||
DOCKER_PROXY_LICENSE_FILES = LICENSE
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
From a19d20fdbeab82cfe0c972ef6b2a292b582011cb Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <a19d20fdbeab82cfe0c972ef6b2a292b582011cb.1608480376.git.stefan@agner.ch>
|
||||
In-Reply-To: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1608480376.git.stefan@agner.ch>
|
||||
References: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1608480376.git.stefan@agner.ch>
|
||||
From 6ca8035a4ffbb4e6de6fd128a1e6a638bb974f11 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <6ca8035a4ffbb4e6de6fd128a1e6a638bb974f11.1612369715.git.stefan@agner.ch>
|
||||
In-Reply-To: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
References: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
From: Stefan Agner <stefan@agner.ch>
|
||||
Date: Sun, 20 Dec 2020 16:57:09 +0100
|
||||
Subject: [PATCH 8/8] systemd: Bump to latest systemd-stable release 246.9
|
||||
Subject: [PATCH 8/9] systemd: Bump to latest systemd-stable release 246.10
|
||||
|
||||
---
|
||||
...o-not-fail-with-read-only-etc-or-var.patch | 34 -------------------
|
||||
@@ -54,18 +54,18 @@ index 01e7f1e906..0000000000
|
||||
-2.25.4
|
||||
-
|
||||
diff --git a/package/systemd/systemd.hash b/package/systemd/systemd.hash
|
||||
index cad249199c..2b41ee55f9 100644
|
||||
index cad249199c..0c2ba1e1c3 100644
|
||||
--- a/package/systemd/systemd.hash
|
||||
+++ b/package/systemd/systemd.hash
|
||||
@@ -1,5 +1,5 @@
|
||||
# sha256 locally computed
|
||||
-sha256 f45c5a98d3be7dd05ed7f1e1a0ab00c7ba52602aa2dc42615bf74be61fcbe178 systemd-246.5.tar.gz
|
||||
+sha256 944f264141ee12199124fe09e811173a3cec72f3db195844707260ee56ad9220 systemd-246.9.tar.gz
|
||||
+sha256 3a972d287edd864e0b33321bc74dfe6083d390306461fa7e958895eaa4be6b67 systemd-246.10.tar.gz
|
||||
sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2
|
||||
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1
|
||||
sha256 b142af99a3d950fb465326d6fd5a49d348523dc0d216682880527264d0a011e9 README
|
||||
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
|
||||
index cb12f667d6..1e4171a9e2 100644
|
||||
index ddd3f4380e..51a3160050 100644
|
||||
--- a/package/systemd/systemd.mk
|
||||
+++ b/package/systemd/systemd.mk
|
||||
@@ -4,7 +4,7 @@
|
||||
@@ -73,10 +73,10 @@ index cb12f667d6..1e4171a9e2 100644
|
||||
################################################################################
|
||||
|
||||
-SYSTEMD_VERSION = 246.5
|
||||
+SYSTEMD_VERSION = 246.9
|
||||
+SYSTEMD_VERSION = 246.10
|
||||
SYSTEMD_SITE = $(call github,systemd,systemd-stable,v$(SYSTEMD_VERSION))
|
||||
SYSTEMD_LICENSE = LGPL-2.1+, GPL-2.0+ (udev), Public Domain (few source files, see README), BSD-3-Clause (tools/chromiumos)
|
||||
SYSTEMD_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 README tools/chromiumos/LICENSE
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 2a63d2fb5dc2a51888737af1d3e868b4b8cf74c8 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <2a63d2fb5dc2a51888737af1d3e868b4b8cf74c8.1608718424.git.stefan@agner.ch>
|
||||
In-Reply-To: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1608718424.git.stefan@agner.ch>
|
||||
References: <dd83e231779b8daaeaa0a78d6686b80eeb49c12b.1608718424.git.stefan@agner.ch>
|
||||
From 5296f74bba93a16fe1db5493f36e35fad434f9ee Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <5296f74bba93a16fe1db5493f36e35fad434f9ee.1612369715.git.stefan@agner.ch>
|
||||
In-Reply-To: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
References: <53aff7f049c974ab861db563c24d31c5512d1fbc.1612369715.git.stefan@agner.ch>
|
||||
From: Stefan Agner <stefan@agner.ch>
|
||||
Date: Wed, 23 Dec 2020 10:53:20 +0100
|
||||
Subject: [PATCH 9/9] package/linux-firmware: add new option for USB TI
|
||||
@@ -49,5 +49,5 @@ index f1c84a134d..f00fb2e6ae 100644
|
||||
define LINUX_FIRMWARE_INSTALL_FILES
|
||||
cd $(@D) && \
|
||||
--
|
||||
2.29.2
|
||||
2.30.0
|
||||
|
||||
|
||||
@@ -1,3 +1,40 @@
|
||||
2020.11.2, released January 31st, 2021
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Download: Ensure git submodules are correctly fetched if
|
||||
enabled for a package with <pkg>_GIT_SUBMODULES = YES and the
|
||||
host variant is downloaded first.
|
||||
|
||||
Toolchain: Mark CodeSourcery Aarch64 2014.11 toolchain as not
|
||||
having libatomic. Bootlin PowerPC-440 FP toolchain updated for
|
||||
SecurePLT fix.
|
||||
|
||||
pkg-stats: Fix python 3.8+ deprecation warning.
|
||||
|
||||
meson: Ensure ccache is not detected and used, as it may
|
||||
conflict with the ccache handling in Buildroot.
|
||||
|
||||
Updated/fixed packages: barebox, boost, brltty, dbus,
|
||||
docker-containerd, dovecot, dovecot-pigeonhole,
|
||||
environment-setup, firmware-imx, gcc, gerbera, glibc,
|
||||
gmrender-resurrect, igd2-for-linux, kodi-pvr-zattoo, libclc,
|
||||
libfuse3, libllcp, libodb-mysql, libtorrent-rasterbar,
|
||||
libupnp, lpc32xxcdl, luarocks, mpd, multipath-tools, mutt,
|
||||
nfs-utils, nodejs, openjpeg, openldap, opentracing-cpp,
|
||||
openvpn, p11-kit, paho-mqtt-c, php, poppler, postgresql,
|
||||
python3, redis, resiprocate, rpm, runc, socat, sslh, sudo,
|
||||
sunxi-mali-mainline-driver, syslog-ng, systemd, tini,
|
||||
tpm2-tss, trace-cmd, tzdata, uboot-tools, uhd, ushare,
|
||||
util-linux, vlc, wavpack, wireguard-linux-compat, wolfssl,
|
||||
xapp_xload, xorriso, zic
|
||||
|
||||
Removed packages: libupnp18
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#13471: package/mpd/mpd.conf make use of path not created
|
||||
|
||||
2020.11.1, released December 27th, 2020
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
@@ -146,6 +146,16 @@ endif
|
||||
|
||||
comment "Legacy options removed in 2020.11"
|
||||
|
||||
config BR2_PACKAGE_LIBUPNP18
|
||||
bool "libupnp18 package removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_LIBUPNP
|
||||
help
|
||||
Version 1.8.x of libupnp (i.e. libupnp18) has been removed
|
||||
because it will never be fixed against CallStranger a.k.a.
|
||||
CVE-2020-12695. The libupnp package (which has been updated to
|
||||
version 1.14.x) has been selected instead.
|
||||
|
||||
config BR2_PACKAGE_OPENCV
|
||||
bool "opencv package was removed"
|
||||
select BR2_LEGACY
|
||||
|
||||
@@ -405,6 +405,7 @@ F: package/perl-netaddr-ip/
|
||||
F: package/perl-timedate/
|
||||
F: package/perl-uri/
|
||||
F: package/perl-www-robotrules/
|
||||
F: package/php/
|
||||
F: package/pixman/
|
||||
F: package/pngquant/
|
||||
F: package/pound/
|
||||
@@ -851,7 +852,6 @@ F: package/librsync/
|
||||
F: package/libsoup/
|
||||
F: package/libsoxr/
|
||||
F: package/libupnp/
|
||||
F: package/libupnp18/
|
||||
F: package/libv4l/
|
||||
F: package/libxslt/
|
||||
F: package/mbedtls/
|
||||
@@ -2254,6 +2254,7 @@ F: package/ogre/
|
||||
F: package/openpowerlink/
|
||||
F: package/physfs/
|
||||
F: package/piglit/
|
||||
F: package/qemu/
|
||||
F: package/solarus/
|
||||
F: package/stress-ng/
|
||||
F: package/supertux/
|
||||
@@ -2591,7 +2592,7 @@ F: toolchain/
|
||||
N: Timo Ketola <timo.ketola@exertus.fi>
|
||||
F: package/fbgrab/
|
||||
|
||||
N: Titouan Christophe <titouan.christophe@railnova.eu>
|
||||
N: Titouan Christophe <titouanchristophe@gmail.com>
|
||||
F: package/avro-c/
|
||||
F: package/mosquitto/
|
||||
F: package/python-avro/
|
||||
|
||||
@@ -92,9 +92,9 @@ all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2020.11.1
|
||||
export BR2_VERSION := 2020.11.2
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1609079000
|
||||
BR2_VERSION_EPOCH = 1612125000
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
|
||||
@@ -138,6 +138,11 @@ define $(1)_INSTALL_IMAGES_CMDS
|
||||
$$($(1)_INSTALL_CUSTOM_ENV)
|
||||
endef
|
||||
|
||||
# Starting with barebox v2020.09.0, the kconfig used calls the
|
||||
# cross-compiler to check its capabilities. So we need the
|
||||
# toolchain before we can call the configurators.
|
||||
$(1)_KCONFIG_DEPENDENCIES += toolchain
|
||||
|
||||
ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y)
|
||||
define $(1)_INSTALL_TARGET_CMDS
|
||||
cp $$(@D)/scripts/bareboxenv-target $$(TARGET_DIR)/usr/bin/bareboxenv
|
||||
|
||||
2
buildroot/boot/lpc32xxcdl/lpc32xxcdl.hash
Normal file
2
buildroot/boot/lpc32xxcdl/lpc32xxcdl.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 ded3fa936a96d3fb8188ca6214f57b5208bd49e5416bd69f38bfc810b34197bc lpc32xx_cdl-v2.11.zip
|
||||
@@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LPC32XXCDL_VERSION = lpc32xx_cdl_v2.11
|
||||
LPC32XXCDL_SITE = http://git.lpcware.com/lpc3xxx_cdl.git
|
||||
LPC32XXCDL_SITE_METHOD = git
|
||||
LPC32XXCDL_VERSION = 2.11
|
||||
LPC32XXCDL_SOURCE = lpc32xx_cdl-v$(LPC32XXCDL_VERSION).zip
|
||||
LPC32XXCDL_SITE = https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/lpcware-archive/61/2
|
||||
|
||||
LPC32XXCDL_INSTALL_TARGET = NO
|
||||
LPC32XXCDL_INSTALL_IMAGES = YES
|
||||
@@ -45,13 +45,14 @@ LPC32XXCDL_BOARD_STARTUP_DIR = \
|
||||
# Source files are with dos newlines, which our patch infrastructure doesn't
|
||||
# handle. Work around it by converting the affected files to unix newlines
|
||||
# before patching
|
||||
define LPC32XXCDL_DOS2UNIX_FOR_PATCH
|
||||
define LPC32XXCDL_EXTRACT_CMDS
|
||||
unzip $(LPC32XXCDL_DL_DIR)/$(LPC32XXCDL_SOURCE) -d $(@D)
|
||||
mv $(@D)/lpc3xxx_cdl/* $(@D)
|
||||
rmdir $(@D)/lpc3xxx_cdl/
|
||||
sed -n 's|^[+-]\{3\} [^/]\+\([^ \t]*\)\(.*\)|$(@D)\1|p' \
|
||||
boot/lpc32xxcdl/*.patch| sort -u | xargs $(SED) 's/\x0D$$//'
|
||||
endef
|
||||
|
||||
LPC32XXCDL_POST_EXTRACT_HOOKS += LPC32XXCDL_DOS2UNIX_FOR_PATCH
|
||||
|
||||
define LPC32XXCDL_BUILD_CMDS
|
||||
$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)
|
||||
$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER)
|
||||
|
||||
@@ -126,14 +126,19 @@ typical packages will therefore only use a few of them.
|
||||
in the build step. These are passed after the +make+ command. By
|
||||
default, empty.
|
||||
|
||||
* +LIBFOO_INSTALL_OPTS+ contains the make options used to
|
||||
install the package to the host directory. By default, the value
|
||||
is +install+, which is correct for most CMake packages. It is still
|
||||
possible to override it.
|
||||
|
||||
* +LIBFOO_INSTALL_STAGING_OPTS+ contains the make options used to
|
||||
install the package to the staging directory. By default, the value
|
||||
is +DESTDIR=$(STAGING_DIR) install+, which is correct for most
|
||||
is +DESTDIR=$(STAGING_DIR) install/fast+, which is correct for most
|
||||
CMake packages. It is still possible to override it.
|
||||
|
||||
* +LIBFOO_INSTALL_TARGET_OPTS+ contains the make options used to
|
||||
install the package to the target directory. By default, the value
|
||||
is +DESTDIR=$(TARGET_DIR) install+. The default value is correct
|
||||
is +DESTDIR=$(TARGET_DIR) install/fast+. The default value is correct
|
||||
for most CMake packages, but it is still possible to override it if
|
||||
needed.
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -174,13 +174,13 @@ List of Examples
|
||||
|
||||
---------------------------------------------------------------------
|
||||
|
||||
Buildroot 2020.11.1 manual generated on 2020-12-27 14:25:17 UTC from
|
||||
git revision 804a9e1865
|
||||
Buildroot 2020.11.2 manual generated on 2021-01-31 20:36:55 UTC from
|
||||
git revision 551cb63007
|
||||
|
||||
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=
|
||||
804a9e18656c1584b059129e0b5cebe2a2405fac] file in the Buildroot
|
||||
551cb630079316efe928d7c2eb0358a19e38fc48] file in the Buildroot
|
||||
sources for the full text of this license.
|
||||
|
||||
Copyright © 2004-2020 The Buildroot developers
|
||||
@@ -1710,7 +1710,7 @@ you to just prepare the SDK with make prepare-sdk without actually
|
||||
generating a tarball.
|
||||
|
||||
For your convenience, by selecting the option
|
||||
BR2_PACKAGE_HOST_ENVIRONMENT_SETUP, you can get a setup-environment
|
||||
BR2_PACKAGE_HOST_ENVIRONMENT_SETUP, you can get a environment-setup
|
||||
script installed in output/host/ and therefore in your SDK. This
|
||||
script can be sourced with . your/sdk/path/environment-setup to
|
||||
export a number of environment variables that will help cross-compile
|
||||
@@ -5225,13 +5225,17 @@ typical packages will therefore only use a few of them.
|
||||
* LIBFOO_MAKE_OPTS, to specify additional variables to pass to make
|
||||
in the build step. These are passed after the make command. By
|
||||
default, empty.
|
||||
* LIBFOO_INSTALL_OPTS contains the make options used to install the
|
||||
package to the host directory. By default, the value is install,
|
||||
which is correct for most CMake packages. It is still possible to
|
||||
override it.
|
||||
* LIBFOO_INSTALL_STAGING_OPTS contains the make options used to
|
||||
install the package to the staging directory. By default, the
|
||||
value is DESTDIR=$(STAGING_DIR) install, which is correct for
|
||||
most CMake packages. It is still possible to override it.
|
||||
value is DESTDIR=$(STAGING_DIR) install/fast, which is correct
|
||||
for most CMake packages. It is still possible to override it.
|
||||
* LIBFOO_INSTALL_TARGET_OPTS contains the make options used to
|
||||
install the package to the target directory. By default, the
|
||||
value is DESTDIR=$(TARGET_DIR) install. The default value is
|
||||
value is DESTDIR=$(TARGET_DIR) install/fast. The default value is
|
||||
correct for most CMake packages, but it is still possible to
|
||||
override it if needed.
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ generating a tarball.
|
||||
|
||||
For your convenience, by selecting the option
|
||||
+BR2_PACKAGE_HOST_ENVIRONMENT_SETUP+, you can get a
|
||||
+setup-environment+ script installed in +output/host/+ and therefore
|
||||
+environment-setup+ script installed in +output/host/+ and therefore
|
||||
in your SDK. This script can be sourced with
|
||||
+. your/sdk/path/environment-setup+ to export a number of environment
|
||||
variables that will help cross-compile your projects using the
|
||||
|
||||
@@ -125,7 +125,7 @@ endif
|
||||
|
||||
config BR2_LINUX_KERNEL_VERSION
|
||||
string
|
||||
default "5.9.14" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "5.9.16" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "4.19.152-cip37" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
|
||||
default "4.19.152-cip37-rt16" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
|
||||
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
|
||||
sha256 39fcfb41dcdf71b6b42b88eff3d8cedbe7523830ccae847f3914c0b97e1e6b49 linux-5.9.14.tar.xz
|
||||
sha256 b0d7abae88e5f91893627c645e680a95c818defd1b4fcaf3e2afb4b2b6b4ab86 linux-5.9.16.tar.xz
|
||||
sha256 4ab4a3f694b7b4cfbe78871eab34c8039ad33692144c45c669827a594da85534 linux-5.8.18.tar.xz
|
||||
sha256 beec970bbb93de8ab839f27930f7ab00c7bd65af0ffa07a50e765affdc2561c6 linux-5.4.83.tar.xz
|
||||
sha256 d37449403664cc3b1bac96d0d9a199dbe619885cd899c0ae3108843f42e3d522 linux-5.4.93.tar.xz
|
||||
# From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
|
||||
sha256 e52a49ceb639d871478a143c314648c35e22222c317ecdf49866830fea5c3dfc linux-4.4.248.tar.xz
|
||||
sha256 4687268061c9933c298b30d28e4bf1a30dfbab7c0da4bee194968e4f81ffeccf linux-4.9.248.tar.xz
|
||||
sha256 0e1bc32c4842c3bbee3a15454408f528acd4d3c5e83312b93008d5ee2e9a0c79 linux-4.14.212.tar.xz
|
||||
sha256 3eeec4e5eb8a129be3536357ecb028fae7d82fac933dcfac0b6089ee398fc5fc linux-4.19.163.tar.xz
|
||||
sha256 661e98b9448cbac948c705fd44cd7d30200422ee1cb02950d142aa99a1b3985a linux-4.4.253.tar.xz
|
||||
sha256 9a5b51a8350201bd38e3ff13909323a6571b4572a7b3caed76e462b07619bc18 linux-4.9.253.tar.xz
|
||||
sha256 62a36a25431016d98d0f1cff98be432086c51f86fd79042bd10a867b3a924d11 linux-4.14.217.tar.xz
|
||||
sha256 f4e352fe0eb986e5b532b99d9b0725a67046cbb3e5f53fcd5b098cbaeb2ac60a linux-4.19.171.tar.xz
|
||||
# Locally computed
|
||||
sha256 d2a06f52143deb929b8d513cf9afc9bd065951389a80fa70bc4d63025b5b3fb9 linux-cip-4.19.152-cip37.tar.gz
|
||||
sha256 bc1dacd3d0f526de3e8754a444e8e02a54521527af639ddb907cb35cda775a8c linux-cip-4.19.152-cip37-rt16.tar.gz
|
||||
|
||||
@@ -1764,7 +1764,6 @@ menu "Networking"
|
||||
source "package/libuev/Config.in"
|
||||
source "package/libuhttpd/Config.in"
|
||||
source "package/libupnp/Config.in"
|
||||
source "package/libupnp18/Config.in"
|
||||
source "package/libupnpp/Config.in"
|
||||
source "package/liburiparser/Config.in"
|
||||
source "package/libuwsc/Config.in"
|
||||
|
||||
@@ -5,6 +5,7 @@ config BR2_PACKAGE_AZMQ
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # boost-log
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
|
||||
depends on BR2_USE_WCHAR # boost
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
|
||||
select BR2_PACKAGE_ZEROMQ
|
||||
select BR2_PACKAGE_BOOST
|
||||
@@ -21,6 +22,7 @@ config BR2_PACKAGE_AZMQ
|
||||
https://github.com/zeromq/azmq
|
||||
|
||||
comment "azmq needs a toolchain w/ C++11, wchar and NPTL"
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
|
||||
depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \
|
||||
&& BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS_NPTL)
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ config BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
|
||||
config BR2_PACKAGE_BITCOIN
|
||||
bool "bitcoin"
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
|
||||
depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # boost
|
||||
@@ -37,6 +38,7 @@ config BR2_PACKAGE_BITCOIN
|
||||
|
||||
comment "bitcoin needs a toolchain w/ C++, threads, wchar"
|
||||
depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || \
|
||||
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@ config BR2_PACKAGE_BOOST_LAYOUT
|
||||
|
||||
config BR2_PACKAGE_BOOST_ATOMIC
|
||||
bool "boost-atomic"
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
|
||||
help
|
||||
C++11-style atomic<>.
|
||||
|
||||
@@ -82,6 +83,8 @@ config BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
|
||||
config BR2_PACKAGE_BOOST_CONTEXT
|
||||
bool "boost-context"
|
||||
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
|
||||
|| BR2_TOOLCHAIN_GCC_AT_LEAST_6 # boost-thread
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
|
||||
select BR2_PACKAGE_BOOST_THREAD if !BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
||||
help
|
||||
@@ -101,6 +104,7 @@ comment "boost-contract needs a toolchain w/ NPTL"
|
||||
config BR2_PACKAGE_BOOST_COROUTINE
|
||||
bool "boost-coroutine"
|
||||
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context, boost-thread
|
||||
select BR2_PACKAGE_BOOST_CHRONO
|
||||
select BR2_PACKAGE_BOOST_CONTEXT
|
||||
@@ -113,6 +117,7 @@ config BR2_PACKAGE_BOOST_COROUTINE
|
||||
|
||||
comment "boost-coroutine needs a toolchain not affected by GCC bug 64735"
|
||||
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
|
||||
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
|
||||
|
||||
config BR2_PACKAGE_BOOST_DATE_TIME
|
||||
@@ -135,6 +140,8 @@ config BR2_PACKAGE_BOOST_FIBER
|
||||
# mips support uses the "pause" instruction, only available
|
||||
# since mips32r2/mips64r2.
|
||||
depends on !BR2_MIPS_CPU_MIPS32 && !BR2_MIPS_CPU_MIPS64
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
|
||||
|| BR2_TOOLCHAIN_GCC_AT_LEAST_6 # boost-context -> boost-thread
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context
|
||||
select BR2_PACKAGE_BOOST_CONTEXT
|
||||
select BR2_PACKAGE_BOOST_FILESYSTEM
|
||||
@@ -144,10 +151,14 @@ config BR2_PACKAGE_BOOST_FIBER
|
||||
|
||||
comment "boost-fiber needs a toolchain w/ NPTL"
|
||||
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
|
||||
|| BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
|
||||
comment "boost-fiber needs a toolchain not affected by GCC bug 64735"
|
||||
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
|
||||
|| BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
||||
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
|
||||
|
||||
config BR2_PACKAGE_BOOST_FILESYSTEM
|
||||
@@ -190,6 +201,8 @@ config BR2_PACKAGE_BOOST_LOCALE
|
||||
# details.
|
||||
depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU)
|
||||
depends on !(BR2_TOOLCHAIN_HAS_GCC_BUG_64735 && BR2_PACKAGE_ICU) # boost-thread
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
|
||||
|| !BR2_PACKAGE_ICU # boost-thread
|
||||
select BR2_PACKAGE_BOOST_SYSTEM
|
||||
select BR2_PACKAGE_BOOST_THREAD if BR2_PACKAGE_ICU
|
||||
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
|
||||
@@ -197,16 +210,19 @@ config BR2_PACKAGE_BOOST_LOCALE
|
||||
Provide localization and Unicode handling tools for C++.
|
||||
|
||||
comment "boost-locale needs a toolchain w/ dynamic library"
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
|
||||
depends on BR2_PACKAGE_ICU
|
||||
depends on BR2_STATIC_LIBS
|
||||
|
||||
comment "boost-locale needs a toolchain not affected by GCC bug 64735"
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
|
||||
depends on BR2_PACKAGE_ICU
|
||||
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
|
||||
|
||||
config BR2_PACKAGE_BOOST_LOG
|
||||
bool "boost-log"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
|
||||
select BR2_PACKAGE_BOOST_ATOMIC
|
||||
select BR2_PACKAGE_BOOST_DATE_TIME
|
||||
@@ -218,6 +234,7 @@ config BR2_PACKAGE_BOOST_LOG
|
||||
Logging library.
|
||||
|
||||
comment "boost-log needs a toolchain w/ NPTL"
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
|
||||
comment "boost-log needs a toolchain not affected by GCC bug 64735"
|
||||
@@ -313,8 +330,8 @@ config BR2_PACKAGE_BOOST_TEST
|
||||
|
||||
config BR2_PACKAGE_BOOST_THREAD
|
||||
bool "boost-thread"
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception
|
||||
select BR2_PACKAGE_BOOST_ATOMIC if !BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
|
||||
select BR2_PACKAGE_BOOST_CHRONO
|
||||
select BR2_PACKAGE_BOOST_SYSTEM
|
||||
help
|
||||
@@ -332,6 +349,7 @@ config BR2_PACKAGE_BOOST_TIMER
|
||||
|
||||
config BR2_PACKAGE_BOOST_TYPE_ERASURE
|
||||
bool "boost-type_erasure"
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
|
||||
select BR2_PACKAGE_BOOST_SYSTEM
|
||||
select BR2_PACKAGE_BOOST_THREAD
|
||||
@@ -346,6 +364,7 @@ config BR2_PACKAGE_BOOST_WAVE
|
||||
# limitation of assembler for coldfire
|
||||
# error: Tried to convert PC relative branch to absolute jump
|
||||
depends on !BR2_m68k_cf
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
|
||||
select BR2_PACKAGE_BOOST_DATE_TIME
|
||||
select BR2_PACKAGE_BOOST_FILESYSTEM
|
||||
|
||||
@@ -96,6 +96,13 @@ else
|
||||
BRLTTY_CONF_OPTS += --without-rgx-package
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_POLKIT),y)
|
||||
BRLTTY_DEPENDENCIES += polkit
|
||||
BRLTTY_CONF_OPTS += --enable-polkit
|
||||
else
|
||||
BRLTTY_CONF_OPTS += --disable-polkit
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
|
||||
BRLTTY_DEPENDENCIES += systemd
|
||||
BRLTTY_CONF_OPTS += --with-service-package
|
||||
|
||||
@@ -7,7 +7,7 @@ config BR2_PACKAGE_DBUS
|
||||
help
|
||||
The D-Bus message bus system.
|
||||
|
||||
http://www.freedesktop.org/wiki/Software/dbus
|
||||
https://www.freedesktop.org/wiki/Software/dbus
|
||||
|
||||
comment "dbus needs a toolchain w/ threads"
|
||||
depends on BR2_USE_MMU
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.18.tar.gz.asc
|
||||
# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.20.tar.gz.asc
|
||||
# using key 36EC5A6448A4F5EF79BEFE98E05AE1478F814C4F
|
||||
sha256 64cf4d70840230e5e9bc784d153880775ab3db19d656ead8a0cb9c0ab5a95306 dbus-1.12.18.tar.gz
|
||||
sha256 f77620140ecb4cdc67f37fb444f8a6bea70b5b6461f12f1cbe2cec60fa7de5fe dbus-1.12.20.tar.gz
|
||||
|
||||
# Locally calculated
|
||||
sha256 0e46f54efb12d04ab5c33713bacd0e140c9a35b57ae29e03c853203266e8f3a1 COPYING
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DBUS_VERSION = 1.12.18
|
||||
DBUS_VERSION = 1.12.20
|
||||
DBUS_SITE = https://dbus.freedesktop.org/releases/dbus
|
||||
DBUS_LICENSE = AFL-2.1 or GPL-2.0+ (library, tools), GPL-2.0+ (tools)
|
||||
DBUS_LICENSE_FILES = COPYING
|
||||
|
||||
@@ -12,7 +12,7 @@ DOCKER_CONTAINERD_LICENSE_FILES = LICENSE
|
||||
DOCKER_CONTAINERD_GOMOD = github.com/containerd/containerd
|
||||
|
||||
DOCKER_CONTAINERD_LDFLAGS = \
|
||||
-X github.com/docker/containerd.GitCommit=$(DOCKER_CONTAINERD_VERSION)
|
||||
-X $(DOCKER_CONTAINERD_GOMOD)/version.Version=$(DOCKER_CONTAINERD_VERSION)
|
||||
|
||||
DOCKER_CONTAINERD_BUILD_TARGETS = cmd/ctr cmd/containerd cmd/containerd-shim
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ config BR2_PACKAGE_DOMOTICZ
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_USE_WCHAR
|
||||
depends on BR2_PACKAGE_LUA_5_3
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
|
||||
select BR2_PACKAGE_BOOST
|
||||
select BR2_PACKAGE_BOOST_DATE_TIME
|
||||
@@ -30,6 +31,7 @@ config BR2_PACKAGE_DOMOTICZ
|
||||
|
||||
comment "domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 4.8, NPTL, wchar, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || \
|
||||
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \
|
||||
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally computed after checking signature
|
||||
sha256 0b972a441f680545ddfacd2f41fb2a705fb03249d46ed5ce7e01fe68b6cfb5f0 dovecot-2.3-pigeonhole-0.5.11.tar.gz
|
||||
sha256 911fe566da5b638eab1b11105314300bc9049cc3832d4bd2aed44c265013bf17 dovecot-2.3-pigeonhole-0.5.13.tar.gz
|
||||
sha256 fc9e9522216f2a9a28b31300e3c73c1df56acc27dfae951bf516e7995366b51a COPYING
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DOVECOT_PIGEONHOLE_VERSION = 0.5.11
|
||||
DOVECOT_PIGEONHOLE_VERSION = 0.5.13
|
||||
DOVECOT_PIGEONHOLE_SOURCE = dovecot-2.3-pigeonhole-$(DOVECOT_PIGEONHOLE_VERSION).tar.gz
|
||||
DOVECOT_PIGEONHOLE_SITE = https://pigeonhole.dovecot.org/releases/2.3
|
||||
DOVECOT_PIGEONHOLE_LICENSE = LGPL-2.1
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Locally computed after checking signature
|
||||
sha256 d3d9ea9010277f57eb5b9f4166a5d2ba539b172bd6d5a2b2529a6db524baafdc dovecot-2.3.11.3.tar.gz
|
||||
sha256 a363b132e494f662d98c820d1481297e6ae72f194c2c91b6c39e1518b86240a8 COPYING
|
||||
sha256 a3f875b80ec11a452480690108660030978c94fa8e796ad6d943a874b496f1c4 dovecot-2.3.13.tar.gz
|
||||
sha256 319a9830aab406109cd67cb45496587566a8123203d66d037b209ca3e13de02a COPYING
|
||||
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL
|
||||
sha256 52b8c95fabb19575281874b661ef7968ea47e8f5d74ba0dd40ce512e52b3fc97 COPYING.MIT
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
DOVECOT_VERSION_MAJOR = 2.3
|
||||
DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).11.3
|
||||
DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).13
|
||||
DOVECOT_SITE = https://dovecot.org/releases/$(DOVECOT_VERSION_MAJOR)
|
||||
DOVECOT_INSTALL_STAGING = YES
|
||||
DOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015
|
||||
|
||||
@@ -18,6 +18,8 @@ config BR2_PACKAGE_FIRMWARE_IMX_SDMA_FW_NAME
|
||||
default "imx51" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51
|
||||
default "imx53" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53
|
||||
default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
|
||||
default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
|
||||
default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
|
||||
default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
|
||||
default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
|
||||
default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
|
||||
|
||||
@@ -116,9 +116,11 @@ endif
|
||||
FIRMWARE_IMX_VPU_FW_NAME = $(call qstrip,$(BR2_PACKAGE_FIRMWARE_IMX_VPU_FW_NAME))
|
||||
ifneq ($(FIRMWARE_IMX_VPU_FW_NAME),)
|
||||
define FIRMWARE_IMX_INSTALL_TARGET_VPU_FW
|
||||
mkdir -p $(TARGET_DIR)/lib/firmware/imx/vpu
|
||||
cp $(@D)/firmware/vpu/vpu_fw_$(FIRMWARE_IMX_VPU_FW_NAME)*.bin \
|
||||
$(TARGET_DIR)/lib/firmware/imx/vpu/
|
||||
mkdir -p $(TARGET_DIR)/lib/firmware/vpu
|
||||
for i in $$(find $(@D)/firmware/vpu/vpu_fw_$(FIRMWARE_IMX_VPU_FW_NAME)*.bin); do \
|
||||
cp $$i $(TARGET_DIR)/lib/firmware/vpu/ ; \
|
||||
ln -sf vpu/$$(basename $$i) $(TARGET_DIR)/lib/firmware/$$(basename $$i) ; \
|
||||
done
|
||||
endef
|
||||
endif
|
||||
|
||||
|
||||
@@ -0,0 +1,242 @@
|
||||
From 09944fba5bfb8e5543ce043c70d08222cf2f97ff 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>
|
||||
Signed-off-by: Veronika Kremneva <kremneva@synopsys.com>
|
||||
---
|
||||
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 fcb83c4e23e..2daf83dd009 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 d4d9f59a3ea..6c09c86884f 100644
|
||||
--- a/gcc/config/arc/arc.md
|
||||
+++ b/gcc/config/arc/arc.md
|
||||
@@ -2857,43 +2857,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
|
||||
@@ -3025,7 +3007,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;
|
||||
")
|
||||
|
||||
@@ -3040,44 +3022,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)
|
||||
--
|
||||
2.16.2
|
||||
|
||||
@@ -0,0 +1,325 @@
|
||||
From 472472ee0aaccb6389747d6281c34c558bcca7d8 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Wed, 20 Jan 2021 23:26:29 +0100
|
||||
Subject: [PATCH] Revert "re PR target/92095 (internal error with -O1
|
||||
-mcpu=niagara2 -fPIE)"
|
||||
|
||||
This reverts commit 0a83f1a441d7aaadecb368c237b6ee70bd7b91d6.
|
||||
|
||||
Building the Buildroot defconfig qemu_sparc_ss10_defconfig using
|
||||
gcc 8.4, 9.3 and 10 produce a broken rootfs that trigger illegal
|
||||
instruction messages.
|
||||
|
||||
gcc 8.3, 9.2 are the latest working gcc version.
|
||||
git bisect between gcc 8.4 and 8.4 allowed to identify
|
||||
the commit that introcuce the regression.
|
||||
|
||||
Reverting this patch allowed to produce a working rootfs.
|
||||
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
Cc: Eric Botcazou <ebotcazou@gcc.gnu.org>
|
||||
---
|
||||
gcc/config/sparc/sparc-protos.h | 1 -
|
||||
gcc/config/sparc/sparc.c | 121 +++++++-----------
|
||||
gcc/config/sparc/sparc.md | 5 +-
|
||||
.../gcc.c-torture/compile/20191108-1.c | 14 --
|
||||
gcc/testsuite/gcc.target/sparc/overflow-3.c | 2 +-
|
||||
gcc/testsuite/gcc.target/sparc/overflow-4.c | 2 +-
|
||||
gcc/testsuite/gcc.target/sparc/overflow-5.c | 2 +-
|
||||
7 files changed, 53 insertions(+), 94 deletions(-)
|
||||
delete mode 100644 gcc/testsuite/gcc.c-torture/compile/20191108-1.c
|
||||
|
||||
diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h
|
||||
index f525cd7a422..0d9f47af644 100644
|
||||
--- a/gcc/config/sparc/sparc-protos.h
|
||||
+++ b/gcc/config/sparc/sparc-protos.h
|
||||
@@ -69,7 +69,6 @@ extern void sparc_split_reg_mem (rtx, rtx, machine_mode);
|
||||
extern void sparc_split_mem_reg (rtx, rtx, machine_mode);
|
||||
extern int sparc_split_reg_reg_legitimate (rtx, rtx);
|
||||
extern void sparc_split_reg_reg (rtx, rtx, machine_mode);
|
||||
-extern const char *output_load_pcrel_sym (rtx *);
|
||||
extern const char *output_ubranch (rtx, rtx_insn *);
|
||||
extern const char *output_cbranch (rtx, rtx, int, int, int, rtx_insn *);
|
||||
extern const char *output_return (rtx_insn *);
|
||||
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
|
||||
index aefced85fe1..3ff6f9200f6 100644
|
||||
--- a/gcc/config/sparc/sparc.c
|
||||
+++ b/gcc/config/sparc/sparc.c
|
||||
@@ -4192,6 +4192,13 @@ eligible_for_sibcall_delay (rtx_insn *trial)
|
||||
static bool
|
||||
sparc_cannot_force_const_mem (machine_mode mode, rtx x)
|
||||
{
|
||||
+ /* After IRA has run in PIC mode, it is too late to put anything into the
|
||||
+ constant pool if the PIC register hasn't already been initialized. */
|
||||
+ if ((lra_in_progress || reload_in_progress)
|
||||
+ && flag_pic
|
||||
+ && !crtl->uses_pic_offset_table)
|
||||
+ return true;
|
||||
+
|
||||
switch (GET_CODE (x))
|
||||
{
|
||||
case CONST_INT:
|
||||
@@ -4227,11 +4234,9 @@ sparc_cannot_force_const_mem (machine_mode mode, rtx x)
|
||||
}
|
||||
|
||||
/* Global Offset Table support. */
|
||||
-static GTY(()) rtx got_symbol_rtx = NULL_RTX;
|
||||
-static GTY(()) rtx got_register_rtx = NULL_RTX;
|
||||
static GTY(()) rtx got_helper_rtx = NULL_RTX;
|
||||
-
|
||||
-static GTY(()) bool got_helper_needed = false;
|
||||
+static GTY(()) rtx got_register_rtx = NULL_RTX;
|
||||
+static GTY(()) rtx got_symbol_rtx = NULL_RTX;
|
||||
|
||||
/* Return the SYMBOL_REF for the Global Offset Table. */
|
||||
|
||||
@@ -4244,6 +4249,27 @@ sparc_got (void)
|
||||
return got_symbol_rtx;
|
||||
}
|
||||
|
||||
+#ifdef HAVE_GAS_HIDDEN
|
||||
+# define USE_HIDDEN_LINKONCE 1
|
||||
+#else
|
||||
+# define USE_HIDDEN_LINKONCE 0
|
||||
+#endif
|
||||
+
|
||||
+static void
|
||||
+get_pc_thunk_name (char name[32], unsigned int regno)
|
||||
+{
|
||||
+ const char *reg_name = reg_names[regno];
|
||||
+
|
||||
+ /* Skip the leading '%' as that cannot be used in a
|
||||
+ symbol name. */
|
||||
+ reg_name += 1;
|
||||
+
|
||||
+ if (USE_HIDDEN_LINKONCE)
|
||||
+ sprintf (name, "__sparc_get_pc_thunk.%s", reg_name);
|
||||
+ else
|
||||
+ ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", regno);
|
||||
+}
|
||||
+
|
||||
/* Wrapper around the load_pcrel_sym{si,di} patterns. */
|
||||
|
||||
static rtx
|
||||
@@ -4263,78 +4289,30 @@ gen_load_pcrel_sym (rtx op0, rtx op1, rtx op2)
|
||||
return insn;
|
||||
}
|
||||
|
||||
-/* Output the load_pcrel_sym{si,di} patterns. */
|
||||
-
|
||||
-const char *
|
||||
-output_load_pcrel_sym (rtx *operands)
|
||||
-{
|
||||
- if (flag_delayed_branch)
|
||||
- {
|
||||
- output_asm_insn ("sethi\t%%hi(%a1-4), %0", operands);
|
||||
- output_asm_insn ("call\t%a2", operands);
|
||||
- output_asm_insn (" add\t%0, %%lo(%a1+4), %0", operands);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- output_asm_insn ("sethi\t%%hi(%a1-8), %0", operands);
|
||||
- output_asm_insn ("add\t%0, %%lo(%a1-4), %0", operands);
|
||||
- output_asm_insn ("call\t%a2", operands);
|
||||
- output_asm_insn (" nop", NULL);
|
||||
- }
|
||||
-
|
||||
- if (operands[2] == got_helper_rtx)
|
||||
- got_helper_needed = true;
|
||||
-
|
||||
- return "";
|
||||
-}
|
||||
-
|
||||
-#ifdef HAVE_GAS_HIDDEN
|
||||
-# define USE_HIDDEN_LINKONCE 1
|
||||
-#else
|
||||
-# define USE_HIDDEN_LINKONCE 0
|
||||
-#endif
|
||||
-
|
||||
/* Emit code to load the GOT register. */
|
||||
|
||||
void
|
||||
load_got_register (void)
|
||||
{
|
||||
- rtx insn;
|
||||
+ if (!got_register_rtx)
|
||||
+ got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM);
|
||||
|
||||
if (TARGET_VXWORKS_RTP)
|
||||
- {
|
||||
- if (!got_register_rtx)
|
||||
- got_register_rtx = pic_offset_table_rtx;
|
||||
-
|
||||
- insn = gen_vxworks_load_got ();
|
||||
- }
|
||||
+ emit_insn (gen_vxworks_load_got ());
|
||||
else
|
||||
{
|
||||
- if (!got_register_rtx)
|
||||
- got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM);
|
||||
-
|
||||
/* The GOT symbol is subject to a PC-relative relocation so we need a
|
||||
helper function to add the PC value and thus get the final value. */
|
||||
if (!got_helper_rtx)
|
||||
{
|
||||
char name[32];
|
||||
-
|
||||
- /* Skip the leading '%' as that cannot be used in a symbol name. */
|
||||
- if (USE_HIDDEN_LINKONCE)
|
||||
- sprintf (name, "__sparc_get_pc_thunk.%s",
|
||||
- reg_names[REGNO (got_register_rtx)] + 1);
|
||||
- else
|
||||
- ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC",
|
||||
- REGNO (got_register_rtx));
|
||||
-
|
||||
+ get_pc_thunk_name (name, GLOBAL_OFFSET_TABLE_REGNUM);
|
||||
got_helper_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name));
|
||||
}
|
||||
|
||||
- insn
|
||||
- = gen_load_pcrel_sym (got_register_rtx, sparc_got (), got_helper_rtx);
|
||||
+ emit_insn (gen_load_pcrel_sym (got_register_rtx, sparc_got (),
|
||||
+ got_helper_rtx));
|
||||
}
|
||||
-
|
||||
- emit_insn (insn);
|
||||
}
|
||||
|
||||
/* Ensure that we are not using patterns that are not OK with PIC. */
|
||||
@@ -5499,7 +5477,7 @@ save_local_or_in_reg_p (unsigned int regno, int leaf_function)
|
||||
return true;
|
||||
|
||||
/* GOT register (%l7) if needed. */
|
||||
- if (got_register_rtx && regno == REGNO (got_register_rtx))
|
||||
+ if (regno == GLOBAL_OFFSET_TABLE_REGNUM && got_register_rtx)
|
||||
return true;
|
||||
|
||||
/* If the function accesses prior frames, the frame pointer and the return
|
||||
@@ -12542,9 +12520,10 @@ static void
|
||||
sparc_file_end (void)
|
||||
{
|
||||
/* If we need to emit the special GOT helper function, do so now. */
|
||||
- if (got_helper_needed)
|
||||
+ if (got_helper_rtx)
|
||||
{
|
||||
const char *name = XSTR (got_helper_rtx, 0);
|
||||
+ const char *reg_name = reg_names[GLOBAL_OFFSET_TABLE_REGNUM];
|
||||
#ifdef DWARF2_UNWIND_INFO
|
||||
bool do_cfi;
|
||||
#endif
|
||||
@@ -12581,22 +12560,17 @@ sparc_file_end (void)
|
||||
#ifdef DWARF2_UNWIND_INFO
|
||||
do_cfi = dwarf2out_do_cfi_asm ();
|
||||
if (do_cfi)
|
||||
- output_asm_insn (".cfi_startproc", NULL);
|
||||
+ fprintf (asm_out_file, "\t.cfi_startproc\n");
|
||||
#endif
|
||||
if (flag_delayed_branch)
|
||||
- {
|
||||
- output_asm_insn ("jmp\t%%o7+8", NULL);
|
||||
- output_asm_insn (" add\t%%o7, %0, %0", &got_register_rtx);
|
||||
- }
|
||||
+ fprintf (asm_out_file, "\tjmp\t%%o7+8\n\t add\t%%o7, %s, %s\n",
|
||||
+ reg_name, reg_name);
|
||||
else
|
||||
- {
|
||||
- output_asm_insn ("add\t%%o7, %0, %0", &got_register_rtx);
|
||||
- output_asm_insn ("jmp\t%%o7+8", NULL);
|
||||
- output_asm_insn (" nop", NULL);
|
||||
- }
|
||||
+ fprintf (asm_out_file, "\tadd\t%%o7, %s, %s\n\tjmp\t%%o7+8\n\t nop\n",
|
||||
+ reg_name, reg_name);
|
||||
#ifdef DWARF2_UNWIND_INFO
|
||||
if (do_cfi)
|
||||
- output_asm_insn (".cfi_endproc", NULL);
|
||||
+ fprintf (asm_out_file, "\t.cfi_endproc\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -13091,10 +13065,7 @@ sparc_init_pic_reg (void)
|
||||
edge entry_edge;
|
||||
rtx_insn *seq;
|
||||
|
||||
- /* In PIC mode, we need to always initialize the PIC register if optimization
|
||||
- is enabled, because we are called from IRA and LRA may later force things
|
||||
- to the constant pool for optimization purposes. */
|
||||
- if (!flag_pic || (!crtl->uses_pic_offset_table && !optimize))
|
||||
+ if (!crtl->uses_pic_offset_table)
|
||||
return;
|
||||
|
||||
start_sequence ();
|
||||
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
|
||||
index 231c0d84778..899804b80ae 100644
|
||||
--- a/gcc/config/sparc/sparc.md
|
||||
+++ b/gcc/config/sparc/sparc.md
|
||||
@@ -1604,7 +1604,10 @@
|
||||
(clobber (reg:P O7_REG))]
|
||||
"REGNO (operands[0]) == INTVAL (operands[3])"
|
||||
{
|
||||
- return output_load_pcrel_sym (operands);
|
||||
+ if (flag_delayed_branch)
|
||||
+ return "sethi\t%%hi(%a1-4), %0\n\tcall\t%a2\n\t add\t%0, %%lo(%a1+4), %0";
|
||||
+ else
|
||||
+ return "sethi\t%%hi(%a1-8), %0\n\tadd\t%0, %%lo(%a1-4), %0\n\tcall\t%a2\n\t nop";
|
||||
}
|
||||
[(set (attr "type") (const_string "multi"))
|
||||
(set (attr "length")
|
||||
diff --git a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c b/gcc/testsuite/gcc.c-torture/compile/20191108-1.c
|
||||
deleted file mode 100644
|
||||
index 7929751bb06..00000000000
|
||||
--- a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c
|
||||
+++ /dev/null
|
||||
@@ -1,14 +0,0 @@
|
||||
-/* PR target/92095 */
|
||||
-/* Testcase by Sergei Trofimovich <slyfox@inbox.ru> */
|
||||
-
|
||||
-typedef union {
|
||||
- double a;
|
||||
- int b[2];
|
||||
-} c;
|
||||
-
|
||||
-double d(int e)
|
||||
-{
|
||||
- c f;
|
||||
- (&f)->b[0] = 15728640;
|
||||
- return e ? -(&f)->a : (&f)->a;
|
||||
-}
|
||||
diff --git a/gcc/testsuite/gcc.target/sparc/overflow-3.c b/gcc/testsuite/gcc.target/sparc/overflow-3.c
|
||||
index 52d6ab2b688..86dddfb09e6 100644
|
||||
--- a/gcc/testsuite/gcc.target/sparc/overflow-3.c
|
||||
+++ b/gcc/testsuite/gcc.target/sparc/overflow-3.c
|
||||
@@ -1,6 +1,6 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target lp64 } */
|
||||
-/* { dg-options "-O -fno-pie" } */
|
||||
+/* { dg-options "-O" } */
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
diff --git a/gcc/testsuite/gcc.target/sparc/overflow-4.c b/gcc/testsuite/gcc.target/sparc/overflow-4.c
|
||||
index c6121b958c3..019feee335c 100644
|
||||
--- a/gcc/testsuite/gcc.target/sparc/overflow-4.c
|
||||
+++ b/gcc/testsuite/gcc.target/sparc/overflow-4.c
|
||||
@@ -1,6 +1,6 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target lp64 } */
|
||||
-/* { dg-options "-O -fno-pie -mno-vis3 -mno-vis4" } */
|
||||
+/* { dg-options "-O -mno-vis3 -mno-vis4" } */
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
diff --git a/gcc/testsuite/gcc.target/sparc/overflow-5.c b/gcc/testsuite/gcc.target/sparc/overflow-5.c
|
||||
index f00283f6e7b..67d4ac38095 100644
|
||||
--- a/gcc/testsuite/gcc.target/sparc/overflow-5.c
|
||||
+++ b/gcc/testsuite/gcc.target/sparc/overflow-5.c
|
||||
@@ -1,6 +1,6 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target lp64 } */
|
||||
-/* { dg-options "-O -fno-pie -mvis3" } */
|
||||
+/* { dg-options "-O -mvis3" } */
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
--
|
||||
2.25.4
|
||||
|
||||
@@ -0,0 +1,322 @@
|
||||
From bb9b71752267444b4360442b89129bfc0ae938d3 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Wed, 20 Jan 2021 23:06:07 +0100
|
||||
Subject: [PATCH] Revert "re PR target/92095 (internal error with -O1
|
||||
-mcpu=niagara2 -fPIE)"
|
||||
|
||||
This reverts commit 3fcce773f0f914c0499b130c6e9efa0e45ee54a0.
|
||||
|
||||
Building the Buildroot defconfig qemu_sparc_ss10_defconfig using
|
||||
gcc 8.4, 9.3 and 10 produce a broken rootfs that trigger illegal
|
||||
instruction messages.
|
||||
|
||||
gcc 8.3, 9.2 are the latest working gcc version.
|
||||
git bisect between gcc 8.4 and 8.4 allowed to identify
|
||||
the commit that introcuce the regression.
|
||||
|
||||
Reverting this patch allowed to produce a working rootfs.
|
||||
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
Cc: Eric Botcazou <ebotcazou@gcc.gnu.org>
|
||||
---
|
||||
gcc/config/sparc/sparc-protos.h | 1 -
|
||||
gcc/config/sparc/sparc.c | 121 +++++++-----------
|
||||
gcc/config/sparc/sparc.md | 5 +-
|
||||
.../gcc.c-torture/compile/20191108-1.c | 14 --
|
||||
gcc/testsuite/gcc.target/sparc/overflow-3.c | 2 +-
|
||||
gcc/testsuite/gcc.target/sparc/overflow-4.c | 2 +-
|
||||
gcc/testsuite/gcc.target/sparc/overflow-5.c | 2 +-
|
||||
7 files changed, 53 insertions(+), 94 deletions(-)
|
||||
delete mode 100644 gcc/testsuite/gcc.c-torture/compile/20191108-1.c
|
||||
|
||||
diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h
|
||||
index b3f73c2f2bf..71a067e871c 100644
|
||||
--- a/gcc/config/sparc/sparc-protos.h
|
||||
+++ b/gcc/config/sparc/sparc-protos.h
|
||||
@@ -69,7 +69,6 @@ extern void sparc_split_reg_mem (rtx, rtx, machine_mode);
|
||||
extern void sparc_split_mem_reg (rtx, rtx, machine_mode);
|
||||
extern int sparc_split_reg_reg_legitimate (rtx, rtx);
|
||||
extern void sparc_split_reg_reg (rtx, rtx, machine_mode);
|
||||
-extern const char *output_load_pcrel_sym (rtx *);
|
||||
extern const char *output_ubranch (rtx, rtx_insn *);
|
||||
extern const char *output_cbranch (rtx, rtx, int, int, int, rtx_insn *);
|
||||
extern const char *output_return (rtx_insn *);
|
||||
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
|
||||
index 73032d33596..db1b428db90 100644
|
||||
--- a/gcc/config/sparc/sparc.c
|
||||
+++ b/gcc/config/sparc/sparc.c
|
||||
@@ -4200,6 +4200,13 @@ eligible_for_sibcall_delay (rtx_insn *trial)
|
||||
static bool
|
||||
sparc_cannot_force_const_mem (machine_mode mode, rtx x)
|
||||
{
|
||||
+ /* After IRA has run in PIC mode, it is too late to put anything into the
|
||||
+ constant pool if the PIC register hasn't already been initialized. */
|
||||
+ if ((lra_in_progress || reload_in_progress)
|
||||
+ && flag_pic
|
||||
+ && !crtl->uses_pic_offset_table)
|
||||
+ return true;
|
||||
+
|
||||
switch (GET_CODE (x))
|
||||
{
|
||||
case CONST_INT:
|
||||
@@ -4235,11 +4242,9 @@ sparc_cannot_force_const_mem (machine_mode mode, rtx x)
|
||||
}
|
||||
|
||||
/* Global Offset Table support. */
|
||||
-static GTY(()) rtx got_symbol_rtx = NULL_RTX;
|
||||
-static GTY(()) rtx got_register_rtx = NULL_RTX;
|
||||
static GTY(()) rtx got_helper_rtx = NULL_RTX;
|
||||
-
|
||||
-static GTY(()) bool got_helper_needed = false;
|
||||
+static GTY(()) rtx got_register_rtx = NULL_RTX;
|
||||
+static GTY(()) rtx got_symbol_rtx = NULL_RTX;
|
||||
|
||||
/* Return the SYMBOL_REF for the Global Offset Table. */
|
||||
|
||||
@@ -4252,6 +4257,27 @@ sparc_got (void)
|
||||
return got_symbol_rtx;
|
||||
}
|
||||
|
||||
+#ifdef HAVE_GAS_HIDDEN
|
||||
+# define USE_HIDDEN_LINKONCE 1
|
||||
+#else
|
||||
+# define USE_HIDDEN_LINKONCE 0
|
||||
+#endif
|
||||
+
|
||||
+static void
|
||||
+get_pc_thunk_name (char name[32], unsigned int regno)
|
||||
+{
|
||||
+ const char *reg_name = reg_names[regno];
|
||||
+
|
||||
+ /* Skip the leading '%' as that cannot be used in a
|
||||
+ symbol name. */
|
||||
+ reg_name += 1;
|
||||
+
|
||||
+ if (USE_HIDDEN_LINKONCE)
|
||||
+ sprintf (name, "__sparc_get_pc_thunk.%s", reg_name);
|
||||
+ else
|
||||
+ ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", regno);
|
||||
+}
|
||||
+
|
||||
/* Wrapper around the load_pcrel_sym{si,di} patterns. */
|
||||
|
||||
static rtx
|
||||
@@ -4271,78 +4297,30 @@ gen_load_pcrel_sym (rtx op0, rtx op1, rtx op2)
|
||||
return insn;
|
||||
}
|
||||
|
||||
-/* Output the load_pcrel_sym{si,di} patterns. */
|
||||
-
|
||||
-const char *
|
||||
-output_load_pcrel_sym (rtx *operands)
|
||||
-{
|
||||
- if (flag_delayed_branch)
|
||||
- {
|
||||
- output_asm_insn ("sethi\t%%hi(%a1-4), %0", operands);
|
||||
- output_asm_insn ("call\t%a2", operands);
|
||||
- output_asm_insn (" add\t%0, %%lo(%a1+4), %0", operands);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- output_asm_insn ("sethi\t%%hi(%a1-8), %0", operands);
|
||||
- output_asm_insn ("add\t%0, %%lo(%a1-4), %0", operands);
|
||||
- output_asm_insn ("call\t%a2", operands);
|
||||
- output_asm_insn (" nop", NULL);
|
||||
- }
|
||||
-
|
||||
- if (operands[2] == got_helper_rtx)
|
||||
- got_helper_needed = true;
|
||||
-
|
||||
- return "";
|
||||
-}
|
||||
-
|
||||
-#ifdef HAVE_GAS_HIDDEN
|
||||
-# define USE_HIDDEN_LINKONCE 1
|
||||
-#else
|
||||
-# define USE_HIDDEN_LINKONCE 0
|
||||
-#endif
|
||||
-
|
||||
/* Emit code to load the GOT register. */
|
||||
|
||||
void
|
||||
load_got_register (void)
|
||||
{
|
||||
- rtx insn;
|
||||
+ if (!got_register_rtx)
|
||||
+ got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM);
|
||||
|
||||
if (TARGET_VXWORKS_RTP)
|
||||
- {
|
||||
- if (!got_register_rtx)
|
||||
- got_register_rtx = pic_offset_table_rtx;
|
||||
-
|
||||
- insn = gen_vxworks_load_got ();
|
||||
- }
|
||||
+ emit_insn (gen_vxworks_load_got ());
|
||||
else
|
||||
{
|
||||
- if (!got_register_rtx)
|
||||
- got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM);
|
||||
-
|
||||
/* The GOT symbol is subject to a PC-relative relocation so we need a
|
||||
helper function to add the PC value and thus get the final value. */
|
||||
if (!got_helper_rtx)
|
||||
{
|
||||
char name[32];
|
||||
-
|
||||
- /* Skip the leading '%' as that cannot be used in a symbol name. */
|
||||
- if (USE_HIDDEN_LINKONCE)
|
||||
- sprintf (name, "__sparc_get_pc_thunk.%s",
|
||||
- reg_names[REGNO (got_register_rtx)] + 1);
|
||||
- else
|
||||
- ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC",
|
||||
- REGNO (got_register_rtx));
|
||||
-
|
||||
+ get_pc_thunk_name (name, GLOBAL_OFFSET_TABLE_REGNUM);
|
||||
got_helper_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name));
|
||||
}
|
||||
|
||||
- insn
|
||||
- = gen_load_pcrel_sym (got_register_rtx, sparc_got (), got_helper_rtx);
|
||||
+ emit_insn (gen_load_pcrel_sym (got_register_rtx, sparc_got (),
|
||||
+ got_helper_rtx));
|
||||
}
|
||||
-
|
||||
- emit_insn (insn);
|
||||
}
|
||||
|
||||
/* Ensure that we are not using patterns that are not OK with PIC. */
|
||||
@@ -5494,7 +5472,7 @@ save_local_or_in_reg_p (unsigned int regno, int leaf_function)
|
||||
return true;
|
||||
|
||||
/* GOT register (%l7) if needed. */
|
||||
- if (got_register_rtx && regno == REGNO (got_register_rtx))
|
||||
+ if (regno == GLOBAL_OFFSET_TABLE_REGNUM && got_register_rtx)
|
||||
return true;
|
||||
|
||||
/* If the function accesses prior frames, the frame pointer and the return
|
||||
@@ -12475,9 +12453,10 @@ static void
|
||||
sparc_file_end (void)
|
||||
{
|
||||
/* If we need to emit the special GOT helper function, do so now. */
|
||||
- if (got_helper_needed)
|
||||
+ if (got_helper_rtx)
|
||||
{
|
||||
const char *name = XSTR (got_helper_rtx, 0);
|
||||
+ const char *reg_name = reg_names[GLOBAL_OFFSET_TABLE_REGNUM];
|
||||
#ifdef DWARF2_UNWIND_INFO
|
||||
bool do_cfi;
|
||||
#endif
|
||||
@@ -12514,22 +12493,17 @@ sparc_file_end (void)
|
||||
#ifdef DWARF2_UNWIND_INFO
|
||||
do_cfi = dwarf2out_do_cfi_asm ();
|
||||
if (do_cfi)
|
||||
- output_asm_insn (".cfi_startproc", NULL);
|
||||
+ fprintf (asm_out_file, "\t.cfi_startproc\n");
|
||||
#endif
|
||||
if (flag_delayed_branch)
|
||||
- {
|
||||
- output_asm_insn ("jmp\t%%o7+8", NULL);
|
||||
- output_asm_insn (" add\t%%o7, %0, %0", &got_register_rtx);
|
||||
- }
|
||||
+ fprintf (asm_out_file, "\tjmp\t%%o7+8\n\t add\t%%o7, %s, %s\n",
|
||||
+ reg_name, reg_name);
|
||||
else
|
||||
- {
|
||||
- output_asm_insn ("add\t%%o7, %0, %0", &got_register_rtx);
|
||||
- output_asm_insn ("jmp\t%%o7+8", NULL);
|
||||
- output_asm_insn (" nop", NULL);
|
||||
- }
|
||||
+ fprintf (asm_out_file, "\tadd\t%%o7, %s, %s\n\tjmp\t%%o7+8\n\t nop\n",
|
||||
+ reg_name, reg_name);
|
||||
#ifdef DWARF2_UNWIND_INFO
|
||||
if (do_cfi)
|
||||
- output_asm_insn (".cfi_endproc", NULL);
|
||||
+ fprintf (asm_out_file, "\t.cfi_endproc\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -13035,10 +13009,7 @@ sparc_init_pic_reg (void)
|
||||
edge entry_edge;
|
||||
rtx_insn *seq;
|
||||
|
||||
- /* In PIC mode, we need to always initialize the PIC register if optimization
|
||||
- is enabled, because we are called from IRA and LRA may later force things
|
||||
- to the constant pool for optimization purposes. */
|
||||
- if (!flag_pic || (!crtl->uses_pic_offset_table && !optimize))
|
||||
+ if (!crtl->uses_pic_offset_table)
|
||||
return;
|
||||
|
||||
start_sequence ();
|
||||
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
|
||||
index 468e2cc5d3b..25134bd1148 100644
|
||||
--- a/gcc/config/sparc/sparc.md
|
||||
+++ b/gcc/config/sparc/sparc.md
|
||||
@@ -1601,7 +1601,10 @@
|
||||
(clobber (reg:P O7_REG))]
|
||||
"REGNO (operands[0]) == INTVAL (operands[3])"
|
||||
{
|
||||
- return output_load_pcrel_sym (operands);
|
||||
+ if (flag_delayed_branch)
|
||||
+ return "sethi\t%%hi(%a1-4), %0\n\tcall\t%a2\n\t add\t%0, %%lo(%a1+4), %0";
|
||||
+ else
|
||||
+ return "sethi\t%%hi(%a1-8), %0\n\tadd\t%0, %%lo(%a1-4), %0\n\tcall\t%a2\n\t nop";
|
||||
}
|
||||
[(set (attr "type") (const_string "multi"))
|
||||
(set (attr "length")
|
||||
diff --git a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c b/gcc/testsuite/gcc.c-torture/compile/20191108-1.c
|
||||
deleted file mode 100644
|
||||
index 7929751bb06..00000000000
|
||||
--- a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c
|
||||
+++ /dev/null
|
||||
@@ -1,14 +0,0 @@
|
||||
-/* PR target/92095 */
|
||||
-/* Testcase by Sergei Trofimovich <slyfox@inbox.ru> */
|
||||
-
|
||||
-typedef union {
|
||||
- double a;
|
||||
- int b[2];
|
||||
-} c;
|
||||
-
|
||||
-double d(int e)
|
||||
-{
|
||||
- c f;
|
||||
- (&f)->b[0] = 15728640;
|
||||
- return e ? -(&f)->a : (&f)->a;
|
||||
-}
|
||||
diff --git a/gcc/testsuite/gcc.target/sparc/overflow-3.c b/gcc/testsuite/gcc.target/sparc/overflow-3.c
|
||||
index 18253bb6e5e..8cb24f52f7b 100644
|
||||
--- a/gcc/testsuite/gcc.target/sparc/overflow-3.c
|
||||
+++ b/gcc/testsuite/gcc.target/sparc/overflow-3.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/* { dg-do compile } */
|
||||
-/* { dg-options "-O -fno-pie" } */
|
||||
+/* { dg-options "-O" } */
|
||||
/* { dg-require-effective-target lp64 } */
|
||||
|
||||
#include <stdbool.h>
|
||||
diff --git a/gcc/testsuite/gcc.target/sparc/overflow-4.c b/gcc/testsuite/gcc.target/sparc/overflow-4.c
|
||||
index fb30877efb9..868edea2b9e 100644
|
||||
--- a/gcc/testsuite/gcc.target/sparc/overflow-4.c
|
||||
+++ b/gcc/testsuite/gcc.target/sparc/overflow-4.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/* { dg-do compile } */
|
||||
-/* { dg-options "-O -fno-pie -mno-vis3" } */
|
||||
+/* { dg-options "-O -mno-vis3" } */
|
||||
/* { dg-require-effective-target lp64 } */
|
||||
|
||||
#include <stdbool.h>
|
||||
diff --git a/gcc/testsuite/gcc.target/sparc/overflow-5.c b/gcc/testsuite/gcc.target/sparc/overflow-5.c
|
||||
index 509d957715d..501ce04f7a1 100644
|
||||
--- a/gcc/testsuite/gcc.target/sparc/overflow-5.c
|
||||
+++ b/gcc/testsuite/gcc.target/sparc/overflow-5.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/* { dg-do compile } */
|
||||
-/* { dg-options "-O -fno-pie -mvis3" } */
|
||||
+/* { dg-options "-O -mvis3" } */
|
||||
/* { dg-require-effective-target lp64 } */
|
||||
|
||||
#include <stdbool.h>
|
||||
--
|
||||
2.25.4
|
||||
|
||||
@@ -0,0 +1,325 @@
|
||||
From 0d7fe4806d9dce76367c193d5199df6a2b98009f Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Wed, 20 Jan 2021 23:22:16 +0100
|
||||
Subject: [PATCH] Revert "re PR target/92095 (internal error with -O1
|
||||
-mcpu=niagara2 -fPIE)"
|
||||
|
||||
This reverts commit 6bf2990842388101897b6f465524cbc295ee8cf9.
|
||||
|
||||
Building the Buildroot defconfig qemu_sparc_ss10_defconfig using
|
||||
gcc 8.4, 9.3 and 10 produce a broken rootfs that trigger illegal
|
||||
instruction messages.
|
||||
|
||||
gcc 8.3, 9.2 are the latest working gcc version.
|
||||
git bisect between gcc 8.4 and 8.4 allowed to identify
|
||||
the commit that introcuce the regression.
|
||||
|
||||
Reverting this patch allowed to produce a working rootfs.
|
||||
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
Cc: Eric Botcazou <ebotcazou@gcc.gnu.org>
|
||||
---
|
||||
gcc/config/sparc/sparc-protos.h | 1 -
|
||||
gcc/config/sparc/sparc.c | 121 +++++++-----------
|
||||
gcc/config/sparc/sparc.md | 5 +-
|
||||
.../gcc.c-torture/compile/20191108-1.c | 14 --
|
||||
gcc/testsuite/gcc.target/sparc/overflow-3.c | 2 +-
|
||||
gcc/testsuite/gcc.target/sparc/overflow-4.c | 2 +-
|
||||
gcc/testsuite/gcc.target/sparc/overflow-5.c | 2 +-
|
||||
7 files changed, 53 insertions(+), 94 deletions(-)
|
||||
delete mode 100644 gcc/testsuite/gcc.c-torture/compile/20191108-1.c
|
||||
|
||||
diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h
|
||||
index ef1adb69ede..9bdae7b9faa 100644
|
||||
--- a/gcc/config/sparc/sparc-protos.h
|
||||
+++ b/gcc/config/sparc/sparc-protos.h
|
||||
@@ -69,7 +69,6 @@ extern void sparc_split_reg_mem (rtx, rtx, machine_mode);
|
||||
extern void sparc_split_mem_reg (rtx, rtx, machine_mode);
|
||||
extern int sparc_split_reg_reg_legitimate (rtx, rtx);
|
||||
extern void sparc_split_reg_reg (rtx, rtx, machine_mode);
|
||||
-extern const char *output_load_pcrel_sym (rtx *);
|
||||
extern const char *output_ubranch (rtx, rtx_insn *);
|
||||
extern const char *output_cbranch (rtx, rtx, int, int, int, rtx_insn *);
|
||||
extern const char *output_return (rtx_insn *);
|
||||
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
|
||||
index a993aab7639..2974d174e93 100644
|
||||
--- a/gcc/config/sparc/sparc.c
|
||||
+++ b/gcc/config/sparc/sparc.c
|
||||
@@ -4205,6 +4205,13 @@ eligible_for_sibcall_delay (rtx_insn *trial)
|
||||
static bool
|
||||
sparc_cannot_force_const_mem (machine_mode mode, rtx x)
|
||||
{
|
||||
+ /* After IRA has run in PIC mode, it is too late to put anything into the
|
||||
+ constant pool if the PIC register hasn't already been initialized. */
|
||||
+ if ((lra_in_progress || reload_in_progress)
|
||||
+ && flag_pic
|
||||
+ && !crtl->uses_pic_offset_table)
|
||||
+ return true;
|
||||
+
|
||||
switch (GET_CODE (x))
|
||||
{
|
||||
case CONST_INT:
|
||||
@@ -4240,11 +4247,9 @@ sparc_cannot_force_const_mem (machine_mode mode, rtx x)
|
||||
}
|
||||
|
||||
/* Global Offset Table support. */
|
||||
-static GTY(()) rtx got_symbol_rtx = NULL_RTX;
|
||||
-static GTY(()) rtx got_register_rtx = NULL_RTX;
|
||||
static GTY(()) rtx got_helper_rtx = NULL_RTX;
|
||||
-
|
||||
-static GTY(()) bool got_helper_needed = false;
|
||||
+static GTY(()) rtx got_register_rtx = NULL_RTX;
|
||||
+static GTY(()) rtx got_symbol_rtx = NULL_RTX;
|
||||
|
||||
/* Return the SYMBOL_REF for the Global Offset Table. */
|
||||
|
||||
@@ -4257,6 +4262,27 @@ sparc_got (void)
|
||||
return got_symbol_rtx;
|
||||
}
|
||||
|
||||
+#ifdef HAVE_GAS_HIDDEN
|
||||
+# define USE_HIDDEN_LINKONCE 1
|
||||
+#else
|
||||
+# define USE_HIDDEN_LINKONCE 0
|
||||
+#endif
|
||||
+
|
||||
+static void
|
||||
+get_pc_thunk_name (char name[32], unsigned int regno)
|
||||
+{
|
||||
+ const char *reg_name = reg_names[regno];
|
||||
+
|
||||
+ /* Skip the leading '%' as that cannot be used in a
|
||||
+ symbol name. */
|
||||
+ reg_name += 1;
|
||||
+
|
||||
+ if (USE_HIDDEN_LINKONCE)
|
||||
+ sprintf (name, "__sparc_get_pc_thunk.%s", reg_name);
|
||||
+ else
|
||||
+ ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", regno);
|
||||
+}
|
||||
+
|
||||
/* Wrapper around the load_pcrel_sym{si,di} patterns. */
|
||||
|
||||
static rtx
|
||||
@@ -4276,78 +4302,30 @@ gen_load_pcrel_sym (rtx op0, rtx op1, rtx op2)
|
||||
return insn;
|
||||
}
|
||||
|
||||
-/* Output the load_pcrel_sym{si,di} patterns. */
|
||||
-
|
||||
-const char *
|
||||
-output_load_pcrel_sym (rtx *operands)
|
||||
-{
|
||||
- if (flag_delayed_branch)
|
||||
- {
|
||||
- output_asm_insn ("sethi\t%%hi(%a1-4), %0", operands);
|
||||
- output_asm_insn ("call\t%a2", operands);
|
||||
- output_asm_insn (" add\t%0, %%lo(%a1+4), %0", operands);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- output_asm_insn ("sethi\t%%hi(%a1-8), %0", operands);
|
||||
- output_asm_insn ("add\t%0, %%lo(%a1-4), %0", operands);
|
||||
- output_asm_insn ("call\t%a2", operands);
|
||||
- output_asm_insn (" nop", NULL);
|
||||
- }
|
||||
-
|
||||
- if (operands[2] == got_helper_rtx)
|
||||
- got_helper_needed = true;
|
||||
-
|
||||
- return "";
|
||||
-}
|
||||
-
|
||||
-#ifdef HAVE_GAS_HIDDEN
|
||||
-# define USE_HIDDEN_LINKONCE 1
|
||||
-#else
|
||||
-# define USE_HIDDEN_LINKONCE 0
|
||||
-#endif
|
||||
-
|
||||
/* Emit code to load the GOT register. */
|
||||
|
||||
void
|
||||
load_got_register (void)
|
||||
{
|
||||
- rtx insn;
|
||||
+ if (!got_register_rtx)
|
||||
+ got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM);
|
||||
|
||||
if (TARGET_VXWORKS_RTP)
|
||||
- {
|
||||
- if (!got_register_rtx)
|
||||
- got_register_rtx = pic_offset_table_rtx;
|
||||
-
|
||||
- insn = gen_vxworks_load_got ();
|
||||
- }
|
||||
+ emit_insn (gen_vxworks_load_got ());
|
||||
else
|
||||
{
|
||||
- if (!got_register_rtx)
|
||||
- got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM);
|
||||
-
|
||||
/* The GOT symbol is subject to a PC-relative relocation so we need a
|
||||
helper function to add the PC value and thus get the final value. */
|
||||
if (!got_helper_rtx)
|
||||
{
|
||||
char name[32];
|
||||
-
|
||||
- /* Skip the leading '%' as that cannot be used in a symbol name. */
|
||||
- if (USE_HIDDEN_LINKONCE)
|
||||
- sprintf (name, "__sparc_get_pc_thunk.%s",
|
||||
- reg_names[REGNO (got_register_rtx)] + 1);
|
||||
- else
|
||||
- ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC",
|
||||
- REGNO (got_register_rtx));
|
||||
-
|
||||
+ get_pc_thunk_name (name, GLOBAL_OFFSET_TABLE_REGNUM);
|
||||
got_helper_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name));
|
||||
}
|
||||
|
||||
- insn
|
||||
- = gen_load_pcrel_sym (got_register_rtx, sparc_got (), got_helper_rtx);
|
||||
+ emit_insn (gen_load_pcrel_sym (got_register_rtx, sparc_got (),
|
||||
+ got_helper_rtx));
|
||||
}
|
||||
-
|
||||
- emit_insn (insn);
|
||||
}
|
||||
|
||||
/* Ensure that we are not using patterns that are not OK with PIC. */
|
||||
@@ -5512,7 +5490,7 @@ save_local_or_in_reg_p (unsigned int regno, int leaf_function)
|
||||
return true;
|
||||
|
||||
/* GOT register (%l7) if needed. */
|
||||
- if (got_register_rtx && regno == REGNO (got_register_rtx))
|
||||
+ if (regno == GLOBAL_OFFSET_TABLE_REGNUM && got_register_rtx)
|
||||
return true;
|
||||
|
||||
/* If the function accesses prior frames, the frame pointer and the return
|
||||
@@ -12555,9 +12533,10 @@ static void
|
||||
sparc_file_end (void)
|
||||
{
|
||||
/* If we need to emit the special GOT helper function, do so now. */
|
||||
- if (got_helper_needed)
|
||||
+ if (got_helper_rtx)
|
||||
{
|
||||
const char *name = XSTR (got_helper_rtx, 0);
|
||||
+ const char *reg_name = reg_names[GLOBAL_OFFSET_TABLE_REGNUM];
|
||||
#ifdef DWARF2_UNWIND_INFO
|
||||
bool do_cfi;
|
||||
#endif
|
||||
@@ -12594,22 +12573,17 @@ sparc_file_end (void)
|
||||
#ifdef DWARF2_UNWIND_INFO
|
||||
do_cfi = dwarf2out_do_cfi_asm ();
|
||||
if (do_cfi)
|
||||
- output_asm_insn (".cfi_startproc", NULL);
|
||||
+ fprintf (asm_out_file, "\t.cfi_startproc\n");
|
||||
#endif
|
||||
if (flag_delayed_branch)
|
||||
- {
|
||||
- output_asm_insn ("jmp\t%%o7+8", NULL);
|
||||
- output_asm_insn (" add\t%%o7, %0, %0", &got_register_rtx);
|
||||
- }
|
||||
+ fprintf (asm_out_file, "\tjmp\t%%o7+8\n\t add\t%%o7, %s, %s\n",
|
||||
+ reg_name, reg_name);
|
||||
else
|
||||
- {
|
||||
- output_asm_insn ("add\t%%o7, %0, %0", &got_register_rtx);
|
||||
- output_asm_insn ("jmp\t%%o7+8", NULL);
|
||||
- output_asm_insn (" nop", NULL);
|
||||
- }
|
||||
+ fprintf (asm_out_file, "\tadd\t%%o7, %s, %s\n\tjmp\t%%o7+8\n\t nop\n",
|
||||
+ reg_name, reg_name);
|
||||
#ifdef DWARF2_UNWIND_INFO
|
||||
if (do_cfi)
|
||||
- output_asm_insn (".cfi_endproc", NULL);
|
||||
+ fprintf (asm_out_file, "\t.cfi_endproc\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -13115,10 +13089,7 @@ sparc_init_pic_reg (void)
|
||||
edge entry_edge;
|
||||
rtx_insn *seq;
|
||||
|
||||
- /* In PIC mode, we need to always initialize the PIC register if optimization
|
||||
- is enabled, because we are called from IRA and LRA may later force things
|
||||
- to the constant pool for optimization purposes. */
|
||||
- if (!flag_pic || (!crtl->uses_pic_offset_table && !optimize))
|
||||
+ if (!crtl->uses_pic_offset_table)
|
||||
return;
|
||||
|
||||
start_sequence ();
|
||||
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
|
||||
index 0a6e27ffa83..7af62d599b9 100644
|
||||
--- a/gcc/config/sparc/sparc.md
|
||||
+++ b/gcc/config/sparc/sparc.md
|
||||
@@ -1604,7 +1604,10 @@
|
||||
(clobber (reg:P O7_REG))]
|
||||
"REGNO (operands[0]) == INTVAL (operands[3])"
|
||||
{
|
||||
- return output_load_pcrel_sym (operands);
|
||||
+ if (flag_delayed_branch)
|
||||
+ return "sethi\t%%hi(%a1-4), %0\n\tcall\t%a2\n\t add\t%0, %%lo(%a1+4), %0";
|
||||
+ else
|
||||
+ return "sethi\t%%hi(%a1-8), %0\n\tadd\t%0, %%lo(%a1-4), %0\n\tcall\t%a2\n\t nop";
|
||||
}
|
||||
[(set (attr "type") (const_string "multi"))
|
||||
(set (attr "length")
|
||||
diff --git a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c b/gcc/testsuite/gcc.c-torture/compile/20191108-1.c
|
||||
deleted file mode 100644
|
||||
index 7929751bb06..00000000000
|
||||
--- a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c
|
||||
+++ /dev/null
|
||||
@@ -1,14 +0,0 @@
|
||||
-/* PR target/92095 */
|
||||
-/* Testcase by Sergei Trofimovich <slyfox@inbox.ru> */
|
||||
-
|
||||
-typedef union {
|
||||
- double a;
|
||||
- int b[2];
|
||||
-} c;
|
||||
-
|
||||
-double d(int e)
|
||||
-{
|
||||
- c f;
|
||||
- (&f)->b[0] = 15728640;
|
||||
- return e ? -(&f)->a : (&f)->a;
|
||||
-}
|
||||
diff --git a/gcc/testsuite/gcc.target/sparc/overflow-3.c b/gcc/testsuite/gcc.target/sparc/overflow-3.c
|
||||
index 52d6ab2b688..86dddfb09e6 100644
|
||||
--- a/gcc/testsuite/gcc.target/sparc/overflow-3.c
|
||||
+++ b/gcc/testsuite/gcc.target/sparc/overflow-3.c
|
||||
@@ -1,6 +1,6 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target lp64 } */
|
||||
-/* { dg-options "-O -fno-pie" } */
|
||||
+/* { dg-options "-O" } */
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
diff --git a/gcc/testsuite/gcc.target/sparc/overflow-4.c b/gcc/testsuite/gcc.target/sparc/overflow-4.c
|
||||
index c6121b958c3..019feee335c 100644
|
||||
--- a/gcc/testsuite/gcc.target/sparc/overflow-4.c
|
||||
+++ b/gcc/testsuite/gcc.target/sparc/overflow-4.c
|
||||
@@ -1,6 +1,6 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target lp64 } */
|
||||
-/* { dg-options "-O -fno-pie -mno-vis3 -mno-vis4" } */
|
||||
+/* { dg-options "-O -mno-vis3 -mno-vis4" } */
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
diff --git a/gcc/testsuite/gcc.target/sparc/overflow-5.c b/gcc/testsuite/gcc.target/sparc/overflow-5.c
|
||||
index f00283f6e7b..67d4ac38095 100644
|
||||
--- a/gcc/testsuite/gcc.target/sparc/overflow-5.c
|
||||
+++ b/gcc/testsuite/gcc.target/sparc/overflow-5.c
|
||||
@@ -1,6 +1,6 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target lp64 } */
|
||||
-/* { dg-options "-O -fno-pie -mvis3" } */
|
||||
+/* { dg-options "-O -mvis3" } */
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
--
|
||||
2.25.4
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
From 0ac781b0b0deef5c02c32a70ac484f882c3f4dd0 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Tue, 24 Dec 2019 18:55:57 +0100
|
||||
Subject: [PATCH] fix matroska build without js, taglib or atrailers
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
i2i function is used in matroska_handler.cc but this function is defined
|
||||
only if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS)
|
||||
as a result compilation fails if HAVE_MATROSKA is set but HAVE_JS,
|
||||
HAVE_TAGLIG or ATRAILERS are not.
|
||||
|
||||
Backported from: 0ac781b0b0deef5c02c32a70ac484f882c3f4dd0
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
|
||||
---
|
||||
src/string_converter.cc | 2 +-
|
||||
src/string_converter.h | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/string_converter.cc b/src/string_converter.cc
|
||||
index f669c661..7a3c55d7 100644
|
||||
--- a/src/string_converter.cc
|
||||
+++ b/src/string_converter.cc
|
||||
@@ -218,7 +218,7 @@ Ref<StringConverter> StringConverter::p2i()
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS)
|
||||
+#if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS) || defined(HAVE_MATROSKA)
|
||||
|
||||
Ref<StringConverter> StringConverter::i2i()
|
||||
{
|
||||
diff --git a/src/string_converter.h b/src/string_converter.h
|
||||
index 58495430..f75bf833 100644
|
||||
--- a/src/string_converter.h
|
||||
+++ b/src/string_converter.h
|
||||
@@ -65,7 +65,7 @@ public:
|
||||
static zmm::Ref<StringConverter> p2i();
|
||||
|
||||
#endif
|
||||
-#if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS)
|
||||
+#if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS) || defined(HAVE_MATROSKA)
|
||||
/// \brief safeguard - internal to internal - needed to catch some
|
||||
/// scenarious where the user may have forgotten to add proper conversion
|
||||
/// in the script.
|
||||
--
|
||||
2.26.1
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
From 7fdcabd80c823694d190e5baa8c657ffcae5e777 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Fri, 31 Jan 2020 17:14:11 +0100
|
||||
Subject: [PATCH] cmake/FindLibMagic.cmake: fix static linking
|
||||
|
||||
libmagic can optionally depends on xz (for lzma) or bzip2 since version
|
||||
5.38 and
|
||||
https://github.com/file/file/commit/b259a07ea95827f565faa20f0316e5b2704064f7
|
||||
so use pkg-config to retrieve those static dependencies and avoid the
|
||||
following build failure:
|
||||
|
||||
[100%] Linking CXX executable gerbera
|
||||
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/br-user/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmagic.a(compress.o): in function `uncompressbuf':
|
||||
compress.c:(.text+0x69c): undefined reference to `BZ2_bzDecompressInit'
|
||||
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x710): undefined reference to `BZ2_bzDecompress'
|
||||
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x730): undefined reference to `BZ2_bzDecompressEnd'
|
||||
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x7bc): undefined reference to `lzma_auto_decoder'
|
||||
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x828): undefined reference to `lzma_code'
|
||||
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x848): undefined reference to `lzma_end'
|
||||
|
||||
It should be noted that libmagic.pc is not currently provided in the
|
||||
official file package (which provides libmagic), an issue has been
|
||||
opened to add libmagic.pc: https://bugs.astron.com/view.php?id=136
|
||||
|
||||
Fixes:
|
||||
- http://autobuild.buildroot.org/results/37b1ef54dc41100689f311fbc31fc9300dc6ae63
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Retrieved from:
|
||||
https://github.com/gerbera/gerbera/commit/7fdcabd80c823694d190e5baa8c657ffcae5e777]
|
||||
---
|
||||
cmake/FindLibMagic.cmake | 15 +++++++++++++--
|
||||
1 file changed, 13 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cmake/FindLibMagic.cmake b/cmake/FindLibMagic.cmake
|
||||
index f68ab923..04995af4 100644
|
||||
--- a/cmake/FindLibMagic.cmake
|
||||
+++ b/cmake/FindLibMagic.cmake
|
||||
@@ -1,11 +1,22 @@
|
||||
INCLUDE (FindPackageHandleStandardArgs)
|
||||
|
||||
-FIND_PATH(MAGIC_INCLUDE_DIR magic.h)
|
||||
-FIND_LIBRARY(MAGIC_LIBRARIES NAMES magic)
|
||||
+find_package(PkgConfig QUIET)
|
||||
+
|
||||
+pkg_check_modules(PC_MAGIC QUIET libmagic)
|
||||
+
|
||||
+FIND_PATH(MAGIC_INCLUDE_DIR magic.h
|
||||
+ HINTS ${PC_MAGIC_INCLUDEDIR} ${PC_MAGIC_INCLUDE_DIRS})
|
||||
+FIND_LIBRARY(MAGIC_LIBRARIES NAMES magic
|
||||
+ HINTS ${PC_MAGIC_LIBDIR} ${PC_MAGIC_LIBRARY_DIRS})
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set MAGIC_FOUND to TRUE
|
||||
find_package_handle_standard_args(MAGIC DEFAULT_MSG MAGIC_LIBRARIES)
|
||||
|
||||
+if (MAGIC_FOUND)
|
||||
+ set (MAGIC_LIBRARIES ${MAGIC_LIBRARY} ${PC_MAGIC_LIBRARIES})
|
||||
+ set (MAGIC_INCLUDE_DIRS ${MAGIC_INCLUDE_DIR} )
|
||||
+endif ()
|
||||
+
|
||||
MARK_AS_ADVANCED(
|
||||
MAGIC_LIBRARIES
|
||||
MAGIC_INCLUDE_DIRS )
|
||||
@@ -1,37 +0,0 @@
|
||||
From aab2eacbaad10759294f4fd74bbb5ecef3cf3a8d Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Tue, 24 Dec 2019 22:57:18 +0100
|
||||
Subject: [PATCH] cmake/FindMatroska: fix static linking
|
||||
|
||||
Fix static linking with libmatrasoka by adding PC_EBM_LIBRARIES to
|
||||
EBML_LIBRARIES and PC_MAT_LIBRARIES to MATROSKA_LIBRARIES
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Retrieved from:
|
||||
https://github.com/gerbera/gerbera/commit/aab2eacbaad10759294f4fd74bbb5ecef3cf3a8d]
|
||||
---
|
||||
cmake/FindMatroska.cmake | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cmake/FindMatroska.cmake b/cmake/FindMatroska.cmake
|
||||
index 4b09a5ec..12ca593d 100644
|
||||
--- a/cmake/FindMatroska.cmake
|
||||
+++ b/cmake/FindMatroska.cmake
|
||||
@@ -23,7 +23,7 @@ FIND_LIBRARY(EBML_LIBRARY ebml
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EBML
|
||||
REQUIRED_VARS EBML_LIBRARY EBML_INCLUDE_DIR)
|
||||
if (EBML_FOUND)
|
||||
- set (EBML_LIBRARIES ${EBML_LIBRARY})
|
||||
+ set (EBML_LIBRARIES ${EBML_LIBRARY} ${PC_EBM_LIBRARIES})
|
||||
set (EBML_INCLUDE_DIRS ${EBML_INCLUDE_DIR} )
|
||||
endif ()
|
||||
MARK_AS_ADVANCED(
|
||||
@@ -41,7 +41,7 @@ find_library(MATROSKA_LIBRARY matroska
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MATROSKA
|
||||
REQUIRED_VARS MATROSKA_LIBRARY MATROSKA_INCLUDE_DIR)
|
||||
if (MATROSKA_FOUND)
|
||||
- set (MATROSKA_LIBRARIES ${MATROSKA_LIBRARY})
|
||||
+ set (MATROSKA_LIBRARIES ${MATROSKA_LIBRARY} ${PC_MAT_LIBRARIES})
|
||||
set (MATROSKA_INCLUDE_DIRS ${MATROSKA_INCLUDE_DIR} )
|
||||
endif ()
|
||||
MARK_AS_ADVANCED(
|
||||
@@ -3,12 +3,15 @@ config BR2_PACKAGE_GERBERA
|
||||
depends on BR2_USE_MMU # fork()
|
||||
depends on BR2_TOOLCHAIN_HAS_ATOMIC
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 optional
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 filesystem
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on !BR2_PACKAGE_LIBUPNP # libupnp18
|
||||
select BR2_PACKAGE_EXPAT
|
||||
depends on BR2_USE_WCHAR # fmt
|
||||
select BR2_PACKAGE_FMT
|
||||
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
|
||||
select BR2_PACKAGE_LIBUPNP18
|
||||
select BR2_PACKAGE_LIBUPNP if !BR2_PACKAGE_LIBNPUPNP
|
||||
select BR2_PACKAGE_PUGIXML
|
||||
select BR2_PACKAGE_PUGIXML_XPATH_SUPPORT
|
||||
select BR2_PACKAGE_SPDLOG
|
||||
select BR2_PACKAGE_SQLITE
|
||||
select BR2_PACKAGE_UTIL_LINUX
|
||||
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
|
||||
@@ -19,9 +22,8 @@ config BR2_PACKAGE_GERBERA
|
||||
|
||||
https://gerbera.io
|
||||
|
||||
comment "gerbera needs a toolchain w/ C++, threads, gcc >= 7"
|
||||
comment "gerbera needs a toolchain w/ C++, threads, wchar, gcc >= 8"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_HAS_ATOMIC
|
||||
depends on !BR2_PACKAGE_LIBUPNP
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
!BR2_TOOLCHAIN_GCC_AT_LEAST_7
|
||||
!BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally computed:
|
||||
sha256 904a9031c85ac805e4c139f363510226952683d7257acd1dee25ba1e97fd7651 gerbera-1.4.0.tar.gz
|
||||
sha256 cae4138373be41fd2be75faf41ce7efbcf49fb17d0e05ad1c51cc01ac335b9b6 LICENSE.md
|
||||
sha256 cbe7ea78977db8c02fcca1759ed149f199a590afaf4a6d21ffcca8623d1a0cc5 gerbera-1.6.4.tar.gz
|
||||
sha256 cae4138373be41fd2be75faf41ce7efbcf49fb17d0e05ad1c51cc01ac335b9b6 LICENSE.md
|
||||
|
||||
@@ -4,14 +4,15 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GERBERA_VERSION = 1.4.0
|
||||
GERBERA_VERSION = 1.6.4
|
||||
GERBERA_SITE = $(call github,gerbera,gerbera,v$(GERBERA_VERSION))
|
||||
GERBERA_LICENSE = GPL-2.0
|
||||
GERBERA_LICENSE_FILES = LICENSE.md
|
||||
GERBERA_DEPENDENCIES = \
|
||||
expat \
|
||||
fmt \
|
||||
host-pkgconf \
|
||||
libupnp18 \
|
||||
pugixml \
|
||||
spdlog \
|
||||
sqlite \
|
||||
util-linux \
|
||||
zlib
|
||||
@@ -70,6 +71,15 @@ else
|
||||
GERBERA_CONF_OPTS += -DWITH_MATROSKA=OFF
|
||||
endif
|
||||
|
||||
# Either libupnp or libnpupnp are guranteed to be enabled
|
||||
ifeq ($(BR2_PACKAGE_LIBNPUPNP),y)
|
||||
GERBERA_DEPENDENCIES += libnpupnp
|
||||
GERBERA_CONF_OPTS += -DWITH_NPUPNP=ON
|
||||
else
|
||||
GERBERA_DEPENDENCIES += libupnp
|
||||
GERBERA_CONF_OPTS += -DWITH_NPUPNP=OFF
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_MYSQL),y)
|
||||
GERBERA_DEPENDENCIES += mysql
|
||||
GERBERA_CONF_OPTS += -DWITH_MYSQL=ON
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Locally calculated (fetched from Github)
|
||||
sha256 e1f2c9b424a4e0c00e7ad123a4204f7bc8afd3c504aeb8c79b1086509fd67176 glibc-2.31-54-g6fdf971c9dbf7dac9bea552113fe4694015bbc4d.tar.gz
|
||||
sha256 d7495fb929497bedff9827d01091a4df681cfcbe5204de1d47fc5dab1ba7457c glibc-2.31-74-gd0c84d22b6a67f85a1eed3b93aef30e6953294b5.tar.gz
|
||||
|
||||
# Hashes for license files
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
|
||||
@@ -20,7 +20,7 @@ else ifeq ($(BR2_RISCV_32),y)
|
||||
# Until 2.33 is released, just use master
|
||||
GLIBC_VERSION = 2.32.9000-69-gbd394d131c10c9ec22c6424197b79410042eed99
|
||||
else
|
||||
GLIBC_VERSION = 2.31-54-g6fdf971c9dbf7dac9bea552113fe4694015bbc4d
|
||||
GLIBC_VERSION = 2.31-74-gd0c84d22b6a67f85a1eed3b93aef30e6953294b5
|
||||
endif
|
||||
# Upstream doesn't officially provide an https download link.
|
||||
# There is one (https://sourceware.org/git/glibc.git) but it's not reliable,
|
||||
|
||||
175
buildroot/package/gmrender-resurrect/0001-Drop-UpnpInit.patch
Normal file
175
buildroot/package/gmrender-resurrect/0001-Drop-UpnpInit.patch
Normal file
@@ -0,0 +1,175 @@
|
||||
From dc8c4d4dc234311b3099e7f1efadf5d9733c81e9 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Fri, 21 Aug 2020 21:29:00 +0200
|
||||
Subject: [PATCH] Drop UpnpInit
|
||||
|
||||
UpnpInit has been dropped from libupnp 1.14.x as it can't be fixed
|
||||
against CallStranger a.k.a. CVE-2020-12695 so replace it by UpnpInit2
|
||||
which is available since version 1.6.7 and
|
||||
https://github.com/pupnp/pupnp/commit/2bcbdffd89a70364147d345ec5e70a3fce5cbc29
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Upstream status:
|
||||
https://github.com/hzeller/gmrender-resurrect/pull/214]
|
||||
---
|
||||
dist-scripts/centos7/README.md | 2 +-
|
||||
dist-scripts/debian/gmediarender.1 | 8 ++------
|
||||
dist-scripts/fedora/README.md | 2 +-
|
||||
src/main.c | 13 ++++---------
|
||||
src/upnp_device.c | 18 +++++++++---------
|
||||
src/upnp_device.h | 2 +-
|
||||
6 files changed, 18 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git a/dist-scripts/centos7/README.md b/dist-scripts/centos7/README.md
|
||||
index 278d777..ed82fb6 100644
|
||||
--- a/dist-scripts/centos7/README.md
|
||||
+++ b/dist-scripts/centos7/README.md
|
||||
@@ -45,7 +45,7 @@ Additional configuration is also recommended, sice there's no configuration file
|
||||
# vi /etc/systemd/system/gmediarender.service.d/customize.conf # or nano, or emacs, or whatever editor you like
|
||||
[Service]
|
||||
ExecStart=
|
||||
- ExecStart=/usr/bin/gmediarender --port=49494 --ip-address=<your_IP_address> -f "DLNA Renderer GMediaRender"
|
||||
+ ExecStart=/usr/bin/gmediarender --port=49494 --interface-name=<your_interface_name> -f "DLNA Renderer GMediaRender"
|
||||
|
||||
# systemctl daemon-reload
|
||||
# systemctl start gmediarender.service
|
||||
diff --git a/dist-scripts/debian/gmediarender.1 b/dist-scripts/debian/gmediarender.1
|
||||
index 96123ff..b2b1359 100644
|
||||
--- a/dist-scripts/debian/gmediarender.1
|
||||
+++ b/dist-scripts/debian/gmediarender.1
|
||||
@@ -50,12 +50,8 @@ Usually, it is desirable for the renderer
|
||||
to show up on controllers under a recognisable and unique name. This is
|
||||
the option to set that name.
|
||||
.TP
|
||||
-.B \-I, \-\-ip\-address \fI\<ip-address\>\fP
|
||||
-The local IP address the service is running and advertised on.
|
||||
-
|
||||
-This can
|
||||
-only be a single address, and must be explicitly specified (i.e. not
|
||||
-0.0.0.0).
|
||||
+.B \-I, \-\-interface\-name \fI\<interface-name\>\fP
|
||||
+The local interface name the service is running and advertised on.
|
||||
.TP
|
||||
.B \-p, \-\-port \fI\<port>\fP
|
||||
Port to listen to. [49152..65535].
|
||||
diff --git a/dist-scripts/fedora/README.md b/dist-scripts/fedora/README.md
|
||||
index 7b9ea4b..45aa536 100644
|
||||
--- a/dist-scripts/fedora/README.md
|
||||
+++ b/dist-scripts/fedora/README.md
|
||||
@@ -43,7 +43,7 @@ Additional configuration is also recommended, sice there's no configuration file
|
||||
# vi /etc/systemd/system/gmediarender.service.d/customize.conf # or nano, or emacs, or whatever editor you like
|
||||
[Service]
|
||||
ExecStart=
|
||||
- ExecStart=/usr/bin/gmediarender --port=49494 --ip-address=<your_IP_address> -f "DLNA Renderer GMediaRender"
|
||||
+ ExecStart=/usr/bin/gmediarender --port=49494 --interface-name=<your_interface_name> -f "DLNA Renderer GMediaRender"
|
||||
|
||||
# systemctl daemon-reload
|
||||
# systemctl start gmediarender.service
|
||||
diff --git a/src/main.c b/src/main.c
|
||||
index ef720e3..2030c49 100644
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -69,11 +69,7 @@ static gboolean show_transport_scpd = FALSE;
|
||||
static gboolean show_outputs = FALSE;
|
||||
static gboolean daemon_mode = FALSE;
|
||||
|
||||
-// IP-address seems strange in libupnp: they actually don't bind to
|
||||
-// that address, but to INADDR_ANY (miniserver.c in upnp library).
|
||||
-// Apparently they just use this for the advertisement ? Anyway, 0.0.0.0 would
|
||||
-// not work.
|
||||
-static const gchar *ip_address = NULL;
|
||||
+static const gchar *interface_name = NULL;
|
||||
static int listen_port = 49494;
|
||||
|
||||
#ifdef GMRENDER_UUID
|
||||
@@ -92,9 +88,8 @@ static const gchar *mime_filter = NULL;
|
||||
static GOptionEntry option_entries[] = {
|
||||
{ "version", 0, 0, G_OPTION_ARG_NONE, &show_version,
|
||||
"Output version information and exit", NULL },
|
||||
- { "ip-address", 'I', 0, G_OPTION_ARG_STRING, &ip_address,
|
||||
- "The local IP address the service is running and advertised "
|
||||
- "(only one, 0.0.0.0 won't work)", NULL },
|
||||
+ { "interface-name", 'I', 0, G_OPTION_ARG_STRING, &interface_name,
|
||||
+ "The local interface name the service is running and advertised", NULL },
|
||||
// The following is not very reliable, as libupnp does not set
|
||||
// SO_REUSEADDR by default, so it might increment (sending patch).
|
||||
{ "port", 'p', 0, G_OPTION_ARG_INT, &listen_port,
|
||||
@@ -302,7 +297,7 @@ int main(int argc, char **argv)
|
||||
listen_port);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
- device = upnp_device_init(upnp_renderer, ip_address, listen_port);
|
||||
+ device = upnp_device_init(upnp_renderer, interface_name, listen_port);
|
||||
if (device == NULL) {
|
||||
Log_error("main", "ERROR: Failed to initialize UPnP device");
|
||||
return EXIT_FAILURE;
|
||||
diff --git a/src/upnp_device.c b/src/upnp_device.c
|
||||
index db65e4f..3151238 100644
|
||||
--- a/src/upnp_device.c
|
||||
+++ b/src/upnp_device.c
|
||||
@@ -416,13 +416,13 @@ static UPNP_CALLBACK(event_handler, EventType, event, userdata)
|
||||
|
||||
static gboolean initialize_device(struct upnp_device_descriptor *device_def,
|
||||
struct upnp_device *result_device,
|
||||
- const char *ip_address,
|
||||
+ const char *interface_name,
|
||||
unsigned short port)
|
||||
{
|
||||
int rc;
|
||||
char *buf;
|
||||
|
||||
- rc = UpnpInit(ip_address, port);
|
||||
+ rc = UpnpInit2(interface_name, port);
|
||||
/* There have been situations reported in which UPNP had issues
|
||||
* initializing right after network came up. #129
|
||||
*/
|
||||
@@ -430,13 +430,13 @@ static gboolean initialize_device(struct upnp_device_descriptor *device_def,
|
||||
static const int kRetryTimeMs = 1000;
|
||||
while (rc != UPNP_E_SUCCESS && retries_left--) {
|
||||
usleep(kRetryTimeMs * 1000);
|
||||
- Log_error("upnp", "UpnpInit(ip=%s, port=%d) Error: %s (%d). Retrying... (%ds)",
|
||||
- ip_address, port, UpnpGetErrorMessage(rc), rc, retries_left);
|
||||
- rc = UpnpInit(ip_address, port);
|
||||
+ Log_error("upnp", "UpnpInit2(interface=%s, port=%d) Error: %s (%d). Retrying... (%ds)",
|
||||
+ interface_name, port, UpnpGetErrorMessage(rc), rc, retries_left);
|
||||
+ rc = UpnpInit2(interface_name, port);
|
||||
}
|
||||
if (UPNP_E_SUCCESS != rc) {
|
||||
- Log_error("upnp", "UpnpInit(ip=%s, port=%d) Error: %s (%d). Giving up.",
|
||||
- ip_address, port, UpnpGetErrorMessage(rc), rc);
|
||||
+ Log_error("upnp", "UpnpInit2(interface=%s, port=%d) Error: %s (%d). Giving up.",
|
||||
+ interface_name, port, UpnpGetErrorMessage(rc), rc);
|
||||
return FALSE;
|
||||
}
|
||||
Log_info("upnp", "Registered IP=%s port=%d\n",
|
||||
@@ -483,7 +483,7 @@ static gboolean initialize_device(struct upnp_device_descriptor *device_def,
|
||||
}
|
||||
|
||||
struct upnp_device *upnp_device_init(struct upnp_device_descriptor *device_def,
|
||||
- const char *ip_address,
|
||||
+ const char *interface_name,
|
||||
unsigned short port)
|
||||
{
|
||||
int rc;
|
||||
@@ -516,7 +516,7 @@ struct upnp_device *upnp_device_init(struct upnp_device_descriptor *device_def,
|
||||
webserver_register_buf(srv->scpd_url, buf, "text/xml");
|
||||
}
|
||||
|
||||
- if (!initialize_device(device_def, result_device, ip_address, port)) {
|
||||
+ if (!initialize_device(device_def, result_device, interface_name, port)) {
|
||||
UpnpFinish();
|
||||
free(result_device);
|
||||
return NULL;
|
||||
diff --git a/src/upnp_device.h b/src/upnp_device.h
|
||||
index 3e635e1..8c8e783 100644
|
||||
--- a/src/upnp_device.h
|
||||
+++ b/src/upnp_device.h
|
||||
@@ -49,7 +49,7 @@ struct upnp_device;
|
||||
struct action_event;
|
||||
|
||||
struct upnp_device *upnp_device_init(struct upnp_device_descriptor *device_def,
|
||||
- const char *ip_address,
|
||||
+ const char *interface_name,
|
||||
unsigned short port);
|
||||
|
||||
void upnp_device_shutdown(struct upnp_device *device);
|
||||
@@ -5,7 +5,7 @@ config BR2_PACKAGE_GMRENDER_RESURRECT
|
||||
depends on BR2_USE_MMU # gstreamer1
|
||||
select BR2_PACKAGE_GSTREAMER1
|
||||
select BR2_PACKAGE_GST1_PLUGINS_BASE # run-time only
|
||||
select BR2_PACKAGE_LIBUPNP18 if !BR2_PACKAGE_LIBUPNP
|
||||
select BR2_PACKAGE_LIBUPNP
|
||||
help
|
||||
UPnP (DLNA) media renderer based on gstreamer
|
||||
|
||||
|
||||
@@ -13,6 +13,6 @@ GMRENDER_RESURRECT_LICENSE = GPL-2.0+
|
||||
GMRENDER_RESURRECT_LICENSE_FILES = COPYING
|
||||
GMRENDER_RESURRECT_DEPENDENCIES = \
|
||||
gstreamer1 \
|
||||
$(if $(BR2_PACKAGE_LIBUPNP),libupnp,libupnp18)
|
||||
libupnp
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
|
||||
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
|
||||
|
||||
@@ -13,6 +14,7 @@ config BR2_PACKAGE_GNURADIO
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
depends on BR2_USE_MMU # use fork()
|
||||
depends on BR2_USE_WCHAR # boost
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
|
||||
select BR2_PACKAGE_BOOST
|
||||
select BR2_PACKAGE_BOOST_ATOMIC
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
comment "gqrx needs a toolchain w/ C++, threads, wchar, dynamic library"
|
||||
depends on BR2_USE_MMU # gnuradio
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
!BR2_USE_WCHAR || !BR2_STATIC_LIBS
|
||||
|
||||
@@ -19,6 +20,7 @@ config BR2_PACKAGE_GQRX
|
||||
depends on BR2_USE_WCHAR # boost
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
|
||||
depends on BR2_PACKAGE_QT5
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # gnuradio -> boost-atomic
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # gnuradio
|
||||
select BR2_PACKAGE_BOOST
|
||||
select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
|
||||
|
||||
@@ -1,199 +0,0 @@
|
||||
From 23ed73623810a0894c8efd9eb79dd38483794a3b Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fabrice.fontaine@orange.com>
|
||||
Date: Thu, 20 Aug 2020 18:17:03 +0200
|
||||
Subject: [PATCH] fix build with gcc 10
|
||||
|
||||
This will fix build failures with -fno-common which is enabled by
|
||||
default with gcc 10
|
||||
|
||||
Fixes:
|
||||
- http://autobuild.buildroot.org/results/f296984c3851fc28341210e36ef1b55b2edac209
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
|
||||
[Retrieved from:
|
||||
https://github.com/Orange-OpenSource/igd2-for-linux/commit/23ed73623810a0894c8efd9eb79dd38483794a3b]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
linuxigd2/src/gatedevice.c | 37 +++++++++++++++++++++++++++++++++
|
||||
linuxigd2/src/gatedevice.h | 42 +++++++++-----------------------------
|
||||
linuxigd2/src/pinholev6.c | 2 ++
|
||||
linuxigd2/src/pinholev6.h | 2 +-
|
||||
linuxigd2/src/pmlist.c | 5 +++++
|
||||
linuxigd2/src/pmlist.h | 2 +-
|
||||
linuxigd2/src/wanipv6fw.h | 3 ---
|
||||
7 files changed, 56 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/linuxigd2/src/gatedevice.c b/linuxigd2/src/gatedevice.c
|
||||
index 8be53e5..a50525d 100644
|
||||
--- a/linuxigd2/src/gatedevice.c
|
||||
+++ b/linuxigd2/src/gatedevice.c
|
||||
@@ -41,6 +41,43 @@
|
||||
#include "wanipv6fw.h"
|
||||
#include "config.h"
|
||||
|
||||
+// Thread which contains all kind of timers and threads used in gatedevice.c and deviceprotection.c
|
||||
+TimerThread gExpirationTimerThread;
|
||||
+
|
||||
+// IGD Device Globals
|
||||
+UpnpDevice_Handle deviceHandle;
|
||||
+UpnpDevice_Handle deviceHandleIPv6;
|
||||
+UpnpDevice_Handle deviceHandleIPv6UlaGua;
|
||||
+char *gateUDN;
|
||||
+char *wanUDN;
|
||||
+char *wanConnectionUDN;
|
||||
+char *lanUDN;
|
||||
+long int startup_time;
|
||||
+unsigned long connection_stats[STATS_LIMIT]; // this is used for defining if connection is in idling
|
||||
+long int idle_time;
|
||||
+
|
||||
+// State Variables
|
||||
+char ConnectionType[50];
|
||||
+char PossibleConnectionTypes[50];
|
||||
+char ConnectionStatus[20];
|
||||
+char LastConnectionError[35];
|
||||
+long int AutoDisconnectTime;
|
||||
+long int IdleDisconnectTime;
|
||||
+long int WarnDisconnectDelay;
|
||||
+int RSIPAvailable;
|
||||
+int NATEnabled;
|
||||
+char ExternalIPAddress[INET6_ADDRSTRLEN];
|
||||
+int PortMappingNumberOfEntries;
|
||||
+int PortMappingEnabled;
|
||||
+char RemoteHost[INET6_ADDRSTRLEN]; // updated IPv6 addrss length 16 -> 46
|
||||
+long int SystemUpdateID;
|
||||
+
|
||||
+// WANEthLinkConfig state variables
|
||||
+char EthernetLinkStatus[12];
|
||||
+
|
||||
+char FirewallEnabled[2];
|
||||
+char InboundPinholeAllowed[2];
|
||||
+
|
||||
//Definitions for mapping expiration timer thread
|
||||
static ThreadPool gExpirationThreadPool;
|
||||
static ThreadPoolJob gEventUpdateJob;
|
||||
diff --git a/linuxigd2/src/gatedevice.h b/linuxigd2/src/gatedevice.h
|
||||
index 28d6b21..dbaa0c2 100644
|
||||
--- a/linuxigd2/src/gatedevice.h
|
||||
+++ b/linuxigd2/src/gatedevice.h
|
||||
@@ -33,42 +33,20 @@
|
||||
#include "util.h"
|
||||
|
||||
// Thread which contains all kind of timers and threads used in gatedevice.c and deviceprotection.c
|
||||
-TimerThread gExpirationTimerThread;
|
||||
+extern TimerThread gExpirationTimerThread;
|
||||
|
||||
// IGD Device Globals
|
||||
-UpnpDevice_Handle deviceHandle;
|
||||
-UpnpDevice_Handle deviceHandleIPv6;
|
||||
-UpnpDevice_Handle deviceHandleIPv6UlaGua;
|
||||
-char *gateUDN;
|
||||
-char *wanUDN;
|
||||
-char *wanConnectionUDN;
|
||||
-char *lanUDN;
|
||||
-long int startup_time;
|
||||
-unsigned long connection_stats[STATS_LIMIT]; // this is used for defining if connection is in idling
|
||||
-long int idle_time;
|
||||
-
|
||||
-// State Variables
|
||||
-char ConnectionType[50];
|
||||
-char PossibleConnectionTypes[50];
|
||||
-char ConnectionStatus[20];
|
||||
-char LastConnectionError[35];
|
||||
-long int AutoDisconnectTime;
|
||||
-long int IdleDisconnectTime;
|
||||
-long int WarnDisconnectDelay;
|
||||
-int RSIPAvailable;
|
||||
-int NATEnabled;
|
||||
-char ExternalIPAddress[INET6_ADDRSTRLEN];
|
||||
-int PortMappingNumberOfEntries;
|
||||
-int PortMappingEnabled;
|
||||
-char RemoteHost[INET6_ADDRSTRLEN]; // updated IPv6 addrss length 16 -> 46
|
||||
-long int SystemUpdateID;
|
||||
-
|
||||
-// WANEthLinkConfig state variables
|
||||
-char EthernetLinkStatus[12];
|
||||
+extern UpnpDevice_Handle deviceHandle;
|
||||
+extern UpnpDevice_Handle deviceHandleIPv6;
|
||||
+extern UpnpDevice_Handle deviceHandleIPv6UlaGua;
|
||||
+extern char *gateUDN;
|
||||
+extern char *wanUDN;
|
||||
+extern char *wanConnectionUDN;
|
||||
+extern char *lanUDN;
|
||||
|
||||
// Linked list for portmapping entries
|
||||
-struct portMap *pmlist_Head;
|
||||
-struct portMap *pmlist_Current;
|
||||
+extern struct portMap *pmlist_Head;
|
||||
+extern struct portMap *pmlist_Current;
|
||||
|
||||
// WanIPConnection Actions
|
||||
int EventHandler(Upnp_EventType EventType, void *Event, void *Cookie);
|
||||
diff --git a/linuxigd2/src/pinholev6.c b/linuxigd2/src/pinholev6.c
|
||||
index 44e8a19..78f886d 100644
|
||||
--- a/linuxigd2/src/pinholev6.c
|
||||
+++ b/linuxigd2/src/pinholev6.c
|
||||
@@ -41,6 +41,8 @@ extern "C" {
|
||||
#include "gatedevice.h"
|
||||
#include "pinholev6.h"
|
||||
|
||||
+struct pinholev6 *ph_first;
|
||||
+
|
||||
static const char * add_rule_str = "ip6tables -I %s " //upnp forward chain
|
||||
"-i %s " //input interface
|
||||
"-o %s " //output interface
|
||||
diff --git a/linuxigd2/src/pinholev6.h b/linuxigd2/src/pinholev6.h
|
||||
index 295b9f9..353ae27 100644
|
||||
--- a/linuxigd2/src/pinholev6.h
|
||||
+++ b/linuxigd2/src/pinholev6.h
|
||||
@@ -37,7 +37,7 @@ struct pinholev6 {
|
||||
|
||||
struct pinholev6 *next;
|
||||
|
||||
-} *ph_first;
|
||||
+};
|
||||
|
||||
struct phv6_expirationEvent
|
||||
{
|
||||
diff --git a/linuxigd2/src/pmlist.c b/linuxigd2/src/pmlist.c
|
||||
index 1b3fe05..95d0c61 100644
|
||||
--- a/linuxigd2/src/pmlist.c
|
||||
+++ b/linuxigd2/src/pmlist.c
|
||||
@@ -41,6 +41,11 @@
|
||||
#include "iptc.h"
|
||||
#endif
|
||||
|
||||
+// Linked list for portmapping entries
|
||||
+struct portMap *pmlist_Head;
|
||||
+struct portMap *pmlist_Current;
|
||||
+struct portMap *pmlist_Tail;
|
||||
+
|
||||
/**
|
||||
* Create new portMap struct of rule to add iptables.
|
||||
* portMap-struct is internal presentation of iptables rule in IGD.
|
||||
diff --git a/linuxigd2/src/pmlist.h b/linuxigd2/src/pmlist.h
|
||||
index 436d228..017500d 100644
|
||||
--- a/linuxigd2/src/pmlist.h
|
||||
+++ b/linuxigd2/src/pmlist.h
|
||||
@@ -57,7 +57,7 @@ struct portMap
|
||||
|
||||
struct portMap* next;
|
||||
struct portMap* prev;
|
||||
-} *pmlist_Head, *pmlist_Tail, *pmlist_Current;
|
||||
+};
|
||||
|
||||
//struct portMap* pmlist_NewNode(void);
|
||||
struct portMap* pmlist_NewNode(int enabled, long int duration, char *remoteHost,
|
||||
diff --git a/linuxigd2/src/wanipv6fw.h b/linuxigd2/src/wanipv6fw.h
|
||||
index 55419fe..a50d267 100644
|
||||
--- a/linuxigd2/src/wanipv6fw.h
|
||||
+++ b/linuxigd2/src/wanipv6fw.h
|
||||
@@ -46,9 +46,6 @@ extern "C" {
|
||||
#define ERR_SRC_ADD_WILDCARD 708
|
||||
#define ERR_NO_TRAFFIC 709
|
||||
|
||||
-char FirewallEnabled[2];
|
||||
-char InboundPinholeAllowed[2];
|
||||
-
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
int InitFirewallv6(void);
|
||||
@@ -18,7 +18,7 @@ config BR2_PACKAGE_IGD2_FOR_LINUX
|
||||
|
||||
Please edit /etc/upnpd.conf before using upnpd!
|
||||
|
||||
https://github.com/ffontaine/igd2-for-linux
|
||||
https://github.com/Orange-OpenSource/igd2-for-linux
|
||||
|
||||
comment "igd2-for-linux needs a toolchain w/ threads, wchar"
|
||||
depends on BR2_USE_MMU
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# Locally computed:
|
||||
sha256 523545a26b0d662e9f6913bec2518df6e70f4d497935d88983d994336a1b0ea9 igd2-for-linux-1.2.tar.gz
|
||||
sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 linuxigd2/doc/LICENSE
|
||||
sha256 e3fcc7c9da4ad1ca16227b3b1b3712bcfb3f6ec922685eee7ae4a76edfa32bb4 igd2-for-linux-2.0.tar.gz
|
||||
sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 linuxigd2/doc/LICENSE
|
||||
sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 linuxigd2/src/threadutil/COPYING
|
||||
|
||||
@@ -4,11 +4,12 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IGD2_FOR_LINUX_VERSION = 1.2
|
||||
IGD2_FOR_LINUX_SITE = $(call github,ffontaine,igd2-for-linux,v$(IGD2_FOR_LINUX_VERSION))
|
||||
IGD2_FOR_LINUX_VERSION = 2.0
|
||||
IGD2_FOR_LINUX_SITE = \
|
||||
$(call github,Orange-OpenSource,igd2-for-linux,v$(IGD2_FOR_LINUX_VERSION))
|
||||
|
||||
IGD2_FOR_LINUX_LICENSE = GPL-2.0
|
||||
IGD2_FOR_LINUX_LICENSE_FILES = linuxigd2/doc/LICENSE
|
||||
IGD2_FOR_LINUX_LICENSE = GPL-2.0, BSD-3-Clause
|
||||
IGD2_FOR_LINUX_LICENSE_FILES = linuxigd2/doc/LICENSE linuxigd2/src/threadutil/COPYING
|
||||
|
||||
IGD2_FOR_LINUX_DEPENDENCIES = libupnp
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ config BR2_PACKAGE_KODI_PVR_ZATTOO
|
||||
bool "kodi-pvr-zattoo"
|
||||
select BR2_PACKAGE_KODI_PLATFORM
|
||||
select BR2_PACKAGE_LIBPLATFORM
|
||||
select BR2_PACKAGE_RAPIDXML
|
||||
select BR2_PACKAGE_RAPIDJSON
|
||||
select BR2_PACKAGE_TINYXML2
|
||||
help
|
||||
Kodi PVR-Addon for Zattoo
|
||||
|
||||
@@ -8,6 +8,6 @@ KODI_PVR_ZATTOO_VERSION = 18.1.21-Leia
|
||||
KODI_PVR_ZATTOO_SITE = $(call github,rbuehlma,pvr.zattoo,$(KODI_PVR_ZATTOO_VERSION))
|
||||
KODI_PVR_ZATTOO_LICENSE = GPL-2.0+
|
||||
KODI_PVR_ZATTOO_LICENSE_FILES = debian/copyright
|
||||
KODI_PVR_ZATTOO_DEPENDENCIES = kodi-platform libplatform rapidxml tinyxml2
|
||||
KODI_PVR_ZATTOO_DEPENDENCIES = kodi-platform libplatform rapidjson tinyxml2
|
||||
|
||||
$(eval $(cmake-package))
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
# Use the latest commit from release_90 branch.
|
||||
LIBCLC_VERSION = d1cbc92e2ceee59963f5c3a576382e5bba31f060
|
||||
LIBCLC_SITE = https://git.llvm.org/git/libclc
|
||||
LIBCLC_SITE = https://github.com/llvm-mirror/libclc
|
||||
LIBCLC_SITE_METHOD = git
|
||||
LIBCLC_LICENSE = Apache-2.0 with exceptions or MIT
|
||||
LIBCLC_LICENSE_FILES = LICENSE.TXT
|
||||
|
||||
@@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBCPPRESTSDK
|
||||
depends on BR2_ENABLE_LOCALE
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_USE_WCHAR # boost
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
select BR2_PACKAGE_BOOST
|
||||
@@ -23,6 +24,7 @@ config BR2_PACKAGE_LIBCPPRESTSDK
|
||||
https://github.com/Microsoft/cpprestsdk
|
||||
|
||||
comment "libcpprestsdk needs a toolchain w/ NPTL, C++, wchar, locale"
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
|
||||
!BR2_INSTALL_LIBSTDCPP || \
|
||||
!BR2_USE_WCHAR || !BR2_ENABLE_LOCALE
|
||||
|
||||
@@ -23,4 +23,8 @@ define LIBFUSE3_PERMISSIONS
|
||||
/usr/bin/fusermount3 f 4755 0 0 - - - - -
|
||||
endef
|
||||
|
||||
define LIBFUSE3_LINUX_CONFIG_FIXUPS
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_FUSE_FS)
|
||||
endef
|
||||
|
||||
$(eval $(meson-package))
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
config BR2_PACKAGE_LIBLLCP
|
||||
bool "libllcp"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
select BR2_PACKAGE_LIBNFC
|
||||
help
|
||||
Library extending libnfc with support for Logical Link Control
|
||||
Protocol.
|
||||
|
||||
https://github.com/nfc-tools/libllcp
|
||||
|
||||
comment "libllcp needs a toolchain w/ threads"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
@@ -12,6 +12,6 @@ LIBODB_MYSQL_INSTALL_STAGING = YES
|
||||
LIBODB_MYSQL_LICENSE = GPL-2.0
|
||||
LIBODB_MYSQL_LICENSE_FILES = LICENSE
|
||||
LIBODB_MYSQL_DEPENDENCIES = libodb mysql
|
||||
LIBODB_MYSQL_CONF_ENV = LIBS="$(shell $(STAGING_DIR)/usr/bin/mysql_config --libs)"
|
||||
LIBODB_MYSQL_CONF_ENV = LIBS=`$(STAGING_DIR)/usr/bin/mysql_config --libs`
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
comment "libtorrent-rasterbar needs a toolchain w/ C++, threads, wchar, gcc >= 4.9"
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK
|
||||
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
|
||||
!BR2_HOST_GCC_AT_LEAST_4_9 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
!BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
||||
|
||||
comment "libtorrent-rasterbar needs exception_ptr"
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK
|
||||
@@ -11,7 +11,6 @@ comment "libtorrent-rasterbar needs exception_ptr"
|
||||
config BR2_PACKAGE_LIBTORRENT_RASTERBAR
|
||||
bool "libtorrent-rasterbar"
|
||||
depends on BR2_INSTALL_LIBSTDCPP # boost
|
||||
depends on BR2_HOST_GCC_AT_LEAST_4_9 # C++11
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # boost
|
||||
depends on BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally computed:
|
||||
sha256 c5a300b86775435c076d58a79cc0d5a977d76027d2a7d721590729b7f369fa43 libupnp-1.6.25.tar.bz2
|
||||
sha256 0375955c8a79d6e8fa0792d45d00fc4e7710d7ac95bcbd27f9225a83f5c946fd LICENSE
|
||||
sha256 ecb23d4291968c8a7bdd4eb16fc2250dbacc16b354345a13342d67f571d35ceb libupnp-1.14.0.tar.bz2
|
||||
sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 COPYING
|
||||
|
||||
@@ -4,12 +4,24 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBUPNP_VERSION = 1.6.25
|
||||
LIBUPNP_VERSION = 1.14.0
|
||||
LIBUPNP_SOURCE = libupnp-$(LIBUPNP_VERSION).tar.bz2
|
||||
LIBUPNP_SITE = http://downloads.sourceforge.net/project/pupnp/pupnp/libUPnP%20$(LIBUPNP_VERSION)
|
||||
LIBUPNP_SITE = \
|
||||
http://downloads.sourceforge.net/project/pupnp/pupnp/libupnp-$(LIBUPNP_VERSION)
|
||||
LIBUPNP_CONF_ENV = ac_cv_lib_compat_ftime=no
|
||||
LIBUPNP_INSTALL_STAGING = YES
|
||||
LIBUPNP_LICENSE = BSD-3-Clause
|
||||
LIBUPNP_LICENSE_FILES = LICENSE
|
||||
LIBUPNP_LICENSE_FILES = COPYING
|
||||
LIBUPNP_DEPENDENCIES = host-pkgconf
|
||||
|
||||
# Bind the internal miniserver socket with reuseaddr to allow clean restarts.
|
||||
LIBUPNP_CONF_OPTS += --enable-reuseaddr
|
||||
|
||||
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
||||
LIBUPNP_CONF_OPTS += --enable-open-ssl
|
||||
LIBUPNP_DEPENDENCIES += openssl
|
||||
else
|
||||
LIBUPNP_CONF_OPTS += --disable-open-ssl
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
config BR2_PACKAGE_LIBUPNP18
|
||||
bool "libupnp18"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_PACKAGE_LIBUPNP
|
||||
help
|
||||
The portable SDK for UPnP(tm) Devices (libupnp) provides
|
||||
developers with an API and open source code for building
|
||||
control points, devices, and bridges that are compliant with
|
||||
Version 1.0 of the Universal Plug and Play Device Architecture
|
||||
Specification
|
||||
|
||||
http://pupnp.sourceforge.net/
|
||||
|
||||
comment "libupnp18 needs a toolchain w/ threads"
|
||||
depends on !BR2_PACKAGE_LIBUPNP
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
@@ -1,5 +0,0 @@
|
||||
# From https://sourceforge.net/projects/pupnp/files/pupnp/libupnp-1.8.7/libupnp-1.8.7.tar.bz2.sha1
|
||||
sha1 2ea3011180c58b0584f0cb73cc8e685a0a1c4ec8 libupnp-1.8.7.tar.bz2
|
||||
# Locally computed:
|
||||
sha256 e38c69b2b67322e67cd53680db9b02c7c1f720a47a3cd626fd89d57d2dca93b8 libupnp-1.8.7.tar.bz2
|
||||
sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 COPYING
|
||||
@@ -1,26 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# libupnp18
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBUPNP18_VERSION = 1.8.7
|
||||
LIBUPNP18_SOURCE = libupnp-$(LIBUPNP18_VERSION).tar.bz2
|
||||
LIBUPNP18_SITE = http://downloads.sourceforge.net/project/pupnp/pupnp/libupnp-$(LIBUPNP18_VERSION)
|
||||
LIBUPNP18_CONF_ENV = ac_cv_lib_compat_ftime=no
|
||||
LIBUPNP18_INSTALL_STAGING = YES
|
||||
LIBUPNP18_LICENSE = BSD-3-Clause
|
||||
LIBUPNP18_LICENSE_FILES = COPYING
|
||||
LIBUPNP18_DEPENDENCIES = host-pkgconf
|
||||
|
||||
# Bind the internal miniserver socket with reuseaddr to allow clean restarts.
|
||||
LIBUPNP18_CONF_OPTS += --enable-reuseaddr
|
||||
|
||||
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
||||
LIBUPNP18_CONF_OPTS += --enable-open-ssl
|
||||
LIBUPNP18_DEPENDENCIES += openssl
|
||||
else
|
||||
LIBUPNP18_CONF_OPTS += --disable-open-ssl
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
@@ -346,13 +346,13 @@ endchoice
|
||||
|
||||
config BR2_DEFAULT_KERNEL_HEADERS
|
||||
string
|
||||
default "4.4.248" if BR2_KERNEL_HEADERS_4_4
|
||||
default "4.9.248" if BR2_KERNEL_HEADERS_4_9
|
||||
default "4.14.212" if BR2_KERNEL_HEADERS_4_14
|
||||
default "4.19.163" if BR2_KERNEL_HEADERS_4_19
|
||||
default "5.4.83" if BR2_KERNEL_HEADERS_5_4
|
||||
default "4.4.253" if BR2_KERNEL_HEADERS_4_4
|
||||
default "4.9.253" if BR2_KERNEL_HEADERS_4_9
|
||||
default "4.14.217" if BR2_KERNEL_HEADERS_4_14
|
||||
default "4.19.171" if BR2_KERNEL_HEADERS_4_19
|
||||
default "5.4.93" if BR2_KERNEL_HEADERS_5_4
|
||||
default "5.8.18" if BR2_KERNEL_HEADERS_5_8
|
||||
default "5.9.14" if BR2_KERNEL_HEADERS_5_9
|
||||
default "5.9.16" if BR2_KERNEL_HEADERS_5_9
|
||||
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
|
||||
default "custom" if BR2_KERNEL_HEADERS_CUSTOM_TARBALL
|
||||
default BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION \
|
||||
|
||||
@@ -17,8 +17,7 @@ LUAROCKS_CONFIG_FILE = $(LUAROCKS_CONFIG_DIR)/luarocks/config.lua
|
||||
HOST_LUAROCKS_CONFIG_FILE = $(LUAROCKS_CONFIG_DIR)/luarocks/host-config.lua
|
||||
|
||||
define LUAROCKS_ADDON_EXTRACT
|
||||
mkdir $(@D)/src/luarocks/cmd/external
|
||||
cp package/luarocks/buildroot.lua $(@D)/src/luarocks/cmd/external/buildroot.lua
|
||||
$(INSTALL) -D -m 0644 package/luarocks/buildroot.lua $(@D)/src/luarocks/cmd/external/buildroot.lua
|
||||
endef
|
||||
HOST_LUAROCKS_POST_EXTRACT_HOOKS += LUAROCKS_ADDON_EXTRACT
|
||||
|
||||
|
||||
@@ -390,7 +390,7 @@ config BR2_PACKAGE_MPD_TCP
|
||||
config BR2_PACKAGE_MPD_UPNP
|
||||
bool "UPnP"
|
||||
select BR2_PACKAGE_EXPAT
|
||||
select BR2_PACKAGE_LIBUPNP18 if !BR2_PACKAGE_LIBUPNP
|
||||
select BR2_PACKAGE_LIBUPNP
|
||||
select BR2_PACKAGE_MPD_CURL
|
||||
help
|
||||
Enable MPD UPnP client support.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user