Correct spelling in a patch back to the faulty original,
as the patch wes broken by #2594
This commit fixes#2719
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
This fixes the following CVEs:
- in BCMath: CVE-2016-4537, CVE-2016-4538
- in EXIF: CVE-2016-4542, CVE-2016-4543, CVE-2016-4544
- in GD: CVE-2016-3074
- in Intl: CVE-2016-4540, CVE-2016-4541
- in XML: CVE-2016-4539
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Add two patches to address three distinct build problems spotted by our
build bots when compiling lttng-tools:
1) unconditional use of `__GLIBC_PREREQ`
On musl based toolchains there is no such macro defined, leading to the
following preprocessor error:
CC compat-epoll.lo
In file included from compat-epoll.c:33:0:
poll.h:76:19: error: missing binary operator before token "("
#if __GLIBC_PREREQ(2, 9)
2) undeclared `mode_t` type
On musl based toolchains the `mode_t` type is not implicitely defined through
other includes, leading to the following compile error:
CC hashtable.lo
In file included from ../../../src/common/common.h:24:0,
from hashtable.c:24:
../../../src/common/runas.h:25:46: error: unknown type name 'mode_t'
int run_as_mkdir_recursive(const char *path, mode_t mode, uid_t uid, gid_t gid);
^
../../../src/common/runas.h:26:36: error: unknown type name 'mode_t'
int run_as_mkdir(const char *path, mode_t mode, uid_t uid, gid_t gid);
^
../../../src/common/runas.h:27:46: error: unknown type name 'mode_t'
int run_as_open(const char *path, int flags, mode_t mode, uid_t uid, gid_t gid);
^
3) multiple definitions
The header files declare several `const char *` pointers which are initialized
in various `*.c` files later on. Due to a missing `extern` declaration in the
header, the final linking of the executables fails with errors such as:
CCLD lttng
../../../src/common/.libs/libcommon.a(mi-lttng.o):(.data.rel.ro.local+0x0): multiple definition of `mi_lttng_element_snapshots'
commands/enable_events.o:(.bss+0x18): first defined here
collect2: error: ld returned 1 exit status
This commits addresses these issues with two patches, `100-musl-compat.patch`
fixes issue 1 by declaring a fallback dummy declaration of `__GLIBC_PREREQ` and
issue 2 by explicitely including `sys/stat.h` which provides `mode_t` according
to POSIX.
The second patch, `200-use-extern.patch` declares all char pointers in the
header file as `extern`, fixing the observed linker errors.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The libtiff library declares an `ftell()` compat macro redirecting calls
to `ftello()` if such an implementation exists. The compat macro however
is declared with a wrong number of arguments, leading to the following
error on our buildbots:
In file included from .../usr/include/uClibc++/iostream:29:0,
from tif_stream.cxx:31:
.../usr/include/uClibc++/fstream:422:22: error: macro "ftell" requires 3 arguments, but only 1 given
retval = ftell(fp);
Add a patch to fix the macro definition in order to fix compilation of
the tiff package.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Apply the version fixup in order to solve the following build error on systems
not using exactly gettext version 0.18:
make[6]: Entering directory '.../build_dir/target-mips_34kc_musl-1.1.14/mc-4.8.17/po'
*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version 0.18 but the autoconf macros are from gettext version 0.19
The fixup will ensure that embedded macro versions are replaced with the
version of the staged gettext executable in ./staging_dir/host/bin
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
If the liblz4 library exists within the build environment, the openconnect
configure will pick it up and start depending on it, leading to the following
build error:
Package openconnect is missing dependencies for the following libraries:
liblz4.so.1
Disable LZ4 support in configure in order to avoid this implicit,
nondeterministic dependency.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>