diff --git a/buildroot-external/board/raspberrypi/patches/uboot/0002-mmc-unirqify-bcm2835-sdhost-and-fix-writes.patch b/buildroot-external/board/raspberrypi/patches/uboot/0002-mmc-unirqify-bcm2835-sdhost-and-fix-writes.patch deleted file mode 100644 index 62d84c820..000000000 --- a/buildroot-external/board/raspberrypi/patches/uboot/0002-mmc-unirqify-bcm2835-sdhost-and-fix-writes.patch +++ /dev/null @@ -1,409 +0,0 @@ -From patchwork Wed May 23 20:24:51 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [U-Boot] mmc: Unirqify bcm2835_sdhost and fix writes -X-Patchwork-Submitter: Alexander Graf -X-Patchwork-Id: 919394 -X-Patchwork-Delegate: agraf@suse.de -Message-Id: <20180523202451.68781-1-agraf@suse.de> -To: u-boot@lists.denx.de -Date: Wed, 23 May 2018 22:24:51 +0200 -From: Alexander Graf -List-Id: U-Boot discussion - -The bcm2835 sdhost driver has a problem with "write multiple" commands. -It seems to boil down to the fact that the controller dislikes its FIFO -to get drained at the end of a block when a write multiple blocks command -is in flight. - -The easy fix is to simply get rid of all the IRQ driven logic and make -the driver push as much data into the FIFO as it can. That way we never -drain and we never run into the problem. - -Reported-by: Jan Leonhardt -Signed-off-by: Alexander Graf ---- - drivers/mmc/bcm2835_sdhost.c | 265 ++++++++----------------------------------- - 1 file changed, 47 insertions(+), 218 deletions(-) - -diff --git a/drivers/mmc/bcm2835_sdhost.c b/drivers/mmc/bcm2835_sdhost.c -index 96428333b0..1ce019af57 100644 ---- a/drivers/mmc/bcm2835_sdhost.c -+++ b/drivers/mmc/bcm2835_sdhost.c -@@ -163,7 +163,6 @@ struct bcm2835_host { - int clock; /* Current clock speed */ - unsigned int max_clk; /* Max possible freq */ - unsigned int blocks; /* remaining PIO blocks */ -- int irq; /* Device IRQ */ - - u32 ns_per_fifo_word; - -@@ -173,14 +172,7 @@ struct bcm2835_host { - - struct mmc_cmd *cmd; /* Current command */ - struct mmc_data *data; /* Current data request */ -- bool data_complete:1;/* Data finished before cmd */ - bool use_busy:1; /* Wait for busy interrupt */ -- bool wait_data_complete:1; /* Wait for data */ -- -- /* for threaded irq handler */ -- bool irq_block; -- bool irq_busy; -- bool irq_data; - - struct udevice *dev; - struct mmc *mmc; -@@ -240,17 +232,9 @@ static void bcm2835_reset_internal(struct bcm2835_host *host) - writel(host->cdiv, host->ioaddr + SDCDIV); - } - --static int bcm2835_finish_command(struct bcm2835_host *host); -- --static void bcm2835_wait_transfer_complete(struct bcm2835_host *host) -+static int bcm2835_wait_transfer_complete(struct bcm2835_host *host) - { -- int timediff; -- u32 alternate_idle; -- -- alternate_idle = (host->data->flags & MMC_DATA_READ) ? -- SDEDM_FSM_READWAIT : SDEDM_FSM_WRITESTART1; -- -- timediff = 0; -+ int timediff = 0; - - while (1) { - u32 edm, fsm; -@@ -261,7 +245,10 @@ static void bcm2835_wait_transfer_complete(struct bcm2835_host *host) - if ((fsm == SDEDM_FSM_IDENTMODE) || - (fsm == SDEDM_FSM_DATAMODE)) - break; -- if (fsm == alternate_idle) { -+ -+ if ((fsm == SDEDM_FSM_READWAIT) || -+ (fsm == SDEDM_FSM_WRITESTART1) || -+ (fsm == SDEDM_FSM_READDATA)) { - writel(edm | SDEDM_FORCE_DATA_MODE, - host->ioaddr + SDEDM); - break; -@@ -273,9 +260,11 @@ static void bcm2835_wait_transfer_complete(struct bcm2835_host *host) - "wait_transfer_complete - still waiting after %d retries\n", - timediff); - bcm2835_dumpregs(host); -- return; -+ return -ETIMEDOUT; - } - } -+ -+ return 0; - } - - static int bcm2835_transfer_block_pio(struct bcm2835_host *host, bool is_read) -@@ -322,6 +311,9 @@ static int bcm2835_transfer_block_pio(struct bcm2835_host *host, bool is_read) - fsm_state != SDEDM_FSM_READCRC)) || - (!is_read && - (fsm_state != SDEDM_FSM_WRITEDATA && -+ fsm_state != SDEDM_FSM_WRITEWAIT1 && -+ fsm_state != SDEDM_FSM_WRITEWAIT2 && -+ fsm_state != SDEDM_FSM_WRITECRC && - fsm_state != SDEDM_FSM_WRITESTART1 && - fsm_state != SDEDM_FSM_WRITESTART2))) { - hsts = readl(host->ioaddr + SDHSTS); -@@ -358,9 +350,8 @@ static int bcm2835_transfer_pio(struct bcm2835_host *host) - - is_read = (host->data->flags & MMC_DATA_READ) != 0; - ret = bcm2835_transfer_block_pio(host, is_read); -- -- if (host->wait_data_complete) -- bcm2835_wait_transfer_complete(host); -+ if (ret) -+ return ret; - - sdhsts = readl(host->ioaddr + SDHSTS); - if (sdhsts & (SDHSTS_CRC16_ERROR | -@@ -379,21 +370,8 @@ static int bcm2835_transfer_pio(struct bcm2835_host *host) - return ret; - } - --static void bcm2835_set_transfer_irqs(struct bcm2835_host *host) --{ -- u32 all_irqs = SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN | -- SDHCFG_BUSY_IRPT_EN; -- -- host->hcfg = (host->hcfg & ~all_irqs) | -- SDHCFG_DATA_IRPT_EN | -- SDHCFG_BUSY_IRPT_EN; -- -- writel(host->hcfg, host->ioaddr + SDHCFG); --} -- --static --void bcm2835_prepare_data(struct bcm2835_host *host, struct mmc_cmd *cmd, -- struct mmc_data *data) -+static void bcm2835_prepare_data(struct bcm2835_host *host, struct mmc_cmd *cmd, -+ struct mmc_data *data) - { - WARN_ON(host->data); - -@@ -401,14 +379,9 @@ void bcm2835_prepare_data(struct bcm2835_host *host, struct mmc_cmd *cmd, - if (!data) - return; - -- host->wait_data_complete = cmd->cmdidx != MMC_CMD_READ_MULTIPLE_BLOCK; -- host->data_complete = false; -- - /* Use PIO */ - host->blocks = data->blocks; - -- bcm2835_set_transfer_irqs(host); -- - writel(data->blocksize, host->ioaddr + SDHBCT); - writel(data->blocks, host->ioaddr + SDHBLC); - } -@@ -483,36 +456,6 @@ static int bcm2835_send_command(struct bcm2835_host *host, struct mmc_cmd *cmd, - return 0; - } - --static int bcm2835_transfer_complete(struct bcm2835_host *host) --{ -- int ret = 0; -- -- WARN_ON(!host->data_complete); -- -- host->data = NULL; -- -- return ret; --} -- --static void bcm2835_finish_data(struct bcm2835_host *host) --{ -- host->hcfg &= ~(SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN); -- writel(host->hcfg, host->ioaddr + SDHCFG); -- -- host->data_complete = true; -- -- if (host->cmd) { -- /* Data managed to finish before the -- * command completed. Make sure we do -- * things in the proper order. -- */ -- dev_dbg(dev, "Finished early - HSTS %08x\n", -- readl(host->ioaddr + SDHSTS)); -- } else { -- bcm2835_transfer_complete(host); -- } --} -- - static int bcm2835_finish_command(struct bcm2835_host *host) - { - struct mmc_cmd *cmd = host->cmd; -@@ -562,8 +505,6 @@ static int bcm2835_finish_command(struct bcm2835_host *host) - - /* Processed actual command. */ - host->cmd = NULL; -- if (host->data && host->data_complete) -- ret = bcm2835_transfer_complete(host); - - return ret; - } -@@ -608,159 +549,44 @@ static int bcm2835_check_data_error(struct bcm2835_host *host, u32 intmask) - return ret; - } - --static void bcm2835_busy_irq(struct bcm2835_host *host) --{ -- if (WARN_ON(!host->cmd)) { -- bcm2835_dumpregs(host); -- return; -- } -- -- if (WARN_ON(!host->use_busy)) { -- bcm2835_dumpregs(host); -- return; -- } -- host->use_busy = false; -- -- bcm2835_finish_command(host); --} -- --static void bcm2835_data_irq(struct bcm2835_host *host, u32 intmask) -+static int bcm2835_transmit(struct bcm2835_host *host) - { -+ u32 intmask = readl(host->ioaddr + SDHSTS); - int ret; - -- /* -- * There are no dedicated data/space available interrupt -- * status bits, so it is necessary to use the single shared -- * data/space available FIFO status bits. It is therefore not -- * an error to get here when there is no data transfer in -- * progress. -- */ -- if (!host->data) -- return; -- -+ /* Check for errors */ - ret = bcm2835_check_data_error(host, intmask); - if (ret) -- goto finished; -- -- if (host->data->flags & MMC_DATA_WRITE) { -- /* Use the block interrupt for writes after the first block */ -- host->hcfg &= ~(SDHCFG_DATA_IRPT_EN); -- host->hcfg |= SDHCFG_BLOCK_IRPT_EN; -- writel(host->hcfg, host->ioaddr + SDHCFG); -- bcm2835_transfer_pio(host); -- } else { -- bcm2835_transfer_pio(host); -- host->blocks--; -- if ((host->blocks == 0)) -- goto finished; -- } -- return; -+ return ret; - --finished: -- host->hcfg &= ~(SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN); -- writel(host->hcfg, host->ioaddr + SDHCFG); --} -- --static void bcm2835_data_threaded_irq(struct bcm2835_host *host) --{ -- if (!host->data) -- return; -- if ((host->blocks == 0)) -- bcm2835_finish_data(host); --} -- --static void bcm2835_block_irq(struct bcm2835_host *host) --{ -- if (WARN_ON(!host->data)) { -- bcm2835_dumpregs(host); -- return; -- } -- -- WARN_ON(!host->blocks); -- if ((--host->blocks == 0)) -- bcm2835_finish_data(host); -- else -- bcm2835_transfer_pio(host); --} -+ ret = bcm2835_check_cmd_error(host, intmask); -+ if (ret) -+ return ret; - --static irqreturn_t bcm2835_irq(int irq, void *dev_id) --{ -- irqreturn_t result = IRQ_NONE; -- struct bcm2835_host *host = dev_id; -- u32 intmask; -- -- intmask = readl(host->ioaddr + SDHSTS); -- -- writel(SDHSTS_BUSY_IRPT | -- SDHSTS_BLOCK_IRPT | -- SDHSTS_SDIO_IRPT | -- SDHSTS_DATA_FLAG, -- host->ioaddr + SDHSTS); -- -- if (intmask & SDHSTS_BLOCK_IRPT) { -- bcm2835_check_data_error(host, intmask); -- host->irq_block = true; -- result = IRQ_WAKE_THREAD; -+ /* Handle wait for busy end */ -+ if (host->use_busy && (intmask & SDHSTS_BUSY_IRPT)) { -+ writel(SDHSTS_BUSY_IRPT, host->ioaddr + SDHSTS); -+ host->use_busy = false; -+ bcm2835_finish_command(host); - } - -- if (intmask & SDHSTS_BUSY_IRPT) { -- if (!bcm2835_check_cmd_error(host, intmask)) { -- host->irq_busy = true; -- result = IRQ_WAKE_THREAD; -- } else { -- result = IRQ_HANDLED; -+ /* Handle PIO data transfer */ -+ if (host->data) { -+ ret = bcm2835_transfer_pio(host); -+ if (ret) -+ return ret; -+ host->blocks--; -+ if (host->blocks == 0) { -+ /* Wait for command to complete for real */ -+ ret = bcm2835_wait_transfer_complete(host); -+ if (ret) -+ return ret; -+ /* Transfer complete */ -+ host->data = NULL; - } - } - -- /* There is no true data interrupt status bit, so it is -- * necessary to qualify the data flag with the interrupt -- * enable bit. -- */ -- if ((intmask & SDHSTS_DATA_FLAG) && -- (host->hcfg & SDHCFG_DATA_IRPT_EN)) { -- bcm2835_data_irq(host, intmask); -- host->irq_data = true; -- result = IRQ_WAKE_THREAD; -- } -- -- return result; --} -- --static irqreturn_t bcm2835_threaded_irq(int irq, void *dev_id) --{ -- struct bcm2835_host *host = dev_id; -- -- if (host->irq_block) { -- host->irq_block = false; -- bcm2835_block_irq(host); -- } -- -- if (host->irq_busy) { -- host->irq_busy = false; -- bcm2835_busy_irq(host); -- } -- -- if (host->irq_data) { -- host->irq_data = false; -- bcm2835_data_threaded_irq(host); -- } -- -- return IRQ_HANDLED; --} -- --static void bcm2835_irq_poll(struct bcm2835_host *host) --{ -- u32 intmask; -- -- while (1) { -- intmask = readl(host->ioaddr + SDHSTS); -- if (intmask & (SDHSTS_BUSY_IRPT | SDHSTS_BLOCK_IRPT | -- SDHSTS_SDIO_IRPT | SDHSTS_DATA_FLAG)) { -- bcm2835_irq(0, host); -- bcm2835_threaded_irq(0, host); -- return; -- } -- } -+ return 0; - } - - static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock) -@@ -864,8 +690,11 @@ static int bcm2835_send_cmd(struct udevice *dev, struct mmc_cmd *cmd, - } - - /* Wait for completion of busy signal or data transfer */ -- while (host->use_busy || host->data) -- bcm2835_irq_poll(host); -+ while (host->use_busy || host->data) { -+ ret = bcm2835_transmit(host); -+ if (ret) -+ break; -+ } - - return ret; - } - diff --git a/buildroot-external/bootloader/uboot.config b/buildroot-external/bootloader/uboot.config index ad5441633..37681e718 100644 --- a/buildroot-external/bootloader/uboot.config +++ b/buildroot-external/bootloader/uboot.config @@ -3,6 +3,7 @@ CONFIG_DISTRO_DEFAULTS=y # CONFIG_EXPERT is not set # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_BOOTDELAY=2 CONFIG_SYS_PROMPT="HassOS> " # CONFIG_DOS_PARTITION is not set # CONFIG_ISO_PARTITION is not set diff --git a/buildroot-external/configs/rpi0_w_defconfig b/buildroot-external/configs/rpi0_w_defconfig index f4f61a7f7..64ad4a76d 100644 --- a/buildroot-external/configs/rpi0_w_defconfig +++ b/buildroot-external/configs/rpi0_w_defconfig @@ -73,11 +73,9 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_0_w" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.sh" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 1adc16f44..8ccef5297 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -72,11 +72,9 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_2" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.sh" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index fdf2b4390..d4fc8afc4 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -73,11 +73,9 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3-64/uboot-boot.sh" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 86b53c64b..33d1ecf37 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -73,11 +73,9 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3_32b" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.sh" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index 6467669f1..55d8bbe71 100644 --- a/buildroot-external/configs/rpi_defconfig +++ b/buildroot-external/configs/rpi_defconfig @@ -72,11 +72,9 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.sh" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 8f814464f..f52564ec1 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -76,8 +76,6 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION=y BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="tinker-rk3288" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/tinker/uboot.config" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y BR2_TARGET_UBOOT_SPL=y @@ -86,7 +84,6 @@ BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/tinker/uboot-boot.sh" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y -BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_GPTFDISK=y BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y diff --git a/buildroot-external/misc/fw_env.config b/buildroot-external/misc/fw_env.config index e111c297b..0c32175e7 100644 --- a/buildroot-external/misc/fw_env.config +++ b/buildroot-external/misc/fw_env.config @@ -1 +1 @@ -/dev/disk/by-partlabel/hassos-bootstate 0x00 0x4000 +/dev/disk/by-partlabel/hassos-bootstate 0x00 0x400000 diff --git a/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.mk b/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.mk index 1d631624d..9399f9f45 100644 --- a/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.mk +++ b/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.mk @@ -13,8 +13,8 @@ BLUETOOTH_RTL8723_SITE_METHOD = local define BLUETOOTH_RTL8723_BUILD_CMDS curl -L -o $(@D)/rtk_hciattach https://raw.githubusercontent.com/armbian/build/dee62df8bb2fe8611fd41ddf02063fa15533298c/packages/bsp/rockchip/rtk_hciattach - curl -L -o $(@D)/rtl8723b_config.bin https://raw.githubusercontent.com/armbian/firmware/4723bbb3d1ef70b5fbe7d2599c47d078ab125c47/rtl_bt/rtl8723b_config.bin - curl -L -o $(@D)/rtl8723b_fw.bin https://raw.githubusercontent.com/armbian/firmware/4723bbb3d1ef70b5fbe7d2599c47d078ab125c47/rtl_bt/rtl8723b_fw.bin + curl -L -o $(@D)/rtl8723b_config https://raw.githubusercontent.com/armbian/firmware/4723bbb3d1ef70b5fbe7d2599c47d078ab125c47/rtl_bt/rtl8723b_config.bin + curl -L -o $(@D)/rtl8723b_fw https://raw.githubusercontent.com/armbian/firmware/4723bbb3d1ef70b5fbe7d2599c47d078ab125c47/rtl_bt/rtl8723b_fw.bin endef define BLUETOOTH_RTL8723_INSTALL_TARGET_CMDS @@ -24,7 +24,7 @@ define BLUETOOTH_RTL8723_INSTALL_TARGET_CMDS ln -fs /usr/lib/systemd/system/bluetooth-rtl8723.service $(TARGET_DIR)/etc/systemd/system/hassos-hardware.target.wants/ $(INSTALL) -d $(TARGET_DIR)/lib/firmware/rtlbt - $(INSTALL) -m 0644 $(@D)/*.bin $(TARGET_DIR)/lib/firmware/rtlbt/ + $(INSTALL) -m 0644 $(@D)/rtl8723b_* $(TARGET_DIR)/lib/firmware/rtlbt/ $(INSTALL) -m 0755 $(@D)/rtk_hciattach $(TARGET_DIR)/usr/sbin/ endef diff --git a/buildroot-external/patches/uboot/0001-CMD-read-string-from-fileinto-env.patch b/buildroot-external/patches/uboot/0001-CMD-read-string-from-fileinto-env.patch index a96fd47f4..97c0a4324 100644 --- a/buildroot-external/patches/uboot/0001-CMD-read-string-from-fileinto-env.patch +++ b/buildroot-external/patches/uboot/0001-CMD-read-string-from-fileinto-env.patch @@ -1,4 +1,4 @@ -From 57051bdfadcd27f405d05716c8d568b69fec575a Mon Sep 17 00:00:00 2001 +From e22e7b8bf6eca98af102dd27991c089b8f3de65b Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 5 Aug 2018 20:43:03 +0000 Subject: [PATCH 1/1] CMD: read string from fileinto env @@ -7,8 +7,8 @@ Signed-off-by: Pascal Vizeli --- cmd/Kconfig | 5 +++++ cmd/Makefile | 1 + - cmd/fileenv.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 50 insertions(+) + cmd/fileenv.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 51 insertions(+) create mode 100644 cmd/fileenv.c diff --git a/cmd/Kconfig b/cmd/Kconfig @@ -41,13 +41,14 @@ index 323f1fd2c77..0d721dc5a72 100644 obj-$(CONFIG_CMD_SMC) += smccc.o diff --git a/cmd/fileenv.c b/cmd/fileenv.c new file mode 100644 -index 00000000000..ea7428723a5 +index 00000000000..ddfc5dcdbc0 --- /dev/null +++ b/cmd/fileenv.c -@@ -0,0 +1,44 @@ +@@ -0,0 +1,45 @@ +#include +#include +#include ++#include + +static char *fs_argv[5]; + @@ -69,14 +70,14 @@ index 00000000000..ea7428723a5 + size_t size = env_get_hex("filesize", 0); + + // Prepare string -+ addr[size +1] = 0x00; ++ addr[size] = 0x00; + char *s = addr; + while(*s != 0x00) { -+ if (*s == 0x0a || *s == 0x0d) { -+ *s = 0x00; ++ if (isprint(*s)) { ++ s++; + } + else { -+ s++; ++ *s = 0x00; + } + } + diff --git a/buildroot-patches/0011-uboot-tools-Update-tools-to-2018.07.patch b/buildroot-patches/0011-uboot-tools-Update-tools-to-2018.07.patch new file mode 100644 index 000000000..d8960fe2f --- /dev/null +++ b/buildroot-patches/0011-uboot-tools-Update-tools-to-2018.07.patch @@ -0,0 +1,35 @@ +From d57b9c5b5b553b3caead6eb64b816f74c2e523f6 Mon Sep 17 00:00:00 2001 +From: Pascal Vizeli +Date: Tue, 7 Aug 2018 08:45:35 +0000 +Subject: [PATCH 1/1] uboot-tools: Update tools to 2018.07 + +Signed-off-by: Pascal Vizeli +--- + package/uboot-tools/uboot-tools.hash | 2 +- + package/uboot-tools/uboot-tools.mk | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/package/uboot-tools/uboot-tools.hash b/package/uboot-tools/uboot-tools.hash +index 788c1696f8..97d0bd0b5f 100644 +--- a/package/uboot-tools/uboot-tools.hash ++++ b/package/uboot-tools/uboot-tools.hash +@@ -1,2 +1,2 @@ + # Locally computed: +-sha256 7e7477534409d5368eb1371ffde6820f0f79780a1a1f676161c48442cb303dfd u-boot-2018.03.tar.bz2 ++sha256 9f10df88bc91b35642e461217f73256bbaeeca9ae2db8db56197ba5e89e1f6d4 u-boot-2018.07.tar.bz2 +diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk +index 882576d2d5..f5027d2da3 100644 +--- a/package/uboot-tools/uboot-tools.mk ++++ b/package/uboot-tools/uboot-tools.mk +@@ -4,7 +4,7 @@ + # + ################################################################################ + +-UBOOT_TOOLS_VERSION = 2018.03 ++UBOOT_TOOLS_VERSION = 2018.07 + UBOOT_TOOLS_SOURCE = u-boot-$(UBOOT_TOOLS_VERSION).tar.bz2 + UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot + UBOOT_TOOLS_LICENSE = GPL-2.0+ +-- +2.17.1 + diff --git a/buildroot/CHANGES b/buildroot/CHANGES index baa85622a..d41642b03 100644 --- a/buildroot/CHANGES +++ b/buildroot/CHANGES @@ -1,3 +1,35 @@ +2018.05.1, Released July 20th, 2018 + + Important / security related fixes. + + U-Boot: Ensure host version of ncurses is picked up and not + host-ncurses built by buildroot, as that otherwise causes + widechar/non-widechar conflicts and corrupted menuconfig + menus. + + Linux: Enable CONFIG_PERF_EVENTS when perf is enabled. + + Toolchain: ARC tools updated to arc-2018.03. + + pkg-stats: Fix python 3.x compatibility. + + dl-wrapper: Fix support for URIs containing '+', fix + no-check-hash for inferred site method. + + Defconfigs: Raspberrypi3: Bump rootfs size, Minnowboard-max: + Support ethernet on Turbot variant. + + Updated/fixed packages: audit, bind, btrfs-progs, cifs-utils, + clamav, collectd, coreutils, docker-containerd, dos2unix, + edid-decode, file, gcc, gdb, gnupg, gnupg2, heimdal, hidapi, + imagemagick, libcurl, libgcrypt, libglib2, liblogging, + libostree, libressl, libsoup, libv4l, libvncserver, libvorbis, + libwebsockets, libxslt, lm-sensors, mariadb, mpg123, ncurses, + network-manager, nodejs, patchelf, perl, php-amqp, pinentry, + pixiewps, qpdf, qt53d, qt5base, qt5charts, qt5script, redis, + systemd, triggerhappy, uboot, wireguard, wireless-regdb, + wireshark + 2018.05, Released June 1st, 2018 Minor fixes. diff --git a/buildroot/Makefile b/buildroot/Makefile index 9f32c9600..b4cc8956c 100644 --- a/buildroot/Makefile +++ b/buildroot/Makefile @@ -87,9 +87,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2018.05 +export BR2_VERSION := 2018.05.1 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1527884000 +BR2_VERSION_EPOCH = 1532040000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) diff --git a/buildroot/board/minnowboard/linux.config b/buildroot/board/minnowboard/linux.config index 03ffc5e37..27077dbcd 100644 --- a/buildroot/board/minnowboard/linux.config +++ b/buildroot/board/minnowboard/linux.config @@ -21,6 +21,7 @@ CONFIG_SATA_AHCI=y CONFIG_ATA_PIIX=y CONFIG_NETDEVICES=y CONFIG_R8169=y +CONFIG_IGB=y CONFIG_INPUT_EVDEV=y CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y diff --git a/buildroot/boot/uboot/uboot.mk b/buildroot/boot/uboot/uboot.mk index 03bd7ea74..6ef275e84 100644 --- a/buildroot/boot/uboot/uboot.mk +++ b/buildroot/boot/uboot/uboot.mk @@ -211,7 +211,15 @@ endif # BR2_TARGET_UBOOT_USE_DEFCONFIG UBOOT_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES)) UBOOT_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig -UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) + +# UBOOT_MAKE_OPTS overrides HOSTCC / HOSTLDFLAGS to allow the build to +# find our host-openssl. However, this triggers a bug in the kconfig +# build script that causes it to build with /usr/include/ncurses.h +# (which is typically wchar) but link with +# $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually +# need any host-package for kconfig, so remove the HOSTCC/HOSTLDFLAGS +# override again. +UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC)" HOSTLDFLAGS="" define UBOOT_HELP_CMDS @echo ' uboot-menuconfig - Run U-Boot menuconfig' @echo ' uboot-savedefconfig - Run U-Boot savedefconfig' diff --git a/buildroot/configs/raspberrypi3_defconfig b/buildroot/configs/raspberrypi3_defconfig index 45a76beb6..b55233a20 100644 --- a/buildroot/configs/raspberrypi3_defconfig +++ b/buildroot/configs/raspberrypi3_defconfig @@ -28,6 +28,7 @@ BR2_PACKAGE_HOST_MTOOLS=y # Filesystem / image BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3/post-image.sh" diff --git a/buildroot/configs/snps_archs38_hsdk_defconfig b/buildroot/configs/snps_archs38_hsdk_defconfig index 125063b44..415759ac3 100644 --- a/buildroot/configs/snps_archs38_hsdk_defconfig +++ b/buildroot/configs/snps_archs38_hsdk_defconfig @@ -13,7 +13,7 @@ BR2_SYSTEM_DHCP="eth0" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.47" BR2_LINUX_KERNEL_DEFCONFIG="hsdk" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/synopsys/hsdk/linux.fragment" diff --git a/buildroot/docs/manual/adding-packages-perl.txt b/buildroot/docs/manual/adding-packages-perl.txt index 08ef55920..eb14d9de1 100644 --- a/buildroot/docs/manual/adding-packages-perl.txt +++ b/buildroot/docs/manual/adding-packages-perl.txt @@ -46,7 +46,7 @@ built. Most of these data can be retrieved from https://metacpan.org/. So, this file and the Config.in can be generated by running -the script +supports/scripts/scancpan Foo-Bar+ in the Buildroot directory +the script +utils/scancpan Foo-Bar+ in the Buildroot directory (or in a br2-external tree). This script creates a Config.in file and foo-bar.mk file for the requested package, and also recursively for all dependencies specified by diff --git a/buildroot/docs/manual/manual.html b/buildroot/docs/manual/manual.html index ac4123f4c..a9b8eaa0a 100644 --- a/buildroot/docs/manual/manual.html +++ b/buildroot/docs/manual/manual.html @@ -1,6 +1,6 @@ -The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Graphing the dependencies between packages
8.9. Graphing the build duration
8.10. Graphing the filesystem size contribution of packages
8.11. Integration with Eclipse
8.12. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Frequently Asked Questions & Troubleshooting
10.1. The boot hangs after Starting network…
10.2. Why is there no compiler on the target?
10.3. Why are there no development files on the target?
10.4. Why is there no documentation on the target?
10.5. Why are some packages not visible in the Buildroot config menu?
10.6. Why not use the target directory as a chroot directory?
10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
10.8. How to speed-up the build process?
11. Known issues
12. Legal notice and licensing
12.1. Complying with open source licenses
12.2. Complying with the Buildroot license
13. Beyond Buildroot
13.1. Boot the generated images
13.2. Chroot
III. Developer guide
14. How Buildroot works
15. Coding style
15.1. Config.in file
15.2. The .mk file
15.3. The documentation
15.4. Support scripts
16. Adding support for a particular board
17. Adding new packages to Buildroot
17.1. Package directory
17.2. Config files
17.3. The .mk file
17.4. The .hash file
17.5. Infrastructure for packages with specific build systems
17.6. Infrastructure for autotools-based packages
17.7. Infrastructure for CMake-based packages
17.8. Infrastructure for Python packages
17.9. Infrastructure for LuaRocks-based packages
17.10. Infrastructure for Perl/CPAN packages
17.11. Infrastructure for virtual packages
17.12. Infrastructure for packages using kconfig for configuration files
17.13. Infrastructure for rebar-based packages
17.14. Infrastructure for Waf-based packages
17.15. Integration of Meson-based packages
17.16. Integration of Cargo-based packages
17.17. Infrastructure for Go packages
17.18. Infrastructure for packages building kernel modules
17.19. Infrastructure for asciidoc documents
17.20. Infrastructure specific to the Linux kernel package
17.21. Hooks available in the various build steps
17.22. Gettext integration and interaction with packages
17.23. Tips and tricks
17.24. Conclusion
18. Patching a package
18.1. Providing patches
18.2. How patches are applied
18.3. Format and licensing of the package patches
18.4. Integrating patches found on the Web
19. Download infrastructure
20. Debugging Buildroot
21. Contributing to Buildroot
21.1. Reproducing, analyzing and fixing bugs
21.2. Analyzing and fixing autobuild failures
21.3. Reviewing and testing patches
21.4. Work on items from the TODO list
21.5. Submitting patches
21.6. Reporting issues/bugs or getting help
22. DEVELOPERS file and get-developers
IV. Appendix
23. Makedev syntax documentation
24. Makeusers syntax documentation
25. Migrating from older Buildroot versions
25.1. Migrating to 2016.11
25.2. Migrating to 2017.08

Buildroot 2018.05 manual generated on 2018-06-01 -20:24:12 UTC from git revision f3d114a1ef

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

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Graphing the dependencies between packages
8.9. Graphing the build duration
8.10. Graphing the filesystem size contribution of packages
8.11. Integration with Eclipse
8.12. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Frequently Asked Questions & Troubleshooting
10.1. The boot hangs after Starting network…
10.2. Why is there no compiler on the target?
10.3. Why are there no development files on the target?
10.4. Why is there no documentation on the target?
10.5. Why are some packages not visible in the Buildroot config menu?
10.6. Why not use the target directory as a chroot directory?
10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
10.8. How to speed-up the build process?
11. Known issues
12. Legal notice and licensing
12.1. Complying with open source licenses
12.2. Complying with the Buildroot license
13. Beyond Buildroot
13.1. Boot the generated images
13.2. Chroot
III. Developer guide
14. How Buildroot works
15. Coding style
15.1. Config.in file
15.2. The .mk file
15.3. The documentation
15.4. Support scripts
16. Adding support for a particular board
17. Adding new packages to Buildroot
17.1. Package directory
17.2. Config files
17.3. The .mk file
17.4. The .hash file
17.5. Infrastructure for packages with specific build systems
17.6. Infrastructure for autotools-based packages
17.7. Infrastructure for CMake-based packages
17.8. Infrastructure for Python packages
17.9. Infrastructure for LuaRocks-based packages
17.10. Infrastructure for Perl/CPAN packages
17.11. Infrastructure for virtual packages
17.12. Infrastructure for packages using kconfig for configuration files
17.13. Infrastructure for rebar-based packages
17.14. Infrastructure for Waf-based packages
17.15. Integration of Meson-based packages
17.16. Integration of Cargo-based packages
17.17. Infrastructure for Go packages
17.18. Infrastructure for packages building kernel modules
17.19. Infrastructure for asciidoc documents
17.20. Infrastructure specific to the Linux kernel package
17.21. Hooks available in the various build steps
17.22. Gettext integration and interaction with packages
17.23. Tips and tricks
17.24. Conclusion
18. Patching a package
18.1. Providing patches
18.2. How patches are applied
18.3. Format and licensing of the package patches
18.4. Integrating patches found on the Web
19. Download infrastructure
20. Debugging Buildroot
21. Contributing to Buildroot
21.1. Reproducing, analyzing and fixing bugs
21.2. Analyzing and fixing autobuild failures
21.3. Reviewing and testing patches
21.4. Work on items from the TODO list
21.5. Submitting patches
21.6. Reporting issues/bugs or getting help
22. DEVELOPERS file and get-developers
IV. Appendix
23. Makedev syntax documentation
24. Makeusers syntax documentation
25. Migrating from older Buildroot versions
25.1. Migrating to 2016.11
25.2. Migrating to 2017.08

Buildroot 2018.05.1 manual generated on 2018-07-19 +22:46:12 UTC from git revision ef26ffddde

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

Copyright © 2004-2018 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

Buildroot is a tool that simplifies and automates the process of @@ -16,8 +16,8 @@ processors everyone is used to having in his PC. They can be PowerPC processors, MIPS processors, ARM processors, etc.

Buildroot supports numerous processors and their variants; it also comes with default configurations for several boards available off-the-shelf. Besides this, a number of third-party projects are based on, -or develop their BSP [1] or -SDK [2] on top of Buildroot.



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

While Buildroot itself will build most host packages it needs for the +or develop their BSP [1] or +SDK [2] on top of Buildroot.



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

While Buildroot itself will build most host packages it needs for the compilation, certain standard Linux utilities are expected to be already installed on the host system. Below you will find an overview of the mandatory and optional packages (note that package names may vary @@ -272,7 +272,7 @@ processor. Under most Linux systems, the compilation toolchain uses the GNU libc (glibc) as the C standard library. This compilation toolchain is called the "host compilation toolchain". The machine on which it is running, and on which you’re working, is called the "host -system" [3].

The compilation toolchain is provided by your distribution, and +system" [3].

The compilation toolchain is provided by your distribution, and Buildroot has nothing to do with it (other than using it to build a cross-compilation toolchain and other tools that are run on the development host).

As said above, the compilation toolchain that comes with your system @@ -547,7 +547,7 @@ The third solution is systemd. http://www.freedesktop.org/wiki/Software/systemd.

The solution recommended by Buildroot developers is to use the BusyBox init as it is sufficient for most embedded -systems. systemd can be used for more complex situations.



[3] This terminology differs from what is used by GNU +systems. systemd can be used for more complex situations.



[3] This terminology differs from what is used by GNU configure, where the host is the machine on which the application will run (which is usually the same as target)

Chapter 7. Configuration of other components

Before attempting to modify any of the components below, make sure you have already configured Buildroot itself, and have enabled the @@ -2640,7 +2640,7 @@ flags. The argument to be given to LIBFOO_CONFIG_SCRIPTS is the file name(s) of the shell script(s) needing fixing. All these names are relative to $(STAGING_DIR)/usr/bin and if needed multiple names can be given.

In addition, the scripts listed in LIBFOO_CONFIG_SCRIPTS are removed -from $(TARGET_DIR)/usr/bin, since they are not needed on the target.

Example 17.1. Config script: divine package

Package divine installs shell script $(STAGING_DIR)/usr/bin/divine-config.

So its fixup would be:

DIVINE_CONFIG_SCRIPTS = divine-config

Example 17.2. Config script: imagemagick package:

Package imagemagick installs the following scripts: +from $(TARGET_DIR)/usr/bin, since they are not needed on the target.

Example 17.1. Config script: divine package

Package divine installs shell script $(STAGING_DIR)/usr/bin/divine-config.

So its fixup would be:

DIVINE_CONFIG_SCRIPTS = divine-config

Example 17.2. Config script: imagemagick package:

Package imagemagick installs the following scripts: $(STAGING_DIR)/usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config

So it’s fixup would be:

IMAGEMAGICK_CONFIG_SCRIPTS = \
    Magick-config Magick++-config \
    MagickCore-config MagickWand-config Wand-config

On line 14, we specify the list of dependencies this package relies @@ -3533,7 +3533,7 @@ license on line 11, and the file containing the license text on line generates all the Makefile rules that actually allow the package to be built.

Most of these data can be retrieved from https://metacpan.org/. So, this file and the Config.in can be generated by running -the script supports/scripts/scancpan Foo-Bar in the Buildroot directory +the script utils/scancpan Foo-Bar in the Buildroot directory (or in a br2-external tree). This script creates a Config.in file and foo-bar.mk file for the requested package, and also recursively for all dependencies specified by @@ -4902,7 +4902,7 @@ large number of commits in the series;

  • deep impact of the changes in the rest of the project;
  • -RFC [4]; +RFC [4];
  • whenever you feel it will help presenting your work, your choices, the review process, etc. @@ -4984,7 +4984,7 @@ pastebin service. Note that not all available pastebin services will preserve Unix-style line terminators when downloading raw pastes. Following pastebin services are known to work correctly: - https://gist.github.com/ -- http://code.bulix.org/



  • [4] RFC: (Request for comments) change proposal

    Chapter 22. DEVELOPERS file and get-developers

    The main Buildroot directory contains a file named DEVELOPERS that +- http://code.bulix.org/



    [4] RFC: (Request for comments) change proposal

    Chapter 22. DEVELOPERS file and get-developers

    The main Buildroot directory contains a file named DEVELOPERS that lists the developers involved with various areas of Buildroot. Thanks to this file, the get-developer tool allows to:

    • Calculate the list of developers to whom patches should be sent, by diff --git a/buildroot/docs/manual/manual.pdf b/buildroot/docs/manual/manual.pdf index 9e56c4305..c55b16ba0 100644 Binary files a/buildroot/docs/manual/manual.pdf and b/buildroot/docs/manual/manual.pdf differ diff --git a/buildroot/docs/manual/manual.text b/buildroot/docs/manual/manual.text index 7367be96f..844d82031 100644 --- a/buildroot/docs/manual/manual.text +++ b/buildroot/docs/manual/manual.text @@ -161,8 +161,8 @@ List of Examples --------------------------------------------------------------------- -Buildroot 2018.05 manual generated on 2018-06-01 20:24:17 UTC from -git revision f3d114a1ef +Buildroot 2018.05.1 manual generated on 2018-07-19 22:46:17 UTC from +git revision ef26ffddde The Buildroot manual is written by the Buildroot developers. It is licensed under the GNU General Public License, version 2. Refer to @@ -5096,7 +5096,7 @@ all the Makefile rules that actually allow the package to be built. Most of these data can be retrieved from https://metacpan.org/. So, this file and the Config.in can be generated by running the script -supports/scripts/scancpan Foo-Bar in the Buildroot directory (or in a +utils/scancpan Foo-Bar in the Buildroot directory (or in a br2-external tree). This script creates a Config.in file and foo-bar.mk file for the requested package, and also recursively for all dependencies specified by CPAN. You should still manually edit diff --git a/buildroot/linux/linux.mk b/buildroot/linux/linux.mk index 6b5f5344e..7f4c91667 100644 --- a/buildroot/linux/linux.mk +++ b/buildroot/linux/linux.mk @@ -292,6 +292,8 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_ENABLE_DEFAULT_TRACERS,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER,$(@D)/.config)) + $(if $(BR2_PACKAGE_LINUX_TOOLS_PERF), + $(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS,$(@D)/.config)) $(if $(BR2_PACKAGE_SYSTEMD), $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config) diff --git a/buildroot/package/Makefile.in b/buildroot/package/Makefile.in index 4325f7b3a..5f207bec1 100644 --- a/buildroot/package/Makefile.in +++ b/buildroot/package/Makefile.in @@ -239,7 +239,7 @@ HOST_LDFLAGS += -L$(HOST_DIR)/lib -Wl,-rpath,$(HOST_DIR)/lib # Exit code chooses option. "$$TMP" is can be used as temporary file and # is automatically cleaned up. try-run = $(shell set -e; \ - TMP="$$(tempfile)"; \ + TMP="$$(mktemp)"; \ if ($(1)) >/dev/null 2>&1; \ then echo "$(2)"; \ else echo "$(3)"; \ diff --git a/buildroot/package/audit/audit.mk b/buildroot/package/audit/audit.mk index f5aa00d2f..2f6e6653b 100644 --- a/buildroot/package/audit/audit.mk +++ b/buildroot/package/audit/audit.mk @@ -51,8 +51,8 @@ define AUDIT_INSTALL_INIT_SYSTEMD endef define AUDIT_INSTALL_CLEANUP - $(RM) -rf $(TARGET_DIR)/etc/rc.d - $(RM) -rf $(TARGET_DIR)/etc/sysconfig + $(RM) $(TARGET_DIR)/etc/rc.d/init.d/auditd + $(RM) $(TARGET_DIR)/etc/sysconfig/auditd endef AUDIT_POST_INSTALL_TARGET_HOOKS += AUDIT_INSTALL_CLEANUP diff --git a/buildroot/package/bind/bind.hash b/buildroot/package/bind/bind.hash index 199db704f..78f801552 100644 --- a/buildroot/package/bind/bind.hash +++ b/buildroot/package/bind/bind.hash @@ -1,3 +1,4 @@ -# Verified from http://ftp.isc.org/isc/bind9/9.11.2-P1/bind-9.11.2-P1.tar.gz.sha256.asc -sha256 cec31548832fca3f85d95178d4019b7d702039e8595d4c93914feba337df1212 bind-9.11.2-P1.tar.gz -sha256 d3906dfe153e2c48440d3ca1d5319f5e89b4b820cdfc5d0779c23d7ac2b175e9 COPYRIGHT +# Verified from https://ftp.isc.org/isc/bind9/9.11.4/bind-9.11.4.tar.gz.asc +# with key BE0E9748B718253A28BB89FFF1B11BF05CF02E57 +sha256 595070b031f869f8939656b5a5d11b121211967f15f6afeafa895df745279617 bind-9.11.4.tar.gz +sha256 336f3c40e37a1a13690efb4c63e20908faa4c40498cc02f3579fb67d3a1933a5 COPYRIGHT diff --git a/buildroot/package/bind/bind.mk b/buildroot/package/bind/bind.mk index 392ef321c..d478a7f6e 100644 --- a/buildroot/package/bind/bind.mk +++ b/buildroot/package/bind/bind.mk @@ -4,7 +4,7 @@ # ################################################################################ -BIND_VERSION = 9.11.2-P1 +BIND_VERSION = 9.11.4 BIND_SITE = http://ftp.isc.org/isc/bind9/$(BIND_VERSION) # bind does not support parallel builds. BIND_MAKE = $(MAKE1) @@ -33,7 +33,7 @@ BIND_CONF_OPTS = \ --enable-filter-aaaa ifeq ($(BR2_PACKAGE_ZLIB),y) -BIND_CONF_OPTS += --with-zlib=$(STAGING_DIR)/usr/include +BIND_CONF_OPTS += --with-zlib=$(STAGING_DIR)/usr BIND_DEPENDENCIES += zlib else BIND_CONF_OPTS += --without-zlib @@ -61,7 +61,9 @@ BIND_CONF_ENV += \ ac_cv_func_EVP_sha512=yes BIND_CONF_OPTS += \ --with-openssl=$(STAGING_DIR)/usr LIBS="-lz" \ - --with-ecdsa=yes + --with-ecdsa=yes \ + --with-eddsa=no \ + --with-aes=yes # GOST cipher support requires openssl extra engines ifeq ($(BR2_PACKAGE_OPENSSL_ENGINES),y) BIND_CONF_OPTS += --with-gost=yes diff --git a/buildroot/package/binutils/Config.in.host b/buildroot/package/binutils/Config.in.host index de229895c..ed4475ade 100644 --- a/buildroot/package/binutils/Config.in.host +++ b/buildroot/package/binutils/Config.in.host @@ -26,7 +26,7 @@ endchoice config BR2_BINUTILS_VERSION string - default "arc-2018.03-rc2" if BR2_BINUTILS_VERSION_ARC + default "arc-2018.03" if BR2_BINUTILS_VERSION_ARC default "2.28.1" if BR2_BINUTILS_VERSION_2_28_X default "2.29.1" if BR2_BINUTILS_VERSION_2_29_X default "2.30" if BR2_BINUTILS_VERSION_2_30_X diff --git a/buildroot/package/binutils/arc-2018.03-rc2/0002-ld-makefile.patch b/buildroot/package/binutils/arc-2018.03/0002-ld-makefile.patch similarity index 100% rename from buildroot/package/binutils/arc-2018.03-rc2/0002-ld-makefile.patch rename to buildroot/package/binutils/arc-2018.03/0002-ld-makefile.patch diff --git a/buildroot/package/binutils/arc-2018.03-rc2/0003-check-ldrunpath-length.patch b/buildroot/package/binutils/arc-2018.03/0003-check-ldrunpath-length.patch similarity index 100% rename from buildroot/package/binutils/arc-2018.03-rc2/0003-check-ldrunpath-length.patch rename to buildroot/package/binutils/arc-2018.03/0003-check-ldrunpath-length.patch diff --git a/buildroot/package/binutils/arc-2018.03-rc2/0004-add-sysroot-fix-from-bug-3049.patch b/buildroot/package/binutils/arc-2018.03/0004-add-sysroot-fix-from-bug-3049.patch similarity index 100% rename from buildroot/package/binutils/arc-2018.03-rc2/0004-add-sysroot-fix-from-bug-3049.patch rename to buildroot/package/binutils/arc-2018.03/0004-add-sysroot-fix-from-bug-3049.patch diff --git a/buildroot/package/binutils/arc-2018.03-rc2/0005-poison-system-directories.patch b/buildroot/package/binutils/arc-2018.03/0005-poison-system-directories.patch similarity index 100% rename from buildroot/package/binutils/arc-2018.03-rc2/0005-poison-system-directories.patch rename to buildroot/package/binutils/arc-2018.03/0005-poison-system-directories.patch diff --git a/buildroot/package/binutils/binutils.hash b/buildroot/package/binutils/binutils.hash index c93822280..cc13686cc 100644 --- a/buildroot/package/binutils/binutils.hash +++ b/buildroot/package/binutils/binutils.hash @@ -4,4 +4,4 @@ sha512 d748d22306477d60d921078804d21943248c23fca0707aac9b016a352c01c75ca69e8262 sha512 e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b192e9693b5828d27683739b0198431bf8b3e39fb3b04884cf89d9aa839 binutils-2.30.tar.xz # Locally calculated (fetched from Github) -sha512 c9d41001bd41d96f1cd78748c1e8df9715aab1158c0a1c9c90a2010e335c357d0d6816202b7fcf7c7d8d4a65e25920b0b35af6a59edd0d29fd9edddd8be95a48 binutils-arc-2018.03-rc2.tar.gz +sha512 bea88164ed48733bad63393fe702e12e651efd113aa4f3fe2e253e05c4c1e5da20b5a99333f0b5528df6d32ce806f799211c568e1916845a87999901dde28817 binutils-arc-2018.03.tar.gz diff --git a/buildroot/package/binutils/binutils.mk b/buildroot/package/binutils/binutils.mk index 1c05958f9..cb6022f7f 100644 --- a/buildroot/package/binutils/binutils.mk +++ b/buildroot/package/binutils/binutils.mk @@ -9,13 +9,13 @@ BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION)) ifeq ($(BINUTILS_VERSION),) ifeq ($(BR2_arc),y) -BINUTILS_VERSION = arc-2018.03-rc2 +BINUTILS_VERSION = arc-2018.03 else BINUTILS_VERSION = 2.29.1 endif endif # BINUTILS_VERSION -ifeq ($(BINUTILS_VERSION),arc-2018.03-rc2) +ifeq ($(BINUTILS_VERSION),arc-2018.03) BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION)) BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz BINUTILS_FROM_GIT = y diff --git a/buildroot/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch b/buildroot/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch index 1cdedfd98..de2db2f16 100644 --- a/buildroot/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch +++ b/buildroot/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch @@ -41,8 +41,8 @@ index 67fbc48..d9e34be 100644 $(LN_S) -f btrfs.static $(DESTDIR)$(bindir)/btrfsck.static + $(INSTALL) -m755 -d $(DESTDIR)$(libdir) + $(INSTALL) $(libs_static) $(DESTDIR)$(libdir) -+ $(INSTALL) -m755 -d $(DESTDIR)$(incdir) -+ $(INSTALL) -m644 $(libbtrfs_headers) $(DESTDIR)$(incdir) ++ $(INSTALL) -m755 -d $(DESTDIR)$(incdir)/btrfs ++ $(INSTALL) -m644 $(libbtrfs_headers) $(DESTDIR)$(incdir)/btrfs $(INSTALLDIRS): @echo "Making install in $(patsubst install-%,%,$@)" diff --git a/buildroot/package/cifs-utils/cifs-utils.mk b/buildroot/package/cifs-utils/cifs-utils.mk index 9343e3ea8..e0efb3bf2 100644 --- a/buildroot/package/cifs-utils/cifs-utils.mk +++ b/buildroot/package/cifs-utils/cifs-utils.mk @@ -15,7 +15,7 @@ CIFS_UTILS_DEPENDENCIES = host-pkgconf # Let's disable PIE unconditionally. We want PIE to be enabled only by # the global BR2_RELRO_FULL option. -CIFS_UTILS_CONF_OPTS = --disable-pie +CIFS_UTILS_CONF_OPTS = --disable-pie --disable-man ifeq ($(BR2_PACKAGE_KEYUTILS),y) CIFS_UTILS_DEPENDENCIES += keyutils diff --git a/buildroot/package/clamav/clamav.hash b/buildroot/package/clamav/clamav.hash index 4cf7e7a54..0cb8f51d8 100644 --- a/buildroot/package/clamav/clamav.hash +++ b/buildroot/package/clamav/clamav.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 c5c5edaf75a3c53ac0f271148fd6447310bce53f448ec7e6205124a25918f65c clamav-0.100.0.tar.gz +sha256 84e026655152247de7237184ee13003701c40be030dd68e0316111049f58a59f clamav-0.100.1.tar.gz sha256 0c4fd2fa9733fc9122503797648710851e4ee6d9e4969dd33fcbd8c63cd2f584 COPYING sha256 d72a145c90918184a05ef65a04c9e6f7466faa59bc1b82c8f6a8ddc7ddcb9bed COPYING.bzip2 sha256 dfb818a0d41411c6fb1c193c68b73018ceadd1994bda41ad541cbff292894bc6 COPYING.file diff --git a/buildroot/package/clamav/clamav.mk b/buildroot/package/clamav/clamav.mk index c0138a894..9db90bdde 100644 --- a/buildroot/package/clamav/clamav.mk +++ b/buildroot/package/clamav/clamav.mk @@ -4,7 +4,7 @@ # ################################################################################ -CLAMAV_VERSION = 0.100.0 +CLAMAV_VERSION = 0.100.1 CLAMAV_SITE = https://www.clamav.net/downloads/production CLAMAV_LICENSE = GPL-2.0 CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \ diff --git a/buildroot/package/collectd/collectd.hash b/buildroot/package/collectd/collectd.hash index be2f646c9..cf7e0b83f 100644 --- a/buildroot/package/collectd/collectd.hash +++ b/buildroot/package/collectd/collectd.hash @@ -1,2 +1,6 @@ # From https://collectd.org/files/SHA256SUM sha256 7edd3643c0842215553b2421d5456f4e9a8a58b07e216b40a7e8e91026d8e501 collectd-5.7.1.tar.bz2 + +# Hash for license files +sha256 ed0409b2b1c30566dab5fcdaf46ee70e140c99788e22f0267645a9357b476ae4 COPYING +sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa libltdl/COPYING.LIB diff --git a/buildroot/package/collectd/collectd.mk b/buildroot/package/collectd/collectd.mk index 6c987b2e3..ef45f342a 100644 --- a/buildroot/package/collectd/collectd.mk +++ b/buildroot/package/collectd/collectd.mk @@ -9,8 +9,8 @@ COLLECTD_SITE = http://collectd.org/files COLLECTD_SOURCE = collectd-$(COLLECTD_VERSION).tar.bz2 COLLECTD_CONF_ENV = ac_cv_lib_yajl_yajl_alloc=yes COLLECTD_INSTALL_STAGING = YES -COLLECTD_LICENSE = GPL-2.0, LGPL-2.1 -COLLECTD_LICENSE_FILES = COPYING +COLLECTD_LICENSE = MIT (daemon, plugins), GPL-2.0 (plugins), LGPL-2.1 (plugins) +COLLECTD_LICENSE_FILES = COPYING libltdl/COPYING.LIB # These require unmet dependencies, are fringe, pointless or deprecated COLLECTD_PLUGINS_DISABLE = \ diff --git a/buildroot/package/coreutils/coreutils.mk b/buildroot/package/coreutils/coreutils.mk index 4ef888829..81d3b0476 100644 --- a/buildroot/package/coreutils/coreutils.mk +++ b/buildroot/package/coreutils/coreutils.mk @@ -120,7 +120,8 @@ define COREUTILS_CLEANUP # link for archaic shells ln -fs test $(TARGET_DIR)/usr/bin/[ # gnu thinks chroot is in bin, debian thinks it's in sbin - mv -f $(TARGET_DIR)/usr/bin/chroot $(TARGET_DIR)/usr/sbin/chroot + rm -f $(TARGET_DIR)/usr/bin/chroot + ln -sf ../bin/coreutils $(TARGET_DIR)/usr/sbin/chroot endef COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_CLEANUP diff --git a/buildroot/package/docker-containerd/docker-containerd.mk b/buildroot/package/docker-containerd/docker-containerd.mk index 49c3d8ec0..dff725ff6 100644 --- a/buildroot/package/docker-containerd/docker-containerd.mk +++ b/buildroot/package/docker-containerd/docker-containerd.mk @@ -18,6 +18,7 @@ define DOCKER_CONTAINERD_INSTALL_SYMLINKS ln -fs runc $(TARGET_DIR)/usr/bin/docker-runc ln -fs containerd $(TARGET_DIR)/usr/bin/docker-containerd ln -fs containerd-shim $(TARGET_DIR)/usr/bin/docker-containerd-shim + ln -fs containerd $(TARGET_DIR)/usr/bin/docker-containerd endef DOCKER_CONTAINERD_POST_INSTALL_TARGET_HOOKS += DOCKER_CONTAINERD_INSTALL_SYMLINKS diff --git a/buildroot/package/dos2unix/dos2unix.mk b/buildroot/package/dos2unix/dos2unix.mk index 9b8234059..5001397f0 100644 --- a/buildroot/package/dos2unix/dos2unix.mk +++ b/buildroot/package/dos2unix/dos2unix.mk @@ -24,6 +24,10 @@ ifeq ($(BR2_USE_WCHAR),) DOS2UNIX_MAKE_OPTS += UCS= endif +ifeq ($(BR2_STATIC_LIBS),y) +DOS2UNIX_MAKE_OPTS += LDFLAGS_USER=-static +endif + define DOS2UNIX_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(DOS2UNIX_MAKE_OPTS) endef diff --git a/buildroot/package/edid-decode/Config.in b/buildroot/package/edid-decode/Config.in index 64297b494..701c70031 100644 --- a/buildroot/package/edid-decode/Config.in +++ b/buildroot/package/edid-decode/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_EDID_DECODE help Decode EDID data in human-readable format. - http://cgit.freedesktop.org/xorg/app/edid-decode/ + https://git.linuxtv.org/edid-decode.git/ diff --git a/buildroot/package/edid-decode/edid-decode.mk b/buildroot/package/edid-decode/edid-decode.mk index a4141b899..b412a77a1 100644 --- a/buildroot/package/edid-decode/edid-decode.mk +++ b/buildroot/package/edid-decode/edid-decode.mk @@ -5,7 +5,7 @@ ################################################################################ EDID_DECODE_VERSION = f56f329ed23a25d002352dedba1e8f092a47286f -EDID_DECODE_SITE = git://anongit.freedesktop.org/git/xorg/app/edid-decode.git +EDID_DECODE_SITE = git://linuxtv.org/edid-decode.git EDID_DECODE_LICENSE = MIT EDID_DECODE_LICENSE_FILES = edid-decode.c diff --git a/buildroot/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch b/buildroot/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch new file mode 100644 index 000000000..daff86669 --- /dev/null +++ b/buildroot/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch @@ -0,0 +1,30 @@ +From a642587a9c9e2dd7feacdf513c3643ce26ad3c22 Mon Sep 17 00:00:00 2001 +From: Christos Zoulas +Date: Sat, 9 Jun 2018 16:00:06 +0000 +Subject: [PATCH] Avoid reading past the end of buffer (Rui Reis) + +[baruch: drop file version string update hunk] +Signed-off-by: Baruch Siach +--- +Upstream status: commit a642587a9c9 in github mirror + + src/readelf.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/readelf.c b/src/readelf.c +index 79c83f9f5048..1f41b46113c3 100644 +--- a/src/readelf.c ++++ b/src/readelf.c +@@ -842,7 +842,8 @@ do_core_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type, + + cname = (unsigned char *) + &nbuf[doff + prpsoffsets(i)]; +- for (cp = cname; *cp && isprint(*cp); cp++) ++ for (cp = cname; cp < nbuf + size && *cp ++ && isprint(*cp); cp++) + continue; + /* + * Linux apparently appends a space at the end +-- +2.17.1 + diff --git a/buildroot/package/file/file.hash b/buildroot/package/file/file.hash index fee516c8e..a6b40be34 100644 --- a/buildroot/package/file/file.hash +++ b/buildroot/package/file/file.hash @@ -1,2 +1,5 @@ # Locally calculated -sha256 8639dc4d1b21e232285cd483604afc4a6ee810710e00e579dbe9591681722b50 file-5.32.tar.gz +sha256 1c52c8c3d271cd898d5511c36a68059cda94036111ab293f01f83c3525b737c6 file-5.33.tar.gz +sha256 3c0ad13c36f891a9b4f951e59eb2fc108065a46f849697cc6fd3cdb41cc23a3d COPYING +sha256 d98ee4d8d95e7d021a5dfc41f137ecc3b624a7b98e8bd793130202d12a21ed57 src/mygetopt.h +sha256 85e358d575ad4ac5b38b623a25b24246ccff3c7e680d930c0a9ff5228fe434b6 src/vasprintf.c diff --git a/buildroot/package/file/file.mk b/buildroot/package/file/file.mk index df0e0f0eb..422e29b1c 100644 --- a/buildroot/package/file/file.mk +++ b/buildroot/package/file/file.mk @@ -4,7 +4,7 @@ # ################################################################################ -FILE_VERSION = 5.32 +FILE_VERSION = 5.33 FILE_SITE = ftp://ftp.astron.com/pub/file FILE_DEPENDENCIES = host-file zlib HOST_FILE_DEPENDENCIES = host-zlib @@ -13,5 +13,12 @@ FILE_INSTALL_STAGING = YES FILE_LICENSE = BSD-2-Clause, BSD-4-Clause (one file), BSD-3-Clause (one file) FILE_LICENSE_FILES = COPYING src/mygetopt.h src/vasprintf.c +ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +FILE_CONF_OPTS += --enable-libseccomp +FILE_DEPENDENCIES += libseccomp +else +FILE_CONF_OPTS += --disable-libseccomp +endif + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/buildroot/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch b/buildroot/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch new file mode 100644 index 000000000..7ead57543 --- /dev/null +++ b/buildroot/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch @@ -0,0 +1,101 @@ +From 87fda0741d210727672cba5e54a37a189e8ac04e Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sun, 17 Jun 2018 21:18:39 -0700 +Subject: [PATCH] xtensa: fix PR target/65416 + +The issue is caused by reordering of stack pointer update after stack +space allocation with instructions that write to the allocated stack +space. In windowed ABI register spill area for the previous call frame +is located just below the stack pointer and may be reloaded back into +the register file on movsp. +Implement allocate_stack pattern for windowed ABI configuration and +insert an instruction that prevents reordering of frame memory access +and stack pointer update. + +gcc/ +2018-06-19 Max Filippov + + * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec + constant. + (allocate_stack, frame_blockage, *frame_blockage): New patterns. + +Signed-off-by: Max Filippov +Backported from: r261755 +--- + gcc/config/xtensa/xtensa.md | 46 +++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 46 insertions(+) + +diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md +index 84967dbedc08..209f839cfb0f 100644 +--- a/gcc/config/xtensa/xtensa.md ++++ b/gcc/config/xtensa/xtensa.md +@@ -38,6 +38,7 @@ + (UNSPEC_MEMW 11) + (UNSPEC_LSETUP_START 12) + (UNSPEC_LSETUP_END 13) ++ (UNSPEC_FRAME_BLOCKAGE 14) + + (UNSPECV_SET_FP 1) + (UNSPECV_ENTRY 2) +@@ -1676,6 +1677,32 @@ + + ;; Miscellaneous instructions. + ++;; In windowed ABI stack pointer adjustment must happen before any access ++;; to the space allocated on stack is allowed, otherwise register spill ++;; area may be clobbered. That's what frame blockage is supposed to enforce. ++ ++(define_expand "allocate_stack" ++ [(set (match_operand 0 "nonimmed_operand") ++ (minus (reg A1_REG) (match_operand 1 "add_operand"))) ++ (set (reg A1_REG) ++ (minus (reg A1_REG) (match_dup 1)))] ++ "TARGET_WINDOWED_ABI" ++{ ++ if (CONST_INT_P (operands[1])) ++ { ++ rtx neg_op0 = GEN_INT (-INTVAL (operands[1])); ++ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0)); ++ } ++ else ++ { ++ emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx, ++ operands[1])); ++ } ++ emit_move_insn (operands[0], virtual_stack_dynamic_rtx); ++ emit_insn (gen_frame_blockage ()); ++ DONE; ++}) ++ + (define_expand "prologue" + [(const_int 0)] + "" +@@ -1767,6 +1794,25 @@ + [(set_attr "length" "0") + (set_attr "type" "nop")]) + ++;; Do not schedule instructions accessing memory before this point. ++ ++(define_expand "frame_blockage" ++ [(set (match_dup 0) ++ (unspec:BLK [(match_dup 1)] UNSPEC_FRAME_BLOCKAGE))] ++ "" ++{ ++ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); ++ MEM_VOLATILE_P (operands[0]) = 1; ++ operands[1] = stack_pointer_rtx; ++}) ++ ++(define_insn "*frame_blockage" ++ [(set (match_operand:BLK 0 "" "") ++ (unspec:BLK [(match_operand:SI 1 "" "")] UNSPEC_FRAME_BLOCKAGE))] ++ "" ++ "" ++ [(set_attr "length" "0")]) ++ + (define_insn "trap" + [(trap_if (const_int 1) (const_int 0))] + "" +-- +2.11.0 + diff --git a/buildroot/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch b/buildroot/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch new file mode 100644 index 000000000..7ead57543 --- /dev/null +++ b/buildroot/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch @@ -0,0 +1,101 @@ +From 87fda0741d210727672cba5e54a37a189e8ac04e Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sun, 17 Jun 2018 21:18:39 -0700 +Subject: [PATCH] xtensa: fix PR target/65416 + +The issue is caused by reordering of stack pointer update after stack +space allocation with instructions that write to the allocated stack +space. In windowed ABI register spill area for the previous call frame +is located just below the stack pointer and may be reloaded back into +the register file on movsp. +Implement allocate_stack pattern for windowed ABI configuration and +insert an instruction that prevents reordering of frame memory access +and stack pointer update. + +gcc/ +2018-06-19 Max Filippov + + * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec + constant. + (allocate_stack, frame_blockage, *frame_blockage): New patterns. + +Signed-off-by: Max Filippov +Backported from: r261755 +--- + gcc/config/xtensa/xtensa.md | 46 +++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 46 insertions(+) + +diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md +index 84967dbedc08..209f839cfb0f 100644 +--- a/gcc/config/xtensa/xtensa.md ++++ b/gcc/config/xtensa/xtensa.md +@@ -38,6 +38,7 @@ + (UNSPEC_MEMW 11) + (UNSPEC_LSETUP_START 12) + (UNSPEC_LSETUP_END 13) ++ (UNSPEC_FRAME_BLOCKAGE 14) + + (UNSPECV_SET_FP 1) + (UNSPECV_ENTRY 2) +@@ -1676,6 +1677,32 @@ + + ;; Miscellaneous instructions. + ++;; In windowed ABI stack pointer adjustment must happen before any access ++;; to the space allocated on stack is allowed, otherwise register spill ++;; area may be clobbered. That's what frame blockage is supposed to enforce. ++ ++(define_expand "allocate_stack" ++ [(set (match_operand 0 "nonimmed_operand") ++ (minus (reg A1_REG) (match_operand 1 "add_operand"))) ++ (set (reg A1_REG) ++ (minus (reg A1_REG) (match_dup 1)))] ++ "TARGET_WINDOWED_ABI" ++{ ++ if (CONST_INT_P (operands[1])) ++ { ++ rtx neg_op0 = GEN_INT (-INTVAL (operands[1])); ++ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0)); ++ } ++ else ++ { ++ emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx, ++ operands[1])); ++ } ++ emit_move_insn (operands[0], virtual_stack_dynamic_rtx); ++ emit_insn (gen_frame_blockage ()); ++ DONE; ++}) ++ + (define_expand "prologue" + [(const_int 0)] + "" +@@ -1767,6 +1794,25 @@ + [(set_attr "length" "0") + (set_attr "type" "nop")]) + ++;; Do not schedule instructions accessing memory before this point. ++ ++(define_expand "frame_blockage" ++ [(set (match_dup 0) ++ (unspec:BLK [(match_dup 1)] UNSPEC_FRAME_BLOCKAGE))] ++ "" ++{ ++ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); ++ MEM_VOLATILE_P (operands[0]) = 1; ++ operands[1] = stack_pointer_rtx; ++}) ++ ++(define_insn "*frame_blockage" ++ [(set (match_operand:BLK 0 "" "") ++ (unspec:BLK [(match_operand:SI 1 "" "")] UNSPEC_FRAME_BLOCKAGE))] ++ "" ++ "" ++ [(set_attr "length" "0")]) ++ + (define_insn "trap" + [(trap_if (const_int 1) (const_int 0))] + "" +-- +2.11.0 + diff --git a/buildroot/package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch b/buildroot/package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch new file mode 100644 index 000000000..37acc8b65 --- /dev/null +++ b/buildroot/package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch @@ -0,0 +1,324 @@ +From 1a259ac3e39bf87e6e6a5eface8b0ebc6b2a0dfe Mon Sep 17 00:00:00 2001 +From: ktkachov +Date: Tue, 5 Jun 2018 09:50:16 +0000 +Subject: [PATCH] [arm] PR target/81497: Fix arm_acle.h for C++ +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +When trying to compile something with arm_acle.h using G++ we get a number of nasty errors: +arm_acle.h:48:49: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive] + return __builtin_arm_ldc (__coproc, __CRd, __p); + +This is because the intrinsics that are supposed to be void return the "result" of their builtin, +which is void. C lets that slide but C++ complains. + +After fixing that we run into further errors: +arm_acle.h:48:46: error: invalid conversion from 'const void*' to 'const int*' [-fpermissive] + return __builtin_arm_ldc (__coproc, __CRd, __p); + ^~~ +Because the pointer arguments in these intrinsics are void pointers but the builtin +expects int pointers. So this patch introduces new qualifiers for void pointers and their +const-qualified versions and uses that in the specification of these intrinsics. + +This gives us the opportunity of creating an arm subdirectory in g++.dg and inaugurates it +with the first arm-specific C++ tests (in that directory). + + + PR target/81497 + * config/arm/arm-builtins.c (arm_type_qualifiers): Add + qualifier_void_pointer and qualifier_const_void_pointer. + (arm_ldc_qualifiers, arm_stc_qualifiers): Use the above. + (arm_init_builtins): Handle the above. + * config/arm/arm_acle.h (__arm_cdp, __arm_ldc, __arm_ldcl, __arm_stc, + __arm_stcl, __arm_mcr, __arm_cdp2, __arm_ldc2, __arm_ldcl2, __arm_stc2, + __arm_stcl2,__arm_mcr2, __arm_mcrr, __arm_mcrr2): Remove return for + void intrinsics. + + * g++.target/arm/arm.exp: New file. + * g++.target/arm/pr81497.C: Likewise. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261191 138bc75d-0d04-0410-961f-82ee72b054a4 +Upstream-Status: Merged (gcc-8-branch) +Signed-off-by: Gaël PORTAY +[gportay: drop gcc/{,testsuite/}ChangeLog changes] +--- + gcc/config/arm/arm-builtins.c | 42 +++++++++++++--------- + gcc/config/arm/arm_acle.h | 28 +++++++-------- + gcc/testsuite/g++.target/arm/arm.exp | 50 ++++++++++++++++++++++++++ + gcc/testsuite/g++.target/arm/pr81497.C | 9 +++++ + 4 files changed, 99 insertions(+), 30 deletions(-) + create mode 100644 gcc/testsuite/g++.target/arm/arm.exp + create mode 100644 gcc/testsuite/g++.target/arm/pr81497.C + +diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c +index 7fde7a04672..183a7b907f6 100644 +--- a/gcc/config/arm/arm-builtins.c ++++ b/gcc/config/arm/arm-builtins.c +@@ -78,7 +78,11 @@ enum arm_type_qualifiers + /* Lane indices - must be within range of previous argument = a vector. */ + qualifier_lane_index = 0x200, + /* Lane indices for single lane structure loads and stores. */ +- qualifier_struct_load_store_lane_index = 0x400 ++ qualifier_struct_load_store_lane_index = 0x400, ++ /* A void pointer. */ ++ qualifier_void_pointer = 0x800, ++ /* A const void pointer. */ ++ qualifier_const_void_pointer = 0x802 + }; + + /* The qualifier_internal allows generation of a unary builtin from +@@ -202,7 +206,7 @@ arm_cdp_qualifiers[SIMD_MAX_BUILTIN_ARGS] + static enum arm_type_qualifiers + arm_ldc_qualifiers[SIMD_MAX_BUILTIN_ARGS] + = { qualifier_void, qualifier_unsigned_immediate, +- qualifier_unsigned_immediate, qualifier_const_pointer }; ++ qualifier_unsigned_immediate, qualifier_const_void_pointer }; + #define LDC_QUALIFIERS \ + (arm_ldc_qualifiers) + +@@ -210,7 +214,7 @@ arm_ldc_qualifiers[SIMD_MAX_BUILTIN_ARGS] + static enum arm_type_qualifiers + arm_stc_qualifiers[SIMD_MAX_BUILTIN_ARGS] + = { qualifier_void, qualifier_unsigned_immediate, +- qualifier_unsigned_immediate, qualifier_pointer }; ++ qualifier_unsigned_immediate, qualifier_void_pointer }; + #define STC_QUALIFIERS \ + (arm_stc_qualifiers) + +@@ -1095,19 +1099,25 @@ arm_init_builtin (unsigned int fcode, arm_builtin_datum *d, + if (qualifiers & qualifier_pointer && VECTOR_MODE_P (op_mode)) + op_mode = GET_MODE_INNER (op_mode); + +- eltype = arm_simd_builtin_type +- (op_mode, +- (qualifiers & qualifier_unsigned) != 0, +- (qualifiers & qualifier_poly) != 0); +- gcc_assert (eltype != NULL); +- +- /* Add qualifiers. */ +- if (qualifiers & qualifier_const) +- eltype = build_qualified_type (eltype, TYPE_QUAL_CONST); +- +- if (qualifiers & qualifier_pointer) +- eltype = build_pointer_type (eltype); +- ++ /* For void pointers we already have nodes constructed by the midend. */ ++ if (qualifiers & qualifier_void_pointer) ++ eltype = qualifiers & qualifier_const ++ ? const_ptr_type_node : ptr_type_node; ++ else ++ { ++ eltype ++ = arm_simd_builtin_type (op_mode, ++ (qualifiers & qualifier_unsigned) != 0, ++ (qualifiers & qualifier_poly) != 0); ++ gcc_assert (eltype != NULL); ++ ++ /* Add qualifiers. */ ++ if (qualifiers & qualifier_const) ++ eltype = build_qualified_type (eltype, TYPE_QUAL_CONST); ++ ++ if (qualifiers & qualifier_pointer) ++ eltype = build_pointer_type (eltype); ++ } + /* If we have reached arg_num == 0, we are at a non-void + return type. Otherwise, we are still processing + arguments. */ +diff --git a/gcc/config/arm/arm_acle.h b/gcc/config/arm/arm_acle.h +index 9a2f0ba30dc..c0f6ea2d156 100644 +--- a/gcc/config/arm/arm_acle.h ++++ b/gcc/config/arm/arm_acle.h +@@ -38,35 +38,35 @@ __arm_cdp (const unsigned int __coproc, const unsigned int __opc1, + const unsigned int __CRd, const unsigned int __CRn, + const unsigned int __CRm, const unsigned int __opc2) + { +- return __builtin_arm_cdp (__coproc, __opc1, __CRd, __CRn, __CRm, __opc2); ++ __builtin_arm_cdp (__coproc, __opc1, __CRd, __CRn, __CRm, __opc2); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_ldc (const unsigned int __coproc, const unsigned int __CRd, + const void * __p) + { +- return __builtin_arm_ldc (__coproc, __CRd, __p); ++ __builtin_arm_ldc (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_ldcl (const unsigned int __coproc, const unsigned int __CRd, + const void * __p) + { +- return __builtin_arm_ldcl (__coproc, __CRd, __p); ++ __builtin_arm_ldcl (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_stc (const unsigned int __coproc, const unsigned int __CRd, + void * __p) + { +- return __builtin_arm_stc (__coproc, __CRd, __p); ++ __builtin_arm_stc (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_stcl (const unsigned int __coproc, const unsigned int __CRd, + void * __p) + { +- return __builtin_arm_stcl (__coproc, __CRd, __p); ++ __builtin_arm_stcl (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) +@@ -74,7 +74,7 @@ __arm_mcr (const unsigned int __coproc, const unsigned int __opc1, + uint32_t __value, const unsigned int __CRn, const unsigned int __CRm, + const unsigned int __opc2) + { +- return __builtin_arm_mcr (__coproc, __opc1, __value, __CRn, __CRm, __opc2); ++ __builtin_arm_mcr (__coproc, __opc1, __value, __CRn, __CRm, __opc2); + } + + __extension__ static __inline uint32_t __attribute__ ((__always_inline__)) +@@ -90,35 +90,35 @@ __arm_cdp2 (const unsigned int __coproc, const unsigned int __opc1, + const unsigned int __CRd, const unsigned int __CRn, + const unsigned int __CRm, const unsigned int __opc2) + { +- return __builtin_arm_cdp2 (__coproc, __opc1, __CRd, __CRn, __CRm, __opc2); ++ __builtin_arm_cdp2 (__coproc, __opc1, __CRd, __CRn, __CRm, __opc2); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_ldc2 (const unsigned int __coproc, const unsigned int __CRd, + const void * __p) + { +- return __builtin_arm_ldc2 (__coproc, __CRd, __p); ++ __builtin_arm_ldc2 (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_ldc2l (const unsigned int __coproc, const unsigned int __CRd, + const void * __p) + { +- return __builtin_arm_ldc2l (__coproc, __CRd, __p); ++ __builtin_arm_ldc2l (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_stc2 (const unsigned int __coproc, const unsigned int __CRd, + void * __p) + { +- return __builtin_arm_stc2 (__coproc, __CRd, __p); ++ __builtin_arm_stc2 (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_stc2l (const unsigned int __coproc, const unsigned int __CRd, + void * __p) + { +- return __builtin_arm_stc2l (__coproc, __CRd, __p); ++ __builtin_arm_stc2l (__coproc, __CRd, __p); + } + + __extension__ static __inline void __attribute__ ((__always_inline__)) +@@ -126,7 +126,7 @@ __arm_mcr2 (const unsigned int __coproc, const unsigned int __opc1, + uint32_t __value, const unsigned int __CRn, + const unsigned int __CRm, const unsigned int __opc2) + { +- return __builtin_arm_mcr2 (__coproc, __opc1, __value, __CRn, __CRm, __opc2); ++ __builtin_arm_mcr2 (__coproc, __opc1, __value, __CRn, __CRm, __opc2); + } + + __extension__ static __inline uint32_t __attribute__ ((__always_inline__)) +@@ -143,7 +143,7 @@ __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_mcrr (const unsigned int __coproc, const unsigned int __opc1, + uint64_t __value, const unsigned int __CRm) + { +- return __builtin_arm_mcrr (__coproc, __opc1, __value, __CRm); ++ __builtin_arm_mcrr (__coproc, __opc1, __value, __CRm); + } + + __extension__ static __inline uint64_t __attribute__ ((__always_inline__)) +@@ -159,7 +159,7 @@ __extension__ static __inline void __attribute__ ((__always_inline__)) + __arm_mcrr2 (const unsigned int __coproc, const unsigned int __opc1, + uint64_t __value, const unsigned int __CRm) + { +- return __builtin_arm_mcrr2 (__coproc, __opc1, __value, __CRm); ++ __builtin_arm_mcrr2 (__coproc, __opc1, __value, __CRm); + } + + __extension__ static __inline uint64_t __attribute__ ((__always_inline__)) +diff --git a/gcc/testsuite/g++.target/arm/arm.exp b/gcc/testsuite/g++.target/arm/arm.exp +new file mode 100644 +index 00000000000..1a169d2f220 +--- /dev/null ++++ b/gcc/testsuite/g++.target/arm/arm.exp +@@ -0,0 +1,50 @@ ++# Specific regression driver for arm. ++# Copyright (C) 2009-2018 Free Software Foundation, Inc. ++# ++# This file is part of GCC. ++# ++# GCC is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3, or (at your option) ++# any later version. ++# ++# GCC is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with GCC; see the file COPYING3. If not see ++# . */ ++ ++# GCC testsuite that uses the `dg.exp' driver. ++ ++# Exit immediately if this isn't an arm target. ++if {![istarget arm*-*-*] } then { ++ return ++} ++ ++# Load support procs. ++load_lib g++-dg.exp ++ ++global DEFAULT_CXXFLAGS ++if ![info exists DEFAULT_CXXFLAGS] then { ++ set DEFAULT_CXXFLAGS " -pedantic-errors" ++} ++ ++ ++global dg_runtest_extra_prunes ++set dg_runtest_extra_prunes "" ++lappend dg_runtest_extra_prunes "warning: switch -m(cpu|arch)=.* conflicts with -m(cpu|arch)=.* switch" ++ ++# Initialize `dg'. ++dg-init ++ ++# Main loop. ++dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.C]] \ ++ "" $DEFAULT_CXXFLAGS ++ ++# All done. ++set dg_runtest_extra_prunes "" ++dg-finish ++ +diff --git a/gcc/testsuite/g++.target/arm/pr81497.C b/gcc/testsuite/g++.target/arm/pr81497.C +new file mode 100644 +index 00000000000..0519a3a3045 +--- /dev/null ++++ b/gcc/testsuite/g++.target/arm/pr81497.C +@@ -0,0 +1,9 @@ ++/* { dg-do compile } */ ++/* { dg-require-effective-target arm_thumb2_ok } */ ++ ++#include ++ ++int main () ++{ ++ return 0; ++} +-- +2.17.1 + diff --git a/buildroot/package/gcc/Config.in.host b/buildroot/package/gcc/Config.in.host index 00e72db03..b092448ac 100644 --- a/buildroot/package/gcc/Config.in.host +++ b/buildroot/package/gcc/Config.in.host @@ -73,7 +73,7 @@ config BR2_GCC_VERSION default "5.5.0" if BR2_GCC_VERSION_5_X default "6.4.0" if BR2_GCC_VERSION_6_X default "7.3.0" if BR2_GCC_VERSION_7_X - default "arc-2018.03-rc2" if BR2_GCC_VERSION_ARC + default "arc-2018.03" if BR2_GCC_VERSION_ARC default "or1k-musl-5.4.0-20170218" if BR2_GCC_VERSION_OR1K config BR2_EXTRA_GCC_CONFIG_OPTIONS diff --git a/buildroot/package/gcc/arc-2018.03-rc2/0100-uclibc-conf.patch b/buildroot/package/gcc/arc-2018.03/0100-uclibc-conf.patch similarity index 100% rename from buildroot/package/gcc/arc-2018.03-rc2/0100-uclibc-conf.patch rename to buildroot/package/gcc/arc-2018.03/0100-uclibc-conf.patch diff --git a/buildroot/package/gcc/arc-2018.03-rc2/0860-cilk-fix-build-without-wchar.patch b/buildroot/package/gcc/arc-2018.03/0860-cilk-fix-build-without-wchar.patch similarity index 100% rename from buildroot/package/gcc/arc-2018.03-rc2/0860-cilk-fix-build-without-wchar.patch rename to buildroot/package/gcc/arc-2018.03/0860-cilk-fix-build-without-wchar.patch diff --git a/buildroot/package/gcc/arc-2018.03-rc2/0900-remove-selftests.patch b/buildroot/package/gcc/arc-2018.03/0900-remove-selftests.patch similarity index 100% rename from buildroot/package/gcc/arc-2018.03-rc2/0900-remove-selftests.patch rename to buildroot/package/gcc/arc-2018.03/0900-remove-selftests.patch diff --git a/buildroot/package/gcc/gcc.hash b/buildroot/package/gcc/gcc.hash index 817d04e39..c9f93452b 100644 --- a/buildroot/package/gcc/gcc.hash +++ b/buildroot/package/gcc/gcc.hash @@ -8,6 +8,6 @@ sha512 02c60e54527c7adf584798d5251f8a0b80c93d5deafce82501b2c28e6692e0bd783927bb sha512 ad41a7e4584e40e92cdf860bc0288500fbaf5dfb7e8c3fcabe9eba809c87bcfa85b46c19c19921b0cdf6d05483faede8287bb9ea120c0d1559449a70e602c8d4 gcc-7.3.0.tar.xz # Locally calculated (fetched from Github) -sha512 a0faf2bb34f6c72b6460c6432639d89915cfc63456cfdf016896b3ef075655b2e9f26e745d841bbc38e776bc7a3729359cca88f1e4fb83489fa6775a3ccb55b8 gcc-arc-2018.03-rc2.tar.gz +sha512 7c6555d629957d154c9c0524fc2c82301c9ab9192f5b9175c47b1f2dde298ac032e86360d91866c3c4d001cf8e191a90dc88f3c900ebfc367c5888ab7bf2ce79 gcc-arc-2018.03.tar.gz # Locally calculated (fetched from Github) sha512 2de7cf47333a4092b02d3bb98f4206f14966f1d139a724d09cf3b22f8a43ae0c704f33e6477d6367a03c29b265480dc900169e9d417006c5d46f0ae446b8c6f1 gcc-or1k-musl-5.4.0-20170218.tar.gz diff --git a/buildroot/package/gdb/7.12.1/0007-gdbserver-fix-build-for-m68k.patch b/buildroot/package/gdb/7.12.1/0007-gdbserver-fix-build-for-m68k.patch new file mode 100644 index 000000000..451bed312 --- /dev/null +++ b/buildroot/package/gdb/7.12.1/0007-gdbserver-fix-build-for-m68k.patch @@ -0,0 +1,62 @@ +From 80c60ea9fb3634272a98ec526eabff25f5255bae Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 22 Jun 2018 22:40:26 +0200 +Subject: [PATCH] gdbserver: fix build for m68k +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +As for strace [1], when is included after , +the build fails on m68k with the following diagnostics: + +In file included from ./../nat/linux-ptrace.h:28:0, + from linux-low.h:27, + from linux-m68k-low.c:20: +[...]/usr/include/sys/reg.h:26:3: error: expected identifier before numeric constant + PT_D1 = 0, + ^ +[...]usr/include/sys/reg.h:26:3: error: expected « } » before numeric constant +[...]usr/include/sys/reg.h:26:3: error: expected unqualified-id before numeric constant +In file included from linux-m68k-low.c:27:0: +[...]usr/include/sys/reg.h:99:1: error: expected declaration before « } » token + }; + ^ + +Fix this by moving on top of "linux-low.h". + +[1] https://github.com/strace/strace/commit/6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92 + +Signed-off-by: Romain Naour +--- + gdb/gdbserver/linux-m68k-low.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c +index 5594f10f927..19b4ef7b259 100644 +--- a/gdb/gdbserver/linux-m68k-low.c ++++ b/gdb/gdbserver/linux-m68k-low.c +@@ -17,16 +17,17 @@ + along with this program. If not, see . */ + + #include "server.h" ++ ++#ifdef HAVE_SYS_REG_H ++#include ++#endif ++ + #include "linux-low.h" + + /* Defined in auto-generated file reg-m68k.c. */ + void init_registers_m68k (void); + extern const struct target_desc *tdesc_m68k; + +-#ifdef HAVE_SYS_REG_H +-#include +-#endif +- + #define m68k_num_regs 29 + #define m68k_num_gregs 18 + +-- +2.14.4 + diff --git a/buildroot/package/gdb/8.0.1/0005-gdbserver-fix-build-for-m68k.patch b/buildroot/package/gdb/8.0.1/0005-gdbserver-fix-build-for-m68k.patch new file mode 100644 index 000000000..451bed312 --- /dev/null +++ b/buildroot/package/gdb/8.0.1/0005-gdbserver-fix-build-for-m68k.patch @@ -0,0 +1,62 @@ +From 80c60ea9fb3634272a98ec526eabff25f5255bae Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 22 Jun 2018 22:40:26 +0200 +Subject: [PATCH] gdbserver: fix build for m68k +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +As for strace [1], when is included after , +the build fails on m68k with the following diagnostics: + +In file included from ./../nat/linux-ptrace.h:28:0, + from linux-low.h:27, + from linux-m68k-low.c:20: +[...]/usr/include/sys/reg.h:26:3: error: expected identifier before numeric constant + PT_D1 = 0, + ^ +[...]usr/include/sys/reg.h:26:3: error: expected « } » before numeric constant +[...]usr/include/sys/reg.h:26:3: error: expected unqualified-id before numeric constant +In file included from linux-m68k-low.c:27:0: +[...]usr/include/sys/reg.h:99:1: error: expected declaration before « } » token + }; + ^ + +Fix this by moving on top of "linux-low.h". + +[1] https://github.com/strace/strace/commit/6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92 + +Signed-off-by: Romain Naour +--- + gdb/gdbserver/linux-m68k-low.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c +index 5594f10f927..19b4ef7b259 100644 +--- a/gdb/gdbserver/linux-m68k-low.c ++++ b/gdb/gdbserver/linux-m68k-low.c +@@ -17,16 +17,17 @@ + along with this program. If not, see . */ + + #include "server.h" ++ ++#ifdef HAVE_SYS_REG_H ++#include ++#endif ++ + #include "linux-low.h" + + /* Defined in auto-generated file reg-m68k.c. */ + void init_registers_m68k (void); + extern const struct target_desc *tdesc_m68k; + +-#ifdef HAVE_SYS_REG_H +-#include +-#endif +- + #define m68k_num_regs 29 + #define m68k_num_gregs 18 + +-- +2.14.4 + diff --git a/buildroot/package/gdb/Config.in b/buildroot/package/gdb/Config.in index 6eea73b07..55c1b194c 100644 --- a/buildroot/package/gdb/Config.in +++ b/buildroot/package/gdb/Config.in @@ -10,10 +10,16 @@ comment "gdb/gdbserver needs a toolchain w/ threads, threads debug" depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_THREADS_DEBUG +comment "gdb/gdbserver >= 8.x needs a toolchain w/ C++, gcc >= 4.8" + depends on BR2_PACKAGE_GDB_NEEDS_CXX11 + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + config BR2_PACKAGE_GDB bool "gdb" depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_HAS_THREADS_DEBUG depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_PACKAGE_GDB_NEEDS_CXX11 + depends on BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_GDB_NEEDS_CXX11 # When the external toolchain gdbserver is copied to the # target, we don't allow building a separate gdbserver. The # one from the external toolchain should be used. diff --git a/buildroot/package/gdb/Config.in.host b/buildroot/package/gdb/Config.in.host index 0011966d8..1769c271f 100644 --- a/buildroot/package/gdb/Config.in.host +++ b/buildroot/package/gdb/Config.in.host @@ -3,7 +3,6 @@ config BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS default y # The ARC version needs C++11, thus gcc >= 4.8, like gdb-8.0.x depends on BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_arc - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_arc depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT) depends on !BR2_microblaze depends on !BR2_nios2 @@ -63,18 +62,29 @@ config BR2_GDB_VERSION_7_12 config BR2_GDB_VERSION_8_0 bool "gdb 8.0.x" # Needs a C++11 compiler - depends on BR2_INSTALL_LIBSTDCPP depends on BR2_HOST_GCC_AT_LEAST_4_8 - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 endchoice endif +# Tells whether the currently selected gdb version requires C++11 +# support in the toolchain. When host-gdb is not enabled, the target +# gdb built is 7.11, which doesn't require C++11 support. So it's only +# if host-gdb is built, with the version set to 8.0 that C++11 support +# is needed in the toolchain to build gdb for the target. +# +# Even though this option is related to target gdb dependencies, we +# keep it next to the BR2_GDB_VERSION so that they are kept in sync. +config BR2_PACKAGE_GDB_NEEDS_CXX11 + bool + default y if BR2_GDB_VERSION_8_0 + default y if BR2_arc + # If cross-gdb is not enabled, the latest working version is chosen. config BR2_GDB_VERSION string - default "arc-2018.03-rc2-gdb" if BR2_arc + default "arc-2018.03-gdb" if BR2_arc default "7.10.1" if BR2_GDB_VERSION_7_10 default "7.11.1" if BR2_GDB_VERSION_7_11 || !BR2_PACKAGE_HOST_GDB default "7.12.1" if BR2_GDB_VERSION_7_12 diff --git a/buildroot/package/gdb/gdb.hash b/buildroot/package/gdb/gdb.hash index cfbaac40f..e53f903bf 100644 --- a/buildroot/package/gdb/gdb.hash +++ b/buildroot/package/gdb/gdb.hash @@ -5,4 +5,4 @@ sha512 0ac8d0a495103611ef41167a08313a010dce6ca4c6d827cbe8558a0c1a1a8a6bfa53f1b7 sha512 5eb328910033f0918058be2f92caebf1e8dfc6caa3c730d99d621627e53de3c1b43761c2f683d53555893253c2f06768cbf56cdea051a3d291ffb6cfae87b5e1 gdb-8.0.1.tar.xz # Locally calculated (fetched from Github) -sha512 0c58dd3e8fff8b51a459aba78f4acd1beaa3427e00a63a7242827f22c6af157e4aea91ab754cdc021e0075a5bf2b70df903dba67dbff2415fd0f82c8aab99087 gdb-arc-2018.03-rc2-gdb.tar.gz +sha512 b17e4066730491f6a75b00eab78012f67cc445fe95ecd82c06cda7c1255190e6c471ac89b92f2fcdba4790b0046756b9cecf1f827537afcb44e1e578345852ad gdb-arc-2018.03-gdb.tar.gz diff --git a/buildroot/package/glibc/glibc.hash b/buildroot/package/glibc/glibc.hash index 1fab3a245..81dd5ad5e 100644 --- a/buildroot/package/glibc/glibc.hash +++ b/buildroot/package/glibc/glibc.hash @@ -1,7 +1,7 @@ # Locally calculated (fetched from Github) sha256 33189b3f10c88730a1f686fac794bc01f31765f12ffd75bc5e8a0f2a690d217a glibc-glibc-2.27-57-g6c99e37f6fb640a50a3113b2dbee5d5389843c1e.tar.gz # Locally calculated (fetched from Github) -sha256 ddc63360393ab88ab6a4a0c81d33481f34c5a9ebd758eec2e6bb35385058b4cb glibc-arc-2018.03-rc2.tar.gz +sha256 e08ab67b2db2d0f0e8f3311d23c54fb8f6d4c1ef6fa0b4047fd5da400e3ce9de glibc-arc-2018.03-release.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/buildroot/package/glibc/glibc.mk b/buildroot/package/glibc/glibc.mk index 8e82eaa1e..caaa542ce 100644 --- a/buildroot/package/glibc/glibc.mk +++ b/buildroot/package/glibc/glibc.mk @@ -5,7 +5,7 @@ ################################################################################ ifeq ($(BR2_arc),y) -GLIBC_VERSION = arc-2018.03-rc2 +GLIBC_VERSION = arc-2018.03-release GLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,glibc,$(GLIBC_VERSION)) else # Generate version string using: diff --git a/buildroot/package/gnupg/gnupg.hash b/buildroot/package/gnupg/gnupg.hash index abd76cde9..3bacdf656 100644 --- a/buildroot/package/gnupg/gnupg.hash +++ b/buildroot/package/gnupg/gnupg.hash @@ -1,3 +1,3 @@ # Locally computed based on signature -# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-1.4.22.tar.bz2.sig -sha256 9594a24bec63a21568424242e3f198b9d9828dea5ff0c335e47b06f835f930b4 gnupg-1.4.22.tar.bz2 +# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-1.4.23.tar.bz2.sig +sha256 c9462f17e651b6507848c08c430c791287cd75491f8b5a8b50c6ed46b12678ba gnupg-1.4.23.tar.bz2 diff --git a/buildroot/package/gnupg/gnupg.mk b/buildroot/package/gnupg/gnupg.mk index 3ff202b70..ac9047894 100644 --- a/buildroot/package/gnupg/gnupg.mk +++ b/buildroot/package/gnupg/gnupg.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPG_VERSION = 1.4.22 +GNUPG_VERSION = 1.4.23 GNUPG_SOURCE = gnupg-$(GNUPG_VERSION).tar.bz2 GNUPG_SITE = https://gnupg.org/ftp/gcrypt/gnupg GNUPG_LICENSE = GPL-3.0+ diff --git a/buildroot/package/gnupg2/gnupg2.hash b/buildroot/package/gnupg2/gnupg2.hash index f5cc95cb1..f5890c5e2 100644 --- a/buildroot/package/gnupg2/gnupg2.hash +++ b/buildroot/package/gnupg2/gnupg2.hash @@ -1,6 +1,6 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q2/000424.html -sha1 e222cda63409a86992369df8976f6c7511e10ea0 gnupg-2.2.7.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q2/000425.html +sha1 d87553a125832ea90e8aeb3ceeecf24f88de56fb gnupg-2.2.8.tar.bz2 # Calculated based on the hash above and signature -# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.7.tar.bz2.sig -sha256 d95b361ee6ef7eff86af40c8c72bf9313736ac9f7010d6604d78bf83818e976e gnupg-2.2.7.tar.bz2 +# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.8.tar.bz2.sig +sha256 777b4cb8ced21965a5053d4fa20fe11484f0a478f3d011cef508a1a49db50dcd gnupg-2.2.8.tar.bz2 sha256 bc2d6664f6276fa0a72d57633b3ae68dc7dcb677b71018bf08c8e93e509f1357 COPYING diff --git a/buildroot/package/gnupg2/gnupg2.mk b/buildroot/package/gnupg2/gnupg2.mk index 0823921b0..3151860f3 100644 --- a/buildroot/package/gnupg2/gnupg2.mk +++ b/buildroot/package/gnupg2/gnupg2.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPG2_VERSION = 2.2.7 +GNUPG2_VERSION = 2.2.8 GNUPG2_SOURCE = gnupg-$(GNUPG2_VERSION).tar.bz2 GNUPG2_SITE = https://gnupg.org/ftp/gcrypt/gnupg GNUPG2_LICENSE = GPL-3.0+ diff --git a/buildroot/package/heimdal/heimdal.mk b/buildroot/package/heimdal/heimdal.mk index 79aaacbd3..5f7b6c685 100644 --- a/buildroot/package/heimdal/heimdal.mk +++ b/buildroot/package/heimdal/heimdal.mk @@ -24,7 +24,10 @@ HOST_HEIMDAL_CONF_OPTS = \ --without-libedit \ --without-hesiod \ --without-x \ + --disable-mdb-db \ + --disable-ndbm-db \ --disable-heimdal-documentation + HOST_HEIMDAL_CONF_ENV = MAKEINFO=true HEIMDAL_LICENSE = BSD-3-Clause HEIMDAL_LICENSE_FILES = LICENSE diff --git a/buildroot/package/hidapi/Config.in b/buildroot/package/hidapi/Config.in index f6a31bacd..b98c2db91 100644 --- a/buildroot/package/hidapi/Config.in +++ b/buildroot/package/hidapi/Config.in @@ -5,6 +5,8 @@ config BR2_PACKAGE_HIDAPI select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_LIBGUDEV select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + # runtime UTF conversion support + select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC help HIDAPI is a multi-platform library which allows an application to interface with USB and Bluetooth HID-Class devices on diff --git a/buildroot/package/imagemagick/imagemagick.hash b/buildroot/package/imagemagick/imagemagick.hash index 170231c4b..cf529b597 100644 --- a/buildroot/package/imagemagick/imagemagick.hash +++ b/buildroot/package/imagemagick/imagemagick.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 723a28f9cbc5c6130f496065fc01c839083e97bf3e4930f940a03c0155046170 7.0.7-27.tar.gz +sha256 ac957ef303fb870cb92331947ebcdcef5b553e80c7897c0aec866889f35e1a23 7.0.7-38.tar.gz sha256 2318cc05bbd2c25c1b2d13af1aadccc45b9cf6f94757421ae59a3c8ea9064f1c LICENSE diff --git a/buildroot/package/imagemagick/imagemagick.mk b/buildroot/package/imagemagick/imagemagick.mk index 116543888..4aa9d56db 100644 --- a/buildroot/package/imagemagick/imagemagick.mk +++ b/buildroot/package/imagemagick/imagemagick.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMAGEMAGICK_VERSION = 7.0.7-27 +IMAGEMAGICK_VERSION = 7.0.7-38 IMAGEMAGICK_SOURCE = $(IMAGEMAGICK_VERSION).tar.gz IMAGEMAGICK_SITE = https://github.com/ImageMagick/ImageMagick/archive IMAGEMAGICK_LICENSE = Apache-2.0 diff --git a/buildroot/package/libcurl/0001-Fix-link-with-ssh2-built-with-a-static-mbedtls.patch b/buildroot/package/libcurl/0001-Fix-link-with-ssh2-built-with-a-static-mbedtls.patch deleted file mode 100644 index 9107fa7c8..000000000 --- a/buildroot/package/libcurl/0001-Fix-link-with-ssh2-built-with-a-static-mbedtls.patch +++ /dev/null @@ -1,40 +0,0 @@ -From b5fbc486e805805efb8400373ccec2a3dee1c81b Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 21 May 2018 12:07:00 +0200 -Subject: [PATCH 1/1] Fix link with ssh2 built with a static mbedtls - -The ssh2 pkg-config file could contain the following lines when build -with a static version of mbedtls: - Libs: -L${libdir} -lssh2 /xxx/libmbedcrypto.a - Libs.private: /xxx/libmbedcrypto.a - -This static mbedtls library must be used to correctly detect ssh2 -support and this library must be copied in libcurl.pc otherwise -compilation of any application (such as upmpdcli) with libcurl will fail -when trying to found mbedtls functions included in libssh2. -So, replace pkg-config --libs-only-l by pkg-config --libs. - -Fixes: - - http://autobuild.buildroot.net/results/43e24b22a77f616d6198c10435dcc23cc3b9088a - -Signed-off-by: Fabrice Fontaine ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 5569a26b4..9e2606885 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -2766,7 +2766,7 @@ if test X"$OPT_LIBSSH2" != Xno; then - CURL_CHECK_PKGCONFIG(libssh2) - - if test "$PKGCONFIG" != "no" ; then -- LIB_SSH2=`$PKGCONFIG --libs-only-l libssh2` -+ LIB_SSH2=`$PKGCONFIG --libs libssh2` - LD_SSH2=`$PKGCONFIG --libs-only-L libssh2` - CPP_SSH2=`$PKGCONFIG --cflags-only-I libssh2` - version=`$PKGCONFIG --modversion libssh2` --- -2.14.1 - diff --git a/buildroot/package/libcurl/libcurl.hash b/buildroot/package/libcurl/libcurl.hash index cb1e6e72f..9a57153d2 100644 --- a/buildroot/package/libcurl/libcurl.hash +++ b/buildroot/package/libcurl/libcurl.hash @@ -1,4 +1,5 @@ # Locally calculated after checking pgp signature -# https://curl.haxx.se/download/curl-7.60.0.tar.xz.asc -sha256 8736ff8ded89ddf7e926eec7b16f82597d029fc1469f3a551f1fafaac164e6a0 curl-7.60.0.tar.xz +# https://curl.haxx.se/download/curl-7.61.0.tar.xz.asc +# with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 +sha256 ef6e55192d04713673b4409ccbcb4cb6cd723137d6e10ca45b0c593a454e1720 curl-7.61.0.tar.xz sha256 5f3849ec38ddb927e79f514bf948890c41b8d1407286a49609b8fb1585931095 COPYING diff --git a/buildroot/package/libcurl/libcurl.mk b/buildroot/package/libcurl/libcurl.mk index 25d74394c..3f6733e6c 100644 --- a/buildroot/package/libcurl/libcurl.mk +++ b/buildroot/package/libcurl/libcurl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCURL_VERSION = 7.60.0 +LIBCURL_VERSION = 7.61.0 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz LIBCURL_SITE = https://curl.haxx.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ @@ -14,8 +14,6 @@ LIBCURL_DEPENDENCIES = host-pkgconf \ LIBCURL_LICENSE = curl LIBCURL_LICENSE_FILES = COPYING LIBCURL_INSTALL_STAGING = YES -# We're patching configure.ac -LIBCURL_AUTORECONF = YES # We disable NTLM support because it uses fork(), which doesn't work # on non-MMU platforms. Moreover, this authentication method is @@ -40,7 +38,6 @@ LIBCURL_CONFIG_SCRIPTS = curl-config ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBCURL_DEPENDENCIES += openssl -LIBCURL_CONF_ENV += ac_cv_lib_crypto_CRYPTO_lock=yes # configure adds the cross openssl dir to LD_LIBRARY_PATH which screws up # native stuff during the rest of configure when target == host. # Fix it by setting LD_LIBRARY_PATH to something sensible so those libs diff --git a/buildroot/package/libgcrypt/libgcrypt.hash b/buildroot/package/libgcrypt/libgcrypt.hash index 736332d35..dce652295 100644 --- a/buildroot/package/libgcrypt/libgcrypt.hash +++ b/buildroot/package/libgcrypt/libgcrypt.hash @@ -1,6 +1,6 @@ -# From https://www.gnupg.org/download/integrity_check.html -sha1 ab8aae5d7a68f8e0988f90e11e7f6a4805af5c8d libgcrypt-1.8.2.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q2/000426.html +sha1 13bd2ce69e59ab538e959911dfae80ea309636e3 libgcrypt-1.8.3.tar.bz2 # Locally calculated after checking signature -# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.2.tar.bz2.sig -sha256 c8064cae7558144b13ef0eb87093412380efa16c4ee30ad12ecb54886a524c07 libgcrypt-1.8.2.tar.bz2 +# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.3.tar.bz2.sig +sha256 66ec90be036747602f2b48f98312361a9180c97c68a690a5f376fa0f67d0af7c libgcrypt-1.8.3.tar.bz2 sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LIB diff --git a/buildroot/package/libgcrypt/libgcrypt.mk b/buildroot/package/libgcrypt/libgcrypt.mk index 00e864e83..f25944da6 100644 --- a/buildroot/package/libgcrypt/libgcrypt.mk +++ b/buildroot/package/libgcrypt/libgcrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGCRYPT_VERSION = 1.8.2 +LIBGCRYPT_VERSION = 1.8.3 LIBGCRYPT_SOURCE = libgcrypt-$(LIBGCRYPT_VERSION).tar.bz2 LIBGCRYPT_LICENSE = LGPL-2.1+ LIBGCRYPT_LICENSE_FILES = COPYING.LIB diff --git a/buildroot/package/libglib2/0004-Do-not-hardcode-python-path-into-various-tools.patch b/buildroot/package/libglib2/0004-Do-not-hardcode-python-path-into-various-tools.patch new file mode 100644 index 000000000..fa558e6db --- /dev/null +++ b/buildroot/package/libglib2/0004-Do-not-hardcode-python-path-into-various-tools.patch @@ -0,0 +1,48 @@ +From b9160d951b9af647b97766c57295ca4f45cf9521 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 3 Oct 2017 10:45:55 +0300 +Subject: [PATCH] Do not hardcode python path into various tools + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin +Fetch from: http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch?id=eef7883587acc933d6f34b559ec03ff84d18573b +Signed-off-by: David Owens +--- + gio/gdbus-2.0/codegen/gdbus-codegen.in | 2 +- + gobject/glib-genmarshal.in | 2 +- + gobject/glib-mkenums.in | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in +index 8050981..e693ef3 100644 +--- a/gio/gdbus-2.0/codegen/gdbus-codegen.in ++++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env @PYTHON@ ++#!/usr/bin/env python + + # GDBus - GLib D-Bus Library + # +diff --git a/gobject/glib-genmarshal.in b/gobject/glib-genmarshal.in +index 09e8408..b2f9d99 100755 +--- a/gobject/glib-genmarshal.in ++++ b/gobject/glib-genmarshal.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env @PYTHON@ ++#!/usr/bin/env python + + # pylint: disable=too-many-lines, missing-docstring, invalid-name + +diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in +index d4bfd11..051fce4 100755 +--- a/gobject/glib-mkenums.in ++++ b/gobject/glib-mkenums.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env @PYTHON@ ++#!/usr/bin/env python + + # If the code below looks horrible and unpythonic, do not panic. + # +-- +2.14.1 + diff --git a/buildroot/package/liblogging/Config.in b/buildroot/package/liblogging/Config.in index 23c3c1ad2..a39fdf8dd 100644 --- a/buildroot/package/liblogging/Config.in +++ b/buildroot/package/liblogging/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_LIBLOGGING logging. It offers an enhanced replacement for the syslog() call, but retains its ease of use. - http://www.liblogging.org/ + https://www.rsyslog.com/liblogging/ diff --git a/buildroot/package/libostree/libostree.mk b/buildroot/package/libostree/libostree.mk index ba6379d7e..d4e0a80b3 100644 --- a/buildroot/package/libostree/libostree.mk +++ b/buildroot/package/libostree/libostree.mk @@ -40,7 +40,7 @@ endif #cURL support depends on libsoup ifeq ($(BR2_PACKAGE_LIBSOUP),y) -LIBOSTREE_CONF_OPTS += --with-libsoup +LIBOSTREE_CONF_OPTS += --with-soup LIBOSTREE_DEPENDENCIES += libsoup ifeq ($(BR2_PACKAGE_LIBCURL),y) LIBOSTREE_CONF_OPTS += --with-curl @@ -49,7 +49,7 @@ else LIBOSTREE_CONF_OPTS += --without-curl endif else -LIBOSTREE_CONF_OPTS += --without-libsoup --without-curl +LIBOSTREE_CONF_OPTS += --without-soup --without-curl endif ifeq ($(BR2_PACKAGE_LIBARCHIVE),y) diff --git a/buildroot/package/libressl/libressl.hash b/buildroot/package/libressl/libressl.hash index 53b7e0af5..111fe4fee 100644 --- a/buildroot/package/libressl/libressl.hash +++ b/buildroot/package/libressl/libressl.hash @@ -1,4 +1,4 @@ # From https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/SHA256 -sha256 917a8779c342177ff3751a2bf955d0262d1d8916a4b408930c45cef326700995 libressl-2.7.2.tar.gz +sha256 1e3a9fada06c1c060011470ad0ff960de28f9a0515277d7336f7e09362517da6 libressl-2.7.4.tar.gz # Locally computed sha256 5c63613f008f16a9c0025c096bbd736cecf720494d121b5c5203e0ec6e5955b1 COPYING diff --git a/buildroot/package/libressl/libressl.mk b/buildroot/package/libressl/libressl.mk index 1a1dda100..35494c823 100644 --- a/buildroot/package/libressl/libressl.mk +++ b/buildroot/package/libressl/libressl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBRESSL_VERSION = 2.7.2 +LIBRESSL_VERSION = 2.7.4 LIBRESSL_SITE = https://ftp.openbsd.org/pub/OpenBSD/LibreSSL LIBRESSL_LICENSE = ISC (new additions), OpenSSL or SSLeay (original OpenSSL code) LIBRESSL_LICENSE_FILES = COPYING diff --git a/buildroot/package/libsoup/Config.in b/buildroot/package/libsoup/Config.in index 236d3c428..599f9594d 100644 --- a/buildroot/package/libsoup/Config.in +++ b/buildroot/package/libsoup/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_LIBSOUP and the GLib main loop, to integrate well with GNOME applications. - http://live.gnome.org/LibSoup + https://wiki.gnome.org/Projects/libsoup if BR2_PACKAGE_LIBSOUP diff --git a/buildroot/package/libv4l/0004-Build-sdlcam-only-if-jpeg-is-enabled.patch b/buildroot/package/libv4l/0004-Build-sdlcam-only-if-jpeg-is-enabled.patch new file mode 100644 index 000000000..4c4365f90 --- /dev/null +++ b/buildroot/package/libv4l/0004-Build-sdlcam-only-if-jpeg-is-enabled.patch @@ -0,0 +1,31 @@ +From 5c407e130f8d0416f91f5a12bcdc2709f00dda65 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 29 Jun 2018 21:15:10 +0200 +Subject: [PATCH] Build sdlcam only if jpeg is enabled + +Fixes: + - http://autobuild.buildroot.net/results/1eded8b44cc369550566c6ce0b3c042f1aec8d44 + +Signed-off-by: Fabrice Fontaine +--- + contrib/test/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/contrib/test/Makefile.am b/contrib/test/Makefile.am +index 0188fe21..c7c38e7a 100644 +--- a/contrib/test/Makefile.am ++++ b/contrib/test/Makefile.am +@@ -17,8 +17,10 @@ noinst_PROGRAMS += v4l2gl + endif + + if HAVE_SDL ++if HAVE_JPEG + noinst_PROGRAMS += sdlcam + endif ++endif + + driver_test_SOURCES = driver-test.c + driver_test_LDADD = ../../utils/libv4l2util/libv4l2util.la +-- +2.14.1 + diff --git a/buildroot/package/libv4l/libv4l.mk b/buildroot/package/libv4l/libv4l.mk index 11061306c..c95b2778c 100644 --- a/buildroot/package/libv4l/libv4l.mk +++ b/buildroot/package/libv4l/libv4l.mk @@ -10,6 +10,10 @@ LIBV4L_SITE = https://linuxtv.org/downloads/v4l-utils LIBV4L_INSTALL_STAGING = YES LIBV4L_DEPENDENCIES = host-pkgconf LIBV4L_CONF_OPTS = --disable-doxygen-doc +# We're patching contrib/test/Makefile.am +LIBV4L_AUTORECONF = YES +# add host-gettext for AM_ICONV macro +LIBV4L_DEPENDENCIES += host-gettext # fix uclibc-ng configure/compile LIBV4L_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' @@ -73,6 +77,10 @@ else LIBV4L_CONF_OPTS += --disable-v4l-utils endif +ifeq ($(BR2_PACKAGE_SDL2_IMAGE),y) +LIBV4L_DEPENDENCIES += sdl2_image +endif + LIBV4L_CONF_ENV += LIBS="$(LIBV4L_LIBS)" $(eval $(autotools-package)) diff --git a/buildroot/package/libvncserver/0001-Limit-client-cut-text-length-to-1-MB.patch b/buildroot/package/libvncserver/0001-Limit-client-cut-text-length-to-1-MB.patch new file mode 100644 index 000000000..84a537640 --- /dev/null +++ b/buildroot/package/libvncserver/0001-Limit-client-cut-text-length-to-1-MB.patch @@ -0,0 +1,65 @@ +From 28afb6c537dc82ba04d5f245b15ca7205c6dbb9c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Mon, 26 Feb 2018 13:48:00 +0100 +Subject: [PATCH] Limit client cut text length to 1 MB + +This patch constrains a client cut text length to 1 MB. Otherwise +a client could make server allocate 2 GB of memory and that seems to +be to much to classify it as a denial of service. + +The limit also prevents from an integer overflow followed by copying +an uninitilized memory when processing msg.cct.length value larger +than SIZE_MAX or INT_MAX - sz_rfbClientCutTextMsg. + +This patch also corrects accepting length value of zero (malloc(0) is +interpreted on differnet systems differently). + +CVE-2018-7225 + + +Signed-off-by: Peter Korsgaard +--- + libvncserver/rfbserver.c | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c +index 116c488..4fc4d9d 100644 +--- a/libvncserver/rfbserver.c ++++ b/libvncserver/rfbserver.c +@@ -88,6 +88,8 @@ + #include + /* strftime() */ + #include ++/* PRIu32 */ ++#include + + #ifdef LIBVNCSERVER_WITH_WEBSOCKETS + #include "rfbssl.h" +@@ -2575,7 +2577,23 @@ rfbProcessClientNormalMessage(rfbClientPtr cl) + + msg.cct.length = Swap32IfLE(msg.cct.length); + +- str = (char *)malloc(msg.cct.length); ++ /* uint32_t input is passed to malloc()'s size_t argument, ++ * to rfbReadExact()'s int argument, to rfbStatRecordMessageRcvd()'s int ++ * argument increased of sz_rfbClientCutTextMsg, and to setXCutText()'s int ++ * argument. Here we impose a limit of 1 MB so that the value fits ++ * into all of the types to prevent from misinterpretation and thus ++ * from accessing uninitialized memory (CVE-2018-7225) and also to ++ * prevent from a denial-of-service by allocating to much memory in ++ * the server. */ ++ if (msg.cct.length > 1<<20) { ++ rfbLog("rfbClientCutText: too big cut text length requested: %" PRIu32 "\n", ++ msg.cct.length); ++ rfbCloseClient(cl); ++ return; ++ } ++ ++ /* Allow zero-length client cut text. */ ++ str = (char *)calloc(msg.cct.length ? msg.cct.length : 1, 1); + if (str == NULL) { + rfbLogPerror("rfbProcessClientNormalMessage: not enough memory"); + rfbCloseClient(cl); +-- +2.11.0 + diff --git a/buildroot/package/libvorbis/0001-CVE-2017-14160-fix-bounds-check-on-very-low-sample-rates.patch b/buildroot/package/libvorbis/0001-CVE-2017-14160-fix-bounds-check-on-very-low-sample-rates.patch new file mode 100644 index 000000000..e84f3d479 --- /dev/null +++ b/buildroot/package/libvorbis/0001-CVE-2017-14160-fix-bounds-check-on-very-low-sample-rates.patch @@ -0,0 +1,28 @@ +From: Thomas Daede +Date: Wed, 9 May 2018 21:56:59 +0000 (-0700) +Subject: CVE-2017-14160: fix bounds check on very low sample rates. +X-Git-Url: https://git.xiph.org/?p=vorbis.git;a=commitdiff_plain;h=018ca26dece618457dd13585cad52941193c4a25 + +CVE-2017-14160: fix bounds check on very low sample rates. + +Downloaded from upstream commit +https://git.xiph.org/?p=vorbis.git;a=commitdiff;h=018ca26dece618457dd13585cad52941193c4a25 + +Signed-off-by: Bernd Kuhls +--- + +diff --git a/lib/psy.c b/lib/psy.c +index 422c6f1..1310123 100644 +--- a/lib/psy.c ++++ b/lib/psy.c +@@ -602,8 +602,9 @@ static void bark_noise_hybridmp(int n,const long *b, + for (i = 0, x = 0.f;; i++, x += 1.f) { + + lo = b[i] >> 16; +- if( lo>=0 ) break; + hi = b[i] & 0xffff; ++ if( lo>=0 ) break; ++ if( hi>=n ) break; + + tN = N[hi] + N[-lo]; + tX = X[hi] - X[-lo]; diff --git a/buildroot/package/libwebsockets/libwebsockets.mk b/buildroot/package/libwebsockets/libwebsockets.mk index 28fd18339..81e398bed 100644 --- a/buildroot/package/libwebsockets/libwebsockets.mk +++ b/buildroot/package/libwebsockets/libwebsockets.mk @@ -35,6 +35,13 @@ else LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_LIBEV=OFF endif +ifeq ($(BR2_PACKAGE_LIBEVENT),y) +LIBWEBSOCKETS_DEPENDENCIES += libevent +LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_LIBEVENT=ON +else +LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_LIBEVENT=OFF +endif + ifeq ($(BR2_PACKAGE_LIBUV),y) LIBWEBSOCKETS_DEPENDENCIES += libuv LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_LIBUV=ON diff --git a/buildroot/package/libxslt/0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch b/buildroot/package/libxslt/0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch deleted file mode 100644 index 1ad494a6c..000000000 --- a/buildroot/package/libxslt/0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch +++ /dev/null @@ -1,35 +0,0 @@ -From eb1030de31165b68487f288308f9d1810fed6880 Mon Sep 17 00:00:00 2001 -From: Nick Wellnhofer -Date: Fri, 10 Jun 2016 14:23:58 +0200 -Subject: [PATCH] Fix heap overread in xsltFormatNumberConversion - -An empty decimal-separator could cause a heap overread. This can be -exploited to leak a couple of bytes after the buffer that holds the -pattern string. - -Found with afl-fuzz and ASan. - -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit eb1030de311 - - libxslt/numbers.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libxslt/numbers.c b/libxslt/numbers.c -index d1549b46ca26..e78c46b6357b 100644 ---- a/libxslt/numbers.c -+++ b/libxslt/numbers.c -@@ -1090,7 +1090,8 @@ xsltFormatNumberConversion(xsltDecimalFormatPtr self, - } - - /* We have finished the integer part, now work on fraction */ -- if (xsltUTF8Charcmp(the_format, self->decimalPoint) == 0) { -+ if ( (*the_format != 0) && -+ (xsltUTF8Charcmp(the_format, self->decimalPoint) == 0) ) { - format_info.add_decimal = TRUE; - the_format += xsltUTF8Size(the_format); /* Skip over the decimal */ - } --- -2.10.2 - diff --git a/buildroot/package/libxslt/libxslt.hash b/buildroot/package/libxslt/libxslt.hash index 8222bc590..f28150b71 100644 --- a/buildroot/package/libxslt/libxslt.hash +++ b/buildroot/package/libxslt/libxslt.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 b5976e3857837e7617b29f2249ebb5eeac34e249208d31f1fbf7a6ba7a4090ce libxslt-1.1.29.tar.gz +sha256 526ecd0abaf4a7789041622c3950c0e7f2c4c8835471515fd77eec684a355460 libxslt-1.1.32.tar.gz + +# Hash for license file: +sha256 7e48e290b6bfccc2ec1b297023a1d77f2fd87417f71fbb9f50aabef40a851819 COPYING diff --git a/buildroot/package/libxslt/libxslt.mk b/buildroot/package/libxslt/libxslt.mk index 868ba6a10..972d5b80d 100644 --- a/buildroot/package/libxslt/libxslt.mk +++ b/buildroot/package/libxslt/libxslt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXSLT_VERSION = 1.1.29 +LIBXSLT_VERSION = 1.1.32 LIBXSLT_SITE = ftp://xmlsoft.org/libxslt LIBXSLT_INSTALL_STAGING = YES LIBXSLT_LICENSE = MIT @@ -13,11 +13,9 @@ LIBXSLT_LICENSE_FILES = COPYING LIBXSLT_CONF_OPTS = \ --with-gnu-ld \ --without-debug \ - --without-python \ - --with-libxml-prefix=$(STAGING_DIR)/usr/ \ - --with-libxml-libs-prefix=$(STAGING_DIR)/usr/lib + --without-python LIBXSLT_CONFIG_SCRIPTS = xslt-config -LIBXSLT_DEPENDENCIES = libxml2 +LIBXSLT_DEPENDENCIES = host-pkgconf libxml2 # If we have enabled libgcrypt then use it, else disable crypto support. ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) @@ -29,7 +27,7 @@ endif HOST_LIBXSLT_CONF_OPTS = --without-debug --without-python --without-crypto -HOST_LIBXSLT_DEPENDENCIES = host-libxml2 +HOST_LIBXSLT_DEPENDENCIES = host-pkgconf host-libxml2 $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/buildroot/package/linux-headers/Config.in.host b/buildroot/package/linux-headers/Config.in.host index b99b36e83..ee95b544f 100644 --- a/buildroot/package/linux-headers/Config.in.host +++ b/buildroot/package/linux-headers/Config.in.host @@ -248,15 +248,15 @@ endchoice config BR2_DEFAULT_KERNEL_HEADERS string - default "3.2.101" if BR2_KERNEL_HEADERS_3_2 + default "3.2.102" if BR2_KERNEL_HEADERS_3_2 default "4.1.52" if BR2_KERNEL_HEADERS_4_1 - default "4.4.134" if BR2_KERNEL_HEADERS_4_4 - default "4.9.104" if BR2_KERNEL_HEADERS_4_9 + default "4.4.142" if BR2_KERNEL_HEADERS_4_4 + default "4.9.113" if BR2_KERNEL_HEADERS_4_9 default "4.10.17" if BR2_KERNEL_HEADERS_4_10 default "4.11.12" if BR2_KERNEL_HEADERS_4_11 default "4.12.14" if BR2_KERNEL_HEADERS_4_12 default "4.13.16" if BR2_KERNEL_HEADERS_4_13 - default "4.14.46" if BR2_KERNEL_HEADERS_4_14 + default "4.14.56" if BR2_KERNEL_HEADERS_4_14 default "4.15.18" if BR2_KERNEL_HEADERS_4_15 - default "4.16.13" if BR2_KERNEL_HEADERS_4_16 + default "4.16.17" if BR2_KERNEL_HEADERS_4_16 default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION diff --git a/buildroot/package/linux-tools/Config.in b/buildroot/package/linux-tools/Config.in index 2527c9025..349dc6bf0 100644 --- a/buildroot/package/linux-tools/Config.in +++ b/buildroot/package/linux-tools/Config.in @@ -47,9 +47,11 @@ config BR2_PACKAGE_LINUX_TOOLS_PERF code), single CPU or severals threads. This will build and install the userspace 'perf' - command. It is up to the user to ensure that the kernel - configuration has all the suitable options enabled to allow a - proper operation of 'perf'. + command. + + Your kernel must have CONFIG_PERF_EVENTS enabled to use perf + profiling. Buildroot automatically enables this in the kernel + configuration. https://perf.wiki.kernel.org/ diff --git a/buildroot/package/lm-sensors/lm-sensors.mk b/buildroot/package/lm-sensors/lm-sensors.mk index f581b5cd8..6fc7ce498 100644 --- a/buildroot/package/lm-sensors/lm-sensors.mk +++ b/buildroot/package/lm-sensors/lm-sensors.mk @@ -26,7 +26,7 @@ LM_SENSORS_MAKE_OPTS = \ PREFIX=/usr ifeq ($(BR2_STATIC_LIBS),y) -LM_SENSORS_MAKE_OPTS += BUILD_SHARED_LIB=0 +LM_SENSORS_MAKE_OPTS += BUILD_SHARED_LIB=0 EXLDFLAGS=-static else LM_SENSORS_MAKE_OPTS += BUILD_SHARED_LIB=1 endif diff --git a/buildroot/package/mariadb/mariadb.hash b/buildroot/package/mariadb/mariadb.hash index b8b2dde37..7eea62ab7 100644 --- a/buildroot/package/mariadb/mariadb.hash +++ b/buildroot/package/mariadb/mariadb.hash @@ -1,5 +1,5 @@ -# From https://downloads.mariadb.org/mariadb/10.1.32/ -sha256 0e2aae6a6a190d07c8e36e87dd43377057fa82651ca3c583462563f3e9369096 mariadb-10.1.32.tar.gz +# From https://downloads.mariadb.org/mariadb/10.1.33/ +sha256 94312c519f2c0c25e1964c64e22aff0036fb22dfb2685638f43a6b2211395d2d mariadb-10.1.33.tar.gz # Hash for license files sha256 69ce89a0cadbe35a858398c258be93c388715e84fc0ca04e5a1fd1aa9770dd3a README diff --git a/buildroot/package/mariadb/mariadb.mk b/buildroot/package/mariadb/mariadb.mk index 391655fb0..ce846d9cd 100644 --- a/buildroot/package/mariadb/mariadb.mk +++ b/buildroot/package/mariadb/mariadb.mk @@ -4,7 +4,7 @@ # ################################################################################ -MARIADB_VERSION = 10.1.32 +MARIADB_VERSION = 10.1.33 MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library) # Tarball no longer contains LGPL license text diff --git a/buildroot/package/mpg123/mpg123.hash b/buildroot/package/mpg123/mpg123.hash index cbab6f3ee..22db5bca3 100644 --- a/buildroot/package/mpg123/mpg123.hash +++ b/buildroot/package/mpg123/mpg123.hash @@ -1,5 +1,7 @@ -# Locally calculated after checking pgp signature -sha256 5314b0fb8ad291bfc79ff4c5c321b971916819a65233ec065434358fcf8aee38 mpg123-1.25.2.tar.bz2 - +# From https://sourceforge.net/projects/mpg123/files/mpg123/1.25.10/ +sha1 604784ddbcfe282bffdc595d1d45c677c7cf381f mpg123-1.25.10.tar.bz2 +md5 ea32caa61d41d8be797f0b04a1b43ad9 mpg123-1.25.10.tar.bz2 +# Locally calculated +sha256 6c1337aee2e4bf993299851c70b7db11faec785303cfca3a5c3eb5f329ba7023 mpg123-1.25.10.tar.bz2 # License file sha256 f40e0dd86b27b52e429b693a87b3ca63ae0a98a4d142e77207aa6bdf1db7a295 COPYING diff --git a/buildroot/package/mpg123/mpg123.mk b/buildroot/package/mpg123/mpg123.mk index 01923d799..dd2d39d97 100644 --- a/buildroot/package/mpg123/mpg123.mk +++ b/buildroot/package/mpg123/mpg123.mk @@ -4,7 +4,7 @@ # ################################################################################ -MPG123_VERSION = 1.25.2 +MPG123_VERSION = 1.25.10 MPG123_SOURCE = mpg123-$(MPG123_VERSION).tar.bz2 MPG123_SITE = http://downloads.sourceforge.net/project/mpg123/mpg123/$(MPG123_VERSION) MPG123_CONF_OPTS = --disable-lfs-alias diff --git a/buildroot/package/ncurses/ncurses.mk b/buildroot/package/ncurses/ncurses.mk index 90cf4a4dc..5b36df564 100644 --- a/buildroot/package/ncurses/ncurses.mk +++ b/buildroot/package/ncurses/ncurses.mk @@ -153,6 +153,7 @@ HOST_NCURSES_CONF_OPTS = \ --without-cxx \ --without-cxx-binding \ --without-ada \ + --with-default-terminfo-dir=/usr/share/terminfo \ --without-normal $(eval $(autotools-package)) diff --git a/buildroot/package/network-manager/Config.in b/buildroot/package/network-manager/Config.in index 759e4a98f..39f56269a 100644 --- a/buildroot/package/network-manager/Config.in +++ b/buildroot/package/network-manager/Config.in @@ -65,8 +65,8 @@ config BR2_PACKAGE_NETWORK_MANAGER_OVS endif -comment "NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.7, dynamic library" +comment "NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.2, dynamic library" depends on BR2_USE_MMU depends on !BR2_PACKAGE_HAS_UDEV || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 || \ !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS diff --git a/buildroot/package/nodejs/nodejs.hash b/buildroot/package/nodejs/nodejs.hash index b3900f6a7..be4c3de4f 100644 --- a/buildroot/package/nodejs/nodejs.hash +++ b/buildroot/package/nodejs/nodejs.hash @@ -1,5 +1,5 @@ -# From http://nodejs.org/dist/v8.11.1/SHASUMS256.txt -sha256 40a6eb51ea37fafcf0cfb58786b15b99152bec672cccf861c14d1cca0ad4758a node-v8.11.1.tar.xz +# From http://nodejs.org/dist/v8.11.3/SHASUMS256.txt +sha256 577c751fdca91c46c60ffd8352e5b465881373bfdde212c17c3a3c1bd2616ee0 node-v8.11.3.tar.xz # Hash for license file sha256 b87be6c1479ed977481115869c2dd8b6d59e5ea55aa09939d6c898242121b2f5 LICENSE diff --git a/buildroot/package/nodejs/nodejs.mk b/buildroot/package/nodejs/nodejs.mk index 2642525c4..61cd03bb8 100644 --- a/buildroot/package/nodejs/nodejs.mk +++ b/buildroot/package/nodejs/nodejs.mk @@ -4,7 +4,7 @@ # ################################################################################ -NODEJS_VERSION = 8.11.1 +NODEJS_VERSION = 8.11.3 NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) NODEJS_DEPENDENCIES = host-python host-nodejs c-ares \ diff --git a/buildroot/package/patchelf/0004-patchelf-Check-ELF-endianness-before-writing-new-run.patch b/buildroot/package/patchelf/0004-patchelf-Check-ELF-endianness-before-writing-new-run.patch new file mode 100644 index 000000000..8a89d3a63 --- /dev/null +++ b/buildroot/package/patchelf/0004-patchelf-Check-ELF-endianness-before-writing-new-run.patch @@ -0,0 +1,40 @@ +From 8c75599b674c73fbfe9c15afeccad54ae88243f5 Mon Sep 17 00:00:00 2001 +From: Bryce Ferguson +Date: Mon, 25 Jun 2018 13:05:07 -0500 +Subject: [PATCH] patchelf: Check ELF endianness before writing new runpath + +This commit modifies the way fields are written in the dynamic +section in order to account the architecture of the target ELF +file. Instead of copying the raw data, use the helper functions +to convert endianness. + +Link to upstream PR: https://github.com/NixOS/patchelf/pull/151 + +Signed-off-by: Bryce Ferguson +--- + src/patchelf.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/patchelf.cc b/src/patchelf.cc +index 35b4a33..a33f644 100644 +--- a/src/patchelf.cc ++++ b/src/patchelf.cc +@@ -1315,13 +1315,13 @@ void ElfFile::modifyRPath(RPathOp op, string rootDir, string + debug("new rpath is `%s'\n", newRPath.c_str()); + + if (!forceRPath && dynRPath && !dynRunPath) { /* convert DT_RPATH to DT_RUNPATH */ +- dynRPath->d_tag = DT_RUNPATH; ++ wri(dynRPath->d_tag, DT_RUNPATH); + dynRunPath = dynRPath; + dynRPath = 0; + } + + if (forceRPath && dynRPath && dynRunPath) { /* convert DT_RUNPATH to DT_RPATH */ +- dynRunPath->d_tag = DT_IGNORE; ++ wri(dynRunPath->d_tag, DT_IGNORE); + } + + if (newRPath.size() <= rpathSize) { +-- +2.17.0 + diff --git a/buildroot/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch b/buildroot/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch new file mode 100644 index 000000000..5223b78c0 --- /dev/null +++ b/buildroot/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch @@ -0,0 +1,46 @@ +From ae65651eab053fc6dc4590dbb863a268215c1fc5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Fri, 8 Jun 2018 11:45:40 +0100 +Subject: [PATCH] [PATCH] Remove existing files before overwriting them + +Archive should extract only the latest same-named entry. +Extracted regular file should not be writtent into existing block +device (or any other one). + +https://rt.cpan.org/Ticket/Display.html?id=125523 + +[Peter: rewrite path to match perl tarball with sed 's|\(lib/Archive\)|cpan/Archive-Tar/\1|g'] +Signed-off-by: Chris 'BinGOs' Williams +Signed-off-by: Peter Korsgaard +--- + cpan/Archive-Tar/lib/Archive/Tar.pm | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/cpan/Archive-Tar/lib/Archive/Tar.pm b/cpan/Archive-Tar/lib/Archive/Tar.pm +index 6244369..a83975f 100644 +--- a/cpan/Archive-Tar/lib/Archive/Tar.pm ++++ b/cpan/Archive-Tar/lib/Archive/Tar.pm +@@ -845,6 +845,20 @@ sub _extract_file { + return; + } + ++ ### If a file system already contains a block device with the same name as ++ ### the being extracted regular file, we would write the file's content ++ ### to the block device. So remove the existing file (block device) now. ++ ### If an archive contains multiple same-named entries, the last one ++ ### should replace the previous ones. So remove the old file now. ++ ### If the old entry is a symlink to a file outside of the CWD, the new ++ ### entry would create a file there. This is CVE-2018-12015 ++ ### . ++ if (-l $full || -e _) { ++ if (!unlink $full) { ++ $self->_error( qq[Could not remove old file '$full': $!] ); ++ return; ++ } ++ } + if( length $entry->type && $entry->is_file ) { + my $fh = IO::File->new; + $fh->open( $full, '>' ) or ( +-- +2.11.0 + diff --git a/buildroot/package/php-amqp/Config.in b/buildroot/package/php-amqp/Config.in index 0aa2021f5..dc779f0ee 100644 --- a/buildroot/package/php-amqp/Config.in +++ b/buildroot/package/php-amqp/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_PHP_AMQP bool "php-amqp" depends on BR2_PACKAGE_PHP depends on BR2_TOOLCHAIN_HAS_THREADS # rabbitmq-c + select BR2_PACKAGE_OPENSSL # rabbitmq-c: amqp_ssl_socket.h select BR2_PACKAGE_RABBITMQ_C help Communicate with any AMQP compliant server. diff --git a/buildroot/package/pinentry/pinentry.mk b/buildroot/package/pinentry/pinentry.mk index 4081a8a5d..d0179728b 100644 --- a/buildroot/package/pinentry/pinentry.mk +++ b/buildroot/package/pinentry/pinentry.mk @@ -18,6 +18,10 @@ PINENTRY_CONF_OPTS += \ --with-libgpg-error-prefix=$(STAGING_DIR)/usr \ --without-libcap # requires PAM +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +PINENTRY_CONF_ENV += LIBS=-latomic +endif + # build with X if available ifeq ($(BR2_PACKAGE_XORG7),y) PINENTRY_CONF_OPTS += --with-x diff --git a/buildroot/package/pixiewps/pixiewps.mk b/buildroot/package/pixiewps/pixiewps.mk index 95a253ab8..1f84bbeb3 100644 --- a/buildroot/package/pixiewps/pixiewps.mk +++ b/buildroot/package/pixiewps/pixiewps.mk @@ -10,7 +10,7 @@ PIXIEWPS_LICENSE = GPL-3.0+ PIXIEWPS_LICENSE_FILES = LICENSE.md define PIXIEWPS_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) CC=$(TARGET_CC) -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) endef define PIXIEWPS_INSTALL_TARGET_CMDS diff --git a/buildroot/package/pkg-generic.mk b/buildroot/package/pkg-generic.mk index 9bd2358ef..7d4eaf946 100644 --- a/buildroot/package/pkg-generic.mk +++ b/buildroot/package/pkg-generic.mk @@ -483,10 +483,6 @@ ifndef $(2)_PATCH endif endif -ifneq ($$(filter bzr cvs hg svn,$$($(2)_SITE_METHOD)),) -BR_NO_CHECK_HASH_FOR += $$($(2)_SOURCE) -endif - $(2)_ALL_DOWNLOADS = \ $$(if $$($(2)_SOURCE),$$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$($(2)_SOURCE)) \ $$(foreach p,$$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS),\ @@ -508,6 +504,10 @@ ifndef $(2)_SITE_METHOD endif endif +ifneq ($$(filter bzr cvs hg svn,$$($(2)_SITE_METHOD)),) +BR_NO_CHECK_HASH_FOR += $$($(2)_SOURCE) +endif + # Do not accept to download git submodule if not using the git method ifneq ($$($(2)_GIT_SUBMODULES),) ifneq ($$($(2)_SITE_METHOD),git) diff --git a/buildroot/package/qpdf/qpdf.hash b/buildroot/package/qpdf/qpdf.hash index 1fbef66e6..d27c9834b 100644 --- a/buildroot/package/qpdf/qpdf.hash +++ b/buildroot/package/qpdf/qpdf.hash @@ -1,4 +1,2 @@ -# From https://sourceforge.net/projects/qpdf/files/qpdf/7.0.0/qpdf-7.0.0.sha512/download -sha512 7b52d67b4d2c428a7b0c1cd03b03a23f05d38d7e3c81041079a137919019ea5158f12bf95fdcfcff6b43ffdefe93a85127ced2a363a6b4b380cbaa02a3840256 qpdf-7.0.0.tar.gz -# Locally computed -sha256 fed08de14caad0fe5efd148d9eca886d812588b2cbb35d13e61993ee8eb8c65f qpdf-7.0.0.tar.gz +# From https://sourceforge.net/projects/qpdf/files/qpdf/8.1.0/qpdf-8.1.0.sha512/download +sha512 1831bcaaed87dae268db5d61805d1483ec5c101f6ce594be660664c119597ae67cf011c2b50092964d785a814d5f6c780935127a89401fe37a1026ae4d3af15c qpdf-8.1.0.tar.gz diff --git a/buildroot/package/qpdf/qpdf.mk b/buildroot/package/qpdf/qpdf.mk index 27e4d0997..4776d22b1 100644 --- a/buildroot/package/qpdf/qpdf.mk +++ b/buildroot/package/qpdf/qpdf.mk @@ -4,7 +4,7 @@ # ################################################################################ -QPDF_VERSION = 7.0.0 +QPDF_VERSION = 8.1.0 QPDF_SITE = http://downloads.sourceforge.net/project/qpdf/qpdf/$(QPDF_VERSION) QPDF_INSTALL_STAGING = YES QPDF_LICENSE = Artistic-2.0 diff --git a/buildroot/package/qt5/qt53d/qt53d.mk b/buildroot/package/qt5/qt53d/qt53d.mk index 6896b0031..48a931d60 100644 --- a/buildroot/package/qt5/qt53d/qt53d.mk +++ b/buildroot/package/qt5/qt53d/qt53d.mk @@ -37,13 +37,19 @@ endef endif ifeq ($(BR2_STATIC_LIBS),) -define QT53D_INSTALL_TARGET_CMDS - cp -dpf $(STAGING_DIR)/usr/lib/libQt53D*.so.* $(TARGET_DIR)/usr/lib +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +# Available since 5.9 +define QT53D_INSTALL_TARGET_LATEST cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/geometryloaders $(TARGET_DIR)/usr/lib/qt/plugins cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/renderplugins $(TARGET_DIR)/usr/lib/qt/plugins +endef +endif +define QT53D_INSTALL_TARGET_CMDS + cp -dpf $(STAGING_DIR)/usr/lib/libQt53D*.so.* $(TARGET_DIR)/usr/lib cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/sceneparsers $(TARGET_DIR)/usr/lib/qt/plugins cp -dpfr $(STAGING_DIR)/usr/qml/Qt3D $(TARGET_DIR)/usr/qml cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick $(TARGET_DIR)/usr/qml + $(QT53D_INSTALL_TARGET_LATEST) $(QT53D_INSTALL_TARGET_EXAMPLES) endef endif diff --git a/buildroot/package/qt5/qt5base/qmake.conf.in b/buildroot/package/qt5/qt5base/qmake.conf.in index d62ee7ceb..f14527aa7 100644 --- a/buildroot/package/qt5/qt5base/qmake.conf.in +++ b/buildroot/package/qt5/qt5base/qmake.conf.in @@ -21,7 +21,7 @@ CONFIG += nostrip QMAKE_LIBS += -lrt -lpthread -ldl QMAKE_CFLAGS_ISYSTEM = -# Architecturespecific configuration +# Architecture specific configuration include(arch.conf) @EGLFS_DEVICE@ diff --git a/buildroot/package/qt5/qt5base/qt5base.mk b/buildroot/package/qt5/qt5base/qt5base.mk index 1eabd7a15..93adb03d8 100644 --- a/buildroot/package/qt5/qt5base/qt5base.mk +++ b/buildroot/package/qt5/qt5base/qt5base.mk @@ -269,7 +269,6 @@ define QT5BASE_CONFIGURE_CMDS sed 's/@EGLFS_DEVICE@/$(QT5BASE_EGLFS_DEVICE)/g' \ $(QT5BASE_PKGDIR)/qmake.conf.in > \ $(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf - $(QT5BASE_CONFIGURE_QMAKE_CONFIG) $(INSTALL) -m 0644 -D $(QT5BASE_PKGDIR)/qplatformdefs.h \ $(@D)/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h $(QT5BASE_CONFIGURE_CONFIG_FILE) diff --git a/buildroot/package/qt5/qt5charts/qt5charts.mk b/buildroot/package/qt5/qt5charts/qt5charts.mk index 123cb658f..9eed43d6d 100644 --- a/buildroot/package/qt5/qt5charts/qt5charts.mk +++ b/buildroot/package/qt5/qt5charts/qt5charts.mk @@ -11,7 +11,9 @@ QT5CHARTS_DEPENDENCIES = qt5base QT5CHARTS_INSTALL_STAGING = YES QT5CHARTS_LICENSE = GPL-3.0 +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5CHARTS_LICENSE_FILES = LICENSE.GPL3 +endif ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) QT5CHARTS_DEPENDENCIES += qt5declarative diff --git a/buildroot/package/qt5/qt5script/0001-Detect-32-bits-armv8-a-architecture.patch b/buildroot/package/qt5/qt5script/0001-Detect-32-bits-armv8-a-architecture.patch new file mode 100644 index 000000000..7e4e524dc --- /dev/null +++ b/buildroot/package/qt5/qt5script/0001-Detect-32-bits-armv8-a-architecture.patch @@ -0,0 +1,49 @@ +From daf2e222903bacf85f27dfb0fffc4459bbf58b77 Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= +Date: Sun, 10 Jun 2018 08:23:50 -0400 +Subject: [PATCH] Detect 32-bits armv8-a architecture +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +These toolchains define __ARM_ARCH_8A__ (for ARM architecture version) +and __arm__ (for 32-bits word-size; __aarch64__ for 64-bits). + +This commit catches this new architecture (armv8a) within a #ifdef/#endif +inside the if statement dedicated for 32-bits ARM detection. See commit +from WebKit [1] and [2]. + +Fixes: + + In file included from ../3rdparty/javascriptcore/JavaScriptCore/config.h:26, + from ../3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_compile.cpp:44: + ../3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h:370:6: error: #error "Not supported ARM architecture" + # error "Not supported ARM architecture" + ^~~~~ + +[1]: https://github.com/WebKit/webkit/commit/313d9fc4bdd2f020a5d0cf834c3c61982f161ebb +[2]: https://github.com/WebKit/webkit/commit/98f0de0709786f5d9b09dfd5908266990eb909d6 + +Signed-off-by: Gaël PORTAY +--- + src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h +index 00caa6d..c4b758e 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h +@@ -306,6 +306,10 @@ + || defined(__ARM_ARCH_7R__) + #define WTF_ARM_ARCH_VERSION 7 + ++#elif defined(__ARM_ARCH_8__) \ ++ || defined(__ARM_ARCH_8A__) ++#define WTF_ARM_ARCH_VERSION 8 ++ + /* RVCT sets _TARGET_ARCH_ARM */ + #elif defined(__TARGET_ARCH_ARM) + #define WTF_ARM_ARCH_VERSION __TARGET_ARCH_ARM +-- +2.17.1 + diff --git a/buildroot/package/redis/redis.hash b/buildroot/package/redis/redis.hash index ce2d66b8c..d9a14cef6 100644 --- a/buildroot/package/redis/redis.hash +++ b/buildroot/package/redis/redis.hash @@ -1,4 +1,4 @@ # From https://github.com/antirez/redis-hashes/blob/master/README -sha256 31ae927cab09f90c9ca5954aab7aeecc3bb4da6087d3d12ba0a929ceb54081b5 redis-3.2.11.tar.gz +sha256 98c4254ae1be4e452aa7884245471501c9aa657993e0318d88f048093e7f88fd redis-3.2.12.tar.gz # Locally calculated sha256 cbf420a3672475a6e2765e3c0984c1f81efe0212afb94a3c998ee63bfd661063 COPYING diff --git a/buildroot/package/redis/redis.mk b/buildroot/package/redis/redis.mk index 82969c902..cbd2d7bdc 100644 --- a/buildroot/package/redis/redis.mk +++ b/buildroot/package/redis/redis.mk @@ -4,7 +4,7 @@ # ################################################################################ -REDIS_VERSION = 3.2.11 +REDIS_VERSION = 3.2.12 REDIS_SITE = http://download.redis.io/releases REDIS_LICENSE = BSD-3-Clause (core); MIT and BSD family licenses (Bundled components) REDIS_LICENSE_FILES = COPYING diff --git a/buildroot/package/skeleton/skeleton.mk b/buildroot/package/skeleton/skeleton.mk index efcf420d7..9d97f02f0 100644 --- a/buildroot/package/skeleton/skeleton.mk +++ b/buildroot/package/skeleton/skeleton.mk @@ -16,6 +16,7 @@ SKELETON_ADD_SKELETON_DEPENDENCY = NO define HOST_SKELETON_INSTALL_CMDS $(Q)ln -snf . $(HOST_DIR)/usr $(Q)mkdir -p $(HOST_DIR)/lib + $(Q)mkdir -p $(HOST_DIR)/include $(Q)case $(HOSTARCH) in \ (*64) ln -snf lib $(HOST_DIR)/lib64;; \ (*) ln -snf lib $(HOST_DIR)/lib32;; \ diff --git a/buildroot/package/systemd/systemd.mk b/buildroot/package/systemd/systemd.mk index db7fb4363..aa71e83fc 100644 --- a/buildroot/package/systemd/systemd.mk +++ b/buildroot/package/systemd/systemd.mk @@ -48,7 +48,8 @@ SYSTEMD_CONF_OPTS += \ -Dkexec-path=/usr/sbin/kexec \ -Dsulogin-path=/usr/sbin/sulogin \ -Dmount-path=/usr/bin/mount \ - -Dumount-path=/usr/bin/umount + -Dumount-path=/usr/bin/umount \ + -Dnobody-group=nogroup # disable unsupported features for non-glibc toolchains ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) @@ -276,6 +277,7 @@ endif ifeq ($(BR2_PACKAGE_SYSTEMD_POLKIT),y) SYSTEMD_CONF_OPTS += -Dpolkit=true +SYSTEMD_DEPENDENCIES += polkit else SYSTEMD_CONF_OPTS += -Dpolkit=false endif diff --git a/buildroot/package/triggerhappy/triggerhappy.mk b/buildroot/package/triggerhappy/triggerhappy.mk index 9f74c486f..4c39ab5e5 100644 --- a/buildroot/package/triggerhappy/triggerhappy.mk +++ b/buildroot/package/triggerhappy/triggerhappy.mk @@ -8,9 +8,11 @@ TRIGGERHAPPY_VERSION = b822888066129350e51ad79f1cf307fa38dae4f7 TRIGGERHAPPY_SITE = $(call github,wertarbyte,triggerhappy,$(TRIGGERHAPPY_VERSION)) TRIGGERHAPPY_LICENSE = GPL-3.0+ TRIGGERHAPPY_LICENSE_FILES = COPYING +TRIGGERHAPPY_DEPENDENCIES = host-pkgconf define TRIGGERHAPPY_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) thd th-cmd + $(MAKE) $(TARGET_CONFIGURE_OPTS) PKGCONFIG="$(PKG_CONFIG_HOST_BINARY)" \ + -C $(@D) thd th-cmd endef ifeq ($(BR2_PACKAGE_HAS_UDEV),y) diff --git a/buildroot/package/uboot-tools/uboot-tools.hash b/buildroot/package/uboot-tools/uboot-tools.hash index 788c1696f..97d0bd0b5 100644 --- a/buildroot/package/uboot-tools/uboot-tools.hash +++ b/buildroot/package/uboot-tools/uboot-tools.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 7e7477534409d5368eb1371ffde6820f0f79780a1a1f676161c48442cb303dfd u-boot-2018.03.tar.bz2 +sha256 9f10df88bc91b35642e461217f73256bbaeeca9ae2db8db56197ba5e89e1f6d4 u-boot-2018.07.tar.bz2 diff --git a/buildroot/package/uboot-tools/uboot-tools.mk b/buildroot/package/uboot-tools/uboot-tools.mk index 882576d2d..f5027d2da 100644 --- a/buildroot/package/uboot-tools/uboot-tools.mk +++ b/buildroot/package/uboot-tools/uboot-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -UBOOT_TOOLS_VERSION = 2018.03 +UBOOT_TOOLS_VERSION = 2018.07 UBOOT_TOOLS_SOURCE = u-boot-$(UBOOT_TOOLS_VERSION).tar.bz2 UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot UBOOT_TOOLS_LICENSE = GPL-2.0+ diff --git a/buildroot/package/wireguard/wireguard.hash b/buildroot/package/wireguard/wireguard.hash index 6cfc7bb9f..d0cd65ad4 100644 --- a/buildroot/package/wireguard/wireguard.hash +++ b/buildroot/package/wireguard/wireguard.hash @@ -1,4 +1,4 @@ -# From https://lists.zx2c4.com/pipermail/wireguard/2018-April/002697.html -sha256 b58cd2acf9e8d3fe9044c06c0056bd74da1f5673a456f011d36eee3f6fb1da16 WireGuard-0.0.20180420.tar.xz +# From https://lists.zx2c4.com/pipermail/wireguard/2018-July/003112.html +sha256 5e38d554f7d1e3a64e3a5319ca1a3b790c84ed89c896586c490a93ac1f953a91 WireGuard-0.0.20180708.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/buildroot/package/wireguard/wireguard.mk b/buildroot/package/wireguard/wireguard.mk index 20162e1d0..cc8ad7c4c 100644 --- a/buildroot/package/wireguard/wireguard.mk +++ b/buildroot/package/wireguard/wireguard.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIREGUARD_VERSION = 0.0.20180420 +WIREGUARD_VERSION = 0.0.20180708 WIREGUARD_SITE = https://git.zx2c4.com/WireGuard/snapshot WIREGUARD_SOURCE = WireGuard-$(WIREGUARD_VERSION).tar.xz WIREGUARD_LICENSE = GPL-2.0 diff --git a/buildroot/package/wireless-regdb/wireless-regdb.mk b/buildroot/package/wireless-regdb/wireless-regdb.mk index 9d7a37546..e3381adef 100644 --- a/buildroot/package/wireless-regdb/wireless-regdb.mk +++ b/buildroot/package/wireless-regdb/wireless-regdb.mk @@ -15,6 +15,10 @@ define WIRELESS_REGDB_INSTALL_TARGET_CMDS $(TARGET_DIR)/usr/lib/crda/regulatory.bin $(INSTALL) -m 644 -D -T $(@D)/sforshee.key.pub.pem \ $(TARGET_DIR)/etc/wireless-regdb/pubkeys/sforshee.key.pub.pem + $(INSTALL) -m 644 -D -T $(@D)/regulatory.db \ + $(TARGET_DIR)/lib/firmware/regulatory.db + $(INSTALL) -m 644 -D -T $(@D)/regulatory.db.p7s \ + $(TARGET_DIR)/lib/firmware/regulatory.db.p7s endef $(eval $(generic-package)) diff --git a/buildroot/package/wireshark/wireshark.hash b/buildroot/package/wireshark/wireshark.hash index 2b44cc075..4b9c646fa 100644 --- a/buildroot/package/wireshark/wireshark.hash +++ b/buildroot/package/wireshark/wireshark.hash @@ -1,4 +1,4 @@ -# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.2.14.txt -sha256 e7a3d4f9bbde20ea5ee09103f9f6dba38e3666dfe1d6a6a1c004602b5fac378b wireshark-2.2.14.tar.bz2 +# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.2.15.txt +sha256 d73583e9282d47c42b69fc3a1ac9cafb6047d1305f5027d4cf18e95922d11844 wireshark-2.2.15.tar.bz2 # Locally calculated sha256 7cdbed2b697efaa45576a033f1ac0e73cd045644a91c79bbf41d4a7d81dac7bf COPYING diff --git a/buildroot/package/wireshark/wireshark.mk b/buildroot/package/wireshark/wireshark.mk index ad475803b..c9a4ef202 100644 --- a/buildroot/package/wireshark/wireshark.mk +++ b/buildroot/package/wireshark/wireshark.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIRESHARK_VERSION = 2.2.14 +WIRESHARK_VERSION = 2.2.15 WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2 WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions WIRESHARK_LICENSE = wireshark license diff --git a/buildroot/support/dependencies/dependencies.sh b/buildroot/support/dependencies/dependencies.sh index f98678973..c5f29d32f 100755 --- a/buildroot/support/dependencies/dependencies.sh +++ b/buildroot/support/dependencies/dependencies.sh @@ -222,6 +222,8 @@ if grep -q ^BR2_HOSTARCH_NEEDS_IA32_LIBS=y $BR2_CONFIG ; then echo "If you're running a Debian/Ubuntu distribution, install the libc6-i386," echo "lib32stdc++6, and lib32z1 packages (or alternatively libc6:i386," echo "libstdc++6:i386, and zlib1g:i386)." + echo "If you're running a RedHat/Fedora distribution, install the glibc.i686 and" + echo "zlib.i686 packages." echo "For other distributions, refer to the documentation on how to install the 32 bits" echo "compatibility libraries." exit 1 diff --git a/buildroot/support/download/dl-wrapper b/buildroot/support/download/dl-wrapper index 8d6365e08..4059c37eb 100755 --- a/buildroot/support/download/dl-wrapper +++ b/buildroot/support/download/dl-wrapper @@ -88,7 +88,7 @@ main() { download_and_check=0 rc=1 for uri in "${uris[@]}"; do - backend=${uri%+*} + backend=${uri%%+*} case "${backend}" in git|svn|cvs|bzr|file|scp|hg) ;; *) backend="wget" ;; diff --git a/buildroot/support/scripts/pkg-stats b/buildroot/support/scripts/pkg-stats index 43f7e8d54..b7b00e863 100755 --- a/buildroot/support/scripts/pkg-stats +++ b/buildroot/support/scripts/pkg-stats @@ -499,17 +499,17 @@ def parse_args(): def __main__(): args = parse_args() if args.npackages and args.packages: - print "ERROR: -n and -p are mutually exclusive" + print("ERROR: -n and -p are mutually exclusive") sys.exit(1) if args.packages: package_list = args.packages.split(",") else: package_list = None - print "Build package list ..." + print("Build package list ...") packages = get_pkglist(args.npackages, package_list) - print "Getting package make info ..." + print("Getting package make info ...") package_init_make_info() - print "Getting package details ..." + print("Getting package details ...") for pkg in packages: pkg.set_infra() pkg.set_license() @@ -517,9 +517,9 @@ def __main__(): pkg.set_patch_count() pkg.set_check_package_warnings() pkg.set_current_version() - print "Calculate stats" + print("Calculate stats") stats = calculate_stats(packages) - print "Write HTML" + print("Write HTML") dump_html(packages, stats, args.output) diff --git a/buildroot/utils/test-pkg b/buildroot/utils/test-pkg index 54951276f..aa91ee02c 100755 --- a/buildroot/utils/test-pkg +++ b/buildroot/utils/test-pkg @@ -131,7 +131,7 @@ build_one() { support/kconfig/merge_config.sh -O "${dir}" \ "${toolchainconfig}" "support/config-fragments/minimal.config" "${cfg}" \ - > /dev/null + >> "${dir}/logfile" 2>&1 # We want all the options from the snippet to be present as-is (set # or not set) in the actual .config; if one of them is not, it means # some dependency from the toolchain or arch is not available, in diff --git a/scripts/update-uboot.sh b/scripts/update-uboot.sh new file mode 100755 index 000000000..5d2f22de6 --- /dev/null +++ b/scripts/update-uboot.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -e + +if [ -z "$1" ]; then + echo "Need a version!" + exit 1 +fi + +sed -i "s/UBOOT_CUSTOM_VERSION_VALUE=\".*\"/UBOOT_CUSTOM_VERSION_VALUE=\"$1\"/g" buildroot-external/configs/*