diff options
167 files changed, 3410 insertions, 371 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fb50692976..b44c935f2a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -49,7 +49,9 @@ check-DEVELOPERS: .runtime_test: &runtime_test # Keep build directories so the rootfs can be an artifact of the job. The # runner will clean up those files for us. - script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k ${CI_BUILD_NAME} + # Multiply every emulator timeout by 10 to avoid sporadic failures in + # elastic runners. + script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_BUILD_NAME} artifacts: when: always expire_in: 2 weeks @@ -66,7 +68,6 @@ arm_juno_defconfig: *defconfig armadeus_apf27_defconfig: *defconfig armadeus_apf28_defconfig: *defconfig armadeus_apf51_defconfig: *defconfig -armadeus_apf9328_defconfig: *defconfig at91sam9260eknf_defconfig: *defconfig at91sam9g20dfc_defconfig: *defconfig at91sam9g45m10ek_defconfig: *defconfig diff --git a/.gitlab-ci.yml.in b/.gitlab-ci.yml.in index b8fce9ef96..3abf7d5313 100644 --- a/.gitlab-ci.yml.in +++ b/.gitlab-ci.yml.in @@ -49,7 +49,9 @@ check-DEVELOPERS: .runtime_test: &runtime_test # Keep build directories so the rootfs can be an artifact of the job. The # runner will clean up those files for us. - script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k ${CI_BUILD_NAME} + # Multiply every emulator timeout by 10 to avoid sporadic failures in + # elastic runners. + script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_BUILD_NAME} artifacts: when: always expire_in: 2 weeks @@ -1,3 +1,74 @@ +2017.08, Released September 1st, 2017 + + Minor fixes. + + Toolchain: Don't allow internal toolchain builds for MIPS + M6201/P6600, as support for these are not yet in mainline GCC. + + Updated/fixed packages: bcusdk, connman, dialog, dnsmasq, + gnupg, grub2, iostat, iucode-tool, libgcrypt, libkcapi, + libphidget, libv4l, linux-tools, mediastreamer, minidlna, + nss-pam-ldapd, nvidia-driver, qt-webkit-kiosk, rpcbind, squid, + transmission, vde2, vim + + Updated/fixed defconfigs: + + Removed packages: simicfs. + + Issues resolved (http://bugs.buildroot.org): + + #10261: Grub2 fails to build for x86_64 + +2017.08-rc3, Released August 23rd, 2017 + + Fixes all over the tree. + + Updated/fixed packages: alsa-lib, alsa-utils, cc-tool, + dbus-cpp, e2fsprogs, elf2flt, faad2, fakeroot, gcc, git, gpsd, + gst1-validate, kvmtool, libconfuse, libepoxy, librsync, + libspatialindex, libunwind, linux, linux-headers, lua, + mariadb, mesa3d, mtd, openocd, python3, syslinux, sysvinit, + whois, xen, zmqpp. + + Updated/fixed defconfigs: ci20, socrates_cyclone5, + toradex_apalis_imx6. + + Removed defconfig: Armadeus APF9328. + + skeleton-* packages introduced in -rc1 have been renamed to + skeleton-init-* instead. + + Issues resolved (http://bugs.buildroot.org): + + #10141: Squashfs extended attribute failures + +2017.08-rc2, Released August 11th, 2017 + + Fixes all over the tree. + + Updated/fixed packages: bind, dbus, erlang-p1-xml, faad2, + ficl, gcc, gdb, glibc, jack2, libcurl, linux, linux-headers, + lua, mutt, nvme, qt5base, skeleton-common, snappy, stella, + swupdate, uclibc, valgrind, webkitgtk. + + Updated/fixed defconfigs: beaglebone_qt5, minnowboard_max, + nanopi_m1{, _plus}, olimex_a20_olinuxino_lime, qemu_sparc, + qemu_sparc64. + + The cmake-package infrastructure for host packages has been + fixed to not incorrectly detect target packages through + pkg-config. + + Issues resolved (http://bugs.buildroot.org): + + #9926: systemd-resolved.service: Failed at step NAMESPACE (systemd 233) + #10021: libqeglfs-viv-integration.so file is missing for qt5 on armv7 + #10026: lua-5.3.4: fix lua linker error in swupdate + #10146: package/skeleton-common fix recursive variable + #10156: glibc compilation fails for X86 32bits (i386) + #10201: toolchain-wrapper.c:192: (error) Memory leak: + #10221: Buildroot Support + 2017.08-rc1, Released August 2nd, 2017 Infrastructure: @@ -35,7 +106,7 @@ - The host directory no longer has a usr/ component. This makes it much more natural to use that directory as an externally used toolchain. For compatibility with existing - scripts, a link usr -> . is still added. + scripts, a usr -> . link is still added. - Hashes are now checked on tarballs by Buildroot when a package is sourced from a Git repository. diff --git a/Config.in.legacy b/Config.in.legacy index 693dc95d74..d35b409423 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -145,6 +145,19 @@ endif ############################################################################### comment "Legacy options removed in 2017.08" +config BR2_PACKAGE_SIMICSFS + bool "simicsfs support removed" + select BR2_LEGACY + help + Support for simicsfs kernel driver that provides access to a + host computer's local filesystem when the target is + executing within a SIMICS simulation has been removed. + + Simics is now moving away from the simicsfs kernel module, + as the kernel module has required too much maintenance + work. Users should move to the user mode Simics agent + instead. + config BR2_BINUTILS_VERSION_2_26_X bool "binutils version 2.26 support removed" select BR2_LEGACY diff --git a/DEVELOPERS b/DEVELOPERS index 5cfcc36597..ff9d17d571 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1034,6 +1034,10 @@ F: package/libgphoto2/ N: Koen Martens <gmc@sonologic.nl> F: package/linuxconsoletools/ +N: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be> +F: package/bcusdk/ +F: package/libpthsem/ + N: Laurent Cans <laurent.cans@gmail.com> F: package/aircrack-ng/ @@ -1166,7 +1170,6 @@ F: package/python-pyrex/ F: package/raptor/ F: package/sepolgen/ F: package/setools/ -F: package/simicsfs/ F: package/smcroute/ F: package/tclap/ F: package/valijson/ @@ -87,9 +87,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2017.08-rc1 +export BR2_VERSION := 2017.08 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 150170700 +BR2_VERSION_EPOCH = 1504300000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) diff --git a/board/armadeus/readme.txt b/board/armadeus/readme.txt index a1f1325291..98c7b08249 100644 --- a/board/armadeus/readme.txt +++ b/board/armadeus/readme.txt @@ -13,7 +13,6 @@ Supported platforms Buildroot currently supports the following Armadeus platforms with the associated defconfigs: - * APF9328 SOM + devt boards -> armadeus_apf9328_defconfig * APF27 SOM + devt board -> armadeus_apf27_defconfig * APF51 SOM + devt board -> armadeus_apf51_defconfig * APF28 SOM + devt board -> armadeus_apf28_defconfig @@ -46,15 +45,12 @@ When the build is finished, you will end up with: output/images/ ├── imx**-apfxxdev.dtb [1] - ├── rootfs.jffs2 [2] ├── rootfs.tar - ├── rootfs.ubi [2] - ├── rootfs.ubifs [2] + ├── rootfs.ubi + ├── rootfs.ubifs └── uImage [1] Only if the kernel version used uses a Device Tree. -[2] .ubi/.ubifs images are not available on APF9328 and replaced by a - .jffs2 one in this case. Building U-Boot is currently not supported in these configurations. @@ -69,7 +65,6 @@ it: $ cp output/images/uImage /tftpboot/apfxx-linux.bin $ cp output/images/*.dtb /tftpboot/ $ cp output/images/rootfs.ubi /tftpboot/apfxx-rootfs.ubi - $ cp output/images/rootfs.jffs2 /tftpboot/apfxx-rootfs.jffs2 where "apfxx" is the version of your SOM, as used with _defconfigs. diff --git a/board/beaglebone/genimage_linux41.cfg b/board/beaglebone/genimage_linux41.cfg new file mode 100644 index 0000000000..ba60297dde --- /dev/null +++ b/board/beaglebone/genimage_linux41.cfg @@ -0,0 +1,32 @@ +image boot.vfat { + vfat { + files = { + "MLO", + "u-boot.img", + "zImage", + "uEnv.txt", + "am335x-evm.dtb", + "am335x-evmsk.dtb", + "am335x-bone.dtb", + "am335x-boneblack.dtb", + } + } + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/beaglebone/post-image.sh b/board/beaglebone/post-image.sh index f0c2bc7ff4..68fe0896c6 100755 --- a/board/beaglebone/post-image.sh +++ b/board/beaglebone/post-image.sh @@ -8,7 +8,15 @@ BOARD_DIR="$(dirname $0)" # copy the uEnv.txt to the output/images directory cp board/beaglebone/uEnv.txt $BINARIES_DIR/uEnv.txt -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" +# the 4.1 kernel does not provide a dtb for beaglebone green, so we +# use a different genimage config if am335x-bonegreen.dtb is not +# built: +if [ -e ${BINARIES_DIR}/am335x-bonegreen.dtb ] ; then + GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" +else + GENIMAGE_CFG="${BOARD_DIR}/genimage_linux41.cfg" +fi + GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" rm -rf "${GENIMAGE_TMP}" diff --git a/board/boundarydevices/common/6x_bootscript.txt b/board/boundarydevices/common/6x_bootscript.txt index 2fc687aff4..af5822a88b 100644 --- a/board/boundarydevices/common/6x_bootscript.txt +++ b/board/boundarydevices/common/6x_bootscript.txt @@ -106,6 +106,7 @@ fi if itest.s "x" != "x${wlmac}" ; then setenv bootargs ${bootargs} wlcore.mac=${wlmac} + setenv bootargs ${bootargs} wlan.mac=${wlmac} fi if itest.s "x" != "x${gpumem}" ; then diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk index 36f27d14ea..492cddf1a5 100644 --- a/boot/grub2/grub2.mk +++ b/boot/grub2/grub2.mk @@ -53,7 +53,7 @@ GRUB2_CONF_ENV = \ $(HOST_CONFIGURE_OPTS) \ CPP="$(HOSTCC) -E" \ TARGET_CC="$(TARGET_CC)" \ - TARGET_CFLAGS="$(TARGET_CFLAGS)" \ + TARGET_CFLAGS="$(TARGET_CFLAGS) -fno-stack-protector" \ TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \ TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \ NM="$(TARGET_NM)" \ diff --git a/boot/syslinux/0004-memdisk-Force-ld-output-format-to-32-bits.patch b/boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch index 4eedf4973e..4eedf4973e 100644 --- a/boot/syslinux/0004-memdisk-Force-ld-output-format-to-32-bits.patch +++ b/boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch diff --git a/boot/syslinux/0005-utils-Use-the-host-toolchain-to-build.patch b/boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch index e091a3a89d..e091a3a89d 100644 --- a/boot/syslinux/0005-utils-Use-the-host-toolchain-to-build.patch +++ b/boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch diff --git a/boot/syslinux/0006-lzo-Use-the-host-toolchain-for-prepcore.patch b/boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch index c6fa7febf7..c6fa7febf7 100644 --- a/boot/syslinux/0006-lzo-Use-the-host-toolchain-for-prepcore.patch +++ b/boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch diff --git a/boot/syslinux/0007-The-VPrint-definition-is-now-part-of-the-exports-of-.patch b/boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch index c376010232..c376010232 100644 --- a/boot/syslinux/0007-The-VPrint-definition-is-now-part-of-the-exports-of-.patch +++ b/boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch diff --git a/boot/syslinux/0009-Update-the-longjump-calls-to-fit-the-new-declaration.patch b/boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch index cb369981a9..90d0b81f06 100644 --- a/boot/syslinux/0009-Update-the-longjump-calls-to-fit-the-new-declaration.patch +++ b/boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch @@ -1,4 +1,4 @@ -From db49dbac8a0c563fb6d07c348873e8ae50fee2a6 Mon Sep 17 00:00:00 2001 +From 3bd5c2d951421a89f76b2423e5810862f53486c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net> Date: Fri, 9 Jun 2017 11:59:43 +0200 Subject: [PATCH] Update the longjump calls to fit the new declaration @@ -12,7 +12,7 @@ Signed-off-by: Benoît Allard <benoit.allard@greenbone.net> 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/efi/main.c b/efi/main.c -index fd95f5c..b5383cd 100644 +index 208fee4f..71d31a5c 100644 --- a/efi/main.c +++ b/efi/main.c @@ -10,7 +10,6 @@ @@ -23,15 +23,15 @@ index fd95f5c..b5383cd 100644 #include "efi.h" #include "fio.h" -@@ -31,7 +30,7 @@ uint32_t timer_irq; +@@ -30,7 +29,7 @@ uint32_t timer_irq; __export uint8_t KbdMap[256]; char aux_seg[256]; -static jmp_buf load_error_buf; +static jmp_buf *load_error_buf; - EFI_HANDLE image_handle, image_device_handle, mnpsb_handle; - + static inline EFI_STATUS + efi_close_protocol(EFI_HANDLE handle, EFI_GUID *guid, EFI_HANDLE agent, -- -2.1.4 +2.13.3 diff --git a/boot/syslinux/0010-efi-wrapper-build-it-with-the-host-toolchain.patch b/boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch index c8ff9ebe34..9ec12a1791 100644 --- a/boot/syslinux/0010-efi-wrapper-build-it-with-the-host-toolchain.patch +++ b/boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch @@ -1,4 +1,4 @@ -From 755c947e9166366bd1a78efb1e0c7d6e6e2daa07 Mon Sep 17 00:00:00 2001 +From ca8aaded0c7c3900397029bd9520132b62629308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net> Date: Mon, 12 Jun 2017 14:59:16 +0200 Subject: [PATCH] efi/wrapper: build it with the host toolchain. @@ -15,10 +15,10 @@ Signed-off-by: Benoît Allard <benoit.allard@greenbone.net> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/efi/Makefile b/efi/Makefile -index d3788d9..a17258a 100644 +index d5443bd5..d24d16db 100644 --- a/efi/Makefile +++ b/efi/Makefile -@@ -78,7 +78,7 @@ syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS) +@@ -79,7 +79,7 @@ syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS) # cp $^ $@ wrapper: wrapper.c @@ -28,5 +28,5 @@ index d3788d9..a17258a 100644 # # Build the wrapper app and wrap our .so to produce a .efi -- -2.1.4 +2.13.3 diff --git a/boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch b/boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch new file mode 100644 index 0000000000..916012f619 --- /dev/null +++ b/boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch @@ -0,0 +1,295 @@ +From 76946dd67bc856eaf4fe69d0826547a794176f78 Mon Sep 17 00:00:00 2001 +From: Sylvain Gault <sylvain.gault@gmail.com> +Date: Tue, 29 Sep 2015 04:45:09 +0200 +Subject: [PATCH] bios: Don't try to guess the sections alignment + +For the compression / decompression to succeed, the sections layout must +be the same between the virtual memory and load memory. The section +alignment was kept in sync by introducing aligment that should be +greater or equal to the actual section alignment. + +This patch compute the load memory addresses of the sections so that +the layout is the same as the virtual memory addresses. + +Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com> +Tested-by: poma <pomidorabelisima@gmail.com> +Signed-off-by: Paulo Alcantara <pcacjr@zytor.com> + +Upstream: 0cc9a99e560a2f52bcf052fd85b1efae35ee812f +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> +--- + core/i386/syslinux.ld | 63 ++++++++++--------------------------------------- + core/x86_64/syslinux.ld | 63 ++++++++++--------------------------------------- + 2 files changed, 24 insertions(+), 102 deletions(-) + +diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld +index 73904510..92b75b11 100644 +--- a/core/i386/syslinux.ld ++++ b/core/i386/syslinux.ld +@@ -255,10 +255,9 @@ SECTIONS + . = 0x100000; + + __pm_code_start = .; ++ __vma_to_lma = __pm_code_lma - __pm_code_start; + +- __text_vma = .; +- __text_lma = __pm_code_lma; +- .text : AT(__text_lma) { ++ .text : AT(ADDR(.text) + __vma_to_lma) { + FILL(0x90909090) + __text_start = .; + *(.text) +@@ -266,106 +265,68 @@ SECTIONS + __text_end = .; + } + +- . = ALIGN(32); +- +- __rodata_vma = .; +- __rodata_lma = __rodata_vma + __text_lma - __text_vma; +- .rodata : AT(__rodata_lma) { ++ .rodata : AT(ADDR(.rodata) + __vma_to_lma) { + __rodata_start = .; + *(.rodata) + *(.rodata.*) + __rodata_end = .; + } + +- . = ALIGN(4); +- +- __ctors_vma = .; +- __ctors_lma = __ctors_vma + __text_lma - __text_vma; +- .ctors : AT(__ctors_lma) { ++ .ctors : AT(ADDR(.ctors) + __vma_to_lma) { + __ctors_start = .; + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __ctors_end = .; + } + +- __dtors_vma = .; +- __dtors_lma = __dtors_vma + __text_lma - __text_vma; +- .dtors : AT(__dtors_lma) { ++ .dtors : AT(ADDR(.dtors) + __vma_to_lma) { + __dtors_start = .; + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __dtors_end = .; + } + +- . = ALIGN(4); +- +- __dynsym_vma = .; +- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma; +- .dynsym : AT(__dynsym_lma) { ++ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) { + __dynsym_start = .; + *(.dynsym) + __dynsym_end = .; + } + __dynsym_len = __dynsym_end - __dynsym_start; + +- . = ALIGN(4); +- +- __dynstr_vma = .; +- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma; +- .dynstr : AT(__dynstr_lma) { ++ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) { + __dynstr_start = .; + *(.dynstr) + __dynstr_end = .; + } + __dynstr_len = __dynstr_end - __dynstr_start; + +- . = ALIGN(4); +- +- __gnu_hash_vma = .; +- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma; +- .gnu.hash : AT(__gnu_hash_lma) { ++ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) { + __gnu_hash_start = .; + *(.gnu.hash) + __gnu_hash_end = .; + } + + +- . = ALIGN(4); +- +- __dynlink_vma = .; +- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma; +- .dynlink : AT(__dynlink_lma) { ++ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) { + __dynlink_start = .; + *(.dynlink) + __dynlink_end = .; + } + +- . = ALIGN(4); +- +- __got_vma = .; +- __got_lma = __got_vma + __text_lma - __text_vma; +- .got : AT(__got_lma) { ++ .got : AT(ADDR(.got) + __vma_to_lma) { + __got_start = .; + KEEP (*(.got.plt)) + KEEP (*(.got)) + __got_end = .; + } + +- . = ALIGN(4); +- +- __dynamic_vma = .; +- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma; +- .dynamic : AT(__dynamic_lma) { ++ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) { + __dynamic_start = .; + *(.dynamic) + __dynamic_end = .; + } + +- . = ALIGN(32); +- +- __data_vma = .; +- __data_lma = __data_vma + __text_lma - __text_vma; +- .data : AT(__data_lma) { ++ .data : AT(ADDR(.data) + __vma_to_lma) { + __data_start = .; + *(.data) + *(.data.*) +diff --git a/core/x86_64/syslinux.ld b/core/x86_64/syslinux.ld +index bf815c46..70c6e00a 100644 +--- a/core/x86_64/syslinux.ld ++++ b/core/x86_64/syslinux.ld +@@ -255,10 +255,9 @@ SECTIONS + . = 0x100000; + + __pm_code_start = .; ++ __vma_to_lma = __pm_code_lma - __pm_code_start; + +- __text_vma = .; +- __text_lma = __pm_code_lma; +- .text : AT(__text_lma) { ++ .text : AT(ADDR(.text) + __vma_to_lma) { + FILL(0x90909090) + __text_start = .; + *(.text) +@@ -266,106 +265,68 @@ SECTIONS + __text_end = .; + } + +- . = ALIGN(32); +- +- __rodata_vma = .; +- __rodata_lma = __rodata_vma + __text_lma - __text_vma; +- .rodata : AT(__rodata_lma) { ++ .rodata : AT(ADDR(.rodata) + __vma_to_lma) { + __rodata_start = .; + *(.rodata) + *(.rodata.*) + __rodata_end = .; + } + +- . = ALIGN(4); +- +- __ctors_vma = .; +- __ctors_lma = __ctors_vma + __text_lma - __text_vma; +- .ctors : AT(__ctors_lma) { ++ .ctors : AT(ADDR(.ctors) + __vma_to_lma) { + __ctors_start = .; + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __ctors_end = .; + } + +- __dtors_vma = .; +- __dtors_lma = __dtors_vma + __text_lma - __text_vma; +- .dtors : AT(__dtors_lma) { ++ .dtors : AT(ADDR(.dtors) + __vma_to_lma) { + __dtors_start = .; + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __dtors_end = .; + } + +- . = ALIGN(4); +- +- __dynsym_vma = .; +- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma; +- .dynsym : AT(__dynsym_lma) { ++ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) { + __dynsym_start = .; + *(.dynsym) + __dynsym_end = .; + } + __dynsym_len = __dynsym_end - __dynsym_start; + +- . = ALIGN(4); +- +- __dynstr_vma = .; +- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma; +- .dynstr : AT(__dynstr_lma) { ++ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) { + __dynstr_start = .; + *(.dynstr) + __dynstr_end = .; + } + __dynstr_len = __dynstr_end - __dynstr_start; + +- . = ALIGN(4); +- +- __gnu_hash_vma = .; +- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma; +- .gnu.hash : AT(__gnu_hash_lma) { ++ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) { + __gnu_hash_start = .; + *(.gnu.hash) + __gnu_hash_end = .; + } + + +- . = ALIGN(4); +- +- __dynlink_vma = .; +- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma; +- .dynlink : AT(__dynlink_lma) { ++ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) { + __dynlink_start = .; + *(.dynlink) + __dynlink_end = .; + } + +- . = ALIGN(4); +- +- __got_vma = .; +- __got_lma = __got_vma + __text_lma - __text_vma; +- .got : AT(__got_lma) { ++ .got : AT(ADDR(.got) + __vma_to_lma) { + __got_start = .; + KEEP (*(.got.plt)) + KEEP (*(.got)) + __got_end = .; + } + +- . = ALIGN(4); +- +- __dynamic_vma = .; +- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma; +- .dynamic : AT(__dynamic_lma) { ++ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) { + __dynamic_start = .; + *(.dynamic) + __dynamic_end = .; + } + +- . = ALIGN(32); +- +- __data_vma = .; +- __data_lma = __data_vma + __text_lma - __text_vma; +- .data : AT(__data_lma) { ++ .data : AT(ADDR(.data) + __vma_to_lma) { + __data_start = .; + *(.data) + *(.data.*) +-- +2.13.3 + diff --git a/boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch b/boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch new file mode 100644 index 0000000000..8b6d52544b --- /dev/null +++ b/boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch @@ -0,0 +1,622 @@ +From a14b1b3d3e375d2e8af8804171ef5e52574dbb2a Mon Sep 17 00:00:00 2001 +From: "H. Peter Anvin" <hpa@zytor.com> +Date: Tue, 9 Feb 2016 18:15:50 -0800 +Subject: [PATCH] core: Clean up the i386-bios build + +Remove symbols and data structures not used in the i386-bios build, +and clean up the linker script so that most internal symbols are +HIDDEN. + +Signed-off-by: H. Peter Anvin <hpa@zytor.com> + +Upstream: ff859050fa4e6535cae098dc35d88a265466448d + +This patch fixes the following build failure with i386 binutils 2.28.1: + +/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld -Bsymbolic -pie -E --hash-style=gnu -T +/builds/arnout/buildroot/output/build/syslinux-6.03/core/i386/syslinux.ld -M -o ldlinux.elf ldlinux.o \ + --start-group libcom32.a --whole-archive /builds/arnout/buildroot/output/build/syslinux-6.03/bios/com32/lib/libcom32core.a libldlinux.a --end-group -N +--no-omagic \ + > ldlinux.map +/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: ldlinux.elf: Not enough room for program headers, try linking with -N +/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: final link failed: Bad value +/builds/arnout/buildroot/output/build/syslinux-6.03/core/Makefile:167: recipe for target 'ldlinux.elf' failed + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> +--- + core/extern.inc | 17 +-- + core/i386/syslinux.ld | 287 +++++++++++++++++++++++++------------------------- + core/layout.inc | 11 -- + 3 files changed, 143 insertions(+), 172 deletions(-) + +diff --git a/core/extern.inc b/core/extern.inc +index af8eb04c..ce4abfab 100644 +--- a/core/extern.inc ++++ b/core/extern.inc +@@ -12,27 +12,17 @@ + ; hello.c + extern hello + +- ;abort.c +- extern abort_load_new +- + ; elflink/load_env32.c + extern load_env32, pm_env32_run + +- ; memscan.c +- extern highmem_init +- +- extern linux_kernel +- + extern mp1, mp2, mp3, mp4, mp5 + +- extern hexdump, mydump ++ extern hexdump + + extern mem_init + + ; fs.c +- extern pm_fs_init, pm_searchdir, getfssec, getfsbytes +- extern pm_mangle_name, pm_load_config +- extern pm_open_file, pm_close_file ++ extern pm_fs_init + extern SectorSize, SectorShift + + ; chdir.c +@@ -41,9 +31,6 @@ + ; readdir.c + extern opendir, readdir, closedir + +- ; newconfig.c +- extern pm_is_config_file +- + ; idle.c + extern __idle + +diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld +index 92b75b11..39198d75 100644 +--- a/core/i386/syslinux.ld ++++ b/core/i386/syslinux.ld +@@ -1,7 +1,7 @@ + /* ----------------------------------------------------------------------- + * + * Copyright 2008-2009 H. Peter Anvin - All Rights Reserved +- * Copyright 2009 Intel Corporation; author: H. Peter Anvin ++ * Copyright 2009-2016 Intel Corporation; author: H. Peter Anvin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -12,7 +12,7 @@ + * ----------------------------------------------------------------------- */ + + /* +- * Linker script for the SYSLINUX core ++ * Linker script for the SYSLINUX core when built for i386-bios + */ + + OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") +@@ -26,7 +26,7 @@ SECTIONS + { + /* Prefix structure for the compression program */ + . = 0; +- __module_start = .; ++ HIDDEN(__module_start = ABSOLUTE(.)); + .prefix : { + *(.prefix) + } +@@ -35,81 +35,82 @@ SECTIONS + . = 0x1000; + + .earlybss (NOLOAD) : { +- __earlybss_start = .; ++ HIDDEN(__earlybss_start = .); + *(.earlybss) +- __earlybss_end = .; ++ HIDDEN(__earlybss_end = .); + } +- __earlybss_len = ABSOLUTE(__earlybss_end) - ABSOLUTE(__earlybss_start); +- __earlybss_dwords = (__earlybss_len + 3) >> 2; ++ HIDDEN(__earlybss_len = ABSOLUTE(__earlybss_end) - ABSOLUTE(__earlybss_start)); ++ HIDDEN(__earlybss_dwords = (__earlybss_len + 3) >> 2); + + . = ALIGN(4); + .bss16 (NOLOAD) : { +- __bss16_start = .; ++ HIDDEN(__bss16_start = .); + *(.bss16) +- __bss16_end = .; ++ HIDDEN(__bss16_end = .); + } +- __bss16_len = ABSOLUTE(__bss16_end) - ABSOLUTE(__bss16_start); +- __bss16_dwords = (__bss16_len + 3) >> 2; ++ HIDDEN(__bss16_len = ABSOLUTE(__bss16_end) - ABSOLUTE(__bss16_start)); ++ HIDDEN(__bss16_dwords = (__bss16_len + 3) >> 2); + + . = ALIGN(4); + .config : AT (__config_lma) { +- __config_start = .; ++ HIDDEN(__config_start = .); + *(.config) +- __config_end = .; ++ HIDDEN(__config_end = .); + } +- __config_len = ABSOLUTE(__config_end) - ABSOLUTE(__config_start); +- __config_dwords = (__config_len + 3) >> 2; ++ HIDDEN(__config_len = ABSOLUTE(__config_end) - ABSOLUTE(__config_start)); ++ HIDDEN(__config_dwords = (__config_len + 3) >> 2); + + /* Generated and/or copied code */ + + . = ALIGN(128); /* Minimum separation from mutable data */ + .replacestub : AT (__replacestub_lma) { +- __replacestub_start = .; ++ HIDDEN(__replacestub_start = .); + *(.replacestub) +- __replacestub_end = .; ++ HIDDEN(__replacestub_end = .); + } +- __replacestub_len = ABSOLUTE(__replacestub_end) - ABSOLUTE(__replacestub_start); +- __replacestub_dwords = (__replacestub_len + 3) >> 2; ++ HIDDEN(__replacestub_len = ABSOLUTE(__replacestub_end) - ABSOLUTE(__replacestub_start)); ++ HIDDEN(__replacestub_dwords = (__replacestub_len + 3) >> 2); + + . = ALIGN(16); +- __gentextnr_lma = .; ++ HIDDEN(__gentextnr_lma = .); + .gentextnr : AT(__gentextnr_lma) { +- __gentextnr_start = .; ++ HIDDEN(__gentextnr_start = .); + *(.gentextnr) +- __gentextnr_end = .; ++ HIDDEN(__gentextnr_end = .); + } +- __gentextnr_len = ABSOLUTE(__gentextnr_end) - ABSOLUTE(__gentextnr_start); +- __gentextnr_dwords = (__gentextnr_len + 3) >> 2; ++ HIDDEN(__gentextnr_len = ABSOLUTE(__gentextnr_end) - ABSOLUTE(__gentextnr_start)); ++ HIDDEN(__gentextnr_dwords = (__gentextnr_len + 3) >> 2); + + . = STACK_BASE; + .stack16 : AT(STACK_BASE) { +- __stack16_start = .; ++ HIDDEN(__stack16_start = .); + . += STACK_LEN; +- __stack16_end = .; ++ HIDDEN(__stack16_end = .); + } +- __stack16_len = ABSOLUTE(__stack16_end) - ABSOLUTE(__stack16_start); +- __stack16_dwords = (__stack16_len + 3) >> 2; ++ HIDDEN(__stack16_len = ABSOLUTE(__stack16_end) - ABSOLUTE(__stack16_start)); ++ HIDDEN(__stack16_dwords = (__stack16_len + 3) >> 2); + + /* Initialized sections */ + + . = 0x7c00; + .init : { + FILL(0x90909090) +- __init_start = .; ++ HIDDEN(__init_start = .); + *(.init) +- __init_end = .; ++ HIDDEN(__init_end = .); + } +- __init_len = ABSOLUTE(__init_end) - ABSOLUTE(__init_start); +- __init_dwords = (__init_len + 3) >> 2; ++ HIDDEN(__init_len = ABSOLUTE(__init_end) - ABSOLUTE(__init_start)); ++ HIDDEN(__init_dwords = (__init_len + 3) >> 2); + ++ . = ALIGN(4); + .text16 : { + FILL(0x90909090) +- __text16_start = .; ++ HIDDEN(__text16_start = .); + *(.text16) +- __text16_end = .; ++ HIDDEN(__text16_end = .); + } +- __text16_len = ABSOLUTE(__text16_end) - ABSOLUTE(__text16_start); +- __text16_dwords = (__text16_len + 3) >> 2; ++ HIDDEN(__text16_len = ABSOLUTE(__text16_end) - ABSOLUTE(__text16_start)); ++ HIDDEN(__text16_dwords = (__text16_len + 3) >> 2); + + /* + * .textnr is used for 32-bit code that is used on the code +@@ -118,99 +119,92 @@ SECTIONS + . = ALIGN(16); + .textnr : { + FILL(0x90909090) +- __textnr_start = .; ++ HIDDEN(__textnr_start = .); + *(.textnr) +- __textnr_end = .; ++ HIDDEN(__textnr_end = .); + } +- __textnr_len = ABSOLUTE(__textnr_end) - ABSOLUTE(__textnr_start); +- __textnr_dwords = (__textnr_len + 3) >> 2; ++ HIDDEN(__textnr_len = ABSOLUTE(__textnr_end) - ABSOLUTE(__textnr_start)); ++ HIDDEN(__textnr_dwords = (__textnr_len + 3) >> 2); + + . = ALIGN(16); +- __bcopyxx_start = .; ++ HIDDEN(__bcopyxx_start = .); + + .bcopyxx.text : { + FILL(0x90909090) +- __bcopyxx_text_start = .; ++ HIDDEN(__bcopyxx_text_start = .); + *(.bcopyxx.text) +- __bcopyxx_text_end = .; ++ HIDDEN(__bcopyxx_text_end = .); + } +- __bcopyxx_text_len = ABSOLUTE(__bcopyxx_text_end) - ABSOLUTE(__bcopyxx_text_start); +- __bcopyxx_text_dwords = (__bcopyxx_text_len + 3) >> 2; ++ HIDDEN(__bcopyxx_text_len = ABSOLUTE(__bcopyxx_text_end) - ABSOLUTE(__bcopyxx_text_start)); ++ HIDDEN(__bcopyxx_text_dwords = (__bcopyxx_text_len + 3) >> 2); + + .bcopyxx.data : { +- __bcopyxx_data_start = .; ++ HIDDEN(__bcopyxx_data_start = .); + *(.bcopyxx.text) +- __bcopyxx_data_end = .; ++ HIDDEN(__bcopyxx_data_end = .); + } +- __bcopyxx_data_len = ABSOLUTE(__bcopyxx_data_end) - ABSOLUTE(__bcopyxx_data_start); +- __bcopyxx_data_dwords = (__bcopyxx_data_len + 3) >> 2; ++ HIDDEN(__bcopyxx_data_len = ABSOLUTE(__bcopyxx_data_end) - ABSOLUTE(__bcopyxx_data_start)); ++ HIDDEN(__bcopyxx_data_dwords = (__bcopyxx_data_len + 3) >> 2); + +- __bcopyxx_end = .; +- __bcopyxx_len = ABSOLUTE(__bcopyxx_end) - ABSOLUTE(__bcopyxx_start); +- __bcopyxx_dwords = (__bcopyxx_len + 3) >> 2; ++ HIDDEN(__bcopyxx_end = .); ++ HIDDEN(__bcopyxx_len = ABSOLUTE(__bcopyxx_end) - ABSOLUTE(__bcopyxx_start)); ++ HIDDEN(__bcopyxx_dwords = (__bcopyxx_len + 3) >> 2); + + . = ALIGN(4); + .data16 : { +- __data16_start = .; ++ HIDDEN(__data16_start = .); + *(.data16) +- __data16_end = .; ++ HIDDEN(__data16_end = .); + } +- __data16_len = ABSOLUTE(__data16_end) - ABSOLUTE(__data16_start); +- __data16_dwords = (__data16_len + 3) >> 2; ++ HIDDEN(__data16_len = ABSOLUTE(__data16_end) - ABSOLUTE(__data16_start)); ++ HIDDEN(__data16_dwords = (__data16_len + 3) >> 2); + + . = ALIGN(4); +- __config_lma = .; ++ HIDDEN(__config_lma = ABSOLUTE(.)); + . += SIZEOF(.config); + + . = ALIGN(4); +- __replacestub_lma = .; ++ HIDDEN(__replacestub_lma = ABSOLUTE(.)); + . += SIZEOF(.replacestub); + + /* The 32-bit code loads above the non-progbits sections */ + + . = ALIGN(16); +- __pm_code_lma = .; ++ HIDDEN(__pm_code_lma = ABSOLUTE(.)); + +- __high_clear_start = .; ++ HIDDEN(__high_clear_start = .); + + . = ALIGN(512); + .adv (NOLOAD) : { +- __adv_start = .; ++ HIDDEN(__adv_start = .); + *(.adv) +- __adv_end = .; ++ HIDDEN(__adv_end = .); + } +- __adv_len = ABSOLUTE(__adv_end) - ABSOLUTE(__adv_start); +- __adv_dwords = (__adv_len + 3) >> 2; ++ HIDDEN(__adv_len = ABSOLUTE(__adv_end) - ABSOLUTE(__adv_start)); ++ HIDDEN(__adv_dwords = (__adv_len + 3) >> 2); + + /* Late uninitialized sections */ + + . = ALIGN(4); + .uibss (NOLOAD) : { +- __uibss_start = .; ++ HIDDEN(__uibss_start = .); + *(.uibss) +- __uibss_end = .; ++ HIDDEN(__uibss_end = .); + } +- __uibss_len = ABSOLUTE(__uibss_end) - ABSOLUTE(__uibss_start); +- __uibss_dwords = (__uibss_len + 3) >> 2; ++ HIDDEN(__uibss_len = ABSOLUTE(__uibss_end) - ABSOLUTE(__uibss_start)); ++ HIDDEN(__uibss_dwords = (__uibss_len + 3) >> 2); + +- _end16 = .; +- __assert_end16 = ASSERT(_end16 <= 0x10000, "64K overflow"); ++ HIDDEN(_end16 = .); ++ HIDDEN(__assert_end16 = ASSERT(_end16 <= 0x10000, "64K overflow")); + + /* + * Special 16-bit segments + */ +- +- . = ALIGN(65536); +- .real_mode (NOLOAD) : { +- *(.real_mode) +- } +- real_mode_seg = core_real_mode >> 4; +- + . = ALIGN(65536); + .xfer_buf (NOLOAD) : { + *(.xfer_buf) + } +- xfer_buf_seg = core_xfer_buf >> 4; ++ HIDDEN(xfer_buf_seg = core_xfer_buf >> 4); + + /* + * The auxilliary data segment is used by the 16-bit code +@@ -219,33 +213,33 @@ SECTIONS + + . = ALIGN(16); + .auxseg (NOLOAD) : { +- __auxseg_start = .; ++ HIDDEN(__auxseg_start = .); + *(.auxseg) +- __auxseg_end = .; ++ HIDDEN(__auxseg_end = .); + } +- __auxseg_len = ABSOLUTE(__auxseg_end) - ABSOLUTE(__auxseg_start); +- __auxseg_dwords = (__auxseg_len + 3) >> 2; +- aux_seg = __auxseg_start >> 4; ++ HIDDEN(__auxseg_len = ABSOLUTE(__auxseg_end) - ABSOLUTE(__auxseg_start)); ++ HIDDEN(__auxseg_dwords = (__auxseg_len + 3) >> 2); ++ HIDDEN(aux_seg = __auxseg_start >> 4); + + /* + * Used to allocate lowmem buffers from 32-bit code + */ + .lowmem (NOLOAD) : { +- __lowmem_start = .; ++ HIDDEN(__lowmem_start = .); + *(.lowmem) +- __lowmem_end = .; ++ HIDDEN(__lowmem_end = .); + } +- __lowmem_len = ABSOLUTE(__lowmem_end) - ABSOLUTE(__lowmem_start); +- __lowmem_dwords = (__lowmem_len + 3) >> 2; ++ HIDDEN(__lowmem_len = ABSOLUTE(__lowmem_end) - ABSOLUTE(__lowmem_start)); ++ HIDDEN(__lowmem_dwords = (__lowmem_len + 3) >> 2); + +- __high_clear_end = .; ++ HIDDEN(__high_clear_end = .); + +- __high_clear_len = ABSOLUTE(__high_clear_end) - ABSOLUTE(__high_clear_start); +- __high_clear_dwords = (__high_clear_len + 3) >> 2; ++ HIDDEN(__high_clear_len = ABSOLUTE(__high_clear_end) - ABSOLUTE(__high_clear_start)); ++ HIDDEN(__high_clear_dwords = (__high_clear_len + 3) >> 2); + + /* Start of the lowmem heap */ + . = ALIGN(16); +- __lowmem_heap = .; ++ HIDDEN(__lowmem_heap = .); + + /* + * 32-bit code. This is a hack for the moment due to the +@@ -254,136 +248,137 @@ SECTIONS + + . = 0x100000; + +- __pm_code_start = .; +- __vma_to_lma = __pm_code_lma - __pm_code_start; ++ HIDDEN(__pm_code_start = .); ++ HIDDEN(__vma_to_lma = ABSOLUTE(__pm_code_lma - __pm_code_start)); + + .text : AT(ADDR(.text) + __vma_to_lma) { + FILL(0x90909090) +- __text_start = .; ++ HIDDEN(__text_start = .); + *(.text) + *(.text.*) +- __text_end = .; ++ HIDDEN(__text_end = .); + } + + .rodata : AT(ADDR(.rodata) + __vma_to_lma) { +- __rodata_start = .; ++ HIDDEN(__rodata_start = .); + *(.rodata) + *(.rodata.*) +- __rodata_end = .; ++ HIDDEN(__rodata_end = .); + } + + .ctors : AT(ADDR(.ctors) + __vma_to_lma) { +- __ctors_start = .; ++ HIDDEN(__ctors_start = .); + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) +- __ctors_end = .; ++ HIDDEN(__ctors_end = .); + } + + .dtors : AT(ADDR(.dtors) + __vma_to_lma) { +- __dtors_start = .; ++ HIDDEN(__dtors_start = .); + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) +- __dtors_end = .; ++ HIDDEN(__dtors_end = .); + } + + .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) { +- __dynsym_start = .; +- *(.dynsym) +- __dynsym_end = .; ++ HIDDEN(__dynsym_start = .); ++ KEEP (*(.dynsym)) ++ HIDDEN(__dynsym_end = .); + } +- __dynsym_len = __dynsym_end - __dynsym_start; ++ HIDDEN(__dynsym_len = __dynsym_end - __dynsym_start); + + .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) { +- __dynstr_start = .; +- *(.dynstr) +- __dynstr_end = .; ++ HIDDEN(__dynstr_start = .); ++ KEEP (*(.dynstr)) ++ HIDDEN(__dynstr_end = .); + } +- __dynstr_len = __dynstr_end - __dynstr_start; ++ HIDDEN(__dynstr_len = __dynstr_end - __dynstr_start); + + .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) { +- __gnu_hash_start = .; +- *(.gnu.hash) +- __gnu_hash_end = .; ++ HIDDEN(__gnu_hash_start = .); ++ KEEP (*(.gnu.hash)) ++ HIDDEN(__gnu_hash_end = .); + } + + + .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) { +- __dynlink_start = .; +- *(.dynlink) +- __dynlink_end = .; ++ HIDDEN(__dynlink_start = .); ++ KEEP (*(.dynlink)) ++ HIDDEN(__dynlink_end = .); + } + + .got : AT(ADDR(.got) + __vma_to_lma) { +- __got_start = .; +- KEEP (*(.got.plt)) ++ HIDDEN(__got_start = .); + KEEP (*(.got)) +- __got_end = .; ++ KEEP (*(.got.plt)) ++ HIDDEN(__got_end = .); + } + + .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) { +- __dynamic_start = .; +- *(.dynamic) +- __dynamic_end = .; ++ HIDDEN(__dynamic_start = .); ++ KEEP (*(.dynamic)) ++ HIDDEN(__dynamic_end = .); + } + + .data : AT(ADDR(.data) + __vma_to_lma) { +- __data_start = .; ++ HIDDEN(__data_start = .); + *(.data) + *(.data.*) +- __data_end = .; ++ HIDDEN(__data_end = .); + } + +- __pm_code_end = .; +- __pm_code_len = ABSOLUTE(__pm_code_end) - ABSOLUTE(__pm_code_start); +- __pm_code_dwords = (__pm_code_len + 3) >> 2; ++ HIDDEN(__pm_code_end = .); ++ HIDDEN(__pm_code_len = ABSOLUTE(__pm_code_end) - ABSOLUTE(__pm_code_start)); ++ HIDDEN(__pm_code_dwords = (__pm_code_len + 3) >> 2); + + . = ALIGN(128); + +- __bss_vma = .; +- __bss_lma = .; /* Dummy */ ++ HIDDEN(__bss_vma = .); ++ HIDDEN(__bss_lma = ABSOLUTE(.)); /* Dummy */ + .bss (NOLOAD) : AT (__bss_lma) { +- __bss_start = .; ++ HIDDEN(__bss_start = .); + *(.bss) + *(.bss.*) + *(COMMON) +- __bss_end = .; ++ HIDDEN(__bss_end = .); + } +- __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start); +- __bss_dwords = (__bss_len + 3) >> 2; ++ HIDDEN(__bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start)); ++ HIDDEN(__bss_dwords = (__bss_len + 3) >> 2); + + /* Very large objects which don't need to be zeroed */ + +- __hugebss_vma = .; +- __hugebss_lma = .; /* Dummy */ ++ HIDDEN(__hugebss_vma = .); ++ HIDDEN(__hugebss_lma = ABSOLUTE(.)); /* Dummy */ + .hugebss (NOLOAD) : AT (__hugebss_lma) { +- __hugebss_start = .; ++ HIDDEN(__hugebss_start = .); + *(.hugebss) + *(.hugebss.*) +- __hugebss_end = .; ++ HIDDEN(__hugebss_end = .); + } +- __hugebss_len = ABSOLUTE(__hugebss_end) - ABSOLUTE(__hugebss_start); +- __hugebss_dwords = (__hugebss_len + 3) >> 2; ++ HIDDEN(__hugebss_len = ABSOLUTE(__hugebss_end) - ABSOLUTE(__hugebss_start)); ++ HIDDEN(__hugebss_dwords = (__hugebss_len + 3) >> 2); + + + /* XXX: This stack should be unified with the COM32 stack */ +- __stack_vma = .; +- __stack_lma = .; /* Dummy */ ++ HIDDEN(__stack_vma = .); ++ HIDDEN(__stack_lma = ABSOLUTE(.)); /* Dummy */ + .stack (NOLOAD) : AT(__stack_lma) { +- __stack_start = .; ++ HIDDEN(__stack_start = .); + *(.stack) +- __stack_end = .; ++ HIDDEN(__stack_end = .); + } +- __stack_len = ABSOLUTE(__stack_end) - ABSOLUTE(__stack_start); +- __stack_dwords = (__stack_len + 3) >> 2; ++ HIDDEN(__stack_len = ABSOLUTE(__stack_end) - ABSOLUTE(__stack_start)); ++ HIDDEN(__stack_dwords = (__stack_len + 3) >> 2); + +- _end = .; ++ HIDDEN(_end = .); + + /* COM32R and kernels are loaded after our own PM code */ + . = ALIGN(65536); +- free_high_memory = .; ++ HIDDEN(free_high_memory = .); + + /* Stuff we don't need... */ + /DISCARD/ : { + *(.eh_frame) ++ *(.interp) + } + } +diff --git a/core/layout.inc b/core/layout.inc +index 53ca783d..635df537 100644 +--- a/core/layout.inc ++++ b/core/layout.inc +@@ -139,17 +139,6 @@ serial_buf_size equ 4096 ; Should be a power of 2 + core_xfer_buf resb 65536 + + ; +-; Segment for the real mode code (needed as long as we have a in-kernel +-; loader and/or COM16 support. +-; One symbol for the segment number, one for the absolute address +-; +- extern real_mode_seg +- section .real_mode write nobits align=65536 +- global core_real_mode:data hidden +-core_real_mode resb 65536 +-comboot_seg equ real_mode_seg ; COMBOOT image loading zone +- +-; + ; At the very end, the lowmem heap + ; + extern __lowmem_heap +-- +2.13.3 + diff --git a/configs/armadeus_apf9328_defconfig b/configs/armadeus_apf9328_defconfig deleted file mode 100644 index 8abfcfd452..0000000000 --- a/configs/armadeus_apf9328_defconfig +++ /dev/null @@ -1,29 +0,0 @@ -# Architecture -BR2_arm=y -BR2_arm920t=y - -# Toolchain -BR2_PACKAGE_GDB=y -BR2_PACKAGE_HOST_GDB=y -BR2_ENABLE_LOCALE_PURGE=y -BR2_TOOLCHAIN_BUILDROOT_LOCALE=y -BR2_TOOLCHAIN_BUILDROOT_CXX=y - -# Linux headers same as kernel, a 3.18 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y - -# System -BR2_TARGET_GENERIC_HOSTNAME="apf9328" -BR2_TARGET_GENERIC_ISSUE="Welcome to Armadeus development platform !" -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# Filesystem -BR2_TARGET_ROOTFS_JFFS2=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.18.29" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v4_v5" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x08008000" diff --git a/configs/beaglebone_qt5_defconfig b/configs/beaglebone_qt5_defconfig index 4135f718ed..fb61bf54df 100644 --- a/configs/beaglebone_qt5_defconfig +++ b/configs/beaglebone_qt5_defconfig @@ -3,6 +3,7 @@ BR2_cortex_a8=y BR2_GLOBAL_PATCH_DIR="board/beaglebone/patches" BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_GCC_VERSION_5_X=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_TARGET_GENERIC_GETTY_PORT="ttyO0" diff --git a/configs/ci20_defconfig b/configs/ci20_defconfig index ecf3007a37..6de6394f8c 100644 --- a/configs/ci20_defconfig +++ b/configs/ci20_defconfig @@ -13,7 +13,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyS4" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/MIPS/CI20_linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="fbf929bc733b82b15f6996d4262a45870f19d214" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7dff33297116643485ca37141d804eddd793e834" BR2_LINUX_KERNEL_DEFCONFIG="ci20" # u-boot @@ -22,8 +22,7 @@ BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY=y BR2_TARGET_UBOOT_BOARDNAME="ci20_mmc" BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/MIPS/CI20_u-boot" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="a4f583551d0025eb957ee5c9cb68657a429e4914" -BR2_TARGET_UBOOT_VERSION="a4f583551d0025eb957ee5c9cb68657a429e4914" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="dd3c1b95dac7d10b2ca5806f65e5c1050d7dd0fa" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.bin" diff --git a/configs/minnowboard_max_defconfig b/configs/minnowboard_max_defconfig index 674b144de8..db6e595779 100644 --- a/configs/minnowboard_max_defconfig +++ b/configs/minnowboard_max_defconfig @@ -9,6 +9,9 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard/post-image.sh" # Linux headers same as kernel, a 4.12 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y +# Needed for grub2 +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y + BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/nanopi_m1_defconfig b/configs/nanopi_m1_defconfig index 23a5e60207..323015ee68 100644 --- a/configs/nanopi_m1_defconfig +++ b/configs/nanopi_m1_defconfig @@ -17,6 +17,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION=y BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi_m1" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" diff --git a/configs/nanopi_m1_plus_defconfig b/configs/nanopi_m1_plus_defconfig index a1ae00e445..da707fd5fa 100644 --- a/configs/nanopi_m1_plus_defconfig +++ b/configs/nanopi_m1_plus_defconfig @@ -17,6 +17,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION=y BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi_m1_plus" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" diff --git a/configs/olimex_a20_olinuxino_lime_defconfig b/configs/olimex_a20_olinuxino_lime_defconfig index 1c9f261d82..526ed375b5 100644 --- a/configs/olimex_a20_olinuxino_lime_defconfig +++ b/configs/olimex_a20_olinuxino_lime_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.36" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -34,9 +34,10 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.03" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_FORMAT_BIN=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" diff --git a/configs/olimex_a20_olinuxino_lime_mali_defconfig b/configs/olimex_a20_olinuxino_lime_mali_defconfig index 8042dfec4a..dde1791ec5 100644 --- a/configs/olimex_a20_olinuxino_lime_mali_defconfig +++ b/configs/olimex_a20_olinuxino_lime_mali_defconfig @@ -41,9 +41,10 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.03" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_FORMAT_BIN=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" diff --git a/configs/socrates_cyclone5_defconfig b/configs/socrates_cyclone5_defconfig index 5793458b74..45355c1b85 100644 --- a/configs/socrates_cyclone5_defconfig +++ b/configs/socrates_cyclone5_defconfig @@ -21,6 +21,7 @@ BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/altera-opensource/u-boot-socfpga.git" BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="v2017.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="socfpga_socrates" +BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC=y diff --git a/configs/toradex_apalis_imx6_defconfig b/configs/toradex_apalis_imx6_defconfig index 74d1fb3b9c..607faaeb8f 100644 --- a/configs/toradex_apalis_imx6_defconfig +++ b/configs/toradex_apalis_imx6_defconfig @@ -1,12 +1,12 @@ BR2_arm=y BR2_cortex_a9=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/toradex/apalis-imx6/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.toradex.com/linux-toradex.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="8f237ebe42f2cb911245369276a6b3043c2815f2" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="3f68dc7c600c0354f5df7f06b931661319addafb" BR2_LINUX_KERNEL_DEFCONFIG="apalis_imx6" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-apalis-eval imx6q-apalis-ixora imx6q-apalis_v1_0-eval imx6q-apalis_v1_0-ixora" @@ -17,8 +17,9 @@ BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.toradex.com/u-boot-toradex.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="1ef4a29e8cea0239411dde64f9617ad76248fd02" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="f0e414972b5b225e33ebe75574562266116746f9" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="apalis_imx6" -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.imx" +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="SPL" BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/docs/website/download.html b/docs/website/download.html index f7aec42e9c..74c6e9dbae 100644 --- a/docs/website/download.html +++ b/docs/website/download.html @@ -42,74 +42,74 @@ </div> </div> - <h3 style="text-align: center;">Latest stable release: <b>2017.05.2</b></h3> + <h3 style="text-align: center;">Latest stable release: <b>2017.08</b></h3> <div class="row mt centered"> <div class="col-sm-6"> <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');"> <div class="flipper"> <div class="front"> - <a href="/downloads/buildroot-2017.05.2.tar.gz"><img src="images/zip.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2017.08.tar.gz"><img src="images/zip.png" width="180" alt=""></a> </div> <div class="back"> - <a href="/downloads/buildroot-2017.05.2.tar.gz"><img src="images/zip.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2017.08.tar.gz"><img src="images/zip.png" width="180" alt=""></a> </div> </div> </div> - <h3><a href="/downloads/buildroot-2017.05.2.tar.gz">buildroot-2017.05.2.tar.gz</a></h3> - <p><a href="/downloads/buildroot-2017.05.2.tar.gz.sign">PGP signature</a></p> + <h3><a href="/downloads/buildroot-2017.08.tar.gz">buildroot-2017.08.tar.gz</a></h3> + <p><a href="/downloads/buildroot-2017.08.tar.gz.sign">PGP signature</a></p> </div> <div class="col-sm-6"> <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');"> <div class="flipper"> <div class="front"> - <a href="/downloads/buildroot-2017.05.2.tar.bz2"><img src="images/package.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2017.08.tar.bz2"><img src="images/package.png" width="180" alt=""></a> </div> <div class="back"> - <a href="/downloads/buildroot-2017.05.2.tar.bz2"><img src="images/package.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2017.08.tar.bz2"><img src="images/package.png" width="180" alt=""></a> </div> </div> </div> - <h3><a href="/downloads/buildroot-2017.05.2.tar.bz2">buildroot-2017.05.2.tar.bz2</a></h3> - <p><a href="/downloads/buildroot-2017.05.2.tar.bz2.sign">PGP signature</a></p> + <h3><a href="/downloads/buildroot-2017.08.tar.bz2">buildroot-2017.08.tar.bz2</a></h3> + <p><a href="/downloads/buildroot-2017.08.tar.bz2.sign">PGP signature</a></p> </div> </div> - - <h3 style="text-align: center;">Latest release candidate: <b>2017.08-rc1</b></h3> +<!-- + <h3 style="text-align: center;">Latest release candidate: <b>2017.08-rc3</b></h3> <div class="row mt centered"> <div class="col-sm-6"> <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');"> <div class="flipper"> <div class="front"> - <a href="/downloads/buildroot-2017.08-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2017.08-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a> </div> <div class="back"> - <a href="/downloads/buildroot-2017.08-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2017.08-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a> </div> </div> </div> - <h3><a href="/downloads/buildroot-2017.08-rc1.tar.gz">buildroot-2017.08-rc1.tar.gz</a></h3> - <p><a href="/downloads/buildroot-2017.08-rc1.tar.gz.sign">PGP signature</a></p> + <h3><a href="/downloads/buildroot-2017.08-rc3.tar.gz">buildroot-2017.08-rc3.tar.gz</a></h3> + <p><a href="/downloads/buildroot-2017.08-rc3.tar.gz.sign">PGP signature</a></p> </div> <div class="col-sm-6"> <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');"> <div class="flipper"> <div class="front"> - <a href="/downloads/buildroot-2017.08-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2017.08-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a> </div> <div class="back"> - <a href="/downloads/buildroot-2017.08-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2017.08-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a> </div> </div> </div> - <h3><a href="/downloads/buildroot-2017.08-rc1.tar.bz2">buildroot-2017.08-rc1.tar.bz2</a></h3> - <p><a href="/downloads/buildroot-2017.08-rc1.tar.bz2.sign">PGP signature</a></p> + <h3><a href="/downloads/buildroot-2017.08-rc3.tar.bz2">buildroot-2017.08-rc3.tar.bz2</a></h3> + <p><a href="/downloads/buildroot-2017.08-rc3.tar.bz2.sign">PGP signature</a></p> </div> </div> - +--> This and earlier releases (and their PGP signatures) can always be downloaded from <a href="/downloads/">http://buildroot.net/downloads/</a>. </div> diff --git a/docs/website/news.html b/docs/website/news.html index 09b4021a1b..ad02b76336 100644 --- a/docs/website/news.html +++ b/docs/website/news.html @@ -9,6 +9,74 @@ <h2>News</h2> <ul class="timeline"> + <li> + <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div> + <div class="timeline-panel"> + <div class="timeline-heading"> + <h4 class="timeline-title">2017.08 released</h4> + <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>1 September 2017</small></p> + </div> + <div class="timeline-body"> + <p>The stable 2017.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2017.08">CHANGES</a> + file for more details + and go to the <a href="/downloads/">downloads page</a> to pick up the + <a href="/downloads/buildroot-2017.08.tar.bz2">2017.08 release</a>.</p> + </div> + </div> + </li> + + <li class="timeline-inverted"> + <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div> + <div class="timeline-panel"> + <div class="timeline-heading"> + <h4 class="timeline-title">2017.08-rc3 released</h4> + <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>23 August 2017</small></p> + </div> + <div class="timeline-body"> + <p>Another release candidate, on the road to the final 2017.08 + release. A number of fixes and cleanups in various packages + and defconfigs. See + the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2017.08-rc3">CHANGES</a> + file for details. + </p> + + <p>Head to the <a href="/downloads/">downloads page</a> to pick up the + <a href="/downloads/buildroot-2017.08-rc3.tar.bz2">2017.08-rc3 + release candidate</a>, and report any + problems found to the + <a href="support.html">mailing list</a> or + <a href="https://bugs.buildroot.org">bug tracker</a>.</p> + </div> + </div> + </li> + + <li> + <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div> + <div class="timeline-panel"> + <div class="timeline-heading"> + <h4 class="timeline-title">2017.08-rc2 released</h4> + <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>11 August 2017</small></p> + </div> + <div class="timeline-body"> + <p>Another release candidate, on the road to the final 2017.08 + release. A number of fixes and cleanups in various packages + and defconfigs. See + the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2017.08-rc2">CHANGES</a> + file for details. + </p> + + <p>Head to the <a href="/downloads/">downloads page</a> to pick up the + <a href="/downloads/buildroot-2017.08-rc2.tar.bz2">2017.08-rc2 + release candidate</a>, and report any + problems found to the + <a href="support.html">mailing list</a> or + <a href="https://bugs.buildroot.org">bug tracker</a>.</p> + </div> + </div> + </li> + <li class="timeline-inverted"> <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div> <div class="timeline-panel"> diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk index fafe5b0e84..478cb0239b 100644 --- a/fs/iso9660/iso9660.mk +++ b/fs/iso9660/iso9660.mk @@ -40,6 +40,7 @@ define ROOTFS_ISO9660_CREATE_TEMPDIR $(RM) -rf $(ROOTFS_ISO9660_TARGET_DIR) mkdir -p $(ROOTFS_ISO9660_TARGET_DIR) endef +ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_CREATE_TEMPDIR else ROOTFS_ISO9660_TARGET_DIR = $(TARGET_DIR) endif diff --git a/linux/Config.in b/linux/Config.in index 00613b21a4..036799fc4e 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -26,7 +26,7 @@ choice prompt "Kernel version" config BR2_LINUX_KERNEL_LATEST_VERSION - bool "Latest version (4.12.5)" + bool "Latest version (4.12.10)" config BR2_LINUX_KERNEL_LATEST_CIP_VERSION bool "Latest CIP SLTS version (v4.4.75-cip6)" @@ -116,7 +116,7 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "4.12.5" if BR2_LINUX_KERNEL_LATEST_VERSION + default "4.12.10" if BR2_LINUX_KERNEL_LATEST_VERSION default "v4.4.75-cip6" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION diff --git a/linux/linux.mk b/linux/linux.mk index 032d64fc22..c7bf83a66a 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -31,6 +31,10 @@ LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL)) LINUX_SITE_METHOD = svn else ifeq ($(BR2_LINUX_KERNEL_LATEST_CIP_VERSION),y) LINUX_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/bwh/linux-cip.git +else ifneq ($(findstring -rc,$(LINUX_VERSION)),) +# Since 4.12-rc1, -rc kernels are generated from cgit. This also works for +# older -rc kernels. +LINUX_SITE = https://git.kernel.org/torvalds/t else LINUX_SOURCE = linux-$(LINUX_VERSION).tar.xz # In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order @@ -43,10 +47,6 @@ LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x else ifeq ($(findstring x4.,x$(LINUX_VERSION)),x4.) LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x endif -# release candidates are in testing/ subdir -ifneq ($(findstring -rc,$(LINUX_VERSION)),) -LINUX_SITE := $(LINUX_SITE)/testing -endif # -rc endif ifeq ($(BR2_LINUX_KERNEL)$(BR2_LINUX_KERNEL_LATEST_VERSION),y) diff --git a/package/Config.in b/package/Config.in index 7ac29fd079..2f7042a1b4 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2,11 +2,11 @@ menu "Target packages" source "package/busybox/Config.in" source "package/skeleton/Config.in" - source "package/skeleton-common/Config.in" source "package/skeleton-custom/Config.in" - source "package/skeleton-none/Config.in" - source "package/skeleton-systemd/Config.in" - source "package/skeleton-sysv/Config.in" + source "package/skeleton-init-common/Config.in" + source "package/skeleton-init-none/Config.in" + source "package/skeleton-init-systemd/Config.in" + source "package/skeleton-init-sysv/Config.in" menu "Audio and video applications" source "package/alsa-utils/Config.in" @@ -189,7 +189,6 @@ menu "Filesystem and flash utilities" source "package/mtools/Config.in" source "package/nfs-utils/Config.in" source "package/ntfs-3g/Config.in" - source "package/simicsfs/Config.in" source "package/sp-oops-extract/Config.in" source "package/squashfs/Config.in" source "package/sshfs/Config.in" diff --git a/package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch b/package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch new file mode 100644 index 0000000000..72646dda8d --- /dev/null +++ b/package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch @@ -0,0 +1,52 @@ +From da16e18f03fc63e1206b93d6a719b177d4f4bb99 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Fri, 11 Aug 2017 22:33:01 +0200 +Subject: [PATCH] src/rawmidi/rawmidi_symbols.c: use rawmidi_virt only when + available + +src/rawmidi/Makefile.am only brings rawmidi_virt.c into the build when +BUILD_SEQ is defined (i.e when --enable-seq is passed). However, +rawmidi_symbols.c unconditionally refers to _snd_module_rawmidi_virt, +defined in rawmidi_virt.c. + +This causes a link failure when BUILD_SEQ is disabled. For example +when linking ffmpeg against alsa-lib: + +/home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libasound.a(pcm_dmix.o): In function `snd_pcm_dmix_sync_ptr': +pcm_dmix.c:(.text+0x83c): warning: +/home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libasound.a(rawmidi_symbols.o):(.data+0x4): undefined reference to `_snd_module_rawmidi_virt' +collect2: error: ld returned 1 exit status + +To fix this, we make sure that rawmidi_symbols.c only uses +_snd_module_rawmidi_virt when available. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Patch sent upstream: https://www.spinics.net/lists/alsa-devel/msg65902.html +--- + src/rawmidi/rawmidi_symbols.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/rawmidi/rawmidi_symbols.c b/src/rawmidi/rawmidi_symbols.c +index cdc06d7..6473433 100644 +--- a/src/rawmidi/rawmidi_symbols.c ++++ b/src/rawmidi/rawmidi_symbols.c +@@ -21,11 +21,15 @@ + #ifndef PIC + + extern const char *_snd_module_rawmidi_hw; ++#ifdef BUILD_SEQ + extern const char *_snd_module_rawmidi_virt; ++#endif + + static const char **snd_rawmidi_open_objects[] = { + &_snd_module_rawmidi_hw, ++#ifdef BUILD_SEQ + &_snd_module_rawmidi_virt ++#endif + }; + + void *snd_rawmidi_open_symbols(void) +-- +2.9.4 + diff --git a/package/alsa-utils/Config.in b/package/alsa-utils/Config.in index d3fd18d500..1a48fc0315 100644 --- a/package/alsa-utils/Config.in +++ b/package/alsa-utils/Config.in @@ -49,7 +49,6 @@ config BR2_PACKAGE_ALSA_UTILS_ALSATPLG config BR2_PACKAGE_ALSA_UTILS_AMIDI bool "amidi" select BR2_PACKAGE_ALSA_LIB_RAWMIDI - select BR2_PACKAGE_ALSA_LIB_SEQ config BR2_PACKAGE_ALSA_UTILS_AMIXER bool "amixer" diff --git a/package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch b/package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch new file mode 100644 index 0000000000..3b90289c88 --- /dev/null +++ b/package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch @@ -0,0 +1,35 @@ +From 6bd1b4958e949d83468e053c34bf6c89d14d687a Mon Sep 17 00:00:00 2001 +From: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be> +Date: Fri, 25 Aug 2017 23:01:14 +0200 +Subject: [PATCH] eibd: drop local clock_gettime in USB backends + +clock_gettime is defined locally, and calls pth_int_time, which +in turn calls clock_gettime. +The USB backend shouldn't overrule clock_gettime in the first place. +This patch fixes this endless recursion by removing the local defition. + +Signed-off-by: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be> +--- + eibd/usb/linux_usbfs.c | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/eibd/usb/linux_usbfs.c b/eibd/usb/linux_usbfs.c +index c3ec410..957b908 100644 +--- a/eibd/usb/linux_usbfs.c ++++ b/eibd/usb/linux_usbfs.c +@@ -52,12 +52,6 @@ int pthread_mutex_trylock(pthread_mutex_t *mutex) + return 0; + } + +-int clock_gettime(clockid_t clk_id, struct timespec *tp) +-{ +- pth_int_time (tp); +- return 0; +-} +- + /* sysfs vs usbfs: + * opening a usbfs node causes the device to be resumed, so we attempt to + * avoid this during enumeration. +-- +1.8.5.rc3 + diff --git a/package/cc-tool/0003-Makefile.am-do-not-overwrite-LIBS.patch b/package/cc-tool/0003-Makefile.am-do-not-overwrite-LIBS.patch new file mode 100644 index 0000000000..31a64caec9 --- /dev/null +++ b/package/cc-tool/0003-Makefile.am-do-not-overwrite-LIBS.patch @@ -0,0 +1,50 @@ +From af3098e05535ddb93bb065770d87738e46089efc Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sun, 20 Aug 2017 15:06:01 +0200 +Subject: [PATCH] Makefile.am: do not overwrite LIBS + +LIBS is meant to be passed on the command line with additional +libraries, it should not be overwritten by Makefile.am. + +Instead: + + - Use LDADD to link with external libraries + + - Use <target>_LDFLAGS for additional, non-libraries, linker flags + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Upstream: https://github.com/dashesy/cc-tool/commit/553f9c601646af0c6e3f6150d0fa3bc63ff56416 +--- + Makefile.am | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index e79e47b..ed83d91 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -10,14 +10,12 @@ AM_LDFLAGS = \ + + # $(BOOST_THREADS_LDFLAGS) + +-LDADD = $(LIBUSB_LIBS) +- +-LIBS = -s \ ++LDADD = $(LIBUSB_LIBS) \ + $(BOOST_FILESYSTEM_LIBS) \ + $(BOOST_REGEX_LIBS) \ + $(BOOST_SYSTEM_LIBS) \ + $(BOOST_PROGRAM_OPTIONS_LIBS) +- ++ + # $(BOOST_THREADS_LIBS) + + bin_PROGRAMS=cc-tool +@@ -30,4 +28,4 @@ cc_tool_SOURCES=src/main.cpp src/application/cc_flasher.cpp src/application/cc_b + src/programmer/cc_253x_254x.cpp src/programmer/cc_251x_111x.cpp \ + src/programmer/cc_243x.cpp src/programmer/cc_programmer.cpp \ + src/programmer/cc_unit_driver.cpp src/programmer/cc_unit_info.cpp +- ++cc_tool_LDFLAGS=-s +-- +2.9.4 + diff --git a/package/cc-tool/0004-m4-boost.m4-fix-rpath-option-check-for-static-linkin.patch b/package/cc-tool/0004-m4-boost.m4-fix-rpath-option-check-for-static-linkin.patch new file mode 100644 index 0000000000..acff107438 --- /dev/null +++ b/package/cc-tool/0004-m4-boost.m4-fix-rpath-option-check-for-static-linkin.patch @@ -0,0 +1,44 @@ +From 5e74a15ce1e093b4d8e83cdade60a43b09d698de Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sun, 20 Aug 2017 15:25:06 +0200 +Subject: [PATCH] m4/boost.m4: fix rpath option check for static linking + +When statically linking, the order in which -l options are passed is +important. The contents of the LIBS option passed to the configure +environment should be passed *after* other -l options used internally +by the package. + +For example, libboost_program_options may used symbols from the +libatomic library, and in this case, one need to pass LIBS="-latomic" +to cc-tool's configure script. When using dynamic linking, this works +fine, because the rpath test does "-latomic +-lboost_program_options". However, when statically linking, this +doesn't work because libboost_program_options uses symbols from +libatomic, so -latomic must be passed *after* -lboost_program_options. + +Therefore, this commit inverts the list of variables used to construct +LIBS before doing the _BOOST_AC_LINK_IFELSE() test detecting the rpath +option to be used. Indeed, $boost_save_LIBS contains the previously +saved LIBS variable, and should be passed after $Boost_lib_LIBS. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + m4/boost.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/m4/boost.m4 b/m4/boost.m4 +index be470a7..f1825ba 100644 +--- a/m4/boost.m4 ++++ b/m4/boost.m4 +@@ -479,7 +479,7 @@ dnl generated only once above (before we start the for loops). + *) + for boost_cv_rpath_link_ldflag in -Wl,-R, -Wl,-rpath,; do + LDFLAGS="$boost_save_LDFLAGS -L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath" +- LIBS="$boost_save_LIBS $Boost_lib_LIBS" ++ LIBS="$Boost_lib_LIBS $boost_save_LIBS" + _BOOST_AC_LINK_IFELSE([], + [boost_rpath_link_ldflag_found=yes + break], +-- +2.9.4 + diff --git a/package/cc-tool/cc-tool.mk b/package/cc-tool/cc-tool.mk index 37ac57e497..e170e06a21 100644 --- a/package/cc-tool/cc-tool.mk +++ b/package/cc-tool/cc-tool.mk @@ -16,15 +16,16 @@ CC_TOOL_AUTORECONF = YES # Configure script "discovers" boost in /usr/local if not given explicitly CC_TOOL_CONF_OPTS = --with-boost=$(STAGING_DIR)/usr +CC_TOOL_CONF_ENV = LIBS="$(CC_TOOL_LIBS)" # Help boost.m4 find the Boost Regex library, which needs the pthread # library, but isn't detected using a modern (pkg-config) mechanism. ifeq ($(BR2_STATIC_LIBS),y) -CC_TOOL_CONF_ENV += LIBS="-lpthread" +CC_TOOL_LIBS += -lpthread endif ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -CC_TOOL_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -latomic" +CC_TOOL_LIBS += -latomic endif $(eval $(autotools-package)) diff --git a/package/connman/connman.hash b/package/connman/connman.hash index e6485b93a6..c822bb1fe4 100644 --- a/package/connman/connman.hash +++ b/package/connman/connman.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/network/connman/sha256sums.asc -sha256 a9a0808c729c1f348fc36d8cecb52d19b72bc34cb411c502608cb0e0190fc71e connman-1.34.tar.xz +sha256 66d7deb98371545c6e417239a9b3b3e3201c1529d08eedf40afbc859842cf2aa connman-1.35.tar.xz diff --git a/package/connman/connman.mk b/package/connman/connman.mk index 4c19b4b98a..52c45451d9 100644 --- a/package/connman/connman.mk +++ b/package/connman/connman.mk @@ -4,7 +4,7 @@ # ################################################################################ -CONNMAN_VERSION = 1.34 +CONNMAN_VERSION = 1.35 CONNMAN_SOURCE = connman-$(CONNMAN_VERSION).tar.xz CONNMAN_SITE = $(BR2_KERNEL_MIRROR)/linux/network/connman CONNMAN_DEPENDENCIES = libglib2 dbus iptables diff --git a/package/dbus-cpp/0003-src-pipe.c-fix-build-error-with-gcc-7.x.patch b/package/dbus-cpp/0003-src-pipe.c-fix-build-error-with-gcc-7.x.patch new file mode 100644 index 0000000000..6f3e6242c7 --- /dev/null +++ b/package/dbus-cpp/0003-src-pipe.c-fix-build-error-with-gcc-7.x.patch @@ -0,0 +1,36 @@ +From 167042116f523f90911f3a28c4ec065918d56cc9 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Tue, 22 Aug 2017 00:02:52 +0200 +Subject: [PATCH] src/pipe.c: fix build error with gcc 7.x +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The write function takes a char* as argument, not a char. + +Fixes: + +pipe.cpp: In member function ‘void DBus::Pipe::signal()’: +pipe.cpp:86:29: error: invalid conversion from ‘char’ to ‘const void*’ [-fpermissive] + ::write(_fd_write, '\0', 1); + ^ + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + src/pipe.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/pipe.cpp b/src/pipe.cpp +index 01211b3..d0572c7 100644 +--- a/src/pipe.cpp ++++ b/src/pipe.cpp +@@ -83,5 +83,5 @@ ssize_t Pipe::read(void *buffer, unsigned int &nbytes) + void Pipe::signal() + { + // TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work... +- ::write(_fd_write, '\0', 1); ++ ::write(_fd_write, "\0", 1); + } +-- +2.9.4 + diff --git a/package/dialog/dialog.mk b/package/dialog/dialog.mk index 61ec2659a2..73fabe07cf 100644 --- a/package/dialog/dialog.mk +++ b/package/dialog/dialog.mk @@ -6,7 +6,7 @@ DIALOG_VERSION = 1.3-20170509 DIALOG_SOURCE = dialog-$(DIALOG_VERSION).tgz -DIALOG_SITE = ftp://invisible-island.net/dialog +DIALOG_SITE = ftp://ftp.invisible-island.net/dialog DIALOG_CONF_OPTS = --with-ncurses --with-curses-dir=$(STAGING_DIR)/usr \ --disable-rpath-hack DIALOG_DEPENDENCIES = host-pkgconf ncurses diff --git a/package/dnsmasq/dnsmasq.mk b/package/dnsmasq/dnsmasq.mk index 00a59dac01..63295ce410 100644 --- a/package/dnsmasq/dnsmasq.mk +++ b/package/dnsmasq/dnsmasq.mk @@ -35,7 +35,7 @@ ifeq ($(BR2_PACKAGE_DNSMASQ_IDN),y) DNSMASQ_DEPENDENCIES += libidn $(TARGET_NLS_DEPENDENCIES) DNSMASQ_MAKE_OPTS += LIBS+=$(TARGET_NLS_LIBS) DNSMASQ_COPTS += -DHAVE_IDN -DNSMASQ_I18N = $(if $(BR2_ENABLE_LOCALE),-i18n) +DNSMASQ_I18N = $(if $(BR2_SYSTEM_ENABLE_NLS),-i18n) endif ifeq ($(BR2_PACKAGE_DNSMASQ_CONNTRACK),y) diff --git a/package/e2fsprogs/0002-include-sys-sysmacros.h-as-needed.patch b/package/e2fsprogs/0002-include-sys-sysmacros.h-as-needed.patch new file mode 100644 index 0000000000..c58fcb3217 --- /dev/null +++ b/package/e2fsprogs/0002-include-sys-sysmacros.h-as-needed.patch @@ -0,0 +1,129 @@ +From 3fb715b55426875902dfef3056b2cf7335953178 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Fri, 19 May 2017 13:25:59 -0400 +Subject: [PATCH] include sys/sysmacros.h as needed + +The minor/major/makedev macros are not entirely standard. glibc has had +the definitions in sys/sysmacros.h since the start, and wants to move away +from always defining them implicitly via sys/types.h (as this pollutes the +namespace in violation of POSIX). Other C libraries have already dropped +them. Since the configure script already checks for this header, use that +to pull in the header in files that use these macros. + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +Signed-off-by: Theodore Ts'o <tytso@mit.edu> + +Upstream commit 3fb715b55426875902dfef3056b2cf7335953178 +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> +--- + debugfs/debugfs.c | 3 +++ + lib/blkid/devname.c | 3 +++ + lib/blkid/devno.c | 3 +++ + lib/ext2fs/finddev.c | 3 +++ + lib/ext2fs/ismounted.c | 3 +++ + misc/create_inode.c | 4 ++++ + misc/mk_hugefiles.c | 3 +++ + 7 files changed, 22 insertions(+) + +diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c +index 059ddc39..453f5b52 100644 +--- a/debugfs/debugfs.c ++++ b/debugfs/debugfs.c +@@ -26,6 +26,9 @@ extern char *optarg; + #include <errno.h> + #endif + #include <fcntl.h> ++#ifdef HAVE_SYS_SYSMACROS_H ++#include <sys/sysmacros.h> ++#endif + + #include "debugfs.h" + #include "uuid/uuid.h" +diff --git a/lib/blkid/devname.c b/lib/blkid/devname.c +index 3e2efa9d..671e781f 100644 +--- a/lib/blkid/devname.c ++++ b/lib/blkid/devname.c +@@ -36,6 +36,9 @@ + #if HAVE_SYS_MKDEV_H + #include <sys/mkdev.h> + #endif ++#ifdef HAVE_SYS_SYSMACROS_H ++#include <sys/sysmacros.h> ++#endif + #include <time.h> + + #include "blkidP.h" +diff --git a/lib/blkid/devno.c b/lib/blkid/devno.c +index aa6eb907..480030f2 100644 +--- a/lib/blkid/devno.c ++++ b/lib/blkid/devno.c +@@ -31,6 +31,9 @@ + #if HAVE_SYS_MKDEV_H + #include <sys/mkdev.h> + #endif ++#ifdef HAVE_SYS_SYSMACROS_H ++#include <sys/sysmacros.h> ++#endif + + #include "blkidP.h" + +diff --git a/lib/ext2fs/finddev.c b/lib/ext2fs/finddev.c +index 311608de..62fa0dbe 100644 +--- a/lib/ext2fs/finddev.c ++++ b/lib/ext2fs/finddev.c +@@ -31,6 +31,9 @@ + #if HAVE_SYS_MKDEV_H + #include <sys/mkdev.h> + #endif ++#ifdef HAVE_SYS_SYSMACROS_H ++#include <sys/sysmacros.h> ++#endif + + #include "ext2_fs.h" + #include "ext2fs.h" +diff --git a/lib/ext2fs/ismounted.c b/lib/ext2fs/ismounted.c +index bcac0f15..7d524715 100644 +--- a/lib/ext2fs/ismounted.c ++++ b/lib/ext2fs/ismounted.c +@@ -49,6 +49,9 @@ + #if HAVE_SYS_TYPES_H + #include <sys/types.h> + #endif ++#ifdef HAVE_SYS_SYSMACROS_H ++#include <sys/sysmacros.h> ++#endif + + #include "ext2_fs.h" + #include "ext2fs.h" +diff --git a/misc/create_inode.c b/misc/create_inode.c +index ae22ff6f..8ce3fafa 100644 +--- a/misc/create_inode.c ++++ b/misc/create_inode.c +@@ -22,6 +22,10 @@ + #include <attr/xattr.h> + #endif + #include <sys/ioctl.h> ++#ifdef HAVE_SYS_SYSMACROS_H ++#include <sys/sysmacros.h> ++#endif ++ + #include <ext2fs/ext2fs.h> + #include <ext2fs/ext2_types.h> + #include <ext2fs/fiemap.h> +diff --git a/misc/mk_hugefiles.c b/misc/mk_hugefiles.c +index 049c6f41..5882394d 100644 +--- a/misc/mk_hugefiles.c ++++ b/misc/mk_hugefiles.c +@@ -35,6 +35,9 @@ extern int optind; + #include <sys/ioctl.h> + #include <sys/types.h> + #include <sys/stat.h> ++#ifdef HAVE_SYS_SYSMACROS_H ++#include <sys/sysmacros.h> ++#endif + #include <libgen.h> + #include <limits.h> + #include <blkid/blkid.h> +-- +2.13.3 + diff --git a/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch b/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch new file mode 100644 index 0000000000..a27c4913fb --- /dev/null +++ b/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch @@ -0,0 +1,79 @@ +From b31e9b1bff6832063816b972395179859d1d4619 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sun, 13 Aug 2017 16:03:20 +0200 +Subject: [PATCH] ld-elf2flt: behave properly when called with a name different + from TARGET_ALIAS + +ld-elf2flt currently handles two cases: + + 1 It is called as the wrapper for <TARGET_ALIAS>-ld, generally + installed in the bin/ directory of a toolchain. + + 2 It is called as the wrapper for "ld", generally installed in the + TARGET_ALIAS/bin/ directory of a toolchain. + +Unfortunately, if for some reason it gets called using a FOOBAR-ld +name that is different from <TARGET_ALIAS>-ld, it assumes it is in +case (2), while it really is in case (1). Due to this, the path +mangling logic doesn't work, and it doesn't find ld.real. + +This happens for example when the binary program in bin/ is named +arm-buildroot-uclinux-uclibcgnueabi-ld, but also has a simpler symlink +named arm-linux-ld. In this case, +arm-buildroot-uclinux-uclibcgnueabi-ld is recognized by ld-elf2flt as +containing TARGET_ALIAS, and therefore the proper logic to find +ld.real is applied. However, when arm-linux-ld is used, ld-elf2flt +doesn't find TARGET_ALIAS, and therefore assumes we're being called as +TARGET_ALIAS/bin/ld.. and searches for a program called ld.real in +bin/, which doesn't exist. + +See: + +$ ./output/host/bin/arm-buildroot-uclinux-uclibcgnueabi-ld +/home/thomas/buildroot/buildroot/output/host/bin/../arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: no input files + +$ ./output/host/bin/arm-linux-ld +arm-linux-ld (ld-elf2flt): error trying to exec '/home/thomas/buildroot/buildroot/output/host/bin/ld.real': execvp: No such file or directory + +$ ./output/host/arm-buildroot-uclinux-uclibcgnueabi/bin/ld +/home/thomas/buildroot/buildroot/output/host/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: no input files + +This commit fixes that by inverting the logic: if we're being called +as just "ld", then we assume it's the program in +TARGET_ALIAS/bin/. Otherwise, we're called through some variant of +TARGET-ld. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Submitted-upstream: https://github.com/uclinux-dev/elf2flt/pull/8 +--- + ld-elf2flt.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/ld-elf2flt.c b/ld-elf2flt.c +index de39fe0..c187c2e 100644 +--- a/ld-elf2flt.c ++++ b/ld-elf2flt.c +@@ -506,15 +506,15 @@ int main(int argc, char *argv[]) + the host while those in <TARGET_ALIAS>/lib are for the target. + Make bindir point to the bin dir for bin/<TARGET_ALIAS>-foo. + Make tooldir point to the bin dir for <TARGET_ALIAS>/bin/foo. */ +- if (streqn(elf2flt_progname, TARGET_ALIAS)) { +- tmp = concat(argv0_dir, "../" TARGET_ALIAS "/bin", NULL); ++ if (streqn(elf2flt_progname, "ld")) { ++ tmp = concat(argv0_dir, "../../bin", NULL); + if (stat(tmp, &buf) == 0 && S_ISDIR(buf.st_mode)) { +- tooldir = concat(tmp, "/", NULL); ++ bindir = concat(tmp, "/", NULL); + } + } else { +- tmp = concat(argv0_dir, "../../bin", NULL); ++ tmp = concat(argv0_dir, "../" TARGET_ALIAS "/bin", NULL); + if (stat(tmp, &buf) == 0 && S_ISDIR(buf.st_mode)) { +- bindir = concat(tmp, "/", NULL); ++ tooldir = concat(tmp, "/", NULL); + } + } + +-- +2.9.4 + diff --git a/package/erlang-p1-xml/erlang-p1-xml.mk b/package/erlang-p1-xml/erlang-p1-xml.mk index 0b0b1caaee..58ba3cbdeb 100644 --- a/package/erlang-p1-xml/erlang-p1-xml.mk +++ b/package/erlang-p1-xml/erlang-p1-xml.mk @@ -9,7 +9,7 @@ ERLANG_P1_XML_SITE = $(call github,processone,fast_xml,$(ERLANG_P1_XML_VERSION)) ERLANG_P1_XML_LICENSE = Apache-2.0 ERLANG_P1_XML_LICENSE_FILES = LICENSE.txt ERLANG_P1_XML_DEPENDENCIES = expat erlang-p1-utils -ERLANG_P1_XML_HOST_DEPENDENCIES = host-expat host-erlang-p1-utils +HOST_ERLANG_P1_XML_DEPENDENCIES = host-expat host-erlang-p1-utils ERLANG_P1_XML_INSTALL_STAGING = YES ERLANG_P1_XML_USE_AUTOCONF = YES diff --git a/package/faad2/0001-getopt-fix-strncmp-declaration.patch b/package/faad2/0001-getopt-fix-strncmp-declaration.patch new file mode 100644 index 0000000000..0e5f27e52a --- /dev/null +++ b/package/faad2/0001-getopt-fix-strncmp-declaration.patch @@ -0,0 +1,40 @@ +From 6787914efad562e4097a153988109c5c7158abf7 Mon Sep 17 00:00:00 2001 +From: Baruch Siach <baruch@tkos.co.il> +Date: Wed, 16 Aug 2017 13:35:57 +0300 +Subject: [PATCH] getopt: fix strncmp() declaration + +The strncmp() declaration does not conform with the standard as to the +type of the 'n' parameter. Fix this to avoid the following build failure +with musl libc: + +n file included from main.c:61:0: +getopt.c:175:13: error: conflicting types for 'strncmp' + extern int strncmp(const char *s1, const char *s2, unsigned int n); + ^~~~~~~ +In file included from main.c:49:0: +.../host/x86_64-buildroot-linux-musl/sysroot/usr/include/string.h:38:5: note: previous declaration of 'strncmp' was here + int strncmp (const char *, const char *, size_t); + ^~~~~~~ +Signed-off-by: Baruch Siach <baruch@tkos.co.il> +--- +Upstream status: https://sourceforge.net/p/faac/bugs/217/ + + frontend/getopt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/frontend/getopt.c b/frontend/getopt.c +index 185d49b804dd..40c7a2242551 100644 +--- a/frontend/getopt.c ++++ b/frontend/getopt.c +@@ -172,7 +172,7 @@ static enum + #if __STDC__ || defined(PROTO) + extern char *getenv(const char *name); + extern int strcmp (const char *s1, const char *s2); +-extern int strncmp(const char *s1, const char *s2, unsigned int n); ++extern int strncmp(const char *s1, const char *s2, size_t n); + + static int my_strlen(const char *s); + static char *my_index (const char *str, int chr); +-- +2.14.1 + diff --git a/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch b/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch new file mode 100644 index 0000000000..3bb4f9701f --- /dev/null +++ b/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch @@ -0,0 +1,46 @@ +From a853f21633693f9eefc4949660253a5328d2d2f3 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" <yann.morin.1998@free.fr> +Date: Sun, 13 Aug 2017 23:21:54 +0200 +Subject: [PATCH 1/1] communicate: check return status of msgrcv() + +msgrcv can return with -1 to indicate an error condition. +One such error is to have been interrupted by a signal. + +Being interrupted by a signal is very rare in this code, except in a +very special condition: a highly-parallel (1000 jobs!) mksquashfs on +a filesystem with extended attributes, where we see errors like (those +are mksquashfs errors): + llistxattr for titi/603/883 failed in read_attrs, because Unknown + error 1716527536 + +See: https://bugs.busybox.net/show_bug.cgi?id=10141 + +In this case, we just have to retry the call to msgrcv(). + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> +--- + communicate.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/communicate.c b/communicate.c +index 293f404..787bb63 100644 +--- a/communicate.c ++++ b/communicate.c +@@ -553,10 +553,13 @@ void send_get_fakem(struct fake_msg *buf) + l=msgrcv(msg_get, + (struct my_msgbuf*)buf, + sizeof(*buf)-sizeof(buf->mtype),0,0); +- while((buf->serial!=serial)||buf->pid!=pid); ++ while(((l==-1)&&(errno==EINTR))||(buf->serial!=serial)||buf->pid!=pid); + + semaphore_down(); + ++ if(l==-1) ++ buf->xattr.flags_rc=errno; ++ + /* + (nah, may be wrong, due to allignment) + +-- +2.11.0 + diff --git a/package/gcc/7.1.0/0100-uclibc-conf.patch b/package/gcc/7.2.0/0100-uclibc-conf.patch index d354baf81f..d354baf81f 100644 --- a/package/gcc/7.1.0/0100-uclibc-conf.patch +++ b/package/gcc/7.2.0/0100-uclibc-conf.patch diff --git a/package/gcc/7.1.0/0810-arm-softfloat-libgcc.patch b/package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch index 63880dd091..63880dd091 100644 --- a/package/gcc/7.1.0/0810-arm-softfloat-libgcc.patch +++ b/package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch diff --git a/package/gcc/7.1.0/0860-cilk-fix-build-without-wchar.patch b/package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch index 61ab01c713..61ab01c713 100644 --- a/package/gcc/7.1.0/0860-cilk-fix-build-without-wchar.patch +++ b/package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch diff --git a/package/gcc/7.1.0/0891-fix-m68k-uclinux.patch b/package/gcc/7.2.0/0891-fix-m68k-uclinux.patch index e84fd92453..e84fd92453 100644 --- a/package/gcc/7.1.0/0891-fix-m68k-uclinux.patch +++ b/package/gcc/7.2.0/0891-fix-m68k-uclinux.patch diff --git a/package/gcc/7.1.0/0892-microblaze-Revert.patch b/package/gcc/7.2.0/0892-microblaze-Revert.patch index 7026d0efe1..7026d0efe1 100644 --- a/package/gcc/7.1.0/0892-microblaze-Revert.patch +++ b/package/gcc/7.2.0/0892-microblaze-Revert.patch diff --git a/package/gcc/7.1.0/0900-remove-selftests.patch b/package/gcc/7.2.0/0900-remove-selftests.patch index a3bc7a5730..a3bc7a5730 100644 --- a/package/gcc/7.1.0/0900-remove-selftests.patch +++ b/package/gcc/7.2.0/0900-remove-selftests.patch diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index a2e02d7aed..ec7b6924ee 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -39,7 +39,6 @@ config BR2_GCC_VERSION_4_9_X depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le)) # musl mips64 unsupported depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el)) - # PR60102 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_GCC_VERSION_5_X @@ -51,8 +50,7 @@ config BR2_GCC_VERSION_5_X # musl ppc64 unsupported depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le)) # Unsupported MIPS cores - depends on !BR2_mips_interaptiv && !BR2_mips_m5150 && \ - !BR2_mips_m6250 && !BR2_mips_i6400 && !BR2_mips_p6600 + depends on !BR2_mips_interaptiv && !BR2_mips_m5150 && !BR2_mips_i6400 # musl mips64 unsupported depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el)) select BR2_TOOLCHAIN_GCC_AT_LEAST_5 @@ -62,8 +60,6 @@ config BR2_GCC_VERSION_6_X # Broken or unsupported architectures depends on !BR2_arc depends on !BR2_or1k - # Unsupported MIPS cores - depends on !BR2_mips_m6250 && !BR2_mips_p6600 select BR2_TOOLCHAIN_GCC_AT_LEAST_6 config BR2_GCC_VERSION_7_X @@ -71,8 +67,6 @@ config BR2_GCC_VERSION_7_X # Broken or unsupported architectures depends on !BR2_arc depends on !BR2_or1k - # Unsupported MIPS cores - depends on !BR2_mips_m6250 && !BR2_mips_p6600 select BR2_TOOLCHAIN_GCC_AT_LEAST_7 endchoice @@ -93,7 +87,7 @@ config BR2_GCC_VERSION default "4.9.4" if BR2_GCC_VERSION_4_9_X default "5.4.0" if BR2_GCC_VERSION_5_X default "6.4.0" if BR2_GCC_VERSION_6_X - default "7.1.0" if BR2_GCC_VERSION_7_X + default "7.2.0" if BR2_GCC_VERSION_7_X default "arc-2017.03" if BR2_GCC_VERSION_ARC default "musl-5.4.0" if BR2_GCC_VERSION_OR1K diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk index 8ca9847ed9..213f3d7b66 100644 --- a/package/gcc/gcc-final/gcc-final.mk +++ b/package/gcc/gcc-final/gcc-final.mk @@ -78,6 +78,11 @@ ifeq ($(BR2_bfin),y) HOST_GCC_FINAL_CONF_OPTS += --disable-symvers endif +# libcilkrts does not support v8 +ifeq ($(BR2_sparc),y) +HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts +endif + # Disable shared libs like libstdc++ if we do static since it confuses linking # In that case also disable libcilkrts as there is no static version ifeq ($(BR2_STATIC_LIBS),y) diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index c3e5ffb4b1..f35a2e2b55 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -4,8 +4,8 @@ sha512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683 sha512 2941cc950c8f2409a314df497631f9b0266211aa74746c1839c46e04f1c7c299afe2528d1ef16ea39def408a644ba48f97519ec7a7dd37d260c3e9423514265b gcc-5.4.0.tar.bz2 # From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.4.0/sha512.sum sha512 02c60e54527c7adf584798d5251f8a0b80c93d5deafce82501b2c28e6692e0bd783927bbfc4bc527a863c0cccc025150a34740a9e29badb02d4b48e56a8aba90 gcc-6.4.0.tar.xz -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.1.0/sha512.sum -sha512 b5d952be9a10f0e0926bb2868877d10544039d6d2f35ba0a08f51231dd622a007650764a03e173194701467547789ad7d2d9cbc10adcdf118d619cdedbd14aec gcc-7.1.0.tar.bz2 +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.2.0/sha512.sum +sha512 f853cd6530b4055d8d8289da74687cb4c6d5f363598d386332d31852b581bac76c3adb7d61889edec3b779f63d8646f0122840f12965ce4a4389ba535dbbb6e1 gcc-7.2.0.tar.xz # Locally calculated (fetched from Github) sha512 282f76b8b63372f5b4426092b80d36da96cd0bda2a8588405b9ec22806c69fafb696b0e0df65bc36c3c3aa8ce5befc24246fd5c6ddb21dcde01f45f7b11ff7c4 gcc-arc-2017.03.tar.gz diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index 6ee840e3b9..49ccccf56f 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -18,9 +18,9 @@ GCC_SITE = $(call github,openrisc,or1k-gcc,$(GCC_VERSION)) GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz else GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(GCC_VERSION) -# From version 6.4.0 a bz2 release tarball is not provided anymore. Use the xz -# tarball instead. -ifeq ($(BR2_GCC_VERSION_6_X),y) +# From version 6.4.0 and 7.2.0 a bz2 release tarball is not provided +# anymore. Use the xz tarball instead. +ifeq ($(BR2_GCC_VERSION_6_X)$(BR2_GCC_VERSION_7_X),y) GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz else GCC_SOURCE = gcc-$(GCC_VERSION).tar.bz2 diff --git a/package/gdb/7.12.1/0006-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch b/package/gdb/7.12.1/0006-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch new file mode 100644 index 0000000000..4eb72e4084 --- /dev/null +++ b/package/gdb/7.12.1/0006-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch @@ -0,0 +1,41 @@ +From 09a2c3e0164545324a1ddee70f5c9fdee71e2079 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sun, 18 Jun 2017 23:09:43 +0200 +Subject: [PATCH] nat/linux-ptrace.c: add missing gdb_byte* cast + +On noMMU platforms, the following code gets compiled: + + child_stack = xmalloc (STACK_SIZE * 4); + +Where child_stack is a gdb_byte*, and xmalloc() returns a void*. While +the lack of cast is valid in C, it is not in C++, causing the +following build failure: + +../nat/linux-ptrace.c: In function 'int linux_fork_to_function(gdb_byte*, int (*)(void*))': +../nat/linux-ptrace.c:273:29: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive] + child_stack = xmalloc (STACK_SIZE * 4); + +Therefore, this commit adds the appropriate cast. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +[Upstream commit: ffce45d2243e5f52f411e314fc4e1a69f431a81f] +--- + gdb/nat/linux-ptrace.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c +index 3447e07..33833e2 100644 +--- a/gdb/nat/linux-ptrace.c ++++ b/gdb/nat/linux-ptrace.c +@@ -270,7 +270,7 @@ linux_fork_to_function (gdb_byte *child_stack, int (*function) (void *)) + #define STACK_SIZE 4096 + + if (child_stack == NULL) +- child_stack = xmalloc (STACK_SIZE * 4); ++ child_stack = (gdb_byte*) xmalloc (STACK_SIZE * 4); + + /* Use CLONE_VM instead of fork, to support uClinux (no MMU). */ + #ifdef __ia64__ +-- +2.9.4 + diff --git a/package/gdb/8.0/0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch b/package/gdb/8.0/0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch new file mode 100644 index 0000000000..4eb72e4084 --- /dev/null +++ b/package/gdb/8.0/0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch @@ -0,0 +1,41 @@ +From 09a2c3e0164545324a1ddee70f5c9fdee71e2079 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sun, 18 Jun 2017 23:09:43 +0200 +Subject: [PATCH] nat/linux-ptrace.c: add missing gdb_byte* cast + +On noMMU platforms, the following code gets compiled: + + child_stack = xmalloc (STACK_SIZE * 4); + +Where child_stack is a gdb_byte*, and xmalloc() returns a void*. While +the lack of cast is valid in C, it is not in C++, causing the +following build failure: + +../nat/linux-ptrace.c: In function 'int linux_fork_to_function(gdb_byte*, int (*)(void*))': +../nat/linux-ptrace.c:273:29: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive] + child_stack = xmalloc (STACK_SIZE * 4); + +Therefore, this commit adds the appropriate cast. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +[Upstream commit: ffce45d2243e5f52f411e314fc4e1a69f431a81f] +--- + gdb/nat/linux-ptrace.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c +index 3447e07..33833e2 100644 +--- a/gdb/nat/linux-ptrace.c ++++ b/gdb/nat/linux-ptrace.c +@@ -270,7 +270,7 @@ linux_fork_to_function (gdb_byte *child_stack, int (*function) (void *)) + #define STACK_SIZE 4096 + + if (child_stack == NULL) +- child_stack = xmalloc (STACK_SIZE * 4); ++ child_stack = (gdb_byte*) xmalloc (STACK_SIZE * 4); + + /* Use CLONE_VM instead of fork, to support uClinux (no MMU). */ + #ifdef __ia64__ +-- +2.9.4 + diff --git a/package/git/git.hash b/package/git/git.hash index 66bb1367d5..8aa0503db1 100644 --- a/package/git/git.hash +++ b/package/git/git.hash @@ -1,4 +1,4 @@ # From: https://www.kernel.org/pub/software/scm/git/sha256sums.asc -sha256 91aa23be428f67eb19616f43fa0229d567e9acf4f08fba33eb0b627e4d323e62 git-2.13.3.tar.xz +sha256 21c9e29caac86d244ac7af78bc3422746dabb903cb3952a1ceefd801020ad1a1 git-2.13.5.tar.xz sha256 5b2198d1645f767585e8a88ac0499b04472164c0d2da22e75ecf97ef443ab32e COPYING sha256 1922f45d2c49e390032c9c0ba6d7cac904087f7cec51af30c2b2ad022ce0e76a LGPL-2.1 diff --git a/package/git/git.mk b/package/git/git.mk index d95c2fec36..fe4d553760 100644 --- a/package/git/git.mk +++ b/package/git/git.mk @@ -4,7 +4,7 @@ # ################################################################################ -GIT_VERSION = 2.13.3 +GIT_VERSION = 2.13.5 GIT_SOURCE = git-$(GIT_VERSION).tar.xz GIT_SITE = $(BR2_KERNEL_MIRROR)/software/scm/git GIT_LICENSE = GPL-2.0, LGPL-2.1+ diff --git a/package/glibc/0006-sh4-trap.patch b/package/glibc/0006-sh4-trap.patch new file mode 100644 index 0000000000..c986ac3192 --- /dev/null +++ b/package/glibc/0006-sh4-trap.patch @@ -0,0 +1,318 @@ +commit db3d848e154b00071f4a5e729d5884efad410109 +Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> +Date: Wed Mar 15 15:44:59 2017 -0300 + + Build divdi3 only for architecture that required it + + As noted in [1], divdi3 object is only exported in a handful ABIs + (i386, m68k, powerpc32, s390-32, and ia64), however it is built + for all current architectures regardless. + + This patch refact the make rules for this object to so only the + aforementioned architectures that actually require it builds it. + + Also, to avoid internal PLT calls to the exported symbol from the + module, glibc uses an internal header (symbol-hacks.h) which is + unrequired (and in fact breaks the build for architectures that + intend to get symbol definitions from libgcc.a). The patch also + changes it to create its own header (divdi3-symbol-hacks.h) and + adjust the architectures that require it accordingly. + + I checked the build/check (with run-built-tests=no) on the + following architectures (which I think must cover all supported + ABI/builds) using GCC 6.3: + + aarch64-linux-gnu + alpha-linux-gnu + arm-linux-gnueabihf + hppa-linux-gnu + ia64-linux-gnu + m68k-linux-gnu + microblaze-linux-gnu + mips64-n32-linux-gnu + mips-linux-gnu + mips64-linux-gnu + nios2-linux-gnu + powerpc-linux-gnu + powerpc-linux-gnu-power4 + powerpc64-linux-gnu + powerpc64le-linux-gnu + s390x-linux-gnu + s390-linux-gnu + sh4-linux-gnu + sh4-linux-gnu-soft + sparc64-linux-gnu + sparcv9-linux-gnu + tilegx-linux-gnu + tilegx-linux-gnu-32 + tilepro-linux-gnu + x86_64-linux-gnu + x86_64-linux-gnu-x32 + i686-linux-gnu + + I only saw one regression on sparcv9-linux-gnu (extra PLT call to + .udiv) which I address in next patch in the set. It also correctly + build SH with GCC 7.0.1 (without any regression from c89721e25d). + + [1] https://sourceware.org/ml/libc-alpha/2017-03/msg00243.html + +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> + +diff --git a/sysdeps/i386/symbol-hacks.h b/sysdeps/i386/symbol-hacks.h +new file mode 100644 +index 0000000000..36a13c83f7 +--- /dev/null ++++ b/sysdeps/i386/symbol-hacks.h +@@ -0,0 +1,21 @@ ++/* Hacks needed for symbol manipulation. i386 version. ++ Copyright (C) 2017 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <http://www.gnu.org/licenses/>. */ ++ ++#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h> ++ ++#include_next "symbol-hacks.h" +diff --git a/sysdeps/m68k/symbol-hacks.h b/sysdeps/m68k/symbol-hacks.h +new file mode 100644 +index 0000000000..e449d29810 +--- /dev/null ++++ b/sysdeps/m68k/symbol-hacks.h +@@ -0,0 +1,21 @@ ++/* Hacks needed for symbol manipulation. m68k version. ++ Copyright (C) 2017 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <http://www.gnu.org/licenses/>. */ ++ ++#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h> ++ ++#include_next "symbol-hacks.h" +diff --git a/sysdeps/powerpc/powerpc32/symbol-hacks.h b/sysdeps/powerpc/powerpc32/symbol-hacks.h +new file mode 100644 +index 0000000000..dbb3141621 +--- /dev/null ++++ b/sysdeps/powerpc/powerpc32/symbol-hacks.h +@@ -0,0 +1,21 @@ ++/* Hacks needed for symbol manipulation. powerpc version. ++ Copyright (C) 2017 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <http://www.gnu.org/licenses/>. */ ++ ++#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h> ++ ++#include_next "symbol-hacks.h" +diff --git a/sysdeps/s390/s390-32/symbol-hacks.h b/sysdeps/s390/s390-32/symbol-hacks.h +new file mode 100644 +index 0000000000..585c42365a +--- /dev/null ++++ b/sysdeps/s390/s390-32/symbol-hacks.h +@@ -0,0 +1,21 @@ ++/* Hacks needed for symbol manipulation. s390 version. ++ Copyright (C) 2017 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <http://www.gnu.org/licenses/>. */ ++ ++#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h> ++ ++#include_next "symbol-hacks.h" +diff --git a/sysdeps/unix/sysv/linux/i386/Makefile b/sysdeps/unix/sysv/linux/i386/Makefile +index 6aac0dfe15..4080b8c966 100644 +--- a/sysdeps/unix/sysv/linux/i386/Makefile ++++ b/sysdeps/unix/sysv/linux/i386/Makefile +@@ -26,6 +26,11 @@ endif + + ifeq ($(subdir),csu) + sysdep-dl-routines += sysdep ++ifeq (yes,$(build-shared)) ++sysdep_routines += divdi3 ++shared-only-routines += divdi3 ++CPPFLAGS-divdi3.c = -Din_divdi3_c ++endif + endif + + ifeq ($(subdir),nptl) +diff --git a/sysdeps/unix/sysv/linux/m68k/Makefile b/sysdeps/unix/sysv/linux/m68k/Makefile +index 5c50ce6927..ce1f696a6f 100644 +--- a/sysdeps/unix/sysv/linux/m68k/Makefile ++++ b/sysdeps/unix/sysv/linux/m68k/Makefile +@@ -4,6 +4,11 @@ m68k-syntax-flag = -DMOTOROLA_SYNTAX + + ifeq ($(subdir),csu) + sysdep_routines += m68k-helpers ++ifeq (yes,$(build-shared)) ++sysdep_routines += divdi3 ++shared-only-routines += divdi3 ++CPPFLAGS-divdi3.c = -Din_divdi3_c ++endif + endif + + ifeq ($(subdir),misc) +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile +index 3d6c150582..1f45659ed1 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile +@@ -1,2 +1,10 @@ + # See Makeconfig regarding the use of default-abi. + default-abi := 32 ++ ++ifeq ($(subdir),csu) ++ifeq (yes,$(build-shared)) ++sysdep_routines += divdi3 ++shared-only-routines += divdi3 ++CPPFLAGS-divdi3.c = -Din_divdi3_c ++endif ++endif +diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/Makefile b/sysdeps/unix/sysv/linux/s390/s390-32/Makefile +index da3b3c76b4..fd8cf92633 100644 +--- a/sysdeps/unix/sysv/linux/s390/s390-32/Makefile ++++ b/sysdeps/unix/sysv/linux/s390/s390-32/Makefile +@@ -21,3 +21,11 @@ endif + ifeq ($(subdir),stdlib) + sysdep_routines += __makecontext_ret + endif ++ ++ifeq ($(subdir),csu) ++ifeq (yes,$(build-shared)) ++sysdep_routines += divdi3 ++shared-only-routines += divdi3 ++CPPFLAGS-divdi3.c = -Din_divdi3_c ++endif ++endif +diff --git a/sysdeps/wordsize-32/Makefile b/sysdeps/wordsize-32/Makefile +deleted file mode 100644 +index 82beac44ed..0000000000 +--- a/sysdeps/wordsize-32/Makefile ++++ /dev/null +@@ -1,7 +0,0 @@ +-ifeq ($(subdir),csu) +-ifeq (yes,$(build-shared)) +-sysdep_routines += divdi3 +-shared-only-routines += divdi3 +-CPPFLAGS-divdi3.c = -Din_divdi3_c +-endif +-endif +diff --git a/sysdeps/wordsize-32/divdi3-symbol-hacks.h b/sysdeps/wordsize-32/divdi3-symbol-hacks.h +new file mode 100644 +index 0000000000..6c90cb796d +--- /dev/null ++++ b/sysdeps/wordsize-32/divdi3-symbol-hacks.h +@@ -0,0 +1,31 @@ ++/* Hacks needed for divdi3 symbol manipulation. ++ Copyright (C) 2004-2017 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <http://www.gnu.org/licenses/>. */ ++ ++/* A very dirty trick: gcc emits references to __divdi3, __udivdi3, ++ __moddi3, and __umoddi3. These functions are exported and ++ therefore we get PLTs. Unnecessarily so. Changing gcc is a big ++ task which might not be worth it so we play tricks with the ++ assembler. ++ Note: in_divdi3_c is only used to avoid symbol alias on divdi3 ++ build itself. */ ++#if !defined __ASSEMBLER__ && !defined in_divdi3_c && IS_IN (libc) && defined SHARED ++asm ("__divdi3 = __divdi3_internal"); ++asm ("__udivdi3 = __udivdi3_internal"); ++asm ("__moddi3 = __moddi3_internal"); ++asm ("__umoddi3 = __umoddi3_internal"); ++#endif +diff --git a/sysdeps/wordsize-32/symbol-hacks.h b/sysdeps/wordsize-32/symbol-hacks.h +deleted file mode 100644 +index 0aec1e0b97..0000000000 +--- a/sysdeps/wordsize-32/symbol-hacks.h ++++ /dev/null +@@ -1,31 +0,0 @@ +-/* Hacks needed for symbol manipulation. +- Copyright (C) 2004-2017 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, see +- <http://www.gnu.org/licenses/>. */ +- +-#include_next "symbol-hacks.h" +- +-/* A very dirty trick: gcc emits references to __divdi3, __udivdi3, +- __moddi3, and __umoddi3. These functions are exported and +- therefore we get PLTs. Unnecessarily so. Changing gcc is a big +- task which might not be worth it so we play tricks with the +- assembler. */ +-#if !defined __ASSEMBLER__ && !defined in_divdi3_c && IS_IN (libc) && defined SHARED +-asm ("__divdi3 = __divdi3_internal"); +-asm ("__udivdi3 = __udivdi3_internal"); +-asm ("__moddi3 = __moddi3_internal"); +-asm ("__umoddi3 = __umoddi3_internal"); +-#endif diff --git a/package/gnupg/gnupg.hash b/package/gnupg/gnupg.hash index 8968b00d2b..abd76cde9c 100644 --- a/package/gnupg/gnupg.hash +++ b/package/gnupg/gnupg.hash @@ -1,4 +1,3 @@ -# From https://lists.gnu.org/archive/html/info-gnu/2016-08/msg00008.html -sha1 e3bdb585026f752ae91360f45c28e76e4a15d338 gnupg-1.4.21.tar.bz2 -# Locally computed -sha256 6b47a3100c857dcab3c60e6152e56a997f2c7862c1b8b2b25adf3884a1ae2276 gnupg-1.4.21.tar.bz2 +# 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 diff --git a/package/gnupg/gnupg.mk b/package/gnupg/gnupg.mk index b3578b87df..0ed3e1e063 100644 --- a/package/gnupg/gnupg.mk +++ b/package/gnupg/gnupg.mk @@ -4,9 +4,9 @@ # ################################################################################ -GNUPG_VERSION = 1.4.21 +GNUPG_VERSION = 1.4.22 GNUPG_SOURCE = gnupg-$(GNUPG_VERSION).tar.bz2 -GNUPG_SITE = ftp://ftp.gnupg.org/gcrypt/gnupg +GNUPG_SITE = https://gnupg.org/ftp/gcrypt/gnupg GNUPG_LICENSE = GPL-3.0+ GNUPG_LICENSE_FILES = COPYING GNUPG_DEPENDENCIES = zlib ncurses $(if $(BR2_PACKAGE_LIBICONV),libiconv) diff --git a/package/gpsd/0002-SConstruct-do-not-force-O2-by-default.patch b/package/gpsd/0002-SConstruct-do-not-force-O2-by-default.patch new file mode 100644 index 0000000000..641afa30af --- /dev/null +++ b/package/gpsd/0002-SConstruct-do-not-force-O2-by-default.patch @@ -0,0 +1,29 @@ +From eb7cce5dbb53a64cf55ac0d9a7fa4dcbebd4b173 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb <wbx@openadk.org> +Date: Mon, 14 Aug 2017 23:24:38 +0200 +Subject: [PATCH] SConstruct: do not force -O2 by default + +-O2 can cause problems on some architectures, so do not force it by + default. + +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> +--- + SConstruct | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/SConstruct b/SConstruct +index fe444a2..93d91a4 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -330,8 +330,6 @@ if not 'CCFLAGS' in os.environ: + # Should we build with optimisation? + if env['debug'] or env['coveraging']: + env.Append(CCFLAGS=['-O0']) +- else: +- env.Append(CCFLAGS=['-O2']) + + # Get a slight speedup by not doing automatic RCS and SCCS fetches. + env.SourceCode('.', None) +-- +2.9.4 + diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk index 552d6d9367..2b9c38a42b 100644 --- a/package/gpsd/gpsd.mk +++ b/package/gpsd/gpsd.mk @@ -44,7 +44,7 @@ endif # A bug was reported to the gcc bug tracker: # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485 ifeq ($(BR2_microblaze),y) -GPSD_CFLAGS += -fno-expensive-optimizations -fno-schedule-insns +GPSD_CFLAGS += -O0 endif # Enable or disable Qt binding diff --git a/package/gstreamer1/gst1-validate/gst1-validate.mk b/package/gstreamer1/gst1-validate/gst1-validate.mk index c5e3ec6fc9..31b01ef5fa 100644 --- a/package/gstreamer1/gst1-validate/gst1-validate.mk +++ b/package/gstreamer1/gst1-validate/gst1-validate.mk @@ -18,4 +18,6 @@ GST1_VALIDATE_DEPENDENCIES = \ python \ $(if $(BR2_PACKAGE_CAIRO),cairo) +GST1_VALIDATE_CONF_OPTS += --disable-sphinx-doc + $(eval $(autotools-package)) diff --git a/package/iostat/iostat.mk b/package/iostat/iostat.mk index d591c67dcb..4953c73ec4 100644 --- a/package/iostat/iostat.mk +++ b/package/iostat/iostat.mk @@ -5,7 +5,7 @@ ################################################################################ IOSTAT_VERSION = 2.2 -IOSTAT_SITE = http://www.linuxinsight.com/files +IOSTAT_SITE = http://linuxinsight.com/sites/default/files IOSTAT_LICENSE = GPL IOSTAT_LICENSE_FILES = LICENSE diff --git a/package/iucode-tool/iucode-tool.mk b/package/iucode-tool/iucode-tool.mk index f28698bfd1..e8ae36cede 100644 --- a/package/iucode-tool/iucode-tool.mk +++ b/package/iucode-tool/iucode-tool.mk @@ -6,7 +6,7 @@ IUCODE_TOOL_VERSION = 1.5 IUCODE_TOOL_SOURCE = iucode-tool_$(IUCODE_TOOL_VERSION).tar.xz -IUCODE_TOOL_SITE = https://gitlab.com/iucode-tool/releases/raw/latest +IUCODE_TOOL_SITE = https://gitlab.com/iucode-tool/releases/raw/master ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) IUCODE_TOOL_CONF_ENV = LIBS="-largp" IUCODE_TOOL_DEPENDENCIES = argp-standalone diff --git a/package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch b/package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch new file mode 100644 index 0000000000..ed3370cfc8 --- /dev/null +++ b/package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch @@ -0,0 +1,42 @@ +From bec1b0ced72dc0d49825d6b69d09296d13fd0af3 Mon Sep 17 00:00:00 2001 +From: Andre Przywara <andre.przywara@arm.com> +Date: Tue, 21 Jul 2015 10:58:46 +0100 +Subject: [PATCH] avoid redefining PAGE_SIZE + +PAGE_SIZE may have been defined by the C libary (musl-libc does that). +So avoid redefining it here unconditionally, instead only use our +definition if none has been provided by the libc. + +Signed-off-by: Andre Przywara <andre.przywara@arm.com> +Signed-off-by: Will Deacon <will.deacon@arm.com> +[backport from upstream commit 4095fac878f618ae5e7384a1dc65ee34b6e05217.] +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + include/kvm/kvm.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/include/kvm/kvm.h b/include/kvm/kvm.h +index 754e029..37155db 100644 +--- a/include/kvm/kvm.h ++++ b/include/kvm/kvm.h +@@ -11,6 +11,7 @@ + #include <time.h> + #include <signal.h> + #include <sys/prctl.h> ++#include <limits.h> + + #define SIGKVMEXIT (SIGRTMIN + 0) + #define SIGKVMPAUSE (SIGRTMIN + 1) +@@ -19,7 +20,9 @@ + #define HOME_DIR getenv("HOME") + #define KVM_BINARY_NAME "lkvm" + ++#ifndef PAGE_SIZE + #define PAGE_SIZE (sysconf(_SC_PAGE_SIZE)) ++#endif + + #define DEFINE_KVM_EXT(ext) \ + .name = #ext, \ +-- +2.9.4 + diff --git a/package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch b/package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch new file mode 100644 index 0000000000..842c131dc5 --- /dev/null +++ b/package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch @@ -0,0 +1,58 @@ +From ce9abb649165aca728e4645ce09e7bb77e684b06 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sat, 19 Aug 2017 16:35:59 +0200 +Subject: [PATCH] x86/kvm-cpu.c: don't include <asm/msr-index.h> + +Since kernel commit 25dc1d6cc3082aab293e5dad47623b550f7ddd2a ("x86: +stop exporting msr-index.h to userland"), <asm/msr-index.h> is no +longer exported to userspace. Therefore, any toolchain built with +kernel headers >= 4.12 will no longer have this header file, causing a +build failure in kvmtool. + +As a replacement, this patch includes inside x86/kvm-cpu.c the +necessary MSR_* definitions. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Submitted-upstream: https://patchwork.kernel.org/patch/9910687/ +--- + x86/kvm-cpu.c | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) + +diff --git a/x86/kvm-cpu.c b/x86/kvm-cpu.c +index 5cc4e1e..b02ff65 100644 +--- a/x86/kvm-cpu.c ++++ b/x86/kvm-cpu.c +@@ -4,7 +4,6 @@ + #include "kvm/util.h" + #include "kvm/kvm.h" + +-#include <asm/msr-index.h> + #include <asm/apicdef.h> + #include <linux/err.h> + #include <sys/ioctl.h> +@@ -136,6 +135,22 @@ static struct kvm_msrs *kvm_msrs__new(size_t nmsrs) + return vcpu; + } + ++#define MSR_IA32_SYSENTER_CS 0x00000174 ++#define MSR_IA32_SYSENTER_ESP 0x00000175 ++#define MSR_IA32_SYSENTER_EIP 0x00000176 ++ ++#define MSR_STAR 0xc0000081 /* legacy mode SYSCALL target */ ++#define MSR_LSTAR 0xc0000082 /* long mode SYSCALL target */ ++#define MSR_CSTAR 0xc0000083 /* compat mode SYSCALL target */ ++#define MSR_SYSCALL_MASK 0xc0000084 /* EFLAGS mask for syscall */ ++#define MSR_KERNEL_GS_BASE 0xc0000102 /* SwapGS GS shadow */ ++ ++#define MSR_IA32_TSC 0x00000010 ++#define MSR_IA32_MISC_ENABLE 0x000001a0 ++ ++#define MSR_IA32_MISC_ENABLE_FAST_STRING_BIT 0 ++#define MSR_IA32_MISC_ENABLE_FAST_STRING (1ULL << MSR_IA32_MISC_ENABLE_FAST_STRING_BIT) ++ + #define KVM_MSR_ENTRY(_index, _data) \ + (struct kvm_msr_entry) { .index = _index, .data = _data } + +-- +2.9.4 + diff --git a/package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch b/package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch new file mode 100644 index 0000000000..a358569b67 --- /dev/null +++ b/package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch @@ -0,0 +1,33 @@ +From 19490e24895df95253e43a7aacf3ef408b830bd5 Mon Sep 17 00:00:00 2001 +From: Andre Przywara <andre.przywara@arm.com> +Date: Fri, 17 Jul 2015 17:02:15 +0100 +Subject: [PATCH] use <poll.h> instead of <sys/poll.h> + +The manpage of poll(2) states that the prototype of poll is defined +in <poll.h>. Use that header file instead of <sys/poll.h> to allow +compilation against musl-libc. + +Signed-off-by: Andre Przywara <andre.przywara@arm.com> +Signed-off-by: Will Deacon <will.deacon@arm.com> +[backport from upstream commit 52c22e6e64a94cc701d86587d32cd3822ac5c293.] +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + disk/core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/disk/core.c b/disk/core.c +index 309e16c..dd2f258 100644 +--- a/disk/core.c ++++ b/disk/core.c +@@ -5,7 +5,7 @@ + + #include <linux/err.h> + #include <sys/eventfd.h> +-#include <sys/poll.h> ++#include <poll.h> + + #define AIO_MAX 256 + +-- +2.9.4 + diff --git a/package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch b/package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch new file mode 100644 index 0000000000..d0591b9e4d --- /dev/null +++ b/package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch @@ -0,0 +1,90 @@ +From 7a9c16dcf58ff4c8154f3a9dfa1f02ec3daa1662 Mon Sep 17 00:00:00 2001 +From: Andre Przywara <andre.przywara@arm.com> +Date: Fri, 17 Jul 2015 17:02:16 +0100 +Subject: [PATCH] check for and use C library provided strlcpy and strlcat + +The musl-libc library provides implementations of strlcpy and strlcat, +so introduce a feature check for it and only use the kvmtool +implementation if there is no library support for it. +This avoids clashes with the public definition. + +Signed-off-by: Andre Przywara <andre.przywara@arm.com> +Signed-off-by: Will Deacon <will.deacon@arm.com> +[backport from upstream commit 8f22adc4230f07980a318ad1662fba5af0c131c1.] +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + Makefile | 5 +++++ + config/feature-tests.mak | 10 ++++++++++ + include/kvm/strbuf.h | 2 ++ + util/strbuf.c | 2 ++ + 4 files changed, 19 insertions(+) + +diff --git a/Makefile b/Makefile +index 151fa9d..bf71db4 100644 +--- a/Makefile ++++ b/Makefile +@@ -199,6 +199,11 @@ endif + # On a given system, some libs may link statically, some may not; so, check + # both and only build those that link! + ++ifeq ($(call try-build,$(SOURCE_STRLCPY),$(CFLAGS),),y) ++ CFLAGS_DYNOPT += -DHAVE_STRLCPY ++ CFLAGS_STATOPT += -DHAVE_STRLCPY ++endif ++ + ifeq ($(call try-build,$(SOURCE_BFD),$(CFLAGS),-lbfd -static),y) + CFLAGS_STATOPT += -DCONFIG_HAS_BFD + OBJS_STATOPT += symbol.o +diff --git a/config/feature-tests.mak b/config/feature-tests.mak +index 6bee6c2..03cdb42 100644 +--- a/config/feature-tests.mak ++++ b/config/feature-tests.mak +@@ -196,3 +196,13 @@ int main(void) + return 0; + } + endef ++ ++define SOURCE_STRLCPY ++#include <string.h> ++ ++int main(void) ++{ ++ strlcpy(NULL, NULL, 0); ++ return 0; ++} ++endef +diff --git a/include/kvm/strbuf.h b/include/kvm/strbuf.h +index 2beefbc..7657339 100644 +--- a/include/kvm/strbuf.h ++++ b/include/kvm/strbuf.h +@@ -6,8 +6,10 @@ + + int prefixcmp(const char *str, const char *prefix); + ++#ifndef HAVE_STRLCPY + extern size_t strlcat(char *dest, const char *src, size_t count); + extern size_t strlcpy(char *dest, const char *src, size_t size); ++#endif + + /* some inline functions */ + +diff --git a/util/strbuf.c b/util/strbuf.c +index 99d6b0c..2c6e8ad 100644 +--- a/util/strbuf.c ++++ b/util/strbuf.c +@@ -13,6 +13,7 @@ int prefixcmp(const char *str, const char *prefix) + } + } + ++#ifndef HAVE_STRLCPY + /** + * strlcat - Append a length-limited, %NUL-terminated string to another + * @dest: The string to be appended to +@@ -60,3 +61,4 @@ size_t strlcpy(char *dest, const char *src, size_t size) + } + return ret; + } ++#endif +-- +2.9.4 + diff --git a/package/kvmtool/0005-Fix-call-to-connect.patch b/package/kvmtool/0005-Fix-call-to-connect.patch new file mode 100644 index 0000000000..434ca34b2f --- /dev/null +++ b/package/kvmtool/0005-Fix-call-to-connect.patch @@ -0,0 +1,34 @@ +From d375235f49184371026791ae8f6f9dc307de8a61 Mon Sep 17 00:00:00 2001 +From: Andre Przywara <andre.przywara@arm.com> +Date: Fri, 17 Jul 2015 17:02:14 +0100 +Subject: [PATCH] Fix call to connect() + +According to the manpage and the prototype the second argument to +connect(2) is a "const struct sockaddr*", so cast our protocol +specific type back to the super type. +This fixes compilation on musl-libc. + +Signed-off-by: Andre Przywara <andre.przywara@arm.com> +Signed-off-by: Will Deacon <will.deacon@arm.com> +[backport from upstream commit d77bd4f466f341d4b35fe8b91176ef8a37160e19.] +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + kvm-ipc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kvm-ipc.c b/kvm-ipc.c +index b1c43dd..5a0b6e0 100644 +--- a/kvm-ipc.c ++++ b/kvm-ipc.c +@@ -99,7 +99,7 @@ int kvm__get_sock_by_instance(const char *name) + strlcpy(local.sun_path, sock_file, sizeof(local.sun_path)); + len = strlen(local.sun_path) + sizeof(local.sun_family); + +- r = connect(s, &local, len); ++ r = connect(s, (struct sockaddr *)&local, len); + if (r < 0 && errno == ECONNREFUSED) { + /* Tell the user clean ghost socket file */ + pr_err("\"%s\" could be a ghost socket file, please remove it", +-- +2.9.4 + diff --git a/package/libconfuse/Config.in b/package/libconfuse/Config.in index be18cbb073..b96b8f2811 100644 --- a/package/libconfuse/Config.in +++ b/package/libconfuse/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_LIBCONFUSE environment variable expansion, functions and nested include statements. - http://savannah.nongnu.org/download/confuse/ + https://github.com/martinh/libconfuse/ diff --git a/package/libconfuse/libconfuse.hash b/package/libconfuse/libconfuse.hash index e57e59c56d..826a9263f5 100644 --- a/package/libconfuse/libconfuse.hash +++ b/package/libconfuse/libconfuse.hash @@ -1,3 +1,4 @@ -# From https://github.com/martinh/libconfuse/releases/download/v3.1/confuse-3.1.tar.xz.md5, sha256 locally computed. -md5 08f1ace0055f92d80a8ad11671346a37 confuse-3.1.tar.xz -sha256 8171f31e0071d5e4460269fdcc8b4e748cf23b4bf6bbe672f718a136dd63ca66 confuse-3.1.tar.xz +# From https://github.com/martinh/libconfuse/releases/download/v3.2/confuse-3.2.tar.xz.md5 +md5 84259ac3bd495645ab2fe61654917232 confuse-3.2.tar.xz +# Locally computed +sha256 a46abb8696026d314197b6a70ae1a1c296342a9a68aa69b1935709c1477a4e48 confuse-3.1.tar.xz diff --git a/package/libconfuse/libconfuse.mk b/package/libconfuse/libconfuse.mk index 07a73c8937..431fefd4c7 100644 --- a/package/libconfuse/libconfuse.mk +++ b/package/libconfuse/libconfuse.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCONFUSE_VERSION = 3.1 +LIBCONFUSE_VERSION = 3.2 LIBCONFUSE_SOURCE = confuse-$(LIBCONFUSE_VERSION).tar.xz LIBCONFUSE_SITE = https://github.com/martinh/libconfuse/releases/download/v$(LIBCONFUSE_VERSION) LIBCONFUSE_INSTALL_STAGING = YES diff --git a/package/libcurl/0001-curl-system.h-support-more-architectures.patch b/package/libcurl/0001-curl-system.h-support-more-architectures.patch new file mode 100644 index 0000000000..94d9a2a11f --- /dev/null +++ b/package/libcurl/0001-curl-system.h-support-more-architectures.patch @@ -0,0 +1,47 @@ +From 7d84bd820ef412d251b643a4faced105668f4ebd Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Fri, 11 Aug 2017 18:52:37 +0200 +Subject: [PATCH] curl/system.h: support more architectures + +The long list of architectures in include/curl/system.h is annoying to +maintain, and needs to be extended for each and every architecture to +support. + +Instead, let's rely on the __SIZEOF_LONG__ define of the gcc compiler +(we are in the GNUC condition anyway), which tells us if long is 4 +bytes or 8 bytes. + +This fixes the build of libcurl 7.55.0 on architectures such as +OpenRISC or ARC. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + include/curl/system.h | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/include/curl/system.h b/include/curl/system.h +index 79abf8f..0e13075 100644 +--- a/include/curl/system.h ++++ b/include/curl/system.h +@@ -403,7 +403,7 @@ + # if !defined(__LP64__) && (defined(__ILP32__) || \ + defined(__i386__) || defined(__ppc__) || defined(__arm__) || \ + defined(__sparc__) || defined(__mips__) || defined(__sh__) || \ +- defined(__XTENSA__)) ++ defined(__XTENSA__) || (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 4)) + # define CURL_SIZEOF_LONG 4 + # define CURL_TYPEOF_CURL_OFF_T long long + # define CURL_FORMAT_CURL_OFF_T "lld" +@@ -412,7 +412,8 @@ + # define CURL_SUFFIX_CURL_OFF_T LL + # define CURL_SUFFIX_CURL_OFF_TU ULL + # elif defined(__LP64__) || \ +- defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) ++ defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) || \ ++ (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 8) + # define CURL_SIZEOF_LONG 8 + # define CURL_TYPEOF_CURL_OFF_T long + # define CURL_FORMAT_CURL_OFF_T "ld" +-- +2.9.4 + diff --git a/package/libcurl/libcurl.hash b/package/libcurl/libcurl.hash index 1b8d80fc96..6d49b67428 100644 --- a/package/libcurl/libcurl.hash +++ b/package/libcurl/libcurl.hash @@ -1,2 +1,3 @@ # Locally calculated after checking pgp signature -sha256 fdfc4df2d001ee0c44ec071186e770046249263c491fcae48df0e1a3ca8f25a0 curl-7.54.1.tar.bz2 +# https://curl.haxx.se/download/curl-7.55.0.tar.xz.asc +sha256 cdd58522f8607fd4e871df79d73acb3155075e2134641e5adab12a0962df059d curl-7.55.0.tar.xz diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk index 684844919e..dd0ccbfa46 100644 --- a/package/libcurl/libcurl.mk +++ b/package/libcurl/libcurl.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBCURL_VERSION = 7.54.1 -LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.bz2 +LIBCURL_VERSION = 7.55.0 +LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz LIBCURL_SITE = https://curl.haxx.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ $(if $(BR2_PACKAGE_ZLIB),zlib) \ diff --git a/package/libepoxy/0003-epoxy_internal_has_gl_extension-epoxy_egl_version-ad.patch b/package/libepoxy/0003-epoxy_internal_has_gl_extension-epoxy_egl_version-ad.patch new file mode 100644 index 0000000000..770d210097 --- /dev/null +++ b/package/libepoxy/0003-epoxy_internal_has_gl_extension-epoxy_egl_version-ad.patch @@ -0,0 +1,62 @@ +From 0e004b7344ea67fd682f33446d19e3b63a187513 Mon Sep 17 00:00:00 2001 +From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it> +Date: Mon, 24 Apr 2017 16:10:28 +0200 +Subject: [PATCH] epoxy_internal_has_gl_extension, epoxy_egl_version: add some + missing nullpointer checks from + https://bugzilla.redhat.com/show_bug.cgi?id=1395366 Related commit: + b3b8bd9af7bf1fcfe544fd131f4d4f0d117ae7bc Fix "epoxy_glx_version" to handle + the case when GLX is not active on the display. Patch is tweak from the + original version posted by Tom Horsley + +Backported from: https://github.com/anholt/libepoxy/pull/118 + +Signed-off-by: Adrian Perez de Castro <aperez@igalia.com> +--- + src/dispatch_common.c | 9 ++++++++- + src/dispatch_egl.c | 3 +++ + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/src/dispatch_common.c b/src/dispatch_common.c +index b521b1b..a38c0fc 100644 +--- a/src/dispatch_common.c ++++ b/src/dispatch_common.c +@@ -443,7 +443,12 @@ bool + epoxy_extension_in_string(const char *extension_list, const char *ext) + { + const char *ptr = extension_list; +- int len = strlen(ext); ++ int len; ++ ++ if (!ext) ++ return false; ++ ++ len = strlen(ext); + + if (extension_list == NULL || *extension_list == '\0') + return false; +@@ -478,6 +483,8 @@ epoxy_internal_has_gl_extension(const char *ext, bool invalid_op_mode) + + for (i = 0; i < num_extensions; i++) { + const char *gl_ext = (const char *)glGetStringi(GL_EXTENSIONS, i); ++ if (!gl_ext) ++ return false; + if (strcmp(ext, gl_ext) == 0) + return true; + } +diff --git a/src/dispatch_egl.c b/src/dispatch_egl.c +index 50e66dd..f555a58 100644 +--- a/src/dispatch_egl.c ++++ b/src/dispatch_egl.c +@@ -65,6 +65,9 @@ epoxy_egl_version(EGLDisplay dpy) + int ret; + + version_string = eglQueryString(dpy, EGL_VERSION); ++ if (!version_string) ++ return 0; ++ + ret = sscanf(version_string, "%d.%d", &major, &minor); + assert(ret == 2); + return major * 10 + minor; +-- +2.14.1 + diff --git a/package/libgcrypt/libgcrypt.hash b/package/libgcrypt/libgcrypt.hash index 8ac9f0a92b..56a45c5398 100644 --- a/package/libgcrypt/libgcrypt.hash +++ b/package/libgcrypt/libgcrypt.hash @@ -1,5 +1,3 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2017q2/000408.html -sha1 65a4a495aa858483e66868199eaa8238572ca6cd libgcrypt-1.7.8.tar.bz2 # Locally calculated after checking signature -# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.7.8.tar.bz2.sig -sha256 948276ea47e6ba0244f36a17b51dcdd52cfd1e664b0a1ac3bc82134fb6cec199 libgcrypt-1.7.8.tar.bz2 +# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.7.9.tar.bz2.sig +sha256 bfe9bb703c1126c3647da2810fd23039c2f09d46969f71612c2065dc3fa9373b libgcrypt-1.7.9.tar.bz2 diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk index bc194addb3..fe3ac5cfff 100644 --- a/package/libgcrypt/libgcrypt.mk +++ b/package/libgcrypt/libgcrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGCRYPT_VERSION = 1.7.8 +LIBGCRYPT_VERSION = 1.7.9 LIBGCRYPT_SOURCE = libgcrypt-$(LIBGCRYPT_VERSION).tar.bz2 LIBGCRYPT_LICENSE = LGPL-2.1+ LIBGCRYPT_LICENSE_FILES = COPYING.LIB diff --git a/package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch b/package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch new file mode 100644 index 0000000000..39e683f58a --- /dev/null +++ b/package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch @@ -0,0 +1,31 @@ +From b56deda7c13c257050fdbdd71c1a5a47b78aa63e Mon Sep 17 00:00:00 2001 +From: Stephan Mueller <smueller@chronox.de> +Date: Thu, 3 Aug 2017 17:50:51 +0200 +Subject: [PATCH] Have sufficient memory size for message + +With GCC 7, the size of the buffer in snprintf is checked. The +occurrence here is found to be too small. + +Signed-off-by: Stephan Mueller <smueller@chronox.de> +[Upstream commit: https://github.com/smuellerDD/libkcapi/commit/b56deda7c13c257050fdbdd71c1a5a47b78aa63e] +Signed-off-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com> +--- + speed-test/cryptoperf-base.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/speed-test/cryptoperf-base.c b/speed-test/cryptoperf-base.c +index 8766ca7..07384ae 100644 +--- a/speed-test/cryptoperf-base.c ++++ b/speed-test/cryptoperf-base.c +@@ -172,7 +172,7 @@ char *cp_print_status(struct cp_test *test, int raw) + (unsigned long)(processed_bytes/totaltime), + (unsigned long)ops); + } else { +- #define VALLEN 10 ++ #define VALLEN 23 + char byteseconds[VALLEN + 1]; + + memset(byteseconds, 0, sizeof(byteseconds)); +-- +2.7.4 + diff --git a/package/libphidget/libphidget.mk b/package/libphidget/libphidget.mk index 23a320b076..803d5012a4 100644 --- a/package/libphidget/libphidget.mk +++ b/package/libphidget/libphidget.mk @@ -6,7 +6,7 @@ LIBPHIDGET_VERSION = 2.1.8.20140319 LIBPHIDGET_SOURCE = libphidget_$(LIBPHIDGET_VERSION).tar.gz -LIBPHIDGET_SITE = http://www.phidgets.com/downloads/libraries +LIBPHIDGET_SITE = https://www.phidgets.com/downloads/phidget21/libraries/linux/libphidget LIBPHIDGET_DEPENDENCIES = libusb LIBPHIDGET_CONF_OPTS = --disable-ldconfig LIBPHIDGET_INSTALL_STAGING = YES diff --git a/package/librsync/0001-fix-build-with-clang.patch b/package/librsync/0001-fix-build-with-clang.patch new file mode 100644 index 0000000000..ea513c04d9 --- /dev/null +++ b/package/librsync/0001-fix-build-with-clang.patch @@ -0,0 +1,37 @@ +From 1175b1cd102ee15512185c7983868e5746959da0 Mon Sep 17 00:00:00 2001 +From: Adam Schubert <feartohell@seznam.cz> +Date: Mon, 11 May 2015 04:25:45 +0200 +Subject: [PATCH] Fix build under clang + +Downloaded from upstream commit: +https://github.com/librsync/librsync/commit/1175b1cd102ee15512185c7983868e5746959da0.patch + +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> + +--- + delta.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/delta.c b/delta.c +index 19498f9..72afdf6 100644 +--- a/delta.c ++++ b/delta.c +@@ -126,12 +126,12 @@ static rs_result rs_delta_s_scan(rs_job_t *job); + static rs_result rs_delta_s_flush(rs_job_t *job); + static rs_result rs_delta_s_end(rs_job_t *job); + void rs_getinput(rs_job_t *job); +-inline int rs_findmatch(rs_job_t *job, rs_long_t *match_pos, size_t *match_len); +-inline rs_result rs_appendmatch(rs_job_t *job, rs_long_t match_pos, size_t match_len); +-inline rs_result rs_appendmiss(rs_job_t *job, size_t miss_len); +-inline rs_result rs_appendflush(rs_job_t *job); +-inline rs_result rs_processmatch(rs_job_t *job); +-inline rs_result rs_processmiss(rs_job_t *job); ++static inline int rs_findmatch(rs_job_t *job, rs_long_t *match_pos, size_t *match_len); ++static inline rs_result rs_appendmatch(rs_job_t *job, rs_long_t match_pos, size_t match_len); ++static inline rs_result rs_appendmiss(rs_job_t *job, size_t miss_len); ++static inline rs_result rs_appendflush(rs_job_t *job); ++static inline rs_result rs_processmatch(rs_job_t *job); ++static inline rs_result rs_processmiss(rs_job_t *job); + + /** + * \brief Get a block of data if possible, and see if it matches. diff --git a/package/libspatialindex/0001-configure.ac-do-not-force-O2.patch b/package/libspatialindex/0001-configure.ac-do-not-force-O2.patch new file mode 100644 index 0000000000..c078e713ec --- /dev/null +++ b/package/libspatialindex/0001-configure.ac-do-not-force-O2.patch @@ -0,0 +1,30 @@ +From 7472764fe19cb3eea77f21cc2859859b8ac62085 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Mon, 14 Aug 2017 23:36:36 +0200 +Subject: [PATCH] configure.ac: do not force -O2 + +The user may want to provide its own set of optimization flags, and +therefore forcing -O2 should not be done. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Submitted-upstream: https://github.com/libspatialindex/libspatialindex/pull/101 +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index dc5e49f..2e2aa68 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -53,7 +53,7 @@ if test "x$enable_debug" = "xyes"; then + CXXFLAGS="$CXXFLAGS -g -DDEBUG" + AC_MSG_RESULT(checking wether debug information is enabled... yes) + else +- CXXFLAGS="$CXXFLAGS -O2 -DNDEBUG" ++ CXXFLAGS="$CXXFLAGS -DNDEBUG" + AC_MSG_RESULT(checking wether debug information is enabled... no) + fi + +-- +2.9.4 + diff --git a/package/libspatialindex/libspatialindex.mk b/package/libspatialindex/libspatialindex.mk index d815364442..3a558dfc7e 100644 --- a/package/libspatialindex/libspatialindex.mk +++ b/package/libspatialindex/libspatialindex.mk @@ -11,4 +11,16 @@ LIBSPATIALINDEX_INSTALL_STAGING = YES LIBSPATIALINDEX_LICENSE = MIT LIBSPATIALINDEX_LICENSE_FILES = COPYING +# 0001-configure.ac-do-not-force-O2.patch +LIBSPATIALINDEX_AUTORECONF = YES + +LIBSPATIALINDEX_CXXFLAGS = $(TARGET_CXXFLAGS) +LIBSPATIALINDEX_CONF_ENV = CXXFLAGS="$(LIBSPATIALINDEX_CXXFLAGS)" + +# Workaround gcc ICE +# (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485) +ifeq ($(BR2_microblaze),y) +LIBSPATIALINDEX_CXXFLAGS += -O0 +endif + $(eval $(autotools-package)) diff --git a/package/libunwind/Config.in b/package/libunwind/Config.in index 1a2531716f..be576d13c4 100644 --- a/package/libunwind/Config.in +++ b/package/libunwind/Config.in @@ -22,11 +22,14 @@ config BR2_PACKAGE_LIBUNWIND bool "libunwind" depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS + # forcefully links against libgcc_s, only available in dynamic + # linking configurations + depends on !BR2_STATIC_LIBS help C API to determine the call-chain of a program. http://www.nongnu.org/libunwind/index.html -comment "libunwind needs a toolchain w/ threads" +comment "libunwind needs a toolchain w/ threads, dynamic library" depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch b/package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch new file mode 100644 index 0000000000..22249197a1 --- /dev/null +++ b/package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch @@ -0,0 +1,217 @@ +From 305ae25455b1f19ad2eda92523bd553fd8bc72fd Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sun, 20 Aug 2017 23:58:44 +0200 +Subject: [PATCH] configure.ac: drop --disable-libv4l, disable plugin support + instead + +In commit 2e604dfbcd09b93f0808cedb2a0b324c5569a599 ("configure.ac: add +--disable-libv4l option"), an option --disable-libv4l was added. As +part of this, libv4l is no longer built at all in static linking +configurations, just because libv4l uses dlopen() for plugin support. + +However, plugin support is only a side feature of libv4l, and one may +need to use libv4l in static configurations, just without plugin +support. + +Therefore, this commit: + + - Essentially reverts 2e604dfbcd09b93f0808cedb2a0b324c5569a599, so + that libv4l can be built in static linking configurations again. + + - Adjusts the compilation of libv4l2 so that the plugin support is + not compiled in when dlopen() in static linking configuration + (dlopen is not available). + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Submitted-upstream: https://www.mail-archive.com/linux-media@vger.kernel.org/msg117449.html +--- + Makefile.am | 11 ++--------- + configure.ac | 15 +++------------ + lib/libv4l2/Makefile.am | 6 +++++- + lib/libv4l2/libv4l2-priv.h | 14 ++++++++++++++ + utils/Makefile.am | 6 +----- + utils/v4l2-compliance/Makefile.am | 4 ---- + utils/v4l2-ctl/Makefile.am | 4 ---- + 7 files changed, 25 insertions(+), 35 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 07c3ef8..e603472 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,17 +1,10 @@ + AUTOMAKE_OPTIONS = foreign + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = v4l-utils-po libdvbv5-po +- +-if WITH_LIBV4L +-SUBDIRS += lib +-endif ++SUBDIRS = v4l-utils-po libdvbv5-po lib + + if WITH_V4LUTILS +-SUBDIRS += utils +-if WITH_LIBV4L +-SUBDIRS += contrib +-endif ++SUBDIRS += utils contrib + endif + + EXTRA_DIST = android-config.h bootstrap.sh doxygen_libdvbv5.cfg include COPYING.libv4l \ +diff --git a/configure.ac b/configure.ac +index 58fb688..2ecb4a1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -374,14 +374,6 @@ AC_ARG_ENABLE(libdvbv5, + esac] + ) + +-AC_ARG_ENABLE(libv4l, +- AS_HELP_STRING([--disable-libv4l], [disable libv4l compilation]), +- [case "${enableval}" in +- yes | no ) ;; +- *) AC_MSG_ERROR(bad value ${enableval} for --disable-libv4l) ;; +- esac] +-) +- + AC_ARG_ENABLE(dyn-libv4l, + AS_HELP_STRING([--disable-dyn-libv4l], [disable dynamic libv4l support]), + [case "${enableval}" in +@@ -439,7 +431,6 @@ AM_CONDITIONAL([WITH_LIBDVBV5], [test x$enable_libdvbv5 != xno -a x$have_li + AM_CONDITIONAL([WITH_DVBV5_REMOTE], [test x$enable_libdvbv5 != xno -a x$have_libudev = xyes -a x$have_pthread = xyes]) + + AM_CONDITIONAL([WITH_DYN_LIBV4L], [test x$enable_dyn_libv4l != xno]) +-AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno -a x$enable_shared != xno]) + AM_CONDITIONAL([WITH_V4LUTILS], [test x$enable_v4l_utils != xno -a x$linux_os = xyes]) + AM_CONDITIONAL([WITH_QV4L2], [test x${qt_pkgconfig} = xtrue -a x$enable_qv4l2 != xno]) + AM_CONDITIONAL([WITH_V4L_PLUGINS], [test x$enable_dyn_libv4l != xno -a x$enable_shared != xno]) +@@ -467,11 +458,12 @@ AM_COND_IF([WITH_LIBDVBV5], [USE_LIBDVBV5="yes"], [USE_LIBDVBV5="no"]) + AM_COND_IF([WITH_DVBV5_REMOTE], [USE_DVBV5_REMOTE="yes" + AC_DEFINE([HAVE_DVBV5_REMOTE], [1], [Usage of DVBv5 remote enabled])], + [USE_DVBV5_REMOTE="no"]) +-AM_COND_IF([WITH_LIBV4L], [USE_LIBV4L="yes"], [USE_LIBV4L="no"]) + AM_COND_IF([WITH_DYN_LIBV4L], [USE_DYN_LIBV4L="yes"], [USE_DYN_LIBV4L="no"]) + AM_COND_IF([WITH_V4LUTILS], [USE_V4LUTILS="yes"], [USE_V4LUTILS="no"]) + AM_COND_IF([WITH_QV4L2], [USE_QV4L2="yes"], [USE_QV4L2="no"]) +-AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes"], [USE_V4L_PLUGINS="no"]) ++AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes" ++ AC_DEFINE([HAVE_V4L_PLUGINS], [1], [V4L plugin support enabled])], ++ [USE_V4L_PLUGINS="no"]) + AM_COND_IF([WITH_V4L_WRAPPERS], [USE_V4L_WRAPPERS="yes"], [USE_V4L_WRAPPERS="no"]) + AM_COND_IF([WITH_GCONV], [USE_GCONV="yes"], [USE_GCONV="no"]) + AM_COND_IF([WITH_V4L2_CTL_LIBV4L], [USE_V4L2_CTL_LIBV4L="yes"], [USE_V4L2_CTL_LIBV4L="no"]) +@@ -503,7 +495,6 @@ compile time options summary + + gconv : $USE_GCONV + +- libv4l : $USE_LIBV4L + dynamic libv4l : $USE_DYN_LIBV4L + v4l_plugins : $USE_V4L_PLUGINS + v4l_wrappers : $USE_V4L_WRAPPERS +diff --git a/lib/libv4l2/Makefile.am b/lib/libv4l2/Makefile.am +index 811c45c..3a1bb90 100644 +--- a/lib/libv4l2/Makefile.am ++++ b/lib/libv4l2/Makefile.am +@@ -15,7 +15,11 @@ else + noinst_LTLIBRARIES = libv4l2.la + endif + +-libv4l2_la_SOURCES = libv4l2.c v4l2-plugin.c log.c libv4l2-priv.h ++libv4l2_la_SOURCES = libv4l2.c log.c libv4l2-priv.h ++if WITH_V4L_PLUGINS ++libv4l2_la_SOURCES += v4l2-plugin.c ++endif ++ + libv4l2_la_CPPFLAGS = $(CFLAG_VISIBILITY) $(ENFORCE_LIBV4L_STATIC) + libv4l2_la_LDFLAGS = $(LIBV4L2_VERSION) -lpthread $(DLOPEN_LIBS) $(ENFORCE_LIBV4L_STATIC) + libv4l2_la_LIBADD = ../libv4lconvert/libv4lconvert.la +diff --git a/lib/libv4l2/libv4l2-priv.h b/lib/libv4l2/libv4l2-priv.h +index 343db5e..1924c91 100644 +--- a/lib/libv4l2/libv4l2-priv.h ++++ b/lib/libv4l2/libv4l2-priv.h +@@ -107,10 +107,24 @@ struct v4l2_dev_info { + }; + + /* From v4l2-plugin.c */ ++#if defined(HAVE_V4L_PLUGINS) + void v4l2_plugin_init(int fd, void **plugin_lib_ret, void **plugin_priv_ret, + const struct libv4l_dev_ops **dev_ops_ret); + void v4l2_plugin_cleanup(void *plugin_lib, void *plugin_priv, + const struct libv4l_dev_ops *dev_ops); ++#else ++static inline void v4l2_plugin_init(int fd, void **plugin_lib_ret, void **plugin_priv_ret, ++ const struct libv4l_dev_ops **dev_ops_ret) ++{ ++ *dev_ops_ret = v4lconvert_get_default_dev_ops(); ++ *plugin_lib_ret = NULL; ++ *plugin_priv_ret = NULL; ++} ++static inline void v4l2_plugin_cleanup(void *plugin_lib, void *plugin_priv, ++ const struct libv4l_dev_ops *dev_ops) ++{ ++} ++#endif /* WITH_V4L_PLUGINS */ + + /* From log.c */ + extern const char *v4l2_ioctls[]; +diff --git a/utils/Makefile.am b/utils/Makefile.am +index ce710c2..d7708cc 100644 +--- a/utils/Makefile.am ++++ b/utils/Makefile.am +@@ -13,12 +13,8 @@ SUBDIRS = \ + v4l2-sysfs-path \ + cec-ctl \ + cec-compliance \ +- cec-follower +- +-if WITH_LIBV4L +-SUBDIRS += \ ++ cec-follower \ + rds-ctl +-endif + + if WITH_LIBDVBV5 + SUBDIRS += \ +diff --git a/utils/v4l2-compliance/Makefile.am b/utils/v4l2-compliance/Makefile.am +index 0240a50..c2b5919 100644 +--- a/utils/v4l2-compliance/Makefile.am ++++ b/utils/v4l2-compliance/Makefile.am +@@ -7,16 +7,12 @@ v4l2_compliance_SOURCES = v4l2-compliance.cpp v4l2-test-debug.cpp v4l2-test-inpu + v4l2-test-codecs.cpp v4l2-test-colors.cpp v4l2-compliance.h + v4l2_compliance_CPPFLAGS = -I../common + +-if WITH_LIBV4L + if WITH_V4L2_COMPLIANCE_LIBV4L + v4l2_compliance_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread + else + v4l2_compliance_LDADD = -lrt -lpthread + DEFS += -DNO_LIBV4L2 + endif +-else +-DEFS += -DNO_LIBV4L2 +-endif + + EXTRA_DIST = Android.mk fixme.txt v4l2-compliance.1 + +diff --git a/utils/v4l2-ctl/Makefile.am b/utils/v4l2-ctl/Makefile.am +index 4475aed..955647d 100644 +--- a/utils/v4l2-ctl/Makefile.am ++++ b/utils/v4l2-ctl/Makefile.am +@@ -9,14 +9,10 @@ v4l2_ctl_SOURCES = v4l2-ctl.cpp v4l2-ctl.h v4l2-ctl-common.cpp v4l2-ctl-tuner.cp + v4l2-tpg-colors.c v4l2-tpg-core.c v4l-stream.c + v4l2_ctl_CPPFLAGS = -I../common + +-if WITH_LIBV4L + if WITH_V4L2_CTL_LIBV4L + v4l2_ctl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread + else + DEFS += -DNO_LIBV4L2 + endif +-else +-DEFS += -DNO_LIBV4L2 +-endif + + EXTRA_DIST = Android.mk v4l2-ctl.1 +-- +2.9.4 + diff --git a/package/libv4l/libv4l.mk b/package/libv4l/libv4l.mk index 7b6e081ff2..9b2b417043 100644 --- a/package/libv4l/libv4l.mk +++ b/package/libv4l/libv4l.mk @@ -18,6 +18,8 @@ LIBV4L_CONF_OPTS = --disable-doxygen-doc # 0007-configure.ac-add-disable-libv4l-option.patch # 0008-configure.ac-fix-build-of-v4l-utils-on-uclinux.patch # 0009-configure.ac-add-USE_LIBV4L-to-summary.patch +# 0010-Build-libv4lconvert-helper-support-only-when-fork-is.patch +# 0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch LIBV4L_AUTORECONF = YES # host-gettext needed for autoreconf to work LIBV4L_DEPENDENCIES += host-gettext diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index 7f07da05f7..c838044569 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -231,14 +231,14 @@ endchoice config BR2_DEFAULT_KERNEL_HEADERS string - default "3.2.89" if BR2_KERNEL_HEADERS_3_2 + default "3.2.92" if BR2_KERNEL_HEADERS_3_2 default "3.4.113" if BR2_KERNEL_HEADERS_3_4 - default "3.10.106" if BR2_KERNEL_HEADERS_3_10 + default "3.10.107" if BR2_KERNEL_HEADERS_3_10 default "3.12.74" if BR2_KERNEL_HEADERS_3_12 default "4.1.43" if BR2_KERNEL_HEADERS_4_1 - default "4.4.80" if BR2_KERNEL_HEADERS_4_4 - default "4.9.41" if BR2_KERNEL_HEADERS_4_9 + default "4.4.85" if BR2_KERNEL_HEADERS_4_4 + default "4.9.46" 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.5" if BR2_KERNEL_HEADERS_4_12 + default "4.12.10" if BR2_KERNEL_HEADERS_4_12 default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION diff --git a/package/linux-tools/linux-tool-gpio.mk.in b/package/linux-tools/linux-tool-gpio.mk.in index ba75ab4c3f..d5a0dbda38 100644 --- a/package/linux-tools/linux-tool-gpio.mk.in +++ b/package/linux-tools/linux-tool-gpio.mk.in @@ -15,13 +15,13 @@ define GPIO_BUILD_CMDS exit 1 ; \ fi - $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ + $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools \ $(GPIO_MAKE_OPTS) \ gpio endef define GPIO_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ + $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools \ $(GPIO_MAKE_OPTS) \ DESTDIR=$(TARGET_DIR) \ gpio_install diff --git a/package/lua/5.2.4/0004-lua-pc.patch b/package/lua/5.2.4/0004-lua-pc.patch index 62acb201f2..31ff61157a 100644 --- a/package/lua/5.2.4/0004-lua-pc.patch +++ b/package/lua/5.2.4/0004-lua-pc.patch @@ -1,6 +1,8 @@ add lua.pc Signed-off-by: Francois Perrad <francois.perrad@gadz.org> +[Jörg Krause: add @MYLIBS@] +Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Index: b/etc/lua.pc =================================================================== @@ -34,7 +36,7 @@ Index: b/etc/lua.pc +Description: An Extensible Extension Language +Version: ${R} +Requires: -+Libs: -L${libdir} -llua -lm ++Libs: -L${libdir} -llua -lm @MYLIBS@ +Cflags: -I${includedir} + +# (end of lua.pc) diff --git a/package/lua/5.3.4/0004-lua-pc.patch b/package/lua/5.3.4/0004-lua-pc.patch index 615a7db8fc..11258329d1 100644 --- a/package/lua/5.3.4/0004-lua-pc.patch +++ b/package/lua/5.3.4/0004-lua-pc.patch @@ -1,6 +1,8 @@ add lua.pc Signed-off-by: Francois Perrad <francois.perrad@gadz.org> +[Jörg Krause: add @MYLIBS@] +Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Index: b/etc/lua.pc =================================================================== @@ -34,7 +36,7 @@ Index: b/etc/lua.pc +Description: An Extensible Extension Language +Version: ${R} +Requires: -+Libs: -L${libdir} -llua -lm ++Libs: -L${libdir} -llua -lm @MYLIBS@ +Cflags: -I${includedir} + +# (end of lua.pc) diff --git a/package/lua/lua.mk b/package/lua/lua.mk index 93339ad9ce..ee39480dc5 100644 --- a/package/lua/lua.mk +++ b/package/lua/lua.mk @@ -86,8 +86,9 @@ endef define LUA_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) INSTALL_TOP="$(STAGING_DIR)/usr" -C $(@D) install - $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \ - $(STAGING_DIR)/usr/lib/pkgconfig/lua.pc + mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig/ + sed -e "s/@MYLIBS@/$(LUA_MYLIBS)/g" $(@D)/etc/lua.pc \ + > $(STAGING_DIR)/usr/lib/pkgconfig/lua.pc endef define LUA_INSTALL_TARGET_CMDS @@ -96,8 +97,9 @@ endef define HOST_LUA_INSTALL_CMDS $(HOST_MAKE_ENV) $(MAKE) INSTALL_TOP="$(HOST_DIR)" -C $(@D) install - $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \ - $(HOST_DIR)/lib/pkgconfig/lua.pc + mkdir -p $(HOST_DIR)/lib/pkgconfig/ + sed -e "s/@MYLIBS@/$(HOST_LUA_MYLIBS)/g" $(@D)/etc/lua.pc \ + > $(HOST_DIR)/lib/pkgconfig/lua.pc endef $(eval $(generic-package)) diff --git a/package/mariadb/mariadb.hash b/package/mariadb/mariadb.hash index 4ef3551a36..fd5625c8e7 100644 --- a/package/mariadb/mariadb.hash +++ b/package/mariadb/mariadb.hash @@ -1,5 +1,5 @@ -# From https://downloads.mariadb.org/mariadb/10.1.25/ -sha256 7205ecaa6f1bc16335ad88faa5c46be52b3ac628a5e795cb942a3f4335b2a0d6 mariadb-10.1.25.tar.gz +# From https://downloads.mariadb.org/mariadb/10.1.26/ +sha256 ba88b1cb9967dea2909938a34ba89373b162b0d83e5c98a0f1c94540156bf73d mariadb-10.1.26.tar.gz # Hash for license files sha256 69ce89a0cadbe35a858398c258be93c388715e84fc0ca04e5a1fd1aa9770dd3a README diff --git a/package/mariadb/mariadb.mk b/package/mariadb/mariadb.mk index db538fd0f2..47c7906582 100644 --- a/package/mariadb/mariadb.mk +++ b/package/mariadb/mariadb.mk @@ -4,7 +4,7 @@ # ################################################################################ -MARIADB_VERSION = 10.1.25 +MARIADB_VERSION = 10.1.26 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/package/mediastreamer/mediastreamer.mk b/package/mediastreamer/mediastreamer.mk index 44d9e97461..1276cfae10 100644 --- a/package/mediastreamer/mediastreamer.mk +++ b/package/mediastreamer/mediastreamer.mk @@ -7,7 +7,8 @@ MEDIASTREAMER_VERSION = 2.14.0 MEDIASTREAMER_SITE = http://download.savannah.nongnu.org/releases/linphone/mediastreamer MEDIASTREAMER_INSTALL_STAGING = YES -MEDIASTREAMER_DEPENDENCIES = host-intltool host-pkgconf ortp host-gettext +# host-vim needed for the xxd utility +MEDIASTREAMER_DEPENDENCIES = host-intltool host-pkgconf ortp host-gettext host-vim # tests fail linking on some architectures, so disable them MEDIASTREAMER_CONF_OPTS = --disable-tests --disable-glx --disable-strict MEDIASTREAMER_LICENSE = GPL-2.0+ diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index ad41b1cd2a..13c118ee68 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -102,6 +102,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_VC4 select BR2_PACKAGE_MESA3D_NEEDS_XA + select BR2_PACKAGE_MESA3D_OPENGL_EGL help Driver for Broadcom VC4 (rpi2/3) GPUs. It requires a vanilla 4.5+ kernel with drm vc4 (open) support. diff --git a/package/minidlna/minidlna.mk b/package/minidlna/minidlna.mk index e6f9059270..262480cbff 100644 --- a/package/minidlna/minidlna.mk +++ b/package/minidlna/minidlna.mk @@ -29,7 +29,7 @@ define MINIDLNA_INSTALL_INIT_SYSV endef define MINIDLNA_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 0755 package/minidlna/minidlnad.service \ + $(INSTALL) -D -m 0644 package/minidlna/minidlnad.service \ $(TARGET_DIR)/usr/lib/systemd/system/minidlnad.service mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants diff --git a/package/mtd/Config.in b/package/mtd/Config.in index a1df4cfc0a..37e4b4ab1b 100644 --- a/package/mtd/Config.in +++ b/package/mtd/Config.in @@ -24,6 +24,7 @@ config BR2_PACKAGE_MTD_UBIFS_UTILS config BR2_PACKAGE_MTD_TESTS bool + depends on BR2_TOOLCHAIN_HAS_THREADS comment "MTD tools selection" @@ -174,9 +175,14 @@ config BR2_PACKAGE_MTD_UBIBLOCK config BR2_PACKAGE_MTD_INTEGCK bool "integck" + depends on BR2_TOOLCHAIN_HAS_THREADS # mtd-tests depends on BR2_USE_MMU # fork() select BR2_PACKAGE_MTD_TESTS help Install the integck test program. +comment "integck needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU + endif diff --git a/package/norm/0003-fix-const-qualifier-gcc7.patch b/package/norm/0003-fix-const-qualifier-gcc7.patch new file mode 100644 index 0000000000..57e01f9c13 --- /dev/null +++ b/package/norm/0003-fix-const-qualifier-gcc7.patch @@ -0,0 +1,46 @@ +protolib: remove const qualifiers in ProtoSortedTreeTemplate + +The methods PeekPrevItem() and PeekNextItem() in +ProtoSortedTreeTemplate were using a const qualifier, but not the +corresponding methods in ProtoSortedTree, causing a build failure with +gcc 7.x: + +norm-1.5r6/protolib/include/protoTree.h: In member function 'ITEM_TYPE* ProtoSortedTreeTemplate<ITEM_TYPE>::Iterator::PeekPrevItem() const': +norm-1.5r6/protolib/include/protoTree.h:652:93: error: no matching function for call to 'ProtoSortedTreeTemplate<ITEM_TYPE>::Iterator::PeekPrevItem() const' + {return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::PeekPrevItem());} + ^ +norm-1.5r6/protolib/include/protoTree.h:565:23: note: candidate: ProtoSortedTree::Item* ProtoSortedTree::Iterator::PeekPrevItem() <near match> + Item* PeekPrevItem() + ^~~~~~~~~~~~ + +Since the same methods in ProtoTreeTemplate don't have the const +qualifier, we take the simple solution of dropping such qualifiers +from ProtoSortedTreeTemplate as well, which fixes the build of norm +with gcc 7.x. + +Many thanks to Romain Naour <romain.naour@gmail.com> for pointing out +the solution. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +[Patch has been submitted upstream and accepted, but mailing list +archive not updated.] + +Index: b/protolib/include/protoTree.h +=================================================================== +--- a/protolib/include/protoTree.h ++++ b/protolib/include/protoTree.h +@@ -648,12 +648,12 @@ + + ITEM_TYPE* GetPrevItem() + {return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::GetPrevItem());} +- ITEM_TYPE* PeekPrevItem() const ++ ITEM_TYPE* PeekPrevItem() + {return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::PeekPrevItem());} + + ITEM_TYPE* GetNextItem() + {return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::GetNextItem());} +- ITEM_TYPE* PeekNextItem() const ++ ITEM_TYPE* PeekNextItem() + {return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::PeekNextItem());} + + }; // end class ProtoSortedTreeTemplate::Iterator diff --git a/package/nss-pam-ldapd/nss-pam-ldapd.mk b/package/nss-pam-ldapd/nss-pam-ldapd.mk index 1c4f73521a..3eddb5e2a1 100644 --- a/package/nss-pam-ldapd/nss-pam-ldapd.mk +++ b/package/nss-pam-ldapd/nss-pam-ldapd.mk @@ -27,7 +27,7 @@ NSS_PAM_LDAPD_CONF_OPTS += --disable-pam endif define NSS_PAM_LDAPD_INSTALL_INIT_SYSTEMD - $(INSTALL) -m 755 -D package/nss-pam-ldapd/nslcd.service \ + $(INSTALL) -m 644 -D package/nss-pam-ldapd/nslcd.service \ $(TARGET_DIR)/usr/lib/systemd/system/nslcd.service mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants ln -fs ../../../../usr/lib/systemd/system/nslcd.service \ diff --git a/package/nvidia-driver/egl.pc b/package/nvidia-driver/egl.pc new file mode 100644 index 0000000000..a5aeace63c --- /dev/null +++ b/package/nvidia-driver/egl.pc @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: egl +Description: Nvidia OpenGL library +Version: 1 +Cflags: -I${includedir} +Libs: -L${libdir} -lEGL diff --git a/package/nvidia-driver/nvidia-driver.mk b/package/nvidia-driver/nvidia-driver.mk index d8dedd9e3b..6746134a52 100644 --- a/package/nvidia-driver/nvidia-driver.mk +++ b/package/nvidia-driver/nvidia-driver.mk @@ -78,6 +78,7 @@ define NVIDIA_DRIVER_INSTALL_GL_DEV $(SED) 's:__LIBGL_PATH__:/usr/lib:' $(STAGING_DIR)/usr/lib/libGL.la $(SED) 's:-L[^[:space:]]\+::' $(STAGING_DIR)/usr/lib/libGL.la $(INSTALL) -D -m 0644 package/nvidia-driver/gl.pc $(STAGING_DIR)/usr/lib/pkgconfig/gl.pc + $(INSTALL) -D -m 0644 package/nvidia-driver/egl.pc $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc endef # Those libraries are 'private' libraries requiring an agreement with diff --git a/package/openocd/0002-configure-enable-build-on-uclinux.patch b/package/openocd/0002-configure-enable-build-on-uclinux.patch new file mode 100644 index 0000000000..2f2d320840 --- /dev/null +++ b/package/openocd/0002-configure-enable-build-on-uclinux.patch @@ -0,0 +1,26 @@ +From 11ea78c4d253bb90296e2dd8c3f7fbf59ba397b6 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls <bernd.kuhls@t-online.de> +Date: Thu, 17 Aug 2017 06:30:31 +0200 +Subject: [PATCH] configure: enable build on uclinux + +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c680bda7..1a7980a0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -327,7 +327,7 @@ AC_ARG_ENABLE([sysfsgpio], + [build_sysfsgpio=$enableval], [build_sysfsgpio=no]) + + AS_CASE([$host_os], +- [linux*], [], ++ [linux*|uclinux*], [], + [ + AS_IF([test "x$build_sysfsgpio" = "xyes"], [ + AC_MSG_ERROR([sysfsgpio is only available on linux]) +-- +2.11.0 + diff --git a/package/openocd/openocd.hash b/package/openocd/openocd.hash index b36c816682..3fb817b4a2 100644 --- a/package/openocd/openocd.hash +++ b/package/openocd/openocd.hash @@ -1,3 +1,4 @@ # From http://sourceforge.net/projects/openocd/files/openocd/0.10.0/ sha1 3245d43d60a1a93f8b0f6b1ce20b53e38cab7a4a openocd-0.10.0.tar.bz2 md5 b412bdef0481a3859c6585eb69f6f6ba openocd-0.10.0.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/openocd/openocd.mk b/package/openocd/openocd.mk index 96f667b73c..9d2576ceeb 100644 --- a/package/openocd/openocd.mk +++ b/package/openocd/openocd.mk @@ -7,7 +7,10 @@ OPENOCD_VERSION = 0.10.0 OPENOCD_SOURCE = openocd-$(OPENOCD_VERSION).tar.bz2 OPENOCD_SITE = http://sourceforge.net/projects/openocd/files/openocd/$(OPENOCD_VERSION) - +OPENOCD_LICENSE = GPL-2.0+ +OPENOCD_LICENSE_FILES = COPYING +# 0002-configure-enable-build-on-uclinux.patch patches configure.ac +OPENOCD_AUTORECONF = YES OPENOCD_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=gnu99" OPENOCD_CONF_OPTS = \ diff --git a/package/python3/python3.mk b/package/python3/python3.mk index 80905ddbfc..a18dc7faac 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -232,7 +232,7 @@ HOST_PYTHON3_POST_INSTALL_HOOKS += HOST_PYTHON3_INSTALL_SYMLINK endif # Provided to other packages -PYTHON3_PATH = $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/:$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/ +PYTHON3_PATH = $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/ $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/qt-webkit-kiosk/qt-webkit-kiosk.hash b/package/qt-webkit-kiosk/qt-webkit-kiosk.hash index f40d7c7126..8097c88c9d 100644 --- a/package/qt-webkit-kiosk/qt-webkit-kiosk.hash +++ b/package/qt-webkit-kiosk/qt-webkit-kiosk.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 4c6269421515d482f20a2d39897ce75f7ccec6341ecafd47436c9e8c30bcc75f qt-webkit-kiosk-7fe40a350abfbe5ec194e7c6c740f7099e8704cd.tar.gz +sha256 ec05f5bcb202265202a6f3ff74372516ce9beb82206ff67ca2b1b6fcb586ecd2 qt-webkit-kiosk-34efddb0bf0c36c8652f90dcd001db123f286f04.tar.gz diff --git a/package/qt-webkit-kiosk/qt-webkit-kiosk.mk b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk index 341c20a4a0..c279cbe7ce 100644 --- a/package/qt-webkit-kiosk/qt-webkit-kiosk.mk +++ b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT_WEBKIT_KIOSK_VERSION = 7fe40a350abfbe5ec194e7c6c740f7099e8704cd +QT_WEBKIT_KIOSK_VERSION = 34efddb0bf0c36c8652f90dcd001db123f286f04 QT_WEBKIT_KIOSK_SITE = https://github.com/sergey-dryabzhinsky/qt-webkit-kiosk.git QT_WEBKIT_KIOSK_SITE_METHOD = git QT_WEBKIT_KIOSK_DEPENDENCIES = qt5webkit qt5multimedia diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index bbbdd41209..0ca11a5edb 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -190,6 +190,16 @@ else QT5BASE_CONFIGURE_OPTS += -no-libinput endif +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +# only enable gtk support if libgtk3 X11 backend is enabled +ifeq ($(BR2_PACKAGE_LIBGTK3)$(BR2_PACKAGE_LIBGTK3_X11),yy) +QT5BASE_CONFIGURE_OPTS += -gtk +QT5BASE_DEPENDENCIES += libgtk3 +else +QT5BASE_CONFIGURE_OPTS += -no-gtk +endif +endif + # Build the list of libraries to be installed on the target QT5BASE_INSTALL_LIBS_y += Qt5Core QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_XCB) += Qt5XcbQpa diff --git a/package/rpcbind/rpcbind.mk b/package/rpcbind/rpcbind.mk index cf2e81dbbf..5c216afc93 100644 --- a/package/rpcbind/rpcbind.mk +++ b/package/rpcbind/rpcbind.mk @@ -22,9 +22,9 @@ RPCBIND_CONF_OPTS += --with-systemdsystemunitdir=no endif define RPCBIND_INSTALL_INIT_SYSTEMD - $(INSTALL) -m 0755 -D package/rpcbind/rpcbind.service \ + $(INSTALL) -m 0644 -D package/rpcbind/rpcbind.service \ $(TARGET_DIR)/usr/lib/systemd/system/rpcbind.service - $(INSTALL) -m 0755 -D package/rpcbind/rpcbind.socket \ + $(INSTALL) -m 0644 -D package/rpcbind/rpcbind.socket \ $(TARGET_DIR)/usr/lib/systemd/system/rpcbind.socket mkdir -p $(TARGET_DIR)/etc/systemd/system/sockets.target.wants ln -fs ../../../../usr/lib/systemd/system/rpcbind.socket \ diff --git a/package/simicsfs/Config.in b/package/simicsfs/Config.in deleted file mode 100644 index 12b05c17de..0000000000 --- a/package/simicsfs/Config.in +++ /dev/null @@ -1,11 +0,0 @@ -comment "simicsfs needs a Linux kernel to be built" - depends on !BR2_LINUX_KERNEL - -config BR2_PACKAGE_SIMICSFS - bool "simicsfs" - depends on BR2_LINUX_KERNEL - help - A kernel driver that provides access to a host computer's local - filesystem when the target is executing within a SIMICS simulation. - - http://www.cs.sfu.ca/~fedorova/Tech/simics-guides-3.0.26/simics-user-guide-unix/topic33.html diff --git a/package/simicsfs/simicsfs.hash b/package/simicsfs/simicsfs.hash deleted file mode 100644 index 42ada91031..0000000000 --- a/package/simicsfs/simicsfs.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated -sha256 d0cf7caf888dc1e7dc9496c4b59af98eb2b69d6113d6920757465902e1f21f38 simicsfs-1.18.tar.gz diff --git a/package/simicsfs/simicsfs.mk b/package/simicsfs/simicsfs.mk deleted file mode 100644 index fe05302283..0000000000 --- a/package/simicsfs/simicsfs.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# simicsfs -# -################################################################################ - -SIMICSFS_VERSION = 1.18 -SIMICSFS_SITE = http://download.simics.net/pub -SIMICSFS_LICENSE = GPL-2.0+ -SIMICSFS_LICENSE_FILES = hostfs.h - -$(eval $(kernel-module)) -$(eval $(generic-package)) diff --git a/package/skeleton-common/Config.in b/package/skeleton-common/Config.in deleted file mode 100644 index 9abed4292a..0000000000 --- a/package/skeleton-common/Config.in +++ /dev/null @@ -1,2 +0,0 @@ -config BR2_PACKAGE_SKELETON_COMMON - bool diff --git a/package/skeleton-common/skeleton-common.mk b/package/skeleton-common/skeleton-common.mk deleted file mode 100644 index e94dd6e14d..0000000000 --- a/package/skeleton-common/skeleton-common.mk +++ /dev/null @@ -1,90 +0,0 @@ -################################################################################ -# -# skeleton-common -# -################################################################################ - -# The skeleton can't depend on the toolchain, since all packages depends on the -# skeleton and the toolchain is a target package, as is skeleton. -# Hence, skeleton would depends on the toolchain and the toolchain would depend -# on skeleton. -SKELETON_COMMON_ADD_TOOLCHAIN_DEPENDENCY = NO -SKELETON_COMMON_ADD_SKELETON_DEPENDENCY = NO - -# The skeleton also handles the merged /usr case in the sysroot -SKELETON_COMMON_INSTALL_STAGING = YES - -SKELETON_COMMON_PATH = system/skeleton - -define SKELETON_COMMON_INSTALL_TARGET_CMDS - $(call SYSTEM_RSYNC,$(SKELETON_COMMON_PATH),$(TARGET_DIR)) - $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(TARGET_DIR)) - $(call SYSTEM_LIB_SYMLINK,$(TARGET_DIR)) - $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \ - $(TARGET_DIR_WARNING_FILE) -endef - -# We don't care much about what goes in staging, as long as it is -# correctly setup for merged/non-merged /usr. The simplest is to -# fill it in with the content of the skeleton. -define SKELETON_COMMON_INSTALL_STAGING_CMDS - $(call SYSTEM_RSYNC,$(SKELETON_COMMON_PATH),$(STAGING_DIR)) - $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(STAGING_DIR)) - $(call SYSTEM_LIB_SYMLINK,$(STAGING_DIR)) - $(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/include -endef - -SKELETON_COMMON_HOSTNAME = $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME)) -SKELETON_COMMON_ISSUE = $(call qstrip,$(BR2_TARGET_GENERIC_ISSUE)) -SKELETON_COMMON_ROOT_PASSWD = $(call qstrip,$(BR2_TARGET_GENERIC_ROOT_PASSWD)) -SKELETON_COMMON_PASSWD_METHOD = $(call qstrip,$(BR2_TARGET_GENERIC_PASSWD_METHOD)) -SKELETON_COMMON_BIN_SH = $(call qstrip,$(BR2_SYSTEM_BIN_SH)) - -ifneq ($(SKELETON_COMMON_HOSTNAME),) -define SKELETON_COMMON_SET_HOSTNAME - mkdir -p $(TARGET_DIR)/etc - echo "$(SKELETON_COMMON_HOSTNAME)" > $(TARGET_DIR)/etc/hostname - $(SED) '$$a \127.0.1.1\t$(SKELETON_COMMON_HOSTNAME)' \ - -e '/^127.0.1.1/d' $(TARGET_DIR)/etc/hosts -endef -SKELETON_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_COMMON_SET_HOSTNAME -endif - -ifneq ($(SKELETON_COMMON_ISSUE),) -define SKELETON_COMMON_SET_ISSUE - mkdir -p $(TARGET_DIR)/etc - echo "$(SKELETON_COMMON_ISSUE)" > $(TARGET_DIR)/etc/issue -endef -SKELETON_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_COMMON_SET_ISSUE -endif - -ifeq ($(BR2_TARGET_ENABLE_ROOT_LOGIN),y) -ifneq ($(filter $$1$$% $$5$$% $$6$$%,$(SKELETON_COMMON_ROOT_PASSWD)),) -SKELETON_COMMON_ROOT_PASSWORD = '$(SKELETON_COMMON_ROOT_PASSWD)' -else ifneq ($(SKELETON_COMMON_ROOT_PASSWD),) -# This variable will only be evaluated in the finalize stage, so we can -# be sure that host-mkpasswd will have already been built by that time. -SKELETON_COMMON_ROOT_PASSWORD = "`$(MKPASSWD) -m "$(SKELETON_COMMON_PASSWD_METHOD)" "$(SKELETON_COMMON_ROOT_PASSWD)"`" -endif -else # !BR2_TARGET_ENABLE_ROOT_LOGIN -SKELETON_COMMON_ROOT_PASSWORD = "*" -endif -define SKELETON_COMMON_SET_ROOT_PASSWD - $(SED) s,^root:[^:]*:,root:$(SKELETON_COMMON_ROOT_PASSWORD):, $(TARGET_DIR)/etc/shadow -endef -SKELETON_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_COMMON_SET_ROOT_PASSWD - -ifeq ($(BR2_SYSTEM_BIN_SH_NONE),y) -define SKELETON_COMMON_SET_BIN_SH - rm -f $(TARGET_DIR)/bin/sh -endef -else -ifneq ($(SKELETON_COMMON_BIN_SH),) -define SKELETON_COMMON_SET_BIN_SH - ln -sf $(SKELETON_COMMON_BIN_SH) $(TARGET_DIR)/bin/sh -endef -endif -endif -SKELETON_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_COMMON_SET_BIN_SH - -$(eval $(generic-package)) diff --git a/package/skeleton-init-common/Config.in b/package/skeleton-init-common/Config.in new file mode 100644 index 0000000000..0fd95de822 --- /dev/null +++ b/package/skeleton-init-common/Config.in @@ -0,0 +1,2 @@ +config BR2_PACKAGE_SKELETON_INIT_COMMON + bool diff --git a/package/skeleton-init-common/skeleton-init-common.mk b/package/skeleton-init-common/skeleton-init-common.mk new file mode 100644 index 0000000000..8228a8103f --- /dev/null +++ b/package/skeleton-init-common/skeleton-init-common.mk @@ -0,0 +1,90 @@ +################################################################################ +# +# skeleton-init-common +# +################################################################################ + +# The skeleton can't depend on the toolchain, since all packages depends on the +# skeleton and the toolchain is a target package, as is skeleton. +# Hence, skeleton would depends on the toolchain and the toolchain would depend +# on skeleton. +SKELETON_INIT_COMMON_ADD_TOOLCHAIN_DEPENDENCY = NO +SKELETON_INIT_COMMON_ADD_SKELETON_DEPENDENCY = NO + +# The skeleton also handles the merged /usr case in the sysroot +SKELETON_INIT_COMMON_INSTALL_STAGING = YES + +SKELETON_INIT_COMMON_PATH = system/skeleton + +define SKELETON_INIT_COMMON_INSTALL_TARGET_CMDS + $(call SYSTEM_RSYNC,$(SKELETON_INIT_COMMON_PATH),$(TARGET_DIR)) + $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(TARGET_DIR)) + $(call SYSTEM_LIB_SYMLINK,$(TARGET_DIR)) + $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \ + $(TARGET_DIR_WARNING_FILE) +endef + +# We don't care much about what goes in staging, as long as it is +# correctly setup for merged/non-merged /usr. The simplest is to +# fill it in with the content of the skeleton. +define SKELETON_INIT_COMMON_INSTALL_STAGING_CMDS + $(call SYSTEM_RSYNC,$(SKELETON_INIT_COMMON_PATH),$(STAGING_DIR)) + $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(STAGING_DIR)) + $(call SYSTEM_LIB_SYMLINK,$(STAGING_DIR)) + $(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/include +endef + +SKELETON_INIT_COMMON_HOSTNAME = $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME)) +SKELETON_INIT_COMMON_ISSUE = $(call qstrip,$(BR2_TARGET_GENERIC_ISSUE)) +SKELETON_INIT_COMMON_ROOT_PASSWD = $(call qstrip,$(BR2_TARGET_GENERIC_ROOT_PASSWD)) +SKELETON_INIT_COMMON_PASSWD_METHOD = $(call qstrip,$(BR2_TARGET_GENERIC_PASSWD_METHOD)) +SKELETON_INIT_COMMON_BIN_SH = $(call qstrip,$(BR2_SYSTEM_BIN_SH)) + +ifneq ($(SKELETON_INIT_COMMON_HOSTNAME),) +define SKELETON_INIT_COMMON_SET_HOSTNAME + mkdir -p $(TARGET_DIR)/etc + echo "$(SKELETON_INIT_COMMON_HOSTNAME)" > $(TARGET_DIR)/etc/hostname + $(SED) '$$a \127.0.1.1\t$(SKELETON_INIT_COMMON_HOSTNAME)' \ + -e '/^127.0.1.1/d' $(TARGET_DIR)/etc/hosts +endef +SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_HOSTNAME +endif + +ifneq ($(SKELETON_INIT_COMMON_ISSUE),) +define SKELETON_INIT_COMMON_SET_ISSUE + mkdir -p $(TARGET_DIR)/etc + echo "$(SKELETON_INIT_COMMON_ISSUE)" > $(TARGET_DIR)/etc/issue +endef +SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_ISSUE +endif + +ifeq ($(BR2_TARGET_ENABLE_ROOT_LOGIN),y) +ifneq ($(filter $$1$$% $$5$$% $$6$$%,$(SKELETON_INIT_COMMON_ROOT_PASSWD)),) +SKELETON_INIT_COMMON_ROOT_PASSWORD = '$(SKELETON_INIT_COMMON_ROOT_PASSWD)' +else ifneq ($(SKELETON_INIT_COMMON_ROOT_PASSWD),) +# This variable will only be evaluated in the finalize stage, so we can +# be sure that host-mkpasswd will have already been built by that time. +SKELETON_INIT_COMMON_ROOT_PASSWORD = "`$(MKPASSWD) -m "$(SKELETON_INIT_COMMON_PASSWD_METHOD)" "$(SKELETON_INIT_COMMON_ROOT_PASSWD)"`" +endif +else # !BR2_TARGET_ENABLE_ROOT_LOGIN +SKELETON_INIT_COMMON_ROOT_PASSWORD = "*" +endif +define SKELETON_INIT_COMMON_SET_ROOT_PASSWD + $(SED) s,^root:[^:]*:,root:$(SKELETON_INIT_COMMON_ROOT_PASSWORD):, $(TARGET_DIR)/etc/shadow +endef +SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_ROOT_PASSWD + +ifeq ($(BR2_SYSTEM_BIN_SH_NONE),y) +define SKELETON_INIT_COMMON_SET_BIN_SH + rm -f $(TARGET_DIR)/bin/sh +endef +else +ifneq ($(SKELETON_INIT_COMMON_BIN_SH),) +define SKELETON_INIT_COMMON_SET_BIN_SH + ln -sf $(SKELETON_INIT_COMMON_BIN_SH) $(TARGET_DIR)/bin/sh +endef +endif +endif +SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_BIN_SH + +$(eval $(generic-package)) diff --git a/package/skeleton-init-none/Config.in b/package/skeleton-init-none/Config.in new file mode 100644 index 0000000000..449bf66125 --- /dev/null +++ b/package/skeleton-init-none/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_SKELETON_INIT_NONE + bool + select BR2_PACKAGE_HAS_SKELETON + select BR2_PACKAGE_SKELETON_INIT_COMMON + +config BR2_PACKAGE_PROVIDES_SKELETON + default "skeleton-init-none" if BR2_PACKAGE_SKELETON_INIT_NONE diff --git a/package/skeleton-none/skeleton-none.mk b/package/skeleton-init-none/skeleton-init-none.mk index 9e9579866a..8181aa0354 100644 --- a/package/skeleton-none/skeleton-none.mk +++ b/package/skeleton-init-none/skeleton-init-none.mk @@ -1,6 +1,6 @@ ################################################################################ # -# skeleton-none +# skeleton-init-none # ################################################################################ @@ -8,11 +8,11 @@ # skeleton and the toolchain is a target package, as is skeleton. # Hence, skeleton would depends on the toolchain and the toolchain would depend # on skeleton. -SKELETON_NONE_ADD_TOOLCHAIN_DEPENDENCY = NO -SKELETON_NONE_ADD_SKELETON_DEPENDENCY = NO +SKELETON_INIT_NONE_ADD_TOOLCHAIN_DEPENDENCY = NO +SKELETON_INIT_NONE_ADD_SKELETON_DEPENDENCY = NO -SKELETON_NONE_DEPENDENCIES = skeleton-common +SKELETON_INIT_NONE_DEPENDENCIES = skeleton-init-common -SKELETON_NONE_PROVIDES = skeleton +SKELETON_INIT_NONE_PROVIDES = skeleton $(eval $(generic-package)) diff --git a/package/skeleton-init-systemd/Config.in b/package/skeleton-init-systemd/Config.in new file mode 100644 index 0000000000..59b21d155e --- /dev/null +++ b/package/skeleton-init-systemd/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_SKELETON_INIT_SYSTEMD + bool + select BR2_PACKAGE_HAS_SKELETON + select BR2_PACKAGE_SKELETON_INIT_COMMON + +config BR2_PACKAGE_PROVIDES_SKELETON + default "skeleton-init-systemd" if BR2_PACKAGE_SKELETON_INIT_SYSTEMD diff --git a/package/skeleton-systemd/skeleton-systemd.mk b/package/skeleton-init-systemd/skeleton-init-systemd.mk index 860ebea2cd..a2d4e8c4b3 100644 --- a/package/skeleton-systemd/skeleton-systemd.mk +++ b/package/skeleton-init-systemd/skeleton-init-systemd.mk @@ -1,6 +1,6 @@ ################################################################################ # -# skeleton-systemd +# skeleton-init-systemd # ################################################################################ @@ -8,16 +8,16 @@ # skeleton and the toolchain is a target package, as is skeleton. # Hence, skeleton would depends on the toolchain and the toolchain would depend # on skeleton. -SKELETON_SYSTEMD_ADD_TOOLCHAIN_DEPENDENCY = NO -SKELETON_SYSTEMD_ADD_SKELETON_DEPENDENCY = NO +SKELETON_INIT_SYSTEMD_ADD_TOOLCHAIN_DEPENDENCY = NO +SKELETON_INIT_SYSTEMD_ADD_SKELETON_DEPENDENCY = NO -SKELETON_SYSTEMD_DEPENDENCIES = skeleton-common +SKELETON_INIT_SYSTEMD_DEPENDENCIES = skeleton-init-common -SKELETON_SYSTEMD_PROVIDES = skeleton +SKELETON_INIT_SYSTEMD_PROVIDES = skeleton ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y) -define SKELETON_SYSTEMD_ROOT_RO_OR_RW +define SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW echo "/dev/root / auto rw 0 1" >$(TARGET_DIR)/etc/fstab mkdir -p $(TARGET_DIR)/var endef @@ -29,7 +29,7 @@ else # filesystem gets created, the /var symlink will be replaced with # a real (but empty) directory, and the "factory files" will be copied # back there by the tmpfiles.d mechanism. -define SKELETON_SYSTEMD_ROOT_RO_OR_RW +define SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW mkdir -p $(TARGET_DIR)/etc/systemd/tmpfiles.d mkdir -p $(TARGET_DIR)/usr/share/factory/var ln -s usr/share/factory/var $(TARGET_DIR)/var @@ -37,7 +37,7 @@ define SKELETON_SYSTEMD_ROOT_RO_OR_RW echo "tmpfs /var tmpfs mode=1777 0 0" >>$(TARGET_DIR)/etc/fstab endef -define SKELETON_SYSTEMD_PRE_ROOTFS_VAR +define SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR rm -f $(TARGET_DIR)/var mkdir $(TARGET_DIR)/var for i in $(TARGET_DIR)/usr/share/factory/var/*; do \ @@ -52,20 +52,20 @@ define SKELETON_SYSTEMD_PRE_ROOTFS_VAR fi; \ done >$(TARGET_DIR)/etc/tmpfiles.d/var-factory.conf endef -SKELETON_SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SKELETON_SYSTEMD_PRE_ROOTFS_VAR +SKELETON_INIT_SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR -define SKELETON_SYSTEMD_POST_ROOTFS_VAR +define SKELETON_INIT_SYSTEMD_POST_ROOTFS_VAR rm -rf $(TARGET_DIR)/var ln -s usr/share/factory/var $(TARGET_DIR)/var endef -SKELETON_SYSTEMD_ROOTFS_POST_CMD_HOOKS += SKELETON_SYSTEMD_POST_ROOTFS_VAR +SKELETON_INIT_SYSTEMD_ROOTFS_POST_CMD_HOOKS += SKELETON_INIT_SYSTEMD_POST_ROOTFS_VAR endif -define SKELETON_SYSTEMD_INSTALL_TARGET_CMDS +define SKELETON_INIT_SYSTEMD_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/home mkdir -p $(TARGET_DIR)/srv - $(SKELETON_SYSTEMD_ROOT_RO_OR_RW) + $(SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW) endef $(eval $(generic-package)) diff --git a/package/skeleton-init-sysv/Config.in b/package/skeleton-init-sysv/Config.in new file mode 100644 index 0000000000..6f645f9e25 --- /dev/null +++ b/package/skeleton-init-sysv/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_SKELETON_INIT_SYSV + bool + select BR2_PACKAGE_HAS_SKELETON + select BR2_PACKAGE_SKELETON_INIT_COMMON + +config BR2_PACKAGE_PROVIDES_SKELETON + default "skeleton-init-sysv" if BR2_PACKAGE_SKELETON_INIT_SYSV diff --git a/package/skeleton-sysv/skeleton-sysv.mk b/package/skeleton-init-sysv/skeleton-init-sysv.mk index b5fa396ac2..c89c2dc1fd 100644 --- a/package/skeleton-sysv/skeleton-sysv.mk +++ b/package/skeleton-init-sysv/skeleton-init-sysv.mk @@ -1,6 +1,6 @@ ################################################################################ # -# skeleton-sysv +# skeleton-init-sysv # ################################################################################ @@ -8,15 +8,15 @@ # skeleton and the toolchain is a target package, as is skeleton. # Hence, skeleton would depends on the toolchain and the toolchain would depend # on skeleton. -SKELETON_SYSV_ADD_TOOLCHAIN_DEPENDENCY = NO -SKELETON_SYSV_ADD_SKELETON_DEPENDENCY = NO +SKELETON_INIT_SYSV_ADD_TOOLCHAIN_DEPENDENCY = NO +SKELETON_INIT_SYSV_ADD_SKELETON_DEPENDENCY = NO -SKELETON_SYSV_DEPENDENCIES = skeleton-common +SKELETON_INIT_SYSV_DEPENDENCIES = skeleton-init-common -SKELETON_SYSV_PROVIDES = skeleton +SKELETON_INIT_SYSV_PROVIDES = skeleton -define SKELETON_SYSV_INSTALL_TARGET_CMDS - $(call SYSTEM_RSYNC,$(SKELETON_SYSV_PKGDIR)/skeleton,$(TARGET_DIR)) +define SKELETON_INIT_SYSV_INSTALL_TARGET_CMDS + $(call SYSTEM_RSYNC,$(SKELETON_INIT_SYSV_PKGDIR)/skeleton,$(TARGET_DIR)) endef $(eval $(generic-package)) diff --git a/package/skeleton-sysv/skeleton/dev/log b/package/skeleton-init-sysv/skeleton/dev/log index d96b3b1cb8..d96b3b1cb8 120000 --- a/package/skeleton-sysv/skeleton/dev/log +++ b/package/skeleton-init-sysv/skeleton/dev/log diff --git a/package/skeleton-sysv/skeleton/dev/pts/.empty b/package/skeleton-init-sysv/skeleton/dev/pts/.empty index e69de29bb2..e69de29bb2 100644 --- a/package/skeleton-sysv/skeleton/dev/pts/.empty +++ b/package/skeleton-init-sysv/skeleton/dev/pts/.empty diff --git a/package/skeleton-sysv/skeleton/dev/shm/.empty b/package/skeleton-init-sysv/skeleton/dev/shm/.empty index e69de29bb2..e69de29bb2 100644 --- a/package/skeleton-sysv/skeleton/dev/shm/.empty +++ b/package/skeleton-init-sysv/skeleton/dev/shm/.empty diff --git a/package/skeleton-sysv/skeleton/etc/fstab b/package/skeleton-init-sysv/skeleton/etc/fstab index 169054b74f..169054b74f 100644 --- a/package/skeleton-sysv/skeleton/etc/fstab +++ b/package/skeleton-init-sysv/skeleton/etc/fstab diff --git a/package/skeleton-sysv/skeleton/var/cache b/package/skeleton-init-sysv/skeleton/var/cache index 1431b0e432..1431b0e432 120000 --- a/package/skeleton-sysv/skeleton/var/cache +++ b/package/skeleton-init-sysv/skeleton/var/cache diff --git a/package/skeleton-sysv/skeleton/var/lib/misc b/package/skeleton-init-sysv/skeleton/var/lib/misc index f1fde8c107..f1fde8c107 120000 --- a/package/skeleton-sysv/skeleton/var/lib/misc +++ b/package/skeleton-init-sysv/skeleton/var/lib/misc diff --git a/package/skeleton-sysv/skeleton/var/lock b/package/skeleton-init-sysv/skeleton/var/lock index 1431b0e432..1431b0e432 120000 --- a/package/skeleton-sysv/skeleton/var/lock +++ b/package/skeleton-init-sysv/skeleton/var/lock diff --git a/package/skeleton-sysv/skeleton/var/log b/package/skeleton-init-sysv/skeleton/var/log index 1431b0e432..1431b0e432 120000 --- a/package/skeleton-sysv/skeleton/var/log +++ b/package/skeleton-init-sysv/skeleton/var/log diff --git a/package/skeleton-sysv/skeleton/var/run b/package/skeleton-init-sysv/skeleton/var/run index 84ba55b912..84ba55b912 120000 --- a/package/skeleton-sysv/skeleton/var/run +++ b/package/skeleton-init-sysv/skeleton/var/run diff --git a/package/skeleton-sysv/skeleton/var/spool b/package/skeleton-init-sysv/skeleton/var/spool index 1431b0e432..1431b0e432 120000 --- a/package/skeleton-sysv/skeleton/var/spool +++ b/package/skeleton-init-sysv/skeleton/var/spool diff --git a/package/skeleton-sysv/skeleton/var/tmp b/package/skeleton-init-sysv/skeleton/var/tmp index 1431b0e432..1431b0e432 120000 --- a/package/skeleton-sysv/skeleton/var/tmp +++ b/package/skeleton-init-sysv/skeleton/var/tmp diff --git a/package/skeleton-none/Config.in b/package/skeleton-none/Config.in deleted file mode 100644 index 43fb3f277c..0000000000 --- a/package/skeleton-none/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_SKELETON_NONE - bool - select BR2_PACKAGE_HAS_SKELETON - select BR2_PACKAGE_SKELETON_COMMON - -config BR2_PACKAGE_PROVIDES_SKELETON - default "skeleton-none" if BR2_PACKAGE_SKELETON_NONE diff --git a/package/skeleton-systemd/Config.in b/package/skeleton-systemd/Config.in deleted file mode 100644 index c507264598..0000000000 --- a/package/skeleton-systemd/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_SKELETON_SYSTEMD - bool - select BR2_PACKAGE_HAS_SKELETON - select BR2_PACKAGE_SKELETON_COMMON - -config BR2_PACKAGE_PROVIDES_SKELETON - default "skeleton-systemd" if BR2_PACKAGE_SKELETON_SYSTEMD diff --git a/package/skeleton-sysv/Config.in b/package/skeleton-sysv/Config.in deleted file mode 100644 index 2f6dbd9673..0000000000 --- a/package/skeleton-sysv/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_SKELETON_SYSV - bool - select BR2_PACKAGE_HAS_SKELETON - select BR2_PACKAGE_SKELETON_COMMON - -config BR2_PACKAGE_PROVIDES_SKELETON - default "skeleton-sysv" if BR2_PACKAGE_SKELETON_SYSV diff --git a/package/squid/squid.mk b/package/squid/squid.mk index bcb3744dee..d334d14c88 100644 --- a/package/squid/squid.mk +++ b/package/squid/squid.mk @@ -21,7 +21,7 @@ SQUID_CONF_ENV = \ ac_cv_func___va_copy=yes \ ac_cv_func_strnstr=no \ ac_cv_have_squid=yes \ - BUILXCXX="$(HOSTCXX)" \ + BUILDCXX="$(HOSTCXX)" \ BUILDCXXFLAGS="$(HOST_CXXFLAGS)" SQUID_CONF_OPTS = \ --enable-async-io=8 \ diff --git a/package/swupdate/Config.in b/package/swupdate/Config.in index dbc69f1fe8..7a0f9d12e5 100644 --- a/package/swupdate/Config.in +++ b/package/swupdate/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_SWUPDATE depends on BR2_USE_MMU # fork() # swupdate requires a parser and uses libconfig as default select BR2_PACKAGE_LIBCONFIG if !BR2_PACKAGE_JSON_C && \ - !BR2_PACKAGE_HAS_LUAINTERPRETER + !BR2_PACKAGE_LUA_5_2 && !BR2_PACKAGE_LUA_5_3 help swupdate provides a reliable way to update the software on an embedded system. @@ -19,11 +19,8 @@ config BR2_PACKAGE_SWUPDATE use your own modified configuration, you have to select the necessary packages manually: - * Select BR2_PACKAGE_LUA or BR2_PACKAGE_LUAJIT if you want + * Select BR2_PACKAGE_LUA_5_2 or BR2_PACKAGE_LUA_5_3 if you want to have Lua support. - CONFIG_HANDLER_IN_LUA is not supported in LuaJIT or Lua 5.1. - Note that for LuaJIT support, you need to set - CONFIG_LUAVERSION="jit-5.1". * Select BR2_LIBCURL if you want to use the download feature. * Select BR2_PACKAGE_OPENSSL is you want to add encryption support. * Select BR2_PACKAGE_MTD if you want to use swupdate with UBI diff --git a/package/swupdate/swupdate.mk b/package/swupdate/swupdate.mk index ee92adddf0..fbb092da05 100644 --- a/package/swupdate/swupdate.mk +++ b/package/swupdate/swupdate.mk @@ -39,8 +39,8 @@ else SWUPDATE_MAKE_ENV += HAVE_LIBCURL=n endif -ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER),y) -SWUPDATE_DEPENDENCIES += luainterpreter host-pkgconf +ifeq ($(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUA_5_3),y) +SWUPDATE_DEPENDENCIES += lua host-pkgconf SWUPDATE_MAKE_ENV += HAVE_LUA=y else SWUPDATE_MAKE_ENV += HAVE_LUA=n diff --git a/package/sysvinit/0002-musl-fix-compilation-errors.patch b/package/sysvinit/0002-musl-fix-compilation-errors.patch new file mode 100644 index 0000000000..5dcdecf72b --- /dev/null +++ b/package/sysvinit/0002-musl-fix-compilation-errors.patch @@ -0,0 +1,38 @@ +Fix various compilation errors when compiling against must libc + +Signed-off-by: Dagg Stompler <daggs@gmx.com> + +diff -Nupr a/src/init.c b/src/init.c +--- a/src/init.c 2017-08-13 18:44:27.000000000 +0300 ++++ b/src/init.c 2017-08-13 18:34:45.000000000 +0300 +@@ -37,6 +37,7 @@ + #include <sys/kd.h> + #endif + #include <sys/resource.h> ++#include <sys/ttydefaults.h> + #include <stdlib.h> + #include <unistd.h> + #include <errno.h> +diff -Nupr a/src/init.h b/src/init.h +--- a/src/init.h 2017-08-13 19:35:46.000000000 +0300 ++++ b/src/init.h 2017-08-13 19:36:01.000000000 +0300 +@@ -22,6 +22,8 @@ + * + */ + ++#include <time.h> ++ + /* Standard configuration */ + #define CHANGE_WAIT 0 /* Change runlevel while + waiting for a process to exit? */ +diff -Nupr a/src/mountpoint.c b/src/mountpoint.c +--- a/src/mountpoint.c 2017-08-13 20:28:26.000000000 +0300 ++++ b/src/mountpoint.c 2017-08-13 20:28:40.000000000 +0300 +@@ -24,6 +24,7 @@ + */ + + #include <sys/stat.h> ++#include <sys/types.h> + #include <unistd.h> + #include <stdlib.h> + #include <string.h> diff --git a/package/transmission/Config.in b/package/transmission/Config.in index b47c36fdd3..2110e52ac6 100644 --- a/package/transmission/Config.in +++ b/package/transmission/Config.in @@ -39,12 +39,12 @@ config BR2_PACKAGE_TRANSMISSION_REMOTE config BR2_PACKAGE_TRANSMISSION_GTK bool "transmission-gtk" - depends on BR2_PACKAGE_LIBGTK2 && BR2_ENABLE_LOCALE + depends on BR2_PACKAGE_LIBGTK3 && BR2_SYSTEM_ENABLE_NLS help Install transmission GTK-based GUI interface. -comment "transmission-gtk needs a toolchain w/ locale" - depends on BR2_PACKAGE_LIBGTK2 && !BR2_ENABLE_LOCALE +comment "transmission-gtk needs NLS enabled" + depends on BR2_PACKAGE_LIBGTK3 && !BR2_SYSTEM_ENABLE_NLS endif comment "transmission needs a toolchain w/ threads" diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk index f8abb2b8ba..7f4675302e 100644 --- a/package/transmission/transmission.mk +++ b/package/transmission/transmission.mk @@ -64,7 +64,7 @@ define TRANSMISSION_INSTALL_INIT_SYSV endef define TRANSMISSION_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 0755 $(@D)/daemon/transmission-daemon.service \ + $(INSTALL) -D -m 0644 $(@D)/daemon/transmission-daemon.service \ $(TARGET_DIR)/usr/lib/systemd/system/transmission-daemon.service mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants ln -fs ../../../../usr/lib/systemd/system/transmission-daemon.service \ @@ -82,10 +82,10 @@ TRANSMISSION_CONF_OPTS += --disable-remote endif ifeq ($(BR2_PACKAGE_TRANSMISSION_GTK),y) -TRANSMISSION_CONF_OPTS += --enable-gtk -TRANSMISSION_DEPENDENCIES += libgtk2 +TRANSMISSION_CONF_OPTS += --with-gtk +TRANSMISSION_DEPENDENCIES += libgtk3 else -TRANSMISSION_CONF_OPTS += --disable-gtk +TRANSMISSION_CONF_OPTS += --without-gtk endif $(eval $(autotools-package)) diff --git a/package/valgrind/Config.in b/package/valgrind/Config.in index 40e219d95a..75b779d214 100644 --- a/package/valgrind/Config.in +++ b/package/valgrind/Config.in @@ -1,14 +1,19 @@ +config BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS + bool + default y if BR2_ARM_CPU_ARMV7A + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_i386 || BR2_x86_64 + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + depends on !BR2_MIPS_SOFT_FLOAT + comment "valgrind needs a toolchain w/ dynamic library" + depends on BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS depends on BR2_STATIC_LIBS config BR2_PACKAGE_VALGRIND bool "valgrind" - depends on BR2_ARM_CPU_ARMV7A || BR2_i386 || \ - BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \ - BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ - BR2_x86_64 + depends on BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS depends on !BR2_STATIC_LIBS - depends on !BR2_MIPS_SOFT_FLOAT help Tool for debugging and profiling Linux programs. diff --git a/package/vde2/0002-fstp-Add-static-to-inline-functions.patch b/package/vde2/0002-fstp-Add-static-to-inline-functions.patch new file mode 100644 index 0000000000..0dbe083d06 --- /dev/null +++ b/package/vde2/0002-fstp-Add-static-to-inline-functions.patch @@ -0,0 +1,44 @@ +From 67bc8443ac7e8144a78d84dee30a5cac3b5c99a4 Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@gmail.com> +Date: Sun, 27 Aug 2017 23:56:05 +0200 +Subject: [PATCH] fstp: Add static to inline functions + +From [1] +"This is needed to avoid a link error where the inline functions appear +missing at link time. +From c99 standard inline function should either be declared static or +have an extern instance in a c file for linking. +This fix is necessary to build with gcc 7; for some reason it was not +trigerred before." + +[1] https://git.buildroot.net/buildroot/commit/?id=21133ada326c87627f7bdee4493d8086587c3cca + +Signed-off-by: Romain Naour <romain.naour@gmail.com> +--- + src/vde_switch/fstp.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/vde_switch/fstp.c b/src/vde_switch/fstp.c +index aab7324..b1e7ee8 100644 +--- a/src/vde_switch/fstp.c ++++ b/src/vde_switch/fstp.c +@@ -30,14 +30,14 @@ static int numports; + #ifdef FSTP + #include <fstp.h> + /*********************** sending macro used by FSTP & Core ******************/ +-void inline ltonstring(unsigned long l,unsigned char *s) { ++static void inline ltonstring(unsigned long l,unsigned char *s) { + s[3]=l; l>>=8; + s[2]=l; l>>=8; + s[1]=l; l>>=8; + s[0]=l; + } + +-unsigned long inline nstringtol(unsigned char *s) { ++static unsigned long inline nstringtol(unsigned char *s) { + return (s[0]<<24)+(s[1]<<16)+(s[2]<<8)+s[3]; + } + +-- +2.9.5 + diff --git a/package/vim/vim.mk b/package/vim/vim.mk index c235a08cd3..5ee889882a 100644 --- a/package/vim/vim.mk +++ b/package/vim/vim.mk @@ -75,4 +75,7 @@ VIM_POST_INSTALL_TARGET_HOOKS += VIM_INSTALL_RUNTIME_CMDS VIM_POST_INSTALL_TARGET_HOOKS += VIM_REMOVE_DOCS endif +HOST_VIM_DEPENDENCIES = host-ncurses + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/webkitgtk/0004-GTK-WPE-CFLAGS-from-pkg-config-for-E-GL-are-not-pass.patch b/package/webkitgtk/0004-GTK-WPE-CFLAGS-from-pkg-config-for-E-GL-are-not-pass.patch new file mode 100644 index 0000000000..91c5116a2a --- /dev/null +++ b/package/webkitgtk/0004-GTK-WPE-CFLAGS-from-pkg-config-for-E-GL-are-not-pass.patch @@ -0,0 +1,64 @@ +From 6579c307d85a9b447d3b7f13b25fb0a52177ed09 Mon Sep 17 00:00:00 2001 +From: Carlos Alberto Lopez Perez <clopez@igalia.com> +Date: Thu, 3 Aug 2017 13:57:14 +0300 +Subject: [PATCH] [GTK][WPE] CFLAGS from pkg-config for (E)GL are not passed to + WebKit https://bugs.webkit.org/show_bug.cgi?id=175125 + +Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2017-08-03 +Reviewed by NOBODY (OOPS!). + +* CMakeLists.txt: Pass GL-related flags to the WebKit component when + appropriate. + +Signed-off-by: Adrian Perez de Castro <aperez@igalia.com> + +--- + Source/WebKit2/CMakeLists.txt | 31 +++++++++++++++++++++++++++++++ + Source/WebKit2/ChangeLog | 10 ++++++++++ + 2 files changed, 41 insertions(+) + +diff --git a/Source/WebKit2/CMakeLists.txt b/Source/WebKit2/CMakeLists.txt +index 2d8215f6a35..b25e9872de2 100644 +--- a/Source/WebKit2/CMakeLists.txt ++++ b/Source/WebKit2/CMakeLists.txt +@@ -88,6 +88,37 @@ set(WebKit2_SYSTEM_INCLUDE_DIRECTORIES + ) + + if (ENABLE_GRAPHICS_CONTEXT_3D) ++ # For platforms that want to use system-provided OpenGL (ES) / EGL headers, ++ # these include directories, libraries or definitions need to be ++ # added before the ANGLE directories. ++ if (USE_OPENGL) ++ list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES ++ ${OPENGL_INCLUDE_DIRS} ++ ) ++ list(APPEND WebKit2_LIBRARIES ++ ${OPENGL_LIBRARIES} ++ ) ++ add_definitions(${OPENGL_DEFINITIONS}) ++ elseif (USE_OPENGL_ES_2) ++ list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES ++ ${OPENGLES2_INCLUDE_DIRS} ++ ) ++ list(APPEND WebKit2_LIBRARIES ++ ${OPENGLES2_LIBRARIES} ++ ) ++ add_definitions(${OPENGLES2_DEFINITIONS}) ++ endif () ++ ++ if (USE_EGL) ++ list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES ++ ${EGL_INCLUDE_DIRS} ++ ) ++ list(APPEND WebKit2_LIBRARIES ++ ${EGL_LIBRARIES} ++ ) ++ add_definitions(${EGL_DEFINITIONS}) ++ endif () ++ + list(APPEND WebKit2_INCLUDE_DIRECTORIES + "${THIRDPARTY_DIR}/ANGLE" + "${THIRDPARTY_DIR}/ANGLE/include/KHR" +-- +2.13.4 + diff --git a/package/whois/Config.in b/package/whois/Config.in index 9505d58320..d2a030282b 100644 --- a/package/whois/Config.in +++ b/package/whois/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_WHOIS help Improved whois client. - http://www.linux.it/~md/software/ + https://github.com/rfc1036/whois diff --git a/package/whois/whois.hash b/package/whois/whois.hash index 6f65074c2c..29623b529f 100644 --- a/package/whois/whois.hash +++ b/package/whois/whois.hash @@ -1,2 +1,2 @@ -# From http://ftp.debian.org/debian/pool/main/w/whois/whois_5.2.14.dsc -sha256 a41daf41abed0fbfa8c9c4b0e4a3f5f22d9876dd6feb9091aac12f8f4c38b0d2 whois_5.2.14.tar.xz +# From http://snapshot.debian.org/archive/debian/20170727T214450Z/pool/main/w/whois/whois_5.2.17.dsc +sha256 257585678f571e18964667b41dc6543fe9da6123ac95743660c9c3ae1eba9664 whois_5.2.17.tar.xz diff --git a/package/whois/whois.mk b/package/whois/whois.mk index b773499978..22117cf3aa 100644 --- a/package/whois/whois.mk +++ b/package/whois/whois.mk @@ -4,8 +4,8 @@ # ################################################################################ -WHOIS_VERSION = 5.2.14 -WHOIS_SITE = http://snapshot.debian.org/archive/debian/20161230T032015Z/pool/main/w/whois +WHOIS_VERSION = 5.2.17 +WHOIS_SITE = http://snapshot.debian.org/archive/debian/20170727T214450Z/pool/main/w/whois WHOIS_SOURCE = whois_$(WHOIS_VERSION).tar.xz # take precedence over busybox implementation WHOIS_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) $(TARGET_NLS_DEPENDENCIES) @@ -27,13 +27,22 @@ WHOIS_DEPENDENCIES += libidn WHOIS_MAKE_ENV += HAVE_LIBIDN=1 endif +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) +WHOIS_BUILD_TARGETS = +WHOIS_INSTALL_TARGETS = install +else +WHOIS_BUILD_TARGETS = Makefile.depend whois mkpasswd +WHOIS_INSTALL_TARGETS = install-whois install-mkpasswd +endif + define WHOIS_BUILD_CMDS - $(WHOIS_MAKE_ENV) $(MAKE) $(WHOIS_MAKE_OPTS) -C $(@D) + $(WHOIS_MAKE_ENV) $(MAKE) $(WHOIS_MAKE_OPTS) \ + $(WHOIS_BUILD_TARGETS) -C $(@D) endef define WHOIS_INSTALL_TARGET_CMDS $(WHOIS_MAKE_ENV) $(MAKE) $(WHOIS_MAKE_OPTS) \ - BASEDIR="$(TARGET_DIR)" install -C $(@D) + BASEDIR="$(TARGET_DIR)" $(WHOIS_INSTALL_TARGETS) -C $(@D) endef $(eval $(generic-package)) diff --git a/package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch b/package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch new file mode 100644 index 0000000000..e8d4b32f50 --- /dev/null +++ b/package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch @@ -0,0 +1,41 @@ +From d4eece000391583a6e32a225d7eb5b573a5c5565 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls <bernd.kuhls@t-online.de> +Date: Sat, 19 Aug 2017 15:22:58 +0200 +Subject: [PATCH] tools/libxc/xc_dom_arm: add missing variable initialization + +The variable domctl.u.address_size.size may remain uninitialized if +guest_type is not one of xen-3.0-aarch64 or xen-3.0-armv7l. And the +code precisely checks if this variable is still 0 to decide if the +guest type is supported or not. + +This fixes the following build failure with gcc 7.x: + +xc_dom_arm.c:229:31: error: 'domctl.u.address_size.size' may be used uninitialized in this function [-Werror=maybe-uninitialized] + if ( domctl.u.address_size.size == 0 ) + +Patch originally taken from +https://www.mail-archive.com/xen-devel@lists.xen.org/msg109313.html. + +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> +[Thomas: improved commit log, reformatted with Git.] +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + tools/libxc/xc_dom_arm.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tools/libxc/xc_dom_arm.c b/tools/libxc/xc_dom_arm.c +index e7d4bd0..e669fb0 100644 +--- a/tools/libxc/xc_dom_arm.c ++++ b/tools/libxc/xc_dom_arm.c +@@ -223,6 +223,8 @@ static int set_mode(xc_interface *xch, domid_t domid, char *guest_type) + + domctl.domain = domid; + domctl.cmd = XEN_DOMCTL_set_address_size; ++ domctl.u.address_size.size = 0; ++ + for ( i = 0; i < ARRAY_SIZE(types); i++ ) + if ( !strcmp(types[i].guest, guest_type) ) + domctl.u.address_size.size = types[i].size; +-- +2.9.4 + diff --git a/package/zmqpp/zmqpp.mk b/package/zmqpp/zmqpp.mk index d651c3280b..f576527463 100644 --- a/package/zmqpp/zmqpp.mk +++ b/package/zmqpp/zmqpp.mk @@ -13,6 +13,10 @@ ZMQPP_LICENSE_FILES = LICENSE ZMQPP_MAKE_OPTS = LD="$(TARGET_CXX)" BUILD_PATH=./build PREFIX=/usr ZMQPP_LDFLAGS = $(TARGET_LDFLAGS) -lpthread +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +ZMQPP_LDFLAGS += -latomic +endif + ifeq ($(BR2_PACKAGE_ZMQPP_CLIENT),y) ZMQPP_DEPENDENCIES += boost endif diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile index d26f246e03..cb41c303fc 100644 --- a/support/misc/Vagrantfile +++ b/support/misc/Vagrantfile @@ -5,7 +5,7 @@ ################################################################################ # Buildroot version to use -RELEASE='2017.05' +RELEASE='2017.08' ### Change here for more memory/cores ### VM_MEMORY=2048 diff --git a/support/testing/infra/basetest.py b/support/testing/infra/basetest.py index 431605b23f..493dea5125 100644 --- a/support/testing/infra/basetest.py +++ b/support/testing/infra/basetest.py @@ -35,6 +35,7 @@ class BRTest(unittest.TestCase): logtofile = True keepbuilds = False jlevel = 0 + timeout_multiplier = 1 def __init__(self, names): super(BRTest, self).__init__(names) @@ -60,7 +61,8 @@ class BRTest(unittest.TestCase): self.b.build() self.show_msg("Building done") - self.emulator = Emulator(self.builddir, self.downloaddir, self.logtofile) + self.emulator = Emulator(self.builddir, self.downloaddir, + self.logtofile, self.timeout_multiplier) def tearDown(self): self.show_msg("Cleaning up") diff --git a/support/testing/infra/emulator.py b/support/testing/infra/emulator.py index 588a92f6a2..802e89d4b4 100644 --- a/support/testing/infra/emulator.py +++ b/support/testing/infra/emulator.py @@ -5,10 +5,14 @@ import infra class Emulator(object): - def __init__(self, builddir, downloaddir, logtofile): + def __init__(self, builddir, downloaddir, logtofile, timeout_multiplier): self.qemu = None self.downloaddir = downloaddir self.logfile = infra.open_log_file(builddir, "run", logtofile) + # We use elastic runners on the cloud to runs our tests. Those runners + # can take a long time to run the emulator. Use a timeout multiplier + # when running the tests to avoid sporadic failures. + self.timeout_multiplier = timeout_multiplier # Start Qemu to boot the system # @@ -65,7 +69,8 @@ class Emulator(object): qemu_cmd += ["-append", " ".join(kernel_cmdline)] self.logfile.write("> starting qemu with '%s'\n" % " ".join(qemu_cmd)) - self.qemu = pexpect.spawn(qemu_cmd[0], qemu_cmd[1:], timeout=5, + self.qemu = pexpect.spawn(qemu_cmd[0], qemu_cmd[1:], + timeout=5 * self.timeout_multiplier, env={"QEMU_AUDIO_DRV": "none"}) # We want only stdout into the log to avoid double echo self.qemu.logfile_read = self.logfile @@ -76,7 +81,7 @@ class Emulator(object): # The login prompt can take some time to appear when running multiple # instances in parallel, so set the timeout to a large value index = self.qemu.expect(["buildroot login:", pexpect.TIMEOUT], - timeout=60) + timeout=60 * self.timeout_multiplier) if index != 0: self.logfile.write("==> System does not boot") raise SystemError("System does not boot") @@ -94,6 +99,8 @@ class Emulator(object): # return a tuple (output, exit_code) def run(self, cmd, timeout=-1): self.qemu.sendline(cmd) + if timeout != -1: + timeout *= self.timeout_multiplier self.qemu.expect("# ", timeout=timeout) # Remove double carriage return from qemu stdout so str.splitlines() # works as expected. diff --git a/support/testing/run-tests b/support/testing/run-tests index 0cb673c61f..95c1565f72 100755 --- a/support/testing/run-tests +++ b/support/testing/run-tests @@ -28,6 +28,8 @@ def main(): help='number of testcases to run simultaneously') parser.add_argument('-j', '--jlevel', type=int, help='BR2_JLEVEL to use for each testcase') + parser.add_argument('--timeout-multiplier', type=int, default=1, + help='increase timeouts (useful for slow machines)') args = parser.parse_args() @@ -97,6 +99,13 @@ def main(): # the user can override the auto calculated value BRTest.jlevel = args.jlevel + if args.timeout_multiplier < 1: + print "Invalid multiplier for timeout values" + print "" + parser.print_help() + return 1 + BRTest.timeout_multiplier = args.timeout_multiplier + nose2_args = ["-v", "-N", str(args.testcases), "-s", "support/testing", diff --git a/system/Config.in b/system/Config.in index 59d8eab271..b9714923c4 100644 --- a/system/Config.in +++ b/system/Config.in @@ -9,10 +9,10 @@ choice config BR2_ROOTFS_SKELETON_DEFAULT bool "default target skeleton" - select BR2_PACKAGE_SKELETON_SYSV if BR2_INIT_SYSV - select BR2_PACKAGE_SKELETON_SYSV if BR2_INIT_BUSYBOX - select BR2_PACKAGE_SKELETON_SYSTEMD if BR2_INIT_SYSTEMD - select BR2_PACKAGE_SKELETON_NONE if BR2_INIT_NONE + select BR2_PACKAGE_SKELETON_INIT_SYSV if BR2_INIT_SYSV + select BR2_PACKAGE_SKELETON_INIT_SYSV if BR2_INIT_BUSYBOX + select BR2_PACKAGE_SKELETON_INIT_SYSTEMD if BR2_INIT_SYSTEMD + select BR2_PACKAGE_SKELETON_INIT_NONE if BR2_INIT_NONE help Use default target skeleton diff --git a/toolchain/Config.in b/toolchain/Config.in index 15ee335481..584d053058 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -48,6 +48,8 @@ config BR2_TOOLCHAIN_BUILDROOT depends on !BR2_bf608 depends on !BR2_bf609 depends on !BR2_csky + depends on !BR2_mips_m6250 + depends on !BR2_mips_p6600 config BR2_TOOLCHAIN_EXTERNAL bool "External toolchain" diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk index 23cdf30b9f..dc0588c536 100644 --- a/toolchain/toolchain-external/pkg-toolchain-external.mk +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk @@ -74,7 +74,7 @@ endif ifeq ($(TOOLCHAIN_EXTERNAL_INSTALL_DIR),) ifneq ($(TOOLCHAIN_EXTERNAL_PREFIX),) # if no path set, figure it out from path -TOOLCHAIN_EXTERNAL_BIN := $(shell dirname $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc)) +TOOLCHAIN_EXTERNAL_BIN := $(dir $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc)) endif else TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/bin |