From 63c94c5185e52dddb756cf7b0d46abd3ee72e012 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 19 May 2017 20:25:30 +0100 Subject: [PATCH] clamav: Import patch to fix build issues with GCC 6 Signed-off-by: Michael Tremer --- lfs/clamav | 1 + src/patches/clamav-0.99.2-gcc-6.patch | 84 +++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 src/patches/clamav-0.99.2-gcc-6.patch diff --git a/lfs/clamav b/lfs/clamav index a20922e9dd..06ba0fcc4d 100644 --- a/lfs/clamav +++ b/lfs/clamav @@ -82,6 +82,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/clamav/llvm-glibc.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/clamav-0.99.2-gcc-6.patch cd $(DIR_APP) && ./configure \ --prefix=/usr \ --disable-zlib-vcheck \ diff --git a/src/patches/clamav-0.99.2-gcc-6.patch b/src/patches/clamav-0.99.2-gcc-6.patch new file mode 100644 index 0000000000..2031edbd38 --- /dev/null +++ b/src/patches/clamav-0.99.2-gcc-6.patch @@ -0,0 +1,84 @@ +diff --git a/libclamav/c++/llvm/include/llvm/ADT/StringMap.h b/libclamav/c++/llvm/include/llvm/ADT/StringMap.h +index 59ff6aa..1325394 100644 +--- a/libclamav/c++/llvm/include/llvm/ADT/StringMap.h ++++ b/libclamav/c++/llvm/include/llvm/ADT/StringMap.h +@@ -169,3 +169,3 @@ public: + KeyLength+1; +- unsigned Alignment = alignof(); ++ unsigned Alignment = alignOf(); + +diff --git a/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h b/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h +index 88044c7..86b0f40 100644 +--- a/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h ++++ b/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h +@@ -417,3 +417,3 @@ namespace llvm { + ileAllocator.Allocate(sizeof(IndexListEntry), +- alignof())); ++ alignOf())); + +diff --git a/libclamav/c++/llvm/include/llvm/Support/AlignOf.h b/libclamav/c++/llvm/include/llvm/Support/AlignOf.h +index 6a7a1a6..979e597 100644 +--- a/libclamav/c++/llvm/include/llvm/Support/AlignOf.h ++++ b/libclamav/c++/llvm/include/llvm/Support/AlignOf.h +@@ -51,8 +51,8 @@ struct AlignOf { + +-/// alignof - A templated function that returns the mininum alignment of ++/// alignOf - A templated function that returns the mininum alignment of + /// of a type. This provides no extra functionality beyond the AlignOf + /// class besides some cosmetic cleanliness. Example usage: +-/// alignof() returns the alignment of an int. ++/// alignOf() returns the alignment of an int. + template +-static inline unsigned alignof() { return AlignOf::Alignment; } ++static inline unsigned alignOf() { return AlignOf::Alignment; } + +diff --git a/libclamav/c++/llvm/include/llvm/Support/Allocator.h b/libclamav/c++/llvm/include/llvm/Support/Allocator.h +index 4a7251f..17caf5e 100644 +--- a/libclamav/c++/llvm/include/llvm/Support/Allocator.h ++++ b/libclamav/c++/llvm/include/llvm/Support/Allocator.h +@@ -203,3 +203,3 @@ public: + for (char *Ptr = (char*)(Slab+1); Ptr < End; Ptr += sizeof(T)) { +- Ptr = Allocator.AlignPtr(Ptr, alignof()); ++ Ptr = Allocator.AlignPtr(Ptr, alignOf()); + if (Ptr + sizeof(T) <= End) +diff --git a/libclamav/c++/llvm/lib/Analysis/ScalarEvolution.cpp b/libclamav/c++/llvm/lib/Analysis/ScalarEvolution.cpp +index b892d85..dc72346 100644 +--- a/libclamav/c++/llvm/lib/Analysis/ScalarEvolution.cpp ++++ b/libclamav/c++/llvm/lib/Analysis/ScalarEvolution.cpp +@@ -495,3 +495,3 @@ void SCEVUnknown::print(raw_ostream &OS) const { + if (isAlignOf(AllocTy)) { +- OS << "alignof(" << *AllocTy << ")"; ++ OS << "alignOf(" << *AllocTy << ")"; + return; +diff --git a/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp b/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp +index 824021c..757ca50 100644 +--- a/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp ++++ b/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp +@@ -569,3 +569,3 @@ void Emitter::emitMemModRMByte(const MachineInstr &MI, + // Calculate what the SS field value should be... +- static const unsigned SSTable[] = { ~0, 0, 1, ~0, 2, ~0, ~0, ~0, 3 }; ++ static const unsigned SSTable[] = { ~0u, 0u, 1u, ~0u, 2u, ~0u, ~0u, ~0u, 3u }; + unsigned SS = SSTable[Scale.getImm()]; +diff --git a/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp b/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp +index 9564fe0..b2b7986 100644 +--- a/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp ++++ b/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp +@@ -332,3 +332,3 @@ void X86MCCodeEmitter::EmitMemModRMByte(const MCInst &MI, unsigned Op, + // Calculate what the SS field value should be... +- static const unsigned SSTable[] = { ~0, 0, 1, ~0, 2, ~0, ~0, ~0, 3 }; ++ static const unsigned SSTable[] = { ~0u, 0u, 1u, ~0u, 2u, ~0u, ~0u, ~0u, 3u }; + unsigned SS = SSTable[Scale.getImm()]; +diff --git a/libclamav/mpool.c b/libclamav/mpool.c +index cd38e15..b5e537d 100644 +--- a/libclamav/mpool.c ++++ b/libclamav/mpool.c +@@ -417,3 +417,3 @@ static size_t from_bits(unsigned int bits) { + +-static inline unsigned int alignof(size_t size) ++static inline unsigned int alignOf(size_t size) + { +@@ -609,3 +609,3 @@ static void* allocate_aligned(struct MPMAP *mpm, size_t size, unsigned align, co + void *mpool_malloc(struct MP *mp, size_t size) { +- size_t align = alignof(size); ++ size_t align = alignOf(size); + size_t i, needed = align_increase(size+FRAG_OVERHEAD, align); -- 2.39.5