Compare commits

...

278 Commits

Author SHA1 Message Date
Peter Korsgaard
2f7183d131 Update for 2020.02.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-12 14:14:42 +02:00
Peter Korsgaard
0edff95ebd package/localedef: bump version to stay in sync with glibc
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit a388d7443e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-12 13:57:51 +02:00
Peter Korsgaard
6a5e0c89df package/glibc: bump version for additional post-2.30 security fixes
Fixes the following security vulnerabilities:

CVE-2020-10029: Trigonometric functions on x86 targets suffered from stack
  corruption when they were passed a pseudo-zero argument.  Reported by Guido
  Vranken / ForAllSecure Mayhem.

CVE-2020-1751: A defect in the PowerPC backtrace function could cause an
  out-of-bounds write when executed in a signal frame context.

CVE-2020-1752: A use-after-free vulnerability in the glob function when
  expanding ~user has been fixed.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 6488684e2b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-12 13:57:45 +02:00
Christian Stewart
bd95b76412 package/docker-cli: bump version to 19.03.8
Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit c9c7213785)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-12 12:59:27 +02:00
Christian Stewart
1094126981 package/docker-engine: bump version to 19.03.8
From the release notes:
- Improve mitigation for CVE-2019-14271 for some nscd configuration.

Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 21e4b43544)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-12 12:59:21 +02:00
Fabrice Fontaine
5c39f24256 package/c-ares: security bump to version 1.16.1
Prevent possible use-after-free and double-free in ares_getaddrinfo() if
ares_destroy() is called prior to ares_getaddrinfo() completing.

https://c-ares.haxx.se/changelog.html#1_16_1

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 42a0b2d2d9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-12 12:58:26 +02:00
Fabrice Fontaine
3dc7624f2e package/c-ares: bump to version 1.16.0
- Remove patch (already in version)
- Update indentation of hash file (two spaces)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 6620250fc5)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-12 12:58:21 +02:00
Fabrice Fontaine
60685507c7 package/python-markdown2: fix CVE-2020-11888
python-markdown2 through 2.3.8 allows XSS because element names are
mishandled unless a \w+ match succeeds. For example, an attack might use
elementname@ or elementname- with an onclick attribute.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 544007dcc4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-12 12:58:02 +02:00
Louis Aussedat
d207477392 package/python-future: fix dependency
python-future does not depends on python2.
The package work with python 3.x.

Signed-off-by: Louis Aussedat <aussedat.louis@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 2f3fc10587)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-12 12:57:39 +02:00
Peter Korsgaard
32ad7463e8 packager/docker-cli: bump version to 19.03.7
To match the docker-engine version.

./support/testing/run-tests tests.package.test_docker_compose.TestDockerCompose
09:54:39 TestDockerCompose                        Starting
09:54:40 TestDockerCompose                        Building
10:45:33 TestDockerCompose                        Building done
10:46:30 TestDockerCompose                        Cleaning up
.
----------------------------------------------------------------------
Ran 1 test in 3121.828s

OK

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 0a0e3017d7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-11 21:22:14 +02:00
Fabrice Fontaine
fc6c98be03 package/paho-mqtt-c: fix build on musl
Set PAHO_HIGH_PERFORMANCE to disable free redefiniton as suggested by
upstream in https://github.com/eclipse/paho.mqtt.c/issues/846.

This will avoid the following build failure on musl:

/tmp/instance-1/output-1/host/x86_64-buildroot-linux-musl/sysroot/usr/include/sched.h:80:17: error: expected declaration specifiers or '...' before string constant
 void free(void *);
                 ^
/tmp/instance-1/output-1/host/x86_64-buildroot-linux-musl/sysroot/usr/include/sched.h:80:17: error: expected declaration specifiers or '...' before numeric constant
 void free(void *);
                 ^
[ 35%] Building C object src/CMakeFiles/common_obj.dir/Base64.c.o
[ 36%] Building C object src/CMakeFiles/common_obj.dir/SHA1.c.o
make[3]: *** [src/CMakeFiles/common_obj.dir/build.make:284: src/CMakeFiles/common_obj.dir/MQTTReasonCodes.c.o] Error 1

Fixes:
 - http://autobuild.buildroot.org/results//fbe57a1602fed331ddff3ff3560dce02573816ff

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit e446f5ac02)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-11 21:20:47 +02:00
Peter Korsgaard
6f01c28f05 {linux, linux-headers}: bump 4.{4, 9, 14, 19}.x / 5.{4, 6}.x series
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 7616ce3e46)
[Peter: drop 5.5.x / 5.6.x bump]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-11 21:18:32 +02:00
Fabrice Fontaine
e3d7d0371f package/libvncserver: fix CVE-2019-20788
libvncclient/cursor.c in LibVNCServer through 0.9.12 has a
HandleCursorShape integer overflow and heap-based buffer overflow via a
large height or width value. NOTE: this may overlap CVE-2019-15690.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 705adbaf9a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-11 21:14:45 +02:00
Angelo Compagnucci
7c74a3e3f0 linux: bump CIP, CIP RT hashes
Bumping the hashes for CIP and CIP RT.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit fb8186d53e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-11 21:14:09 +02:00
Angelo Compagnucci
a99fe9928b linux: bump CIP RT kernel to version 4.19.115-cip24-rt9
This patch bumps Linux CIP RT version to 4.19.115-cip24-rt9.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 2452aa182d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-11 21:13:42 +02:00
Angelo Compagnucci
cf23a44ddd linux: bump CIP kernel to version 4.19.118-cip25
This patch bumps Linux CIP version to v4.19.118-cip25.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 1b53b94690)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-11 21:13:16 +02:00
Peter Seiderer
3e744db3d0 package/squashfs: fix host compile multiple definitions
Add upstream patch to fix squashfs-tools build failures because
of missing external declaration for fwriter_buffer and
bwriter_buffer.

Fixes:

  - http://autobuild.buildroot.net/results/6789b668898245926e0a3a3e7caf823dff515d71

  /usr/bin/ld: read_fs.o:(.bss+0x0): multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400c90): first defined here
  /usr/bin/ld: read_fs.o:(.bss+0x8): multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400c98): first defined here

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 8d7b714027)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 22:46:24 +02:00
Peter Seiderer
1cc9fbe1f6 package/libv4l: fix input_event related compile failure
Add two upstream patches fixing input_event time related
compile failures.

Fixes:

 - http://autobuild.buildroot.net/results/3883a948e30cfd235cfca1fb8646fe8032f5e18d

  keytable.c: In function 'test_event':
  keytable.c:1536:11: error: 'struct input_event' has no member named 'time'; did you mean 'type'?
       ev[i].time.tv_sec, ev[i].time.tv_usec,
             ^~~~
             type
  keytable.c:1536:30: error: 'struct input_event' has no member named 'time'; did you mean 'type'?
       ev[i].time.tv_sec, ev[i].time.tv_usec,
                                ^~~~
                                type

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit cd27ee0a58)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 22:43:54 +02:00
Fabrice Fontaine
b17cbc4498 package/cvs: add license
cvs is an old package, and it shows:

  - CVS is licensed under GPL-1.0+ as stated in README (referenced in source
    code) and COPYING files;

  - COPYING.LIB also give the terms of LGPL-2.0+, and is referenced by a
    few files, like lib/strnlen1.c, mostly vampirised rom older versions
    of the GNU C library (glibc);

  - additionally, the glob implementation was also grabbed from a more
    recent (but still old) glibc version, and is LGPL-2.1+, but there is
    no license file associated with it, so we use the header instead.

Also update indentation in hash file (two spaces)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[yann.morin.1998@free.fr:
  - LGPL-2.0+ is used, reference at least one file
  - LGPL-2.1+ is also used
  - reword commit log accordingly
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 449ac1b6cb)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 22:39:00 +02:00
Asaf Kahlon
730326aec2 package/python-attrs: fix typo in hash file
'computer' -> 'computed'.

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
[yann.morin.1998@free.fr: two spaces in hash file]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit e86a6ab35a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 22:35:23 +02:00
Romain Naour
e89604a806 package/irrlicht: disable bundled libpng NEON support
Irrlicht fail to detect properly the NEON support on aarch64 or ARM with NEON FPU support.
While linking an application with libIrrlicht.so, we get an undefined reference to
png_init_filter_functions_neon.
Some files are missing in the libpng bundled in Irrlicht, in particular arm/arm_init.c [1],
so disable NEON support completely.

This can be reproduced by building minetest using this defconfig for aarch64:
BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_MINETEST=y
BR2_PACKAGE_MINETEST_CLIENT=y
BR2_PACKAGE_MINETEST_SERVER=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_GLX=y
BR2_PACKAGE_XORG7=y

Or for ARM with NEON FPU support:
BR2_arm=y
BR2_cortex_a15=y
BR2_ARM_FPU_NEON=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_MINETEST=y
BR2_PACKAGE_MINETEST_CLIENT=y
BR2_PACKAGE_MINETEST_SERVER=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_GLX=y
BR2_PACKAGE_XORG7=y

[1] https://github.com/glennrp/libpng/tree/v1.6.37/arm

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit bf5f4f417a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 22:33:57 +02:00
Fabrice Fontaine
6a4097caf5 package/ffmpeg: fix CVE-2020-12284
cbs_jpeg_split_fragment in libavcodec/cbs_jpeg.c in FFmpeg 4.2.2 has a
heap-based buffer overflow during JPEG_MARKER_SOS handling because of a
missing length check.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit aab52d8722)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 22:32:45 +02:00
Fabrice Fontaine
e59503a9d8 package/suricata: fix build with lua
Fixes:
 - http://autobuild.buildroot.net/results/11bc7f4e1c54f074dd10a995233bee45c293e488

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit e0fbbdb6fc)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 22:07:38 +02:00
Fabrice Fontaine
4a71c673f1 package/util-linux: accept sector-size
Fixes:
 - https://bugs.buildroot.org/show_bug.cgi?id=12841

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit af787a4cf5)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 22:04:16 +02:00
Fabrice Fontaine
c77166012b package/util-linux: renumber patches
Commit 3052da3eac did not renumber
remaining patches, fix that

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit df2f438616)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 22:01:37 +02:00
Yann E. MORIN
8b31a049b1 support/gnuconfig: reference the correct sha1 we're using
In commit ff9f778c66 (support/gnuconfig: update to 2019-05-28), we
forgot to update the README to reference the sha1 we're using, keeping
the old one from 2016...

Update it now.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 3bf545da78)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:55:47 +02:00
Fabrice Fontaine
a2220778b1 package/freerdp: security bump to version 2.1.0
- Drop patch (already in version)
- Fix multiple CVEs: CVE-2020-11039, CVE-2020-11038, CVE-2020-11043,
  CVE-2020-11040, CVE-2020-11041, CVE-2020-11019, CVE-2020-11017,
  CVE-2020-11018
- Fix multiple leak and crash issues (#6129, #6128, #6127, #6110, #6081,
  #6077)

Extracted from:
65d3ff4461

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 8c26ce8539)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:54:00 +02:00
Fabrice Fontaine
f8f7b417ef package/matchbox: add hash for license file
Add hash for license file, add sha256 for tarball and update indentation
for hash file (two spaces)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 7f59e2c01a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:51:39 +02:00
Fabrice Fontaine
d914cd2c6a package/matchbox: add missing expat dependency
matchbox selects expat but does not add it to its dependency resulting
in the following build failure:

configure: error: cannot find expat library
make: *** [/home/buildroot/autobuild/run/instance-2/output-1/build/matchbox-1.2/.stamp_configured] Error 1

Fixes:
 - http://autobuild.buildroot.org/results/37021f1d7fcfd890011068a28ce6181dc509e746

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 3a784f49eb)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:51:14 +02:00
Yann E. MORIN
61f5bceb52 release: don't include temp files
When we prepare the release, we generate the manual in various formats,
so that it can be consulted locally without needing the miriads of tools
needed to generate it.

However, this creates the temporary .br2-external.* files in the output
directory, and those end up in the release tarball.

This is not a problem in practice, but is not clean.

Run 'distclean' in the output directory, to get rid of everything but
the generated documentation.

Reported-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit bee47598aa)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:34:50 +02:00
Fabrice Fontaine
8616ca9f17 package/domoticz: set WITH_LIBUSB
Use WITH_LIBUSB which is available since version 4.9700 and
f53817577a

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit a896be19de)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:31:50 +02:00
Fabrice Fontaine
eec5fb6419 package/squid: security bump to version 4.11
Fix CVE-2020-11945: An issue was discovered in Squid before 5.0.2. A
remote attacker can replay a sniffed Digest Authentication nonce to gain
access to resources that are otherwise forbidden. This occurs because
the attacker can overflow the nonce reference counter (a short integer).
Remote code execution may occur if the pooled token credentials are
freed (instead of replayed as valid credentials).

http://www.squid-cache.org/Advisories/SQUID-2020_4.txt

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b365c64236)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:30:41 +02:00
Matt Weber
8fc8ca203a package/libsepol: fix -fno-common build failures
GCC10 as a host complier has started to trigger these failures

 Add upstream patch for
    libsepol: remove leftovers of cil_mem_error_handler
    libsepol: fix CIL_KEY_* build errors with -fno-common

Fixes:
http://autobuild.buildroot.net/results/1ebeed4bb1b0f5bca493ff687f879367eaeaf868

Cc: Romain Naour <romain.naour@gmail.com>
Cc: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:29:03 +02:00
Luca Ceresoli
4314359b28 package/exim: fix parallel build
exim does build in parallel correctly, but has a concurrency bug in
generating version info files which happens either in the build step or in
the install step.

Add a patch to fix the bug.

Fixes:
  http://autobuild.buildroot.net/results/ebf/ebfccad007e216564889645a07f5487747116331//
  http://autobuild.buildroot.net/results/56a/56a8457efcb32579ad6da99a769b6438dd0db267//
  http://autobuild.buildroot.net/results/6a1/6a1f8a352649baf767b094cb6bbe2a7397fa7fac//
  http://autobuild.buildroot.net/results/5ed/5ed1c42b3d33198f32d1267e5cc2b1fa1211495a//
  http://autobuild.buildroot.net/results/b30/b304569948fd481ce33ecd052a1036153c5d459e//
  http://autobuild.buildroot.net/results/d2c/d2c7abfe08672e53ff890127f787f8d2e84860f4//

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 8c75f95e0a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:24:53 +02:00
Romain Naour
78296a0502 package/qemu: disable curl for the host variant
Under certain circumstances (host distribution, openssl version),
the qemu-system binary fail to start:

qemu-system-aarch64: symbol lookup error: /lib64/libssh.so.4: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b

There is no problem when only host-qemu is built, but it's linked with /lib64/libcurl.so.4
$ make host-qemu
$ ldd output/host/bin/qemu-system-aarch64
        [...]
	libcurl.so.4 => /lib64/libcurl.so.4 (0x00007fb21cb57000)
	libssh.so.4 => /lib64/libssh.so.4 (0x00007fb21c35d000)
	libpsl.so.5 => /lib64/libpsl.so.5 (0x00007fb21c34a000)
	libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007fb21c2b4000)

Note: /lib64/libcurl.so.4 is linked with libssh and libssl:
$ ldd /lib64/libcurl.so.4
	[...]
	libssh.so.4 => /lib64/libssh.so.4 (0x00007f90d8efd000)
	libpsl.so.5 => /lib64/libpsl.so.5 (0x00007f90d8eea000)
	libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f90d8e54000)

Continue the build.
$ make

We can notice that qemu_aarch64_virt_defconfig set
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y

So host-openssl package is built and this is the problem:

$ ldd output/host/bin/qemu-system-aarch64
	[...]
	libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f3adb444000)
	libssh.so.4 => /lib64/libssh.so.4 (0x00007f3adac4a000)
	libpsl.so.5 => /lib64/libpsl.so.5 (0x00007f3adac37000)
	libssl.so.1.1 => /home/naourr/buildroot/test/qemu_aarch64_virt_defconfig-master/host/lib/libssl.so.1.1 (0x00007f3adaba8000)

qemu-system-aarch64: symbol lookup error: /lib64/libssh.so.4: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b

This is due to the build system trying to find libcurl using
pkg-config or curl-config.

libcurl is used by the QEMU Block driver for CURL images and
elf2dmp tool which is not needed.
Instead of adding host-libcurl dependency, we can disable it
entierely.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit e30eaeb10e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:22:58 +02:00
Romain Naour
15b41bb802 package/qemu: enable or1k support in host-qemu
This change enables host qemu support for or1k which among other
things allows to test this architecture in gitlab.

The or1k support was named or32 until Qemu 2.9.0 and then renamed or1k
in upstream commit [1]. Since we're already using Qemu 4.2.0, we use
the or1k name.

Tested using qemu_or1k_defconfig.

[1] https://git.qemu.org/?p=qemu.git;a=commit;h=4a09d0bb34ab030e09e87173b2e3ec0fd7616cff

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit a41fae16d6)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:22:21 +02:00
Romain Naour
9ca889a2c1 package/qemu: disable SDL2 for the host variant
There is no host variant for SDL2 library in Buildroot.
So the qemu build system will try to detect automatically the
external SDL2 libraries installed on the host.

$ ldd output/host/bin/qemu-system-aarch64
	[...]
	libSDL2-2.0.so.0 => /lib64/libSDL2-2.0.so.0

Disable explicitely sdl2 options (named sdl) to improve the
build reproducibility.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 44e5da60b7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:21:51 +02:00
Romain Naour
f2e2ac81e2 package/qemu: disable bzip2 for the host variant
bzip2 support is needed for reading bzip2-compressed dmg images.

But the host-bzip2 is missing from host qemu package dependency,
so the qemu build system will try to detect automatically the
external libbzip2 libraries installed on the host.

$ ldd output/host/bin/qemu-system-aarch64
	[...]
	libbz2.so.1 => /lib64/libbz2.so.1
or
	libbz2.so.1.0 => output/host/lib/libbz2.so.1.0
if host-bzip2 is built before host-qemu.

Disable explicitely bzip2 options to improve the build
reproducibility.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 743fceb2ed)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:21:10 +02:00
Romain Naour
1df0dd3cb0 package/qemu: disable vnc optional support for the host variant
The vnc support is enabled by default and the build system
will try to detect automatically some external libraries
installed on the host for vnc-png, vnc-jpeg and vnc-sasl.

$ ldd output/host/bin/qemu-system-aarch64
	[...]
	libpng16.so.16 => /lib64/libpng16.so.16
or
	libpng16.so.16 => output/host/lib/libpng16.so.16
if host-libpng is built before host-qemu.

Disable explicitely thoses options to improve the build
reproducibility.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit ece36b9a46)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:20:57 +02:00
Romain Naour
84e768acf2 package/qemu: disable libssh for the host variant
There is no host-libssh in Buildroot, avoid qemu build system
to find libssh from the host.

Under certain circumstances (host distribution, openssl version), the
qemu-system binary fail to start:

host/bin/qemu-system-aarch64: symbol lookup error: /lib64/libssh.so.4: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b

$ ldd output/host/bin/qemu-system-aarch64
	[...]
	libssh.so.4 => /lib64/libssh.so.4

Explicitely disable libssh for the host variant.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 0c4a80c7c4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:20:39 +02:00
Bernd Kuhls
ad120f7335 package/libfm-extra: fix dependency comment
According to the depends used the package does not need C++.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 08935f2a86)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:16:36 +02:00
Davide Viti
a975326ca4 DEVELOPERS: adjust e-mail address for Davide Viti
Previous address is still valid but not used as primary address any
longer

Signed-off-by: Davide Viti <zinosat@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 3d1583729c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:15:47 +02:00
Alexey Lukyanchuk
578f0936f2 package/qpdf: fix 'no such file' exeption
Without a source for randomness, qpdf will crash with 'no such file'
error. It's can me tested by command like 'qpd some_pdf.pdf -'.
This problem breaks cups printing.

This patch change configure options to '--with-random=/dev/urandom'

Signed-off-by: Alexey Lukyanchuk <skif@skif-web.ru>
[yann.morin.1998@free.fr: reword commit log]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 69dfbbd33b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:12:29 +02:00
Michele Comignano
d883e860b1 package/vlc: enable gnutls if selected
Signed-off-by: Michele Comignano <comick@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 8d3a5da884)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 21:12:04 +02:00
Fabrice Fontaine
006165909d package/paho-mqtt-c: fix build without C++
Fixes:
 - http://autobuild.buildroot.org/results/831ecc34b51ee2be82a3c25f5ec94f0dd2103655

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit dd63d5822d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 20:54:57 +02:00
Fabrice Fontaine
1c6df588db package/suricata: security bump to version 4.1.8
- This is the first release after Suricata joined the Oss-Fuzz program,
  leading to discovery of a number of (potential) security issues:
  https://suricata-ids.org/2020/04/28/suricata-4-1-8-released
- Drop first, second and fourth patches (already in version)
- Update indentation of hash file (two spaces)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 6138dee5e7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 20:27:02 +02:00
Fabrice Fontaine
1c7c8303e6 package/libhtp: security bump to version 0.5.33
- ChangeLog:
  - compression bomb protection
  - memory handling issue found by Oss-Fuzz
  - improve handling of anomalies in traffic
- Drop first patch (already in version)
- Update indentation of hash file (two spaces)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit b3d5194696)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 20:26:32 +02:00
Dagg Stompler
c99a2b0a48 board/hardkernel/odroidc2: remove unused files
Commit b80712a16a ("configs/odroidc2:
remove the defconfig") has removed the odroidc2 defconfig, but left
behind a number of files in board/hardkernel/odroidc2, which are now
unused. Let's remove them.

Signed-off-by: Dagg Stompler <daggs@gmx.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 197da62866)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 20:25:35 +02:00
Fabrice Fontaine
c53538af04 package/paho-mqtt-c: fix build on uclibc or musl
Fixes:
 - http://autobuild.buildroot.org/results/4beb96d43180813906578b42875a1c3d4a905ed7

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 91beea442a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 20:24:06 +02:00
Bernd Kuhls
2a9f241a83 package/samba4: security bump version to 4.11.8
Reformatted hash.

Fixes CVE 2020-10700 & CVE 2020-10704.

Release notes: https://www.samba.org/samba/history/samba-4.11.8.html

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 11bc27fd0d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 20:23:07 +02:00
Asaf Kahlon
50f20f639e docs: adding-packages-python: don't mention distutilscross
The package was removed a long time ago.

Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 427697f297)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 20:01:19 +02:00
Carlos Santos
04df6eba78 DEVELOPERS: trim Carlos Santos' watch list
- I fixed build problems on cups and cups-filters but don't use them.

- gtest, libpam-radius-auth, libpam-tacplus and perl-file-util were
  used in my previous job. I don't have access to the packages that
  use them neither to the corresponding test infrastructure anymore.

Signed-off-by: Carlos Santos <unixmania@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 1c3ffaed57)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 20:00:24 +02:00
Yann E. MORIN
0cba056b9c package/tzdata: do extract to get the license file
Back in 2014, about 6 years ago now, in my infinite wisdom, I
decided that extracting the tzdata source was not necessary for
the target variant, because we would be installing the files
generated by the host variant, in commit 7aad5daa5d (package/tzdata:
only compile the zoneinfo once).

However, that did not account for the fact that we would eventually
like to have the licensing information for tzdata, later added in
2019, in commit 60889ccdf0 (package/tzdata: bump to version 2019b).

However, that last comit only added the license file to the host
variant, without explanations why that was so. It turns out that the
reason it was not added to the target variant is, probably, that he
source code for the target variant is not extracted, and thus saving
the license file fails.

But we really want the license file for what goes on into the target.

So, do extract the source code for the target variant, even if only to
get the license file.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Richard Braun <rbraun@sceen.net>
Cc: Martin Bark <martin@barkynet.com>
Cc: Christopher McCrory <chrismcc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 5c0c4861be)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-10 19:56:50 +02:00
Alexander Dahl
12581af61c package/zic: bump to version 2020a
Signed-off-by: Alexander Dahl <post@lespocky.de>
[yann.morin.1998@free.fr: two spaces in hash file]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 2f976c31b0)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-09 09:20:45 +02:00
Alexander Dahl
69f2f95d52 package/tzdata: bump to version 2020a
Signed-off-by: Alexander Dahl <post@lespocky.de>
[yann.morin.1998@free.fr: two spaces in hash file]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 7656cae01e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-09 09:20:36 +02:00
Adrian Perez de Castro
50a48fd6b3 package/webkitgtk: security bump to version 2.28.2
This is a minor release which provides fixes for CVE-2020-11793,
CVE-2020-3887, CVE-2020-3894, and CVE-2020-3899.

Updating from 2.28.0 also brings a few rendering fixes, a build fix
on MIPS64, a build fix for GStreamer 1.12, and solves a couple of
crashes. The full release notes covering 2.28.1 and 2.28.2 can be
found at:

  https://webkitgtk.org/2020/04/13/webkitgtk2.28.1-released.html
  https://webkitgtk.org/2020/04/24/webkitgtk2.28.2-released.html

A detailed security advisory can be found at:

  https://webkitgtk.org/security/WSA-2020-0004.html

Note that the above does not cover all the CVEs, and a new advisory
including them is expected to be published in the next days.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
[yann.morin.1998@free.fr: two spaces in hash file]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 080f4251ad)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-09 09:05:40 +02:00
Adrian Perez de Castro
5c3b82b027 package/wpewebkit: security bump to version 2.28.2
This is a minor release which provides fixes for CVE-2020-11793,
CVE-2020-3887, CVE-2020-3894, and CVE-2020-3899.

Updating from 2.28.0 also brings a few rendering fixes, a build fix
on MIPS64, a build fix for GStreamer 1.12, and solves a couple of
crashes. The full release notes covering 2.28.1 and 2.28.2 can be
found at:

  https://wpewebkit.org/release/wpewebkit-2.28.1.html
  https://wpewebkit.org/release/wpewebkit-2.28.2.html

A detailed security advisory can be found at:

  https://wpewebkit.org/security/WSA-2020-0004.html

Note that the above does not cover all the CVEs, and a new advisory
including them is expected to be published in the next days.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
[yann.morin.1998@free.fr: two spaces in hash file]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit e028d52b7e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-09 09:05:34 +02:00
Adrian Perez de Castro
af237ed997 package/webkitgtk: bump to version 2.28.0
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 6ebd152853)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-09 09:04:51 +02:00
James Hilliard
3cffbc6769 package/wpebackend-fdo: bump to version 1.6.0
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 60992a8ce1)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-09 09:04:29 +02:00
James Hilliard
a4ac41f92d package/libwpe: bump to version 1.6.0
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 90e735f6d9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-09 09:04:22 +02:00
James Hilliard
bbe227dac6 package/wpewebkit: bump to version 2.28.0
Adjust fix build with musl patch for 2.28.0.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit cd75229976)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-09 09:02:29 +02:00
Ryan Barnett
c7d37980f1 package/e2fsprogs: bump to version 1.45.6
Fixes a number of out of bounds memory accesses.  For details, see the
release notes:
https://github.com/tytso/e2fsprogs/blob/v1.45.6/doc/RelNotes/v1.45.6.txt

Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 3938f87e41)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 16:44:48 +02:00
Bernd Kuhls
81e3284ac4 package/mesa3d-headers: fix install of dri.pc
mesa3d-headers is a little bit special: it uses the same sources as
the mesa3d package, named just 'mesa' upstream. mesa uses the meson
buildsystem, an that is what we use in the mesa3d package.

However, mesa3d-headers does not install the whole of mesa; it only
installs a select set of headers for those binary blobs that do not
provide them.

mesa does not provide such a feature (only installing headers) with
its meson buildsystem. As a consequence, we've made mesa3d-headers a
generic package, that basically only copies headers over.

Additionally, mesa3d-headers also provides the dri.pc file for when
Xorg is enabled; see 7468b60e7c (package/mesa3d-headers: also install
dri header and .pc file).

We used to manually generate that file from a .in template that was
present in mesa source code at the time it was still using autotools.
But when they switched over to using meson, the template was dropped
[0], and the dri.pc is now entirely generated using meson internals
[1].

So we now have no template present in the source code, so we must
come up with our own. This simplifies the replacement pattern to
just inject the version string.

[0] https://cgit.freedesktop.org/mesa/mesa/commit/?id=158758618264eac113025a86a360dc305ed4498b
[1] https://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/drivers/dri/meson.build?h=19.2#n93

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Tested-by: Vincent Fazio <vfazio@xes-inc.com>
[yann.morin.1998@free.fr:
  - entirely rework the commit log
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 9014c21cac)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 16:42:09 +02:00
Danomi Manchego
ea288b517d package/paho-mqtt-c: disable tests and cpack docs
paho-mqtt-c by default enables the building of test materials and
install of CPack documentation:

PAHO_ENABLE_TESTING - "Build tests and run"
PAHO_ENABLE_CPACK - "Enable CPack"

Let's disable these to save a couple megabytes and time.  This is
in keeping with the generic settings in pkg-cmake.mk.

Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 5686d69eef)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 12:38:50 +02:00
Peter Korsgaard
9097b9ef06 package/wireguard-linux-compat: bump version to 1.0.20200413
For details, see the announcement:
https://lists.zx2c4.com/pipermail/wireguard/2020-April/005295.html

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 66962e9bb8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 12:37:01 +02:00
Fabrice Fontaine
73a52cbc9f package/gflags: force Release mode
Force Release otherwise libraries will be suffixed by _debug which will raise
unexpected build failures with packages that use gflags (e.g. rocksdb)

Fixes:
 - http://autobuild.buildroot.org/results/3545774258babc3584f69e7d523efdf7fff1acb5

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 198e42d6eb)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 12:08:05 +02:00
Thomas Petazzoni
54d0ae1bfe package/libarchive: remove double handling of zstd
When 4bcc344464 was applied, it was not
noticed that 96dc6701af (from another
contributor) had already been
applied. 4bcc344464 essentially did the
same thing as 96dc6701af, except it also
disable zstd support explicitly in the host-libarchive package.

Let's drop the part of 4bcc344464 that
duplicates 96dc6701af.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 37e853d63c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 12:06:08 +02:00
Fabrice Fontaine
beb89fd77f package/libarchive: add zstd optional dependency
zstd is available since version 3.3.3 and
26838cf5c1

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 4bcc344464)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 12:05:56 +02:00
Fabrice Fontaine
cebf537751 package/libarchive: add lz4 optional dependency
lz4 is available since version 3.2.0 and
724f3f918e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 9a514c72cd)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 12:05:26 +02:00
Christian Stewart
97a6aeea81 package/docker-engine: bump version to 19.03.7
Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit e505bc4777)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 12:02:02 +02:00
Christian Stewart
763f05b818 package/docker-containerd: bump version to 1.2.13
Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 93fecb7ed5)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 12:01:11 +02:00
Timo Ketola
ad164f5297 fs/cpio: make initramfs init script survive 'console=' kernel argument
When booting with 'console=<empty>' in the kernel command line (as e.g.
U-Boot does with silent flags in effect), opening /dev/console fails.

As per POSIX [0], when iany redirection fails, the shell running exec
shal exit in error. So, when 'console=<empty>' is specified.
/dev/console can't be opened, and the redirection fails, and /init is
killed.

That behaviour was fixed on the kernel side with commit 2bd3a997befc2
(Open /dev/console from rootfs), present since 2.6.34, released in May
2010, so any [dr]ecent kernel will have that fix.

Furthermore, busybox will fix things up anyway (in bb_sanitize_stdio()),
falling back to opening /dev/null if no console is availble. systemd
does a similar thing (in make_console_stdio()), and sysvinit again has
a similar approach (in console_init()).

The archealogy search turned up those relevant commits:

    2011-08-04 10a130f91e initramfs/init: make sure that 0, 1, 2 fds are available
        introduces the three exec redirections in initramfs

    2011-09-06 3fac21ef8d cpio: fix boot with dynamic /dev
        introduces the three exec redirections in cpio

    2011-09-06 13a3afc536 fs/initramfs: refactor with fs/cpio
        dropped the initramfs tweaks to reuse the cpio ones

    2012-11-04 e1ebae700a fs/common: Create initial console device
        introduces the /dev/console char,5,1 pseudo device creation in
        cpio

    2018-03-31 dec061adce fs/cpio: don't extend packages' permissions table
        switched from the permission-table to a manual mknod to create
        /dev/console

The redirections were added before we could guarantee there was a
/dev/console in the rootfs.

We're now guaranteed to have /dev/console in an initramfs, and any recent
kernel will automatically open /dev/console before spawning /init.

The three redirections are useless now, and cause harm under certain
conditions. Drop them.

[0] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_20_01

Signed-off-by: Timo Ketola <timo.ketola@exertus.fi>
Cc: Peter Korsgaard <peter@korsgaard.com>
[yann.morin.1998@free.fr:
  - extend commit log with the analysis done with Peter
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 98a6f1fc02)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 11:52:45 +02:00
Peter Korsgaard
0b3ca0be16 package/wireguard-linux-compat: tweak kernel-headers < 5.6 logic
The reason why the external wireguard kernel module is not allowed with
kernel headers >= 5.6 is that wireguard is included in the upstream kernel
since 5.6 rather than some kind of (fixable) incompatibility issue.  Adjust
the comment to make that clear.

While we're at it, drop the redundant !5.6 dependency on the kernel headers
dependency comment.  If headers are older than 3.10, then they are also
older than 5.6, so the statement is redundant.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 74a865b1fc)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 11:50:34 +02:00
James Hilliard
50f63e0271 package/wireguard-linux-compat: depend on headers < 5.6
Since wireguard is built into kernels 5.6 and later we can't build
wireguard-linux-compat on them, so we need to depend on
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit da5afc10a4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 11:50:29 +02:00
Angelo Compagnucci
b9580c835b package/apache: fixing apxs path mangling
Latest version of Apache introduce a new apxs with a slightly modified
path handling logic. In order to simplify the crosscompilation, the
software removes the common prefix from bin install dir and build
install dir, but for this to work they both should have a common prefix.

So we introduce a new regexp to fix /usr/bin to staging dir, the regexps
are also fixed to replace only the exact path between double quotes, to
avoid replacing the she-bang line.

Fixes:
http://autobuild.buildroot.net/results/c41f31566974209897a3a1ec35afe2536fb248cc
http://autobuild.buildroot.net/results/b93f19976ce96e79ea159c25ed74a7377c78f334

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
[yann.morin.1998@free.fr:
  - add the last few words about the she-bang blurb
  - do not use quotes in the existing /sur/bin regexp
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit aa04edab77)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 11:41:46 +02:00
Sébastien Szymanski
6952dfacfd package/evtest: switch to Gitlab
Downloading from the cgit repo is now broken and it is a mirror of the
Gitlab repo so use the Gitlab repo.

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 9ea9dd021f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 11:39:03 +02:00
Max Filippov
05e9d76c12 package/binutils: fix XTENSA_NDIFF handling for PR ld/25861
Fix for xtensa PR ld/25861 introduced a regression in handling negative
symbol differences resulting in linker performing incorrect relaxation
or failing to link. Fix XTENSA_NDIFF relocation handling.

Backported from:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=d548f47df4d2e3d117d504a4c9977982c78a0556

Fixes: f0291ef4ab ("package/binutils: fix xtensa PR ld/25861")
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Tested-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit f31db17a8d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 11:37:44 +02:00
Max Filippov
4750b2c2a5 package/binutils: fix xtensa PR ld/25861
Handle link-time relaxation of full 16-bit difference values correctly
in xtensa linker. This fixes the following kind of build errors:

.../five-point.cpp:338:(.debug_line+0x3b12):
       	dangerous relocation: overflow after relaxation

Backported from:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=30ce8e47fad9b057b6d7af9e1d43061126d34d20
Fixes:
http://autobuild.buildroot.net/results/67a5545779bbe8ca2b21da1f3ff2002053710ce1/
http://autobuild.buildroot.net/results/87f38998d2d60b6bce3128589973187ef9596e28/

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit f0291ef4ab)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 11:30:00 +02:00
Timo Ketola
1ac9faa318 package/freescale-imx/imx-gpu-g2d: fix the file name for ARM
NXP apparently changed file naming convention for this particular file.

Fixes: 1d0ea8d433 (package/freescale-imx/imx-gpu-g2d: bump to version 6.4.0.p1.0)
Signed-off-by: Timo Ketola <timo.ketola@exertus.fi>
Reviewed-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit cd3dc5b4fa)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 10:17:23 +02:00
Bernd Kuhls
6105fcaca3 package/python: bump version to 2.7.18
Release notes:
https://pythoninsider.blogspot.com/2020/04/python-2718-last-release-of-python-2.html

Updated license hash due to upstream commit:
aa5b196c18

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 3586b0703f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 10:06:52 +02:00
Fabrice Fontaine
279eddff65 package/python-jedi: add missing license
python-jedi bundles its own copy of typeshed since version 0.14.0 and
7d2b7bb3c1

So add it to the license files (and update indentation of hash file to
two spaces while at it)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit ab98c1ffb6)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 10:06:22 +02:00
Peter Korsgaard
3788e762d8 {linux, linux-headers}: bump 4.{4, 9, 14, 19}.x / 5.{4, 5, 6}.x series
Notice: 5.5.x is now EOL, so should be dropped at the next version bump.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Peter: drop 5.5.x / 5.6.x bump]
(cherry picked from commit 72a6e50da9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 10:05:03 +02:00
Adam Duskett
e00fb25061 package/openjdk: Remove sparc support
Sparc support is deprecated and may be removed in future releases. There are
two choices to fix this issue:

1) Set --enable-deprecated-ports=yes in the CONF_OPTS to supress the error.
2) Remove support for Sparc.

Because this port is deprecated, it's safer to remove support alltogether.

Fixes:
    http://autobuild.buildroot.net/results/692820b4b6d4da42cd557fa7badbbd11806bbeba/

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 6ee7de3d2f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 09:26:06 +02:00
Adam Duskett
0282033f42 package/openjdk: copy all directories and files when installing
Several directories and files are currently not installed during the
target installation, these include:
  - conf
    Several configuration files, including security configuration files which
    may be necessary for running various java applications.

  - legal
    This directory contains legal notices that some java applications may
    require, as they may print legal information and will throw exceptions at
    runtime if the legal files are not present on the system.

  - release
    This file contains a list of modules included in the image.

Because these directories take up less than of megabyte extra, it is not an
issue to install all of them.

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Reviewed-by: Ryan Barnett <ryan.barnett@rockwellcollins.com>
Tested-by: Ryan Barnett <ryan.barnett@rockwellcollins.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 63b576095b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 09:23:03 +02:00
Adam Duskett
f61ae43370 package/openjdk: fix installation with merged usr directories
Currently, Buildroot installs the jre libraries using
cp -dprf /build/linux-*-release/images/jre/lib/* $(TARGET_DIR)/usr/lib/

However, if a system has a merged /usr directory, and there is a built kernel
before installing OpenJDK, the installation fails because jre/lib has binary
modules file, which causes the following error: cp: cannot overwrite directory
'/usr/lib/modules with non-directory

The obvious fix is to install the modules to /usr/lib/jvm/ and set the
appropriate rpaths via the --with-extra-ldflags conf option. However, this fix
does not work because the built binaries themselves do not link against
libjava.so

Indeed, running readelf on the built java binary reports the following:
"(RUNPATH) Library runpath: [/usr/lib/jvm]" and /usr/lib/jvm/libjava.so exists.
However, when running the Java binary on the target, the following error
occurs: "Error: could not find libjava.so."

The following is the result of "strace java" ran on the target:
faccessat(AT_FDCWD, "/usr/lib/libjava.so", F_OK) = -1 ENOENT
faccessat(AT_FDCWD, "/usr/jre/lib/libjava.so", F_OK) = -1 ENOENT
newfstatat(AT_FDCWD, "/usr/lib/libjava.so", 0x7ffe7b4af8, 0) = -1 ENOENT
newfstatat(AT_FDCWD, "/usr/lib/jvm/libjli.so", [sic] AT_SYMLINK_NOFOLLOW) = 0

As seen above, the java binary searches for libjli.so in /usr/lib/jvm,
which demonstrates that the java binary searches for some of the
DT_NEEDED libraries using the correct rpath. But libjava.so is not
searched from the rpath; it is instead dl-opened manually, looked for in
the search paths hardcoded to the following directories:
  - /usr/lib/
  - /usr/jre/lib/
  - $(dirname $0)/../lib/

The reason behind the hardcoded paths given by the maintainers is due to
historical purposes for the need to support several java versions at the
same time on a single system, and that changing the above behavior is not
likely to ever happen.

As such, most distributions such as Redhat do the following:
  - Create the directory /usr/lib/jvm/java-$(JAVA_VERSION)/
  - Install all directories and files found in images/jre to that directory.
  - Symlink the binaries to in /usr/lib/jvm/java-$(JAVA_VERSION)/bin to
    /usr/bin.

However, because Buildroot does not need to support multiple versions of java
concurrently, there is no need for the additional java-$(JAVA_VERSION)
directory.

To fix the above issue, the following changes are performed:
  - Introduce the variable "OPENJDK_INSTALL_BASE" which points to /usr/lib/jvm
  - Set the --with-extra-ldflags conf_opt to
      "-Wl,-rpath,$(OPENJDK_INSTALL_BASE)/lib,-rpath,
      $(OPENJDK_INSTALL_BASE)/lib/$(OPENJDK_JVM_VARIANT)"
  - Run "mkdir -p $(TARGET_DIR)/usr/lib/jvm/" in the INSTALL_TARGET_CMDS step.
  - Copy both the lib and bin directories to /usr/lib/jvm/
  - Symlink the binaries in /usr/lib/jvm/bin/ to /usr/bin.

Fixes: https://bugs.busybox.net/show_bug.cgi?id=12751

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Reviewed-by: Ryan Barnett <ryan.barnett@rockwellcollins.com>
Tested-by: Ryan Barnett <ryan.barnett@rockwellcollins.com>
[yann.morin.1998@free.fr: fix two remaining mis-placed '/']
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 3edb915709)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 09:21:12 +02:00
John Keeping
6808e122f6 package/libglib2: restore use of system printf
Prior to commit 4102db0f7a ("package/libglib2: bump to version 2.60.3")
which converted libglib2 to meson, Buildroot used to set a range of
autoconf options to bypass tests that require running binaries.

The meson version of libglib2's build system has many fewer of these
checks, but there are still some and these can be fed the "correct"
answer by adding properties to cross-compilation.conf.

Add the necessary properties to indicate that we have C99 compliant
print functions to avoid pulling in the gnulib fallback.

Signed-off-by: John Keeping <john@metanate.com>
Reviewed-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 4f91198f0d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 09:15:43 +02:00
Fabrice Fontaine
fbc2f26d06 package/midori: needs gcc >= 7
Commit ec1ff802df forgot to propagate
gcc >= 7 dependency to midori

Fixes:
 - http://autobuild.buildroot.org/results/736a99dcaa72fba3f06775d08c4395f506fce944

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit de5a74193b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-08 09:13:34 +02:00
Titouan Christophe
700f65462e package/libopenssl: security bump to v1.1.1g
This fixes CVE-2020-1967:
Server or client applications that call the SSL_check_chain() function during
or after a TLS 1.3 handshake may crash due to a NULL pointer dereference as a
result of incorrect handling of the "signature_algorithms_cert" TLS extension.
The crash occurs if an invalid or unrecognised signature algorithm is received
from the peer. This could be exploited by a malicious peer in a Denial of
Service attack. OpenSSL version 1.1.1d, 1.1.1e, and 1.1.1f are affected by this
issue. This issue did not affect OpenSSL versions prior to 1.1.1d.

See https://www.openssl.org/news/secadv/20200421.txt

Also update the hash file to the new two spaces convention

Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 849aee4f88)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-07 23:55:53 +02:00
Romain Naour
0749eaf94d configs/qemu_riscv*: remove BR2_TARGET_OPENSBI_USE_PLAT
This option never existed in opensbi package.

This fixes the new defconfig check.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 8dd067ef3a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-07 23:55:13 +02:00
Romain Naour
9bb12abb33 configs/qemu_ppc_virtex_ml507_defconfig: select BR2_POWERPC_SOFT_FLOAT
The BR2_SOFT_FLOAT option is lost while loading the defconfig with:
make qemu_ppc_virtex_ml507_defconfig

On powerpc, BR2_POWERPC_SOFT_FLOAT must be used to enable soft
floating point support.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b6245ed49b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-07 23:54:59 +02:00
Romain Naour
ab0c97f8ff configs/olimex_a20_olinuxino_lime{, 2}_defconfig: use a glibc toolchain
Since 2e71b396a1, this defconfig needs
a glibc toolchain to select sunxi-mali-mainline package.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 04f9ff54a5)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-07 23:54:43 +02:00
Romain Naour
af58725341 configs/engicam_imx6qdl_icore_qt5_defconfig: needs udev to select glmark2
The BR2_PACKAGE_GLMARK2 is lost while loading the defconfig with:
make engicam_imx6qdl_icore_qt5_defconfig

In order to select gmark2 package, BR2_PACKAGE_GLMARK2_FLAVOR_ANY option
must be set.

Based on the defconfig without X11 and wayland package, the only missing
option to select BR2_PACKAGE_GLMARK2_FLAVOR_ANY is BR2_PACKAGE_HAS_UDEV.
The only possible option is to enable one of the udev provider
(eudev or systemd). Select eudev package for /dev management.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 6dd11cefb8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-07 23:53:48 +02:00
Romain Naour
1a80cc2ca4 configs: remove BR2_PACKAGE_QT5BASE_LICENSE_APPROVED
This option has been removed since 6836f2a70a.

This fixes the new defconfig check.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 7a239696d7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-07 23:11:46 +02:00
Romain Naour
afad679486 configs:minnowboard_max-graphical_defconfig: re-enable GLX support
This defconfig loses mesa3d-demo and glmark2 package since commit
5cb821d563 that introduced an
explicit option to enable GLX support.

This fixes the new defconfig check.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit ffedbd1c53)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-07 23:03:57 +02:00
Romain Naour
80f3c1f49d configs: fix typo BR2_TARGET_ROOTFS_EXT2_4
The ext4 option is BR2_TARGET_ROOTFS_EXT2_4 not
BR2_TARGET_ROOTFS_EXT_4.

This fixes the new defconfig check.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit a3704cd8c9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-07 23:00:38 +02:00
Romain Naour
cf929584c7 configs/amarula_a64_relic: add missing BR2_PACKAGE_HOST_ANDROID_TOOLS=y
board/amarula/a64-relic/readme.txt makes use the host fastboot utility
to flash the board. However, BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT
(which is enabled in the defconfig) has a dependency on
BR2_PACKAGE_HOST_ANDROID_TOOLS, which is not enabled in the
defconfig. Due to this, BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT=y is
lost when loading the defconfig.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Jagan Teki <jagan@amarulasolutions.com>
[Thomas: change to add BR2_PACKAGE_HOST_ANDROID_TOOLS=y]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 016a1d80ea)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-07 22:59:38 +02:00
Fabrice Fontaine
0bde7aafbe package/paho-mqtt-c: fix bump to version 1.3.2
Commit e69b8ddd43 bumped paho-mqtt-c to
version 1.3.2 but hash was wrong moreover licence has changed to EPL-2.0
since
1e91229cb6

So fix that and add LICENSE to the list of license files

Fixes:
 - http://autobuild.buildroot.org/results/7ea1791778053613e9ef6b146dbd1992a0f63dc6

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 7a078ef054)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-07 22:53:37 +02:00
Julien Grossholtz
3f886d4955 package/paho-mqtt-c: bump to version 1.3.2
paho-c-mqtt 1.3.2 is a maintenance release. It fixes many bugs
including memory leaks and segmentation faults.

Release notes: https://github.com/eclipse/paho.mqtt.c/milestone/7?closed=1

Signed-off-by: Julien Grossholtz <julien.grossholtz@openest.io>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit e69b8ddd43)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-07 22:53:25 +02:00
Vincent Fazio
7ae1cf0b19 toolchain/toolchain-buildroot: PPC64(LE) support in musl requires ALTIVEC
musl currently assumes all PPC64(LE) CPUs support ALTIVEC instructions.

However, there are exceptions (such as the e5500) for which musl builds
ultimately generate illegal instructions for the targets.

Disable musl if the PPC64(LE) CPU does not support ALTIVEC instructions.

This patch addresses the issues seen here:
  https://gitlab.com/kubu93/toolchains-builder/-/jobs/418092743
  https://gitlab.com/kubu93/toolchains-builder/-/jobs/418092744

musl mailing list thread:
  https://www.openwall.com/lists/musl/2020/02/03/10

Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 20c267f2e9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-07 22:47:30 +02:00
Luca Ceresoli
e38e29575a packages/exim: enable parallel make
Parallel make used to be broken in exim, as reported in its docs. Now that
line has disappeared from the docs, and parallel make is actually working.

Tested with 'make exim-dirclean ; time make BR2_JLEVEL=999 exim': builds
still succeed and the build time decreases from 34 to 11 seconds on my
host.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 153b78ee26)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 08:00:40 +02:00
Thomas Petazzoni
1286adaada DEVELOPERS: remove Rhys Willians from lirc-tools
Rhys has asked through private e-mail to be removed:

==
Please can I be removed as the developer, as I’m not longer involved.

Cheers Rhys
==

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 45e8a699a9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:53:26 +02:00
Fabrice Fontaine
2328b9dc6b package/haproxy: fix build on m68k
When threads are enabled, haproxy expects that pthread_getcpuclockid is
available which is not the case on m68k. Fix this by enabling threads
support only if NPTL is available.

Fixes:
 - http://autobuild.buildroot.org/results/52cc4b1fcac2a4fc84ab15ec4c692d2cd9b6d8bd

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit fb7fd98774)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:52:04 +02:00
Pascal de Bruijn
f65af19271 package/lvm2: install systemd units and generators
Signed-off-by: Pascal de Bruijn <p.debruijn@unilogic.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit cb0ce03ba6)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:50:31 +02:00
Fabrice Fontaine
79127c6fbd package/wireshark: security bump to version 3.2.3
Fix CVE-2020-11647: In Wireshark 3.2.0 to 3.2.2, 3.0.0 to 3.0.9, and
2.6.0 to 2.6.15, the BACapp dissector could crash. This was addressed
in epan/dissectors/packet-bacapp.c by limiting the amount of recursion.

https://www.wireshark.org/security/wnpa-sec-2020-07.html

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 94fd6bdcc9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:47:30 +02:00
Fabrice Fontaine
a474a68632 package/efl: fix build with poppler and gcc 5
-std=c++11 is needed to avoid the following build failure with poppler
and gcc 5:

/home/naourr/work/instance-0/output-1/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/poppler/cpp/poppler-page.h:40:37: note: C++11 'noexcept' only available with -std=c++11 or -std=gnu++11
/home/naourr/work/instance-0/output-1/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/poppler/cpp/poppler-page.h:70:10: error: 'unique_ptr' in namespace 'std' does not name a template type
     std::unique_ptr<text_box_data> m_data;
          ^
Fixes:
 - http://autobuild.buildroot.org/results/3428b9017168db9239756dc06cdaa5ae004cab97

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit d9a4208f62)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:45:14 +02:00
Bernd Kuhls
25f4ef8731 package/openvpn: security bump version to 2.4.9
Changelog:
https://github.com/OpenVPN/openvpn/blob/release/2.4/ChangeLog

Fixes CVE-2020-11810.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit d9045f2596)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:31:26 +02:00
Ryan Steffens
8f14e3c883 package/netsnmp: unix domain socket transport
The support for Unix domain socket transport was disabled as part of
the bump of netsnmp from 5.5 to 5.6 in commit
de642c9904, but with no apparent reason.

This support is needed to allow Unix socket based AgentX subagents to
connect to netsnmp, so let's re-enable it.

Signed-off-by: Ryan Steffens <ryan.steffens@rockwellcollins.com>
Signed-off-by: Clayton Shotwell <clayton.shotwell@rockwellcollins.com>
Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 8aef2d3a5b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:29:39 +02:00
Louis Aussedat
236f809c25 package/php: fix gd extension dependencies and options
Due to migration to pkg-config in php 7.4, the detection of
library dependencies has been changed.

source from php.net:
--with-gd becomes --enable-gd
--with-png-dir has been removed. libpng is required.
--with-zlib-dir has been removed. zlib is required.
--with-freetype-dir becomes --with-freetype
--with-jpeg-dir becomes --with-jpeg

Signed-off-by: Louis Aussedat <aussedat.louis@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 31c5fd8f4b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:28:14 +02:00
Louis Aussedat
ab30ce809c package/php: fix zip support
since php7.4, --enable-zip becomes --with-zip due to
migration to pkg-config.

Signed-off-by: Louis Aussedat <aussedat.louis@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit ac2b371732)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:28:07 +02:00
Adam Duskett
bad149c07c package/polkit: add upstream fix for SIGTTOU
If tty_handler() resets terminal while pkttyagent is run in background job,
the process gets stopped by SIGTTOU. This impacts systemctl, hence it must
be blocked for a while and then the process gets killed anyway.

Upstream commit: 28e3a6653d8c3777b07e0128a0d97d46e586e311

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 0d749be3e1)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:26:58 +02:00
Adam Duskett
148f82ca0b package/polkit: add upstream memory leak fix
This patch fixes two small memory leaks.

Upstream commit: 28e3a6653d8c3777b07e0128a0d97d46e586e311

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit ba70e29fea)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:26:52 +02:00
Adam Duskett
4cbe3e5d3b package/polkit: install service file
The default installed service file is missing a target, which causes preset-all
to not enable the service.

Add the service file to package/polkit with the addition of:

[Install]
WantedBy=multi-user.target

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 3f885d9dfe)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:26:27 +02:00
Thomas Petazzoni
0919c67bb6 package/polkit: properly autoreconf
0001-make-netgroup-support-optional.patch patches configure.ac, but we
don't autoreconf the package, which is not good.

However, simply adding AUTORECONF = YES is not sufficient: polkit
Makefile.am use the automake conditional HAVE_INTROSPECTION, which is
"available" only when the gobject-introspection m4 file is installed.

Since we don't want to make gobject-introspection a mandatory
dependency of polkit, we take a simpler route: add a copy of
introspection.m4 into the polkit source tree. This is only a 142 lines
file, and it can be dropped when
0001-make-netgroup-support-optional.patch is merged upstream.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 8edcb84730)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:25:31 +02:00
Thomas Petazzoni
7c6cc0dd7d package/libsepol: fix help text for BR2_PACKAGE_LIBSEPOL_POLICY_VERSION
The help text was wrong, as it didn't match the actual default values
we were specifying. Indeed, when we specify:

        default 31 if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13
        default 30 if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3

It means that the policy version 30 is supported starting from Linux
4.3 included, and that 31 is supported from Linux 4.13 included.

So we shouldn't have:

	  > 4.3 <= 4.13    30
	  > 4.13           31

but:

	  >= 4.3 < 4.13    30
	  >= 4.13          31

This patch fixes that for all versions.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 67d7705a9a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:22:52 +02:00
Yegor Yefremov
7f882e9942 package/python-dpkt: remove Python2 only dependency
python-dpkt supports both Python flavors.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 12ccb92fce)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:21:21 +02:00
Bernd Kuhls
5d5694d36d package/php: security bump version to 7.4.5
Changelog: https://www.php.net/ChangeLog-7.php#7.4.5

Fixes CVE-2020-7067.

Removed patch applied upstream.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit db52b57c3d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:20:29 +02:00
Frank Vanbever
d853d927ff package/python-iptables: account for platform tag in extensions
EXT_SUFFIX in Python versions > 3.5 contains a platform tag which only applies
to cpython extensions. Given that ctypes.util.find_library does not work on the
target due to the absence of the underlying tools '.so' needs to be added as a
possible suffix for libraries to enable python-iptables to find the iptables
shared libraries.

Signed-off-by: Frank Vanbever <frank.vanbever@essensium.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 52276cdda3)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:15:36 +02:00
Frank Vanbever
c121494d16 package/python-iptables: try known libc instead of find_library()
ctypes.util.find_library() depends on gcc and friends to detect the location of
a given shared library. Given that these are not available on the target and
that python-iptables depends on this functionality we need to work around this.
The SONAMEs of the libc are well known so we try the known ones for glibc,
uClibc and musl.

Fixes: https://bugs.busybox.net/show_bug.cgi?id=12271

Signed-off-by: Frank Vanbever <frank.vanbever@essensium.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 90c18ab269)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:15:10 +02:00
Frank Vanbever
b6d45c45cb package/python-iptables: add explicit dependency on dynamic libs
The package uses ctypes.CDLL extensively which only makes sense when dynamic
libraries are available.

Signed-off-by: Frank Vanbever <frank.vanbever@essensium.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 21b85bc56c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:15:01 +02:00
Fabrice Fontaine
47c67ff56a package/mbedtls: security bump to version 2.16.6
- Fix CVE-2020-10932: fix side channel in ECC code that allowed an
  adversary with access to precise enough timing and memory access
  information (typically an untrusted operating system attacking a
  secure enclave) to fully recover an ECDSA private key.
- Fix a potentially remotely exploitable buffer overread in a DTLS
  client when parsing the Hello Verify Request message.
- Fix bug in DTLS handling of new associations with the same parameters
  (RFC 6347 section 4.2.8): after sending its HelloVerifyRequest, the
  server would end up with corrupted state and only send invalid records
  to the client. An attacker able to send forged UDP packets to the
  server could use that to obtain a Denial of Service. This could only
  happen when MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE was enabled in
  config.h (which it is by default).

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b5704f8869)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:13:37 +02:00
Pascal de Bruijn
9f79ad93cf package/exim: fix log and pid file paths
By default, exim stores its PID file in /var/spool/exim, and its log
file in /var/spool/exim/log, but it makes a lot more sense to have the
logs in /var/log/exim and the PID file in /var/run/exim.

Using binary name subdirectory in both cases allows for the use of
systemd's LogsDirectory and RuntimeDirectory statements

Signed-off-by: Pascal de Bruijn <p.debruijn@unilogic.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 754341460b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:10:40 +02:00
Heiko Thiery
1d177afefc package/libssh: add patch to fix regression
The libssh server is used by libnetconf2. With libssh version 0.9.4 a
regression was introduced that wrongly leads to session closed after the
poll timeout.

The patch comes from upstrem:
https://git.libssh.org/projects/libssh.git/commit/?id=6417f5a3cac8537ac6f6ff7fc1642dfaa0917fb4

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 39099153d9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:03:34 +02:00
Heiko Thiery
de1490e2a5 package/libssh: add patch to fix reported version
The released libssh package does wrongly reports the previous version.
This patch fixes the version field in the lib.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit a7db921da5)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:03:29 +02:00
Baruch Siach
4c16f29ee1 package/libssh: security bump to version 0.9.4
Fixes CVE-2020-1730: Possible DoS in client and server when handling
AES-CTR keys with OpenSSL.

Format hash file with two spaces delimiter.

Cc: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 6b8a47e292)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:03:24 +02:00
Thomas Petazzoni
52bfa18f8f board/udoo/neo: create boot.scr in TARGET_DIR/boot
There is no reason to create boot.scr in board/udoo/neo and later
install it in TARGET_DIR/boot, leaving a stale file behind.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 2306339d1f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:00:40 +02:00
Thomas Petazzoni
6569f398ee board/solidrun/mx6cubox: create boot.scr in TARGET_DIR/boot
There is no reason to create boot.scr in board/solidrun/mx6cubox and
later install it in TARGET_DIR/boot, leaving a stale file behind.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 9ddbd11620)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:00:34 +02:00
Carlos Santos
52b01679ea board/wandboard/post-build.sh: create boot.scr at TARGET_DIR/boot
There is no reason to create boot.scr at board/wandboard and later
install it at TARGET_DIR/boot, leaving a stale file behind.

Signed-off-by: Carlos Santos <unixmania@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit f14e95b3ff)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 07:00:27 +02:00
Stephan Hoffmann
bd389b52fb package/azure-iot-sdk-c: also install libparson
The package builds libparson, but does not install it, let's fix this.

Signed-off-by: Stephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 94120fd7c7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 06:58:26 +02:00
Stephan Hoffmann
f4150265b1 package/azure-iot-sdk-c: fix installation of libumqtt
Unlike the other libraries built by azure-iot-sdk-c, libumqtt follows
a regular versioning scheme. It has a libumqtt.so.1 SONAME, with
libumqtt.so.1 being a symlink to libumqtt.so.1.1.11.

However, we currently install the library itself as libumqtt.so to the
target filesystem, which is not its SONAME, which means it cannot be
found by any other library/program linked against it.

This commit fixes that by installing the library as
libumqtt.so.1.1.11, and creating the appropriate symlinks. The static
library installation is not modified.

Signed-off-by: Stephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 570dd0c31b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 06:58:04 +02:00
Thomas Petazzoni
0bb747c981 package/azure-iot-sdk-c: create function for library installation
As a preparation for adding the creation of some symlinks, let's
factor the library installation into a function.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 43822bb6db)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 06:57:51 +02:00
Thomas Petazzoni
42687ce675 package/azure-iot-sdk-c: use full destination path for $(INSTALL)
The canonical way to use $(INSTALL) is to have a full destination
path, that includes the file name.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 59de11b047)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 06:57:45 +02:00
Thomas Petazzoni
8a768ad62e package/azure-iot-sdk-c: format the libraries list with one lib per line
This makes it easier to review patches modifying these lists of
libraries, such as:

  http://patchwork.ozlabs.org/project/buildroot/patch/20190923115206.4468-1-stephan.hoffmann@ext.grandcentrix.net/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit c71030f0fa)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-05-06 06:57:38 +02:00
Nicolas Carrier
88666e0fbb package/apache: atomic creation of pid file.
The original pattern for creating the pid file was:
open_create(pid_file)
write(pid_file, pid)
close(pid_file)

But if a power outage occurs between open_create and write, the file will
be empty and httpd will refuse to start afterwards unless the corrupt pid
file is removed.

This patch uses the pattern:
open_create(temp_pid_file)
write(temp_pid_file)
close(temp_pid_file)
rename(temp_pid_file, pid_file)
which is guaranteed to be atomic, provided that temp_pid_file and pid_file
are located in the same file system, which this patch does by creating
a temporary file name with the pattern:
    pid_file_name + random_suffix

Patch is upstream as of
dd10a9352e,
which will be in the next 2.5.x version.

Signed-off-by: Nicolas Carrier <nicolas.carrier@orolia.com>
[Thomas: update to use upstreamed patch.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 67fbb903b6)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 15:03:25 +02:00
Peter Korsgaard
a6f7822287 package/apache: security bump to version 2.4.43
Fixes the following security issues:

  *) SECURITY: CVE-2020-1934 (cve.mitre.org)
     mod_proxy_ftp: Use of uninitialized value with malicious backend FTP
     server. [Eric Covener]

  *) SECURITY: CVE-2020-1927 (cve.mitre.org)
     rewrite, core: Set PCRE_DOTALL flag by default to avoid unpredictable
     matches and substitutions with encoded line break characters.
     The fix for CVE-2019-10098 was not effective.  [Ruediger Pluem]

The LICENSE file has been updated to fix a s/waranties/warranties/ typo, so
update the hash to match and adjust the spacing to match recent agreements:

-This software is provided "as is" and any express or implied waranties,
+This software is provided "as is" and any express or implied warranties,

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 2bf40ad66b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 15:02:33 +02:00
Bernd Kuhls
0b5292d99c package/vlc: security bump version to 3.0.9.2
Fixes a number of security issues.  For details, see the upstream security
bulletin: https://www.videolan.org/security/sb-vlc309.html

Changelog:
http://git.videolan.org/?p=vlc/vlc-3.0.git;a=blob_plain;f=NEWS

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 136f516b41)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:57:46 +02:00
Bernd Kuhls
0b90f3e0f3 package/vnstat: bump version to 2.6
Changelog: https://humdi.net/vnstat/CHANGES

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit e4b188e1d4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:55:25 +02:00
Bernd Kuhls
4b51bf6d3b package/msgpack: bump version to 3.2.1
Changelog:
https://github.com/msgpack/msgpack-c/blob/master/CHANGELOG.md

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 9b25b54af3)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:52:17 +02:00
Bernd Kuhls
a43d2b418e package/openldap: bump version to 2.4.49
Release notes:
https://lists.openldap.org/hyperkitty/list/openldap-announce@openldap.org/thread/VMMBUCQHEDF6QA4CDOONP2CDQEOR5YQA/

Switched _SITE to https.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 8961000fe8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:49:50 +02:00
Bernd Kuhls
c56cd5c7af package/nginx: bump version to 1.17.9
Changelog: http://nginx.org/en/CHANGES

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 7a4517d874)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:45:35 +02:00
Fabrice Fontaine
f642f563ba package/ogre: fix build with RELRO
Fixes:
 - http://autobuild.buildroot.org/results/b64dfcd8e576666e8a4a52da81a2f5a92b779dc7

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 506740c030)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:42:03 +02:00
Ryan Coe
ec3d9a5e39 package/mariadb: patch mariadb_config to add sysroot path
This patch adds @CMAKE_SYSROOT@ to mariadb_config.c.in. Without it,
mariadb_config and mysql_config incorrectly returns host paths for
include paths and library paths.

The patch has been accepted upstream at
b787c0d69c

Reported-by: Alexey Lukyanchuk <skif@skif-web.ru>
Signed-off-by: Ryan Coe <bluemrp9@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 905e4f2890)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:40:59 +02:00
Fabrice Fontaine
ebe66c4ce6 package/libmad: switch to debian to fix CVEs
Upstream libmad is dead since 2004 so switch to debian package to get
two patches that fix the following CVEs:
 - CVE-2017-8372: The mad_layer_III function in layer3.c in Underbit MAD
   libmad 0.15.1b, if NDEBUG is omitted, allows remote attackers to
   cause a denial of service (assertion failure and application exit)
   via a crafted audio file.
 - CVE-2017-8373: The mad_layer_III function in layer3.c in Underbit MAD
   libmad 0.15.1b allows remote attackers to cause a denial of service
   (heap-based buffer overflow and application crash) or possibly have
   unspecified other impact via a crafted audio file.
 - CVE-2017-8374: The mad_bit_skip function in bit.c in Underbit MAD
   libmad 0.15.1b allows remote attackers to cause a denial of service
   (heap-based buffer over-read and application crash) via a crafted
   audio file.

Moreover:
 - Remove third patch (replaced by optimize.diff debian patch)
 - Remove fourth patch (same patch than
   Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff)
 - Remove fifth patch (same patch than libmad.thumb.diff)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 858df3643f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:39:44 +02:00
Fabrice Fontaine
1c83d14b8c package/libid3tag: needs host-gperf
Since switch to debian in commit
210ccaef57, host-gperf is needed to
generate frametype.c because debian/patches/add-m4-directory.patch
patches Makefile.am. As a side effect, libid3tag tries to generate
frametype.c from frametype.gperf due to following rule:

$(srcdir)/frametype.c: $(srcdir)/frametype.gperf Makefile.am
        cd $(srcdir) &&  \
        gperf -tCcTonD -K id -N id3_frametype_lookup -s -3 -k '*'  \
                frametype.gperf |  \
        sed -e 's/\(struct id3_frametype\);/\1/' |  \
        sed -e '/\$$''Id: /s/\$$//g' >frametype.c

If host-gperf is not available, frametype.c will be empty and build with
madplay will fail on:

configure:17243: checking for snd_pcm_open in -lasound
configure:17268: /home/giuliobenetti/autobuild/run/instance-3/output-1/host/bin/powerpc64-linux-gcc -o conftest -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=1  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  conftest.c -lasound  -L/home/giuliobenetti/autobuild/run/instance-3/output-1/host/bin/../powerpc64-buildroot-linux-gnu/sysroot/usr/lib -lasound  -L/home/giuliobenetti/autobuild/run/instance-3/output-1/host/bin/../powerpc64-buildroot-linux-gnu/sysroot/usr/lib -lid3tag  >&5
/home/giuliobenetti/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/powerpc64-buildroot-linux-gnu/8.3.0/../../../../powerpc64-buildroot-linux-gnu/bin/ld: /home/giuliobenetti/autobuild/run/instance-3/output-1/host/bin/../powerpc64-buildroot-linux-gnu/sysroot/usr/lib/libid3tag.so: undefined reference to `id3_frametype_lookup'

Fixes:
 - http://autobuild.buildroot.org/results/15a8c7f6e34b26446179c04383719ea71495403e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 7ecd0e4edf)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:38:32 +02:00
Fabrice Fontaine
87a2a759b7 package/libid3tag: switch to debian to fix CVEs
Upstream libid3tag is dead since 2004 so switch to debian to get two
patches that fix the following CVEs:
 - CVE-2004-2779: id3_utf16_deserialize() in utf16.c in libid3tag
   through 0.15.1b misparses ID3v2 tags encoded in UTF-16 with an odd
   number of bytes, triggering an endless loop allocating memory until
   an OOM condition is reached, leading to denial-of-service (DoS).
 - CVE-2017-11550: The id3_ucs4_length function in ucs4.c in libid3tag
   0.15.1b allows remote attackers to cause a denial of service (NULL
   Pointer Dereference and application crash) via a crafted mp3 file.
 - CVE-2017-11551: The id3_field_parse function in field.c in libid3tag
   0.15.1b allows remote attackers to cause a denial of service (OOM)
   via a crafted MP3 file.

Moreover, drop patch (replaced by add-m4-directory.patch debian patch)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 210ccaef57)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:38:25 +02:00
Fabrice Fontaine
e8bcc7735b package/libcoap: properly enable DTLS support
The DTLS support needs either gnutls or openssl, so let's have these
packages as optional dependencies. We prefer gnutls over openssl as
done by upstream in their configure.ac when the user does not provide
any option (which is the case currently)

While there is support for tinydtls, and Buildroot has a tinydtls
package, libcoap is only able to use its own internal library, and
only when static linking is enabled, so we simply disable the use of
tinydtls altogether.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 8b14f6b49b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:37:17 +02:00
Fabrice Fontaine
1b19d8aa68 package/meson: make pkg-config --static aware
Our pkg-config wrapper is not used since commit
4e0bc29993, this raise static build
failures with libglib2 because --static is not passed anymore to
pkg-config so add a patch to get back the old behaviour.

The patch was proposed upstream
https://github.com/mesonbuild/meson/pull/6629, and the feedback was
not very positive. However, we need a solution that works for
Buildroot now, and this proposal is simple enough.

Fixes:

  http://autobuild.buildroot.org/results/0d36952def63cb69628697fa6408aeb6ce10cb5b

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit cf75d7da98)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:18:40 +02:00
Bernd Kuhls
435e4692e6 package/wget: add optional dependency to libiconv
wget has an optional dependency to libiconv:
http://git.savannah.gnu.org/cgit/wget.git/tree/configure.ac#n344

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit a3460121b1)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:15:13 +02:00
Yann E. MORIN
a6b66c1f09 package/jpeg: properly indent in menuconfig
Since there is a variable definition between the definition of
BR2_PACKAGE_JPEG and the choice depending on it, the choice is
not indented bewlo the "jpeg support" prompt, like we like to
have:

    [*] jpeg support
        jpeg variant (jpeg-turbo)  --->

Move the BR2_PACKAGE_JPEG right before the choice (really, move
BR2_PACKAGE_JPEG_SIMD_SUPPORT before BR2_PACKAGE_JPEG, but diff
finds the move of BR2_PACKAGE_JPEG is smaller to display):

    [*] jpeg support
          jpeg variant (jpeg-turbo)  --->

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 7a48ac725f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-30 14:07:23 +02:00
André Hentschel
3bfb7d72d5 package/p7zip: fix CVE-2018-5996
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 02dfcda54a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-29 23:49:57 +02:00
André Hentschel
af36b7ac01 package/p7zip: fix CVE-2017-17969
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit f0c0c7b75d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-29 23:49:51 +02:00
André Hentschel
45797d142f package/p7zip: fix CVE-2016-9296
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit f2047e3d00)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-29 23:49:45 +02:00
Bernd Kuhls
91e4578ad0 package/kodi-pvr-vuplus: needs gcc >= 4.9
Since commit 2cc2ae83fc, kodi-pvr-vuplus
has a dependency on json-for-modern-cpp, but the dependency of
json-for-modern-cpp on gcc >= 4.9 was not propagated. Let's fix that.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 76c2914703)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-29 23:44:31 +02:00
Romain Naour
8cfa5004d0 support/testing: test_python_django: use the timeout_multiplier value
As reported by our gitlab runtime test [1] and on the mailing list
[2], the test_python_django is failing due to django server taking a
lot of time to start. Since the django server is started in background
through pexpect, we can't easily wait for the last startup line:

"January 01, 1970 - 00:00:41

Django version 3.0.4, using settings 'testsite.settings'

Starting development server at http://0.0.0.0:1234/

Quit the server with CONTROL-C."

In the failing gitlab job, we don't see such lines.

If we increase a lot the timout, the test passes.

Use timeout_multiplier introduced by [3] in order to adjust the
timeout.

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/488816222

Tested:
https://gitlab.com/kubu93/buildroot/-/jobs/507458355

[1] https://gitlab.com/buildroot.org/buildroot/-/jobs/488816222
[2] http://lists.busybox.net/pipermail/buildroot/2020-April/279598.html
[3] 6e45e33f27

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 3e6b97e09e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-29 23:42:22 +02:00
Peter Seiderer
da60ae1187 package/libinput: bump version to 1.15.5
For details see [1].

[1] https://lists.freedesktop.org/archives/wayland-devel/2020-April/041400.html

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 1a825aee63)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-29 23:38:48 +02:00
Thomas Petazzoni
9aad0c80a8 package/mc: fix typo BR2_PACKAGE_GMP -> BR2_PACKAGE_GPM
Commit 9cae8f557b introduced an optional
dependency on GPM, but got the name of the option wrong, and used
GMP. In fact, even the commit title was wrong.

This causes a build failure:

Makefile:578: *** gpm is in the dependency chain of mc that has added it to its _DEPENDENCIES variable without selecting it or depending on it from Config.in.  Stop.

Fixes:

  http://autobuild.buildroot.net/results/52fb92ae7dd55cba7d19862bb6cd89c80da9a4b6/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 52d10583b3)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-29 23:33:48 +02:00
Bernd Kuhls
cd635c862b package/mc: add optional dependency to gmp
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 9cae8f557b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-29 23:33:22 +02:00
Peter Seiderer
198c5e46ac package/qt5: bump latest version to 5.12.8
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-29 23:10:50 +02:00
Bernd Kuhls
65575e64d6 package/ffmpeg: add optional dependency to libxcb
ffmpeg 3.3 added optional support for libxcb:
https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/Changelog#l282

This patch ensures a reproducible build of libavdevice.so:

$ readelf -a output/target/usr/lib/libavdevice.so | grep NEEDED
 0x0000000000000001 (NEEDED)             Shared library: [libavfilter.so.7]
 0x0000000000000001 (NEEDED)             Shared library: [libavformat.so.58]
 0x0000000000000001 (NEEDED)             Shared library: [libavcodec.so.58]
 0x0000000000000001 (NEEDED)             Shared library: [libavutil.so.56]
 0x0000000000000001 (NEEDED)             Shared library: [libxcb.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libxcb-shm.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libxcb-shape.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libxcb-xfixes.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.0]

compared to

$ readelf -a output/target/usr/lib/libavdevice.so | grep NEEDED
 0x0000000000000001 (NEEDED)             Shared library: [libavfilter.so.7]
 0x0000000000000001 (NEEDED)             Shared library: [libavformat.so.58]
 0x0000000000000001 (NEEDED)             Shared library: [libavcodec.so.58]
 0x0000000000000001 (NEEDED)             Shared library: [libavutil.so.56]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.0]

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 10954dfe68)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-29 23:00:46 +02:00
Bernd Kuhls
94776e7bc3 package/python3: add optional dependency to gettext
Tested using this defconfig:

BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_SYSTEM_ENABLE_NLS=y
BR2_PACKAGE_PYTHON3=y

Without this patch:
$ readelf -a output/target/usr/lib/libpython3.8.so.1.0 | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libc.so.0]

With this patch:
$ readelf -a output/target/usr/lib/libpython3.8.so.1.0 | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libintl.so.8]
 0x00000001 (NEEDED)                     Shared library: [libc.so.0]

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 2a36dad008)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-29 23:00:37 +02:00
Romain Naour
c63a7909a9 package/python-crossbar: add missing runtime dependency on python-werkzeug
Upstream commit
b9c295d3cf
which has been part of the releases since v19.10.1 has added
werkzeug dependency.

Without werkzeug package, the test TestPythonPy3Crossbar
is failing at runtime with this error:

ModuleNotFoundError: No module named 'werkzeug'

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/498144523

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 3d4a545630)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-25 09:26:22 +02:00
Peter Seiderer
53a0b978ff package/python-flask: bump version to 1.1.2
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Reviewed-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 196109cb63)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-25 09:09:44 +02:00
Peter Seiderer
960f2e0de7 package/python-flask: update homepage URL
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Reviewed-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 3572176dcd)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-25 09:09:03 +02:00
Peter Seiderer
edcebfba73 package/python-flask: remove erroneously python-lxml dependency
Remove erroneously python-lxml dependency (as noted by
Peter Korsgaard).

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Reviewed-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit ebc55329cb)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-25 09:08:51 +02:00
Peter Seiderer
0395e882e3 package/python-flask: fix runtime python modules dependencies
- add python setuptools runtime dependency, fixes:
  ModuleNotFoundError: No module named 'pkg_resources'

- add python libxml2 runtime dependency, fixes:
  ModuleNotFoundError: No module named 'xml'

- add python ssl runtime dependency, fixes:
  AttributeError: 'NoneType' object has no attribute 'SSLContext'

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 6576d26024)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-25 09:08:43 +02:00
Fabrice Fontaine
9a90e951f7 package/boinc: set curl-config
Build can fail because boinc uses curl-config that it founds on host:

checking for curl-config... /usr/bin/curl-config
checking for the version of libcurl... 7.47.0
checking for libcurl >= version 7.17.1... yes
checking whether libcurl is usable... no

Fixes:
 - http://autobuild.buildroot.org/results/26ab8024e3ef70b898981763f4ea89b647cc9f4b

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 546d280b24)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-25 09:06:09 +02:00
Fabrice Fontaine
d7b68411c6 package/freerdp: security bump to version 2.0.0
>From the ChangeLog:
- Fix multiple CVEs: CVE-2020-11521 CVE-2020-11522 CVE-2020-11523
  CVE-2020-11524 CVE-2020-11525 CVE-2020-11526
- Fix multiple other security related issues (#6005, #6006, #6007,
  #6008, #6009, #6010, #6011, #6012, #6013)

- Retrieve official tarball
- Drop patch (already in version)
- libusb is needed for urbdrc channel since
  0927d7aa50
- Add a patch to fix build on uclibc
- Update indentation in hash file (two spaces)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit aed0f936db)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-25 09:02:19 +02:00
Fabrice Fontaine
e27ccc1915 package/strongswan: annotate CVEs
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 758a23fd89)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-25 09:00:37 +02:00
Yann E. MORIN
219da1fbd1 package/gcc: fix check-package
Commit dcaf6e75a (package/gcc: pass -Wno-error to debug builds)
introduced non-ASCII characters in a comment, copy-pasted from a
terminal output.

check-package does not like non-ASCII characters, and whines about
them.

Replace the fancy quotes by standard ASCII ones.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 2a6003ddd5)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-25 09:00:02 +02:00
Peter Korsgaard
80e565bbeb Update for 2020.02.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-10 22:42:41 +02:00
Fabrice Fontaine
b48716cda4 package/haproxy: security bump to version 2.1.4
- Fix CVE-2020-11100: In hpack_dht_insert in hpack-tbl.c in the HPACK
  decoder in HAProxy 1.8 through 2.x before 2.1.4, a remote attacker can
  write arbitrary bytes around a certain location on the heap via a
  crafted HTTP/2 request, possibly causing remote code execution.
- Update indentation of hash file (two spaces)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 5ec43086bc)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-09 09:16:23 +02:00
Stefan Sørensen
b9e7a4349a package/gnutls: security bump to 3.6.13
Fixes the following security issue:

 * CVE-2020-11501: It was found that GnuTLS 3.6.3 introduced a
   regression in the DTLS protocol implementation. This caused the DTLS
   client to not contribute any randomness to the DTLS negotiation
   breaking the security guarantees of the DTLS protocol.

Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 170d06cfc6)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-09 00:01:24 +02:00
Peter Korsgaard
1c2319a1d5 {linux, linux-headers}: bump 5.{4, 5, 6}.x series
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b27a07ceb6)
[Peter: drop 5.5.x / 5.6.x bump]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-09 00:00:40 +02:00
James Hilliard
a279c559b8 package/gcc: pass -Wno-error to debug builds
gcc fails to build in debug build with debug optimisations:

BR2_x86_corei7=y
BR2_ENABLE_DEBUG=y
BR2_DEBUG_3=y
BR2_OPTIMIZE_G=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y

which fails with:
    ../../../../libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: error: ‘st.st_mode’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
       return S_ISLNK (st.st_mode);
                     ^
Upstream has been unable to reproduce/fix properly, details:
https://gcc.gnu.org/legacy-ml/gcc-patches/2019-03/threads.html#00827

Upstream recommends passing -Wno-error as a workaround, see:
https://gcc.gnu.org/pipermail/gcc-patches/2019-April/519867.html

Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
[yann.morin.1998@free.fr: add the reproducing defconfig]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit dcaf6e75ac)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 16:33:35 +02:00
Thomas Petazzoni
db8d624958 package/pkg-generic.mk: also replace /lib by STAGING_DIR/lib in .la files
After the staging installation, we replace a number of paths in libtool
.la files so that those paths point to STAGING_DIR instead of a location
in the build machine.

However, we replace only paths that start with /usr. And it turns out
that the linux-pam package is configured with --libdir=/lib (linux-pam
seems to always be installed in /lib rather than /usr/lib).

Due to this, libpam.la contains the following line:

  libdir='/lib'

When building a configuration that has:

 - BR2_ROOTFS_MERGED_USR=y
 - BR2_PACKAGE_LINUX_PAM=y
 - BR2_PACKAGE_POLKIT=y

on a system that has its system-wide PAM library installed in /lib,
the build fails with:

/lib/libpam.so: file not recognized: File format not recognized

For some reason, libtool searches only in STAGING_DIR/usr/lib, but
when BR2_ROOTFS_MERGED_USR=y, STAGING_DIR/lib points to
STAGING_DIR/usr/lib, so libtool finds libpam.la. And this libpam.la
contains a bogus libdir='/lib' path. libtool then goes on, finds
/lib/libpam.so, and links with it, causing the build failure.

By doing the proper replacement of libdir='/lib', we have a correct
libpam.la, and solve the build issue.

There is no autobuilder failure associated to this issue, as it
requires /lib/libpam.so to exist. This is the case on ArchLinux, on
which Xogium reported the issue, which can also be reproduced in an
ArchLinux container.

Reported-by: Xogium <contact@xogium.me>
Cc: Xogium <contact@xogium.me>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Tested-by: Yann E. MORIN <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr:
  - tested by manually creating a symlink to libpam.so in /lib
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 7ae7c82dd6)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 16:31:47 +02:00
Fabrice Fontaine
8d9ebbb158 package/mcrypt: annotate CVEs
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit cdfa84a80d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 16:30:36 +02:00
Fabrice Fontaine
333142974b package/bubblewrap: security bump to version 0.4.1
Fix CVE-2020-5291: Bubblewrap (bwrap) before version 0.4.1, if installed
in setuid mode and the kernel supports unprivileged user namespaces,
then the `bwrap --userns2` option can be used to make the setuid process
keep running as root while being traceable. This can in turn be used to
gain root permissions. Note that this only affects the combination of
bubblewrap in setuid mode (which is typically used when unprivileged
user namespaces are not supported) and the support of unprivileged user
namespaces.

Also update indentation of hash file (two spaces)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Reviewed-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit d82a5ade0b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 16:29:43 +02:00
Fabrice Fontaine
1b825bce82 package/vlc: fix build with opencv3
Fixes:
 - http://autobuild.buildroot.org/results/210424bd33f660aa0757f62a558e1e03faf0f371

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 516b3737bf)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 16:25:10 +02:00
Thomas Petazzoni
ce862d0f14 boot/syslinux: fix build of efi part with gnu-efi 3.0.10
The following defconfig:

BR2_x86_i686=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--bleeding-edge-2018.11-1.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_TARGET_SYSLINUX=y
BR2_TARGET_SYSLINUX_EFI=y

fails to build due to missing setjmp/longjmp definitions, which is a
consequence of a change introduced between gnu-efi 3.0.9 and 3.0.10.

This build failure is fixed by adding another syslinux paytch, which
has been submitted upstream.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 6d5da6d916)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 16:23:39 +02:00
James Hilliard
3ec50fbee5 package/swupdate: add optional systemd dependency
When the swupdate SYSTEMD option is enabled, systemd needs to be built
before swupdate, otherwise the build fails with:

core/notifier.c:27:10: fatal error: systemd/sd-daemon.h: No such file or directory
   27 | #include <systemd/sd-daemon.h>
      |          ^~~~~~~~~~~~~~~~~~~~~

Of course, it remains up to the user to make sure that the systemd
package is enabled when systemd support is enabled in the swupdate
configuration.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit bea0d20c78)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 16:22:20 +02:00
Fabrice Fontaine
9fead6f65e package/libexif: annotate CVEs
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 094d9857bd)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 16:15:11 +02:00
Peter Korsgaard
4eb7aa1ea7 package/wireguard-tools: bump version to 1.0.20200319
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 11036ca0d2)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 16:12:55 +02:00
Peter Korsgaard
eed4fd569a package/wireguard-linux-compat: bump version to 1.0.20200401
Matching the now-mainline wireguard code in kernel 5.6.

For details, see the announcement:
https://lists.zx2c4.com/pipermail/wireguard/2020-April/005237.html

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 4285b1bac3)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 16:12:48 +02:00
Peter Korsgaard
b3136ae1b2 {linux, linux-headers}: bump 4.{4, 9, 14, 19}.x / 5.{4, 5, 6}.x series
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 79c640e2e0)
[Peter: drop 5.5.x / 5.6.x bump]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 15:45:46 +02:00
Fabio Estevam
b8cb0e2bca package/kmscube: Use the official gitlab URL
The cgit URL is a mirror of the gitlab repository.

The README.md file of the kmscube project also points
to the gitlab repository, so switch the URL accordingly.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 8ab9acbed8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 15:01:46 +02:00
Peter Seiderer
12776c1587 package/sysdig: update upstream URL in Config.in
The sysdig homepage we have points to an "on-sale" domain, that is
purportedly serving malware while at it. Update to point to the wiki on
github instead.

Fixes #12746.

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[yann.morin.1998@free.fr:
  - use wiki instead of git repo
  - expand commit log
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit ca3166da48)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 15:01:35 +02:00
Sébastien Szymanski
cee522be2c package/ntp: security bump to version 4.2.8p14
"This release fixes three security issues in ntpd and provides 46
bugfixes and addresses 4 other issues." [1]

NONE: Sec 3610: process_control() should bail earlier on short packets.

MEDIUM: Sec 3596: Unauthenticated ntpd may be susceptible to IPv4 spoof
attack from highly predictable transmit timestamps.

MEDIUM: Sec 3592: DoS Attack on unauthenticated client.
The fix for https://bugs.ntp.org/3445 introduced a bug whereby a system that
is running ntp-4.2.8p12 (possibly earlier) or p13 that only has one
unauthenticated time source can be attacked in a way that causes the
victim's next poll to its source to be delayed, for as long as the attack is
maintained.

[1] http://support.ntp.org/bin/view/Main/SecurityNotice#March_2020_ntp_4_2_8p14_NTP_Rele

The copyright year has changed in the COPYRIGHT file, so adjust the hash to
match and adjust the spacing to match recent agreements:

@@ -3,7 +3,7 @@

    jpg "Clone me," says Dolly sheepishly.

-   Last update: 2-Jan-2017 11:58 UTC
+   Last update: 4-Feb-2020 23:47 UTC
      __________________________________________________________________

    The following copyright notice applies to all files collectively called
@@ -32,7 +32,7 @@
    Burnicki is:
 ***********************************************************************
 *                                                                     *
-* Copyright (c) Network Time Foundation 2011-2017                     *
+* Copyright (c) Network Time Foundation 2011-2020                     *
 *                                                                     *
 * All Rights Reserved                                                 *
 *                                                                     *

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
[Peter: clarify security impact, document COPYRIGHT change]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 9daf7483e9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 14:51:35 +02:00
Thomas Petazzoni
c4f5436201 linux: adjust BR2_LINUX_KERNEL_IMAGE_NAME help text
The help text of BR2_LINUX_KERNEL_IMAGE_NAME is somewhat incomplete,
in the sense that it assumes just a filename can be passed, while it
can be a relative path, such as 'compressed/vmlinux.bin.z'. So make it
clear that such paths are relative to arch/ARCH/boot/.

Also, drop the part about this being only useful for Xtensa as this is
not true: on MIPS it might be needed as well for some specific image
types.

Reported-by: Paul Cercueil <paul@crapouillou.net>
Cc: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit ea044ee20c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 14:50:45 +02:00
Thomas Petazzoni
f7f95c1759 linux: do not install images in subdirectories
The Linux kernel image is typically found in arch/ARCH/boot/, which is
why LINUX_IMAGE_PATH is defined as:

LINUX_IMAGE_PATH = $(LINUX_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME)

However, on MIPS, some kernel image types are available from
arch/mips/boot/compressed, or even at the top-level directory. For
such cases, LINUX_IMAGE_NAME might be set (using
BR2_LINUX_KERNEL_IMAGE_NAME) to values such as:

  compressed/vmlinux.bin.z

or

  ../../../uzImage.bin

Except that the line:

  $(INSTALL) -m 0644 -D $(LINUX_IMAGE_PATH) $(1)/$(LINUX_IMAGE_NAME)

will lead to such images be installed in:

  $(TARGET_DIR)/boot/compressed/vmlinux.bin.z
  $(BINARIES_DIR)/compressed/vmlinux.bin.z

and:

  $(TARGET_DIR)/boot/../../../uzImage.bin
  $(BINARIES_DIR)/../../../uzImage.bin

which of course is completely bogus.

So let's install them under their name, not their full relative path
to arch/ARCH/boot/.

Reported-by: Paul Cercueil <paul@crapouillou.net>
Cc: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 19be97d497)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 14:50:39 +02:00
Sébastien Szymanski
fcfdf366a1 package/libopenssl: security bump to version 1.1.1f
Fixes the following security issues (1.1.1e):

CVE-2019-1551 [Low severity]: There is an overflow bug in the x64_64
Montgomery squaring procedure used in exponentiation with 512-bit moduli.
No EC algorithms are affected.  Analysis suggests that attacks against
2-prime RSA1024, 3-prime RSA1536, and DSA1024 as a result of this defect
would be very difficult to perform and are not believed likely.  Attacks
against DH512 are considered just feasible.  However, for an attack the
target would have to re-use the DH512 private key, which is not recommended
anyway.  Also applications directly using the low level API BN_mod_exp may
be affected if they use BN_FLG_CONSTTIME.  Reported by OSS-Fuzz and Guido
Vranken.

https://www.openssl.org/news/secadv/20191206.txt

CVE-2019-1563 [Low severity]: In situations where an attacker receives
automated notification of the success or failure of a decryption attempt an
attacker, after sending a very large number of messages to be decrypted, can
recover a CMS/PKCS7 transported encryption key or decrypt any RSA encrypted
message that was encrypted with the public RSA key, using a Bleichenbacher
padding oracle attack.  Applications are not affected if they use a
certificate together with the private RSA key to the CMS_decrypt or
PKCS7_decrypt functions to select the correct recipient info to decrypt.
Reported by Bernd Edlinger.

https://www.openssl.org/news/secadv/20190910.txt

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
[Peter: mention security impact]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit d397b231b7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 14:36:49 +02:00
Bernd Kuhls
9378c2e647 package/x11r7/xserver_xorg-server: bump version to 1.20.8
Removed patch applied upstream:
c2ef88c4d3

Removed md5 & sha1 hashes, not provided by upstream anymore.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 39472b50e0)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 14:34:51 +02:00
Fabrice Fontaine
9afafc0456 package/wpa_supplicant: fix CVE-2019-16275
hostapd before 2.10 and wpa_supplicant before 2.10 allow an incorrect
indication of disconnection in certain situations because source address
validation is mishandled. This is a denial of service that should have
been prevented by PMF (aka management frame protection). The attacker
must send a crafted 802.11 frame from a location that is within the
802.11 communications range.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 650d907c13)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 13:43:07 +02:00
Fabrice Fontaine
e4526a5a24 package/hostapd: fix CVE-2019-16275
hostapd before 2.10 and wpa_supplicant before 2.10 allow an incorrect
indication of disconnection in certain situations because source address
validation is mishandled. This is a denial of service that should have
been prevented by PMF (aka management frame protection). The attacker
must send a crafted 802.11 frame from a location that is within the
802.11 communications range.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 749fbab0bb)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 13:43:01 +02:00
Fabrice Fontaine
53c0425896 package/libsndfile: add upstream security fixes
- Fix CVE-2017-6892: In libsndfile version 1.0.28, an error in the
  "aiff_read_chanmap()" function (aiff.c) can be exploited to cause an
  out-of-bounds read memory access via a specially crafted AIFF file.

- Fix CVE-2017-8361: The flac_buffer_copy function in flac.c in
  libsndfile 1.0.28 allows remote attackers to cause a denial of service
  (buffer overflow and application crash) or possibly have unspecified
  other impact via a crafted audio file.

- Fix CVE-2017-8362: The flac_buffer_copy function in flac.c in
  libsndfile 1.0.28 allows remote attackers to cause a denial of service
  (invalid read and application crash) via a crafted audio file.

- Fix CVE-2017-8363: The flac_buffer_copy function in flac.c in
  libsndfile 1.0.28 allows remote attackers to cause a denial of service
  (heap-based buffer over-read and application crash) via a crafted
  audio file.

- Fix CVE-2017-8365: The i2les_array function in pcm.c in
  libsndfile 1.0.28 allows remote attackers to cause a denial of service
  (buffer over-read and application crash) via a crafted audio file.

- Fix CVE-2017-12562: Heap-based Buffer Overflow in the
  psf_binheader_writef function in common.c in libsndfile through 1.0.28
  allows remote attackers to cause a denial of service (application
  crash) or possibly have unspecified other impact.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 76d5ab4d17)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 13:35:06 +02:00
Nazım Gediz AYDINDOĞMUŞ
f74ae7bdec docs/manual: minor typo fix
Definition of LIBFOO_USERS actually ends on 33rd line.

Signed-off-by: Nazım Gediz Aydındoğmuş <gediz.aydindogmus@genemek.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 61f01794c8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 13:33:36 +02:00
Adam Duskett
7f92c0475d package/nftables: check for python
If python or python3 is selected, nftables should depend on the package
and set the --enable-python option, otherwise set --disable-python

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit d6f33d36af)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 13:32:35 +02:00
Fabio Estevam
218cd2fa5b package/kmscube: Change repository to gitlab
The https://cgit.freedesktop.org/mesa/kmscube repository
is mirrored from https://gitlab.freedesktop.org/mesa/kmscube, so
switch to the gitlab one.

The other advantage of using the gitlab repository is that it can handle
archive downloads, so switch to it.

Suggested-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 396191b156)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 13:29:43 +02:00
Yaroslav Syrytsia
453352c32a Makefile: make-4.3 now longer un-escapes \# in macros
make-4.3 shipped with a backward incompatible change in how sharp signs
are handled in macros. Previously, up to make 4.2, the sharp sign would
always start a comment, unless backslash-escaped, even in a macro or a
fucntion call.

Now, the sharp sign is no longer starting a comment when it appears
inside such a macro or function call. This behaviour was supposed to be
in force since 3.81, but was not; 4.3 fixed the code to match the doc.

As such, use of external toolchains is broken, as we use the sharp sign
in the copy_toolchain_sysroot macro, in shell variable expansion to
strip off any leading /: ${target\#/}.

Fix that by applying the workaround suggested in the release annoucement
[0], by using a variable to hold a sharp sign.

[0] https://lists.gnu.org/archive/html/info-gnu/2020-01/msg00004.html

Signed-off-by: Yaroslav Syrytsia <me@ys.lc>
[yann.morin.1998@free.fr:
  - move the SHARP_SIGN definition out of Makefile and into support/
  - expand the commit log
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 35c5cf56d2)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 13:25:28 +02:00
Fabrice Fontaine
a757768497 package/opencv3: fix build with protobuf
External protobuf is used instead of embedded one since commit
31c68a449e. However it fails to build on:

[ 63%] Building CXX object modules/dnn/CMakeFiles/opencv_dnn.dir/misc/caffe/opencv-caffe.pb.cc.o
In file included from /home/naourr/work/instance-0/output-1/build/opencv3-3.4.9/modules/dnn/misc/caffe/opencv-caffe.pb.cc:4:
/home/naourr/work/instance-0/output-1/build/opencv3-3.4.9/modules/dnn/misc/caffe/opencv-caffe.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
   17 | #error This file was generated by an older version of protoc which is
      |  ^~~~~
/home/naourr/work/instance-0/output-1/build/opencv3-3.4.9/modules/dnn/misc/caffe/opencv-caffe.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
   18 | #error incompatible with your Protocol Buffer headers.  Please
      |  ^~~~~
/home/naourr/work/instance-0/output-1/build/opencv3-3.4.9/modules/dnn/misc/caffe/opencv-caffe.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
   19 | #error regenerate this file with a newer version of protoc.
      |  ^~~~~
/home/naourr/work/instance-0/output-1/build/opencv3-3.4.9/modules/dnn/misc/caffe/opencv-caffe.pb.cc:12:10: fatal error: google/protobuf/wire_format_lite_inl.h: No such file or directory
   12 | #include <google/protobuf/wire_format_lite_inl.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Fix this error by setting PROTOBUF_UPDATE_FILES to ON

Fixes:
 - http://autobuild.buildroot.org/results/219258c90709fc34748929f1dcdf4f0649215e61

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit ad6a0d0d65)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-08 13:22:57 +02:00
James Hilliard
2e2f8c76cd package/cog: fix segfaults on null xkb_data keymap/state
Fixes:
Program terminated with signal SIGSEGV, Segmentation fault.
#0  xkb_state_key_get_layout (state=state@entry=0x0, kc=kc@entry=50) at ../src/state.c:217

Program terminated with signal SIGSEGV, Segmentation fault.
#0  XkbKey (kc=kc@entry=45, keymap=0x0) at ../src/keymap.h:430

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 75fbc58f3f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 21:09:46 +02:00
Thomas Petazzoni
95a051f96e package/oprofile: fix build with binutils >= 2.34
The libbfd library provided by binutils unfortunately changed its API
in binutils >= 2.34. This is causing some build failures at the moment
on architectures such as ARC that are using a very recent binutils
version, but it would also cause build failures on other architectures
once they start using binutils 2.34.

We fix this build issue by backporting an upstream oprofile
patch. However, this patch touches configure.ac, which means we need
to autoreconf, which needs another fix in configure.ac for autoreconf
to succeed.

With all that in place, this commit fixes:

  http://autobuild.buildroot.net/results/583d281c6cd2aecb65556080b379db24101ae3a8/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 8883b8387a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 21:09:01 +02:00
Fabrice Fontaine
081c82c00c package/gvfs: fix CVE-2019-12795
daemon/gvfsdaemon.c in gvfsd from GNOME gvfs before 1.38.3, 1.40.x
before 1.40.2, and 1.41.x before 1.41.3 opened a private D-Bus server
socket without configuring an authorization rule. A local attacker could
connect to this server socket and issue D-Bus method calls. (Note that
the server socket only accepts a single connection, so the attacker
would have to discover the server and connect to the socket before its
owner does.)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit a9f38acbf2)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 21:04:41 +02:00
Fabrice Fontaine
256a070187 package/gvfs: fix CVE-2019-12449
An issue was discovered in GNOME gvfs 1.29.4 through 1.41.2.
daemon/gvfsbackendadmin.c mishandles a file's user and group ownership
during move (and copy with G_FILE_COPY_ALL_METADATA) operations from
admin:// to file:// URIs, because root privileges are unavailable.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit fc42ac086a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 21:04:32 +02:00
Fabrice Fontaine
63a5345796 package/gvfs: fix CVE-2019-12447
An issue was discovered in GNOME gvfs 1.29.4 through 1.41.2.
daemon/gvfsbackendadmin.c mishandles file ownership because setfsuid is
not used.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 062d0f6913)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 21:04:21 +02:00
Fabrice Fontaine
16f4c84991 package/gvfs: fix CVE-2019-12448
An issue was discovered in GNOME gvfs 1.29.4 through 1.41.2.
daemon/gvfsbackendadmin.c has race conditions because the admin backend
doesn't implement query_info_on_read/write.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit e49aa31f5c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 21:04:16 +02:00
Fabrice Fontaine
374bc25feb package/gvfs: fix CVE-2019-3827
An incorrect permission check in the admin backend in gvfs before
version 1.39.4 was found that allows reading and modify arbitrary files
by privileged users without asking for password when no authentication
agent is running. This vulnerability can be exploited by malicious
programs running under privileges of users belonging to the wheel group
to further escalate its privileges by modifying system files without
user's knowledge. Successful exploitation requires uncommon system
configuration.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 346040e269)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 21:04:11 +02:00
Adam Duskett
7100f8bed2 package/vala: fix wrapper
Add double quotes around the $@ variable to prevent word splitting.

Reported-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Adam Duskett <Aduskett@gmail.com>
[yann.morin.1998@free.fr: s/globbing/word splitting/]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 30b6db05cb)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 21:02:37 +02:00
Peter Seiderer
0c381102f0 package/localedef: fix gcc-10.0.1 compile
Fixes build with gcc-10, by backporting an upstream patch:

  programs/ld-ctype.c:855:18: error: array subscript 0 is outside the bounds of an interior zero-length array ‘unsigned char[0]’ [-Werror=zero-length-bounds]
    855 |  replace[0].bytes[0] = '?';
        |  ~~~~~~~~~~~~~~~~^~~

Fixes: #12711

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[yann.morin.1998@free.fr: slight reword in commit log]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 13cc36dcfe)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 21:01:20 +02:00
Fabrice Fontaine
c79987b62e package/rocksdb: fix build without dlfcn.h
Fixes:
 - http://autobuild.buildroot.org/results/04c5afff034d8d71d11b95c998e3156292852de6

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 3e054d20cb)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 20:55:33 +02:00
Fabrice Fontaine
8a8ce4e091 package/rocksdb: fix build on m68k_cf
Fixes:
 - http://autobuild.buildroot.org/results/04c5afff034d8d71d11b95c998e3156292852de6

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit c0ae390d43)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 20:55:28 +02:00
Fabrice Fontaine
a824284afc package/rocksdb: fix bzip2 option
Commit 95bf830e2a forgot to replace
ROCKSDB_CONF_OPTS by ROCKSDB_MAKE_OPTS for BR2_PACKAGE_BZIP2

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 8fc0b41c73)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 20:54:54 +02:00
Bernd Kuhls
f1c89c4bad package/gcc: define _REENTRANT for OpenRISC when -pthread is passed
Fixes:
http://autobuild.buildroot.net/results/ceb802eea0fee5812efd717ae4cdbd9673d9507e/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit eee96b0f0a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 20:53:48 +02:00
Merlin Büge
1f8d7588ad docs/manual: small typo fixes and cleanup
Fix a few punctuation mistakes. The removed link is redundant, see the
previous sentence.

Signed-off-by: Merlin Büge <merlin.buege@tuhh.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 20bd811c7e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 20:48:07 +02:00
Fabrice Fontaine
69af93f511 package/libical: fix CVE-2016-9584
libical allows remote attackers to cause a denial of service
(use-after-free) and possibly read heap memory via a crafted ics file.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 69b51259a2)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 20:36:41 +02:00
Fabrice Fontaine
1536f80f4d package/pure-ftpd: fix CVE-2020-9274
An issue was discovered in Pure-FTPd 1.0.49. An uninitialized pointer
vulnerability has been detected in the diraliases linked list. When the
*lookup_alias(const char alias) or print_aliases(void) function is
called, they fail to correctly detect the end of the linked list and try
to access a non-existent list member. This is related to init_aliases in
diraliases.c.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 1d8426b32c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 20:34:03 +02:00
Fabrice Fontaine
f58cb810c6 package/hiredis: install alloc.h
This will fix build of collectd, proftpd ... with latest hiredis

Fixes:
 - http://autobuild.buildroot.org/results/f5afe60defd63461a5fc06b26bd4759fb5f56a8f
 - http://autobuild.buildroot.org/results/45e980c85d170827d3a41e7443cf1088b2d59ead

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit b72be8c48b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 20:28:05 +02:00
Fabrice Fontaine
87ca39ff70 package/hiredis: security bump to version 0.14.1
- Fix CVE-2020-7105: async.c and dict.c in libhiredis.a in hiredis
  through 0.14.0 allow a NULL pointer dereference because malloc return
  values are unchecked.
- Update indentation of hash file (two spaces)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 40bc86afe9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 20:27:58 +02:00
Fabrice Fontaine
6a62d51f7e package/sdbusplus: needs C++17
sdbusplus needs C++17 since
ca46b9d2e9

This is not needed for host-sdbusplus as libsdbusplus is disabled on
host through --disable-libsdbusplus

Fixes:
 - http://autobuild.buildroot.org/results/65a4652e5b419f03ace109c4b3738e9b997cdabe

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Reviewed-by: John Faith <jfaith@impinj.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit d127c5e4ea)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 20:24:58 +02:00
James Hilliard
ae0bca61ec package/python-pyyaml: security bump to version 5.3.1
Fixes the following security issue:

 386: Prevents arbitrary code execution during python/object/new
 constructor

https://github.com/yaml/pyyaml/pull/386

The hash of the license file changed due to the following diff:

-Copyright (c) 2017-2019 Ingy döt Net
+Copyright (c) 2017-2020 Ingy döt Net

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 9063df44da)
[Peter: mention security impact]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 20:17:57 +02:00
Carlos Santos
e11ad9ebae package/busybox: fix target-finalize hook
It was searching for CONFIG_ASH=y and CONFIG_HUSH=y at $(@D)/.config,
which does not contain the package build path at the target-finalize
step. Use $(BUSYBOX_DIR), instead.

Signed-off-by: Carlos Santos <unixmania@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 9ab1d565ee)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 18:56:12 +02:00
Graham Rhodes
73e918edd5 package/quagga: install quagga to staging
quagga installs libraries that provide interfaces to manage network routing
that can be used by other applications.

Signed-off-by: Graham Rhodes <graham.rhodes@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 1e3cd85e7a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 18:22:29 +02:00
Peter Seiderer
ac1cd30fab package/php: fix aarch64 uclibc-ng compile
The aarch64 compile uses the sys/auxv.h header which is not
provided by uclibc-ng. Add configure.ac patch to check for
the header before using it in ext/standard/crc32.c.

Fixes:

  https://bugs.busybox.net/show_bug.cgi?id=12626

  build/php-7.4.3/ext/standard/crc32.c:26:12: schwerwiegender Fehler: sys/auxv.h: Datei oder Verzeichnis nicht gefunden

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 16e0bf6b9f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 18:12:25 +02:00
Romain Naour
366f19c5db package/gcc: remove stray or1k-musl-5.4.0-20170218 patches
gcc or1k-musl-5.4.0-20170218 was removed in commit
f424b8afa2 but the patch directory was
forgotten.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit e036d778aa)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 18:10:56 +02:00
Pascal de Bruijn
0798a93d22 package/collectd: keep postgresql_default.conf when needed
$(TARGET_DIR)/usr/share/collectd/postgresql_default.conf
should not be removed when postgresql support is enabled,
as that module tries to load that file by default.

Signed-off-by: Pascal de Bruijn <p.debruijn@unilogic.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 35e845700f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 18:07:17 +02:00
Fabrice Fontaine
2580cf8a2e package/tslib: fix build with headers < 4.16
Commit fedaa28079 fixed build with
headers >= 4.16 but as a side effect, build with headers < 4.16 is now
failing so add an upstream patch

Fixes:
 - http://autobuild.buildroot.org/results/594cd1a0d9e6286eca62b575fd1ba2d3a5e01234

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 7eaf235e58)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 17:35:29 +02:00
Fabrice Fontaine
9fbb644a56 package/tslib: fix build with headers >= 4.16
Fixes:
 - http://autobuild.buildroot.org/results/bc8bc3f1d88f3b64765025fee7f941d30a81ee46

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit fedaa28079)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 17:35:16 +02:00
Baruch Siach
c51d4232b7 package/uacme: mention openssl crypto backend in description
uacme supports OpenSSL as crypto backend since version 1.0.8.

Cc: Nicola Di Lieto <nicola.dilieto@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b7eacd41bb)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 17:34:00 +02:00
Peter Seiderer
6cba3cdfa1 package/mesa3d: disable v3d support for arm if neon is not supported
The v3d driver for arm uses neon instructions unconditionally, so
depend on BR2_ARM_CPU_HAS_NEON.

Fixes:

  http://autobuild.buildroot.net/results/66c4df4ee84b73160dde5fe4437b5abdbd2b50d2

  [1050/1079] Compiling C object 'src/gallium/drivers/v3d/99241e4@@v3d_neon@sta/v3d_tiling.c.o'.
  {standard input}: Assembler messages:
  {standard input}:417: Error: selected processor does not support `vldm r6,{q0,q1,q2,q3}' in ARM mode
  {standard input}:418: Error: selected processor does not support `vst1.8 d0,[r4],r5' in ARM mode
  {standard input}:419: Error: selected processor does not support `vst1.8 d1,[r4],r5' in ARM mode
  {standard input}:420: Error: selected processor does not support `vst1.8 d2,[r4],r5' in ARM mode
  {standard input}:421: Error: selected processor does not support `vst1.8 d3,[r4],r5' in ARM mode
  {standard input}:422: Error: selected processor does not support `vst1.8 d4,[r4],r5' in ARM mode
  {standard input}:423: Error: selected processor does not support `vst1.8 d5,[r4],r5' in ARM mode
  {standard input}:424: Error: selected processor does not support `vst1.8 d6,[r4],r5' in ARM mode

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit ff00c284c5)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 17:28:47 +02:00
Peter Seiderer
7a2767bd39 package/mesa3d: fix vc4 neon related compile failure
Add mesa3d patch to add a vc4 option to disable
the optional neon support and set it dependent
on BR2_ARM_CPU_HAS_NEON.

Fixes:

  http://autobuild.buildroot.net/results/6387b0a99e1a0922811919623d9a10b0943988df

  [1086/1254] Compiling C object 'src/gallium/drivers/vc4/691f666@@vc4_neon@sta/vc4_tiling_lt_neon.c.o'.
  {standard input}: Assembler messages:
  {standard input}:334: Error: selected processor does not support `vldm r4,{q0,q1,q2,q3}' in ARM mode
  {standard input}:335: Error: selected processor does not support `vst1.8 d0,[r3],r2' in ARM mode
  {standard input}:336: Error: selected processor does not support `vst1.8 d1,[r3],r2' in ARM mode
  {standard input}:337: Error: selected processor does not support `vst1.8 d2,[r3],r2' in ARM mode
  {standard input}:338: Error: selected processor does not support `vst1.8 d3,[r3],r2' in ARM mode
  {standard input}:339: Error: selected processor does not support `vst1.8 d4,[r3],r2' in ARM mode
  {standard input}:340: Error: selected processor does not support `vst1.8 d5,[r3],r2' in ARM mode
  {standard input}:341: Error: selected processor does not support `vst1.8 d6,[r3],r2' in ARM mode

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 85c95e3614)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 17:28:29 +02:00
Romain Naour
0219439a06 package/gcc: bump 9.x series to version 9.3.0
Remove upstream patch [1]
Rebase and rename 0002-xtensa-fix-PR-target-91880.patch
and 0003-or1k-Fix-issue-with-set_got-clobbering-LR-r9.patch

Tested using gitlab with Qemu runtime testing series [2] [3].

[1] https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=2e1e7ad18e121663082525a872f0d6fb32db4535
[2] https://gitlab.com/kubu93/buildroot/pipelines/125828238
[3] http://patchwork.ozlabs.org/project/buildroot/list/?series=159088

See:
https://gcc.gnu.org/pipermail/gcc-announce/2020/000161.html

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit f6bf6281f0)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 09:10:57 +02:00
Romain Naour
56809418f0 package/gcc: bump 8.x series to version 8.4.0
Remove upstream patch [1].
Rebase and rename 0002-xtensa-fix-PR-target-91880.patch

Tested using gitlab w/ Qemu runtime testing series [2] [3].

[1] https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=fba5d9b4c0f4488281efbeef56c100bb52e55165
[2] https://gitlab.com/kubu93/buildroot/pipelines/124684030
[3] http://patchwork.ozlabs.org/project/buildroot/list/?series=159088

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b7c2a2f22e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 09:10:48 +02:00
Carlos Santos
b3b746a156 linux: run depmod only if modules are enabled
If the kernel configuration CONFIG_MODULES disabled, there's no
/lib/modules/<version> directory, causing this:

depmod: ERROR: could not open directory [...]/target/lib/modules/4.19.8: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
Makefile:745: recipe for target 'target-finalize' failed

Fixes:

https://gitlab.com/buildroot.org/buildroot/-/jobs/483712831
https://gitlab.com/buildroot.org/buildroot/-/jobs/483712817
https://gitlab.com/buildroot.org/buildroot/-/jobs/483712814
https://gitlab.com/buildroot.org/buildroot/-/jobs/483712796
https://gitlab.com/buildroot.org/buildroot/-/jobs/483712729
https://gitlab.com/buildroot.org/buildroot/-/jobs/483712727
https://gitlab.com/buildroot.org/buildroot/-/jobs/483712698
https://gitlab.com/buildroot.org/buildroot/-/jobs/483712691
https://gitlab.com/buildroot.org/buildroot/-/jobs/483712660
https://gitlab.com/buildroot.org/buildroot/-/jobs/483712573
https://gitlab.com/buildroot.org/buildroot/-/jobs/483712574

Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Carlos Santos <unixmania@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 43f41a7bf8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 09:06:39 +02:00
Carlos Santos
8f5a610fe8 linux: Allow modprobe for out-of-tree modules
When a package installs a kernel module, it is currently not possible to
have it loaded with modprobe or when the kernel requests an alias for
it, as the module is not listed in /lib/modules/<kernel-version>/modules.dep
and the associated files.

So, we need to run depmod after all packages are installed, to register
any such out-of-tree module.

This means we should be able to let go of calling depmod at the time the
kernel is installed, but if we pass an invalid command, the kernel
whines:

      DEPMOD  5.4.27
    ./scripts/depmod.sh: 46: /dev/null: Permission denied
    make[2]: *** [Makefile:1326: _modinst_post] Error 126

This is because the kernel does not directly call to depmod, but uses a
wrapper that is not happy if depmod is not depmod.

Since the call to depmod does not cost much, we just keep it.

Signed-off-by: Carlos Santos <unixmania@gmail.com>
[yann.morin.1998@free.fr:
  - keep calling depmod when installing kernel
  - expand commit log
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 82e7656400)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 09:04:31 +02:00
Fabrice Fontaine
f99603a29e package/screen: add linux-pam optional dependency
linux-pam is an optional dependency for more than 5 years:
https://git.savannah.gnu.org/cgit/screen.git/commit/src/configure.ac?h=screen-v4&id=a8dc1fb5b47ee52c79884fc5270805a3a39cda4a

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit c685bded08)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 08:50:09 +02:00
Romain Naour
c3b2644723 package/localedef: add missing dependeny on host-gawk
While reviewing the patch [1], we noticed that host-gawk dependency
was missing. It may trigger an issue if gawk is missing on the host
since it's a "critical tool" [2].

Indeed, localedef package is actually glibc sources that check gawk
host binary.

host-gawk is listed in glibc package dependency [3], so add it to
localedef too.

[1] af90a104c0
[2] https://sourceware.org/git/?p=glibc.git;a=blob;f=configure.ac;h=49b900c1ed68fa4dd1dadca809ceb6e8b237a89c;hb=9ea3686266dca3f004ba874745a4087a89682617#l1021
[3] https://git.buildroot.net/buildroot/tree/package/glibc/glibc.mk?h=2020.02#n38

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 7a74bad0b4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-07 08:23:35 +02:00
Jörg Krause
312a28cf64 package/{bluez5_utils, bluez5_utils-headers}: security bump to version 5.54
Fixes the following security issue:

- CVE-2020-0556: Improper access control in subsystem for BlueZ before
  version 5.54 may allow an unauthenticated user to potentially enable
  escalation of privilege and denial of service via adjacent access

  https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.html

Changes since version 5.52:

5.54:
  Fix issue with HOGP to accept data only from bonded devices.
  Fix issue with A2DP sessions being connected at the same time.
  Fix issue with class UUID matches before connecting profile.
  Add support for handling MTU auto-tuning option for AVDTP.
  Add support for new policy for Just-Works repairing.
  Add support for Enhanced ATT bearer (EATT).

5.53:
  Fix issue with handling unregistration for advertisment.
  Fix issue with A2DP and handling recovering process.
  Fix issue with udpating input device information.
  Add support for loading blocked keys.

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 3a678c952f)
[Peter: mention security issue]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-06 23:50:19 +02:00
Fabrice Fontaine
b2d69924ff package/civetweb: add zlib optional dependency
zlib is an optional dependency since version 1.11 and
6b8b159353

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 41dfe5707c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-06 18:16:38 +02:00
Laurent Hartanerot
9e4f4bfcfb package/rcw: add missing host-python dependency
The rcw tool that compiles RCW sources file need host-python

Signed-off-by: Laurent Hartanerot <laurent.hartanerot@atos.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit cd5efaeb67)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-06 18:15:32 +02:00
Peter Seiderer
40d7bc04e5 package/libinput: bump version to 1.15.4
For details see [1].

[1] https://lists.freedesktop.org/archives/wayland-devel/2020-March/041332.html

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 1a414894cf)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-06 18:13:59 +02:00
Peter Korsgaard
4762644078 {linux, linux-headers}: bump 4.{4, 9, 14, 19}.x / 5.4.x series
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit caaee4fd66)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-06 17:19:34 +02:00
Thomas Petazzoni
6bba85671b support/scripts/check-kernel-headers.sh: do not print error for loose checks
The C program inside check-kernel-headers.sh has two checking mode: a
strict and a loose one.

In strict mode, we want the kernel headers version declared by the
user to match exactly the one of the toolchain.

In loose mode, we want the kernel headers version of the toolchain to
be greater than or equal to the one declared by the user: this is used
when we have a toolchain that has newer headers than the latest
version known by Buildroot.

However, in loose mode, we continue to show the "Incorrect kernel
headers version" message, even though we then return a zero error
code. This is very confusing: you see an error displayed on the
terminal, but the build goes on.

We fix that by first doing the loose check first, and returning 0 if
it succeeds. And then we move on with the strict check where we want
the version to be identical.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit c3c4b3dfa8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-06 17:18:25 +02:00
Bernd Kuhls
6a6a7732da package/kodi-screensaver-rsxs: switch license to GPL-2.0+
Upstream commit
dbb8853696

removed lib/rsxs-1.0 which was licensed as GPL-3.0.

During the latest version bump
https://git.buildroot.net/buildroot/commit/package/kodi-screensaver-rsxs?id=e68bcc985fbb17e50cfa2944807090b6cd57c871

KODI_SCREENSAVER_RSXS_LICENSE_FILES = lib/rsxs-1.0/COPYING

was removed but the corresponding license change was forgotton.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 4765abdd52)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-06 17:17:48 +02:00
Thomas Petazzoni
5b5b681c7d toolchain/toolchain-external: fix call to check_kernel_headers_version
The external toolchain configure step calls the
check_kernel_headers_version make function to compare the kernel
headers version declared in the configuration with the actual kernel
headers of the toolchain.

This function takes 4 arguments, but due to a missing comma what
should be the first two arguments are both passed into the first
argument. Due to this, when check_kernel_headers_version does:

	if ! support/scripts/check-kernel-headers.sh $(1) $(2) $(3) \
		$(if $(BR2_TOOLCHAIN_HEADERS_LATEST),$(4),strict); \

Then:

  $(1) contains "$(BUILD_DIR) $$(call toolchain_find_sysroot,$$(TOOLCHAIN_EXTERNAL_CC))"
  $(2) contains "$$(call qstrip,$$(BR2_TOOLCHAIN_HEADERS_AT_LEAST))"
  $(3) contains "$$(if $$(BR2_TOOLCHAIN_EXTERNAL_CUSTOM),loose,strict))"

So from the point of view of check-kernel-headers.sh, it already has
four arguments, and therefore the additional argument passed by:

   $(if $(BR2_TOOLCHAIN_HEADERS_LATEST),$(4),strict); \

is ignored, defeating the $(BR2_TOOLCHAIN_HEADERS_LATEST) test.

The practical consequence is that a toolchain that has 5.4 kernel
headers but declared as using 5.3 kernel headers does not abort the
build, because the check is considered "loose" while it should be
"strict".

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 96f8d0bb46)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-06 17:08:41 +02:00
Thomas De Schampheleire
bf67e6823f Makefile: assemble package file lists before calling post-build scripts
Post-build scripts may want to do something based on the list of files
installed by a package. However, since commit
0e2be4db8a the final packages-file-lists.txt
file is only created _after_ the post-build scripts.

Move the assembly of the file lists upwards, before the post-build scripts.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit d4d52d907b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-28 08:38:50 +01:00
Thomas De Schampheleire
f283e56397 Makefile: fix package file list if FOO_SUBDIR is set
If a package sets a FOO_SUBDIR (meaning its sources are not under
output/build/foo-123 but under output/build/foo-123/$(FOO_SUBDIR)), the
.files-list.txt file were also created under FOO_SUBDIR, due to which the
logic in the Makefile would not find it.

Change the instrumentation steps so that the file list is directly under the
package dir, ignoring the subdir.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 9f876c7f16)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-28 08:38:01 +01:00
Thomas Petazzoni
8c4fc019ee Makefile: don't hang the build if there are no file lists
In very limited configurations, it is possible to have a case where no
.files-list-staging.txt files are created. In this case:

    cat $(sort $(wildcard $(BUILD_DIR)/*/.files-list-staging.txt)) > \
        $(BUILD_DIR)/packages-file-list-staging.txt

becomes:

    cat > \
        $(BUILD_DIR)/packages-file-list-staging.txt

which of course makes the build hang.. forever.

So we fix this by checking the list is not empty. To keep the code
readable, we introduce an intermediate variable to store the list of
these files.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
[yann.morin.1998@free.fr: always create the file, even if empty]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit aa1e74745c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-28 08:35:57 +01:00
Alexander Mukhin
958c6986a3 package/radvd: drop dependency on flex runtime library
Radvd has its own main(), and does not use yywrap() from libfl.so,
because scanner.l module contains noyywrap option. So, none of the
functions exported by libfl.so are used, and there's no need to have
the flex runtime on target.

Signed-off-by: Alexander Mukhin <alexander.i.mukhin@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 6274868bd1)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-28 08:33:51 +01:00
Bernd Kuhls
0168c3d725 package/samba4: bump version to 4.11.7
Release notes: https://www.samba.org/samba/history/samba-4.11.7.html

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 98cd8870f8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-28 08:31:25 +01:00
Bernd Kuhls
b439c1d695 package/php: security bump version to 7.4.4
Changelog: https://www.php.net/ChangeLog-7.php#7.4.4

Fixes CVE-2020-7064, CVE-2020-7065 & CVE-2020-7066.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 51cd6b8641)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-28 08:23:34 +01:00
Bernd Kuhls
d8e8d4c7bf package/tor: security bump version to 0.4.2.7
Release notes: https://blog.torproject.org/new-releases-03510-0419-0427

Fixes CVE-2020-10592 & CVE-2020-10593.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[yann.morin.1998@free.fr: two spaces in hash files]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit b356d9f92b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-28 00:08:41 +01:00
Yann E. MORIN
ea8b8e5a9b boot/barebox-aux: exclude git downloads from hash check
When barebox, and thus barebox-aux, are downloaded from a git tree, then
barebox-aux download fails because a hash check is attempted on the
downloaded archive:

    Could not fetch special ref 'v2020.03.0'; assuming it is not special.
    ERROR: No hash found for barebox-aux-v2020.03.0.tar.gz

This is because we only exclude from the check the archive of the bare
barebox:

    BR_NO_CHECK_HASH_FOR += $(BAREBOX_SOURCE)

However, the default name of an archive is based on the package name,
which for barebox-aux is not 'barebox'.

Since barebox-aux really uses the exact same source as the bare barebox,
it should also share the archive name.

This has two direct consequences and advantages:

  - the hash check is completely avoided for the barebox-aux archive;

  - the barebox-aux archive is not downloaded as it is already
    downloaded for barebox.

Reported-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 451ee6fa54)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 23:46:41 +01:00
Yann E. MORIN
8528061765 boot/barebox-aux: store downloads in same dir as bare barebox
barebox and barebox-aux are really the same package, from the same URL
and the same version. They deserve being stored in the same directory.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Tested-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit ca7fa117b1)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 23:46:28 +01:00
Robert Hancock
90e6eec1e8 linux-tools: perf: Add dependencies for binutils and openssl
perf auto-detects and uses the libbfd (from binutils) and openssl
libraries if they are detected and happen to be built before perf is,
but if they're not, or if per-package directories are enabled, it won't
detect these libraries. Explicitly add dependencies on these packages if
they are enabled, and disable the feature if not, so that the behavior
is deterministic.

Signed-off-by: Robert Hancock <hancock@sedsystems.ca>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 013cc68bf7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 23:32:30 +01:00
Titouan Christophe
7aff262ebe package/redis: security bump to v5.0.8
From the release notes:
https://raw.githubusercontent.com/antirez/redis/5.0/00-RELEASENOTES

================================================================================
Redis 5.0.8     Released Thu Mar 12 16:05:41 CET 2020
================================================================================

Upgrade urgency HIGH: This release fixes security issues.

[FIX] revisit CVE-2015-8080 vulnerability

Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit caed3878a6)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 23:24:57 +01:00
Joseph Kogut
ff495fd1a1 package/llvm: specify LLVM_ENABLE_BINDINGS=OFF
LLVM builds bindings for other languages such as Go and OCaml when the
appropriate dependencies can be found. We currently don't support
building these bindings in Buildroot, as they're currently unused by any
package.

Building these bindings was originally disabled by overriding the
dependencies with values indicating that they were not found.

Newer versions of LLVM no longer disable the OCaml bindings when overriding
OCAMLFIND. Consequently, the build process attempts to install the bindings
to the default location on the host of /usr/lib/ocaml/llvm, causing a
permissions error and build failure.

Additionally, LLVM has since added the variable LLVM_ENABLE_BINDINGS to
control whether bindings are enabled, so we override that to disable the
bindings.

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit e6a1ee9a8a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 23:18:18 +01:00
Yann E. MORIN
49dcc6eb09 fs/initramfs: fix show-info
The initramfs is not a reall filesystem, so it does not use the
$(rootfs) infrastructure.

As a consequence, the usual rootfs-related variables are not set,
especially the name, type, and dependencies of the (non-)filesystem.

Yet, it is present in the list of rootfs to build, and thus we end
up including it in the output of show-info. But the missing variables
yield an incorrect json:

    "": {
        "type": "",
        "virtual": false,
        "version": "",
        "licenses": "",
        "dl_dir": "",
        "install_target": ,
        "install_staging": ,
        "install_images": ,
        "downloads": [ ],
        "dependencies": [ ],
        "reverse_dependencies": [ ]
    },

First, the object key is empty; second, the install_target,
install_staging, and install_images values are empty, which is not
valid (if they were null, that be OK though). Third, this is clearly
the layout of a 'package' entry, not that of a 'rootfs' entry.

An option to fix that would be to actually make use of the rootfs
infra. However, that would mean doing a lot of work for nothing
(there is actually nothing to do, yet the infra would still do a lot
of preparatory and clean up work).

The alternative is pretty simple: declare and set the variables as if
it were a real filesystem, so that show-info can filter it to the
proper layout and can spit out appropriate content (even if fake).

The third option would be to teach show-info (and its internal
implementation, the macro json-info) to ignore specific cases, like
no-name items, or replace empty values with null, or whatnots. This
again would be quite a lot of work for a single occurence.

So we go for the simple faked variables.

We add linux as a dependency, so that the graph-depends also properly
represent the dependency chain, which ends up with something liKe:

              ALL
               |
               v
        rootfs-initramfs
         |            |
         v            v
       linux     rootfs-cpio

which is pretty fitting in the end.

Reported-by: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b42db7db9f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 23:13:12 +01:00
Thomas Petazzoni
cbac8a048c boot/arm-trusted-firmware: add optional host-dtc dependency
Some ATF configurations, such as the ones for the STM32MP1 processor
family, require DTC during the build as Device Tree files are
used. Without dtc, the build fails:

/bin/sh: 1: dtc: not found
dtc version too old (), you need at least version 1.4.4
plat/st/stm32mp1/platform.mk:239: recipe for target 'check_dtc_version' failed
make[1]: *** [check_dtc_version] Error 1

To solve this, this commit implements a
BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC option, in a way that mimics
the BR2_TARGET_UBOOT_NEEDS_DTC option we already have for the U-Boot
package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit ddbb5dbd83)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 23:03:48 +01:00
Alexander Dahl
f80fb5bc54 package/monit: fix URL in hash file comment
Previous URL gives:

    % curl https://mmonit.com/monit/dist/monit-5.25.3.tar.gz.sha256
    c10258c8839d20864d30390e7cbf2ff5e0480a67a6fb80c02aa457d6e3390569 monit-5.25.3.tar.gz

Current URL is:

    % curl https://mmonit.com/monit/dist/monit-5.26.0.tar.gz.sha256
    87fc4568a3af9a2be89040efb169e3a2e47b262f99e78d5ddde99dd89f02f3c2 monit-5.26.0.tar.gz

This was probably just forgotten on the last version bump.

Fixes: ad250c3d18 ("package/monit: bump to version 5.26.0")
Signed-off-by: Alexander Dahl <post@lespocky.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 6fb1eb95fe)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 22:49:01 +01:00
Yann E. MORIN
79f1c0cd18 package/localedef: fix dependencies
localedef needs bison to satisfy a .y.c rule to generate a parser for
plural forms, to ultimately generate data for the target. So we do not
want to depend on the host-provided bison; we want to build our own (for
reproducibility).

localedef is a host-only package, and dependencies are not inherited
from the target variant, so we need to make them explicit host
dependencies.

And move the assignment after all the download-related variables.

Reported-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit af90a104c0)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 22:42:31 +01:00
Thomas Petazzoni
00f09e30ab Makefile: fix locale purge when BR2_PER_PACKAGE_DIRECTORIES=y
With BR2_PER_PACKAGE_DIRECTORIES=y, we have the following code in the
main Makefile:

target-finalize: $(PACKAGES) $(TARGET_DIR) host-finalize
	@$(call MESSAGE,"Finalizing target directory")
	$(call per-package-rsync,$(sort $(PACKAGES)),target,$(TARGET_DIR))
	$(foreach hook,$(TARGET_FINALIZE_HOOKS),$($(hook))$(sep))

The per-package-rsync call creates the global $(TARGET_DIR) from the
per-package $(TARGET_DIR). Then, we call the TARGET_FINALIZE_HOOKS.

One of the TARGET_FINALIZE_HOOKS, PURGE_LOCALES, remove locales that
are not desired by the user. It does so using a loop with the
$(wildcard ...) function.

However, the $(wildcard ...) function is expanded at the moment the
rule is evaluated. And with per-package directory, at the time the
rule is evaluated, the global $(TARGET_DIR) is empty, so $(wildcard
...) will return nothing. It is indeed only after the call to
per-package-rsync that the TARGET_DIR will be populated.

This commit fixes that by moving away from $(wildcard ...) and use a
shell test instead, since we are anyway in big block of shell code.

With this, locales are properly purged again when
BR2_PER_PACKAGE_DIRECTORIES=y.

Fixes: c4e6d5c8be ("core: implement per-package SDK and target")
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[yann.morin.1998@free.fr:
  - make the style look like the code around (no space in front of ;)
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 658a80ec73)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 08:19:24 +01:00
Thomas De Schampheleire
1455754e50 package/syslog-ng: fix build if net-snmp is installed on the host
If syslog-ng is selected in Buildroot and net-snmp is not, but net-snmp is
found on the host machine (at least its net-snmp-config script) then
compilation of syslog-ng fails with:

  CC       modules/snmp-dest/modules_snmp_dest_libsnmpdest_la-snmpdest-grammar.lo
  CC       modules/snmp-dest/modules_snmp_dest_libsnmpdest_la-snmpdest.lo
  CC       modules/snmp-dest/modules_snmp_dest_libsnmpdest_la-snmpdest-plugin.lo
arm-none-linux-gnueabi-gcc: ERROR: unsafe header/library path used in cross-compilation: '-I/usr/include'
make[3]: *** [Makefile:17397: modules/snmp-dest/modules_snmp_dest_libsnmpdest_la-snmpdest-grammar.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
arm-none-linux-gnueabi-gcc: ERROR: unsafe header/library path used in cross-compilation: '-I/usr/include'
make[3]: *** [Makefile:17404: modules/snmp-dest/modules_snmp_dest_libsnmpdest_la-snmpdest.lo] Error 1
arm-none-linux-gnueabi-gcc: ERROR: unsafe header/library path used in cross-compilation: '-I/usr/include'
make[3]: *** [Makefile:17411: modules/snmp-dest/modules_snmp_dest_libsnmpdest_la-snmpdest-plugin.lo] Error 1
make[2]: *** [Makefile:21428: all-recursive] Error 1
make[1]: *** [Makefile:8740: all] Error 2
make[1]: Leaving directory '.../buildroot/output/build/syslog-ng-3.25.1'
make: *** [package/pkg-generic.mk:269: .../buildroot/output/build/syslog-ng-3.25.1/.stamp_built] Error 2

The path /usr/include is obtained via /usr/bin/net-snmp-config.

The fix comprises two parts:
1. only enable net-snmp support in syslog-ng if the net-snmp package is
enabled in Buildroot
2. for the case where net-snmp is selected in Buildroot, fix the configure
script of syslog-ng to allow parsing --with-netsnmp=<path> correctly.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Reviewed-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 4ff6e52392)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 07:47:20 +01:00
Thomas Petazzoni
efae6ca603 package/pkg-generic.mk: create directories before calling hooks
In commit 0e2be4db8a
("package/pkg-generic: make file list logic parallel build
compatible"), the logic to create the list of files installed by a
particular package was significantly reworked to be compatible with
top-level parallel build.

Before this commit, there was only a after-install step of listing the
files in HOST_DIR/TARGET_DIR/STAGING_DIR. But after this commit, we
now have a before-install logic and an after-install logic.

It turns out that when the before-install logic is called for the very
first host package, $(HOST_DIR) doesn't exist yet, and therefore the
cd $(2) fails, with an error message:

/bin/sh: line 0: cd: /home/thomas/buildroot/output/host: No such file or directory

In fact, $(HOST_DIR), $(STAGING_DIR), $(TARGET_DIR) and
$(BINARIES_DIR) are created by the make rules for host installation,
staging installation, target installation and images installation, but
*after* calling the step_start hooks.

So, we simply fix this problem by creating the directories *before*
calling the step_start hooks.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit c84ce1f98c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 07:44:17 +01:00
Peter Seiderer
25723bf2e9 package/wireshark: add missing qt5 dependencies
- BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
- !BR2_arc

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit fade0f6088)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 07:42:43 +01:00
Peter Seiderer
9860ae2e0f package/pinentry: add missing qt5 dependencies
- BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
- !BR2_arc

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 4a1c35f0db)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 07:40:47 +01:00
Peter Seiderer
e1c91acb50 package/qt5: enable for xtensa
Add upstream patch to fix double-conversion compile for xtensa
and drop dependency on !BR_xtensa.

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 572b25c0d4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-27 07:39:09 +01:00
Peter Seiderer
63c6895b4c package/qt5: enable for nios2
The double-conversion support for nios2 is already enabled
by commit [1], so drop dependency on !BR2_nios2.

[1] https://git.buildroot.net/buildroot/commit/?id=e2fdb41f711db8894f9c5c83f32250728d4c3aa9

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 572e371f3c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 23:32:47 +01:00
Carlos Santos
a7d330f95e package/sysklogd: fix installation path of the daemons
Use "--exec-prefix=/" to install syslogd and klogd at /sbin, as required
by the init scripts. This also ensures that the BusyBox counterparts are
not installed.

Update the systemd unit files, accordingly.

Signed-off-by: Carlos Santos <unixmania@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 33642d8d95)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 22:57:36 +01:00
Fabrice Fontaine
1c2ec3ece2 package/polkit: fix build with NLS
Fixes:
 - http://autobuild.buildroot.org/results/258b734e14f8f31355eba1ddb734213bc3f29591

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 0c08a04e78)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 22:52:18 +01:00
Adam Duskett
9231ffe10b package/polkit: add linux-pam as a dependency if linux-pam is selected
Without linux-pam built first, polkit will throw a configuration error:
configure: error: Could not find pam/pam-devel, please install the needed packages.

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 35a0878aa9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 22:51:44 +01:00
Adam Duskett
751f657689 package/gssdp: explicitly disable vapi
Currently, vapi support does not work with meson due to meson calling vapigen
directly instead of the vala wrapper. As such, when building typelib files for
gobject-introspection, vapigen fails to find the proper .gir files and fails
to build.

Explicitly disable vapi until a fix for vapi is made.

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 9de3b9c094)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 22:30:31 +01:00
Anatoly Borodin
70d41a3966 package/ffmpeg: fix typo "--enable-bsfs" -> "--enable-bsf"
Fix ffmpeg configuration when BR2_PACKAGE_FFMPEG_BSFS is not default ("all"):

	Unknown option "--enable-bsfs=h264_metadata".
	See ./configure --help for available options.
	package/pkg-generic.mk:254: recipe for target '/root/buildroot/output/build/ffmpeg-4.2.2/.stamp_configured' failed

The option is named according to the scheme "--enable-SINGULAR=..." /
"--disable-PLURAL".

The typo is present since the release 2014.02:

https://git.buildroot.net/buildroot/commit/package/ffmpeg/ffmpeg.mk?id=62ab07ef769bd6504fe1db144aaac3fd45db9dad

Signed-off-by: Anatoly Borodin <anatoly.borodin@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit f783486d07)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 21:08:45 +01:00
Carlos Santos
a17e2522cf package/util-linux: add missing SOB to patches
It is required that all patches in packages have the Signed-off-by of
the contributor who brought them into Buildroot.

Signed-off-by: Carlos Santos <unixmania@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 94784f092b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 21:02:45 +01:00
Carlos Santos
6c42b08b51 package/util-linux: fix build for riscv64 and powerpc64le
Pull two upstream patches that fix the declaration of pidfd_open and
pidfd_send_signal.

Fixes:
  http://autobuild.buildroot.net/results/2396b04478f9d358b94f2e2e05540625ddc9f205/
  http://autobuild.buildroot.net/results/ed4b5ec61bd33d3ccf0ebb16000af46d0499366d/

Signed-off-by: Carlos Santos <unixmania@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit e02356ebb7)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 21:02:40 +01:00
Romain Naour
9f9b4ca64b package/gcc: disable gcc 9.x for csky
When building a toolchain with upstream gcc 9.x the build
fail due to several issues.

Note: The upstream Binutils support csky target since
release 2.32 but the support was never enabled in the
Buildroot packaging. So the latest version (2.33.1) was
tested here.

[upstream gcc 9.x w/ glibc csky fork with binutils csky for or binutils 2.33.1]
In file included from <command-line>:
./../include/libc-symbols.h:534:26: error: '__EI___errno_location' specifies less restrictive attributes than its target '__errno_location': 'const', 'nothrow' [-Werror=missing-attributes]
  534 |   extern __typeof (name) __EI_##name \

[upstream gcc 9.x w/ glibc 2.30 w/ binutils csky fork]
/tmp/ccThLRhb.s: Assembler messages:
/tmp/ccThLRhb.s:10: Error: invalid or unsupported encoding in .cfi_personality
/tmp/ccThLRhb.s:11: Error: invalid or unsupported encoding in .cfi_lsda

[upstream gcc 9.x w/ glibc 2.30 w/ binutils 2.33.1]
build/elf/librtld.os: in function `__sync_fetch_and_add_2':
libgcc/config/csky/linux-atomic.c:116: undefined reference to `__kernel_cmpxchg'

Currenlty, only the toolchain using binutils, gcc, glibc
fork produce a working toolchain. So disable gcc 9.x for
csky.

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Guo Ren <guoren@kernel.org>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 7542a59601)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 21:01:05 +01:00
Romain Naour
2d6dc56cd9 package/gcc: fix download url when using upstream gcc for csky
When the csky cpu support was added [1], the gcc download url was selected
depending on the csky cpu architecture (BR2_csky) rather than the csky gcc
fork version (BR2_GCC_VERSION_CSKY)[2].

When adding gcc 9.x version [3], we forgot to update the condition in order
to use the url to the gcc csky fork only when BR2_GCC_VERSION_CSKY=y.

Due to this error, the toolchain build with the upstream gcc 9.x for csky
cpu is broken due a download error.

Fix this by using BR2_GCC_VERSION_CSKY instead of BR2_csky.

Fixes:
https://gitlab.com/kubu93/buildroot/-/jobs/470072924

[1] 7873a5bd5e
[2] https://git.buildroot.net/buildroot/tree/package/gcc/gcc.mk?id=7873a5bd5ebbeb1674293dae6b06b50f0a1f2184#n19
[3] 089000eccf

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Guo Ren <guoren@kernel.org>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit a85b464b94)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 20:52:04 +01:00
John Keeping
df35b028ea package/pkg-meson.mk: fix multiple _MESON_EXTRA_BINARIES
If multiple entries are specified for _MESON_EXTRA_BINARIES, the current
sed expression will only replace the first one.

Specifically, from GNU sed 4.8 the manual says:

    /regexp/
        Match  lines matching the regular expression regexp.  Matching
        is performed on the current pattern space, which can be modified
        with commands such as ``s///''.

so after the first binary has been added, the next entry no longer
matches since the pattern space has been modifed.

Instead of adding a script for each value, apply the match once and add
a subsitution for all entries at once.

Signed-off-by: John Keeping <john@metanate.com>
Tested-by: Peter Seiderer <ps.report@gmx.net>
[yann.morin.1998@free.fr: do a single substitution]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit a1e3c7b693)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 20:44:30 +01:00
Gleb Mazovetskiy
0ab3bcee8c meson: Strip quotes from BR2_ENDIAN
The values in the cross-compilation file are expected to be quoted with
single quotes, which we have in our template.

However, the endian value we are injecting comes from Kconfig, so it is
double-quoted, and those quotes end up in the cross-compilation files we
generate (the internal one, and the SDK one):

    endian = '"little"'

So qstrip the value before we inject it.

Propagate the fix to the two generated files by using the same variable
HOST_MESON_TARGET_ENDIAN in both cases, rather than replicating the
(flawed) logic.

While at it, also use the common GCC_TARGET_CPU variable for the SDK
file too.

Signed-off-by: Gleb Mazovetskiy <glex.spb@gmail.com>
Reviewed-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 92eca65ddf)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 20:40:37 +01:00
Gleb Mazovetskiy
2989bcf09d package/pkg-meson.mk: fix cross-compilation.conf
$$(STAGING_DIR) -> $(STAGING_DIR) in PKG_MESON_INSTALL_CROSS_CONF.

$$ resulted in `$(STAGING_DIR)` in the file instead of the expanded
value.

Note that this change only affects the etc config at:
host/etc/meson/cross-compilation.conf

Per-package cross-compilation.conf files are already correct.

Reviewed-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Gleb Mazovetskiy <glex.spb@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 3fb784afb1)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 20:38:04 +01:00
Fabrice Fontaine
9e07a36013 package/samba4: needs host-python3
host-python3 is a mandatory dependency since bump to version 4.10.0 and
5ddff307b4
because buildtools/bin/waf shebang is set to "/usr/bin/env python3"

Fixes:
 - http://autobuild.buildroot.org/results/2634eb7824beb34f485cf40670f6959515f008ad

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit bf341117f6)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-03-21 20:05:13 +01:00
380 changed files with 6961 additions and 1612 deletions

77
CHANGES
View File

@@ -1,3 +1,80 @@
2020.02.2, released May 12th, 2020
Important / security related fixes.
Musl: Disallow on PPC64 cores without AltiVec support
(E.G. e5500).
fs/cpio: Correctly handle booting with 'console='
release: Ensure temporary .br2-external.* files are not
included in the release tarball
Defconfigs: Fix various mistyped config options, or config
options where the dependencies were no longer met.
Updated/fixed packages: apache, azure-iot-sdk-c, binutils,
boinc, c-ares, cvs, docker-cli, docker-containerd,
docker-engine, domoticz, e2fsprogs, efl, evtest, exim, ffmpeg,
freerdp, gcc, gflags, glibc, gnuconfig, haproxy, imx-gpu-2d,
irrlicht, jpeg kodi-pvr-vuplus, libarchive, libcoap,
libfpm-extra, libglib2, libhtp, libid3tag, libinput, libmad,
libopenssl, libsepol, libssh, libv4l, libvncserver, libwpe,
localedef, mariadb, matchbox, mbedtls, mc, mesa3d-headers,
meson, midori, msgpack, netsnmp, nginx, ogre, openjdk,
openldap, openvpn, p7zip, paho-mqtt-c, php, polkit, python,
python-attrs, python-crossbar, python-dpkt, python-flask,
python-future, python-iptables, python-jedi, python-markdown2,
python3, qemu, qpdf, qt5, samba4, squashfs, squid, strongswan,
suricata, tzdata, util-linux, vlc, wget, webkitgtk,
wireguard-linux-compat, wireshark, wpebackend-fdo, wpewebkit,
zic
Issues resolved (http://bugs.uclibc.org):
#11866: initramfs file system fails to boot using Grub on EFI x86_64
#12271: python-iptables runtime dependencies
#12726: systemctl preset-all failed for ctrl-alt-del.target
#12751: OpenJdk package installation issues on target
#12796: Update OpenSSL to Version 1.1.1g to patch CVE-2020-1967
#12811: bootstrap stuck and no login prompt
#12841: util-linux/sfdisk 2.35.1 fails on sector-size header
2020.02.1, released April 10th, 2020
Important / security related fixes.
core: Also fixup /lib references in libtool .la files, similar
to how it is done for /usr/*.
Various fixes for builds with per-package target/host
directories.
toolchain: Fix kernel headers validation check for external
toolchains. Fix make 4.3+ compatibility in external toolchain
logic.
fs/initramfs: fix show-info so it also shows the usual
rootfs-related variables.
Updated/fixed packages: arm-trusted-firmware, barebox-aux,
bluez5_utils, bubblewrap, busybox, civetweb, cog, collectd,
ffmpeg, gcc, gnutls, gssdp, gvfs, haproxy, hiredis, hostapd,
kmscube, kodi-screensaver-rsxs, libical, libinput, libexif,
libopenssl, libsndfile, linux, linux-tools, llvm, localedef,
mcrypt, mesa3d, meson, monit, nftables, ntp, opencv3,
oprofile, php, pinentry, polkit, pure-ftpd, python-pyyaml,
qt5, quagga, radvd, rcw, redis, rocksdb, samba4, screen,
sdbusplus, swupdate, sysdig, sysklogd, syslinux, syslog-ng,
tor, tslib, uacme, util-linux, vala, vlc,
wireguard-linux-compat, wireguard-tools, wireshark,
wpa_supplicant, xserver_xorg-server
Issues resolved (http://bugs.uclibc.org):
#12711: host-localedef 2.30-20 fails to compile on fedora 32
#12746: "sysdig" package description points to http://sysdig.org, ..
2020.02, released March 8th, 2020
Various fixes.

View File

@@ -484,18 +484,12 @@ F: package/sunxi-boards/
N: Carlos Santos <unixmania@gmail.com>
F: package/busybox/
F: package/cups/
F: package/cups-filters/
F: package/gtest/
F: package/initscripts/
F: package/intel-microcode/
F: package/libpam-radius-auth/
F: package/libpam-tacplus/
F: package/liburiparser/
F: package/modem-manager/
F: package/pamtester/
F: package/pcm-tools/
F: package/perl-file-util/
F: package/skeleton-custom/
F: package/skeleton-init-common/
F: package/skeleton-init-none/
@@ -676,7 +670,7 @@ F: linux/linux-ext-ev3dev-linux-drivers.mk
F: package/brickd/
F: package/ev3dev-linux-drivers/
N: Davide Viti <zinosat@tiscali.it>
N: Davide Viti <zinosat@gmail.com>
F: package/flann/
F: package/python-paho-mqtt/
F: package/qhull/
@@ -2090,9 +2084,6 @@ F: package/libfreeimage/
N: Renaud Aubin <root@renaud.io>
F: package/libhttpparser/
N: Rhys Williams <github@wilberforce.co.nz>
F: package/lirc-tools/
N: Ricardo Martincoski <ricardo.martincoski@datacom.com.br>
F: package/atop/
F: package/thermald/

View File

@@ -92,9 +92,9 @@ all:
.PHONY: all
# Set and export the version string
export BR2_VERSION := 2020.02
export BR2_VERSION := 2020.02.2
# Actual time the release is cut (for reproducible builds)
BR2_VERSION_EPOCH = 1583701800
BR2_VERSION_EPOCH = 1589285000
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
@@ -698,8 +698,9 @@ define PURGE_LOCALES
rm -f $(LOCALE_WHITELIST)
for i in $(LOCALE_NOPURGE) locale-archive; do echo $$i >> $(LOCALE_WHITELIST); done
for dir in $(wildcard $(addprefix $(TARGET_DIR),/usr/share/locale /usr/share/X11/locale /usr/lib/locale)); \
for dir in $(addprefix $(TARGET_DIR),/usr/share/locale /usr/share/X11/locale /usr/lib/locale); \
do \
if [ ! -d $$dir ]; then continue; fi; \
for langdir in $$dir/*; \
do \
if [ -e "$${langdir}" ]; \
@@ -727,6 +728,10 @@ $(TARGETS_ROOTFS): target-finalize
# Avoid the rootfs name leaking down the dependency chain
target-finalize: ROOTFS=
TARGET_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list.txt))
HOST_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list-host.txt))
STAGING_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list-staging.txt))
.PHONY: host-finalize
host-finalize: $(PACKAGES) $(HOST_DIR) $(HOST_DIR_SYMLINK)
@$(call MESSAGE,"Finalizing host directory")
@@ -800,19 +805,19 @@ endif # merged /usr
$(call MESSAGE,"Copying overlay $(d)"); \
$(call SYSTEM_RSYNC,$(d),$(TARGET_DIR))$(sep))
$(if $(TARGET_DIR_FILES_LISTS), \
cat $(TARGET_DIR_FILES_LISTS)) > $(BUILD_DIR)/packages-file-list.txt
$(if $(HOST_DIR_FILES_LISTS), \
cat $(HOST_DIR_FILES_LISTS)) > $(BUILD_DIR)/packages-file-list-host.txt
$(if $(STAGING_DIR_FILES_LISTS), \
cat $(STAGING_DIR_FILES_LISTS)) > $(BUILD_DIR)/packages-file-list-staging.txt
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \
$(call MESSAGE,"Executing post-build script $(s)"); \
$(EXTRA_ENV) $(s) $(TARGET_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
touch $(TARGET_DIR)/usr
cat $(sort $(wildcard $(BUILD_DIR)/*/.files-list.txt)) > \
$(BUILD_DIR)/packages-file-list.txt
cat $(sort $(wildcard $(BUILD_DIR)/*/.files-list-host.txt)) > \
$(BUILD_DIR)/packages-file-list-host.txt
cat $(sort $(wildcard $(BUILD_DIR)/*/.files-list-staging.txt)) > \
$(BUILD_DIR)/packages-file-list-staging.txt
.PHONY: target-post-image
target-post-image: $(TARGETS_ROOTFS) target-finalize staging-finalize
@rm -f $(ROOTFS_COMMON_TAR)
@@ -1184,7 +1189,7 @@ release: OUT = buildroot-$(BR2_VERSION)
release:
git archive --format=tar --prefix=$(OUT)/ HEAD > $(OUT).tar
$(MAKE) O=$(OUT) manual-html manual-text manual-pdf
$(MAKE) O=$(OUT) clean
$(MAKE) O=$(OUT) distclean
tar rf $(OUT).tar $(OUT)
gzip -9 -c < $(OUT).tar > $(OUT).tar.gz
bzip2 -9 -c < $(OUT).tar > $(OUT).tar.bz2

View File

@@ -1,176 +0,0 @@
ODROIDC2-UBOOT-CONFIG
########################################################################
# Changes made to this are overwritten every time there's a new upgrade
# To make your changes permanent change it on
# boot.ini.default
# After changing it on boot.ini.default run the bootini command to
# rewrite this file with your personal permanent settings.
# Documentation: http://odroid.com/dokuwiki/doku.php?id=en:c2_persistent_bootini
########################################################################
# Possible screen resolutions
# Uncomment only a single Line! The line with setenv written.
# At least one mode must be selected.
# Custom modeline!
# To use custom modeline you need to disable all the below resolutions
# and setup your own!
# For more information check our wiki:
# http://odroid.com/dokuwiki/doku.php?id=en:c2_hdmi_autosetting
# Example below:
# setenv m "custombuilt"
# setenv modeline "1920,1200,154000,74040,60,1920,1968,2000,2080,1200,1202,1208,1235,1,0,1"
# 480 Lines (720x480)
# setenv m "480i60hz" # Interlaced 60Hz
# setenv m "480i_rpt" # Interlaced for Rear Projection Televisions 60Hz
# setenv m "480p60hz" # 480 Progressive 60Hz
# setenv m "480p_rpt" # 480 Progressive for Rear Projection Televisions 60Hz
# 576 Lines (720x576)
# setenv m "576i50hz" # Interlaced 50Hz
# setenv m "576i_rpt" # Interlaced for Rear Projection Televisions 50Hz
# setenv m "576p50hz" # Progressive 50Hz
# setenv m "576p_rpt" # Progressive for Rear Projection Televisions 50Hz
# 720 Lines (1280x720)
# setenv m "720p50hz" # 50Hz
# setenv m "720p60hz" # 60Hz
# 1080 Lines (1920x1080)
# setenv m "1080i60hz" # Interlaced 60Hz
setenv m "1080p60hz" # Progressive 60Hz
# setenv m "1080i50hz" # Interlaced 50Hz
# setenv m "1080p50hz" # Progressive 50Hz
# setenv m "1080p24hz" # Progressive 24Hz
# 4K (3840x2160)
# setenv m "2160p30hz" # Progressive 30Hz
# setenv m "2160p25hz" # Progressive 25Hz
# setenv m "2160p24hz" # Progressive 24Hz
# setenv m "smpte24hz" # Progressive 24Hz SMPTE
# setenv m "2160p50hz" # Progressive 50Hz
# setenv m "2160p60hz" # Progressive 60Hz
# setenv m "2160p50hz420" # Progressive 50Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
# setenv m "2160p60hz420" # Progressive 60Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
### VESA modes ###
# setenv m "640x480p60hz"
# setenv m "800x480p60hz"
# setenv m "480x800p60hz"
# setenv m "800x600p60hz"
# setenv m "1024x600p60hz"
# setenv m "1024x768p60hz"
# setenv m "1280x800p60hz"
# setenv m "1280x1024p60hz"
# setenv m "1360x768p60hz"
# setenv m "1440x900p60hz"
# setenv m "1600x900p60hz"
# setenv m "1680x1050p60hz"
# setenv m "1600x1200p60hz"
# setenv m "1920x1200p60hz"
# setenv m "2560x1080p60hz"
# setenv m "2560x1440p60hz"
# setenv m "2560x1600p60hz"
# setenv m "3440x1440p60hz"
# HDMI BPP Mode
setenv m_bpp "32"
# setenv m_bpp "24"
# setenv m_bpp "16"
# HDMI DVI/VGA modes
# By default its set to HDMI, if needed change below.
# Uncomment only a single Line.
# setenv vout "dvi"
# setenv vout "vga"
# HDMI HotPlug Detection control
# Allows you to force HDMI thinking that the cable is connected.
# true = HDMI will believe that cable is always connected
# false = will let board/monitor negotiate the connection status
setenv hpd "true"
# setenv hpd "false"
# Monitor output
# Controls if HDMI PHY should output anything to the monitor
setenv monitor_onoff "false" # true or false
# Server Mode (aka. No Graphics)
# Setting nographics to 1 will disable all video subsystem
# This mode is ideal of server type usage. (Saves ~300Mb of RAM)
setenv nographics "0"
# Meson Timer
# 1 - Meson Timer
# 0 - Arch Timer
# Using meson_timer improves the video playback however it breaks KVM (virtualization).
# Using arch timer allows KVM/Virtualization to work however you'll experience poor video
setenv mesontimer "1"
# UHS (Ultra High Speed) MicroSD mode enable/disable
setenv disableuhs "false"
# MicroSD Card Detection enable/disable
# Force the MMC controlled to believe that a card is connected.
setenv mmc_removable "true"
# USB Multi WebCam tweak
# Only enable this if you use it.
setenv usbmulticam "false"
# Default Console Device Setting
setenv condev "console=ttyS0,115200n8 console=tty0" # on both
# CPU Frequency / Cores control
###########################################
### WARNING!!! WARNING!!! WARNING!!!
# Before changing anything here please read the wiki entry:
# http://odroid.com/dokuwiki/doku.php?id=en:c2_set_cpu_freq
#
# MAX CPU's
# setenv maxcpus "1"
# setenv maxcpus "2"
# setenv maxcpus "3"
setenv maxcpus "4"
# MAX Frequency
# setenv max_freq "2016" # 2.016GHz
# setenv max_freq "1944" # 1.944GHz
# setenv max_freq "1944" # 1.944GHz
# setenv max_freq "1920" # 1.920GHz
# setenv max_freq "1896" # 1.896GHz
# setenv max_freq "1752" # 1.752GHz
# setenv max_freq "1680" # 1.680GHz
# setenv max_freq "1656" # 1.656GHz
setenv max_freq "1536" # 1.536GHz
###########################################
# Boot Arguments
if test "${m}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
setenv bootargs "root=/dev/mmcblk0p2 rootwait ro ${condev} no_console_suspend hdmimode=${m} ${cmode} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable} usbmulticam=${usbmulticam}"
# Booting
setenv loadaddr "0x11000000"
setenv dtb_loadaddr "0x1000000"
setenv initrd_loadaddr "0x13000000"
fatload mmc 0:1 ${loadaddr} Image
fatload mmc 0:1 ${dtb_loadaddr} meson64_odroidc2.dtb
fdt addr ${dtb_loadaddr}
if test "${mesontimer}" = "0"; then fdt rm /meson_timer; fdt rm /cpus/cpu@0/timer; fdt rm /cpus/cpu@1/timer; fdt rm /cpus/cpu@2/timer; fdt rm /cpus/cpu@3/timer; fi
if test "${mesontimer}" = "1"; then fdt rm /timer; fi
if test "${nographics}" = "1"; then fdt rm /reserved-memory; fdt rm /aocec; fi
if test "${nographics}" = "1"; then fdt rm /meson-fb; fdt rm /amhdmitx; fdt rm /picdec; fdt rm /ppmgr; fi
if test "${nographics}" = "1"; then fdt rm /meson-vout; fdt rm /mesonstream; fdt rm /meson-fb; fi
if test "${nographics}" = "1"; then fdt rm /deinterlace; fdt rm /codec_mm; fi
booti ${loadaddr} - ${dtb_loadaddr}

View File

@@ -1,27 +0,0 @@
image boot.vfat {
vfat {
files = {
"boot.ini",
"Image",
"meson64_odroidc2.dtb"
}
}
size = 32M
}
image sdcard.img {
hdimage {
}
partition vfat {
partition-type = 0xC
image = "boot.vfat"
offset = 1048576
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
size = 512M
}
}

View File

@@ -1,19 +0,0 @@
#!/bin/sh
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
cp ${BOARD_DIR}/boot.ini ${BINARIES_DIR}/
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"
dd if=${BINARIES_DIR}/u-boot.bin of=${BINARIES_DIR}/sdcard.img bs=1 count=442 conv=sync,notrunc
dd if=${BINARIES_DIR}/u-boot.bin of=${BINARIES_DIR}/sdcard.img bs=512 skip=1 seek=1 conv=fsync,notrunc

View File

@@ -1,53 +0,0 @@
ODROID-C2
Intro
=====
To be able to use ODROID-C2 board with the images generated by
Buildroot, you have to prepare the SDCard or eMMC.
How to build it
===============
$ make odroidc2_defconfig
Then you can edit the build options using
$ make menuconfig
Compile all and build rootfs image:
$ make
Note: you will need to have access to the network, since Buildroot will
download the packages' sources.
Result of the build
-------------------
After building, you should obtain this tree:
output/images/
+-- Image
+-- boot.ini [1]
+-- boot.vfat
+-- meson64_odroidc2.dtb
+-- rootfs.ext2
+-- rootfs.ext4
+-- rootfs.tar
+-- sdcard.img
`-- u-boot.bin
[1] This is the ODROID-C2 configuration file used in u-boot.
How to write the SD card or eMMC
================================
Once the build process is finished you will have an image called "sdcard.img"
in the output/images/ directory.
Copy the bootable "sdcard.img" onto an SD card or eMMC with "dd":
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
Insert the SDcard into your ODROID-C2, and power it up. Your new system
should come up now.

View File

@@ -2,7 +2,7 @@
BOARD_DIR="$(dirname $0)"
$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none \
-n "boot script" -d $BOARD_DIR/boot.scr.txt $BOARD_DIR/boot.scr
install -d -m 755 $TARGET_DIR/boot
install -m 0644 -D $BOARD_DIR/boot.scr $TARGET_DIR/boot/boot.scr
$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none \
-n "boot script" -d $BOARD_DIR/boot.scr.txt $TARGET_DIR/boot/boot.scr

View File

@@ -2,7 +2,6 @@
BOARD_DIR="$(dirname $0)"
install -d -m 755 $TARGET_DIR/boot
$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none \
-n "boot script" -d $BOARD_DIR/boot.scr.txt $BOARD_DIR/boot.scr
install -m 0644 -D $BOARD_DIR/boot.scr $TARGET_DIR/boot/boot.scr
-n "boot script" -d $BOARD_DIR/boot.scr.txt $TARGET_DIR/boot/boot.scr

View File

@@ -2,7 +2,7 @@
BOARD_DIR="$(dirname $0)"
$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none \
-n "boot script" -d $BOARD_DIR/boot.scr.txt $BOARD_DIR/boot.scr
install -d -m 755 $TARGET_DIR/boot
install -m 0644 -D $BOARD_DIR/boot.scr $TARGET_DIR/boot/boot.scr
$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none \
-n "boot script" -d $BOARD_DIR/boot.scr.txt $TARGET_DIR/boot/boot.scr

View File

@@ -160,4 +160,11 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES
Names of generated image files that are installed in the
output images/ directory.
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC
bool "Needs dtc"
select BR2_PACKAGE_HOST_DTC
help
Select this option if your ATF board configuration
requires the Device Tree compiler to be available.
endif

View File

@@ -29,6 +29,10 @@ endif
ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC),y)
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-dtc
endif
ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM))
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG),y)

View File

@@ -25,12 +25,18 @@ $(1)_SOURCE = $$(notdir $$($(1)_TARBALL))
else ifeq ($$(BR2_TARGET_BAREBOX_CUSTOM_GIT),y)
$(1)_SITE = $$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL))
$(1)_SITE_METHOD = git
# Override the default value of _SOURCE to 'barebox-*' so that it is not
# downloaded a second time for barebox-aux; also alows avoiding the hash
# check:
$(1)_SOURCE = barebox-$$($(1)_VERSION).tar.gz
else
# Handle stable official Barebox versions
$(1)_SOURCE = barebox-$$($(1)_VERSION).tar.bz2
$(1)_SITE = https://www.barebox.org/download
endif
$(1)_DL_SUBDIR = barebox
$(1)_DEPENDENCIES = host-lzop
$(1)_LICENSE = GPL-2.0 with exceptions
ifeq ($(BR2_TARGET_BAREBOX_LATEST_VERSION),y)

View File

@@ -0,0 +1,60 @@
From 7d68fa68cd9f2987bd85339f3391913a8b0e58c7 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Tue, 24 Mar 2020 10:21:27 +0100
Subject: [PATCH] efi/main.c: include <efisetjmp.h>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Building syslinux against gnu-efi 3.0.10 currently fails with:
syslinux/efi/main.c:33:8: error: unknown type name jmp_buf
33 | static jmp_buf load_error_buf;
| ^~~~~~~
syslinux/efi/main.c: In function local_boot:
syslinux/efi/main.c:189:5: warning: implicit declaration of function longjmp [-Wimplicit-function-declaration]
189 | longjmp(&load_error_buf, 1);
| ^~~~~~~
syslinux/efi/main.c: In function build_gdt:
syslinux/efi/main.c:907:75: warning: taking address of packed member of struct dt_desc may result in an unaligned pointer value [-Waddress-of-packed-member]
907 | status = emalloc(gdt.limit, __SIZEOF_POINTER__ , (EFI_PHYSICAL_ADDRESS *)&gdt.base);
| ^~~~~~~~~
syslinux/efi/main.c: In function efi_main:
syslinux/efi/main.c:1390:7: warning: implicit declaration of function setjmp [-Wimplicit-function-declaration]
1390 | if (!setjmp(&load_error_buf))
| ^~~~~~
make[3]: *** [syslinux/mk/efi.mk:63: main.o] Error 1
This is due to gnu-efi commit 486ba3c3bdd147b7d98159b9e650be60bce0f027
("Do not include efisetjmp.h on efi.h"), in which they state:
Do not include efisetjmp.h on efi.h
People than really want to use efisetjmp implementation can include
the header on their own.
Signed-off-by: leo <leo.sartre@geebol.fr>
So we act as specified, and include <efisetjmp.h> from efi/main.c.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Upstream: https://www.syslinux.org/archives/2020-March/026621.html
---
efi/main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/efi/main.c b/efi/main.c
index 6a748412..e924cfb1 100644
--- a/efi/main.c
+++ b/efi/main.c
@@ -12,6 +12,7 @@
#include <sys/ansi.h>
#include "efi.h"
+#include <efisetjmp.h>
#include "fio.h"
#include "version.h"
#include "efi_pxe.h"
--
2.25.1

View File

@@ -40,6 +40,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_TARGET_GENERIC_ISSUE="Welcome to Amarula A64-Relic"
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_PACKAGE_HOST_ANDROID_TOOLS=y
BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y

View File

@@ -9,6 +9,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y
# System
BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3"
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
# Bootloader
BR2_TARGET_UBOOT=y
@@ -51,7 +52,6 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y
# qt5
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y
BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
BR2_PACKAGE_QT5BASE_LINUXFB=y
BR2_PACKAGE_QT5BASE_FONTCONFIG=y

View File

@@ -25,7 +25,7 @@ BR2_TARGET_UBOOT_FORMAT_SD=y
# Filesystem
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT4=y
BR2_TARGET_ROOTFS_EXT2_4=y
# To generate SD Image
BR2_PACKAGE_HOST_DOSFSTOOLS=y

View File

@@ -25,7 +25,7 @@ BR2_TARGET_UBOOT_FORMAT_SD=y
# Filesystem
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT4=y
BR2_TARGET_ROOTFS_EXT2_4=y
# To generate SD card image
BR2_PACKAGE_HOST_DOSFSTOOLS=y

View File

@@ -68,7 +68,6 @@ BR2_PACKAGE_MESA3D_DEMOS=y
# Qt5
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y
BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
BR2_PACKAGE_QT5BASE_LINUXFB=y
BR2_PACKAGE_QT5BASE_FONTCONFIG=y

View File

@@ -42,6 +42,7 @@ BR2_PACKAGE_MESA3D_DEMOS=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y
BR2_PACKAGE_MESA3D_OPENGL_GLX=y
# Framebuffer (just for testing purposes)
BR2_PACKAGE_FB_TEST_APP=y

View File

@@ -6,6 +6,10 @@ BR2_ARM_EABIHF=y
# Linux headers same as kernel, a 5.4 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
# Toolchain
# glibc is needed for sunxi-mali-mainline-package.
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
# System configuration
BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino"
BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!"

View File

@@ -6,6 +6,10 @@ BR2_ARM_EABIHF=y
# Linux headers same as kernel, a 5.4 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
# Toolchain
# glibc is needed for sunxi-mali-mainline-package.
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
# System configuration
BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino"
BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!"

View File

@@ -33,7 +33,7 @@ BR2_PACKAGE_ZD1211_FIRMWARE=y
# Filesystem
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT4=y
BR2_TARGET_ROOTFS_EXT2_4=y
# BR2_TARGET_ROOTFS_TAR is not set
# U-Boot

View File

@@ -10,7 +10,7 @@ BR2_TARGET_ROOTFS_INITRAMFS=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
# Use soft float
BR2_SOFT_FLOAT=y
BR2_POWERPC_SOFT_FLOAT=y
# Kernel
BR2_LINUX_KERNEL=y

View File

@@ -23,7 +23,6 @@ BR2_LINUX_KERNEL_IMAGE=y
# Bootloader
BR2_TARGET_OPENSBI=y
BR2_TARGET_OPENSBI_USE_PLAT=y
BR2_TARGET_OPENSBI_PLAT="qemu/virt"
# host-qemu for gitlab testing

View File

@@ -22,7 +22,6 @@ BR2_LINUX_KERNEL_IMAGE=y
# Bootloader
BR2_TARGET_OPENSBI=y
BR2_TARGET_OPENSBI_USE_PLAT=y
BR2_TARGET_OPENSBI_PLAT="qemu/virt"
# host-qemu for gitlab testing

View File

@@ -142,7 +142,7 @@ All these steps rely on the +$(@D)+ variable, which
contains the directory where the source code of the package has been
extracted.
On lines 31..43, we define a user that is used by this package (e.g.
On lines 31..33, we define a user that is used by this package (e.g.
to run a daemon as non-root) (+LIBFOO_USERS+).
On line 35..37, we define a device-node file used by this package

View File

@@ -98,10 +98,9 @@ Note that:
dependencies are automatically added as needed by the Python
package infrastructure.
* Similarly, it is not needed to add +host-setuptools+ and/or
+host-distutilscross+ dependencies to +PYTHON_FOO_DEPENDENCIES+ for
setuptools-based packages, since these are automatically added by
the Python infrastructure as needed.
* Similarly, it is not needed to add +host-setuptools+ to
+PYTHON_FOO_DEPENDENCIES+ for setuptools-based packages, since it's
automatically added by the Python infrastructure as needed.
One variable specific to the Python infrastructure is mandatory:

View File

@@ -88,7 +88,7 @@ to +make+ or set in the environment:
Buildroot stores the cached files when using ccache.
+
* +BR2_DL_DIR+ to override the directory in which
Buildroot stores/retrieves downloaded files
Buildroot stores/retrieves downloaded files.
+
Note that the Buildroot download directory can also be set from the
configuration interface, so through the Buildroot +.config+ file. See

View File

@@ -53,7 +53,7 @@ directory.
The exception to +BR2_GLOBAL_PATCH_DIR+ being the preferred method for
specifying custom patches is +BR2_LINUX_KERNEL_PATCH+.
+BR2_LINUX_KERNEL_PATCH+ should be used to specify kernel patches that
are available at an URL. *Note:* +BR2_LINUX_KERNEL_PATCH+ specifies kernel
are available at a URL. *Note:* +BR2_LINUX_KERNEL_PATCH+ specifies kernel
patches that are applied after patches available in +BR2_GLOBAL_PATCH_DIR+,
as it is done from a post-patch hook of the Linux package.

View File

@@ -145,7 +145,7 @@ It is recommended to use the existing mechanisms to set file permissions
The difference between post-build scripts (above) and fakeroot scripts,
is that post-build scripts are not called in the fakeroot context.
+
.Note;
.Note:
Using `fakeroot` is not an absolute substitute for actually being root.
`fakeroot` only ever fakes the file access rights and types (regular,
block-or-char device...) and uid/gid; these are emulated in-memory.

View File

@@ -141,8 +141,8 @@ endif
The documentation uses the
http://www.methods.co.nz/asciidoc/[asciidoc] format.
For further details about the http://www.methods.co.nz/asciidoc/[asciidoc]
syntax, refer to http://www.methods.co.nz/asciidoc/userguide.html[].
For further details about the asciidoc syntax, refer to
http://www.methods.co.nz/asciidoc/userguide.html[].
=== Support scripts

View File

@@ -1,7 +1,4 @@
#!/bin/sh
# devtmpfs does not get automounted for initramfs
/bin/mount -t devtmpfs devtmpfs /dev
exec 0</dev/console
exec 1>/dev/console
exec 2>/dev/console
exec /sbin/init "$@"

View File

@@ -29,3 +29,8 @@ rootfs-initramfs-show-depends:
ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
TARGETS_ROOTFS += rootfs-initramfs
endif
# Not using the rootfs infra, so fake the variables
ROOTFS_INITRAMFS_NAME = rootfs-initramfs
ROOTFS_INITRAMFS_TYPE = rootfs
ROOTFS_INITRAMFS_DEPENDENCIES = rootfs-cpio linux

View File

@@ -30,7 +30,7 @@ config BR2_LINUX_KERNEL_LATEST_VERSION
bool "Latest version (5.4)"
config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
bool "Latest CIP SLTS version (4.19.98-cip19)"
bool "Latest CIP SLTS version (4.19.118-cip25)"
help
CIP launched in the spring of 2016 to address the needs of
organizations in industries such as power generation and
@@ -49,7 +49,7 @@ config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
https://www.cip-project.org
config BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
bool "Latest CIP RT SLTS version (4.19.98-cip19-rt7)"
bool "Latest CIP RT SLTS version (4.19.115-cip24-rt9)"
help
Same as the CIP version, but this is the PREEMPT_RT realtime
variant.
@@ -128,9 +128,9 @@ endif
config BR2_LINUX_KERNEL_VERSION
string
default "5.4.23" if BR2_LINUX_KERNEL_LATEST_VERSION
default "4.19.98-cip19" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
default "4.19.98-cip19-rt7" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
default "5.4.40" if BR2_LINUX_KERNEL_LATEST_VERSION
default "4.19.118-cip25" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
default "4.19.115-cip24-rt9" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
if BR2_LINUX_KERNEL_CUSTOM_VERSION
default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
@@ -338,10 +338,10 @@ config BR2_LINUX_KERNEL_IMAGE_NAME
string "Kernel image name"
depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
help
The filename of the kernel image, if it is different from the
make target (above). Only Xtensa uses a filename different
from the make target. Defaults to
BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
The filename of the kernel image, if it is different from
the make target (above). Defaults to
BR2_LINUX_KERNEL_IMAGE_TARGET_NAME. If specified, the
filename is relative to arch/ARCH/boot/.
If unsure, leave it empty.

View File

@@ -1,13 +1,13 @@
# From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
sha256 3f28aacdf5deddfdf80bb949884699b96053a3548dc3434552d30dc0bc781eca linux-5.4.23.tar.xz
sha256 83563f027687ecaafb41d0d2d52056f40ec9822f8a9e43592e215349730020ab linux-5.4.40.tar.xz
# From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
sha256 28bcd3d4201da9feefdf3bcd65c516dd674acbbf45681ce3c7d784c53b33fe03 linux-4.4.215.tar.xz
sha256 236f2f47853700f22b9925cb17917d97ff7120fcc8110ec827c5a030a8129f48 linux-4.9.215.tar.xz
sha256 2318a1ab937580a079351ed20557c336a3d95b664f667b14e3ba49e3271b217a linux-4.14.172.tar.xz
sha256 654bac198d38e03e7bff9e2642b01f498dc0fa5d06198edd14bc30fe7fbf0240 linux-4.19.107.tar.xz
sha256 cd963e66d7fb07f142fa5274ec90f46c8388a327e2ba28c5fec245d734b0d425 linux-4.4.223.tar.xz
sha256 cf5300e6f5d8c66c2bed8f00d53f9c58103731809862427012e4010f5d782ae5 linux-4.9.223.tar.xz
sha256 444ef973d9b6a6ea174e4a9086f0aea980d8575d13302e431ad688f22e27ed0e linux-4.14.180.tar.xz
sha256 5050268ec5cf003d96366d1611ecfa4ab6974125d6fa26cea1ccb81dd4df00a5 linux-4.19.122.tar.xz
# Locally computed
sha256 18f9ddba0b777d1942d6c81877ba97c4bcd08488e2c409e57dcce866b9de5fc2 linux-cip-4.19.98-cip19.tar.gz
sha256 7d5aeb67da41dc66ef28621ef994ef4403e8b1f5c3df38b1843da20972444280 linux-cip-4.19.98-cip19-rt7.tar.gz
sha256 ea53913813cb5a9069608532b327de7a7ed0fdc8fed8c6f10cd55d1ac6a58ffb linux-cip-4.19.118-cip25.tar.gz
sha256 7f0a0db0e1cfb14053523f4432f1ad1468b5bd42305b44905c4b103466c8d655 linux-cip-4.19.115-cip24-rt9.tar.gz
# Licenses hashes
sha256 ee5808b032a67f587d3541099d46de34f5bec8cd5976114ba07f1299ee6001ff COPYING

View File

@@ -127,6 +127,8 @@ LINUX_POST_EXTRACT_HOOKS += LINUX_XTENSA_OVERLAY_EXTRACT
LINUX_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
endif
# We don't want to run depmod after installing the kernel. It's done in a
# target-finalize hook, to encompass modules installed by packages.
LINUX_MAKE_FLAGS = \
HOSTCC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS)" \
ARCH=$(KERNEL_ARCH) \
@@ -486,7 +488,7 @@ else
# Otherwise, just install the unique image generated by the kernel
# build process.
define LINUX_INSTALL_IMAGE
$(INSTALL) -m 0644 -D $(LINUX_IMAGE_PATH) $(1)/$(LINUX_IMAGE_NAME)
$(INSTALL) -m 0644 -D $(LINUX_IMAGE_PATH) $(1)/$(notdir $(LINUX_IMAGE_NAME))
endef
endif
@@ -526,6 +528,15 @@ define LINUX_INSTALL_TARGET_CMDS
$(LINUX_INSTALL_HOST_TOOLS)
endef
# Run depmod in a target-finalize hook, to encompass modules installed by
# packages.
define LINUX_RUN_DEPMOD
if grep -q "CONFIG_MODULES=y" $(LINUX_DIR)/.config; then \
$(HOST_DIR)/sbin/depmod -a -b $(TARGET_DIR) $(LINUX_VERSION_PROBED); \
fi
endef
LINUX_TARGET_FINALIZE_HOOKS += LINUX_RUN_DEPMOD
# Include all our extensions.
#
# Note: our package infrastructure uses the full-path of the last-scanned

View File

@@ -0,0 +1,77 @@
From 5b95d256387b45fbe33f7ee7890ae35afdd5c371 Mon Sep 17 00:00:00 2001
From: Joe Orton <jorton@apache.org>
Date: Fri, 13 Mar 2020 14:34:18 +0000
Subject: [PATCH] * server/log.c (ap_log_pid): Use a temporary file, then
rename once successfully written; also add error checking. Avoids startup
failures if a previous httpd invocation crashed while writing the pidfile.
Submitted by: Nicolas Carrier <carrier.nicolas0 gmail.com>, jorton
Github: closes #100, closes #69
PR: 63140
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1875153 13f79535-47bb-0310-9956-ffa450edef68
Signed-off-by: Nicolas Carrier <nicolas.carrier@orolia.com>
---
server/log.c | 33 ++++++++++++++++++++++++++-------
1 file changed, 26 insertions(+), 7 deletions(-)
diff --git a/server/log.c b/server/log.c
index f0bde6e4b8..8d54b4e057 100644
--- a/server/log.c
+++ b/server/log.c
@@ -1598,6 +1598,9 @@ AP_DECLARE(void) ap_log_pid(apr_pool_t *p, const char *filename)
pid_t mypid;
apr_status_t rv;
const char *fname;
+ char *temp_fname;
+ apr_fileperms_t perms;
+ char pidstr[64];
if (!filename) {
return;
@@ -1626,19 +1629,35 @@ AP_DECLARE(void) ap_log_pid(apr_pool_t *p, const char *filename)
fname);
}
- if ((rv = apr_file_open(&pid_file, fname,
- APR_WRITE | APR_CREATE | APR_TRUNCATE,
- APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD, p))
- != APR_SUCCESS) {
+ temp_fname = apr_pstrcat(p, fname, ".XXXXXX", NULL);
+ rv = apr_file_mktemp(&pid_file, temp_fname,
+ APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE, p);
+ if (rv != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL, APLOGNO(00099)
- "could not create %s", fname);
+ "could not create %s", temp_fname);
ap_log_error(APLOG_MARK, APLOG_ERR, 0, NULL, APLOGNO(00100)
"%s: could not log pid to file %s",
ap_server_argv0, fname);
exit(1);
}
- apr_file_printf(pid_file, "%" APR_PID_T_FMT APR_EOL_STR, mypid);
- apr_file_close(pid_file);
+
+ apr_snprintf(pidstr, sizeof pidstr, "%" APR_PID_T_FMT APR_EOL_STR, mypid);
+
+ perms = APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD;
+ rv = apr_file_perms_set(temp_fname, perms);
+ if (rv == APR_SUCCESS)
+ rv = apr_file_write_full(pid_file, pidstr, strlen(pidstr), NULL);
+ if (rv == APR_SUCCESS)
+ rv = apr_file_close(pid_file);
+ if (rv == APR_SUCCESS)
+ rv = apr_file_rename(temp_fname, fname, p);
+ if (rv != APR_SUCCESS) {
+ ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL, APLOGNO(10231)
+ "%s: Failed creating pid file %s",
+ ap_server_argv0, temp_fname);
+ exit(1);
+ }
+
saved_pid = mypid;
}
--
2.25.2

View File

@@ -1,4 +1,4 @@
# From http://archive.apache.org/dist/httpd/httpd-2.4.41.tar.bz2.sha256
sha256 133d48298fe5315ae9366a0ec66282fa4040efa5d566174481077ade7d18ea40 httpd-2.4.41.tar.bz2
# From http://archive.apache.org/dist/httpd/httpd-2.4.43.tar.bz2.sha256
sha256 a497652ab3fc81318cdc2a203090a999150d86461acff97c1065dc910fe10f43 httpd-2.4.43.tar.bz2
# Locally computed
sha256 c49c0819a726b70142621715dae3159c47b0349c2bc9db079070f28dadac0229 LICENSE
sha256 47b8c2b6c3309282a99d4a3001575c790fead690cc14734628c4667d2bbffc43 LICENSE

View File

@@ -4,7 +4,7 @@
#
################################################################################
APACHE_VERSION = 2.4.41
APACHE_VERSION = 2.4.43
APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2
APACHE_SITE = http://archive.apache.org/dist/httpd
APACHE_LICENSE = Apache-2.0
@@ -99,6 +99,7 @@ APACHE_CONF_OPTS += --disable-deflate
endif
define APACHE_FIX_STAGING_APACHE_CONFIG
$(SED) 's%"/usr/bin"%"$(STAGING_DIR)/usr/bin"%' $(STAGING_DIR)/usr/bin/apxs
$(SED) 's%/usr/build%$(STAGING_DIR)/usr/build%' $(STAGING_DIR)/usr/bin/apxs
$(SED) 's%^prefix =.*%prefix = $(STAGING_DIR)/usr%' $(STAGING_DIR)/usr/build/config_vars.mk
endef

View File

@@ -17,35 +17,55 @@ AZURE_IOT_SDK_C_CONF_OPTS = -Dskip_samples=ON
# The project only supports building one kind of library.
# Further the install target installs the wrong files, so we do it here:
ifeq ($(BR2_STATIC_LIBS),y)
AZURE_IOT_SDK_C_LIBS += uamqp/libuamqp.a c-utility/libaziotsharedutil.a \
iothub_client/libiothub_client.a iothub_client/libiothub_client_mqtt_ws_transport.a \
AZURE_IOT_SDK_C_LIBS += \
uamqp/libuamqp.a \
c-utility/libaziotsharedutil.a \
iothub_client/libiothub_client.a \
iothub_client/libiothub_client_mqtt_ws_transport.a \
iothub_client/libiothub_client_amqp_ws_transport.a \
iothub_client/libiothub_client_http_transport.a \
iothub_client/libiothub_client_amqp_transport.a \
iothub_client/libiothub_client_mqtt_transport.a \
iothub_service_client/libiothub_service_client.a serializer/libserializer.a umqtt/libumqtt.a
iothub_service_client/libiothub_service_client.a \
serializer/libserializer.a \
umqtt/libumqtt.a \
libparson.a
else
AZURE_IOT_SDK_C_LIBS += uamqp/libuamqp.so c-utility/libaziotsharedutil.so \
iothub_client/libiothub_client.so iothub_client/libiothub_client_mqtt_ws_transport.so \
AZURE_IOT_SDK_C_LIBS += \
uamqp/libuamqp.so \
c-utility/libaziotsharedutil.so \
iothub_client/libiothub_client.so \
iothub_client/libiothub_client_mqtt_ws_transport.so \
iothub_client/libiothub_client_amqp_ws_transport.so \
iothub_client/libiothub_client_http_transport.so \
iothub_client/libiothub_client_amqp_transport.so \
iothub_client/libiothub_client_mqtt_transport.so \
iothub_service_client/libiothub_service_client.so serializer/libserializer.so umqtt/libumqtt.so
iothub_service_client/libiothub_service_client.so \
serializer/libserializer.so \
umqtt/libumqtt.so.1.1.11 \
libparson.so
define AZURE_IOT_SDK_C_CREATE_SYMLINKS
ln -sf libumqtt.so.1.1.11 $(1)/usr/lib/libumqtt.so.1
ln -sf libumqtt.so.1.1.11 $(1)/usr/lib/libumqtt.so
endef
endif
define AZURE_IOT_SDK_C_INSTALL_STAGING_CMDS
define AZURE_IOT_SDK_C_INSTALL_LIBS
$(foreach l,$(AZURE_IOT_SDK_C_LIBS), \
$(INSTALL) -D -m 0755 $(@D)/$(l) $(STAGING_DIR)/usr/lib/
$(INSTALL) -D -m 0755 $(@D)/$(l) $(1)/usr/lib/$(notdir $(l))
)
$(call AZURE_IOT_SDK_C_CREATE_SYMLINKS,$(1))
endef
define AZURE_IOT_SDK_C_INSTALL_STAGING_CMDS
$(call AZURE_IOT_SDK_C_INSTALL_LIBS,$(STAGING_DIR))
cp -a $(@D)/c-utility/inc/* $(STAGING_DIR)/usr/include/
cp -a $(@D)/iothub_client/inc/* $(STAGING_DIR)/usr/include/
endef
define AZURE_IOT_SDK_C_INSTALL_TARGET_CMDS
$(foreach l,$(AZURE_IOT_SDK_C_LIBS), \
$(INSTALL) -D -m 0755 $(@D)/$(l) $(TARGET_DIR)/usr/lib/
)
$(call AZURE_IOT_SDK_C_INSTALL_LIBS,$(TARGET_DIR))
endef
$(eval $(cmake-package))

View File

@@ -0,0 +1,376 @@
From c7a1d1f656c717394937a92cb970f0f4cecce128 Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Sun, 19 Apr 2020 19:04:41 -0700
Subject: [PATCH] xtensa: fix PR ld/25861
Introduce new relaxations XTENSA_PDIFF{8,16,32} for positive differences
(subtracted symbol precedes diminished symbol) and XTENSA_NDIFF{8,16,32}
for negative differences (subtracted symbol follows diminished symbol).
Don't generate XTENSA_DIFF relocations in the assembler, generate
XTENSA_PDIFF or XTENSA_NDIFF based on relative symbol position.
Handle XTENSA_DIFF in BFD for compatibility with old object files.
Handle XTENSA_PDIFF and XTENSA_NDIFF in BFD, treating difference value
as unsigned.
2020-04-22 Max Filippov <jcmvbkbc@gmail.com>
bfd/
* bfd-in2.h: Regenerated.
* elf32-xtensa.c (elf_howto_table): New entries for
R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}.
(elf_xtensa_reloc_type_lookup, elf_xtensa_do_reloc)
(relax_section): Add cases for R_XTENSA_PDIFF{8,16,32} and
R_XTENSA_NDIFF{8,16,32}.
* libbfd.h (bfd_reloc_code_real_names): Add names for
BFD_RELOC_XTENSA_PDIFF{8,16,32} and
BFD_RELOC_XTENSA_NDIFF{8,16,32}.
* reloc.c: Add documentation for BFD_RELOC_XTENSA_PDIFF{8,16,32}
and BFD_RELOC_XTENSA_NDIFF{8,16,32}.
binutils/
* readelf.c (is_none_reloc): Recognize
BFD_RELOC_XTENSA_PDIFF{8,16,32} and
BFD_RELOC_XTENSA_NDIFF{8,16,32}.
gas/
* config/tc-xtensa.c (md_apply_fix): Replace
BFD_RELOC_XTENSA_DIFF{8,16,32} generation with
BFD_RELOC_XTENSA_PDIFF{8,16,32} and
BFD_RELOC_XTENSA_NDIFF{8,16,32} generation.
* testsuite/gas/xtensa/loc.d: Replace BFD_RELOC_XTENSA_DIFF16
with BFD_RELOC_XTENSA_PDIFF16 in the expected output.
include/
* elf/xtensa.h (elf_xtensa_reloc_type): New entries for
R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
Backported from: 30ce8e47fad9b057b6d7af9e1d43061126d34d20
bfd/bfd-in2.h | 20 ++++++-
bfd/elf32-xtensa.c | 89 +++++++++++++++++++++++++++++-
bfd/libbfd.h | 6 ++
bfd/reloc.c | 24 ++++++++
binutils/readelf.c | 8 ++-
gas/config/tc-xtensa.c | 12 +++-
gas/testsuite/gas/xtensa/loc.d | 2 +-
include/elf/xtensa.h | 6 ++
11 files changed, 160 insertions(+), 7 deletions(-)
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 37114607b515..be6a30f57955 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -5217,7 +5217,9 @@ to one of its own internal functions or data structures. */
PLT entries. Otherwise, this is just a generic 32-bit relocation. */
BFD_RELOC_XTENSA_PLT,
-/* Xtensa relocations to mark the difference of two local symbols.
+/* Xtensa relocations for backward compatibility. These have been replaced
+by BFD_RELOC_XTENSA_PDIFF and BFD_RELOC_XTENSA_NDIFF.
+Xtensa relocations to mark the difference of two local symbols.
These are only needed to support linker relaxation and can be ignored
when not relaxing. The field is set to the value of the difference
assuming no relaxation. The relocation encodes the position of the
@@ -5291,6 +5293,22 @@ BFD_RELOC_XTENSA_ASM_EXPAND. */
BFD_RELOC_XTENSA_TLS_ARG,
BFD_RELOC_XTENSA_TLS_CALL,
+/* Xtensa relocations to mark the difference of two local symbols.
+These are only needed to support linker relaxation and can be ignored
+when not relaxing. The field is set to the value of the difference
+assuming no relaxation. The relocation encodes the position of the
+subtracted symbol so the linker can determine whether to adjust the field
+value. PDIFF relocations are used for positive differences, NDIFF
+relocations are used for negative differences. The difference value
+is treated as unsigned with these relocation types, giving full
+8/16 value ranges. */
+ BFD_RELOC_XTENSA_PDIFF8,
+ BFD_RELOC_XTENSA_PDIFF16,
+ BFD_RELOC_XTENSA_PDIFF32,
+ BFD_RELOC_XTENSA_NDIFF8,
+ BFD_RELOC_XTENSA_NDIFF16,
+ BFD_RELOC_XTENSA_NDIFF32,
+
/* 8 bit signed offset in (ix+d) or (iy+d). */
BFD_RELOC_Z80_DISP8,
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index 473a9d76f289..fded42d52a9a 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -325,6 +325,20 @@ static reloc_howto_type elf_howto_table[] =
HOWTO (R_XTENSA_TLS_CALL, 0, 0, 0, FALSE, 0, complain_overflow_dont,
bfd_elf_xtensa_reloc, "R_XTENSA_TLS_CALL",
FALSE, 0, 0, FALSE),
+
+ HOWTO (R_XTENSA_PDIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF8", FALSE, 0, 0xff, FALSE),
+ HOWTO (R_XTENSA_PDIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF16", FALSE, 0, 0xffff, FALSE),
+ HOWTO (R_XTENSA_PDIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF32", FALSE, 0, 0xffffffff, FALSE),
+
+ HOWTO (R_XTENSA_NDIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF8", FALSE, 0, 0xff, FALSE),
+ HOWTO (R_XTENSA_NDIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF16", FALSE, 0, 0xffff, FALSE),
+ HOWTO (R_XTENSA_NDIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF32", FALSE, 0, 0xffffffff, FALSE),
};
#if DEBUG_GEN_RELOC
@@ -364,6 +378,30 @@ elf_xtensa_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
TRACE ("BFD_RELOC_XTENSA_DIFF32");
return &elf_howto_table[(unsigned) R_XTENSA_DIFF32 ];
+ case BFD_RELOC_XTENSA_PDIFF8:
+ TRACE ("BFD_RELOC_XTENSA_PDIFF8");
+ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF8 ];
+
+ case BFD_RELOC_XTENSA_PDIFF16:
+ TRACE ("BFD_RELOC_XTENSA_PDIFF16");
+ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF16 ];
+
+ case BFD_RELOC_XTENSA_PDIFF32:
+ TRACE ("BFD_RELOC_XTENSA_PDIFF32");
+ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF32 ];
+
+ case BFD_RELOC_XTENSA_NDIFF8:
+ TRACE ("BFD_RELOC_XTENSA_NDIFF8");
+ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF8 ];
+
+ case BFD_RELOC_XTENSA_NDIFF16:
+ TRACE ("BFD_RELOC_XTENSA_NDIFF16");
+ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF16 ];
+
+ case BFD_RELOC_XTENSA_NDIFF32:
+ TRACE ("BFD_RELOC_XTENSA_NDIFF32");
+ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF32 ];
+
case BFD_RELOC_XTENSA_RTLD:
TRACE ("BFD_RELOC_XTENSA_RTLD");
return &elf_howto_table[(unsigned) R_XTENSA_RTLD ];
@@ -1851,6 +1889,12 @@ elf_xtensa_do_reloc (reloc_howto_type *howto,
case R_XTENSA_DIFF8:
case R_XTENSA_DIFF16:
case R_XTENSA_DIFF32:
+ case R_XTENSA_PDIFF8:
+ case R_XTENSA_PDIFF16:
+ case R_XTENSA_PDIFF32:
+ case R_XTENSA_NDIFF8:
+ case R_XTENSA_NDIFF16:
+ case R_XTENSA_NDIFF32:
case R_XTENSA_TLS_FUNC:
case R_XTENSA_TLS_ARG:
case R_XTENSA_TLS_CALL:
@@ -9604,7 +9648,13 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
if (r_type == R_XTENSA_DIFF8
|| r_type == R_XTENSA_DIFF16
- || r_type == R_XTENSA_DIFF32)
+ || r_type == R_XTENSA_DIFF32
+ || r_type == R_XTENSA_PDIFF8
+ || r_type == R_XTENSA_PDIFF16
+ || r_type == R_XTENSA_PDIFF32
+ || r_type == R_XTENSA_NDIFF8
+ || r_type == R_XTENSA_NDIFF16
+ || r_type == R_XTENSA_NDIFF32)
{
bfd_signed_vma diff_value = 0;
bfd_vma new_end_offset, diff_mask = 0;
@@ -9631,8 +9681,27 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
diff_value =
bfd_get_signed_32 (abfd, &contents[old_source_offset]);
break;
+ case R_XTENSA_PDIFF8:
+ case R_XTENSA_NDIFF8:
+ diff_value =
+ bfd_get_8 (abfd, &contents[old_source_offset]);
+ break;
+ case R_XTENSA_PDIFF16:
+ case R_XTENSA_NDIFF16:
+ diff_value =
+ bfd_get_16 (abfd, &contents[old_source_offset]);
+ break;
+ case R_XTENSA_PDIFF32:
+ case R_XTENSA_NDIFF32:
+ diff_value =
+ bfd_get_32 (abfd, &contents[old_source_offset]);
+ break;
}
+ if (r_type >= R_XTENSA_NDIFF8
+ && r_type <= R_XTENSA_NDIFF32)
+ diff_value = -diff_value;
+
new_end_offset = offset_with_removed_text_map
(&target_relax_info->action_list,
r_rel.target_offset + diff_value);
@@ -9655,6 +9724,24 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
bfd_put_signed_32 (abfd, diff_value,
&contents[old_source_offset]);
break;
+ case R_XTENSA_PDIFF8:
+ case R_XTENSA_NDIFF8:
+ diff_mask = 0xff;
+ bfd_put_8 (abfd, diff_value,
+ &contents[old_source_offset]);
+ break;
+ case R_XTENSA_PDIFF16:
+ case R_XTENSA_NDIFF16:
+ diff_mask = 0xffff;
+ bfd_put_16 (abfd, diff_value,
+ &contents[old_source_offset]);
+ break;
+ case R_XTENSA_PDIFF32:
+ case R_XTENSA_NDIFF32:
+ diff_mask = 0xffffffff;
+ bfd_put_32 (abfd, diff_value,
+ &contents[old_source_offset]);
+ break;
}
/* Check for overflow. Sign bits must be all zeroes or all ones */
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index 3c184fcadadf..989f4bc0b595 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -2919,6 +2919,12 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_XTENSA_TLS_FUNC",
"BFD_RELOC_XTENSA_TLS_ARG",
"BFD_RELOC_XTENSA_TLS_CALL",
+ "BFD_RELOC_XTENSA_PDIFF8",
+ "BFD_RELOC_XTENSA_PDIFF16",
+ "BFD_RELOC_XTENSA_PDIFF32",
+ "BFD_RELOC_XTENSA_NDIFF8",
+ "BFD_RELOC_XTENSA_NDIFF16",
+ "BFD_RELOC_XTENSA_NDIFF32",
"BFD_RELOC_Z80_DISP8",
"BFD_RELOC_Z80_BYTE0",
"BFD_RELOC_Z80_BYTE1",
diff --git a/bfd/reloc.c b/bfd/reloc.c
index c4dec86d1d46..f5df8e2ab3eb 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -6556,6 +6556,8 @@ ENUMX
ENUMX
BFD_RELOC_XTENSA_DIFF32
ENUMDOC
+ Xtensa relocations for backward compatibility. These have been replaced
+ by BFD_RELOC_XTENSA_PDIFF and BFD_RELOC_XTENSA_NDIFF.
Xtensa relocations to mark the difference of two local symbols.
These are only needed to support linker relaxation and can be ignored
when not relaxing. The field is set to the value of the difference
@@ -6668,6 +6670,28 @@ ENUMX
BFD_RELOC_XTENSA_TLS_CALL
ENUMDOC
Xtensa TLS relocations.
+ENUM
+ BFD_RELOC_XTENSA_PDIFF8
+ENUMX
+ BFD_RELOC_XTENSA_PDIFF16
+ENUMX
+ BFD_RELOC_XTENSA_PDIFF32
+ENUMX
+ BFD_RELOC_XTENSA_NDIFF8
+ENUMX
+ BFD_RELOC_XTENSA_NDIFF16
+ENUMX
+ BFD_RELOC_XTENSA_NDIFF32
+ENUMDOC
+ Xtensa relocations to mark the difference of two local symbols.
+ These are only needed to support linker relaxation and can be ignored
+ when not relaxing. The field is set to the value of the difference
+ assuming no relaxation. The relocation encodes the position of the
+ subtracted symbol so the linker can determine whether to adjust the field
+ value. PDIFF relocations are used for positive differences, NDIFF
+ relocations are used for negative differences. The difference value
+ is treated as unsigned with these relocation types, giving full
+ 8/16 value ranges.
ENUM
BFD_RELOC_Z80_DISP8
diff --git a/binutils/readelf.c b/binutils/readelf.c
index d4756c93b345..800918f901c8 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -13262,7 +13262,13 @@ is_none_reloc (Filedata * filedata, unsigned int reloc_type)
return (reloc_type == 0 /* R_XTENSA_NONE. */
|| reloc_type == 17 /* R_XTENSA_DIFF8. */
|| reloc_type == 18 /* R_XTENSA_DIFF16. */
- || reloc_type == 19 /* R_XTENSA_DIFF32. */);
+ || reloc_type == 19 /* R_XTENSA_DIFF32. */
+ || reloc_type == 57 /* R_XTENSA_PDIFF8. */
+ || reloc_type == 58 /* R_XTENSA_PDIFF16. */
+ || reloc_type == 59 /* R_XTENSA_PDIFF32. */
+ || reloc_type == 60 /* R_XTENSA_NDIFF8. */
+ || reloc_type == 61 /* R_XTENSA_NDIFF16. */
+ || reloc_type == 62 /* R_XTENSA_NDIFF32. */);
}
return FALSE;
}
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index 71d4d94a8d7d..ee75c13548ff 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -5974,18 +5974,24 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
case BFD_RELOC_8:
if (fixP->fx_subsy)
{
+ bfd_boolean neg = S_GET_VALUE (fixP->fx_addsy) + fixP->fx_offset
+ < S_GET_VALUE (fixP->fx_subsy);
+
switch (fixP->fx_r_type)
{
case BFD_RELOC_8:
- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8;
+ fixP->fx_r_type = neg
+ ? BFD_RELOC_XTENSA_NDIFF8 : BFD_RELOC_XTENSA_PDIFF8;
fixP->fx_signed = 0;
break;
case BFD_RELOC_16:
- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16;
+ fixP->fx_r_type = neg
+ ? BFD_RELOC_XTENSA_NDIFF16 : BFD_RELOC_XTENSA_PDIFF16;
fixP->fx_signed = 0;
break;
case BFD_RELOC_32:
- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32;
+ fixP->fx_r_type = neg
+ ? BFD_RELOC_XTENSA_NDIFF32 : BFD_RELOC_XTENSA_PDIFF32;
fixP->fx_signed = 0;
break;
default:
diff --git a/gas/testsuite/gas/xtensa/loc.d b/gas/testsuite/gas/xtensa/loc.d
index 71983cc90055..8fb3425999d5 100644
--- a/gas/testsuite/gas/xtensa/loc.d
+++ b/gas/testsuite/gas/xtensa/loc.d
@@ -6,5 +6,5 @@
RELOCATION RECORDS FOR \[\.debug_line\]:
#...
-.*R_XTENSA_DIFF16.*\.text\+0x00009c42
+.*R_XTENSA_PDIFF16.*\.text\+0x00009c42
#...
diff --git a/include/elf/xtensa.h b/include/elf/xtensa.h
index 2eb5e4e52941..bd5c80d13777 100644
--- a/include/elf/xtensa.h
+++ b/include/elf/xtensa.h
@@ -87,6 +87,12 @@ START_RELOC_NUMBERS (elf_xtensa_reloc_type)
RELOC_NUMBER (R_XTENSA_TLS_FUNC, 54)
RELOC_NUMBER (R_XTENSA_TLS_ARG, 55)
RELOC_NUMBER (R_XTENSA_TLS_CALL, 56)
+ RELOC_NUMBER (R_XTENSA_PDIFF8, 57)
+ RELOC_NUMBER (R_XTENSA_PDIFF16, 58)
+ RELOC_NUMBER (R_XTENSA_PDIFF32, 59)
+ RELOC_NUMBER (R_XTENSA_NDIFF8, 60)
+ RELOC_NUMBER (R_XTENSA_NDIFF16, 61)
+ RELOC_NUMBER (R_XTENSA_NDIFF32, 62)
END_RELOC_NUMBERS (R_XTENSA_max)
/* Processor-specific flags for the ELF header e_flags field. */
--
2.20.1

View File

@@ -0,0 +1,128 @@
From 735321812435ae278d3766a3371f55937dc776d6 Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Sat, 25 Apr 2020 00:40:25 -0700
Subject: [PATCH] xtensa: fix XTENSA_NDIFF handling for PR ld/25861
Fields marked with XTENSA_NDIFF relocations are not negated, they only
have sign bits removed. Don't negate their values when relaxation is
performed. Don't add sign bits when the value is zero. Report overflow
when the result has negative sign but all significant bits are zero.
2020-04-29 Max Filippov <jcmvbkbc@gmail.com>
bfd/
* elf32-xtensa.c (relax_section): Don't negate diff_value for
XTENSA_NDIFF relocations. Don't add sign bits whe diff_value
equals 0. Report overflow when the result has negative sign but
all significant bits are zero.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Backported from: d548f47df4d2e3d117d504a4c9977982c78a0556
---
bfd/elf32-xtensa.c | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index fded42d52a9a..4327b027911f 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -9670,37 +9670,44 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
switch (r_type)
{
case R_XTENSA_DIFF8:
+ diff_mask = 0x7f;
diff_value =
bfd_get_signed_8 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_DIFF16:
+ diff_mask = 0x7fff;
diff_value =
bfd_get_signed_16 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_DIFF32:
+ diff_mask = 0x7fffffff;
diff_value =
bfd_get_signed_32 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_PDIFF8:
case R_XTENSA_NDIFF8:
+ diff_mask = 0xff;
diff_value =
bfd_get_8 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_PDIFF16:
case R_XTENSA_NDIFF16:
+ diff_mask = 0xffff;
diff_value =
bfd_get_16 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_PDIFF32:
case R_XTENSA_NDIFF32:
+ diff_mask = 0xffffffff;
diff_value =
bfd_get_32 (abfd, &contents[old_source_offset]);
break;
}
if (r_type >= R_XTENSA_NDIFF8
- && r_type <= R_XTENSA_NDIFF32)
- diff_value = -diff_value;
+ && r_type <= R_XTENSA_NDIFF32
+ && diff_value)
+ diff_value |= ~diff_mask;
new_end_offset = offset_with_removed_text_map
(&target_relax_info->action_list,
@@ -9710,43 +9717,40 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
switch (r_type)
{
case R_XTENSA_DIFF8:
- diff_mask = 0x7f;
bfd_put_signed_8 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_DIFF16:
- diff_mask = 0x7fff;
bfd_put_signed_16 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_DIFF32:
- diff_mask = 0x7fffffff;
bfd_put_signed_32 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_PDIFF8:
case R_XTENSA_NDIFF8:
- diff_mask = 0xff;
bfd_put_8 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_PDIFF16:
case R_XTENSA_NDIFF16:
- diff_mask = 0xffff;
bfd_put_16 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_PDIFF32:
case R_XTENSA_NDIFF32:
- diff_mask = 0xffffffff;
bfd_put_32 (abfd, diff_value,
&contents[old_source_offset]);
break;
}
- /* Check for overflow. Sign bits must be all zeroes or all ones */
- if ((diff_value & ~diff_mask) != 0 &&
- (diff_value & ~diff_mask) != (-1 & ~diff_mask))
+ /* Check for overflow. Sign bits must be all zeroes or
+ all ones. When sign bits are all ones diff_value
+ may not be zero. */
+ if (((diff_value & ~diff_mask) != 0
+ && (diff_value & ~diff_mask) != ~diff_mask)
+ || (diff_value && (bfd_vma) diff_value == ~diff_mask))
{
(*link_info->callbacks->reloc_dangerous)
(link_info, _("overflow after relaxation"),
--
2.20.1

View File

@@ -0,0 +1,432 @@
From c7a1d1f656c717394937a92cb970f0f4cecce128 Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Sun, 19 Apr 2020 19:04:41 -0700
Subject: [PATCH] xtensa: fix PR ld/25861
Introduce new relaxations XTENSA_PDIFF{8,16,32} for positive differences
(subtracted symbol precedes diminished symbol) and XTENSA_NDIFF{8,16,32}
for negative differences (subtracted symbol follows diminished symbol).
Don't generate XTENSA_DIFF relocations in the assembler, generate
XTENSA_PDIFF or XTENSA_NDIFF based on relative symbol position.
Handle XTENSA_DIFF in BFD for compatibility with old object files.
Handle XTENSA_PDIFF and XTENSA_NDIFF in BFD, treating difference value
as unsigned.
2020-04-22 Max Filippov <jcmvbkbc@gmail.com>
bfd/
* bfd-in2.h: Regenerated.
* elf32-xtensa.c (elf_howto_table): New entries for
R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}.
(elf_xtensa_reloc_type_lookup, elf_xtensa_do_reloc)
(relax_section): Add cases for R_XTENSA_PDIFF{8,16,32} and
R_XTENSA_NDIFF{8,16,32}.
* libbfd.h (bfd_reloc_code_real_names): Add names for
BFD_RELOC_XTENSA_PDIFF{8,16,32} and
BFD_RELOC_XTENSA_NDIFF{8,16,32}.
* reloc.c: Add documentation for BFD_RELOC_XTENSA_PDIFF{8,16,32}
and BFD_RELOC_XTENSA_NDIFF{8,16,32}.
binutils/
* readelf.c (is_none_reloc): Recognize
BFD_RELOC_XTENSA_PDIFF{8,16,32} and
BFD_RELOC_XTENSA_NDIFF{8,16,32}.
gas/
* config/tc-xtensa.c (md_apply_fix): Replace
BFD_RELOC_XTENSA_DIFF{8,16,32} generation with
BFD_RELOC_XTENSA_PDIFF{8,16,32} and
BFD_RELOC_XTENSA_NDIFF{8,16,32} generation.
* testsuite/gas/xtensa/loc.d: Replace BFD_RELOC_XTENSA_DIFF16
with BFD_RELOC_XTENSA_PDIFF16 in the expected output.
include/
* elf/xtensa.h (elf_xtensa_reloc_type): New entries for
R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}.
ld/
* testsuite/ld-xtensa/relax-loc.d: New test definition.
* testsuite/ld-xtensa/relax-loc.s: New test source.
* testsuite/ld-xtensa/xtensa.exp (relax-loc): New test.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
Backported from: 30ce8e47fad9b057b6d7af9e1d43061126d34d20
bfd/bfd-in2.h | 20 ++++++-
bfd/elf32-xtensa.c | 89 +++++++++++++++++++++++++++++-
bfd/libbfd.h | 6 ++
bfd/reloc.c | 24 ++++++++
binutils/readelf.c | 8 ++-
gas/config/tc-xtensa.c | 12 +++-
gas/testsuite/gas/xtensa/loc.d | 2 +-
include/elf/xtensa.h | 6 ++
ld/testsuite/ld-xtensa/relax-loc.d | 7 +++
ld/testsuite/ld-xtensa/relax-loc.s | 15 +++++
ld/testsuite/ld-xtensa/xtensa.exp | 1 +
11 files changed, 183 insertions(+), 7 deletions(-)
create mode 100644 ld/testsuite/ld-xtensa/relax-loc.d
create mode 100644 ld/testsuite/ld-xtensa/relax-loc.s
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 37114607b515..be6a30f57955 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -5217,7 +5217,9 @@ to one of its own internal functions or data structures. */
PLT entries. Otherwise, this is just a generic 32-bit relocation. */
BFD_RELOC_XTENSA_PLT,
-/* Xtensa relocations to mark the difference of two local symbols.
+/* Xtensa relocations for backward compatibility. These have been replaced
+by BFD_RELOC_XTENSA_PDIFF and BFD_RELOC_XTENSA_NDIFF.
+Xtensa relocations to mark the difference of two local symbols.
These are only needed to support linker relaxation and can be ignored
when not relaxing. The field is set to the value of the difference
assuming no relaxation. The relocation encodes the position of the
@@ -5291,6 +5293,22 @@ BFD_RELOC_XTENSA_ASM_EXPAND. */
BFD_RELOC_XTENSA_TLS_ARG,
BFD_RELOC_XTENSA_TLS_CALL,
+/* Xtensa relocations to mark the difference of two local symbols.
+These are only needed to support linker relaxation and can be ignored
+when not relaxing. The field is set to the value of the difference
+assuming no relaxation. The relocation encodes the position of the
+subtracted symbol so the linker can determine whether to adjust the field
+value. PDIFF relocations are used for positive differences, NDIFF
+relocations are used for negative differences. The difference value
+is treated as unsigned with these relocation types, giving full
+8/16 value ranges. */
+ BFD_RELOC_XTENSA_PDIFF8,
+ BFD_RELOC_XTENSA_PDIFF16,
+ BFD_RELOC_XTENSA_PDIFF32,
+ BFD_RELOC_XTENSA_NDIFF8,
+ BFD_RELOC_XTENSA_NDIFF16,
+ BFD_RELOC_XTENSA_NDIFF32,
+
/* 8 bit signed offset in (ix+d) or (iy+d). */
BFD_RELOC_Z80_DISP8,
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index 473a9d76f289..fded42d52a9a 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -325,6 +325,20 @@ static reloc_howto_type elf_howto_table[] =
HOWTO (R_XTENSA_TLS_CALL, 0, 0, 0, FALSE, 0, complain_overflow_dont,
bfd_elf_xtensa_reloc, "R_XTENSA_TLS_CALL",
FALSE, 0, 0, FALSE),
+
+ HOWTO (R_XTENSA_PDIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF8", FALSE, 0, 0xff, FALSE),
+ HOWTO (R_XTENSA_PDIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF16", FALSE, 0, 0xffff, FALSE),
+ HOWTO (R_XTENSA_PDIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF32", FALSE, 0, 0xffffffff, FALSE),
+
+ HOWTO (R_XTENSA_NDIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF8", FALSE, 0, 0xff, FALSE),
+ HOWTO (R_XTENSA_NDIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF16", FALSE, 0, 0xffff, FALSE),
+ HOWTO (R_XTENSA_NDIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF32", FALSE, 0, 0xffffffff, FALSE),
};
#if DEBUG_GEN_RELOC
@@ -364,6 +378,30 @@ elf_xtensa_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
TRACE ("BFD_RELOC_XTENSA_DIFF32");
return &elf_howto_table[(unsigned) R_XTENSA_DIFF32 ];
+ case BFD_RELOC_XTENSA_PDIFF8:
+ TRACE ("BFD_RELOC_XTENSA_PDIFF8");
+ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF8 ];
+
+ case BFD_RELOC_XTENSA_PDIFF16:
+ TRACE ("BFD_RELOC_XTENSA_PDIFF16");
+ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF16 ];
+
+ case BFD_RELOC_XTENSA_PDIFF32:
+ TRACE ("BFD_RELOC_XTENSA_PDIFF32");
+ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF32 ];
+
+ case BFD_RELOC_XTENSA_NDIFF8:
+ TRACE ("BFD_RELOC_XTENSA_NDIFF8");
+ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF8 ];
+
+ case BFD_RELOC_XTENSA_NDIFF16:
+ TRACE ("BFD_RELOC_XTENSA_NDIFF16");
+ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF16 ];
+
+ case BFD_RELOC_XTENSA_NDIFF32:
+ TRACE ("BFD_RELOC_XTENSA_NDIFF32");
+ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF32 ];
+
case BFD_RELOC_XTENSA_RTLD:
TRACE ("BFD_RELOC_XTENSA_RTLD");
return &elf_howto_table[(unsigned) R_XTENSA_RTLD ];
@@ -1851,6 +1889,12 @@ elf_xtensa_do_reloc (reloc_howto_type *howto,
case R_XTENSA_DIFF8:
case R_XTENSA_DIFF16:
case R_XTENSA_DIFF32:
+ case R_XTENSA_PDIFF8:
+ case R_XTENSA_PDIFF16:
+ case R_XTENSA_PDIFF32:
+ case R_XTENSA_NDIFF8:
+ case R_XTENSA_NDIFF16:
+ case R_XTENSA_NDIFF32:
case R_XTENSA_TLS_FUNC:
case R_XTENSA_TLS_ARG:
case R_XTENSA_TLS_CALL:
@@ -9604,7 +9648,13 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
if (r_type == R_XTENSA_DIFF8
|| r_type == R_XTENSA_DIFF16
- || r_type == R_XTENSA_DIFF32)
+ || r_type == R_XTENSA_DIFF32
+ || r_type == R_XTENSA_PDIFF8
+ || r_type == R_XTENSA_PDIFF16
+ || r_type == R_XTENSA_PDIFF32
+ || r_type == R_XTENSA_NDIFF8
+ || r_type == R_XTENSA_NDIFF16
+ || r_type == R_XTENSA_NDIFF32)
{
bfd_signed_vma diff_value = 0;
bfd_vma new_end_offset, diff_mask = 0;
@@ -9631,8 +9681,27 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
diff_value =
bfd_get_signed_32 (abfd, &contents[old_source_offset]);
break;
+ case R_XTENSA_PDIFF8:
+ case R_XTENSA_NDIFF8:
+ diff_value =
+ bfd_get_8 (abfd, &contents[old_source_offset]);
+ break;
+ case R_XTENSA_PDIFF16:
+ case R_XTENSA_NDIFF16:
+ diff_value =
+ bfd_get_16 (abfd, &contents[old_source_offset]);
+ break;
+ case R_XTENSA_PDIFF32:
+ case R_XTENSA_NDIFF32:
+ diff_value =
+ bfd_get_32 (abfd, &contents[old_source_offset]);
+ break;
}
+ if (r_type >= R_XTENSA_NDIFF8
+ && r_type <= R_XTENSA_NDIFF32)
+ diff_value = -diff_value;
+
new_end_offset = offset_with_removed_text_map
(&target_relax_info->action_list,
r_rel.target_offset + diff_value);
@@ -9655,6 +9724,24 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
bfd_put_signed_32 (abfd, diff_value,
&contents[old_source_offset]);
break;
+ case R_XTENSA_PDIFF8:
+ case R_XTENSA_NDIFF8:
+ diff_mask = 0xff;
+ bfd_put_8 (abfd, diff_value,
+ &contents[old_source_offset]);
+ break;
+ case R_XTENSA_PDIFF16:
+ case R_XTENSA_NDIFF16:
+ diff_mask = 0xffff;
+ bfd_put_16 (abfd, diff_value,
+ &contents[old_source_offset]);
+ break;
+ case R_XTENSA_PDIFF32:
+ case R_XTENSA_NDIFF32:
+ diff_mask = 0xffffffff;
+ bfd_put_32 (abfd, diff_value,
+ &contents[old_source_offset]);
+ break;
}
/* Check for overflow. Sign bits must be all zeroes or all ones */
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index 3c184fcadadf..989f4bc0b595 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -2919,6 +2919,12 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_XTENSA_TLS_FUNC",
"BFD_RELOC_XTENSA_TLS_ARG",
"BFD_RELOC_XTENSA_TLS_CALL",
+ "BFD_RELOC_XTENSA_PDIFF8",
+ "BFD_RELOC_XTENSA_PDIFF16",
+ "BFD_RELOC_XTENSA_PDIFF32",
+ "BFD_RELOC_XTENSA_NDIFF8",
+ "BFD_RELOC_XTENSA_NDIFF16",
+ "BFD_RELOC_XTENSA_NDIFF32",
"BFD_RELOC_Z80_DISP8",
"BFD_RELOC_Z80_BYTE0",
"BFD_RELOC_Z80_BYTE1",
diff --git a/bfd/reloc.c b/bfd/reloc.c
index c4dec86d1d46..f5df8e2ab3eb 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -6556,6 +6556,8 @@ ENUMX
ENUMX
BFD_RELOC_XTENSA_DIFF32
ENUMDOC
+ Xtensa relocations for backward compatibility. These have been replaced
+ by BFD_RELOC_XTENSA_PDIFF and BFD_RELOC_XTENSA_NDIFF.
Xtensa relocations to mark the difference of two local symbols.
These are only needed to support linker relaxation and can be ignored
when not relaxing. The field is set to the value of the difference
@@ -6668,6 +6670,28 @@ ENUMX
BFD_RELOC_XTENSA_TLS_CALL
ENUMDOC
Xtensa TLS relocations.
+ENUM
+ BFD_RELOC_XTENSA_PDIFF8
+ENUMX
+ BFD_RELOC_XTENSA_PDIFF16
+ENUMX
+ BFD_RELOC_XTENSA_PDIFF32
+ENUMX
+ BFD_RELOC_XTENSA_NDIFF8
+ENUMX
+ BFD_RELOC_XTENSA_NDIFF16
+ENUMX
+ BFD_RELOC_XTENSA_NDIFF32
+ENUMDOC
+ Xtensa relocations to mark the difference of two local symbols.
+ These are only needed to support linker relaxation and can be ignored
+ when not relaxing. The field is set to the value of the difference
+ assuming no relaxation. The relocation encodes the position of the
+ subtracted symbol so the linker can determine whether to adjust the field
+ value. PDIFF relocations are used for positive differences, NDIFF
+ relocations are used for negative differences. The difference value
+ is treated as unsigned with these relocation types, giving full
+ 8/16 value ranges.
ENUM
BFD_RELOC_Z80_DISP8
diff --git a/binutils/readelf.c b/binutils/readelf.c
index d4756c93b345..800918f901c8 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -13262,7 +13262,13 @@ is_none_reloc (Filedata * filedata, unsigned int reloc_type)
return (reloc_type == 0 /* R_XTENSA_NONE. */
|| reloc_type == 17 /* R_XTENSA_DIFF8. */
|| reloc_type == 18 /* R_XTENSA_DIFF16. */
- || reloc_type == 19 /* R_XTENSA_DIFF32. */);
+ || reloc_type == 19 /* R_XTENSA_DIFF32. */
+ || reloc_type == 57 /* R_XTENSA_PDIFF8. */
+ || reloc_type == 58 /* R_XTENSA_PDIFF16. */
+ || reloc_type == 59 /* R_XTENSA_PDIFF32. */
+ || reloc_type == 60 /* R_XTENSA_NDIFF8. */
+ || reloc_type == 61 /* R_XTENSA_NDIFF16. */
+ || reloc_type == 62 /* R_XTENSA_NDIFF32. */);
}
return FALSE;
}
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index 71d4d94a8d7d..ee75c13548ff 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -5974,18 +5974,24 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
case BFD_RELOC_8:
if (fixP->fx_subsy)
{
+ bfd_boolean neg = S_GET_VALUE (fixP->fx_addsy) + fixP->fx_offset
+ < S_GET_VALUE (fixP->fx_subsy);
+
switch (fixP->fx_r_type)
{
case BFD_RELOC_8:
- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8;
+ fixP->fx_r_type = neg
+ ? BFD_RELOC_XTENSA_NDIFF8 : BFD_RELOC_XTENSA_PDIFF8;
fixP->fx_signed = 0;
break;
case BFD_RELOC_16:
- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16;
+ fixP->fx_r_type = neg
+ ? BFD_RELOC_XTENSA_NDIFF16 : BFD_RELOC_XTENSA_PDIFF16;
fixP->fx_signed = 0;
break;
case BFD_RELOC_32:
- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32;
+ fixP->fx_r_type = neg
+ ? BFD_RELOC_XTENSA_NDIFF32 : BFD_RELOC_XTENSA_PDIFF32;
fixP->fx_signed = 0;
break;
default:
diff --git a/gas/testsuite/gas/xtensa/loc.d b/gas/testsuite/gas/xtensa/loc.d
index 71983cc90055..8fb3425999d5 100644
--- a/gas/testsuite/gas/xtensa/loc.d
+++ b/gas/testsuite/gas/xtensa/loc.d
@@ -6,5 +6,5 @@
RELOCATION RECORDS FOR \[\.debug_line\]:
#...
-.*R_XTENSA_DIFF16.*\.text\+0x00009c42
+.*R_XTENSA_PDIFF16.*\.text\+0x00009c42
#...
diff --git a/include/elf/xtensa.h b/include/elf/xtensa.h
index 2eb5e4e52941..bd5c80d13777 100644
--- a/include/elf/xtensa.h
+++ b/include/elf/xtensa.h
@@ -87,6 +87,12 @@ START_RELOC_NUMBERS (elf_xtensa_reloc_type)
RELOC_NUMBER (R_XTENSA_TLS_FUNC, 54)
RELOC_NUMBER (R_XTENSA_TLS_ARG, 55)
RELOC_NUMBER (R_XTENSA_TLS_CALL, 56)
+ RELOC_NUMBER (R_XTENSA_PDIFF8, 57)
+ RELOC_NUMBER (R_XTENSA_PDIFF16, 58)
+ RELOC_NUMBER (R_XTENSA_PDIFF32, 59)
+ RELOC_NUMBER (R_XTENSA_NDIFF8, 60)
+ RELOC_NUMBER (R_XTENSA_NDIFF16, 61)
+ RELOC_NUMBER (R_XTENSA_NDIFF32, 62)
END_RELOC_NUMBERS (R_XTENSA_max)
/* Processor-specific flags for the ELF header e_flags field. */
diff --git a/ld/testsuite/ld-xtensa/relax-loc.d b/ld/testsuite/ld-xtensa/relax-loc.d
new file mode 100644
index 000000000000..3c8d673732ff
--- /dev/null
+++ b/ld/testsuite/ld-xtensa/relax-loc.d
@@ -0,0 +1,7 @@
+#as: --text-section-literals
+#ld:
+#objdump: --dwarf=decodedline
+#...
+relax-loc.s[ ]+1[ ]+0x400054[ ]+.*
+relax-loc.s[ ]+2[ ]+0x40005c[ ]+.*
+#...
diff --git a/ld/testsuite/ld-xtensa/relax-loc.s b/ld/testsuite/ld-xtensa/relax-loc.s
new file mode 100644
index 000000000000..d768470e287a
--- /dev/null
+++ b/ld/testsuite/ld-xtensa/relax-loc.s
@@ -0,0 +1,15 @@
+ .file 1 "relax-loc.s"
+ .globl _start
+ .globl _ResetVector
+ .text
+_ResetVector:
+_start:
+ .loc 1 1
+ j 1f
+ .literal_position
+1:
+ .loc 1 2
+
+ .rep 10000
+ movi a2, 0x12345678
+ .endr
diff --git a/ld/testsuite/ld-xtensa/xtensa.exp b/ld/testsuite/ld-xtensa/xtensa.exp
index 9b2235b2151b..de39887936ad 100644
--- a/ld/testsuite/ld-xtensa/xtensa.exp
+++ b/ld/testsuite/ld-xtensa/xtensa.exp
@@ -27,6 +27,7 @@ run_dump_test "call_overflow"
run_dump_test "coalesce"
run_dump_test "diff_overflow"
run_dump_test "lcall"
+run_dump_test "relax-loc"
run_dump_test "relax-static-pie"
run_dump_test "relax-static-local-pie"
--
2.20.1

View File

@@ -0,0 +1,128 @@
From 735321812435ae278d3766a3371f55937dc776d6 Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Sat, 25 Apr 2020 00:40:25 -0700
Subject: [PATCH] xtensa: fix XTENSA_NDIFF handling for PR ld/25861
Fields marked with XTENSA_NDIFF relocations are not negated, they only
have sign bits removed. Don't negate their values when relaxation is
performed. Don't add sign bits when the value is zero. Report overflow
when the result has negative sign but all significant bits are zero.
2020-04-29 Max Filippov <jcmvbkbc@gmail.com>
bfd/
* elf32-xtensa.c (relax_section): Don't negate diff_value for
XTENSA_NDIFF relocations. Don't add sign bits whe diff_value
equals 0. Report overflow when the result has negative sign but
all significant bits are zero.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Backported from: d548f47df4d2e3d117d504a4c9977982c78a0556
---
bfd/elf32-xtensa.c | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index fded42d52a9a..4327b027911f 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -9670,37 +9670,44 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
switch (r_type)
{
case R_XTENSA_DIFF8:
+ diff_mask = 0x7f;
diff_value =
bfd_get_signed_8 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_DIFF16:
+ diff_mask = 0x7fff;
diff_value =
bfd_get_signed_16 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_DIFF32:
+ diff_mask = 0x7fffffff;
diff_value =
bfd_get_signed_32 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_PDIFF8:
case R_XTENSA_NDIFF8:
+ diff_mask = 0xff;
diff_value =
bfd_get_8 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_PDIFF16:
case R_XTENSA_NDIFF16:
+ diff_mask = 0xffff;
diff_value =
bfd_get_16 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_PDIFF32:
case R_XTENSA_NDIFF32:
+ diff_mask = 0xffffffff;
diff_value =
bfd_get_32 (abfd, &contents[old_source_offset]);
break;
}
if (r_type >= R_XTENSA_NDIFF8
- && r_type <= R_XTENSA_NDIFF32)
- diff_value = -diff_value;
+ && r_type <= R_XTENSA_NDIFF32
+ && diff_value)
+ diff_value |= ~diff_mask;
new_end_offset = offset_with_removed_text_map
(&target_relax_info->action_list,
@@ -9710,43 +9717,40 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
switch (r_type)
{
case R_XTENSA_DIFF8:
- diff_mask = 0x7f;
bfd_put_signed_8 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_DIFF16:
- diff_mask = 0x7fff;
bfd_put_signed_16 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_DIFF32:
- diff_mask = 0x7fffffff;
bfd_put_signed_32 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_PDIFF8:
case R_XTENSA_NDIFF8:
- diff_mask = 0xff;
bfd_put_8 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_PDIFF16:
case R_XTENSA_NDIFF16:
- diff_mask = 0xffff;
bfd_put_16 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_PDIFF32:
case R_XTENSA_NDIFF32:
- diff_mask = 0xffffffff;
bfd_put_32 (abfd, diff_value,
&contents[old_source_offset]);
break;
}
- /* Check for overflow. Sign bits must be all zeroes or all ones */
- if ((diff_value & ~diff_mask) != 0 &&
- (diff_value & ~diff_mask) != (-1 & ~diff_mask))
+ /* Check for overflow. Sign bits must be all zeroes or
+ all ones. When sign bits are all ones diff_value
+ may not be zero. */
+ if (((diff_value & ~diff_mask) != 0
+ && (diff_value & ~diff_mask) != ~diff_mask)
+ || (diff_value && (bfd_vma) diff_value == ~diff_mask))
{
(*link_info->callbacks->reloc_dangerous)
(link_info, _("overflow after relaxation"),
--
2.20.1

View File

@@ -0,0 +1,432 @@
From c7a1d1f656c717394937a92cb970f0f4cecce128 Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Sun, 19 Apr 2020 19:04:41 -0700
Subject: [PATCH] xtensa: fix PR ld/25861
Introduce new relaxations XTENSA_PDIFF{8,16,32} for positive differences
(subtracted symbol precedes diminished symbol) and XTENSA_NDIFF{8,16,32}
for negative differences (subtracted symbol follows diminished symbol).
Don't generate XTENSA_DIFF relocations in the assembler, generate
XTENSA_PDIFF or XTENSA_NDIFF based on relative symbol position.
Handle XTENSA_DIFF in BFD for compatibility with old object files.
Handle XTENSA_PDIFF and XTENSA_NDIFF in BFD, treating difference value
as unsigned.
2020-04-22 Max Filippov <jcmvbkbc@gmail.com>
bfd/
* bfd-in2.h: Regenerated.
* elf32-xtensa.c (elf_howto_table): New entries for
R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}.
(elf_xtensa_reloc_type_lookup, elf_xtensa_do_reloc)
(relax_section): Add cases for R_XTENSA_PDIFF{8,16,32} and
R_XTENSA_NDIFF{8,16,32}.
* libbfd.h (bfd_reloc_code_real_names): Add names for
BFD_RELOC_XTENSA_PDIFF{8,16,32} and
BFD_RELOC_XTENSA_NDIFF{8,16,32}.
* reloc.c: Add documentation for BFD_RELOC_XTENSA_PDIFF{8,16,32}
and BFD_RELOC_XTENSA_NDIFF{8,16,32}.
binutils/
* readelf.c (is_none_reloc): Recognize
BFD_RELOC_XTENSA_PDIFF{8,16,32} and
BFD_RELOC_XTENSA_NDIFF{8,16,32}.
gas/
* config/tc-xtensa.c (md_apply_fix): Replace
BFD_RELOC_XTENSA_DIFF{8,16,32} generation with
BFD_RELOC_XTENSA_PDIFF{8,16,32} and
BFD_RELOC_XTENSA_NDIFF{8,16,32} generation.
* testsuite/gas/xtensa/loc.d: Replace BFD_RELOC_XTENSA_DIFF16
with BFD_RELOC_XTENSA_PDIFF16 in the expected output.
include/
* elf/xtensa.h (elf_xtensa_reloc_type): New entries for
R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}.
ld/
* testsuite/ld-xtensa/relax-loc.d: New test definition.
* testsuite/ld-xtensa/relax-loc.s: New test source.
* testsuite/ld-xtensa/xtensa.exp (relax-loc): New test.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
Backported from: 30ce8e47fad9b057b6d7af9e1d43061126d34d20
bfd/bfd-in2.h | 20 ++++++-
bfd/elf32-xtensa.c | 89 +++++++++++++++++++++++++++++-
bfd/libbfd.h | 6 ++
bfd/reloc.c | 24 ++++++++
binutils/readelf.c | 8 ++-
gas/config/tc-xtensa.c | 12 +++-
gas/testsuite/gas/xtensa/loc.d | 2 +-
include/elf/xtensa.h | 6 ++
ld/testsuite/ld-xtensa/relax-loc.d | 7 +++
ld/testsuite/ld-xtensa/relax-loc.s | 15 +++++
ld/testsuite/ld-xtensa/xtensa.exp | 1 +
11 files changed, 183 insertions(+), 7 deletions(-)
create mode 100644 ld/testsuite/ld-xtensa/relax-loc.d
create mode 100644 ld/testsuite/ld-xtensa/relax-loc.s
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 37114607b515..be6a30f57955 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -5217,7 +5217,9 @@ to one of its own internal functions or data structures. */
PLT entries. Otherwise, this is just a generic 32-bit relocation. */
BFD_RELOC_XTENSA_PLT,
-/* Xtensa relocations to mark the difference of two local symbols.
+/* Xtensa relocations for backward compatibility. These have been replaced
+by BFD_RELOC_XTENSA_PDIFF and BFD_RELOC_XTENSA_NDIFF.
+Xtensa relocations to mark the difference of two local symbols.
These are only needed to support linker relaxation and can be ignored
when not relaxing. The field is set to the value of the difference
assuming no relaxation. The relocation encodes the position of the
@@ -5291,6 +5293,22 @@ BFD_RELOC_XTENSA_ASM_EXPAND. */
BFD_RELOC_XTENSA_TLS_ARG,
BFD_RELOC_XTENSA_TLS_CALL,
+/* Xtensa relocations to mark the difference of two local symbols.
+These are only needed to support linker relaxation and can be ignored
+when not relaxing. The field is set to the value of the difference
+assuming no relaxation. The relocation encodes the position of the
+subtracted symbol so the linker can determine whether to adjust the field
+value. PDIFF relocations are used for positive differences, NDIFF
+relocations are used for negative differences. The difference value
+is treated as unsigned with these relocation types, giving full
+8/16 value ranges. */
+ BFD_RELOC_XTENSA_PDIFF8,
+ BFD_RELOC_XTENSA_PDIFF16,
+ BFD_RELOC_XTENSA_PDIFF32,
+ BFD_RELOC_XTENSA_NDIFF8,
+ BFD_RELOC_XTENSA_NDIFF16,
+ BFD_RELOC_XTENSA_NDIFF32,
+
/* 8 bit signed offset in (ix+d) or (iy+d). */
BFD_RELOC_Z80_DISP8,
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index 473a9d76f289..fded42d52a9a 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -325,6 +325,20 @@ static reloc_howto_type elf_howto_table[] =
HOWTO (R_XTENSA_TLS_CALL, 0, 0, 0, FALSE, 0, complain_overflow_dont,
bfd_elf_xtensa_reloc, "R_XTENSA_TLS_CALL",
FALSE, 0, 0, FALSE),
+
+ HOWTO (R_XTENSA_PDIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF8", FALSE, 0, 0xff, FALSE),
+ HOWTO (R_XTENSA_PDIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF16", FALSE, 0, 0xffff, FALSE),
+ HOWTO (R_XTENSA_PDIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_PDIFF32", FALSE, 0, 0xffffffff, FALSE),
+
+ HOWTO (R_XTENSA_NDIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF8", FALSE, 0, 0xff, FALSE),
+ HOWTO (R_XTENSA_NDIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF16", FALSE, 0, 0xffff, FALSE),
+ HOWTO (R_XTENSA_NDIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
+ bfd_elf_xtensa_reloc, "R_XTENSA_NDIFF32", FALSE, 0, 0xffffffff, FALSE),
};
#if DEBUG_GEN_RELOC
@@ -364,6 +378,30 @@ elf_xtensa_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
TRACE ("BFD_RELOC_XTENSA_DIFF32");
return &elf_howto_table[(unsigned) R_XTENSA_DIFF32 ];
+ case BFD_RELOC_XTENSA_PDIFF8:
+ TRACE ("BFD_RELOC_XTENSA_PDIFF8");
+ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF8 ];
+
+ case BFD_RELOC_XTENSA_PDIFF16:
+ TRACE ("BFD_RELOC_XTENSA_PDIFF16");
+ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF16 ];
+
+ case BFD_RELOC_XTENSA_PDIFF32:
+ TRACE ("BFD_RELOC_XTENSA_PDIFF32");
+ return &elf_howto_table[(unsigned) R_XTENSA_PDIFF32 ];
+
+ case BFD_RELOC_XTENSA_NDIFF8:
+ TRACE ("BFD_RELOC_XTENSA_NDIFF8");
+ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF8 ];
+
+ case BFD_RELOC_XTENSA_NDIFF16:
+ TRACE ("BFD_RELOC_XTENSA_NDIFF16");
+ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF16 ];
+
+ case BFD_RELOC_XTENSA_NDIFF32:
+ TRACE ("BFD_RELOC_XTENSA_NDIFF32");
+ return &elf_howto_table[(unsigned) R_XTENSA_NDIFF32 ];
+
case BFD_RELOC_XTENSA_RTLD:
TRACE ("BFD_RELOC_XTENSA_RTLD");
return &elf_howto_table[(unsigned) R_XTENSA_RTLD ];
@@ -1851,6 +1889,12 @@ elf_xtensa_do_reloc (reloc_howto_type *howto,
case R_XTENSA_DIFF8:
case R_XTENSA_DIFF16:
case R_XTENSA_DIFF32:
+ case R_XTENSA_PDIFF8:
+ case R_XTENSA_PDIFF16:
+ case R_XTENSA_PDIFF32:
+ case R_XTENSA_NDIFF8:
+ case R_XTENSA_NDIFF16:
+ case R_XTENSA_NDIFF32:
case R_XTENSA_TLS_FUNC:
case R_XTENSA_TLS_ARG:
case R_XTENSA_TLS_CALL:
@@ -9604,7 +9648,13 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
if (r_type == R_XTENSA_DIFF8
|| r_type == R_XTENSA_DIFF16
- || r_type == R_XTENSA_DIFF32)
+ || r_type == R_XTENSA_DIFF32
+ || r_type == R_XTENSA_PDIFF8
+ || r_type == R_XTENSA_PDIFF16
+ || r_type == R_XTENSA_PDIFF32
+ || r_type == R_XTENSA_NDIFF8
+ || r_type == R_XTENSA_NDIFF16
+ || r_type == R_XTENSA_NDIFF32)
{
bfd_signed_vma diff_value = 0;
bfd_vma new_end_offset, diff_mask = 0;
@@ -9631,8 +9681,27 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
diff_value =
bfd_get_signed_32 (abfd, &contents[old_source_offset]);
break;
+ case R_XTENSA_PDIFF8:
+ case R_XTENSA_NDIFF8:
+ diff_value =
+ bfd_get_8 (abfd, &contents[old_source_offset]);
+ break;
+ case R_XTENSA_PDIFF16:
+ case R_XTENSA_NDIFF16:
+ diff_value =
+ bfd_get_16 (abfd, &contents[old_source_offset]);
+ break;
+ case R_XTENSA_PDIFF32:
+ case R_XTENSA_NDIFF32:
+ diff_value =
+ bfd_get_32 (abfd, &contents[old_source_offset]);
+ break;
}
+ if (r_type >= R_XTENSA_NDIFF8
+ && r_type <= R_XTENSA_NDIFF32)
+ diff_value = -diff_value;
+
new_end_offset = offset_with_removed_text_map
(&target_relax_info->action_list,
r_rel.target_offset + diff_value);
@@ -9655,6 +9724,24 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
bfd_put_signed_32 (abfd, diff_value,
&contents[old_source_offset]);
break;
+ case R_XTENSA_PDIFF8:
+ case R_XTENSA_NDIFF8:
+ diff_mask = 0xff;
+ bfd_put_8 (abfd, diff_value,
+ &contents[old_source_offset]);
+ break;
+ case R_XTENSA_PDIFF16:
+ case R_XTENSA_NDIFF16:
+ diff_mask = 0xffff;
+ bfd_put_16 (abfd, diff_value,
+ &contents[old_source_offset]);
+ break;
+ case R_XTENSA_PDIFF32:
+ case R_XTENSA_NDIFF32:
+ diff_mask = 0xffffffff;
+ bfd_put_32 (abfd, diff_value,
+ &contents[old_source_offset]);
+ break;
}
/* Check for overflow. Sign bits must be all zeroes or all ones */
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index 3c184fcadadf..989f4bc0b595 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -2919,6 +2919,12 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_XTENSA_TLS_FUNC",
"BFD_RELOC_XTENSA_TLS_ARG",
"BFD_RELOC_XTENSA_TLS_CALL",
+ "BFD_RELOC_XTENSA_PDIFF8",
+ "BFD_RELOC_XTENSA_PDIFF16",
+ "BFD_RELOC_XTENSA_PDIFF32",
+ "BFD_RELOC_XTENSA_NDIFF8",
+ "BFD_RELOC_XTENSA_NDIFF16",
+ "BFD_RELOC_XTENSA_NDIFF32",
"BFD_RELOC_Z80_DISP8",
"BFD_RELOC_Z80_BYTE0",
"BFD_RELOC_Z80_BYTE1",
diff --git a/bfd/reloc.c b/bfd/reloc.c
index c4dec86d1d46..f5df8e2ab3eb 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -6556,6 +6556,8 @@ ENUMX
ENUMX
BFD_RELOC_XTENSA_DIFF32
ENUMDOC
+ Xtensa relocations for backward compatibility. These have been replaced
+ by BFD_RELOC_XTENSA_PDIFF and BFD_RELOC_XTENSA_NDIFF.
Xtensa relocations to mark the difference of two local symbols.
These are only needed to support linker relaxation and can be ignored
when not relaxing. The field is set to the value of the difference
@@ -6668,6 +6670,28 @@ ENUMX
BFD_RELOC_XTENSA_TLS_CALL
ENUMDOC
Xtensa TLS relocations.
+ENUM
+ BFD_RELOC_XTENSA_PDIFF8
+ENUMX
+ BFD_RELOC_XTENSA_PDIFF16
+ENUMX
+ BFD_RELOC_XTENSA_PDIFF32
+ENUMX
+ BFD_RELOC_XTENSA_NDIFF8
+ENUMX
+ BFD_RELOC_XTENSA_NDIFF16
+ENUMX
+ BFD_RELOC_XTENSA_NDIFF32
+ENUMDOC
+ Xtensa relocations to mark the difference of two local symbols.
+ These are only needed to support linker relaxation and can be ignored
+ when not relaxing. The field is set to the value of the difference
+ assuming no relaxation. The relocation encodes the position of the
+ subtracted symbol so the linker can determine whether to adjust the field
+ value. PDIFF relocations are used for positive differences, NDIFF
+ relocations are used for negative differences. The difference value
+ is treated as unsigned with these relocation types, giving full
+ 8/16 value ranges.
ENUM
BFD_RELOC_Z80_DISP8
diff --git a/binutils/readelf.c b/binutils/readelf.c
index d4756c93b345..800918f901c8 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -13262,7 +13262,13 @@ is_none_reloc (Filedata * filedata, unsigned int reloc_type)
return (reloc_type == 0 /* R_XTENSA_NONE. */
|| reloc_type == 17 /* R_XTENSA_DIFF8. */
|| reloc_type == 18 /* R_XTENSA_DIFF16. */
- || reloc_type == 19 /* R_XTENSA_DIFF32. */);
+ || reloc_type == 19 /* R_XTENSA_DIFF32. */
+ || reloc_type == 57 /* R_XTENSA_PDIFF8. */
+ || reloc_type == 58 /* R_XTENSA_PDIFF16. */
+ || reloc_type == 59 /* R_XTENSA_PDIFF32. */
+ || reloc_type == 60 /* R_XTENSA_NDIFF8. */
+ || reloc_type == 61 /* R_XTENSA_NDIFF16. */
+ || reloc_type == 62 /* R_XTENSA_NDIFF32. */);
}
return FALSE;
}
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index 71d4d94a8d7d..ee75c13548ff 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -5974,18 +5974,24 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
case BFD_RELOC_8:
if (fixP->fx_subsy)
{
+ bfd_boolean neg = S_GET_VALUE (fixP->fx_addsy) + fixP->fx_offset
+ < S_GET_VALUE (fixP->fx_subsy);
+
switch (fixP->fx_r_type)
{
case BFD_RELOC_8:
- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8;
+ fixP->fx_r_type = neg
+ ? BFD_RELOC_XTENSA_NDIFF8 : BFD_RELOC_XTENSA_PDIFF8;
fixP->fx_signed = 0;
break;
case BFD_RELOC_16:
- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16;
+ fixP->fx_r_type = neg
+ ? BFD_RELOC_XTENSA_NDIFF16 : BFD_RELOC_XTENSA_PDIFF16;
fixP->fx_signed = 0;
break;
case BFD_RELOC_32:
- fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32;
+ fixP->fx_r_type = neg
+ ? BFD_RELOC_XTENSA_NDIFF32 : BFD_RELOC_XTENSA_PDIFF32;
fixP->fx_signed = 0;
break;
default:
diff --git a/gas/testsuite/gas/xtensa/loc.d b/gas/testsuite/gas/xtensa/loc.d
index 71983cc90055..8fb3425999d5 100644
--- a/gas/testsuite/gas/xtensa/loc.d
+++ b/gas/testsuite/gas/xtensa/loc.d
@@ -6,5 +6,5 @@
RELOCATION RECORDS FOR \[\.debug_line\]:
#...
-.*R_XTENSA_DIFF16.*\.text\+0x00009c42
+.*R_XTENSA_PDIFF16.*\.text\+0x00009c42
#...
diff --git a/include/elf/xtensa.h b/include/elf/xtensa.h
index 2eb5e4e52941..bd5c80d13777 100644
--- a/include/elf/xtensa.h
+++ b/include/elf/xtensa.h
@@ -87,6 +87,12 @@ START_RELOC_NUMBERS (elf_xtensa_reloc_type)
RELOC_NUMBER (R_XTENSA_TLS_FUNC, 54)
RELOC_NUMBER (R_XTENSA_TLS_ARG, 55)
RELOC_NUMBER (R_XTENSA_TLS_CALL, 56)
+ RELOC_NUMBER (R_XTENSA_PDIFF8, 57)
+ RELOC_NUMBER (R_XTENSA_PDIFF16, 58)
+ RELOC_NUMBER (R_XTENSA_PDIFF32, 59)
+ RELOC_NUMBER (R_XTENSA_NDIFF8, 60)
+ RELOC_NUMBER (R_XTENSA_NDIFF16, 61)
+ RELOC_NUMBER (R_XTENSA_NDIFF32, 62)
END_RELOC_NUMBERS (R_XTENSA_max)
/* Processor-specific flags for the ELF header e_flags field. */
diff --git a/ld/testsuite/ld-xtensa/relax-loc.d b/ld/testsuite/ld-xtensa/relax-loc.d
new file mode 100644
index 000000000000..3c8d673732ff
--- /dev/null
+++ b/ld/testsuite/ld-xtensa/relax-loc.d
@@ -0,0 +1,7 @@
+#as: --text-section-literals
+#ld:
+#objdump: --dwarf=decodedline
+#...
+relax-loc.s[ ]+1[ ]+0x400054[ ]+.*
+relax-loc.s[ ]+2[ ]+0x40005c[ ]+.*
+#...
diff --git a/ld/testsuite/ld-xtensa/relax-loc.s b/ld/testsuite/ld-xtensa/relax-loc.s
new file mode 100644
index 000000000000..d768470e287a
--- /dev/null
+++ b/ld/testsuite/ld-xtensa/relax-loc.s
@@ -0,0 +1,15 @@
+ .file 1 "relax-loc.s"
+ .globl _start
+ .globl _ResetVector
+ .text
+_ResetVector:
+_start:
+ .loc 1 1
+ j 1f
+ .literal_position
+1:
+ .loc 1 2
+
+ .rep 10000
+ movi a2, 0x12345678
+ .endr
diff --git a/ld/testsuite/ld-xtensa/xtensa.exp b/ld/testsuite/ld-xtensa/xtensa.exp
index 9b2235b2151b..de39887936ad 100644
--- a/ld/testsuite/ld-xtensa/xtensa.exp
+++ b/ld/testsuite/ld-xtensa/xtensa.exp
@@ -27,6 +27,7 @@ run_dump_test "call_overflow"
run_dump_test "coalesce"
run_dump_test "diff_overflow"
run_dump_test "lcall"
+run_dump_test "relax-loc"
run_dump_test "relax-static-pie"
run_dump_test "relax-static-local-pie"
--
2.20.1

View File

@@ -0,0 +1,128 @@
From 735321812435ae278d3766a3371f55937dc776d6 Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Sat, 25 Apr 2020 00:40:25 -0700
Subject: [PATCH] xtensa: fix XTENSA_NDIFF handling for PR ld/25861
Fields marked with XTENSA_NDIFF relocations are not negated, they only
have sign bits removed. Don't negate their values when relaxation is
performed. Don't add sign bits when the value is zero. Report overflow
when the result has negative sign but all significant bits are zero.
2020-04-29 Max Filippov <jcmvbkbc@gmail.com>
bfd/
* elf32-xtensa.c (relax_section): Don't negate diff_value for
XTENSA_NDIFF relocations. Don't add sign bits whe diff_value
equals 0. Report overflow when the result has negative sign but
all significant bits are zero.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Backported from: d548f47df4d2e3d117d504a4c9977982c78a0556
---
bfd/elf32-xtensa.c | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index fded42d52a9a..4327b027911f 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -9670,37 +9670,44 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
switch (r_type)
{
case R_XTENSA_DIFF8:
+ diff_mask = 0x7f;
diff_value =
bfd_get_signed_8 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_DIFF16:
+ diff_mask = 0x7fff;
diff_value =
bfd_get_signed_16 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_DIFF32:
+ diff_mask = 0x7fffffff;
diff_value =
bfd_get_signed_32 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_PDIFF8:
case R_XTENSA_NDIFF8:
+ diff_mask = 0xff;
diff_value =
bfd_get_8 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_PDIFF16:
case R_XTENSA_NDIFF16:
+ diff_mask = 0xffff;
diff_value =
bfd_get_16 (abfd, &contents[old_source_offset]);
break;
case R_XTENSA_PDIFF32:
case R_XTENSA_NDIFF32:
+ diff_mask = 0xffffffff;
diff_value =
bfd_get_32 (abfd, &contents[old_source_offset]);
break;
}
if (r_type >= R_XTENSA_NDIFF8
- && r_type <= R_XTENSA_NDIFF32)
- diff_value = -diff_value;
+ && r_type <= R_XTENSA_NDIFF32
+ && diff_value)
+ diff_value |= ~diff_mask;
new_end_offset = offset_with_removed_text_map
(&target_relax_info->action_list,
@@ -9710,43 +9717,40 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
switch (r_type)
{
case R_XTENSA_DIFF8:
- diff_mask = 0x7f;
bfd_put_signed_8 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_DIFF16:
- diff_mask = 0x7fff;
bfd_put_signed_16 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_DIFF32:
- diff_mask = 0x7fffffff;
bfd_put_signed_32 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_PDIFF8:
case R_XTENSA_NDIFF8:
- diff_mask = 0xff;
bfd_put_8 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_PDIFF16:
case R_XTENSA_NDIFF16:
- diff_mask = 0xffff;
bfd_put_16 (abfd, diff_value,
&contents[old_source_offset]);
break;
case R_XTENSA_PDIFF32:
case R_XTENSA_NDIFF32:
- diff_mask = 0xffffffff;
bfd_put_32 (abfd, diff_value,
&contents[old_source_offset]);
break;
}
- /* Check for overflow. Sign bits must be all zeroes or all ones */
- if ((diff_value & ~diff_mask) != 0 &&
- (diff_value & ~diff_mask) != (-1 & ~diff_mask))
+ /* Check for overflow. Sign bits must be all zeroes or
+ all ones. When sign bits are all ones diff_value
+ may not be zero. */
+ if (((diff_value & ~diff_mask) != 0
+ && (diff_value & ~diff_mask) != ~diff_mask)
+ || (diff_value && (bfd_vma) diff_value == ~diff_mask))
{
(*link_info->callbacks->reloc_dangerous)
(link_info, _("overflow after relaxation"),
--
2.20.1

View File

@@ -5,7 +5,7 @@
################################################################################
# Keep the version and patches in sync with bluez5_utils
BLUEZ5_UTILS_HEADERS_VERSION = 5.52
BLUEZ5_UTILS_HEADERS_VERSION = 5.54
BLUEZ5_UTILS_HEADERS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz
BLUEZ5_UTILS_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth
BLUEZ5_UTILS_HEADERS_DL_SUBDIR = bluez5_utils

View File

@@ -1,4 +1,4 @@
# From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc:
sha256 f7144ce2039202cfac18ccb52426efea11c98e4f6e1bb8041bcb994b8378560a bluez-5.52.tar.xz
sha256 68cdab9e63e8832b130d5979dc8c96fdb087b31278f342874d992af3e56656dc bluez-5.54.tar.xz
sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING
sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB

View File

@@ -5,7 +5,7 @@
################################################################################
# Keep the version and patches in sync with bluez5_utils-headers
BLUEZ5_UTILS_VERSION = 5.52
BLUEZ5_UTILS_VERSION = 5.54
BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz
BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth
BLUEZ5_UTILS_INSTALL_STAGING = YES

View File

@@ -15,6 +15,7 @@ BOINC_LICENSE = LGPL-3.0+
BOINC_LICENSE_FILES = COPYING COPYING.LESSER
BOINC_DEPENDENCIES = host-pkgconf libcurl openssl
BOINC_AUTORECONF = YES
BOINC_CONF_ENV = ac_cv_path__libcurl_config=$(STAGING_DIR)/usr/bin/curl-config
BOINC_CONF_OPTS = \
--disable-apps \
--disable-boinczip \

View File

@@ -1,5 +1,5 @@
# Locally computed:
sha256 e5fe7d2f74bd7029b5306b0b70587cec31f74357739295e5276b4a3718712023 bubblewrap-0.4.0.tar.xz
sha256 b9c69b9b1c61a608f34325c8e1a495229bacf6e4a07cbb0c80cf7a814d7ccc03 bubblewrap-0.4.1.tar.xz
# Hash for license files:
sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING
sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING

View File

@@ -4,7 +4,7 @@
#
################################################################################
BUBBLEWRAP_VERSION = 0.4.0
BUBBLEWRAP_VERSION = 0.4.1
BUBBLEWRAP_SITE = https://github.com/containers/bubblewrap/releases/download/v$(BUBBLEWRAP_VERSION)
BUBBLEWRAP_SOURCE = bubblewrap-$(BUBBLEWRAP_VERSION).tar.xz
BUBBLEWRAP_DEPENDENCIES = host-pkgconf libcap

View File

@@ -318,11 +318,11 @@ endef
# Add /bin/{a,hu}sh to /etc/shells otherwise some login tools like dropbear
# can reject the user connection. See man shells.
define BUSYBOX_INSTALL_ADD_TO_SHELLS
if grep -q CONFIG_ASH=y $(@D)/.config; then \
if grep -q CONFIG_ASH=y $(BUSYBOX_DIR)/.config; then \
grep -qsE '^/bin/ash$$' $(TARGET_DIR)/etc/shells \
|| echo "/bin/ash" >> $(TARGET_DIR)/etc/shells; \
fi
if grep -q CONFIG_HUSH=y $(@D)/.config; then \
if grep -q CONFIG_HUSH=y $(BUSYBOX_DIR)/.config; then \
grep -qsE '^/bin/hush$$' $(TARGET_DIR)/etc/shells \
|| echo "/bin/hush" >> $(TARGET_DIR)/etc/shells; \
fi

View File

@@ -1,17 +0,0 @@
Use XC_CHECK_BUILD_FLAGS instead of XC_CHECK_USER_FLAGS.
Otherwise it complains of CPPFLAGS in CFLAGS.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
diff -Nura c-ares-1.10.0.orig/m4/xc-cc-check.m4 c-ares-1.10.0/m4/xc-cc-check.m4
--- c-ares-1.10.0.orig/m4/xc-cc-check.m4 2013-12-26 19:40:46.354195974 -0300
+++ c-ares-1.10.0/m4/xc-cc-check.m4 2013-12-26 19:41:01.850718535 -0300
@@ -59,7 +59,7 @@
AC_DEFUN([_XC_PROG_CC], [
AC_REQUIRE([_XC_PROG_CC_PREAMBLE])dnl
- AC_REQUIRE([XC_CHECK_USER_FLAGS])dnl
+ AC_REQUIRE([XC_CHECK_BUILD_FLAGS])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AM_PROG_CC_C_O])dnl

View File

@@ -1,5 +1,5 @@
# Locally calculated after checking pgp signature
sha256 6cdb97871f2930530c97deb7cf5c8fa4be5a0b02c7cea6e7c7667672a39d6852 c-ares-1.15.0.tar.gz
sha256 d08312d0ecc3bd48eee0a4cc0d2137c9f194e0a28de2028928c0f6cae85f86ce c-ares-1.16.1.tar.gz
# Hash for license file
sha256 db4eb63fe09daebdf57d3f79b091bb5ee5070c0d761040e83264e648d307af4c LICENSE.md
sha256 db4eb63fe09daebdf57d3f79b091bb5ee5070c0d761040e83264e648d307af4c LICENSE.md

View File

@@ -4,12 +4,10 @@
#
################################################################################
C_ARES_VERSION = 1.15.0
C_ARES_VERSION = 1.16.1
C_ARES_SITE = http://c-ares.haxx.se/download
C_ARES_INSTALL_STAGING = YES
C_ARES_CONF_OPTS = --with-random=/dev/urandom
# Rebuild configure to avoid XC_CHECK_USER_CFLAGS
C_ARES_AUTORECONF = YES
C_ARES_LICENSE = MIT
C_ARES_LICENSE_FILES = LICENSE.md

View File

@@ -38,6 +38,12 @@ else
CIVETWEB_COPT += -DNO_SSL
endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
CIVETWEB_CONF_OPTS += WITH_ZLIB=1
CIVETWEB_LIBS += -lz
CIVETWEB_DEPENDENCIES += zlib
endif
ifeq ($(BR2_PACKAGE_CIVETWEB_SERVER),y)
CIVETWEB_BUILD_TARGETS += build
CIVETWEB_INSTALL_TARGETS += install

View File

@@ -0,0 +1,30 @@
From 575ef199984ae4e8510ed36f8b1ae1babdff8ea9 Mon Sep 17 00:00:00 2001
From: James Hilliard <james.hilliard1@gmail.com>
Date: Thu, 26 Mar 2020 07:48:19 -0600
Subject: [PATCH] fdo: ensure xkb_data.state is not null before calling
xkb_state_key_get_one_sym (#192)
[james.hilliard1@gmail.com: backport from upstream commit
575ef199984ae4e8510ed36f8b1ae1babdff8ea9]
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
platform/cog-platform-fdo.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/platform/cog-platform-fdo.c b/platform/cog-platform-fdo.c
index 043f91d..93ff255 100644
--- a/platform/cog-platform-fdo.c
+++ b/platform/cog-platform-fdo.c
@@ -919,6 +919,9 @@ capture_app_key_bindings (uint32_t keysym,
static void
handle_key_event (uint32_t key, uint32_t state, uint32_t time)
{
+ if (xkb_data.state == NULL)
+ return;
+
uint32_t keysym = xkb_state_key_get_one_sym (xkb_data.state, key);
uint32_t unicode = xkb_state_key_get_utf32 (xkb_data.state, key);
--
2.20.1

View File

@@ -0,0 +1,30 @@
From 817f6c9dafd5ad23722eae0a8f43ba9211f37c95 Mon Sep 17 00:00:00 2001
From: James Hilliard <james.hilliard1@gmail.com>
Date: Thu, 26 Mar 2020 07:49:05 -0600
Subject: [PATCH] fdo: ensure xkb_data.keymap is not null before calling
xkb_keymap_key_repeats (#193)
[james.hilliard1@gmail.com: backport from upstream commit
817f6c9dafd5ad23722eae0a8f43ba9211f37c95]
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
platform/cog-platform-fdo.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/platform/cog-platform-fdo.c b/platform/cog-platform-fdo.c
index 93ff255..ecc05e9 100644
--- a/platform/cog-platform-fdo.c
+++ b/platform/cog-platform-fdo.c
@@ -990,7 +990,8 @@ keyboard_on_key (void *data,
memset (&wl_data.keyboard.repeat_data,
0x00,
sizeof (wl_data.keyboard.repeat_data));
- } else if (state == WL_KEYBOARD_KEY_STATE_PRESSED
+ } else if (xkb_data.keymap != NULL
+ && state == WL_KEYBOARD_KEY_STATE_PRESSED
&& xkb_keymap_key_repeats (xkb_data.keymap, key)) {
if (wl_data.keyboard.repeat_data.event_source)
g_source_remove (wl_data.keyboard.repeat_data.event_source);
--
2.20.1

View File

@@ -218,8 +218,14 @@ endif
define COLLECTD_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install
rm -f $(TARGET_DIR)/usr/bin/collectd-nagios
endef
ifeq ($(BR2_PACKAGE_COLLECTD_POSTGRESQL),)
define COLLECTD_REMOVE_UNNEEDED_POSTGRESQL_DEFAULT_CONF
rm -f $(TARGET_DIR)/usr/share/collectd/postgresql_default.conf
endef
COLLECTD_POST_INSTALL_TARGET_HOOKS += COLLECTD_REMOVE_UNNEEDED_POSTGRESQL_DEFAULT_CONF
endif
define COLLECTD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/collectd/collectd.service \

View File

@@ -1,3 +1,8 @@
# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/c/cvs/cvs_1.12.13-12%2Bsqueeze1.dsc
sha256 b5961c2476b996e5758fa5e22b60af085adca41164cac0d8f68a1d3b49d4e4f1 cvs_1.12.13.orig.tar.gz
sha256 d52a9232d9cf36302a150d782fc7e5b6f92f8115505ae8a7dc6acfc83e809d2f cvs_1.12.13-12+squeeze1.diff.gz
sha256 b5961c2476b996e5758fa5e22b60af085adca41164cac0d8f68a1d3b49d4e4f1 cvs_1.12.13.orig.tar.gz
sha256 d52a9232d9cf36302a150d782fc7e5b6f92f8115505ae8a7dc6acfc83e809d2f cvs_1.12.13-12+squeeze1.diff.gz
# Hash for license files, locally computed
sha256 569c5b876327d899cf444b2277fe910128a38ca71d90755fe4125dd44f8ece02 COPYING
sha256 da0e282103fb508894e78db519aab255e36971ce0bc87de585e3b05014b83b1e COPYING.LIB
sha256 ee9a2fbdb626c0ac57fd8e569f357eb2e6d6c80cc6f41efa8bd126d5ea589d72 lib/glob-libc.h

View File

@@ -8,6 +8,8 @@ CVS_VERSION = 1.12.13
CVS_SOURCE = cvs_$(CVS_VERSION).orig.tar.gz
CVS_PATCH = cvs_$(CVS_VERSION)-12+squeeze1.diff.gz
CVS_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/c/cvs
CVS_LICENSE = GPL-1.0+, LGPL-2.0+, LGPL-2.1+ (glob)
CVS_LICENSE_FILES = COPYING COPYING.LIB lib/glob-libc.h
CVS_DEPENDENCIES = ncurses
CVS_CONF_ENV = cvs_cv_func_printf_ptr=yes

View File

@@ -1,3 +1,3 @@
# Locally calculated
sha256 00d06baf4793794c0fd9ecad5b7e95aed6eb942f24c8b6e2d7c7f7564b9743ad docker-cli-19.03.5.tar.gz
sha256 36dd85273c95f4755e08b37ea9660a1bf5c315570b679a0ce268750ca1ed3801 docker-cli-19.03.8.tar.gz
sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE

View File

@@ -4,7 +4,7 @@
#
################################################################################
DOCKER_CLI_VERSION = 19.03.5
DOCKER_CLI_VERSION = 19.03.8
DOCKER_CLI_SITE = $(call github,docker,cli,v$(DOCKER_CLI_VERSION))
DOCKER_CLI_WORKSPACE = gopath

View File

@@ -1,3 +1,3 @@
# Computed locally
sha256 318886ea1efdec36f088fd6a0a0fe2b2f0ebdfd0066bdb4bd284bad12abc0a41 docker-containerd-1.2.12.tar.gz
sha256 0811057ab67b78ce911416e793edaeb14b3f1e105d67b8e67b6302e0eab572e4 docker-containerd-1.2.13.tar.gz
sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE

View File

@@ -4,7 +4,7 @@
#
################################################################################
DOCKER_CONTAINERD_VERSION = 1.2.12
DOCKER_CONTAINERD_VERSION = 1.2.13
DOCKER_CONTAINERD_SITE = $(call github,containerd,containerd,v$(DOCKER_CONTAINERD_VERSION))
DOCKER_CONTAINERD_LICENSE = Apache-2.0
DOCKER_CONTAINERD_LICENSE_FILES = LICENSE

View File

@@ -1,3 +1,3 @@
# Locally calculated
sha256 bc5d1ac503e44593be8003ed0ad9c75bf0da535db19837a9338429c438bd4637 docker-engine-19.03.5.tar.gz
sha256 13ec45ad45091111bd566aca9d81989b3f05e0625dab68d33c3ad81ff924172f docker-engine-19.03.8.tar.gz
sha256 7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8 LICENSE

View File

@@ -4,7 +4,7 @@
#
################################################################################
DOCKER_ENGINE_VERSION = 19.03.5
DOCKER_ENGINE_VERSION = 19.03.8
DOCKER_ENGINE_SITE = $(call github,docker,engine,v$(DOCKER_ENGINE_VERSION))
DOCKER_ENGINE_LICENSE = Apache-2.0

View File

@@ -33,6 +33,9 @@ DOMOTICZ_CONF_OPTS += \
ifeq ($(BR2_PACKAGE_LIBUSB),y)
DOMOTICZ_DEPENDENCIES += libusb
DOMOTICZ_CONF_OPTS += -DWITH_LIBUSB=ON
else
DOMOTICZ_CONF_OPTS += -DWITH_LIBUSB=OFF
endif
ifeq ($(BR2_PACKAGE_OPENZWAVE),y)

View File

@@ -1,5 +1,5 @@
# https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.45.5/sha256sums.asc
sha256 f9faccc0d90f73556e797dc7cc5979b582bd50d3f8609c0f2ad48c736d44aede e2fsprogs-1.45.5.tar.xz
# https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.45.6/sha256sums.asc
sha256 ffa7ae6954395abdc50d0f8605d8be84736465afc53b8938ef473fcf7ff44256 e2fsprogs-1.45.6.tar.xz
# Locally calculated
sha256 5da5ef153e559c1d990d4c3eedbedd4442db892d37eae1f35fff069de8ec9020 NOTICE
sha256 032989b508f1a72ebee5b3417e55d06d473f9ee203e45ab11864a7e49cdec63d lib/ss/mit-sipb-copyright.h

View File

@@ -4,7 +4,7 @@
#
################################################################################
E2FSPROGS_VERSION = 1.45.5
E2FSPROGS_VERSION = 1.45.6
E2FSPROGS_SOURCE = e2fsprogs-$(E2FSPROGS_VERSION).tar.xz
E2FSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/tytso/e2fsprogs/v$(E2FSPROGS_VERSION)
E2FSPROGS_LICENSE = GPL-2.0, MIT-like with advertising clause (libss and libet)

View File

@@ -257,6 +257,8 @@ EFL_CONF_OPTS += --disable-image-loader-webp
endif
ifeq ($(BR2_PACKAGE_POPPLER),y)
# poppler needs c++11
EFL_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11"
EFL_DEPENDENCIES += poppler
EFL_CONF_OPTS += --enable-poppler
else

View File

@@ -6,4 +6,4 @@ config BR2_PACKAGE_EVTEST
device. It then monitors the device and displays all the
events layer events generated.
http://cgit.freedesktop.org/evtest
https://gitlab.freedesktop.org/libevdev/evtest

View File

@@ -1,5 +1,5 @@
# locally computed
sha256 73d5b604d57551418d282fedee3deae9f851afb3c355dccc87153364c046efd3 evtest-1.34.tar.gz
sha256 0e7a2eeff380af796e5e9b21b6f48fd706c58c931162c151c2c1074bdfeb85c6 evtest-evtest-1.34.tar.gz
# License files
sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING

View File

@@ -5,7 +5,8 @@
################################################################################
EVTEST_VERSION = 1.34
EVTEST_SITE = http://cgit.freedesktop.org/evtest/snapshot
EVTEST_SOURCE = evtest-evtest-$(EVTEST_VERSION).tar.gz
EVTEST_SITE = https://gitlab.freedesktop.org/libevdev/evtest/-/archive/evtest-$(EVTEST_VERSION)
EVTEST_LICENSE = GPL-2.0+
EVTEST_LICENSE_FILES = COPYING
EVTEST_DEPENDENCIES = host-pkgconf

View File

@@ -0,0 +1,84 @@
From 19f6e36d3473ddba1a211e7af9352a10febb7270 Mon Sep 17 00:00:00 2001
From: Luca Ceresoli <luca@lucaceresoli.net>
Date: Fri, 1 May 2020 16:27:48 +0200
Subject: [PATCH] Makefile-Base: fix version.{h,sh} generation with parallel
build
When using parallel make (make -j<N>) the build sometimes fails either
during 'make' or during 'make install'.
Error messages look either like:
make[1]: Entering directory '/home/buildroot/autobuild/instance-2/output-1/build/exim-4.93.0.4'
/bin/sh scripts/source_checks
`Makefile' is up to date.
make[2]: Entering directory '/home/buildroot/autobuild/instance-2/output-1/build/exim-4.93.0.4/build-br'
/bin/sh ../scripts/Configure-os.c
../scripts/reversion: Your copy of Exim lacks any version information.
Makefile:785: recipe for target 'version.sh' failed
or like:
DESTDIR=/home/buildroot/autobuild/instance-2/output-1/target INSTALL_ARG="-no_chown -no_symlink" build=br /usr/bin/make -j4 -C /home/buildroot/autobuild/instance-2/output-1/build/exim-4.93.0.4 CFLAGS="-std=c99 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os " install
make[1]: Entering directory '/home/buildroot/autobuild/instance-2/output-1/build/exim-4.93.0.4'
/bin/sh scripts/source_checks
`Makefile' is up to date.
make[2]: Entering directory '/home/buildroot/autobuild/instance-2/output-1/build/exim-4.93.0.4/build-br'
/home/buildroot/autobuild/instance-2/output-1/host/bin/i586-linux-gcc version.c
version.c: In function 'version_init':
version.c:32:1: error: expected expression before ';' token
;
^
This is due to the rule:
version.h version.sh::
@../scripts/reversion
that executes reversion twice, once to satisfy the version.h target and
once for version.sh. This is unnecessary because reversion generates both
files anyway, but harmless without parallel build. When using parallel make
however reversion is sporadically run in a time sequence such that the
generated files are being used by other rules while they are being
rewritten by the second reversion instance.
Fix by making only one of the two targets run reversion, and the other one
depend on it.
Fixes builds found by the Buildroot autobuilders:
http://autobuild.buildroot.net/results/ebf/ebfccad007e216564889645a07f5487747116331//
http://autobuild.buildroot.net/results/56a/56a8457efcb32579ad6da99a769b6438dd0db267//
http://autobuild.buildroot.net/results/6a1/6a1f8a352649baf767b094cb6bbe2a7397fa7fac//
http://autobuild.buildroot.net/results/5ed/5ed1c42b3d33198f32d1267e5cc2b1fa1211495a//
http://autobuild.buildroot.net/results/b30/b304569948fd481ce33ecd052a1036153c5d459e//
http://autobuild.buildroot.net/results/d2c/d2c7abfe08672e53ff890127f787f8d2e84860f4//
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Upstream-status: patch submitted (https://bugs.exim.org/show_bug.cgi?id=2566)
---
OS/Makefile-Base | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/OS/Makefile-Base b/OS/Makefile-Base
index b66678bee4de..4966c25b5359 100644
--- a/OS/Makefile-Base
+++ b/OS/Makefile-Base
@@ -664,9 +664,11 @@ PHDRS = ../config.h \
# Update Exim's version information and build the version object.
-version.h version.sh::
+version.sh::
@../scripts/reversion
+version.h: version.sh
+
cnumber.h: version.h
version.o: $(HDRS) cnumber.h version.h version.c
--
2.26.2

View File

@@ -3,11 +3,19 @@
# Start/stop exim
#
PIDFILE=/var/lock/exim/exim-daemon.pid
PIDFILE=/var/run/exim/exim.pid
case "$1" in
start)
echo "Starting exim..."
if [ ! -d /var/log/exim ]; then
mkdir -p /var/log/exim
chown exim:mail /var/log/exim
fi
if [ ! -d /var/run/exim ]; then
mkdir -p /var/run/exim
chown root:mail /var/run/exim
fi
start-stop-daemon -S -x exim -- -bd
;;
stop)

View File

@@ -39,6 +39,8 @@ define EXIM_USE_DEFAULT_CONFIG_FILE
$(INSTALL) -m 0644 $(@D)/src/EDITME $(@D)/Local/Makefile
$(call exim-config-change,BIN_DIRECTORY,/usr/sbin)
$(call exim-config-change,CONFIGURE_FILE,/etc/exim/configure)
$(call exim-config-change,LOG_FILE_PATH,/var/log/exim/exim_%slog)
$(call exim-config-change,PID_FILE_PATH,/var/run/exim/exim.pid)
$(call exim-config-change,EXIM_USER,ref:exim)
$(call exim-config-change,EXIM_GROUP,mail)
$(call exim-config-change,TRANSPORT_LMTP,yes)
@@ -118,16 +120,14 @@ endif
# We need the host version of macro_predef during the build, before
# building it we need to prepare the makefile.
# "The -j (parallel) flag must not be used with make"
# (http://www.exim.org/exim-html-current/doc/html/spec_html/ch04.html)
define EXIM_BUILD_CMDS
$(TARGET_MAKE_ENV) build=br $(MAKE1) -C $(@D) makefile
$(HOST_MAKE_ENV) $(MAKE1) -C $(@D)/build-br macro_predef \
$(TARGET_MAKE_ENV) build=br $(MAKE) -C $(@D) makefile
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/build-br macro_predef \
CC=$(HOSTCC) \
LNCC=$(HOSTCC) \
CFLAGS="-std=c99 $(HOST_CFLAGS)" \
LFLAGS="-fPIC $(HOST_LDFLAGS)"
$(TARGET_MAKE_ENV) build=br $(MAKE1) -C $(@D) $(EXIM_STATIC_FLAGS) \
$(TARGET_MAKE_ENV) build=br $(MAKE) -C $(@D) $(EXIM_STATIC_FLAGS) \
CFLAGS="-std=c99 $(TARGET_CFLAGS)"
endef
@@ -135,7 +135,7 @@ endef
# something when installing...
define EXIM_INSTALL_TARGET_CMDS
DESTDIR=$(TARGET_DIR) INSTALL_ARG="-no_chown -no_symlink" build=br \
$(MAKE1) -C $(@D) $(EXIM_STATIC_FLAGS) \
$(MAKE) -C $(@D) $(EXIM_STATIC_FLAGS) \
CFLAGS="-std=c99 $(TARGET_CFLAGS)" \
install
chmod u+s $(TARGET_DIR)/usr/sbin/exim

View File

@@ -3,6 +3,10 @@ Description=Exim MTA
After=syslog.target network.target
[Service]
User=exim
Group=mail
LogsDirectory=exim
RuntimeDirectory=exim
ExecStart=/usr/sbin/exim -bdf
Restart=always

View File

@@ -0,0 +1,33 @@
From 1812352d767ccf5431aa440123e2e260a4db2726 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michael@niedermayer.cc>
Date: Sat, 7 Mar 2020 15:42:58 +0100
Subject: [PATCH] avcodec/cbs_jpeg: Check length for SOS
Fixes: out of array access
Fixes: 19734/clusterfuzz-testcase-minimized-ffmpeg_BSF_TRACE_HEADERS_fuzzer-5673507031875584
Fixes: 19353/clusterfuzz-testcase-minimized-ffmpeg_BSF_TRACE_HEADERS_fuzzer-5703944462663680
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Retrieved from:
https://github.com/FFmpeg/FFmpeg/commit/1812352d767ccf5431aa440123e2e260a4db2726]
---
libavcodec/cbs_jpeg.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libavcodec/cbs_jpeg.c b/libavcodec/cbs_jpeg.c
index 6bbce5f89b7..89512a26bbf 100644
--- a/libavcodec/cbs_jpeg.c
+++ b/libavcodec/cbs_jpeg.c
@@ -197,6 +197,9 @@ static int cbs_jpeg_split_fragment(CodedBitstreamContext *ctx,
if (marker == JPEG_MARKER_SOS) {
length = AV_RB16(frag->data + start);
+ if (length > end - start)
+ return AVERROR_INVALIDDATA;
+
data_ref = NULL;
data = av_malloc(end - start +
AV_INPUT_BUFFER_PADDING_SIZE);

View File

@@ -67,6 +67,13 @@ config BR2_PACKAGE_FFMPEG_FFPROBE
FFprobe is a utility to determine the audio and video
characteristics of a container file.
config BR2_PACKAGE_FFMPEG_XCBGRAB
bool "Build X11 screen grabbing"
depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_LIBXCB
help
X11 screen grabbing using libxcb.
config BR2_PACKAGE_FFMPEG_AVRESAMPLE
bool "Build libavresample"
help

View File

@@ -16,6 +16,9 @@ FFMPEG_LICENSE += and GPL-2.0+
FFMPEG_LICENSE_FILES += COPYING.GPLv2
endif
# 0001-avcodec-cbs_jpeg-Check-length-for-SOS.patch
FFMPEG_IGNORE_CVES += CVE-2020-12284
FFMPEG_CONF_OPTS = \
--prefix=/usr \
--enable-avfilter \
@@ -96,6 +99,17 @@ else
FFMPEG_CONF_OPTS += --disable-ffprobe
endif
ifeq ($(BR2_PACKAGE_FFMPEG_XCBGRAB),y)
FFMPEG_CONF_OPTS += \
--enable-libxcb \
--enable-libxcb-shape \
--enable-libxcb-shm \
--enable-libxcb-xfixes
FFMPEG_DEPENDENCIES += libxcb
else
FFMPEG_CONF_OPTS += --disable-libxcb
endif
ifeq ($(BR2_PACKAGE_FFMPEG_POSTPROC),y)
FFMPEG_CONF_OPTS += --enable-postproc
else
@@ -135,7 +149,7 @@ endif
ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),all)
FFMPEG_CONF_OPTS += --disable-bsfs \
$(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),--enable-bsfs=$(x))
$(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),--enable-bsf=$(x))
endif
ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_PROTOCOLS)),all)

View File

@@ -1,32 +0,0 @@
From 7dbb64cb62049159d9d71b9be39f469bbd116f41 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Thu, 18 Apr 2019 23:40:52 +0200
Subject: [PATCH] xf_floatbar.c: fix build without Xfixes
Remove unneeded include on Xfixes.h as it is not always available and
not used in xf_floatbar.c
Fixes:
- http://autobuild.buildroot.org/results/69245e574787bada718c52c805ec137041dc233d
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: https://github.com/FreeRDP/FreeRDP/pull/5354]
---
client/X11/xf_floatbar.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/client/X11/xf_floatbar.c b/client/X11/xf_floatbar.c
index 3643b6052..04912aa79 100644
--- a/client/X11/xf_floatbar.c
+++ b/client/X11/xf_floatbar.c
@@ -19,7 +19,6 @@
#include <X11/Xutil.h>
#include <X11/Xatom.h>
#include <X11/extensions/shape.h>
-#include <X11/extensions/Xfixes.h>
#include <X11/cursorfont.h>
#include "xf_floatbar.h"
--
2.20.1

View File

@@ -1,3 +1,5 @@
# From https://pub.freerdp.com/releases/freerdp-2.0.1.tar.gz.sha256
sha256 2c4841c6a52fb153346436447708cbae7b479a7d8112d093e95d8c98f084be1b freerdp-2.1.0.tar.gz
# Locally calculated
sha256 3406f3bfab63f81c1533029a5bf73949ff60f22f6e155c5a08005b8b8afe6d49 freerdp-2.0.0-rc4.tar.gz
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE

View File

@@ -4,8 +4,8 @@
#
################################################################################
FREERDP_VERSION = 2.0.0-rc4
FREERDP_SITE = $(call github,FreeRDP,FreeRDP,$(FREERDP_VERSION))
FREERDP_VERSION = 2.1.0
FREERDP_SITE = https://pub.freerdp.com/releases
FREERDP_DEPENDENCIES = libglib2 openssl zlib
FREERDP_LICENSE = Apache-2.0
FREERDP_LICENSE_FILES = LICENSE
@@ -42,6 +42,13 @@ else
FREERDP_CONF_OPTS += -DWITH_ALSA=OFF
endif
ifeq ($(BR2_PACKAGE_LIBUSB),y)
FREERDP_CONF_OPTS += -DCHANNEL_URBDRC=ON
FREERDP_DEPENDENCIES += libusb
else
FREERDP_CONF_OPTS += -DCHANNEL_URBDRC=OFF
endif
ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
FREERDP_CONF_OPTS += -DWITH_PULSE=ON
FREERDP_DEPENDENCIES += pulseaudio

View File

@@ -1,5 +1,5 @@
# Locally calculated
sha256 6d6d02d035d988cbdb2014794f2efe970a3f5ac277202882bbf553bb7fd789d2 imx-gpu-g2d-6.4.0.p1.0-aarch32.bin
sha256 6d6d02d035d988cbdb2014794f2efe970a3f5ac277202882bbf553bb7fd789d2 imx-gpu-g2d-6.4.0.p1.0-arm.bin
sha256 35885f435dbe951d2c0f439a376ed8a59a50b67a1b7e1e14fa2ab03995abb1ad imx-gpu-g2d-6.4.0.p1.0-aarch64.bin
sha256 d55f024af2bfff714b90de596f6d0399124b999e8c18a86b13a3b507bae6f561 COPYING
sha256 9665930f69c0b6f4a4c055d7fe2b8ee563e771efbc83892abb1955e61492cdf7 EULA

View File

@@ -7,7 +7,7 @@
ifeq ($(BR2_aarch64),y)
IMX_GPU_G2D_VERSION = 6.4.0.p1.0-aarch64
else
IMX_GPU_G2D_VERSION = 6.4.0.p1.0-aarch32
IMX_GPU_G2D_VERSION = 6.4.0.p1.0-arm
endif
IMX_GPU_G2D_SITE = $(FREESCALE_IMX_SITE)
IMX_GPU_G2D_SOURCE = imx-gpu-g2d-$(IMX_GPU_G2D_VERSION).bin

View File

@@ -1,43 +0,0 @@
From a592242578e573778241cae6d3928c064dcdfda4 Mon Sep 17 00:00:00 2001
From: jcmvbkbc <jcmvbkbc@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue, 18 Jun 2019 22:19:12 +0000
Subject: [PATCH] xtensa: fix for PR target/90922
Stack pointer adjustment code in prologue missed a case of no
callee-saved registers and a stack frame size bigger than 128 bytes.
Handle that case.
This fixes the following gcc tests with call0 ABI:
gcc.c-torture/execute/stdarg-2.c
gcc.dg/torture/pr55882.c
gcc.dg/torture/pr57569.c
gcc/
2019-06-18 Max Filippov <jcmvbkbc@gmail.com>
* config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack
pointer adjustment for the case of no callee-saved registers and
stack frame bigger than 128 bytes.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
gcc/config/xtensa/xtensa.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index 19bd616d67f6..ee5612441e25 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -2862,7 +2862,8 @@ xtensa_expand_prologue (void)
gen_rtx_SET (mem, reg));
}
}
- if (total_size > 1024)
+ if (total_size > 1024
+ || (!callee_save_size && total_size > 128))
{
rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG);
emit_move_insn (tmp_reg, GEN_INT (total_size -
--
2.11.0

View File

@@ -1,4 +1,4 @@
From 7c11710230921246156aecc20eb4b6ccaeaaa473 Mon Sep 17 00:00:00 2001
From 28623c81b50663e946790649352cb1b3ed23954d Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Tue, 24 Sep 2019 04:15:17 -0700
Subject: [PATCH] xtensa: fix PR target/91880
@@ -15,14 +15,16 @@ gcc/
block that precedes the loop is empty.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
[Romain: rebase on gcc 8.4.0]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
---
Backported from: r276166
gcc/config/xtensa/xtensa.c | 5 ++--
gcc/config/xtensa/xtensa.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index ee5612441e25..2527468d57db 100644
index 08f9f7c7a8f..de206527810 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -4232,7 +4232,9 @@ hwloop_optimize (hwloop_info loop)
@@ -45,5 +47,5 @@ index ee5612441e25..2527468d57db 100644
|| (NOTE_P (entry_after)
&& NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK))
--
2.11.0
2.24.1

View File

@@ -1,43 +0,0 @@
From a592242578e573778241cae6d3928c064dcdfda4 Mon Sep 17 00:00:00 2001
From: jcmvbkbc <jcmvbkbc@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue, 18 Jun 2019 22:19:12 +0000
Subject: [PATCH] xtensa: fix for PR target/90922
Stack pointer adjustment code in prologue missed a case of no
callee-saved registers and a stack frame size bigger than 128 bytes.
Handle that case.
This fixes the following gcc tests with call0 ABI:
gcc.c-torture/execute/stdarg-2.c
gcc.dg/torture/pr55882.c
gcc.dg/torture/pr57569.c
gcc/
2019-06-18 Max Filippov <jcmvbkbc@gmail.com>
* config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack
pointer adjustment for the case of no callee-saved registers and
stack frame bigger than 128 bytes.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
gcc/config/xtensa/xtensa.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index 19bd616d67f6..ee5612441e25 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -2865,7 +2865,8 @@ xtensa_expand_prologue (void)
gen_rtx_SET (mem, reg));
}
}
- if (total_size > 1024)
+ if (total_size > 1024
+ || (!callee_save_size && total_size > 128))
{
rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG);
emit_move_insn (tmp_reg, GEN_INT (total_size -
--
2.11.0

View File

@@ -1,4 +1,4 @@
From 7c11710230921246156aecc20eb4b6ccaeaaa473 Mon Sep 17 00:00:00 2001
From 0a59aa440a4c125b81504c777b066ae4eb1f09f0 Mon Sep 17 00:00:00 2001
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Tue, 24 Sep 2019 04:15:17 -0700
Subject: [PATCH] xtensa: fix PR target/91880
@@ -15,14 +15,15 @@ gcc/
block that precedes the loop is empty.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
Backported from: r276166
gcc/config/xtensa/xtensa.c | 5 ++--
gcc/config/xtensa/xtensa.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index ee5612441e25..2527468d57db 100644
index ee5612441e2..2527468d57d 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -4235,7 +4235,9 @@ hwloop_optimize (hwloop_info loop)
@@ -45,5 +46,5 @@ index ee5612441e25..2527468d57db 100644
|| (NOTE_P (entry_after)
&& NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK))
--
2.11.0
2.24.1

View File

@@ -1,4 +1,4 @@
From 94c7d630348671b781368d9270514dcf6c34e0c9 Mon Sep 17 00:00:00 2001
From 1383012ae409ed91903b2b76ee15137bc1f89900 Mon Sep 17 00:00:00 2001
From: shorne <shorne@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Sat, 31 Aug 2019 06:00:56 +0000
Subject: [PATCH] or1k: Fix issue with set_got clobbering LR (r9)
@@ -101,5 +101,5 @@ index 2dad51cd46b..88f3f02630f 100644
(clobber (reg:SI LR_REGNUM))]
""
--
2.23.0
2.24.1

View File

@@ -0,0 +1,31 @@
From 2aefc4ee703ce3ff70ad25915005cacfbaae0c49 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Fri, 27 Mar 2020 21:23:53 +0100
Subject: [PATCH] gcc: define _REENTRANT for OpenRISC when -pthread is passed
The detection of pthread support fails on OpenRISC unless _REENTRANT
is defined. Added the CPP_SPEC definition to correct this.
Patch sent upstream: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94372
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
gcc/config/or1k/linux.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gcc/config/or1k/linux.h b/gcc/config/or1k/linux.h
index 4b2f7b6e1fd..b00d23ddfa0 100644
--- a/gcc/config/or1k/linux.h
+++ b/gcc/config/or1k/linux.h
@@ -32,6 +32,8 @@
#undef MUSL_DYNAMIC_LINKER
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-or1k.so.1"
+#define CPP_SPEC "%{pthread:-D_REENTRANT}"
+
#undef LINK_SPEC
#define LINK_SPEC "%{h*} \
%{static:-Bstatic} \
--
2.21.0

View File

@@ -58,8 +58,9 @@ config BR2_GCC_VERSION_9_X
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
depends on !BR2_powerpc_SPE
# C-SKY sk610 needs abiv1, which is not supported in
# upstream gcc
depends on !BR2_ck610
# upstream gcc. C-SKY gcc upstream support not tested
# with upstream binutils and glibc.
depends on !BR2_csky
select BR2_TOOLCHAIN_GCC_AT_LEAST_9
endchoice
@@ -86,8 +87,8 @@ config BR2_GCC_VERSION
string
default "5.5.0" if BR2_GCC_VERSION_5_X
default "7.5.0" if BR2_GCC_VERSION_7_X
default "8.3.0" if BR2_GCC_VERSION_8_X
default "9.2.0" if BR2_GCC_VERSION_9_X
default "8.4.0" if BR2_GCC_VERSION_8_X
default "9.3.0" if BR2_GCC_VERSION_9_X
default "arc-2019.09-release" if BR2_GCC_VERSION_ARC
default "48152afb96c59733d5bc79e3399bb7b3d4b44266" if BR2_GCC_VERSION_CSKY

View File

@@ -2,10 +2,10 @@
sha512 670ff52c2ae12c7852c12987e91798c5aa8bd6daf21f0d6e0cd57a4aa59cc4f06a837fe76426eaa1424cfddca937bed377680700eadc04d76b9180d462364fa1 gcc-5.5.0.tar.xz
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.5.0/sha512.sum
sha512 fe716cc19f2e3255d3a8b1b8290777bf769c6d98e6e0b07b81a3d6ad43f8af74cb170dfa18b1555dbfcd3f55ae582b91a286ccef496b9b65c1579902f96a1f60 gcc-7.5.0.tar.xz
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-8.3.0/sha512.sum
sha512 1811337ae3add9680cec64968a2509d085b6dc5b6783fc1e8c295e3e47416196fd1a3ad8dfe7e10be2276b4f62c357659ce2902f239f60a8648548231b4b5802 gcc-8.3.0.tar.xz
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-9.2.0/sha512.sum
sha512 a12dff52af876aee0fd89a8d09cdc455f35ec46845e154023202392adc164848faf8ee881b59b681b696e27c69fd143a214014db4214db62f9891a1c8365c040 gcc-9.2.0.tar.xz
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-8.4.0/sha512.sum
sha512 6de904f552a02de33b11ef52312bb664396efd7e1ce3bbe37bfad5ef617f133095b3767b4804bc7fe78df335cb53bc83f1ac055baed40979ce4c2c3e46b70280 gcc-8.4.0.tar.xz
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-9.3.0/sha512.sum
sha512 4b9e3639eef6e623747a22c37a904b4750c93b6da77cf3958d5047e9b5ebddb7eebe091cc16ca0a227c0ecbd2bf3b984b221130f269a97ee4cc18f9cf6c444de gcc-9.3.0.tar.xz
# Locally calculated (fetched from Github)
sha512 84648d13f174102733e06ccdf7b351150babe06af0f2b99b8dfb2b2d3c3f13e424547349939806fe19932ad347977cad79cd8b37be9cbb03e6a4d03cdf95a72e gcc-arc-2019.09-release.tar.gz

View File

@@ -13,7 +13,7 @@ GCC_VERSION = $(call qstrip,$(BR2_GCC_VERSION))
ifeq ($(BR2_GCC_VERSION_ARC),y)
GCC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,gcc,$(GCC_VERSION))
GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz
else ifeq ($(BR2_csky),y)
else ifeq ($(BR2_GCC_VERSION_CSKY),y)
GCC_SITE = $(call github,c-sky,gcc,$(GCC_VERSION))
GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz
else
@@ -100,6 +100,11 @@ HOST_GCC_COMMON_CONF_ENV = \
GCC_COMMON_TARGET_CFLAGS = $(TARGET_CFLAGS)
GCC_COMMON_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS)
# used to fix ../../../../libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: error: 'st.st_mode' may be used uninitialized in this function [-Werror=maybe-uninitialized]
ifeq ($(BR2_ENABLE_DEBUG),y)
GCC_COMMON_TARGET_CFLAGS += -Wno-error
endif
# Propagate options used for target software building to GCC target libs
HOST_GCC_COMMON_CONF_ENV += CFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CFLAGS)"
HOST_GCC_COMMON_CONF_ENV += CXXFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CXXFLAGS)"

View File

@@ -1,15 +0,0 @@
Index: b/contrib/regression/objs-gcc.sh
===================================================================
--- a/contrib/regression/objs-gcc.sh
+++ b/contrib/regression/objs-gcc.sh
@@ -106,6 +106,10 @@
then
make all-gdb all-dejagnu all-ld || exit 1
make install-gdb install-dejagnu install-ld || exit 1
+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
+ then
+ make all-gdb all-dejagnu all-ld || exit 1
+ make install-gdb install-dejagnu install-ld || exit 1
elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
make bootstrap || exit 1
make install || exit 1

View File

@@ -1,13 +0,0 @@
Index: b/boehm-gc/include/gc.h
===================================================================
--- a/boehm-gc/include/gc.h
+++ b/boehm-gc/include/gc.h
@@ -503,7 +503,7 @@
#if defined(__linux__) || defined(__GLIBC__)
# include <features.h>
# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
- && !defined(__ia64__)
+ && !defined(__ia64__) && !defined(__UCLIBC__)
# ifndef GC_HAVE_BUILTIN_BACKTRACE
# define GC_HAVE_BUILTIN_BACKTRACE
# endif

View File

@@ -1,273 +0,0 @@
Allow C99-depending features of libstdc++ with uClibc
The libstdc++ code is fairly restrictive on how it checks for C99
compatibility: it requires *complete* C99 support to enable certain
features. For example, uClibc provides a good number of C99 features,
but not C99 complex number support. For this reason, libstdc++
completely disables many the standard C++ methods that can in fact
work because uClibc provides the necessary functions.
This patch is similar and highly inspired from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, but implemented in
a way that doesn't involve changing the configure.ac script, as
autoreconfiguring gcc is complicated. It simply relies on the fact
that uClibc defines the __UCLIBC__ definition.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/libstdc++-v3/config/locale/generic/c_locale.h
===================================================================
--- a/libstdc++-v3/config/locale/generic/c_locale.h
+++ b/libstdc++-v3/config/locale/generic/c_locale.h
@@ -70,7 +70,7 @@
__builtin_va_list __args;
__builtin_va_start(__args, __fmt);
-#ifdef _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
#else
const int __ret = __builtin_vsprintf(__out, __fmt, __args);
Index: b/libstdc++-v3/config/locale/gnu/c_locale.h
===================================================================
--- a/libstdc++-v3/config/locale/gnu/c_locale.h
+++ b/libstdc++-v3/config/locale/gnu/c_locale.h
@@ -88,7 +88,7 @@
__builtin_va_list __args;
__builtin_va_start(__args, __fmt);
-#ifdef _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
#else
const int __ret = __builtin_vsprintf(__out, __fmt, __args);
Index: b/libstdc++-v3/include/bits/basic_string.h
===================================================================
--- a/libstdc++-v3/include/bits/basic_string.h
+++ b/libstdc++-v3/include/bits/basic_string.h
@@ -5239,7 +5239,7 @@
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99)
+#if __cplusplus >= 201103L && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__))
#include <ext/string_conversions.h>
Index: b/libstdc++-v3/include/bits/locale_facets.tcc
===================================================================
--- a/libstdc++-v3/include/bits/locale_facets.tcc
+++ b/libstdc++-v3/include/bits/locale_facets.tcc
@@ -992,7 +992,7 @@
char __fbuf[16];
__num_base::_S_format_float(__io, __fbuf, __mod);
-#ifdef _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
// Precision is always used except for hexfloat format.
const bool __use_prec =
(__io.flags() & ios_base::floatfield) != ios_base::floatfield;
Index: b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
===================================================================
--- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc
+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
@@ -578,7 +578,7 @@
{
const locale __loc = __io.getloc();
const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
-#ifdef _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
// First try a buffer perhaps big enough.
int __cs_size = 64;
char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
Index: b/libstdc++-v3/include/c_compatibility/math.h
===================================================================
--- a/libstdc++-v3/include/c_compatibility/math.h
+++ b/libstdc++-v3/include/c_compatibility/math.h
@@ -56,7 +56,7 @@
using std::floor;
using std::fmod;
-#if _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
using std::fpclassify;
using std::isfinite;
using std::isinf;
Index: b/libstdc++-v3/include/c_compatibility/wchar.h
===================================================================
--- a/libstdc++-v3/include/c_compatibility/wchar.h
+++ b/libstdc++-v3/include/c_compatibility/wchar.h
@@ -103,7 +103,7 @@
using std::wmemset;
using std::wcsftime;
-#if _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
using std::wcstold;
using std::wcstoll;
using std::wcstoull;
Index: b/libstdc++-v3/include/c_global/cstdlib
===================================================================
--- a/libstdc++-v3/include/c_global/cstdlib
+++ b/libstdc++-v3/include/c_global/cstdlib
@@ -195,7 +195,7 @@
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#if _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
#undef _Exit
#undef llabs
Index: b/libstdc++-v3/include/c_global/cwchar
===================================================================
--- a/libstdc++-v3/include/c_global/cwchar
+++ b/libstdc++-v3/include/c_global/cwchar
@@ -232,7 +232,7 @@
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#if _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
#undef wcstold
#undef wcstoll
@@ -289,7 +289,7 @@
using std::vwscanf;
#endif
-#if _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
using std::wcstold;
using std::wcstoll;
using std::wcstoull;
Index: b/libstdc++-v3/include/c_std/cstdio
===================================================================
--- a/libstdc++-v3/include/c_std/cstdio
+++ b/libstdc++-v3/include/c_std/cstdio
@@ -144,7 +144,7 @@
using ::vsprintf;
} // namespace std
-#if _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
#undef snprintf
#undef vfscanf
Index: b/libstdc++-v3/include/c_std/cstdlib
===================================================================
--- a/libstdc++-v3/include/c_std/cstdlib
+++ b/libstdc++-v3/include/c_std/cstdlib
@@ -192,7 +192,7 @@
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#if _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
#undef _Exit
#undef llabs
Index: b/libstdc++-v3/include/c_std/cwchar
===================================================================
--- a/libstdc++-v3/include/c_std/cwchar
+++ b/libstdc++-v3/include/c_std/cwchar
@@ -228,7 +228,7 @@
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#if _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
#undef wcstold
#undef wcstoll
Index: b/libstdc++-v3/include/ext/vstring.h
===================================================================
--- a/libstdc++-v3/include/ext/vstring.h
+++ b/libstdc++-v3/include/ext/vstring.h
@@ -2680,7 +2680,7 @@
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99))
+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)))
#include <ext/string_conversions.h>
Index: b/libstdc++-v3/include/tr1/cstdio
===================================================================
--- a/libstdc++-v3/include/tr1/cstdio
+++ b/libstdc++-v3/include/tr1/cstdio
@@ -33,7 +33,7 @@
#include <cstdio>
-#if _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
namespace std _GLIBCXX_VISIBILITY(default)
{
Index: b/libstdc++-v3/include/tr1/cstdlib
===================================================================
--- a/libstdc++-v3/include/tr1/cstdlib
+++ b/libstdc++-v3/include/tr1/cstdlib
@@ -35,7 +35,7 @@
#if _GLIBCXX_HOSTED
-#if _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
namespace std _GLIBCXX_VISIBILITY(default)
{
Index: b/libstdc++-v3/include/tr1/cwchar
===================================================================
--- a/libstdc++-v3/include/tr1/cwchar
+++ b/libstdc++-v3/include/tr1/cwchar
@@ -52,7 +52,7 @@
using std::vwscanf;
#endif
-#if _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
using std::wcstold;
using std::wcstoll;
using std::wcstoull;
Index: b/libstdc++-v3/include/tr1/stdlib.h
===================================================================
--- a/libstdc++-v3/include/tr1/stdlib.h
+++ b/libstdc++-v3/include/tr1/stdlib.h
@@ -33,7 +33,7 @@
#if _GLIBCXX_HOSTED
-#if _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
using std::tr1::atoll;
using std::tr1::strtoll;
Index: b/libstdc++-v3/src/c++11/debug.cc
===================================================================
--- a/libstdc++-v3/src/c++11/debug.cc
+++ b/libstdc++-v3/src/c++11/debug.cc
@@ -788,7 +788,7 @@
int __n __attribute__ ((__unused__)),
const char* __fmt, _Tp __s) const throw ()
{
-#ifdef _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
std::snprintf(__buf, __n, __fmt, __s);
#else
std::sprintf(__buf, __fmt, __s);
Index: b/libstdc++-v3/include/c_global/cstdio
===================================================================
--- a/libstdc++-v3/include/c_global/cstdio
+++ b/libstdc++-v3/include/c_global/cstdio
@@ -146,7 +146,7 @@
using ::vsprintf;
} // namespace
-#if _GLIBCXX_USE_C99
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
#undef snprintf
#undef vfscanf

Some files were not shown because too many files have changed in this diff Show More