Update buildroot from 17.02.2 -> 17.02.3
This commit is contained in:
@@ -15,7 +15,13 @@ ACL_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL
|
||||
|
||||
# While the configuration system uses autoconf, the Makefiles are
|
||||
# hand-written and do not use automake. Therefore, we have to hack
|
||||
# around their deficiencies by passing installation paths.
|
||||
# around their deficiencies by:
|
||||
# - explicitly passing CFLAGS (LDFLAGS are passed on from configure,
|
||||
# CFLAGS are not).
|
||||
# - explicitly passing the installation prefix, not using DESTDIR.
|
||||
|
||||
ACL_MAKE_ENV = CFLAGS="$(TARGET_CFLAGS)"
|
||||
|
||||
ACL_INSTALL_STAGING_OPTS = \
|
||||
prefix=$(STAGING_DIR)/usr \
|
||||
exec_prefix=$(STAGING_DIR)/usr \
|
||||
@@ -37,4 +43,15 @@ endef
|
||||
|
||||
ACL_POST_INSTALL_STAGING_HOOKS += ACL_FIX_LIBTOOL_LA_LIBDIR
|
||||
|
||||
HOST_ACL_DEPENDENCIES = host-attr
|
||||
HOST_ACL_CONF_OPTS = --enable-gettext=no
|
||||
HOST_ACL_MAKE_ENV = CFLAGS="$(HOST_CFLAGS)"
|
||||
HOST_ACL_INSTALL_OPTS = \
|
||||
prefix=$(HOST_DIR)/usr \
|
||||
exec_prefix=$(HOST_DIR)/usr \
|
||||
PKG_DEVLIB_DIR=$(HOST_DIR)/usr/lib \
|
||||
install-dev install-lib
|
||||
# For the host, libacl.la is correct, no fixup needed.
|
||||
|
||||
$(eval $(autotools-package))
|
||||
$(eval $(host-autotools-package))
|
||||
|
||||
@@ -22,6 +22,7 @@ APR_CONF_ENV = \
|
||||
apr_cv_mutex_robust_shared=no \
|
||||
apr_cv_tcp_nodelay_with_cork=yes \
|
||||
ac_cv_sizeof_struct_iovec=8 \
|
||||
ac_cv_sizeof_pid_t=4 \
|
||||
ac_cv_struct_rlimit=yes \
|
||||
ac_cv_o_nonblock_inherited=no \
|
||||
apr_cv_mutex_recursive=yes
|
||||
|
||||
@@ -5,7 +5,9 @@
|
||||
################################################################################
|
||||
|
||||
ARMADILLO_VERSION = 6.500.4
|
||||
ARMADILLO_SITE = http://downloads.sourceforge.net/project/arma
|
||||
# upstream removed tarball from
|
||||
# http://downloads.sourceforge.net/project/arma
|
||||
ARMADILLO_SITE = https://ftp.fau.de/macports/distfiles/armadillo
|
||||
ARMADILLO_DEPENDENCIES = clapack
|
||||
ARMADILLO_INSTALL_STAGING = YES
|
||||
ARMADILLO_LICENSE = MPLv2.0
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
From c48e4c6503f7dabd41f11d4c9c7b7f8960e7f2c0 Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Larrosa <larrosa@kde.org>
|
||||
Date: Mon, 6 Mar 2017 12:51:22 +0100
|
||||
Subject: [PATCH] Always check the number of coefficients
|
||||
|
||||
When building the library with NDEBUG, asserts are eliminated
|
||||
so it's better to always check that the number of coefficients
|
||||
is inside the array range.
|
||||
|
||||
This fixes the 00191-audiofile-indexoob issue in #41
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
libaudiofile/WAVE.cpp | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/libaudiofile/WAVE.cpp b/libaudiofile/WAVE.cpp
|
||||
index 0e81cf7..61f9541 100644
|
||||
--- a/libaudiofile/WAVE.cpp
|
||||
+++ b/libaudiofile/WAVE.cpp
|
||||
@@ -281,6 +281,12 @@ status WAVEFile::parseFormat(const Tag &id, uint32_t size)
|
||||
|
||||
/* numCoefficients should be at least 7. */
|
||||
assert(numCoefficients >= 7 && numCoefficients <= 255);
|
||||
+ if (numCoefficients < 7 || numCoefficients > 255)
|
||||
+ {
|
||||
+ _af_error(AF_BAD_HEADER,
|
||||
+ "Bad number of coefficients");
|
||||
+ return AF_FAIL;
|
||||
+ }
|
||||
|
||||
m_msadpcmNumCoefficients = numCoefficients;
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
From 25eb00ce913452c2e614548d7df93070bf0d066f Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Larrosa <larrosa@kde.org>
|
||||
Date: Mon, 6 Mar 2017 18:02:31 +0100
|
||||
Subject: [PATCH] clamp index values to fix index overflow in IMA.cpp
|
||||
|
||||
This fixes #33
|
||||
(also reported at https://bugzilla.opensuse.org/show_bug.cgi?id=1026981
|
||||
and https://blogs.gentoo.org/ago/2017/02/20/audiofile-global-buffer-overflow-in-decodesample-ima-cpp/)
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
libaudiofile/modules/IMA.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libaudiofile/modules/IMA.cpp b/libaudiofile/modules/IMA.cpp
|
||||
index 7476d44..df4aad6 100644
|
||||
--- a/libaudiofile/modules/IMA.cpp
|
||||
+++ b/libaudiofile/modules/IMA.cpp
|
||||
@@ -169,7 +169,7 @@ int IMA::decodeBlockWAVE(const uint8_t *encoded, int16_t *decoded)
|
||||
if (encoded[1] & 0x80)
|
||||
m_adpcmState[c].previousValue -= 0x10000;
|
||||
|
||||
- m_adpcmState[c].index = encoded[2];
|
||||
+ m_adpcmState[c].index = clamp(encoded[2], 0, 88);
|
||||
|
||||
*decoded++ = m_adpcmState[c].previousValue;
|
||||
|
||||
@@ -210,7 +210,7 @@ int IMA::decodeBlockQT(const uint8_t *encoded, int16_t *decoded)
|
||||
predictor -= 0x10000;
|
||||
|
||||
state.previousValue = clamp(predictor, MIN_INT16, MAX_INT16);
|
||||
- state.index = encoded[1] & 0x7f;
|
||||
+ state.index = clamp(encoded[1] & 0x7f, 0, 88);
|
||||
encoded += 2;
|
||||
|
||||
for (int n=0; n<m_framesPerPacket; n+=2)
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
From 7d65f89defb092b63bcbc5d98349fb222ca73b3c Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Larrosa <larrosa@kde.org>
|
||||
Date: Mon, 6 Mar 2017 13:54:52 +0100
|
||||
Subject: [PATCH] Check for multiplication overflow in sfconvert
|
||||
|
||||
Checks that a multiplication doesn't overflow when
|
||||
calculating the buffer size, and if it overflows,
|
||||
reduce the buffer size instead of failing.
|
||||
|
||||
This fixes the 00192-audiofile-signintoverflow-sfconvert case
|
||||
in #41
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
sfcommands/sfconvert.c | 34 ++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 32 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sfcommands/sfconvert.c b/sfcommands/sfconvert.c
|
||||
index 80a1bc4..970a3e4 100644
|
||||
--- a/sfcommands/sfconvert.c
|
||||
+++ b/sfcommands/sfconvert.c
|
||||
@@ -45,6 +45,33 @@ void printusage (void);
|
||||
void usageerror (void);
|
||||
bool copyaudiodata (AFfilehandle infile, AFfilehandle outfile, int trackid);
|
||||
|
||||
+int firstBitSet(int x)
|
||||
+{
|
||||
+ int position=0;
|
||||
+ while (x!=0)
|
||||
+ {
|
||||
+ x>>=1;
|
||||
+ ++position;
|
||||
+ }
|
||||
+ return position;
|
||||
+}
|
||||
+
|
||||
+#ifndef __has_builtin
|
||||
+#define __has_builtin(x) 0
|
||||
+#endif
|
||||
+
|
||||
+int multiplyCheckOverflow(int a, int b, int *result)
|
||||
+{
|
||||
+#if (defined __GNUC__ && __GNUC__ >= 5) || ( __clang__ && __has_builtin(__builtin_mul_overflow))
|
||||
+ return __builtin_mul_overflow(a, b, result);
|
||||
+#else
|
||||
+ if (firstBitSet(a)+firstBitSet(b)>31) // int is signed, so we can't use 32 bits
|
||||
+ return true;
|
||||
+ *result = a * b;
|
||||
+ return false;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
int main (int argc, char **argv)
|
||||
{
|
||||
if (argc == 2)
|
||||
@@ -323,8 +350,11 @@ bool copyaudiodata (AFfilehandle infile, AFfilehandle outfile, int trackid)
|
||||
{
|
||||
int frameSize = afGetVirtualFrameSize(infile, trackid, 1);
|
||||
|
||||
- const int kBufferFrameCount = 65536;
|
||||
- void *buffer = malloc(kBufferFrameCount * frameSize);
|
||||
+ int kBufferFrameCount = 65536;
|
||||
+ int bufferSize;
|
||||
+ while (multiplyCheckOverflow(kBufferFrameCount, frameSize, &bufferSize))
|
||||
+ kBufferFrameCount /= 2;
|
||||
+ void *buffer = malloc(bufferSize);
|
||||
|
||||
AFframecount totalFrames = afGetFrameCount(infile, AF_DEFAULT_TRACK);
|
||||
AFframecount totalFramesWritten = 0;
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From a2e9eab8ea87c4ffc494d839ebb4ea145eb9f2e6 Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Larrosa <larrosa@kde.org>
|
||||
Date: Mon, 6 Mar 2017 18:59:26 +0100
|
||||
Subject: [PATCH] Actually fail when error occurs in parseFormat
|
||||
|
||||
When there's an unsupported number of bits per sample or an invalid
|
||||
number of samples per block, don't only print an error message using
|
||||
the error handler, but actually stop parsing the file.
|
||||
|
||||
This fixes #35 (also reported at
|
||||
https://bugzilla.opensuse.org/show_bug.cgi?id=1026983 and
|
||||
https://blogs.gentoo.org/ago/2017/02/20/audiofile-heap-based-buffer-overflow-in-imadecodeblockwave-ima-cpp/
|
||||
)
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
libaudiofile/WAVE.cpp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/libaudiofile/WAVE.cpp b/libaudiofile/WAVE.cpp
|
||||
index 0e81cf7..d762249 100644
|
||||
--- a/libaudiofile/WAVE.cpp
|
||||
+++ b/libaudiofile/WAVE.cpp
|
||||
@@ -326,6 +326,7 @@ status WAVEFile::parseFormat(const Tag &id, uint32_t size)
|
||||
{
|
||||
_af_error(AF_BAD_NOT_IMPLEMENTED,
|
||||
"IMA ADPCM compression supports only 4 bits per sample");
|
||||
+ return AF_FAIL;
|
||||
}
|
||||
|
||||
int bytesPerBlock = (samplesPerBlock + 14) / 8 * 4 * channelCount;
|
||||
@@ -333,6 +334,7 @@ status WAVEFile::parseFormat(const Tag &id, uint32_t size)
|
||||
{
|
||||
_af_error(AF_BAD_CODEC_CONFIG,
|
||||
"Invalid samples per block for IMA ADPCM compression");
|
||||
+ return AF_FAIL;
|
||||
}
|
||||
|
||||
track->f.sampleWidth = 16;
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
From beacc44eb8cdf6d58717ec1a5103c5141f1b37f9 Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Larrosa <larrosa@kde.org>
|
||||
Date: Mon, 6 Mar 2017 13:43:53 +0100
|
||||
Subject: [PATCH] Check for multiplication overflow in MSADPCM decodeSample
|
||||
|
||||
Check for multiplication overflow (using __builtin_mul_overflow
|
||||
if available) in MSADPCM.cpp decodeSample and return an empty
|
||||
decoded block if an error occurs.
|
||||
|
||||
This fixes the 00193-audiofile-signintoverflow-MSADPCM case of #41
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
libaudiofile/modules/BlockCodec.cpp | 5 ++--
|
||||
libaudiofile/modules/MSADPCM.cpp | 47 +++++++++++++++++++++++++++++++++----
|
||||
2 files changed, 46 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/libaudiofile/modules/BlockCodec.cpp b/libaudiofile/modules/BlockCodec.cpp
|
||||
index 45925e8..4731be1 100644
|
||||
--- a/libaudiofile/modules/BlockCodec.cpp
|
||||
+++ b/libaudiofile/modules/BlockCodec.cpp
|
||||
@@ -52,8 +52,9 @@ void BlockCodec::runPull()
|
||||
// Decompress into m_outChunk.
|
||||
for (int i=0; i<blocksRead; i++)
|
||||
{
|
||||
- decodeBlock(static_cast<const uint8_t *>(m_inChunk->buffer) + i * m_bytesPerPacket,
|
||||
- static_cast<int16_t *>(m_outChunk->buffer) + i * m_framesPerPacket * m_track->f.channelCount);
|
||||
+ if (decodeBlock(static_cast<const uint8_t *>(m_inChunk->buffer) + i * m_bytesPerPacket,
|
||||
+ static_cast<int16_t *>(m_outChunk->buffer) + i * m_framesPerPacket * m_track->f.channelCount)==0)
|
||||
+ break;
|
||||
|
||||
framesRead += m_framesPerPacket;
|
||||
}
|
||||
diff --git a/libaudiofile/modules/MSADPCM.cpp b/libaudiofile/modules/MSADPCM.cpp
|
||||
index 8ea3c85..ef9c38c 100644
|
||||
--- a/libaudiofile/modules/MSADPCM.cpp
|
||||
+++ b/libaudiofile/modules/MSADPCM.cpp
|
||||
@@ -101,24 +101,60 @@ static const int16_t adaptationTable[] =
|
||||
768, 614, 512, 409, 307, 230, 230, 230
|
||||
};
|
||||
|
||||
+int firstBitSet(int x)
|
||||
+{
|
||||
+ int position=0;
|
||||
+ while (x!=0)
|
||||
+ {
|
||||
+ x>>=1;
|
||||
+ ++position;
|
||||
+ }
|
||||
+ return position;
|
||||
+}
|
||||
+
|
||||
+#ifndef __has_builtin
|
||||
+#define __has_builtin(x) 0
|
||||
+#endif
|
||||
+
|
||||
+int multiplyCheckOverflow(int a, int b, int *result)
|
||||
+{
|
||||
+#if (defined __GNUC__ && __GNUC__ >= 5) || ( __clang__ && __has_builtin(__builtin_mul_overflow))
|
||||
+ return __builtin_mul_overflow(a, b, result);
|
||||
+#else
|
||||
+ if (firstBitSet(a)+firstBitSet(b)>31) // int is signed, so we can't use 32 bits
|
||||
+ return true;
|
||||
+ *result = a * b;
|
||||
+ return false;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+
|
||||
// Compute a linear PCM value from the given differential coded value.
|
||||
static int16_t decodeSample(ms_adpcm_state &state,
|
||||
- uint8_t code, const int16_t *coefficient)
|
||||
+ uint8_t code, const int16_t *coefficient, bool *ok=NULL)
|
||||
{
|
||||
int linearSample = (state.sample1 * coefficient[0] +
|
||||
state.sample2 * coefficient[1]) >> 8;
|
||||
+ int delta;
|
||||
|
||||
linearSample += ((code & 0x08) ? (code - 0x10) : code) * state.delta;
|
||||
|
||||
linearSample = clamp(linearSample, MIN_INT16, MAX_INT16);
|
||||
|
||||
- int delta = (state.delta * adaptationTable[code]) >> 8;
|
||||
+ if (multiplyCheckOverflow(state.delta, adaptationTable[code], &delta))
|
||||
+ {
|
||||
+ if (ok) *ok=false;
|
||||
+ _af_error(AF_BAD_COMPRESSION, "Error decoding sample");
|
||||
+ return 0;
|
||||
+ }
|
||||
+ delta >>= 8;
|
||||
if (delta < 16)
|
||||
delta = 16;
|
||||
|
||||
state.delta = delta;
|
||||
state.sample2 = state.sample1;
|
||||
state.sample1 = linearSample;
|
||||
+ if (ok) *ok=true;
|
||||
|
||||
return static_cast<int16_t>(linearSample);
|
||||
}
|
||||
@@ -212,13 +248,16 @@ int MSADPCM::decodeBlock(const uint8_t *encoded, int16_t *decoded)
|
||||
{
|
||||
uint8_t code;
|
||||
int16_t newSample;
|
||||
+ bool ok;
|
||||
|
||||
code = *encoded >> 4;
|
||||
- newSample = decodeSample(*state[0], code, coefficient[0]);
|
||||
+ newSample = decodeSample(*state[0], code, coefficient[0], &ok);
|
||||
+ if (!ok) return 0;
|
||||
*decoded++ = newSample;
|
||||
|
||||
code = *encoded & 0x0f;
|
||||
- newSample = decodeSample(*state[1], code, coefficient[1]);
|
||||
+ newSample = decodeSample(*state[1], code, coefficient[1], &ok);
|
||||
+ if (!ok) return 0;
|
||||
*decoded++ = newSample;
|
||||
|
||||
encoded++;
|
||||
--
|
||||
2.11.0
|
||||
|
||||
161
bsp/buildroot/package/audiofile/0008-CVE-2015-7747.patch
Normal file
161
bsp/buildroot/package/audiofile/0008-CVE-2015-7747.patch
Normal file
@@ -0,0 +1,161 @@
|
||||
Description: fix buffer overflow when changing both sample format and
|
||||
number of channels
|
||||
Origin: https://github.com/mpruett/audiofile/pull/25
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/audiofile/+bug/1502721
|
||||
Bug-Debian: https://bugs.debian.org/801102
|
||||
|
||||
Downloaded from
|
||||
https://gitweb.gentoo.org/repo/gentoo.git/tree/media-libs/audiofile/files/audiofile-0.3.6-CVE-2015-7747.patch
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
|
||||
--- a/libaudiofile/modules/ModuleState.cpp
|
||||
+++ b/libaudiofile/modules/ModuleState.cpp
|
||||
@@ -402,7 +402,7 @@ status ModuleState::arrange(AFfilehandle
|
||||
addModule(new Transform(outfc, in.pcm, out.pcm));
|
||||
|
||||
if (in.channelCount != out.channelCount)
|
||||
- addModule(new ApplyChannelMatrix(infc, isReading,
|
||||
+ addModule(new ApplyChannelMatrix(outfc, isReading,
|
||||
in.channelCount, out.channelCount,
|
||||
in.pcm.minClip, in.pcm.maxClip,
|
||||
track->channelMatrix));
|
||||
--- a/test/Makefile.am
|
||||
+++ b/test/Makefile.am
|
||||
@@ -26,6 +26,7 @@ TESTS = \
|
||||
VirtualFile \
|
||||
floatto24 \
|
||||
query2 \
|
||||
+ sixteen-stereo-to-eight-mono \
|
||||
sixteen-to-eight \
|
||||
testchannelmatrix \
|
||||
testdouble \
|
||||
@@ -139,6 +140,7 @@ printmarkers_SOURCES = printmarkers.c
|
||||
printmarkers_LDADD = $(LIBAUDIOFILE) -lm
|
||||
|
||||
sixteen_to_eight_SOURCES = sixteen-to-eight.c TestUtilities.cpp TestUtilities.h
|
||||
+sixteen_stereo_to_eight_mono_SOURCES = sixteen-stereo-to-eight-mono.c TestUtilities.cpp TestUtilities.h
|
||||
|
||||
testchannelmatrix_SOURCES = testchannelmatrix.c TestUtilities.cpp TestUtilities.h
|
||||
|
||||
--- /dev/null
|
||||
+++ b/test/sixteen-stereo-to-eight-mono.c
|
||||
@@ -0,0 +1,118 @@
|
||||
+/*
|
||||
+ Audio File Library
|
||||
+
|
||||
+ Copyright 2000, Silicon Graphics, Inc.
|
||||
+
|
||||
+ This program is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation; either version 2 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ This program is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License along
|
||||
+ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
+*/
|
||||
+
|
||||
+/*
|
||||
+ sixteen-stereo-to-eight-mono.c
|
||||
+
|
||||
+ This program tests the conversion from 2-channel 16-bit integers to
|
||||
+ 1-channel 8-bit integers.
|
||||
+*/
|
||||
+
|
||||
+#ifdef HAVE_CONFIG_H
|
||||
+#include <config.h>
|
||||
+#endif
|
||||
+
|
||||
+#include <stdint.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <unistd.h>
|
||||
+#include <limits.h>
|
||||
+
|
||||
+#include <audiofile.h>
|
||||
+
|
||||
+#include "TestUtilities.h"
|
||||
+
|
||||
+int main (int argc, char **argv)
|
||||
+{
|
||||
+ AFfilehandle file;
|
||||
+ AFfilesetup setup;
|
||||
+ int16_t frames16[] = {14298, 392, 3923, -683, 958, -1921};
|
||||
+ int8_t frames8[] = {28, 6, -2};
|
||||
+ int i, frameCount = 3;
|
||||
+ int8_t byte;
|
||||
+ AFframecount result;
|
||||
+
|
||||
+ setup = afNewFileSetup();
|
||||
+
|
||||
+ afInitFileFormat(setup, AF_FILE_WAVE);
|
||||
+
|
||||
+ afInitSampleFormat(setup, AF_DEFAULT_TRACK, AF_SAMPFMT_TWOSCOMP, 16);
|
||||
+ afInitChannels(setup, AF_DEFAULT_TRACK, 2);
|
||||
+
|
||||
+ char *testFileName;
|
||||
+ if (!createTemporaryFile("sixteen-to-eight", &testFileName))
|
||||
+ {
|
||||
+ fprintf(stderr, "Could not create temporary file.\n");
|
||||
+ exit(EXIT_FAILURE);
|
||||
+ }
|
||||
+
|
||||
+ file = afOpenFile(testFileName, "w", setup);
|
||||
+ if (file == AF_NULL_FILEHANDLE)
|
||||
+ {
|
||||
+ fprintf(stderr, "could not open file for writing\n");
|
||||
+ exit(EXIT_FAILURE);
|
||||
+ }
|
||||
+
|
||||
+ afFreeFileSetup(setup);
|
||||
+
|
||||
+ afWriteFrames(file, AF_DEFAULT_TRACK, frames16, frameCount);
|
||||
+
|
||||
+ afCloseFile(file);
|
||||
+
|
||||
+ file = afOpenFile(testFileName, "r", AF_NULL_FILESETUP);
|
||||
+ if (file == AF_NULL_FILEHANDLE)
|
||||
+ {
|
||||
+ fprintf(stderr, "could not open file for reading\n");
|
||||
+ exit(EXIT_FAILURE);
|
||||
+ }
|
||||
+
|
||||
+ afSetVirtualSampleFormat(file, AF_DEFAULT_TRACK, AF_SAMPFMT_TWOSCOMP, 8);
|
||||
+ afSetVirtualChannels(file, AF_DEFAULT_TRACK, 1);
|
||||
+
|
||||
+ for (i=0; i<frameCount; i++)
|
||||
+ {
|
||||
+ /* Read one frame. */
|
||||
+ result = afReadFrames(file, AF_DEFAULT_TRACK, &byte, 1);
|
||||
+
|
||||
+ if (result != 1)
|
||||
+ break;
|
||||
+
|
||||
+ /* Compare the byte read with its precalculated value. */
|
||||
+ if (memcmp(&byte, &frames8[i], 1) != 0)
|
||||
+ {
|
||||
+ printf("error\n");
|
||||
+ printf("expected %d, got %d\n", frames8[i], byte);
|
||||
+ exit(EXIT_FAILURE);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+#ifdef DEBUG
|
||||
+ printf("got what was expected: %d\n", byte);
|
||||
+#endif
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ afCloseFile(file);
|
||||
+ unlink(testFileName);
|
||||
+ free(testFileName);
|
||||
+
|
||||
+ exit(EXIT_SUCCESS);
|
||||
+}
|
||||
@@ -0,0 +1,193 @@
|
||||
From d89a938f48e97b5770509d53c5478c5c3008d6e8 Mon Sep 17 00:00:00 2001
|
||||
From: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
Date: Sat, 27 May 2017 17:53:33 +0200
|
||||
Subject: [PATCH 1/1] Fix static linking with libsndfile
|
||||
|
||||
libsndfile and audiofile both contain mixXX functions in their alac
|
||||
code which lead to symbol name clashes when apps like mpd try to
|
||||
statically link to both audiofile and libsndfile at the same time.
|
||||
|
||||
This patch renames these functions to avoid the problem which was
|
||||
detected by the buildroot autobuilders:
|
||||
http://autobuild.buildroot.net/results/799/7997ccd698f03885f98d00bd150dc3a578e4b161/
|
||||
|
||||
Patch sent upstream: https://github.com/mpruett/audiofile/pull/45
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
libaudiofile/alac/ALACEncoder.cpp | 28 ++++++++++++++--------------
|
||||
libaudiofile/alac/matrix_enc.c | 8 ++++----
|
||||
libaudiofile/alac/matrixlib.h | 8 ++++----
|
||||
3 files changed, 22 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/libaudiofile/alac/ALACEncoder.cpp b/libaudiofile/alac/ALACEncoder.cpp
|
||||
index da922c2..3d088cc 100644
|
||||
--- a/libaudiofile/alac/ALACEncoder.cpp
|
||||
+++ b/libaudiofile/alac/ALACEncoder.cpp
|
||||
@@ -332,19 +332,19 @@ int32_t ALACEncoder::EncodeStereo( BitBuffer * bitstream, void * inputBuffer, ui
|
||||
switch ( mBitDepth )
|
||||
{
|
||||
case 16:
|
||||
- mix16( (int16_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate, mixBits, mixRes );
|
||||
+ audiofile_alac_mix16( (int16_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate, mixBits, mixRes );
|
||||
break;
|
||||
case 20:
|
||||
- mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate, mixBits, mixRes );
|
||||
+ audiofile_alac_mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate, mixBits, mixRes );
|
||||
break;
|
||||
case 24:
|
||||
// includes extraction of shifted-off bytes
|
||||
- mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate,
|
||||
+ audiofile_alac_mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate,
|
||||
mixBits, mixRes, mShiftBufferUV, bytesShifted );
|
||||
break;
|
||||
case 32:
|
||||
// includes extraction of shifted-off bytes
|
||||
- mix32( (int32_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate,
|
||||
+ audiofile_alac_mix32( (int32_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples/dilate,
|
||||
mixBits, mixRes, mShiftBufferUV, bytesShifted );
|
||||
break;
|
||||
}
|
||||
@@ -379,19 +379,19 @@ int32_t ALACEncoder::EncodeStereo( BitBuffer * bitstream, void * inputBuffer, ui
|
||||
switch ( mBitDepth )
|
||||
{
|
||||
case 16:
|
||||
- mix16( (int16_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes );
|
||||
+ audiofile_alac_mix16( (int16_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes );
|
||||
break;
|
||||
case 20:
|
||||
- mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes );
|
||||
+ audiofile_alac_mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes );
|
||||
break;
|
||||
case 24:
|
||||
// also extracts the shifted off bytes into the shift buffers
|
||||
- mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples,
|
||||
+ audiofile_alac_mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples,
|
||||
mixBits, mixRes, mShiftBufferUV, bytesShifted );
|
||||
break;
|
||||
case 32:
|
||||
// also extracts the shifted off bytes into the shift buffers
|
||||
- mix32( (int32_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples,
|
||||
+ audiofile_alac_mix32( (int32_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples,
|
||||
mixBits, mixRes, mShiftBufferUV, bytesShifted );
|
||||
break;
|
||||
}
|
||||
@@ -605,19 +605,19 @@ int32_t ALACEncoder::EncodeStereoFast( BitBuffer * bitstream, void * inputBuffer
|
||||
switch ( mBitDepth )
|
||||
{
|
||||
case 16:
|
||||
- mix16( (int16_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes );
|
||||
+ audiofile_alac_mix16( (int16_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes );
|
||||
break;
|
||||
case 20:
|
||||
- mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes );
|
||||
+ audiofile_alac_mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, mixBits, mixRes );
|
||||
break;
|
||||
case 24:
|
||||
// also extracts the shifted off bytes into the shift buffers
|
||||
- mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples,
|
||||
+ audiofile_alac_mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples,
|
||||
mixBits, mixRes, mShiftBufferUV, bytesShifted );
|
||||
break;
|
||||
case 32:
|
||||
// also extracts the shifted off bytes into the shift buffers
|
||||
- mix32( (int32_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples,
|
||||
+ audiofile_alac_mix32( (int32_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples,
|
||||
mixBits, mixRes, mShiftBufferUV, bytesShifted );
|
||||
break;
|
||||
}
|
||||
@@ -756,7 +756,7 @@ int32_t ALACEncoder::EncodeStereoEscape( BitBuffer * bitstream, void * inputBuff
|
||||
break;
|
||||
case 20:
|
||||
// mix20() with mixres param = 0 means de-interleave so use it to simplify things
|
||||
- mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, 0, 0 );
|
||||
+ audiofile_alac_mix20( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, 0, 0 );
|
||||
for ( index = 0; index < numSamples; index++ )
|
||||
{
|
||||
BitBufferWrite( bitstream, mMixBufferU[index], 20 );
|
||||
@@ -765,7 +765,7 @@ int32_t ALACEncoder::EncodeStereoEscape( BitBuffer * bitstream, void * inputBuff
|
||||
break;
|
||||
case 24:
|
||||
// mix24() with mixres param = 0 means de-interleave so use it to simplify things
|
||||
- mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, 0, 0, mShiftBufferUV, 0 );
|
||||
+ audiofile_alac_mix24( (uint8_t *) inputBuffer, stride, mMixBufferU, mMixBufferV, numSamples, 0, 0, mShiftBufferUV, 0 );
|
||||
for ( index = 0; index < numSamples; index++ )
|
||||
{
|
||||
BitBufferWrite( bitstream, mMixBufferU[index], 24 );
|
||||
diff --git a/libaudiofile/alac/matrix_enc.c b/libaudiofile/alac/matrix_enc.c
|
||||
index e194330..8abd556 100644
|
||||
--- a/libaudiofile/alac/matrix_enc.c
|
||||
+++ b/libaudiofile/alac/matrix_enc.c
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
// 16-bit routines
|
||||
|
||||
-void mix16( int16_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres )
|
||||
+void audiofile_alac_mix16( int16_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres )
|
||||
{
|
||||
int16_t * ip = in;
|
||||
int32_t j;
|
||||
@@ -95,7 +95,7 @@ void mix16( int16_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t num
|
||||
// 20-bit routines
|
||||
// - the 20 bits of data are left-justified in 3 bytes of storage but right-aligned for input/output predictor buffers
|
||||
|
||||
-void mix20( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres )
|
||||
+void audiofile_alac_mix20( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres )
|
||||
{
|
||||
int32_t l, r;
|
||||
uint8_t * ip = in;
|
||||
@@ -140,7 +140,7 @@ void mix20( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t num
|
||||
// 24-bit routines
|
||||
// - the 24 bits of data are right-justified in the input/output predictor buffers
|
||||
|
||||
-void mix24( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples,
|
||||
+void audiofile_alac_mix24( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples,
|
||||
int32_t mixbits, int32_t mixres, uint16_t * shiftUV, int32_t bytesShifted )
|
||||
{
|
||||
int32_t l, r;
|
||||
@@ -240,7 +240,7 @@ void mix24( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t num
|
||||
// - otherwise, the calculations might overflow into the 33rd bit and be lost
|
||||
// - therefore, these routines deal with the specified "unused lower" bytes in the "shift" buffers
|
||||
|
||||
-void mix32( int32_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples,
|
||||
+void audiofile_alac_mix32( int32_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples,
|
||||
int32_t mixbits, int32_t mixres, uint16_t * shiftUV, int32_t bytesShifted )
|
||||
{
|
||||
int32_t * ip = in;
|
||||
diff --git a/libaudiofile/alac/matrixlib.h b/libaudiofile/alac/matrixlib.h
|
||||
index 0a4f371..5728b6d 100644
|
||||
--- a/libaudiofile/alac/matrixlib.h
|
||||
+++ b/libaudiofile/alac/matrixlib.h
|
||||
@@ -38,17 +38,17 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
// 16-bit routines
|
||||
-void mix16( int16_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres );
|
||||
+void audiofile_alac_mix16( int16_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres );
|
||||
void unmix16( int32_t * u, int32_t * v, int16_t * out, uint32_t stride, int32_t numSamples, int32_t mixbits, int32_t mixres );
|
||||
|
||||
// 20-bit routines
|
||||
-void mix20( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres );
|
||||
+void audiofile_alac_mix20( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples, int32_t mixbits, int32_t mixres );
|
||||
void unmix20( int32_t * u, int32_t * v, uint8_t * out, uint32_t stride, int32_t numSamples, int32_t mixbits, int32_t mixres );
|
||||
|
||||
// 24-bit routines
|
||||
// - 24-bit data sometimes compresses better by shifting off the bottom byte so these routines deal with
|
||||
// the specified "unused lower bytes" in the combined "shift" buffer
|
||||
-void mix24( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples,
|
||||
+void audiofile_alac_mix24( uint8_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples,
|
||||
int32_t mixbits, int32_t mixres, uint16_t * shiftUV, int32_t bytesShifted );
|
||||
void unmix24( int32_t * u, int32_t * v, uint8_t * out, uint32_t stride, int32_t numSamples,
|
||||
int32_t mixbits, int32_t mixres, uint16_t * shiftUV, int32_t bytesShifted );
|
||||
@@ -57,7 +57,7 @@ void unmix24( int32_t * u, int32_t * v, uint8_t * out, uint32_t stride, int32_t
|
||||
// - note that these really expect the internal data width to be < 32-bit but the arrays are 32-bit
|
||||
// - otherwise, the calculations might overflow into the 33rd bit and be lost
|
||||
// - therefore, these routines deal with the specified "unused lower" bytes in the combined "shift" buffer
|
||||
-void mix32( int32_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples,
|
||||
+void audiofile_alac_mix32( int32_t * in, uint32_t stride, int32_t * u, int32_t * v, int32_t numSamples,
|
||||
int32_t mixbits, int32_t mixres, uint16_t * shiftUV, int32_t bytesShifted );
|
||||
void unmix32( int32_t * u, int32_t * v, int32_t * out, uint32_t stride, int32_t numSamples,
|
||||
int32_t mixbits, int32_t mixres, uint16_t * shiftUV, int32_t bytesShifted );
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -9,7 +9,7 @@ BASH_SITE = $(BR2_GNU_MIRROR)/bash
|
||||
# Build after since bash is better than busybox shells
|
||||
BASH_DEPENDENCIES = ncurses readline host-bison \
|
||||
$(if $(BR2_PACKAGE_BUSYBOX),busybox)
|
||||
BASH_CONF_OPTS = --with-installed-readline
|
||||
BASH_CONF_OPTS = --with-installed-readline --without-bash-malloc
|
||||
BASH_LICENSE = GPLv3+
|
||||
BASH_LICENSE_FILES = COPYING
|
||||
|
||||
@@ -24,7 +24,7 @@ BASH_CONF_ENV += \
|
||||
|
||||
# The static build needs some trickery
|
||||
ifeq ($(BR2_STATIC_LIBS),y)
|
||||
BASH_CONF_OPTS += --enable-static-link --without-bash-malloc
|
||||
BASH_CONF_OPTS += --enable-static-link
|
||||
# bash wants to redefine the getenv() function. To check whether this is
|
||||
# possible, AC_TRY_RUN is used which is not possible in
|
||||
# cross-compilation.
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Verified from http://ftp.isc.org/isc/bind9/9.11.0-P3/bind-9.11.0-P3.tar.gz.sha256.asc
|
||||
sha256 0feee0374bcbdee73a9d4277f3c5007622279572d520d7c27a4b64015d8ca9e9 bind-9.11.0-P3.tar.gz
|
||||
# Verified from http://ftp.isc.org/isc/bind9/9.11.0-P5/bind-9.11.0-P5.tar.gz.sha256.asc
|
||||
sha256 1e283f0567b484687dfd7b936e26c9af4f64043daf73cbd8f3eb1122c9fb71f5 bind-9.11.0-P5.tar.gz
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
BIND_VERSION = 9.11.0-P3
|
||||
BIND_VERSION = 9.11.0-P5
|
||||
BIND_SITE = ftp://ftp.isc.org/isc/bind9/$(BIND_VERSION)
|
||||
# bind does not support parallel builds.
|
||||
BIND_MAKE = $(MAKE1)
|
||||
@@ -29,7 +29,6 @@ BIND_CONF_OPTS = \
|
||||
--enable-epoll \
|
||||
--with-libtool \
|
||||
--with-gssapi=no \
|
||||
--enable-rrl \
|
||||
--enable-filter-aaaa
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From d3c098c2fde55ddf0c7d56eae56925103d35da73 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Sat, 13 May 2017 18:56:51 +0200
|
||||
Subject: [PATCH] test: add missing header
|
||||
|
||||
test/attest.c: In function 'at_command':
|
||||
test/attest.c:43:2: error: unknown type name 'fd_set'
|
||||
fd_set rfds;
|
||||
^
|
||||
|
||||
Fixes:
|
||||
http://autobuild.buildroot.net/results/06c/06c930d9c5299b79500d018ac3fb2861ce834c7c/
|
||||
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
test/attest.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/test/attest.c b/test/attest.c
|
||||
index 12ba682..2626cf1 100644
|
||||
--- a/test/attest.c
|
||||
+++ b/test/attest.c
|
||||
@@ -35,6 +35,8 @@
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
+#include <sys/select.h>
|
||||
+
|
||||
#include <bluetooth/bluetooth.h>
|
||||
#include <bluetooth/rfcomm.h>
|
||||
|
||||
--
|
||||
2.9.3
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
From d8056252d0c99bfb2482f0a420dcf9a36019ddf8 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Sat, 13 May 2017 18:58:51 +0200
|
||||
Subject: [PATCH] test: avoid conflict with encrypt function
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
With a musl based toolchain:
|
||||
|
||||
test/l2test.c:110:12: error: ‘encrypt’ redeclared as different kind of symbol
|
||||
static int encrypt = 0;
|
||||
^
|
||||
In file included from test/l2test.c:34:0:
|
||||
[...]/sysroot/usr/include/unistd.h:145:6: note: previous declaration of ‘encrypt’ was here
|
||||
void encrypt(char *, int);
|
||||
^
|
||||
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
test/l2test.c | 8 ++++----
|
||||
test/rctest.c | 8 ++++----
|
||||
2 files changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/test/l2test.c b/test/l2test.c
|
||||
index f66486d..9ef6faf 100644
|
||||
--- a/test/l2test.c
|
||||
+++ b/test/l2test.c
|
||||
@@ -107,7 +107,7 @@ static char *filename = NULL;
|
||||
static int rfcmode = 0;
|
||||
static int master = 0;
|
||||
static int auth = 0;
|
||||
-static int encrypt = 0;
|
||||
+static int _encrypt = 0;
|
||||
static int secure = 0;
|
||||
static int socktype = SOCK_SEQPACKET;
|
||||
static int linger = 0;
|
||||
@@ -340,7 +340,7 @@ static int do_connect(char *svr)
|
||||
opt |= L2CAP_LM_MASTER;
|
||||
if (auth)
|
||||
opt |= L2CAP_LM_AUTH;
|
||||
- if (encrypt)
|
||||
+ if (_encrypt)
|
||||
opt |= L2CAP_LM_ENCRYPT;
|
||||
if (secure)
|
||||
opt |= L2CAP_LM_SECURE;
|
||||
@@ -475,7 +475,7 @@ static void do_listen(void (*handler)(int sk))
|
||||
opt |= L2CAP_LM_MASTER;
|
||||
if (auth)
|
||||
opt |= L2CAP_LM_AUTH;
|
||||
- if (encrypt)
|
||||
+ if (_encrypt)
|
||||
opt |= L2CAP_LM_ENCRYPT;
|
||||
if (secure)
|
||||
opt |= L2CAP_LM_SECURE;
|
||||
@@ -1407,7 +1407,7 @@ int main(int argc, char *argv[])
|
||||
break;
|
||||
|
||||
case 'E':
|
||||
- encrypt = 1;
|
||||
+ _encrypt = 1;
|
||||
break;
|
||||
|
||||
case 'S':
|
||||
diff --git a/test/rctest.c b/test/rctest.c
|
||||
index 4d7c90a..7ad5a0b 100644
|
||||
--- a/test/rctest.c
|
||||
+++ b/test/rctest.c
|
||||
@@ -79,7 +79,7 @@ static char *filename = NULL;
|
||||
|
||||
static int master = 0;
|
||||
static int auth = 0;
|
||||
-static int encrypt = 0;
|
||||
+static int _encrypt = 0;
|
||||
static int secure = 0;
|
||||
static int socktype = SOCK_STREAM;
|
||||
static int linger = 0;
|
||||
@@ -200,7 +200,7 @@ static int do_connect(const char *svr)
|
||||
opt |= RFCOMM_LM_MASTER;
|
||||
if (auth)
|
||||
opt |= RFCOMM_LM_AUTH;
|
||||
- if (encrypt)
|
||||
+ if (_encrypt)
|
||||
opt |= RFCOMM_LM_ENCRYPT;
|
||||
if (secure)
|
||||
opt |= RFCOMM_LM_SECURE;
|
||||
@@ -291,7 +291,7 @@ static void do_listen(void (*handler)(int sk))
|
||||
opt |= RFCOMM_LM_MASTER;
|
||||
if (auth)
|
||||
opt |= RFCOMM_LM_AUTH;
|
||||
- if (encrypt)
|
||||
+ if (_encrypt)
|
||||
opt |= RFCOMM_LM_ENCRYPT;
|
||||
if (secure)
|
||||
opt |= RFCOMM_LM_SECURE;
|
||||
@@ -701,7 +701,7 @@ int main(int argc, char *argv[])
|
||||
break;
|
||||
|
||||
case 'E':
|
||||
- encrypt = 1;
|
||||
+ _encrypt = 1;
|
||||
break;
|
||||
|
||||
case 'S':
|
||||
--
|
||||
2.9.3
|
||||
|
||||
@@ -4,6 +4,7 @@ config BR2_PACKAGE_BLUEZ_UTILS
|
||||
depends on BR2_USE_WCHAR # libglib2
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib, libglib2
|
||||
depends on BR2_USE_MMU # dbus, libglib2
|
||||
select BR2_PACKAGE_CHECK
|
||||
select BR2_PACKAGE_DBUS
|
||||
select BR2_PACKAGE_LIBGLIB2
|
||||
help
|
||||
|
||||
@@ -8,7 +8,7 @@ BLUEZ_UTILS_VERSION = 4.101
|
||||
BLUEZ_UTILS_SOURCE = bluez-$(BLUEZ_UTILS_VERSION).tar.xz
|
||||
BLUEZ_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth
|
||||
BLUEZ_UTILS_INSTALL_STAGING = YES
|
||||
BLUEZ_UTILS_DEPENDENCIES = dbus libglib2
|
||||
BLUEZ_UTILS_DEPENDENCIES = host-pkgconf check dbus libglib2
|
||||
BLUEZ_UTILS_CONF_OPTS = --enable-test --enable-tools
|
||||
BLUEZ_UTILS_AUTORECONF = YES
|
||||
BLUEZ_UTILS_LICENSE = GPLv2+, LGPLv2.1+
|
||||
|
||||
@@ -23,17 +23,17 @@ ttyS[0-9]* root:root 660
|
||||
ttyUSB[0-9]* root:root 660
|
||||
|
||||
# alsa sound devices
|
||||
pcm.* root:audio 660 =snd/
|
||||
control.* root:audio 660 =snd/
|
||||
midi.* root:audio 660 =snd/
|
||||
seq root:audio 660 =snd/
|
||||
timer root:audio 660 =snd/
|
||||
snd/pcm.* root:audio 660
|
||||
snd/control.* root:audio 660
|
||||
snd/midi.* root:audio 660
|
||||
snd/seq root:audio 660
|
||||
snd/timer root:audio 660
|
||||
|
||||
# input stuff
|
||||
event[0-9]+ root:root 640 =input/
|
||||
mice root:root 640 =input/
|
||||
mouse[0-9] root:root 640 =input/
|
||||
ts[0-9] root:root 600 =input/
|
||||
input/event[0-9]+ root:root 640
|
||||
input/mice root:root 640
|
||||
input/mouse[0-9] root:root 640
|
||||
input/ts[0-9] root:root 600
|
||||
|
||||
# load modules
|
||||
$MODALIAS=.* root:root 660 @modprobe "$MODALIAS"
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
|
||||
CAIRO_VERSION = 1.14.8
|
||||
CAIRO_SOURCE = cairo-$(CAIRO_VERSION).tar.xz
|
||||
CAIRO_LICENSE = LGPLv2.1+
|
||||
CAIRO_LICENSE_FILES = COPYING
|
||||
CAIRO_LICENSE = LGPLv2.1 or MPLv1.1 (library)
|
||||
CAIRO_LICENSE_FILES = COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1
|
||||
CAIRO_SITE = http://cairographics.org/releases
|
||||
CAIRO_INSTALL_STAGING = YES
|
||||
CAIRO_AUTORECONF = YES
|
||||
|
||||
@@ -11,6 +11,10 @@ CPPCMS_LICENSE_FILES = COPYING.TXT
|
||||
CPPCMS_SITE = http://downloads.sourceforge.net/project/cppcms/cppcms/$(CPPCMS_VERSION)
|
||||
CPPCMS_INSTALL_STAGING = YES
|
||||
|
||||
# disable rpath to avoid getting /usr/lib added to the link search
|
||||
# path
|
||||
CPPCMS_CONF_OPTS = -DCMAKE_SKIP_RPATH=ON
|
||||
|
||||
CPPCMS_DEPENDENCIES = zlib pcre libgcrypt
|
||||
|
||||
ifeq ($(BR2_PACKAGE_CPPCMS_ICU),y)
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
tools: just do proper cross-compile
|
||||
|
||||
Those tools are not used during the build; besides, they are installed.
|
||||
|
||||
So they don't need to not be cross-compiled.
|
||||
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
---
|
||||
Upstream status: not submitted, upstream is dead.
|
||||
|
||||
diff -durN dbus-cpp-0.9.0.orig/tools/Makefile.am dbus-cpp-0.9.0/tools/Makefile.am
|
||||
--- dbus-cpp-0.9.0.orig/tools/Makefile.am 2017-03-21 21:48:57.013409423 +0100
|
||||
+++ dbus-cpp-0.9.0/tools/Makefile.am 2017-03-21 21:49:35.329979798 +0100
|
||||
@@ -1,7 +1,3 @@
|
||||
-# hacky, but ...
|
||||
-
|
||||
-CXX = $(CXX_FOR_BUILD)
|
||||
-
|
||||
AM_CPPFLAGS = \
|
||||
$(dbus_CFLAGS) \
|
||||
$(xml_CFLAGS) \
|
||||
@@ -9,11 +3,7 @@
|
||||
-I$(top_builddir)/include \
|
||||
-Wall
|
||||
|
||||
-if CROSS_COMPILING
|
||||
-libdbus_cxx_la = $(BUILD_LIBDBUS_CXX_DIR)/src/libdbus-c++-1.la
|
||||
-else
|
||||
libdbus_cxx_la = $(top_builddir)/src/libdbus-c++-1.la
|
||||
-endif
|
||||
|
||||
bin_PROGRAMS = dbusxx-xml2cpp dbusxx-introspect
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
Use CXXFLAGS_FOR_BUILD and LDFLAGS_FOR_BUILD for the tools since expat
|
||||
may not be living in the default include & library path.
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
|
||||
diff -Nura libdbus-c++-0.9.0.orig/configure.ac libdbus-c++-0.9.0/configure.ac
|
||||
--- libdbus-c++-0.9.0.orig/configure.ac 2014-01-05 15:28:03.653886567 -0300
|
||||
+++ libdbus-c++-0.9.0/configure.ac 2014-01-05 15:44:32.571172225 -0300
|
||||
@@ -65,7 +65,11 @@
|
||||
AC_PROG_CXX
|
||||
|
||||
CXX_FOR_BUILD=${CXX_FOR_BUILD-${CXX}}
|
||||
+CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
|
||||
+LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
|
||||
AC_SUBST(CXX_FOR_BUILD)
|
||||
+AC_SUBST(CXXFLAGS_FOR_BUILD)
|
||||
+AC_SUBST(LDFLAGS_FOR_BUILD)
|
||||
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
diff -Nura libdbus-c++-0.9.0.orig/tools/Makefile.am libdbus-c++-0.9.0/tools/Makefile.am
|
||||
--- libdbus-c++-0.9.0.orig/tools/Makefile.am 2014-01-05 15:28:03.652886535 -0300
|
||||
+++ libdbus-c++-0.9.0/tools/Makefile.am 2014-01-05 15:44:42.071482390 -0300
|
||||
@@ -1,6 +1,8 @@
|
||||
# hacky, but ...
|
||||
|
||||
CXX = $(CXX_FOR_BUILD)
|
||||
+CXXFLAGS = $(CXXFLAGS_FOR_BUILD)
|
||||
+LDFLAGS = $(LDFLAGS_FOR_BUILD)
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
$(dbus_CFLAGS) \
|
||||
@@ -7,7 +7,7 @@
|
||||
DBUS_GLIB_VERSION = 0.108
|
||||
DBUS_GLIB_SITE = http://dbus.freedesktop.org/releases/dbus-glib
|
||||
DBUS_GLIB_INSTALL_STAGING = YES
|
||||
DBUS_GLIB_LICENSE = AFLv2.1, GPLv2+
|
||||
DBUS_GLIB_LICENSE = AFLv2.1 or GPLv2+
|
||||
DBUS_GLIB_LICENSE_FILES = COPYING
|
||||
|
||||
DBUS_GLIB_CONF_ENV = \
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
DBUS_TRIGGERD_VERSION = ba3dbec805cb707c94c54de21666bf18b79bcc09
|
||||
DBUS_TRIGGERD_SITE = git://rg42.org/dbustriggerd.git
|
||||
DBUS_TRIGGERD_LICENSE = GPLv2+
|
||||
DBUS_TRIGGERD_LICENSE_FILES = dbus-triggerd.c
|
||||
DBUS_TRIGGERD_DEPENDENCIES = host-pkgconf dbus
|
||||
|
||||
define DBUS_TRIGGERD_BUILD_CMDS
|
||||
|
||||
@@ -82,7 +82,7 @@ define DBUS_REMOVE_VAR_LIB_DBUS
|
||||
rm -rf $(TARGET_DIR)/var/lib/dbus
|
||||
endef
|
||||
|
||||
DBUS_POST_BUILD_HOOKS += DBUS_REMOVE_VAR_LIB_DBUS
|
||||
DBUS_PRE_INSTALL_TARGET_HOOKS += DBUS_REMOVE_VAR_LIB_DBUS
|
||||
|
||||
define DBUS_REMOVE_DEVFILES
|
||||
rm -rf $(TARGET_DIR)/usr/lib/dbus-1.0
|
||||
|
||||
@@ -102,6 +102,7 @@ define DHCP_INSTALL_INIT_SYSTEMD
|
||||
ln -sf ../../../../usr/lib/systemd/system/dhcpd.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpd.service
|
||||
|
||||
mkdir -p $(TARGET_DIR)/usr/lib/tmpfiles.d
|
||||
echo "d /var/lib/dhcp 0755 - - - -" > \
|
||||
$(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
|
||||
echo "f /var/lib/dhcp/dhcpd.leases - - - - -" >> \
|
||||
|
||||
@@ -18,6 +18,21 @@ DOMOTICZ_DEPENDENCIES = \
|
||||
sqlite \
|
||||
zlib
|
||||
|
||||
# Fixes:
|
||||
# http://autobuild.buildroot.org/results/454c0ea393615bae2d1b44be9920f25b5c49fc33
|
||||
# There is an issue with powerpc64le and boost::uuids::random_generator on the
|
||||
# following line of code (from include/boost/uuid/seed_rng.hpp):
|
||||
# sha.process_bytes( (unsigned char const*)&std::rand, sizeof( void(*)() ) )
|
||||
# This line "inspects the first couple bytes (here eight) of the std::rand
|
||||
# function to seed some rng. Due to the implementation of process_bytes and
|
||||
# inlining happening, it seems that one of the loops therein uses &rand-1 as
|
||||
# some boundary, compiling with -O0 makes that reloc come out as 'rand + 0' and
|
||||
# the link will succeed."
|
||||
# See: https://bugzilla.suse.com/show_bug.cgi?id=955832#c7
|
||||
ifeq ($(BR2_powerpc64le),y)
|
||||
DOMOTICZ_CXXFLAGS += -O0
|
||||
endif
|
||||
|
||||
# Due to the dependency on mosquitto, domoticz depends on
|
||||
# !BR2_STATIC_LIBS so set USE_STATIC_BOOST to OFF
|
||||
DOMOTICZ_CONF_OPTS += -DUSE_STATIC_BOOST=OFF
|
||||
@@ -27,7 +42,8 @@ DOMOTICZ_CONF_OPTS += -DUSE_STATIC_BOOST=OFF
|
||||
DOMOTICZ_CONF_OPTS += \
|
||||
-DUSE_BUILTIN_LUA=OFF \
|
||||
-DUSE_BUILTIN_SQLITE=OFF \
|
||||
-DUSE_BUILTIN_MQTT=OFF
|
||||
-DUSE_BUILTIN_MQTT=OFF \
|
||||
-DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(DOMOTICZ_CXXFLAGS)"
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBUSB),y)
|
||||
DOMOTICZ_DEPENDENCIES += libusb
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed after checking signature
|
||||
sha256 897f92a87cda4b27b243f8149ce0ba7b7e71a2be8fb7994eb0a025e54cde18e9 dovecot-2.2.27.tar.gz
|
||||
sha256 ccfa9ffb7eb91e9e87c21c108324b911250c9ffa838bffb64b1caafadcb0f388 dovecot-2.2.29.1.tar.gz
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
DOVECOT_VERSION_MAJOR = 2.2
|
||||
DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).27
|
||||
DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).29.1
|
||||
DOVECOT_SITE = http://www.dovecot.org/releases/$(DOVECOT_VERSION_MAJOR)
|
||||
DOVECOT_INSTALL_STAGING = YES
|
||||
DOVECOT_LICENSE = LGPLv2.1
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://matt.ucc.asn.au/dropbear/releases/SHA256SUM.asc
|
||||
sha256 2720ea54ed009af812701bcc290a2a601d5c107d12993e5d92c0f5f81f718891 dropbear-2016.74.tar.bz2
|
||||
sha256 6cbc1dcb1c9709d226dff669e5604172a18cf5dbf9a201474d5618ae4465098c dropbear-2017.75.tar.bz2
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DROPBEAR_VERSION = 2016.74
|
||||
DROPBEAR_VERSION = 2017.75
|
||||
DROPBEAR_SITE = http://matt.ucc.asn.au/dropbear/releases
|
||||
DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2
|
||||
DROPBEAR_LICENSE = MIT, BSD-2c-like, BSD-2c
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
# locally computed hash
|
||||
sha256 3f260491e2c62e93cb6347ea6f21aaa5f93152e9e7f0269d314623769d82e473 efibootmgr-14.tar.gz
|
||||
sha256 8e91f16927d296ffebd4f7fafda2f84c0f6201aba089a35e8090abd5aacdc58e 3466fd05c8c6f1052e0426d64eed40f8a88fd78f.patch
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
|
||||
EFIBOOTMGR_VERSION = 14
|
||||
EFIBOOTMGR_SITE = $(call github,rhinstaller,efibootmgr,$(EFIBOOTMGR_VERSION))
|
||||
# Patch fixes the build with gcc 6.x.
|
||||
EFIBOOTMGR_PATCH = \
|
||||
https://github.com/rhinstaller/efibootmgr/commit/3466fd05c8c6f1052e0426d64eed40f8a88fd78f.patch
|
||||
EFIBOOTMGR_LICENSE = GPLv2+
|
||||
EFIBOOTMGR_LICENSE_FILES = COPYING
|
||||
EFIBOOTMGR_DEPENDENCIES = efivar $(if $(BR2_NEEDS_GETTEXT),gettext)
|
||||
|
||||
@@ -179,12 +179,14 @@ config BR2_PACKAGE_EFL_WAYLAND
|
||||
depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # Evas DRM Engine
|
||||
depends on BR2_PACKAGE_EFL_EEZE # efl drm
|
||||
depends on BR2_PACKAGE_EFL_OPENGLES # OpenGL ES with EGL support only
|
||||
depends on BR2_ENABLE_LOCALE # efl-drm <- efl-elput <- libinput
|
||||
select BR2_PACKAGE_EFL_DRM
|
||||
|
||||
comment "Wayland support needs udev /dev management (eeze) and OpenGL ES w/ EGL, threads"
|
||||
comment "Wayland support needs udev /dev management (eeze), OpenGL ES w/ EGL, threads, locales"
|
||||
depends on BR2_PACKAGE_WAYLAND
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL \
|
||||
|| !BR2_PACKAGE_EFL_OPENGLES || !BR2_PACKAGE_EFL_EEZE
|
||||
|| !BR2_PACKAGE_EFL_OPENGLES || !BR2_PACKAGE_EFL_EEZE \
|
||||
|| !BR2_ENABLE_LOCALE
|
||||
|
||||
choice
|
||||
bool "OpenGL support"
|
||||
@@ -216,6 +218,7 @@ endchoice # OpenGL support
|
||||
|
||||
config BR2_PACKAGE_EFL_ELPUT
|
||||
bool "Elput"
|
||||
depends on BR2_ENABLE_LOCALE # libinput
|
||||
depends on BR2_PACKAGE_EFL_EEZE
|
||||
select BR2_PACKAGE_LIBINPUT
|
||||
select BR2_PACKAGE_LIBXKBCOMMON
|
||||
@@ -225,23 +228,24 @@ config BR2_PACKAGE_EFL_ELPUT
|
||||
ecore_drm, etc) to handle interfacing with libinput without
|
||||
having to duplicate the code in each subsystem.
|
||||
|
||||
comment "Elput support needs udev /dev management (eeze)"
|
||||
depends on !BR2_PACKAGE_EFL_EEZE
|
||||
comment "Elput support needs udev /dev management (eeze), locales"
|
||||
depends on !BR2_PACKAGE_EFL_EEZE || !BR2_ENABLE_LOCALE
|
||||
|
||||
config BR2_PACKAGE_EFL_DRM
|
||||
bool "Evas DRM Engine"
|
||||
depends on BR2_PACKAGE_EFL_EEZE
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
|
||||
depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # require libgbm from mesa3d
|
||||
depends on BR2_ENABLE_LOCALE # efl-elput <- libinput
|
||||
select BR2_PACKAGE_EFL_ELPUT
|
||||
select BR2_PACKAGE_LIBDRM
|
||||
select BR2_PACKAGE_LIBXKBCOMMON
|
||||
help
|
||||
This option enable building support for the Evas DRM Engine.
|
||||
|
||||
comment "Evas DRM Engine needs udev /dev management (eeze) and mesa3d w/ EGL support, threads"
|
||||
comment "Evas DRM Engine needs udev /dev management (eeze), mesa3d w/ EGL support, threads, locales"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL \
|
||||
|| !BR2_PACKAGE_EFL_EEZE
|
||||
|| !BR2_PACKAGE_EFL_EEZE || !BR2_ENABLE_LOCALE
|
||||
|
||||
comment "libevas loaders"
|
||||
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
Add a --{enable,disable}-progs configure option
|
||||
From dfea82b761b2ea4708fbf9370a5467ae4be525ca Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Mon, 29 May 2017 23:03:48 +0300
|
||||
Subject: [PATCH] Add a --{enable,disable}-progs configure option
|
||||
|
||||
Add a --{enable,disable}-progs configuration option to elfutils. This
|
||||
allows to selectively disable the compilation of the elfutils programs
|
||||
@@ -13,26 +16,15 @@ Based on the former patch by Thomas Petazzoni.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
|
||||
---
|
||||
Makefile.am | 6 +++++-
|
||||
configure.ac | 6 ++++++
|
||||
2 files changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff -rup a/configure.ac b/configure.ac
|
||||
--- a/configure.ac 2016-03-31 09:48:08.000000000 +0100
|
||||
+++ b/configure.ac 2016-06-17 14:47:03.561704498 +0100
|
||||
@@ -253,6 +253,12 @@ AC_SUBST([LIBEBL_SUBDIR])
|
||||
AC_DEFINE_UNQUOTED(LIBEBL_SUBDIR, "$LIBEBL_SUBDIR")
|
||||
AH_TEMPLATE([LIBEBL_SUBDIR], [$libdir subdirectory containing libebl modules.])
|
||||
|
||||
+AC_ARG_ENABLE([progs],
|
||||
+ AS_HELP_STRING([--enable-progs], [enable progs]),
|
||||
+ enable_progs=$enableval,
|
||||
+ enable_progs=yes)
|
||||
+AM_CONDITIONAL(ENABLE_PROGS, test "$enable_progs" = yes)
|
||||
+
|
||||
dnl zlib is mandatory.
|
||||
save_LIBS="$LIBS"
|
||||
LIBS=
|
||||
diff -rup a/Makefile.am b/Makefile.am
|
||||
--- a/Makefile.am 2016-01-12 12:49:19.000000000 +0000
|
||||
+++ b/Makefile.am 2016-06-17 14:48:02.585861468 +0100
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 2ff444e7bf1d..70443abb4fb6 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -26,9 +26,13 @@ AM_MAKEFLAGS = --no-print-directory
|
||||
|
||||
pkginclude_HEADERS = version.h
|
||||
@@ -48,3 +40,23 @@ diff -rup a/Makefile.am b/Makefile.am
|
||||
|
||||
EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
|
||||
COPYING COPYING-GPLV2 COPYING-LGPLV3
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index c2c1d90b2133..7b4c38381cca 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -259,6 +259,12 @@ AC_SUBST([LIBEBL_SUBDIR])
|
||||
AC_DEFINE_UNQUOTED(LIBEBL_SUBDIR, "$LIBEBL_SUBDIR")
|
||||
AH_TEMPLATE([LIBEBL_SUBDIR], [$libdir subdirectory containing libebl modules.])
|
||||
|
||||
+AC_ARG_ENABLE([progs],
|
||||
+ AS_HELP_STRING([--enable-progs], [enable progs]),
|
||||
+ enable_progs=$enableval,
|
||||
+ enable_progs=yes)
|
||||
+AM_CONDITIONAL(ENABLE_PROGS, test "$enable_progs" = yes)
|
||||
+
|
||||
dnl zlib is mandatory.
|
||||
save_LIBS="$LIBS"
|
||||
LIBS=
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
Add an implementation of the fts_*() functions
|
||||
From 098760f7eac1fb86b3f6871d5bb10f9f44468f2d Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Mon, 29 May 2017 23:08:05 +0300
|
||||
Subject: [PATCH] Add an implementation of the fts_*() functions
|
||||
|
||||
The fts_*() functions are optional in uClibc, and not compiled in our
|
||||
default configuration. The best option would be to migrate this
|
||||
@@ -28,11 +31,21 @@ Based on the former patch by Thomas Petazzoni.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
|
||||
---
|
||||
configure.ac | 4 +
|
||||
libdwfl/Makefile.am | 3 +
|
||||
libdwfl/fts.c | 1095 ++++++++++++++++++++++++++++++++++++++++
|
||||
libdwfl/fts_.h | 131 +++++
|
||||
libdwfl/linux-kernel-modules.c | 4 +
|
||||
5 files changed, 1237 insertions(+)
|
||||
create mode 100644 libdwfl/fts.c
|
||||
create mode 100644 libdwfl/fts_.h
|
||||
|
||||
diff -Nrup a/configure.ac b/configure.ac
|
||||
--- a/configure.ac 2016-06-17 14:47:03.561704498 +0100
|
||||
+++ b/configure.ac 2016-06-17 14:52:35.038200412 +0100
|
||||
@@ -259,6 +259,10 @@ AC_ARG_ENABLE([progs],
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7b4c38381cca..bcebb05fa532 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -265,6 +265,10 @@ AC_ARG_ENABLE([progs],
|
||||
enable_progs=yes)
|
||||
AM_CONDITIONAL(ENABLE_PROGS, test "$enable_progs" = yes)
|
||||
|
||||
@@ -43,9 +56,25 @@ diff -Nrup a/configure.ac b/configure.ac
|
||||
dnl zlib is mandatory.
|
||||
save_LIBS="$LIBS"
|
||||
LIBS=
|
||||
diff -Nrup a/libdwfl/fts.c b/libdwfl/fts.c
|
||||
--- a/libdwfl/fts.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/libdwfl/fts.c 2016-06-17 14:57:26.649912084 +0100
|
||||
diff --git a/libdwfl/Makefile.am b/libdwfl/Makefile.am
|
||||
index 89ca92ed8110..a5a5615c5f94 100644
|
||||
--- a/libdwfl/Makefile.am
|
||||
+++ b/libdwfl/Makefile.am
|
||||
@@ -77,6 +77,9 @@ endif
|
||||
if LZMA
|
||||
libdwfl_a_SOURCES += lzma.c
|
||||
endif
|
||||
+if !HAVE_FTS
|
||||
+libdwfl_a_SOURCES += fts.c
|
||||
+endif
|
||||
|
||||
libdwfl = $(libdw)
|
||||
libdw = ../libdw/libdw.so
|
||||
diff --git a/libdwfl/fts.c b/libdwfl/fts.c
|
||||
new file mode 100644
|
||||
index 000000000000..f34cc03bd963
|
||||
--- /dev/null
|
||||
+++ b/libdwfl/fts.c
|
||||
@@ -0,0 +1,1095 @@
|
||||
+/*-
|
||||
+ * Copyright (c) 1990, 1993, 1994
|
||||
@@ -1142,9 +1171,11 @@ diff -Nrup a/libdwfl/fts.c b/libdwfl/fts.c
|
||||
+ errno = oerrno;
|
||||
+ return (ret);
|
||||
+}
|
||||
diff -Nrup a/libdwfl/fts_.h b/libdwfl/fts_.h
|
||||
--- a/libdwfl/fts_.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/libdwfl/fts_.h 2016-06-17 14:58:42.003387566 +0100
|
||||
diff --git a/libdwfl/fts_.h b/libdwfl/fts_.h
|
||||
new file mode 100644
|
||||
index 000000000000..0a070ba8dce5
|
||||
--- /dev/null
|
||||
+++ b/libdwfl/fts_.h
|
||||
@@ -0,0 +1,131 @@
|
||||
+/*
|
||||
+ * Copyright (c) 1989, 1993
|
||||
@@ -1277,31 +1308,25 @@ diff -Nrup a/libdwfl/fts_.h b/libdwfl/fts_.h
|
||||
+__END_DECLS
|
||||
+
|
||||
+#endif /* fts.h */
|
||||
diff -Nrup a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c
|
||||
--- a/libdwfl/linux-kernel-modules.c 2016-03-02 16:25:38.000000000 +0000
|
||||
+++ b/libdwfl/linux-kernel-modules.c 2016-06-17 14:59:50.267724089 +0100
|
||||
@@ -29,7 +29,11 @@
|
||||
/* We include this before config.h because it can't handle _FILE_OFFSET_BITS.
|
||||
Everything we need here is fine if its declarations just come first. */
|
||||
|
||||
diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c
|
||||
index 9d0fef2cf260..47f0e3892294 100644
|
||||
--- a/libdwfl/linux-kernel-modules.c
|
||||
+++ b/libdwfl/linux-kernel-modules.c
|
||||
@@ -31,10 +31,14 @@
|
||||
Everything we need here is fine if its declarations just come first.
|
||||
Also, include sys/types.h before fts. On some systems fts.h is not self
|
||||
contained. */
|
||||
+#ifdef HAVE_FTS_H
|
||||
#include <fts.h>
|
||||
#ifdef BAD_FTS
|
||||
#include <sys/types.h>
|
||||
#include <fts.h>
|
||||
#endif
|
||||
+#else
|
||||
+#include <fts_.h>
|
||||
+#endif
|
||||
|
||||
#include <config.h>
|
||||
|
||||
diff -Nrup a/libdwfl/Makefile.am b/libdwfl/Makefile.am
|
||||
--- a/libdwfl/Makefile.am 2016-01-12 12:49:19.000000000 +0000
|
||||
+++ b/libdwfl/Makefile.am 2016-06-17 15:01:03.492157569 +0100
|
||||
@@ -77,6 +77,9 @@ endif
|
||||
if LZMA
|
||||
libdwfl_a_SOURCES += lzma.c
|
||||
endif
|
||||
+if !HAVE_FTS
|
||||
+libdwfl_a_SOURCES += fts.c
|
||||
+endif
|
||||
|
||||
libdwfl = $(libdw)
|
||||
libdw = ../libdw/libdw.so
|
||||
#include <system.h>
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
Really make -Werror conditional to BUILD_WERROR
|
||||
From 1d8f27d73df6369b19ddd6732960df0d4fdec338 Mon Sep 17 00:00:00 2001
|
||||
From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
|
||||
Date: Mon, 29 May 2017 23:24:42 +0300
|
||||
Subject: [PATCH] Really make -Werror conditional to BUILD_WERROR
|
||||
|
||||
Otherwise it will fail with an error message like this one:
|
||||
|
||||
@@ -12,15 +15,22 @@ cc1: all warnings being treated as errors
|
||||
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
|
||||
---
|
||||
config/eu.am | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff -rup a/config/eu.am b/config/eu.am
|
||||
--- a/config/eu.am 2016-03-02 16:25:38.000000000 +0000
|
||||
+++ b/config/eu.am 2016-06-17 15:05:08.270974835 +0100
|
||||
@@ -65,7 +65,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -W
|
||||
diff --git a/config/eu.am b/config/eu.am
|
||||
index 8fe1e259f9e2..c5a6209a4e04 100644
|
||||
--- a/config/eu.am
|
||||
+++ b/config/eu.am
|
||||
@@ -71,7 +71,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
|
||||
-Wold-style-definition -Wstrict-prototypes \
|
||||
$(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
|
||||
$(NULL_DEREFERENCE_WARNING) \
|
||||
$(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
|
||||
- $(if $($(*F)_no_Werror),,-Werror) \
|
||||
$(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
|
||||
$(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \
|
||||
$($(*F)_CFLAGS)
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ config BR2_PACKAGE_ELFUTILS
|
||||
Note that this option only installs the libraries, and not
|
||||
the programs.
|
||||
|
||||
https://fedorahosted.org/elfutils
|
||||
https://sourceware.org/elfutils/
|
||||
|
||||
if BR2_PACKAGE_ELFUTILS
|
||||
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 3c056914c8a438b210be0d790463b960fc79d234c3f05ce707cbff80e94cba30 elfutils-0.166.tar.bz2
|
||||
# From https://sourceware.org/elfutils/ftp/0.169/sha512.sum
|
||||
sha512 0a81a20bb2aff533d035d6b76f1403437b2e11bce390db57e34b8c26e4b9b3150346d83dddcbfbbdc58063f046ca3223508dba35c6ce88e375d201e7a777a8b9 elfutils-0.169.tar.bz2
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ELFUTILS_VERSION = 0.166
|
||||
ELFUTILS_VERSION = 0.169
|
||||
ELFUTILS_SOURCE = elfutils-$(ELFUTILS_VERSION).tar.bz2
|
||||
ELFUTILS_SITE = https://fedorahosted.org/releases/e/l/elfutils/$(ELFUTILS_VERSION)
|
||||
ELFUTILS_SITE = https://sourceware.org/elfutils/ftp/$(ELFUTILS_VERSION)
|
||||
ELFUTILS_INSTALL_STAGING = YES
|
||||
ELFUTILS_LICENSE = GPLv2+ or LGPLv3+ (library)
|
||||
ELFUTILS_LICENSE_FILES = COPYING-GPLV2 COPYING-LGPLV3
|
||||
@@ -20,11 +20,9 @@ HOST_ELFUTILS_AUTORECONF = YES
|
||||
# Pass a custom program prefix to avoid a naming conflict between
|
||||
# elfutils binaries and binutils binaries.
|
||||
ELFUTILS_CONF_OPTS += \
|
||||
--disable-werror \
|
||||
--program-prefix="eu-"
|
||||
|
||||
HOST_ELFUTILS_CONF_OPTS = \
|
||||
--disable-werror \
|
||||
--with-bzlib \
|
||||
--with-lzma \
|
||||
--disable-progs
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
FAKEROOT_VERSION = 1.20.2
|
||||
FAKEROOT_SOURCE = fakeroot_$(FAKEROOT_VERSION).orig.tar.bz2
|
||||
FAKEROOT_SITE = http://snapshot.debian.org/archive/debian/20141005T221953Z/pool/main/f/fakeroot
|
||||
|
||||
HOST_FAKEROOT_DEPENDENCIES = host-acl
|
||||
# Force capabilities detection off
|
||||
# For now these are process capabilities (faked) rather than file
|
||||
# so they're of no real use
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From e85a157b51b1276c91c736d8624d9f3e876e9189 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Rammhold <andreas@rammhold.de>
|
||||
Date: Tue, 20 Dec 2016 19:25:32 +0100
|
||||
Subject: [PATCH] Disable the non-null compare warning/error.
|
||||
|
||||
We rely on the provided local library definitions for the hooked
|
||||
functions which in some cases (GCC >6) carry a non-null-attribute flag
|
||||
which causes compile errors on `!= NULL` checks.
|
||||
|
||||
[Romain: rebase on 0.9.6]
|
||||
(cherry picked from commit 47e958b753fc15098a2b7d0e9ef26b83ee255874)
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
src/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index 51634b0..bbbd476 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -67,7 +67,7 @@ INSTALL ?= install
|
||||
PREFIX ?= /usr/local
|
||||
LIBDIRNAME ?= /lib/faketime
|
||||
|
||||
-CFLAGS += -std=gnu99 -Wall -Wextra -Werror -DFAKE_STAT -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"'
|
||||
+CFLAGS += -std=gnu99 -Wall -Wextra -Werror -Wno-nonnull-compare -DFAKE_STAT -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"'
|
||||
LIB_LDFLAGS += -shared
|
||||
LDFLAGS += -Wl,--version-script=libfaketime.map -lpthread
|
||||
LDADD += -ldl -lm -lrt
|
||||
--
|
||||
2.9.3
|
||||
|
||||
@@ -11,7 +11,7 @@ FBGRAB_LICENSE = GPLv2
|
||||
FBGRAB_LICENSE_FILES = COPYING
|
||||
|
||||
define FBGRAB_BUILD_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
|
||||
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) fbgrab
|
||||
endef
|
||||
|
||||
define FBGRAB_INSTALL_TARGET_CMDS
|
||||
|
||||
@@ -11,8 +11,8 @@ FILEMQ_AUTORECONF = YES
|
||||
FILEMQ_CONF_ENV = filemq_have_asciidoc=no
|
||||
FILEMQ_INSTALL_STAGING = YES
|
||||
FILEMQ_DEPENDENCIES = czmq openssl zeromq
|
||||
FILEMQ_LICENSE = LGPLv3+ with exceptions
|
||||
FILEMQ_LICENSE_FILES = COPYING COPYING.LESSER
|
||||
FILEMQ_LICENSE = MPLv2.0
|
||||
FILEMQ_LICENSE_FILES = LICENSE
|
||||
|
||||
define FILEMQ_CREATE_CONFIG_DIR
|
||||
mkdir -p $(@D)/config
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
hwaccess: sys/io.h is not specific to glibc
|
||||
|
||||
Under Linux, sys/io.h provides inb and outb, so we really need it.
|
||||
However, its inclusion is conditional to the _GLIBC_ define. This is
|
||||
usually OK under Linux, since both glibc and uClibc define it (uclibc
|
||||
fakes being glibc).
|
||||
|
||||
But the musl C library does not impersonate glibc, so we're missing
|
||||
including sys/io.h in this case.
|
||||
|
||||
Change the include from checking _GLIBC_ to checking whether this is
|
||||
Linux, looking for the __linux__ define.
|
||||
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
diff -durN flashrom-0.9.8.orig/hwaccess.h flashrom-0.9.8/hwaccess.h
|
||||
--- flashrom-0.9.8.orig/hwaccess.h 2015-02-10 09:03:10.000000000 +0100
|
||||
+++ flashrom-0.9.8/hwaccess.h 2015-10-28 20:01:54.259202484 +0100
|
||||
@@ -27,7 +27,7 @@
|
||||
#include "platform.h"
|
||||
|
||||
#if IS_X86
|
||||
-#if defined(__GLIBC__)
|
||||
+#if defined(__linux__)
|
||||
#include <sys/io.h>
|
||||
#endif
|
||||
#endif
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 13dc7c895e583111ecca370363a3527d237d178a134a94b20db7df177c05f934 flashrom-0.9.8.tar.bz2
|
||||
sha256 cb3156b0f63eb192024b76c0814135930297aac41f80761a5d293de769783c45 flashrom-0.9.9.tar.bz2
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
FLASHROM_VERSION = 0.9.8
|
||||
FLASHROM_VERSION = 0.9.9
|
||||
FLASHROM_SOURCE = flashrom-$(FLASHROM_VERSION).tar.bz2
|
||||
FLASHROM_SITE = http://download.flashrom.org/releases
|
||||
FLASHROM_DEPENDENCIES = pciutils libusb libusb-compat libftdi host-pkgconf
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally Computed
|
||||
sha256sum a91e0c9b7c7f238634c64a755c05671f33f2acdb6ae2d09cad4d683b364ee8e4 fmc-fsl-sdk-v2.0.tar.gz
|
||||
# Locally calculated
|
||||
sha256 a91e0c9b7c7f238634c64a755c05671f33f2acdb6ae2d09cad4d683b364ee8e4 fmc-fsl-sdk-v2.0.tar.gz
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
From f958c48ee431bef8d4d466b40c9cb2d4dbcb7791 Mon Sep 17 00:00:00 2001
|
||||
From: Werner Lemberg <wl@gnu.org>
|
||||
Date: Fri, 24 Mar 2017 09:15:10 +0100
|
||||
Subject: [PATCH] [psaux] Better protect `flex' handling.
|
||||
|
||||
Reported as
|
||||
|
||||
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=935
|
||||
|
||||
* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
|
||||
<callothersubr>: Since there is not a single flex operator but a
|
||||
series of subroutine calls, malformed fonts can call arbitrary other
|
||||
operators after the start of a flex, possibly adding points. For
|
||||
this reason we have to check the available number of points before
|
||||
inserting a point.
|
||||
|
||||
Fixes CVE-2017-8105
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
diff --git a/src/psaux/t1decode.c b/src/psaux/t1decode.c
|
||||
index af7b465e..7dd45135 100644
|
||||
--- a/src/psaux/t1decode.c
|
||||
+++ b/src/psaux/t1decode.c
|
||||
@@ -780,10 +780,19 @@
|
||||
/* point without adding any point to the outline */
|
||||
idx = decoder->num_flex_vectors++;
|
||||
if ( idx > 0 && idx < 7 )
|
||||
+ {
|
||||
+ /* in malformed fonts it is possible to have other */
|
||||
+ /* opcodes in the middle of a flex (which don't */
|
||||
+ /* increase `num_flex_vectors'); we thus have to */
|
||||
+ /* check whether we can add a point */
|
||||
+ if ( FT_SET_ERROR( t1_builder_check_points( builder, 1 ) ) )
|
||||
+ goto Syntax_Error;
|
||||
+
|
||||
t1_builder_add_point( builder,
|
||||
x,
|
||||
y,
|
||||
(FT_Byte)( idx == 3 || idx == 6 ) );
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From 3774fc08b502c3e685afca098b6e8a195aded6a0 Mon Sep 17 00:00:00 2001
|
||||
From: Werner Lemberg <wl@gnu.org>
|
||||
Date: Sun, 26 Mar 2017 08:32:09 +0200
|
||||
Subject: [PATCH] * src/psaux/psobjs.c (t1_builder_close_contour): Add safety
|
||||
guard.
|
||||
|
||||
Reported as
|
||||
|
||||
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=941
|
||||
|
||||
Fixes CVE-2017-8287
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c
|
||||
index d18e821a..0baf8368 100644
|
||||
--- a/src/psaux/psobjs.c
|
||||
+++ b/src/psaux/psobjs.c
|
||||
@@ -1718,6 +1718,14 @@
|
||||
first = outline->n_contours <= 1
|
||||
? 0 : outline->contours[outline->n_contours - 2] + 1;
|
||||
|
||||
+ /* in malformed fonts it can happen that a contour was started */
|
||||
+ /* but no points were added */
|
||||
+ if ( outline->n_contours && first == outline->n_points )
|
||||
+ {
|
||||
+ outline->n_contours--;
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
/* We must not include the last point in the path if it */
|
||||
/* is located on the first point. */
|
||||
if ( outline->n_points > 1 )
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -10,7 +10,7 @@ FREETYPE_SITE = http://download.savannah.gnu.org/releases/freetype
|
||||
FREETYPE_INSTALL_STAGING = YES
|
||||
FREETYPE_MAKE_OPTS = CCexe="$(HOSTCC)"
|
||||
FREETYPE_LICENSE = Dual FTL/GPLv2+
|
||||
FREETYPE_LICENSE_FILES = docs/FTL.TXT docs/GPLv2.TXT
|
||||
FREETYPE_LICENSE_FILES = docs/LICENSE.TXT docs/FTL.TXT docs/GPLv2.TXT
|
||||
FREETYPE_DEPENDENCIES = host-pkgconf
|
||||
FREETYPE_CONFIG_SCRIPTS = freetype-config
|
||||
|
||||
|
||||
@@ -5,4 +5,4 @@ config BR2_PACKAGE_FTOP
|
||||
Ftop is to files what top is to processes.
|
||||
The progress of all open files and file systems can be monitored.
|
||||
|
||||
https://code.google.com/p/ftop/
|
||||
https://sourceforge.net/projects/ftop/
|
||||
|
||||
@@ -1,2 +1,5 @@
|
||||
# From https://code.google.com/p/ftop/downloads/detail?name=ftop-1.0.tar.gz&can=2&q=
|
||||
sha1 a0523862dd63ed3bec14846b6e05afcfdebb15c2 ftop-1.0.tar.gz
|
||||
# From https://sourceforge.net/projects/ftop/files/ftop/1.0/
|
||||
md5 57c68b6e7431f4219d9eddaebcb395da ftop-1.0.tar.bz2
|
||||
sha1 d3ef1b74825f50c7c442d299b29d23c2478f199b ftop-1.0.tar.bz2
|
||||
# Locally computed
|
||||
sha256 3a705f4f291384344cd32c3dd5f5f6a7cd7cea7624c83cb7e923966dbcd47f82 ftop-1.0.tar.bz2
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
################################################################################
|
||||
|
||||
FTOP_VERSION = 1.0
|
||||
FTOP_SITE = http://ftop.googlecode.com/files
|
||||
FTOP_SOURCE = ftop-$(FTOP_VERSION).tar.bz2
|
||||
FTOP_SITE = https://sourceforge.net/projects/ftop/files/ftop/$(FTOP_VERSION)
|
||||
FTOP_DEPENDENCIES = ncurses
|
||||
FTOP_LICENSE = GPLv3+
|
||||
FTOP_LICENSE_FILES = COPYING
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 4c6367c99461fdd7bd5613483f2582d7f08fba87 Mon Sep 17 00:00:00 2001
|
||||
From: Vlad Zakharov <vzakhar@synopsys.com>
|
||||
Date: Tue, 28 Feb 2017 17:41:11 +0300
|
||||
Subject: [PATCH] arc: define _REENTRANT when -pthread is passed
|
||||
|
||||
The compiler is supposed to have the builtin defined _REENTRANT defined
|
||||
when -pthread is passed, which wasn't done on the ARC architecture.
|
||||
|
||||
When _REENTRANT is not passed, the C library will not use reentrant
|
||||
functions, and the latest version of ax_pthread.m4 from the
|
||||
autoconf-archive will no longer detect that thread support is
|
||||
available (see https://savannah.gnu.org/patch/?8186).
|
||||
|
||||
Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
gcc/config/arc/arc.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/gcc/config/arc/arc.h b/gcc/config/arc/arc.h
|
||||
index 611ef54..fdd4b5d 100644
|
||||
--- a/gcc/config/arc/arc.h
|
||||
+++ b/gcc/config/arc/arc.h
|
||||
@@ -93,6 +93,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
%{mdsp-packa:-D__Xdsp_packa} %{mcrc:-D__Xcrc} %{mdvbf:-D__Xdvbf} \
|
||||
%{mtelephony:-D__Xtelephony} %{mxy:-D__Xxy} %{mmul64: -D__Xmult32} \
|
||||
%{mlock:-D__Xlock} %{mswape:-D__Xswape} %{mrtsc:-D__Xrtsc} \
|
||||
+%{pthread:-D_REENTRANT} \
|
||||
%{mcpu=nps400:-D__NPS400__}"
|
||||
|
||||
#define CC1_SPEC "\
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -67,13 +67,6 @@ GDB_DISABLE_BINUTILS_CONF_OPTS = \
|
||||
--disable-ld \
|
||||
--disable-gas
|
||||
|
||||
# Starting with gdb 7.11, the bundled gnulib tries to use
|
||||
# rpl_gettimeofday (gettimeofday replacement) due to the code being
|
||||
# unable to determine if the replacement function should be used or
|
||||
# not when cross-compiling with uClibc or musl as C libraries. So use
|
||||
# gl_cv_func_gettimeofday_clobber=no to not use rpl_gettimeofday,
|
||||
# assuming musl and uClibc have a properly working gettimeofday
|
||||
# implementation.
|
||||
GDB_CONF_ENV = \
|
||||
ac_cv_type_uintptr_t=yes \
|
||||
gt_cv_func_gettext_libintl=yes \
|
||||
@@ -83,8 +76,20 @@ GDB_CONF_ENV = \
|
||||
bash_cv_must_reinstall_sighandlers=no \
|
||||
bash_cv_func_sigsetjmp=present \
|
||||
bash_cv_have_mbstate_t=yes \
|
||||
gdb_cv_func_sigsetjmp=yes \
|
||||
gl_cv_func_gettimeofday_clobber=no
|
||||
gdb_cv_func_sigsetjmp=yes
|
||||
|
||||
# Starting with gdb 7.11, the bundled gnulib tries to use
|
||||
# rpl_gettimeofday (gettimeofday replacement) due to the code being
|
||||
# unable to determine if the replacement function should be used or
|
||||
# not when cross-compiling with uClibc or musl as C libraries. So use
|
||||
# gl_cv_func_gettimeofday_clobber=no to not use rpl_gettimeofday,
|
||||
# assuming musl and uClibc have a properly working gettimeofday
|
||||
# implementation. It needs to be passed to GDB_CONF_ENV to build
|
||||
# gdbserver only but also to GDB_MAKE_ENV, because otherwise it does
|
||||
# not get passed to the configure script of nested packages while
|
||||
# building gdbserver with full debugger.
|
||||
GDB_CONF_ENV += gl_cv_func_gettimeofday_clobber=no
|
||||
GDB_MAKE_ENV = gl_cv_func_gettimeofday_clobber=no
|
||||
|
||||
# The shared only build is not supported by gdb, so enable static build for
|
||||
# build-in libraries with --enable-static.
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From 4f83478c88c2e05d6e8d79ca4557eb039354d2f3 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Liddell <chris.liddell@artifex.com>
|
||||
Date: Thu, 27 Apr 2017 13:03:33 +0100
|
||||
Subject: [PATCH] Bug 697799: have .eqproc check its parameters
|
||||
|
||||
The Ghostscript custom operator .eqproc was not check the number or type of
|
||||
the parameters it was given.
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
psi/zmisc3.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/psi/zmisc3.c b/psi/zmisc3.c
|
||||
index 54b304246..37293ff4b 100644
|
||||
--- a/psi/zmisc3.c
|
||||
+++ b/psi/zmisc3.c
|
||||
@@ -56,6 +56,12 @@ zeqproc(i_ctx_t *i_ctx_p)
|
||||
ref2_t stack[MAX_DEPTH + 1];
|
||||
ref2_t *top = stack;
|
||||
|
||||
+ if (ref_stack_count(&o_stack) < 2)
|
||||
+ return_error(gs_error_stackunderflow);
|
||||
+ if (!r_is_array(op - 1) || !r_is_array(op)) {
|
||||
+ return_error(gs_error_typecheck);
|
||||
+ }
|
||||
+
|
||||
make_array(&stack[0].proc1, 0, 1, op - 1);
|
||||
make_array(&stack[0].proc2, 0, 1, op);
|
||||
for (;;) {
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
From 04b37bbce174eed24edec7ad5b920eb93db4d47d Mon Sep 17 00:00:00 2001
|
||||
From: Chris Liddell <chris.liddell@artifex.com>
|
||||
Date: Thu, 27 Apr 2017 13:21:31 +0100
|
||||
Subject: [PATCH] Bug 697799: have .rsdparams check its parameters
|
||||
|
||||
The Ghostscript internal operator .rsdparams wasn't checking the number or
|
||||
type of the operands it was being passed. Do so.
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
psi/zfrsd.c | 22 +++++++++++++++-------
|
||||
1 file changed, 15 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/psi/zfrsd.c b/psi/zfrsd.c
|
||||
index 191107d8a..950588d69 100644
|
||||
--- a/psi/zfrsd.c
|
||||
+++ b/psi/zfrsd.c
|
||||
@@ -49,13 +49,20 @@ zrsdparams(i_ctx_t *i_ctx_p)
|
||||
ref *pFilter;
|
||||
ref *pDecodeParms;
|
||||
int Intent = 0;
|
||||
- bool AsyncRead;
|
||||
+ bool AsyncRead = false;
|
||||
ref empty_array, filter1_array, parms1_array;
|
||||
uint i;
|
||||
- int code;
|
||||
+ int code = 0;
|
||||
+
|
||||
+ if (ref_stack_count(&o_stack) < 1)
|
||||
+ return_error(gs_error_stackunderflow);
|
||||
+ if (!r_has_type(op, t_dictionary) && !r_has_type(op, t_null)) {
|
||||
+ return_error(gs_error_typecheck);
|
||||
+ }
|
||||
|
||||
make_empty_array(&empty_array, a_readonly);
|
||||
- if (dict_find_string(op, "Filter", &pFilter) > 0) {
|
||||
+ if (r_has_type(op, t_dictionary)
|
||||
+ && dict_find_string(op, "Filter", &pFilter) > 0) {
|
||||
if (!r_is_array(pFilter)) {
|
||||
if (!r_has_type(pFilter, t_name))
|
||||
return_error(gs_error_typecheck);
|
||||
@@ -94,12 +101,13 @@ zrsdparams(i_ctx_t *i_ctx_p)
|
||||
return_error(gs_error_typecheck);
|
||||
}
|
||||
}
|
||||
- code = dict_int_param(op, "Intent", 0, 3, 0, &Intent);
|
||||
+ if (r_has_type(op, t_dictionary))
|
||||
+ code = dict_int_param(op, "Intent", 0, 3, 0, &Intent);
|
||||
if (code < 0 && code != gs_error_rangecheck) /* out-of-range int is ok, use 0 */
|
||||
return code;
|
||||
- if ((code = dict_bool_param(op, "AsyncRead", false, &AsyncRead)) < 0
|
||||
- )
|
||||
- return code;
|
||||
+ if (r_has_type(op, t_dictionary))
|
||||
+ if ((code = dict_bool_param(op, "AsyncRead", false, &AsyncRead)) < 0)
|
||||
+ return code;
|
||||
push(1);
|
||||
op[-1] = *pFilter;
|
||||
if (pDecodeParms)
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# From: https://www.kernel.org/pub/software/scm/git/sha256sums.asc
|
||||
sha256 c0a779cae325d48a1d5ba08b6ee1febcc31d0657a6da01fd1dec1c6e10976415 git-2.11.1.tar.xz
|
||||
sha256 016124c54ce2db7a4c2bd26b0de21fbf8f6bcaee04842aa221c7243141df4e42 git-2.12.3.tar.xz
|
||||
|
||||
@@ -4,13 +4,17 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GIT_VERSION = 2.11.1
|
||||
GIT_VERSION = 2.12.3
|
||||
GIT_SOURCE = git-$(GIT_VERSION).tar.xz
|
||||
GIT_SITE = https://www.kernel.org/pub/software/scm/git
|
||||
GIT_LICENSE = GPLv2, LGPLv2.1+
|
||||
GIT_LICENSE_FILES = COPYING LGPL-2.1
|
||||
GIT_DEPENDENCIES = zlib host-gettext
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GETTEXT),y)
|
||||
GIT_DEPENDENCIES += gettext
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
||||
GIT_DEPENDENCIES += openssl
|
||||
GIT_CONF_OPTS += --with-openssl
|
||||
@@ -19,8 +23,8 @@ else
|
||||
GIT_CONF_OPTS += --without-openssl
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PERL),y)
|
||||
GIT_DEPENDENCIES += perl
|
||||
ifeq ($(BR2_PACKAGE_PCRE),y)
|
||||
GIT_DEPENDENCIES += pcre
|
||||
GIT_CONF_OPTS += --with-libpcre
|
||||
else
|
||||
GIT_CONF_OPTS += --without-libpcre
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
From dbb9ecfaac8db022292791936733e0841a0aa447 Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Neyman <stilor@att.net>
|
||||
Date: Wed, 8 Feb 2017 16:00:57 -0200
|
||||
Subject: [PATCH] sh: Fix building with gcc5/6
|
||||
|
||||
Build glibc for sh4-unknown-linux-gnu currently fails if one's
|
||||
using GCC5/6: in dl-conflict.c, the elf_machine_rela() function
|
||||
is called with NULL as its 3rd argument, sym. The implementation
|
||||
of that function in sysdeps/sh/dl-machine.h dereferences that pointer:
|
||||
|
||||
const Elf32_Sym *const refsym = sym;
|
||||
...
|
||||
if (map == &GL(dl_rtld_map))
|
||||
value -= map->l_addr + refsym->st_value + reloc->r_addend;
|
||||
|
||||
GCC discovers a null pointer dereference, and in accordance with
|
||||
-fdelete-null-pointer-checks (which is enabled in -O2) replaces this
|
||||
code with a trap - which, as SH does not implement a trap pattern in
|
||||
GCC, evaluates to an abort() call. This abort() call pulls many more
|
||||
objects from libc_nonshared.a, eventually resulting in link failure
|
||||
due to multiple definitions for a number of symbols.
|
||||
|
||||
As far as I see, the conditional before this code is always false in
|
||||
rtld: _dl_resolve_conflicts() is called with main_map as the first
|
||||
argument, not GL(_dl_rtld_map), but since that call is in yet another
|
||||
compilation unit, GCC does not know about it. Patch that wraps this
|
||||
conditional into !defined RESOLVE_CONFLICT_FIND_MAP attached.
|
||||
|
||||
* sysdeps/sh/dl-machine.h (elf_machine_rela): The condition
|
||||
in R_SH_DIR32 case is always false when inlined from
|
||||
dl-conflict.c. Ifdef out to prevent GCC from insertin an
|
||||
abort() call.
|
||||
|
||||
[Waldemar: backport of
|
||||
https://sourceware.org/git/?p=glibc.git;a=commit;h=d40dbe722f004f999b589de776f7e57e564dda01.]
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
---
|
||||
sysdeps/sh/dl-machine.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sysdeps/sh/dl-machine.h b/sysdeps/sh/dl-machine.h
|
||||
index 5bb37d0..6509055 100644
|
||||
--- a/sysdeps/sh/dl-machine.h
|
||||
+++ b/sysdeps/sh/dl-machine.h
|
||||
@@ -389,7 +389,7 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
|
||||
break;
|
||||
case R_SH_DIR32:
|
||||
{
|
||||
-#ifndef RTLD_BOOTSTRAP
|
||||
+#if !defined RTLD_BOOTSTRAP && !defined RESOLVE_CONFLICT_FIND_MAP
|
||||
/* This is defined in rtld.c, but nowhere in the static
|
||||
libc.a; make the reference weak so static programs can
|
||||
still link. This declaration cannot be done when
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
From 98cadd4b9fa8e32d1d0dea8e46b5ba829af4e8a2 Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Neyman <stilor@att.net>
|
||||
Date: Wed, 8 Feb 2017 16:00:57 -0200
|
||||
Subject: [PATCH] sh: Fix building with gcc5/6
|
||||
|
||||
Build glibc for sh4-unknown-linux-gnu currently fails if one's
|
||||
using GCC5/6: in dl-conflict.c, the elf_machine_rela() function
|
||||
is called with NULL as its 3rd argument, sym. The implementation
|
||||
of that function in sysdeps/sh/dl-machine.h dereferences that pointer:
|
||||
|
||||
const Elf32_Sym *const refsym = sym;
|
||||
...
|
||||
if (map == &GL(dl_rtld_map))
|
||||
value -= map->l_addr + refsym->st_value + reloc->r_addend;
|
||||
|
||||
GCC discovers a null pointer dereference, and in accordance with
|
||||
-fdelete-null-pointer-checks (which is enabled in -O2) replaces this
|
||||
code with a trap - which, as SH does not implement a trap pattern in
|
||||
GCC, evaluates to an abort() call. This abort() call pulls many more
|
||||
objects from libc_nonshared.a, eventually resulting in link failure
|
||||
due to multiple definitions for a number of symbols.
|
||||
|
||||
As far as I see, the conditional before this code is always false in
|
||||
rtld: _dl_resolve_conflicts() is called with main_map as the first
|
||||
argument, not GL(_dl_rtld_map), but since that call is in yet another
|
||||
compilation unit, GCC does not know about it. Patch that wraps this
|
||||
conditional into !defined RESOLVE_CONFLICT_FIND_MAP attached.
|
||||
|
||||
* sysdeps/sh/dl-machine.h (elf_machine_rela): The condition
|
||||
in R_SH_DIR32 case is always false when inlined from
|
||||
dl-conflict.c. Ifdef out to prevent GCC from insertin an
|
||||
abort() call.
|
||||
|
||||
[Waldemar: backport of
|
||||
https://sourceware.org/git/?p=glibc.git;a=commit;h=d40dbe722f004f999b589de776f7e57e564dda01.]
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
---
|
||||
sysdeps/sh/dl-machine.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sysdeps/sh/dl-machine.h b/sysdeps/sh/dl-machine.h
|
||||
index 5bb37d0..6509055 100644
|
||||
--- a/sysdeps/sh/dl-machine.h
|
||||
+++ b/sysdeps/sh/dl-machine.h
|
||||
@@ -389,7 +389,7 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
|
||||
break;
|
||||
case R_SH_DIR32:
|
||||
{
|
||||
-#ifndef RTLD_BOOTSTRAP
|
||||
+#if !defined RTLD_BOOTSTRAP && !defined RESOLVE_CONFLICT_FIND_MAP
|
||||
/* This is defined in rtld.c, but nowhere in the static
|
||||
libc.a; make the reference weak so static programs can
|
||||
still link. This declaration cannot be done when
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 0e97f243ae72b70307d684b84c7fe679385aa7a7a0e37e5be810193dcc17d4ff gnutls-3.5.8.tar.xz
|
||||
sha256 af443e86ba538d4d3e37c4732c00101a492fe4b56a55f4112ff0ab39dbe6579d gnutls-3.5.10.tar.xz
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
GNUTLS_VERSION_MAJOR = 3.5
|
||||
GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).8
|
||||
GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).10
|
||||
GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz
|
||||
GNUTLS_SITE = ftp://ftp.gnutls.org/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR)
|
||||
GNUTLS_LICENSE = LGPLv2.1+ (core library), GPLv3+ (gnutls-openssl library)
|
||||
|
||||
@@ -23,14 +23,14 @@ define HOST_GOOGLE_BREAKPAD_LSS
|
||||
$(HOST_DIR)/usr/include/linux_syscall_support.h \
|
||||
$(@D)/src/third_party/lss/linux_syscall_support.h
|
||||
endef
|
||||
HOST_GOOGLE_BREAKPAD_POST_EXTRACT_HOOKS += HOST_GOOGLE_BREAKPAD_LSS
|
||||
HOST_GOOGLE_BREAKPAD_PRE_CONFIGURE_HOOKS += HOST_GOOGLE_BREAKPAD_LSS
|
||||
|
||||
define GOOGLE_BREAKPAD_LSS
|
||||
$(INSTALL) -D -m 0644 \
|
||||
$(STAGING_DIR)/usr/include/linux_syscall_support.h \
|
||||
$(@D)/src/third_party/lss/linux_syscall_support.h
|
||||
endef
|
||||
GOOGLE_BREAKPAD_POST_EXTRACT_HOOKS += GOOGLE_BREAKPAD_LSS
|
||||
GOOGLE_BREAKPAD_PRE_CONFIGURE_HOOKS += GOOGLE_BREAKPAD_LSS
|
||||
|
||||
define GOOGLE_BREAKPAD_EXTRACT_SYMBOLS
|
||||
$(EXTRA_ENV) package/google-breakpad/gen-syms.sh $(STAGING_DIR) \
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From 777cb3737ae85b13642fff48eabb601c4d40f527 Mon Sep 17 00:00:00 2001
|
||||
From: James Knight <james.d.knight@live.com>
|
||||
Date: Tue, 16 Feb 2016 23:51:08 -0500
|
||||
Subject: [PATCH] do not interact with systemctl when cross-compiling
|
||||
|
||||
The installation process for GPSd on a systemd environment will attempt
|
||||
to reload systemd's manager configuration (systemctl daemon-reload).
|
||||
This is to allow the system to take advantage of the newly installed
|
||||
GPSd services. When cross-compiling, the installation process should not
|
||||
attempt to interact with the build environment's systemd instance (if
|
||||
any). The following change checks if the build is not cross compiling
|
||||
(via 'not env["sysroot"]') before attempting to do a systemd reload.
|
||||
|
||||
Signed-off-by: James Knight <james.d.knight@live.com>
|
||||
[yann.morin.1998@free.fr: tweak to apply on 3.16]
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
---
|
||||
SConstruct | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/SConstruct b/SConstruct
|
||||
index c3bfd0d1..97c1b3a9 100644
|
||||
--- a/SConstruct
|
||||
+++ b/SConstruct
|
||||
@@ -1909,10 +1909,12 @@ udev_install = Utility('udev-install', 'install', [
|
||||
] + hotplug_wrapper_install)
|
||||
|
||||
if env['systemd']:
|
||||
+ env.Requires(udev_install, systemd_install)
|
||||
+
|
||||
+if env['systemd'] and not env["sysroot"]:
|
||||
systemctl_daemon_reload = Utility('systemctl-daemon-reload', '', [ 'systemctl daemon-reload || true'])
|
||||
env.AlwaysBuild(systemctl_daemon_reload)
|
||||
env.Precious(systemctl_daemon_reload)
|
||||
- env.Requires(udev_install, systemd_install)
|
||||
env.Requires(systemctl_daemon_reload, systemd_install)
|
||||
env.Requires(udev_install, systemctl_daemon_reload)
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# From https://launchpad.net/granite/0.4/0.4.0.1/+download/granite-0.4.0.1.tar.xz/+md5
|
||||
md5 db41150ca6e77162392362686e848086 granite-0.3.1.tar.xz
|
||||
md5 db41150ca6e77162392362686e848086 granite-0.4.0.1.tar.xz
|
||||
# Calculated based on the hash above
|
||||
sha256 95a142a8befeedc35a089d638e759b657905508dc3007036d6c1fa3efe94c4dd granite-0.4.0.1.tar.xz
|
||||
|
||||
@@ -80,6 +80,12 @@ else
|
||||
GST_FFMPEG_CONF_EXTRA_OPTS += --disable-altivec
|
||||
endif
|
||||
|
||||
# libav configure script misdetects the VIS optimizations as being
|
||||
# available, so forcefully disable them.
|
||||
ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y)
|
||||
GST_FFMPEG_CONF_EXTRA_OPTS += --disable-vis
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_STATIC_LIBS),)
|
||||
GST_FFMPEG_CONF_EXTRA_OPTS += --enable-pic
|
||||
endif
|
||||
|
||||
@@ -14,9 +14,9 @@ GST_PLUGINS_BASE_LICENSE_FILES = COPYING COPYING.LIB
|
||||
# freetype is only used by examples, but if it is not found
|
||||
# and the host has a freetype-config script, then the host
|
||||
# include dirs are added to the search path causing trouble
|
||||
GST_PLUGINS_BASE_CONF_ENV =
|
||||
FT2_CONFIG=/bin/false \
|
||||
ac_cv_header_stdint_t="stdint.h"
|
||||
GST_PLUGINS_BASE_CONF_ENV = \
|
||||
FT2_CONFIG=/bin/false \
|
||||
ac_cv_header_stdint_t="stdint.h"
|
||||
|
||||
GST_PLUGINS_BASE_CONF_OPTS = \
|
||||
--disable-examples \
|
||||
|
||||
@@ -112,6 +112,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND
|
||||
default y
|
||||
depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
|
||||
depends on BR2_PACKAGE_WAYLAND
|
||||
select BR2_PACKAGE_WAYLAND_PROTOCOLS
|
||||
select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
|
||||
|
||||
comment "wayland needs the egl platform and the wayland package"
|
||||
@@ -686,6 +687,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VOAACENC
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
|
||||
bool "wayland"
|
||||
depends on BR2_PACKAGE_WAYLAND
|
||||
select BR2_PACKAGE_WAYLAND_PROTOCOLS
|
||||
default y
|
||||
help
|
||||
Wayland Video Sink
|
||||
|
||||
@@ -121,7 +121,7 @@ endif
|
||||
|
||||
ifneq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND)$(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND),)
|
||||
GST1_PLUGINS_BAD_CONF_OPTS += --enable-wayland
|
||||
GST1_PLUGINS_BAD_DEPENDENCIES += wayland
|
||||
GST1_PLUGINS_BAD_DEPENDENCIES += wayland wayland-protocols
|
||||
else
|
||||
GST1_PLUGINS_BAD_CONF_OPTS += --disable-wayland
|
||||
endif
|
||||
|
||||
@@ -11,13 +11,6 @@ GST1_PLUGINS_BASE_INSTALL_STAGING = YES
|
||||
GST1_PLUGINS_BASE_LICENSE_FILES = COPYING.LIB
|
||||
GST1_PLUGINS_BASE_LICENSE = LGPLv2+, LGPLv2.1+
|
||||
|
||||
# freetype is only used by examples, but if it is not found
|
||||
# and the host has a freetype-config script, then the host
|
||||
# include dirs are added to the search path causing trouble
|
||||
GST1_PLUGINS_BASE_CONF_ENV =
|
||||
FT2_CONFIG=/bin/false \
|
||||
ac_cv_header_stdint_t="stdint.h"
|
||||
|
||||
# gio_unix_2_0 is only used for tests
|
||||
GST1_PLUGINS_BASE_CONF_OPTS = \
|
||||
--disable-examples \
|
||||
|
||||
@@ -10,7 +10,7 @@ HANS_LICENSE = GPLv3+
|
||||
HANS_LICENSE_FILES = LICENSE
|
||||
|
||||
define HANS_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) GCC="$(TARGET_CC)" GPP="$(TARGET_CXX)" -C $(@D)
|
||||
$(TARGET_MAKE_ENV) $(MAKE1) GCC="$(TARGET_CC)" GPP="$(TARGET_CXX)" -C $(@D)
|
||||
endef
|
||||
|
||||
define HANS_INSTALL_TARGET_CMDS
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# From http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.4.2.tar.bz2.sha256
|
||||
sha256 8f234dcfab000fdec24d43674fffa2fdbdbd654eb176afbde30e8826339cb7b3 harfbuzz-1.4.2.tar.bz2
|
||||
# From https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.4.4.tar.bz2.sha256
|
||||
sha256 35d2f8ca476cbbec64ee824eca6b0209ff8db0334990b9f5af893b94f119d255 harfbuzz-1.4.4.tar.bz2
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
HARFBUZZ_VERSION = 1.4.2
|
||||
HARFBUZZ_SITE = http://www.freedesktop.org/software/harfbuzz/release
|
||||
HARFBUZZ_VERSION = 1.4.4
|
||||
HARFBUZZ_SITE = https://www.freedesktop.org/software/harfbuzz/release
|
||||
HARFBUZZ_SOURCE = harfbuzz-$(HARFBUZZ_VERSION).tar.bz2
|
||||
HARFBUZZ_LICENSE = MIT, ISC (ucdn library)
|
||||
HARFBUZZ_LICENSE_FILES = COPYING src/hb-ucdn/COPYING
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
HIREDIS_VERSION = v0.13.3
|
||||
HIREDIS_VERSION_MAJOR = 0.13
|
||||
HIREDIS_VERSION = v$(HIREDIS_VERSION_MAJOR).3
|
||||
HIREDIS_SITE = $(call github,redis,hiredis,$(HIREDIS_VERSION))
|
||||
HIREDIS_LICENSE = BSD-3c
|
||||
HIREDIS_LICENSE_FILES = COPYING
|
||||
@@ -30,6 +31,26 @@ endef
|
||||
|
||||
HIREDIS_INCLUDE_DIR = $(STAGING_DIR)/usr/include/hiredis
|
||||
|
||||
ifeq ($(BR2_SHARED_LIBS),)
|
||||
define HIREDIS_INSTALL_STAGING_STATIC_LIB
|
||||
$(INSTALL) -D -m 0755 $(@D)/libhiredis.a \
|
||||
$(STAGING_DIR)/usr/lib/libhiredis.a
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_STATIC_LIBS),)
|
||||
define HIREDIS_INSTALL_STAGING_SHARED_LIB
|
||||
$(INSTALL) -D -m 0755 $(@D)/libhiredis.so \
|
||||
$(STAGING_DIR)/usr/lib/libhiredis.so.$(HIREDIS_VERSION_MAJOR)
|
||||
ln -sf libhiredis.so.$(HIREDIS_VERSION_MAJOR) $(STAGING_DIR)/usr/lib/libhiredis.so
|
||||
endef
|
||||
define HIREDIS_INSTALL_TARGET_SHARED_LIB
|
||||
$(INSTALL) -D -m 0755 $(@D)/libhiredis.so \
|
||||
$(TARGET_DIR)/usr/lib/libhiredis.so.$(HIREDIS_VERSION_MAJOR)
|
||||
ln -sf libhiredis.so.$(HIREDIS_VERSION_MAJOR) $(TARGET_DIR)/usr/lib/libhiredis.so
|
||||
endef
|
||||
endif
|
||||
|
||||
# Do not call make install as this target will build shared and static libraries
|
||||
define HIREDIS_INSTALL_STAGING_CMDS
|
||||
mkdir -p $(HIREDIS_INCLUDE_DIR)
|
||||
@@ -37,12 +58,12 @@ define HIREDIS_INSTALL_STAGING_CMDS
|
||||
$(@D)/adapters $(HIREDIS_INCLUDE_DIR)
|
||||
$(INSTALL) -D -m 0644 $(@D)/hiredis.pc \
|
||||
$(STAGING_DIR)/usr/lib/pkgconfig/hiredis.pc
|
||||
$(INSTALL) -m 0644 -t $(STAGING_DIR)/usr/lib $(@D)/libhiredis*
|
||||
$(HIREDIS_INSTALL_STAGING_STATIC_LIB)
|
||||
$(HIREDIS_INSTALL_STAGING_SHARED_LIB)
|
||||
endef
|
||||
|
||||
define HIREDIS_INSTALL_TARGET_CMDS
|
||||
mkdir -p $(TARGET_DIR)/usr/lib
|
||||
$(INSTALL) -m 0644 -t $(TARGET_DIR)/usr/lib $(@D)/libhiredis*
|
||||
$(HIREDIS_INSTALL_TARGET_SHARED_LIB)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
||||
@@ -8,7 +8,7 @@ HTOP_VERSION = 2.0.2
|
||||
HTOP_SITE = http://hisham.hm/htop/releases/$(HTOP_VERSION)
|
||||
HTOP_DEPENDENCIES = ncurses
|
||||
# Prevent htop build system from searching the host paths
|
||||
HTOP_CONF_ENV = HTOP_NCURSES_CONFIG_SCRIPT=$(STAGING_DIR)/usr/bin/ncurses5-config
|
||||
HTOP_CONF_ENV = HTOP_NCURSES_CONFIG_SCRIPT=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS)
|
||||
HTOP_LICENSE = GPLv2
|
||||
HTOP_LICENSE_FILES = COPYING
|
||||
|
||||
|
||||
@@ -0,0 +1,173 @@
|
||||
ticket:12888 UText, problems with handling of bad UTF-8
|
||||
|
||||
Fixes:
|
||||
|
||||
CVE-2017-7867 - International Components for Unicode (ICU) for C/C++ before
|
||||
2017-02-13 has an out-of-bounds write caused by a heap-based buffer overflow
|
||||
related to the utf8TextAccess function in common/utext.cpp and the
|
||||
utext_setNativeIndex* function.
|
||||
|
||||
CVE-2017-7868 - International Components for Unicode (ICU) for C/C++ before
|
||||
2017-02-13 has an out-of-bounds write caused by a heap-based buffer overflow
|
||||
related to the utf8TextAccess function in common/utext.cpp and the
|
||||
utext_moveIndex32* function.
|
||||
|
||||
Upstream: http://bugs.icu-project.org/trac/changeset/39671
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
|
||||
Index: /trunk/icu4c/source/common/utext.cpp
|
||||
===================================================================
|
||||
--- icu4c/source/common/utext.cpp (revision 39670)
|
||||
+++ icu4c/source/common/utext.cpp (revision 39671)
|
||||
@@ -848,7 +848,13 @@
|
||||
|
||||
// Chunk size.
|
||||
-// Must be less than 85, because of byte mapping from UChar indexes to native indexes.
|
||||
-// Worst case is three native bytes to one UChar. (Supplemenaries are 4 native bytes
|
||||
-// to two UChars.)
|
||||
+// Must be less than 42 (256/6), because of byte mapping from UChar indexes to native indexes.
|
||||
+// Worst case there are six UTF-8 bytes per UChar.
|
||||
+// obsolete 6 byte form fd + 5 trails maps to fffd
|
||||
+// obsolete 5 byte form fc + 4 trails maps to fffd
|
||||
+// non-shortest 4 byte forms maps to fffd
|
||||
+// normal supplementaries map to a pair of utf-16, two utf8 bytes per utf-16 unit
|
||||
+// mapToUChars array size must allow for the worst case, 6.
|
||||
+// This could be brought down to 4, by treating fd and fc as pure illegal,
|
||||
+// rather than obsolete lead bytes. But that is not compatible with the utf-8 access macros.
|
||||
//
|
||||
enum { UTF8_TEXT_CHUNK_SIZE=32 };
|
||||
@@ -890,5 +896,5 @@
|
||||
// one for a supplementary starting in the last normal position,
|
||||
// and one for an entry for the buffer limit position.
|
||||
- uint8_t mapToUChars[UTF8_TEXT_CHUNK_SIZE*3+6]; // Map native offset from bufNativeStart to
|
||||
+ uint8_t mapToUChars[UTF8_TEXT_CHUNK_SIZE*6+6]; // Map native offset from bufNativeStart to
|
||||
// correspoding offset in filled part of buf.
|
||||
int32_t align;
|
||||
@@ -1033,4 +1039,5 @@
|
||||
u8b = (UTF8Buf *)ut->p; // the current buffer
|
||||
mapIndex = ix - u8b->toUCharsMapStart;
|
||||
+ U_ASSERT(mapIndex < (int32_t)sizeof(UTF8Buf::mapToUChars));
|
||||
ut->chunkOffset = u8b->mapToUChars[mapIndex] - u8b->bufStartIdx;
|
||||
return TRUE;
|
||||
@@ -1299,4 +1306,8 @@
|
||||
// If index is at the end, there is no character there to look at.
|
||||
if (ix != ut->b) {
|
||||
+ // Note: this function will only move the index back if it is on a trail byte
|
||||
+ // and there is a preceding lead byte and the sequence from the lead
|
||||
+ // through this trail could be part of a valid UTF-8 sequence
|
||||
+ // Otherwise the index remains unchanged.
|
||||
U8_SET_CP_START(s8, 0, ix);
|
||||
}
|
||||
@@ -1312,5 +1323,8 @@
|
||||
uint8_t *mapToNative = u8b->mapToNative;
|
||||
uint8_t *mapToUChars = u8b->mapToUChars;
|
||||
- int32_t toUCharsMapStart = ix - (UTF8_TEXT_CHUNK_SIZE*3 + 1);
|
||||
+ int32_t toUCharsMapStart = ix - sizeof(UTF8Buf::mapToUChars) + 1;
|
||||
+ // Note that toUCharsMapStart can be negative. Happens when the remaining
|
||||
+ // text from current position to the beginning is less than the buffer size.
|
||||
+ // + 1 because mapToUChars must have a slot at the end for the bufNativeLimit entry.
|
||||
int32_t destIx = UTF8_TEXT_CHUNK_SIZE+2; // Start in the overflow region
|
||||
// at end of buffer to leave room
|
||||
@@ -1339,4 +1353,5 @@
|
||||
// Special case ASCII range for speed.
|
||||
buf[destIx] = (UChar)c;
|
||||
+ U_ASSERT(toUCharsMapStart <= srcIx);
|
||||
mapToUChars[srcIx - toUCharsMapStart] = (uint8_t)destIx;
|
||||
mapToNative[destIx] = (uint8_t)(srcIx - toUCharsMapStart);
|
||||
@@ -1368,4 +1383,5 @@
|
||||
mapToUChars[sIx-- - toUCharsMapStart] = (uint8_t)destIx;
|
||||
} while (sIx >= srcIx);
|
||||
+ U_ASSERT(toUCharsMapStart <= (srcIx+1));
|
||||
|
||||
// Set native indexing limit to be the current position.
|
||||
@@ -1542,4 +1558,5 @@
|
||||
U_ASSERT(index<=ut->chunkNativeLimit);
|
||||
int32_t mapIndex = index - u8b->toUCharsMapStart;
|
||||
+ U_ASSERT(mapIndex < (int32_t)sizeof(UTF8Buf::mapToUChars));
|
||||
int32_t offset = u8b->mapToUChars[mapIndex] - u8b->bufStartIdx;
|
||||
U_ASSERT(offset>=0 && offset<=ut->chunkLength);
|
||||
Index: /trunk/icu4c/source/test/intltest/utxttest.cpp
|
||||
===================================================================
|
||||
--- icu4c/source/test/intltest/utxttest.cpp (revision 39670)
|
||||
+++ icu4c/source/test/intltest/utxttest.cpp (revision 39671)
|
||||
@@ -68,4 +68,6 @@
|
||||
case 7: name = "Ticket12130";
|
||||
if (exec) Ticket12130(); break;
|
||||
+ case 8: name = "Ticket12888";
|
||||
+ if (exec) Ticket12888(); break;
|
||||
default: name = ""; break;
|
||||
}
|
||||
@@ -1584,2 +1586,62 @@
|
||||
utext_close(&ut);
|
||||
}
|
||||
+
|
||||
+// Ticket 12888: bad handling of illegal utf-8 containing many instances of the archaic, now illegal,
|
||||
+// six byte utf-8 forms. Original implementation had an assumption that
|
||||
+// there would be at most three utf-8 bytes per UTF-16 code unit.
|
||||
+// The five and six byte sequences map to a single replacement character.
|
||||
+
|
||||
+void UTextTest::Ticket12888() {
|
||||
+ const char *badString =
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80"
|
||||
+ "\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80\xfd\x80\x80\x80\x80\x80";
|
||||
+
|
||||
+ UErrorCode status = U_ZERO_ERROR;
|
||||
+ LocalUTextPointer ut(utext_openUTF8(NULL, badString, -1, &status));
|
||||
+ TEST_SUCCESS(status);
|
||||
+ for (;;) {
|
||||
+ UChar32 c = utext_next32(ut.getAlias());
|
||||
+ if (c == U_SENTINEL) {
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ int32_t endIdx = utext_getNativeIndex(ut.getAlias());
|
||||
+ if (endIdx != (int32_t)strlen(badString)) {
|
||||
+ errln("%s:%d expected=%d, actual=%d", __FILE__, __LINE__, strlen(badString), endIdx);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ for (int32_t prevIndex = endIdx; prevIndex>0;) {
|
||||
+ UChar32 c = utext_previous32(ut.getAlias());
|
||||
+ int32_t currentIndex = utext_getNativeIndex(ut.getAlias());
|
||||
+ if (c != 0xfffd) {
|
||||
+ errln("%s:%d (expected, actual, index) = (%d, %d, %d)\n",
|
||||
+ __FILE__, __LINE__, 0xfffd, c, currentIndex);
|
||||
+ break;
|
||||
+ }
|
||||
+ if (currentIndex != prevIndex - 6) {
|
||||
+ errln("%s:%d: wrong index. Expected, actual = %d, %d",
|
||||
+ __FILE__, __LINE__, prevIndex - 6, currentIndex);
|
||||
+ break;
|
||||
+ }
|
||||
+ prevIndex = currentIndex;
|
||||
+ }
|
||||
+}
|
||||
Index: /trunk/icu4c/source/test/intltest/utxttest.h
|
||||
===================================================================
|
||||
--- icu4c/source/test/intltest/utxttest.h (revision 39670)
|
||||
+++ icu4c/source/test/intltest/utxttest.h (revision 39671)
|
||||
@@ -39,4 +39,5 @@
|
||||
void Ticket10983();
|
||||
void Ticket12130();
|
||||
+ void Ticket12888();
|
||||
|
||||
private:
|
||||
@@ -8,7 +8,7 @@ ICU_VERSION = 58.2
|
||||
ICU_SOURCE = icu4c-$(subst .,_,$(ICU_VERSION))-src.tgz
|
||||
ICU_SITE = http://download.icu-project.org/files/icu4c/$(ICU_VERSION)
|
||||
ICU_LICENSE = ICU License
|
||||
ICU_LICENSE_FILES = license.html
|
||||
ICU_LICENSE_FILES = LICENSE
|
||||
|
||||
ICU_DEPENDENCIES = host-icu
|
||||
ICU_INSTALL_STAGING = YES
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
From b218117cad34d39b9ffb587b45c71c5a49b12bde Mon Sep 17 00:00:00 2001
|
||||
From: Cristy <urban-warrior@imagemagick.org>
|
||||
Date: Fri, 31 Mar 2017 15:24:33 -0400
|
||||
Subject: [PATCH] https://github.com/ImageMagick/ImageMagick/issues/415
|
||||
|
||||
Fixes CVE-2017-7606
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
coders/pnm.c | 2 +-
|
||||
coders/rle.c | 5 +++--
|
||||
2 files changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/coders/pnm.c b/coders/pnm.c
|
||||
index 9a1221d79..c525ebb8f 100644
|
||||
--- a/coders/pnm.c
|
||||
+++ b/coders/pnm.c
|
||||
@@ -1979,7 +1979,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image,
|
||||
pixel=ScaleQuantumToChar(GetPixelRed(image,p));
|
||||
else
|
||||
pixel=ScaleQuantumToAny(GetPixelRed(image,p),
|
||||
- max_value);
|
||||
+ max_value);
|
||||
}
|
||||
q=PopCharPixel((unsigned char) pixel,q);
|
||||
p+=GetPixelChannels(image);
|
||||
diff --git a/coders/rle.c b/coders/rle.c
|
||||
index 2318901ec..ec071dc7b 100644
|
||||
--- a/coders/rle.c
|
||||
+++ b/coders/rle.c
|
||||
@@ -271,7 +271,8 @@ static Image *ReadRLEImage(const ImageInfo *image_info,ExceptionInfo *exception)
|
||||
p=colormap;
|
||||
for (i=0; i < (ssize_t) number_colormaps; i++)
|
||||
for (x=0; x < (ssize_t) map_length; x++)
|
||||
- *p++=(unsigned char) ScaleShortToQuantum(ReadBlobLSBShort(image));
|
||||
+ *p++=(unsigned char) ScaleQuantumToChar(ScaleShortToQuantum(
|
||||
+ ReadBlobLSBShort(image)));
|
||||
}
|
||||
if ((flags & 0x08) != 0)
|
||||
{
|
||||
@@ -476,7 +477,7 @@ static Image *ReadRLEImage(const ImageInfo *image_info,ExceptionInfo *exception)
|
||||
for (x=0; x < (ssize_t) number_planes; x++)
|
||||
{
|
||||
ValidateColormapValue(image,(size_t) (x*map_length+
|
||||
- (*p & mask)),&index,exception);
|
||||
+ (*p & mask)),&index,exception);
|
||||
*p=colormap[(ssize_t) index];
|
||||
p++;
|
||||
}
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
From 5d0e9c53f49022df5154eb3c04900f48b1c6448e Mon Sep 17 00:00:00 2001
|
||||
From: Peter Korsgaard <peter@korsgaard.com>
|
||||
Date: Mon, 6 Feb 2017 17:39:31 +0100
|
||||
Subject: [PATCH] png.c: unbreak build without JPEG support
|
||||
|
||||
Since commit a9e228f8ac26 (Implemented a private PNG caNv (canvas) chunk),
|
||||
PNGsLong gets called unconditionally, but it is only defined if JPEG
|
||||
support is enabled (which defines JNG_SUPPORTED), breaking the build:
|
||||
|
||||
MagickCore/.libs/libMagickCore-7.Q16HDRI.a(MagickCore_libMagickCore_7_Q16HDRI_la-png.o): In function `WriteOnePNGImage':
|
||||
png.c:(.text+0x748d): undefined reference to `PNGsLong'
|
||||
png.c:(.text+0x74b7): undefined reference to `PNGsLong'
|
||||
|
||||
For build log, see:
|
||||
http://autobuild.buildroot.net/results/d20/d20eecec8e7b947759185f77a6c8e610dd7393f3/build-end.log
|
||||
|
||||
Fix it by unconditionally defining the helper function.
|
||||
|
||||
Submitted-upstream: https://github.com/ImageMagick/ImageMagick/pull/373
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
coders/png.c | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/coders/png.c b/coders/png.c
|
||||
index aebe59281..1328b1aab 100644
|
||||
--- a/coders/png.c
|
||||
+++ b/coders/png.c
|
||||
@@ -1229,7 +1229,6 @@ static void PNGLong(png_bytep p,png_uint_32 value)
|
||||
*p++=(png_byte) (value & 0xff);
|
||||
}
|
||||
|
||||
-#if defined(JNG_SUPPORTED)
|
||||
static void PNGsLong(png_bytep p,png_int_32 value)
|
||||
{
|
||||
*p++=(png_byte) ((value >> 24) & 0xff);
|
||||
@@ -1237,7 +1236,6 @@ static void PNGsLong(png_bytep p,png_int_32 value)
|
||||
*p++=(png_byte) ((value >> 8) & 0xff);
|
||||
*p++=(png_byte) (value & 0xff);
|
||||
}
|
||||
-#endif
|
||||
|
||||
static void PNGShort(png_bytep p,png_uint_16 value)
|
||||
{
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# From http://www.imagemagick.org/download/releases/digest.rdf
|
||||
sha256 1ee004740b7ab47fff3c92ae4a89dcbd0181c4d5f31fcb7e3697412ea384a0da ImageMagick-7.0.4-6.tar.xz
|
||||
sha256 4a1dde5bdfec0fc549955a051be25b7ff96dfb192060997699e43c7ce0f06ab2 ImageMagick-7.0.5-4.tar.xz
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMAGEMAGICK_VERSION = 7.0.4-6
|
||||
IMAGEMAGICK_VERSION = 7.0.5-4
|
||||
IMAGEMAGICK_SOURCE = ImageMagick-$(IMAGEMAGICK_VERSION).tar.xz
|
||||
IMAGEMAGICK_SITE = http://www.imagemagick.org/download/releases
|
||||
IMAGEMAGICK_LICENSE = Apache-2.0
|
||||
|
||||
@@ -0,0 +1,286 @@
|
||||
From e96fc4fdd525fa0ede28074a7e2b1caf94b58b0d Mon Sep 17 00:00:00 2001
|
||||
From: Michael Adams <mdadams@ece.uvic.ca>
|
||||
Date: Sat, 4 Mar 2017 14:43:24 -0800
|
||||
Subject: [PATCH] Fixed bugs due to uninitialized data in the JP2 decoder.
|
||||
Also, added some comments marking I/O stream interfaces that probably need to
|
||||
be changed (in the long term) to fix integer overflow problems.
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
src/libjasper/base/jas_stream.c | 18 +++++++++++++++++
|
||||
src/libjasper/jp2/jp2_cod.c | 44 ++++++++++++++++++++++++++++-------------
|
||||
2 files changed, 48 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/src/libjasper/base/jas_stream.c b/src/libjasper/base/jas_stream.c
|
||||
index 327ee57..d70408f 100644
|
||||
--- a/src/libjasper/base/jas_stream.c
|
||||
+++ b/src/libjasper/base/jas_stream.c
|
||||
@@ -664,6 +664,7 @@ int jas_stream_ungetc(jas_stream_t *stream, int c)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
int jas_stream_read(jas_stream_t *stream, void *buf, int cnt)
|
||||
{
|
||||
int n;
|
||||
@@ -690,6 +691,7 @@ int jas_stream_read(jas_stream_t *stream, void *buf, int cnt)
|
||||
return n;
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
int jas_stream_write(jas_stream_t *stream, const void *buf, int cnt)
|
||||
{
|
||||
int n;
|
||||
@@ -742,6 +744,7 @@ int jas_stream_puts(jas_stream_t *stream, const char *s)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
char *jas_stream_gets(jas_stream_t *stream, char *buf, int bufsize)
|
||||
{
|
||||
int c;
|
||||
@@ -765,6 +768,7 @@ char *jas_stream_gets(jas_stream_t *stream, char *buf, int bufsize)
|
||||
return buf;
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
int jas_stream_gobble(jas_stream_t *stream, int n)
|
||||
{
|
||||
int m;
|
||||
@@ -783,6 +787,7 @@ int jas_stream_gobble(jas_stream_t *stream, int n)
|
||||
return n;
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
int jas_stream_pad(jas_stream_t *stream, int n, int c)
|
||||
{
|
||||
int m;
|
||||
@@ -885,6 +890,7 @@ long jas_stream_tell(jas_stream_t *stream)
|
||||
* Buffer initialization code.
|
||||
\******************************************************************************/
|
||||
|
||||
+/* FIXME integral type */
|
||||
static void jas_stream_initbuf(jas_stream_t *stream, int bufmode, char *buf,
|
||||
int bufsize)
|
||||
{
|
||||
@@ -1060,6 +1066,7 @@ static int jas_strtoopenmode(const char *s)
|
||||
return openmode;
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
int jas_stream_copy(jas_stream_t *out, jas_stream_t *in, int n)
|
||||
{
|
||||
int all;
|
||||
@@ -1085,6 +1092,7 @@ int jas_stream_copy(jas_stream_t *out, jas_stream_t *in, int n)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
long jas_stream_setrwcount(jas_stream_t *stream, long rwcnt)
|
||||
{
|
||||
int old;
|
||||
@@ -1094,6 +1102,7 @@ long jas_stream_setrwcount(jas_stream_t *stream, long rwcnt)
|
||||
return old;
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
int jas_stream_display(jas_stream_t *stream, FILE *fp, int n)
|
||||
{
|
||||
unsigned char buf[16];
|
||||
@@ -1168,6 +1177,7 @@ long jas_stream_length(jas_stream_t *stream)
|
||||
* Memory stream object.
|
||||
\******************************************************************************/
|
||||
|
||||
+/* FIXME integral type */
|
||||
static int mem_read(jas_stream_obj_t *obj, char *buf, int cnt)
|
||||
{
|
||||
ssize_t n;
|
||||
@@ -1209,6 +1219,7 @@ static int mem_resize(jas_stream_memobj_t *m, size_t bufsize)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
static int mem_write(jas_stream_obj_t *obj, char *buf, int cnt)
|
||||
{
|
||||
size_t n;
|
||||
@@ -1264,6 +1275,7 @@ static int mem_write(jas_stream_obj_t *obj, char *buf, int cnt)
|
||||
return ret;
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
static long mem_seek(jas_stream_obj_t *obj, long offset, int origin)
|
||||
{
|
||||
jas_stream_memobj_t *m = (jas_stream_memobj_t *)obj;
|
||||
@@ -1310,6 +1322,7 @@ static int mem_close(jas_stream_obj_t *obj)
|
||||
* File stream object.
|
||||
\******************************************************************************/
|
||||
|
||||
+/* FIXME integral type */
|
||||
static int file_read(jas_stream_obj_t *obj, char *buf, int cnt)
|
||||
{
|
||||
jas_stream_fileobj_t *fileobj;
|
||||
@@ -1318,6 +1331,7 @@ static int file_read(jas_stream_obj_t *obj, char *buf, int cnt)
|
||||
return read(fileobj->fd, buf, cnt);
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
static int file_write(jas_stream_obj_t *obj, char *buf, int cnt)
|
||||
{
|
||||
jas_stream_fileobj_t *fileobj;
|
||||
@@ -1326,6 +1340,7 @@ static int file_write(jas_stream_obj_t *obj, char *buf, int cnt)
|
||||
return write(fileobj->fd, buf, cnt);
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
static long file_seek(jas_stream_obj_t *obj, long offset, int origin)
|
||||
{
|
||||
jas_stream_fileobj_t *fileobj;
|
||||
@@ -1352,6 +1367,7 @@ static int file_close(jas_stream_obj_t *obj)
|
||||
* Stdio file stream object.
|
||||
\******************************************************************************/
|
||||
|
||||
+/* FIXME integral type */
|
||||
static int sfile_read(jas_stream_obj_t *obj, char *buf, int cnt)
|
||||
{
|
||||
FILE *fp;
|
||||
@@ -1367,6 +1383,7 @@ static int sfile_read(jas_stream_obj_t *obj, char *buf, int cnt)
|
||||
return result;
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
static int sfile_write(jas_stream_obj_t *obj, char *buf, int cnt)
|
||||
{
|
||||
FILE *fp;
|
||||
@@ -1377,6 +1394,7 @@ static int sfile_write(jas_stream_obj_t *obj, char *buf, int cnt)
|
||||
return (n != JAS_CAST(size_t, cnt)) ? (-1) : cnt;
|
||||
}
|
||||
|
||||
+/* FIXME integral type */
|
||||
static long sfile_seek(jas_stream_obj_t *obj, long offset, int origin)
|
||||
{
|
||||
FILE *fp;
|
||||
diff --git a/src/libjasper/jp2/jp2_cod.c b/src/libjasper/jp2/jp2_cod.c
|
||||
index 7f3608a..8d98a2c 100644
|
||||
--- a/src/libjasper/jp2/jp2_cod.c
|
||||
+++ b/src/libjasper/jp2/jp2_cod.c
|
||||
@@ -183,15 +183,28 @@ jp2_boxinfo_t jp2_boxinfo_unk = {
|
||||
* Box constructor.
|
||||
\******************************************************************************/
|
||||
|
||||
-jp2_box_t *jp2_box_create(int type)
|
||||
+jp2_box_t *jp2_box_create0()
|
||||
{
|
||||
jp2_box_t *box;
|
||||
- jp2_boxinfo_t *boxinfo;
|
||||
-
|
||||
if (!(box = jas_malloc(sizeof(jp2_box_t)))) {
|
||||
return 0;
|
||||
}
|
||||
memset(box, 0, sizeof(jp2_box_t));
|
||||
+ box->type = 0;
|
||||
+ box->len = 0;
|
||||
+ // Mark the box data as never having been constructed
|
||||
+ // so that we will not errantly attempt to destroy it later.
|
||||
+ box->ops = &jp2_boxinfo_unk.ops;
|
||||
+ return box;
|
||||
+}
|
||||
+
|
||||
+jp2_box_t *jp2_box_create(int type)
|
||||
+{
|
||||
+ jp2_box_t *box;
|
||||
+ jp2_boxinfo_t *boxinfo;
|
||||
+ if (!(box = jp2_box_create0())) {
|
||||
+ return 0;
|
||||
+ }
|
||||
box->type = type;
|
||||
box->len = 0;
|
||||
if (!(boxinfo = jp2_boxinfolookup(type))) {
|
||||
@@ -248,14 +261,9 @@ jp2_box_t *jp2_box_get(jas_stream_t *in)
|
||||
box = 0;
|
||||
tmpstream = 0;
|
||||
|
||||
- if (!(box = jas_malloc(sizeof(jp2_box_t)))) {
|
||||
+ if (!(box = jp2_box_create0())) {
|
||||
goto error;
|
||||
}
|
||||
-
|
||||
- // Mark the box data as never having been constructed
|
||||
- // so that we will not errantly attempt to destroy it later.
|
||||
- box->ops = &jp2_boxinfo_unk.ops;
|
||||
-
|
||||
if (jp2_getuint32(in, &len) || jp2_getuint32(in, &box->type)) {
|
||||
goto error;
|
||||
}
|
||||
@@ -263,10 +271,12 @@ jp2_box_t *jp2_box_get(jas_stream_t *in)
|
||||
box->info = boxinfo;
|
||||
box->len = len;
|
||||
JAS_DBGLOG(10, (
|
||||
- "preliminary processing of JP2 box: type=%c%s%c (0x%08x); length=%d\n",
|
||||
+ "preliminary processing of JP2 box: "
|
||||
+ "type=%c%s%c (0x%08x); length=%"PRIuFAST32"\n",
|
||||
'"', boxinfo->name, '"', box->type, box->len
|
||||
));
|
||||
if (box->len == 1) {
|
||||
+ JAS_DBGLOG(10, ("big length\n"));
|
||||
if (jp2_getuint64(in, &extlen)) {
|
||||
goto error;
|
||||
}
|
||||
@@ -382,6 +392,7 @@ static int jp2_bpcc_getdata(jp2_box_t *box, jas_stream_t *in)
|
||||
{
|
||||
jp2_bpcc_t *bpcc = &box->data.bpcc;
|
||||
unsigned int i;
|
||||
+ bpcc->bpcs = 0;
|
||||
bpcc->numcmpts = box->datalen;
|
||||
if (!(bpcc->bpcs = jas_alloc2(bpcc->numcmpts, sizeof(uint_fast8_t)))) {
|
||||
return -1;
|
||||
@@ -462,6 +473,7 @@ static int jp2_cdef_getdata(jp2_box_t *box, jas_stream_t *in)
|
||||
jp2_cdef_t *cdef = &box->data.cdef;
|
||||
jp2_cdefchan_t *chan;
|
||||
unsigned int channo;
|
||||
+ cdef->ents = 0;
|
||||
if (jp2_getuint16(in, &cdef->numchans)) {
|
||||
return -1;
|
||||
}
|
||||
@@ -518,7 +530,9 @@ int jp2_box_put(jp2_box_t *box, jas_stream_t *out)
|
||||
}
|
||||
|
||||
if (dataflag) {
|
||||
- if (jas_stream_copy(out, tmpstream, box->len - JP2_BOX_HDRLEN(false))) {
|
||||
+ if (jas_stream_copy(out, tmpstream, box->len -
|
||||
+ JP2_BOX_HDRLEN(false))) {
|
||||
+ jas_eprintf("cannot copy box data\n");
|
||||
goto error;
|
||||
}
|
||||
jas_stream_close(tmpstream);
|
||||
@@ -777,6 +791,7 @@ static int jp2_cmap_getdata(jp2_box_t *box, jas_stream_t *in)
|
||||
jp2_cmap_t *cmap = &box->data.cmap;
|
||||
jp2_cmapent_t *ent;
|
||||
unsigned int i;
|
||||
+ cmap->ents = 0;
|
||||
|
||||
cmap->numchans = (box->datalen) / 4;
|
||||
if (!(cmap->ents = jas_alloc2(cmap->numchans, sizeof(jp2_cmapent_t)))) {
|
||||
@@ -835,6 +850,7 @@ static int jp2_pclr_getdata(jp2_box_t *box, jas_stream_t *in)
|
||||
int_fast32_t x;
|
||||
|
||||
pclr->lutdata = 0;
|
||||
+ pclr->bpc = 0;
|
||||
|
||||
if (jp2_getuint16(in, &pclr->numlutents) ||
|
||||
jp2_getuint8(in, &pclr->numchans)) {
|
||||
@@ -869,9 +885,9 @@ static int jp2_pclr_putdata(jp2_box_t *box, jas_stream_t *out)
|
||||
#if 0
|
||||
jp2_pclr_t *pclr = &box->data.pclr;
|
||||
#endif
|
||||
-/* Eliminate warning about unused variable. */
|
||||
-box = 0;
|
||||
-out = 0;
|
||||
+ /* Eliminate warning about unused variable. */
|
||||
+ box = 0;
|
||||
+ out = 0;
|
||||
return -1;
|
||||
}
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
From 58ba0365d911b9f9dd68e9abf826682c0b4f2293 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Adams <mdadams@ece.uvic.ca>
|
||||
Date: Mon, 6 Mar 2017 08:06:54 -0800
|
||||
Subject: [PATCH] Added a check in the JP2 encoder to ensure that the image to
|
||||
be coded has at least one component.
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
src/libjasper/jp2/jp2_enc.c | 5 +++++
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/src/libjasper/jp2/jp2_enc.c b/src/libjasper/jp2/jp2_enc.c
|
||||
index 9a5e106..af4d9a4 100644
|
||||
--- a/src/libjasper/jp2/jp2_enc.c
|
||||
+++ b/src/libjasper/jp2/jp2_enc.c
|
||||
@@ -115,6 +115,11 @@ int jp2_encode(jas_image_t *image, jas_stream_t *out, const char *optstr)
|
||||
iccstream = 0;
|
||||
iccprof = 0;
|
||||
|
||||
+ if (jas_image_numcmpts(image) < 1) {
|
||||
+ jas_eprintf("image must have at least one component\n");
|
||||
+ goto error;
|
||||
+ }
|
||||
+
|
||||
allcmptssame = 1;
|
||||
sgnd = jas_image_cmptsgnd(image, 0);
|
||||
prec = jas_image_cmptprec(image, 0);
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From 022ae220d6e7b5bd064bc8698c271dca4dac7d8c Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Mon, 8 May 2017 22:27:25 +0200
|
||||
Subject: [PATCH] x86/hyperv_clock: be explicit about mul instruction data size
|
||||
|
||||
With gcc 4.7.2, the build fails with:
|
||||
|
||||
x86/hyperv_clock.c: Assembler messages:
|
||||
x86/hyperv_clock.c:21: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
|
||||
|
||||
In order to avoid this, make the mul instruction data size explicit by
|
||||
adding the appropriate suffix. It operates on 64-bit data, so use
|
||||
"mulq".
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
x86/hyperv_clock.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/x86/hyperv_clock.c b/x86/hyperv_clock.c
|
||||
index 8b1deba..6c4dd56 100644
|
||||
--- a/x86/hyperv_clock.c
|
||||
+++ b/x86/hyperv_clock.c
|
||||
@@ -19,7 +19,7 @@ static inline u64 scale_delta(u64 delta, u64 mul_frac)
|
||||
u64 product, unused;
|
||||
|
||||
__asm__ (
|
||||
- "mul %3"
|
||||
+ "mulq %3"
|
||||
: "=d" (product), "=a" (unused) : "1" (delta), "rm" ((u64)mul_frac) );
|
||||
|
||||
return product;
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -3,6 +3,7 @@ config BR2_PACKAGE_KYUA
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_PACKAGE_HAS_LUAINTERPRETER # lutok
|
||||
depends on !BR2_PACKAGE_LUAJIT # lutok
|
||||
depends on !BR2_STATIC_LIBS # lutok
|
||||
depends on BR2_USE_MMU # atf
|
||||
select BR2_PACKAGE_ATF
|
||||
select BR2_PACKAGE_LUTOK
|
||||
@@ -16,7 +17,7 @@ config BR2_PACKAGE_KYUA
|
||||
|
||||
https://github.com/jmmv/kyua
|
||||
|
||||
comment "kyua needs a toolchain w/ C++ and full Lua"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || BR2_PACKAGE_LUAJIT
|
||||
comment "kyua needs a toolchain w/ C++, dynamic library and full Lua"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || BR2_PACKAGE_LUAJIT || BR2_STATIC_LIBS
|
||||
depends on BR2_PACKAGE_HAS_LUAINTERPRETER
|
||||
depends on BR2_USE_MMU
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 b8b8dd31f3ebdd5472f03ab7d401600ea0d959b1288b9ca24bf457ef60e2ba27 libcec-4.0.2.tar.gz
|
||||
sha256 0f29d5a2d155b507807ba896bc3b3e50a0ab56bf8f543a2bf5c2798c790292b5 libcec-2c675dac48387c48c7f43c5d2547ef0c4ef5c7dd.tar.gz
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBCEC_VERSION = 4.0.2
|
||||
LIBCEC_SITE = $(call github,Pulse-Eight,libcec,libcec-$(LIBCEC_VERSION))
|
||||
LIBCEC_VERSION = 2c675dac48387c48c7f43c5d2547ef0c4ef5c7dd
|
||||
LIBCEC_SITE = $(call github,Pulse-Eight,libcec,$(LIBCEC_VERSION))
|
||||
LIBCEC_LICENSE = GPLv2+
|
||||
LIBCEC_LICENSE_FILES = COPYING
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
From 898e3a8c8c0314d2e6b106809a8e3e93cf9d4394 Mon Sep 17 00:00:00 2001
|
||||
From: Ignacio Casal Quinteiro <qignacio@amazon.com>
|
||||
Date: Sun, 16 Apr 2017 13:13:43 +0200
|
||||
Subject: [PATCH] input: check end of input before reading a byte
|
||||
|
||||
Fixes CVE-2017-7960
|
||||
|
||||
When reading bytes we weren't check that the index wasn't
|
||||
out of bound and this could produce an invalid read which
|
||||
could deal to a security bug.
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
src/cr-input.c | 11 +++++++++--
|
||||
1 file changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/cr-input.c b/src/cr-input.c
|
||||
index 49000b1..3b63a88 100644
|
||||
--- a/src/cr-input.c
|
||||
+++ b/src/cr-input.c
|
||||
@@ -256,7 +256,7 @@ cr_input_new_from_uri (const gchar * a_file_uri, enum CREncoding a_enc)
|
||||
*we should free buf here because it's own by CRInput.
|
||||
*(see the last parameter of cr_input_new_from_buf().
|
||||
*/
|
||||
- buf = NULL ;
|
||||
+ buf = NULL;
|
||||
}
|
||||
|
||||
cleanup:
|
||||
@@ -404,6 +404,8 @@ cr_input_get_nb_bytes_left (CRInput const * a_this)
|
||||
enum CRStatus
|
||||
cr_input_read_byte (CRInput * a_this, guchar * a_byte)
|
||||
{
|
||||
+ gulong nb_bytes_left = 0;
|
||||
+
|
||||
g_return_val_if_fail (a_this && PRIVATE (a_this)
|
||||
&& a_byte, CR_BAD_PARAM_ERROR);
|
||||
|
||||
@@ -413,6 +415,12 @@ cr_input_read_byte (CRInput * a_this, guchar * a_byte)
|
||||
if (PRIVATE (a_this)->end_of_input == TRUE)
|
||||
return CR_END_OF_INPUT_ERROR;
|
||||
|
||||
+ nb_bytes_left = cr_input_get_nb_bytes_left (a_this);
|
||||
+
|
||||
+ if (nb_bytes_left < 1) {
|
||||
+ return CR_END_OF_INPUT_ERROR;
|
||||
+ }
|
||||
+
|
||||
*a_byte = PRIVATE (a_this)->in_buf[PRIVATE (a_this)->next_byte_index];
|
||||
|
||||
if (PRIVATE (a_this)->nb_bytes -
|
||||
@@ -477,7 +485,6 @@ cr_input_read_char (CRInput * a_this, guint32 * a_char)
|
||||
if (*a_char == '\n') {
|
||||
PRIVATE (a_this)->end_of_line = TRUE;
|
||||
}
|
||||
-
|
||||
}
|
||||
|
||||
return status;
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
From 9ad72875e9f08e4c519ef63d44cdbd94aa9504f7 Mon Sep 17 00:00:00 2001
|
||||
From: Ignacio Casal Quinteiro <qignacio@amazon.com>
|
||||
Date: Sun, 16 Apr 2017 13:56:09 +0200
|
||||
Subject: [PATCH] tknzr: support only max long rgb values
|
||||
|
||||
Fixes CVE-2017-7961
|
||||
|
||||
This fixes a possible out of bound when reading rgbs which
|
||||
are longer than the support MAXLONG
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
src/cr-tknzr.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/src/cr-tknzr.c b/src/cr-tknzr.c
|
||||
index 1a7cfeb..1548c35 100644
|
||||
--- a/src/cr-tknzr.c
|
||||
+++ b/src/cr-tknzr.c
|
||||
@@ -1279,6 +1279,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb)
|
||||
status = cr_tknzr_parse_num (a_this, &num);
|
||||
ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL));
|
||||
|
||||
+ if (num->val > G_MAXLONG) {
|
||||
+ status = CR_PARSING_ERROR;
|
||||
+ goto error;
|
||||
+ }
|
||||
+
|
||||
red = num->val;
|
||||
cr_num_destroy (num);
|
||||
num = NULL;
|
||||
@@ -1298,6 +1303,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb)
|
||||
status = cr_tknzr_parse_num (a_this, &num);
|
||||
ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL));
|
||||
|
||||
+ if (num->val > G_MAXLONG) {
|
||||
+ status = CR_PARSING_ERROR;
|
||||
+ goto error;
|
||||
+ }
|
||||
+
|
||||
PEEK_BYTE (a_this, 1, &next_bytes[0]);
|
||||
if (next_bytes[0] == '%') {
|
||||
SKIP_CHARS (a_this, 1);
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 b2345a8bef87b4c229dedf637cb203b5e21db05e20277c8e1094f0d4da180801 curl-7.53.0.tar.bz2
|
||||
sha256 f50ebaf43c507fa7cc32be4b8108fa8bbd0f5022e90794388f3c7694a302ff06 curl-7.54.0.tar.bz2
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBCURL_VERSION = 7.53.0
|
||||
LIBCURL_VERSION = 7.54.0
|
||||
LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.bz2
|
||||
LIBCURL_SITE = https://curl.haxx.se/download
|
||||
LIBCURL_DEPENDENCIES = host-pkgconf \
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
LIBEV_VERSION = 4.22
|
||||
LIBEV_SITE = http://dist.schmorp.de/libev
|
||||
LIBEV_SITE = http://dist.schmorp.de/libev/Attic
|
||||
LIBEV_INSTALL_STAGING = YES
|
||||
LIBEV_LICENSE = BSD-2c or GPLv2+
|
||||
LIBEV_LICENSE_FILES = LICENSE
|
||||
|
||||
@@ -14,6 +14,7 @@ LIBIIO_CONF_OPTS = -DENABLE_IPV6=ON \
|
||||
-DWITH_LOCAL_BACKEND=$(if $(BR2_PACKAGE_LIBIIO_LOCAL_BACKEND),ON,OFF) \
|
||||
-DWITH_NETWORK_BACKEND=$(if $(BR2_PACKAGE_LIBIIO_NETWORK_BACKEND),ON,OFF) \
|
||||
-DWITH_MATLAB_BINDINGS_API=OFF \
|
||||
-DMATLAB_BINDINGS=OFF \
|
||||
-DINSTALL_UDEV_RULE=$(if $(BR2_PACKAGE_HAS_UDEV),ON,OFF) \
|
||||
-DWITH_TESTS=$(if $(BR2_PACKAGE_LIBIIO_TESTS),ON,OFF) \
|
||||
-DWITH_DOC=OFF
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 54797f6e763d417627f89f60e4ae0a431dab0523f92f83def23ea02d0defafea libmicrohttpd-0.9.52.tar.gz
|
||||
sha256 0c1cab8dc9f2588bd3076a28f77a7f8de9560cbf2d80e53f9a8696ada80ed0f8 libmicrohttpd-0.9.55.tar.gz
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBMICROHTTPD_VERSION = 0.9.52
|
||||
LIBMICROHTTPD_VERSION = 0.9.55
|
||||
LIBMICROHTTPD_SITE = $(BR2_GNU_MIRROR)/libmicrohttpd
|
||||
LIBMICROHTTPD_LICENSE_FILES = COPYING
|
||||
LIBMICROHTTPD_INSTALL_STAGING = YES
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
From f0f1f4b22d6a98536377a1bb07e7c20e4703d229 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Bernard <miniupnp@free.fr>
|
||||
Date: Tue, 9 May 2017 12:00:47 +0200
|
||||
Subject: [PATCH] miniupnpc: Fix CVE-2017-8798
|
||||
|
||||
Thanks to tin/Team OSTStrom
|
||||
|
||||
[Peter: drop Changelog.txt modification, convert to -p1 format]
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
miniupnpc/miniwget.c | 12 +++++++-----
|
||||
1 file changed, 9 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/miniwget.c b/miniwget.c
|
||||
index 37cb47b7..1eda57c5 100644
|
||||
--- a/miniwget.c
|
||||
+++ b/miniwget.c
|
||||
@@ -284,11 +284,12 @@ getHTTPResponse(int s, int * size, int * status_code)
|
||||
goto end_of_stream;
|
||||
}
|
||||
}
|
||||
- bytestocopy = ((int)chunksize < (n - i))?chunksize:(unsigned int)(n - i);
|
||||
+ /* it is guaranteed that (n >= i) */
|
||||
+ bytestocopy = (chunksize < (unsigned int)(n - i))?chunksize:(unsigned int)(n - i);
|
||||
if((content_buf_used + bytestocopy) > content_buf_len)
|
||||
{
|
||||
char * tmp;
|
||||
- if(content_length >= (int)(content_buf_used + bytestocopy)) {
|
||||
+ if((content_length >= 0) && ((unsigned int)content_length >= (content_buf_used + bytestocopy))) {
|
||||
content_buf_len = content_length;
|
||||
} else {
|
||||
content_buf_len = content_buf_used + bytestocopy;
|
||||
@@ -313,14 +314,15 @@ getHTTPResponse(int s, int * size, int * status_code)
|
||||
{
|
||||
/* not chunked */
|
||||
if(content_length > 0
|
||||
- && (int)(content_buf_used + n) > content_length) {
|
||||
+ && (content_buf_used + n) > (unsigned int)content_length) {
|
||||
/* skipping additional bytes */
|
||||
n = content_length - content_buf_used;
|
||||
}
|
||||
if(content_buf_used + n > content_buf_len)
|
||||
{
|
||||
char * tmp;
|
||||
- if(content_length >= (int)(content_buf_used + n)) {
|
||||
+ if(content_length >= 0
|
||||
+ && (unsigned int)content_length >= (content_buf_used + n)) {
|
||||
content_buf_len = content_length;
|
||||
} else {
|
||||
content_buf_len = content_buf_used + n;
|
||||
@@ -340,7 +342,7 @@ getHTTPResponse(int s, int * size, int * status_code)
|
||||
}
|
||||
}
|
||||
/* use the Content-Length header value if available */
|
||||
- if(content_length > 0 && (int)content_buf_used >= content_length)
|
||||
+ if(content_length > 0 && content_buf_used >= (unsigned int)content_length)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
printf("End of HTTP content\n");
|
||||
@@ -1,2 +1,3 @@
|
||||
# From https://github.com/thom311/libnl/releases/download/libnl3_2_27/libnl-3.2.27.tar.gz.sha256sum
|
||||
sha256 4bbbf92b3c78a90f423cf96260bf419a28b75db8cced47051217a56795f58ec6 libnl-3.2.27.tar.gz
|
||||
sha256 b7bb929194eefc56c786a7e1ae5176b54713f9013ccec63760f232742ae80361 3e18948f17148e6a3c4255bdeaaf01ef6081ceeb.patch
|
||||
|
||||
@@ -11,6 +11,8 @@ LIBNL_LICENSE_FILES = COPYING
|
||||
LIBNL_INSTALL_STAGING = YES
|
||||
LIBNL_DEPENDENCIES = host-bison host-flex
|
||||
|
||||
LIBNL_PATCH = https://github.com/thom311/libnl/commit/3e18948f17148e6a3c4255bdeaaf01ef6081ceeb.patch
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBNL_TOOLS),y)
|
||||
LIBNL_CONF_OPTS += --enable-cli
|
||||
else
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user