Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kcov for openSUSE:Factory checked in at 2022-09-30 17:58:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kcov (Old) and /work/SRC/openSUSE:Factory/.kcov.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kcov" Fri Sep 30 17:58:26 2022 rev:5 rq:1007170 version:40 Changes: -------- --- /work/SRC/openSUSE:Factory/kcov/kcov.changes 2022-06-28 15:23:14.074019615 +0200 +++ /work/SRC/openSUSE:Factory/.kcov.new.2275/kcov.changes 2022-09-30 17:58:46.865375158 +0200 @@ -1,0 +2,30 @@ +Thu Sep 22 19:04:42 UTC 2022 - Antoine Belvire <antoine.belv...@opensuse.org> + +- Update to 40: + * Make libbfd non-required to avoid GPLv3 +- Changes from 39: + * Allow an address to map to multiple lines in the binary + (gh#SimonKagstrom/kcov/366). + * Correct abort signal return value (gh#SimonKagstrom/kcov/314). + * Escape json URLs (gh#SimonKagstrom/kcov/353). + * Match ELF perfect if it has the ELF magic + (gh#SimonKagstrom/kcov/339). + * Correct --collect-only, --report-only on non-identical + machines (gh#SimonKagstrom/kcov/342) + * Auto build via github actions (gh#SimonKagstrom/kcov/347). + * Allow regex in --replace-src-path (gh#SimonKagstrom/kcov/333). + * bash: Set PS4 in bash_helper for modern bashes to allow root + usage (gh#SimonKagstrom/kcov/331). + * Fix --merge with two --collect-only runs + (gh#SimonKagstrom/kcov/327). + * bash: Add --bash-tracefd-cloexec to avoid leaking trace fd + to children (gh#SimonKagstrom/kcov/325). + * bash: Drain stdout when on xtrace-fd + (gh#SimonKagstrom/kcov/323). + * Make kcov conan-ready (gh#SimonKagstrom/kcov/322). +- Add kcov-40-binutils-2.39.patch: Fix build with binutils 2.39 + (gh#SimonKagstrom/kcov#381, gh#SimonKagstrom/kcov!383). +- Refresh spec file. +- Remove unneeded build dependency on python3. + +------------------------------------------------------------------- Old: ---- v38.tar.gz New: ---- kcov-40-binutils-2.39.patch v40.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kcov.spec ++++++ --- /var/tmp/diff_new_pack.6lvkKp/_old 2022-09-30 17:58:47.365376226 +0200 +++ /var/tmp/diff_new_pack.6lvkKp/_new 2022-09-30 17:58:47.369376235 +0200 @@ -17,7 +17,7 @@ Name: kcov -Version: 38 +Version: 40 Release: 0 Summary: Code coverage tool without special compilation options License: GPL-2.0-only @@ -25,14 +25,17 @@ URL: https://github.com/SimonKagstrom/kcov Source0: https://github.com/SimonKagstrom/kcov/archive/v%{version}.tar.gz Patch0: link_order.patch +# PATCH-FIX-UPSTREAM kcov-40-binutils-2.39.patch -- Fix build with binutils 2.39 (gh#SimonKagstrom#381, gh#SimonKagstrom!383) +Patch1: kcov-40-binutils-2.39.patch BuildRequires: binutils-devel +BuildRequires: c++_compiler BuildRequires: cmake -BuildRequires: gcc-c++ -BuildRequires: libcurl-devel -BuildRequires: libdw-devel -BuildRequires: libelf-devel -BuildRequires: python3 -BuildRequires: zlib-devel +BuildRequires: pkgconfig +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libdw) +BuildRequires: pkgconfig(libelf) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(zlib) ExcludeArch: s390x %description @@ -42,25 +45,24 @@ long-running applications. %prep -%setup -q -%patch0 -p1 +%autosetup -p1 # remove LLDB headers bundled for MacOS rm -frv external/ %build %cmake -%make_build +%cmake_build %install -cd build -%make_install +%cmake_install +# ignore ChangeLog and COPYING*, they are handled with doc and license macros +rm -r %{buildroot}%{_datadir}/doc/kcov %files -%doc ChangeLog README +%doc ChangeLog README.md %license COPYING* -%{_bindir}/* -%{_mandir}/man1/* -# ignore ChangeLog and COPYING* files from install -%exclude %{_datadir}/doc/kcov +%{_bindir}/kcov +%{_bindir}/kcov-system-daemon +%{_mandir}/man1/kcov.1%{?ext_man} %changelog ++++++ kcov-40-binutils-2.39.patch ++++++ >From fd1a4fd2f02cee49afd74e427e38c61b89154582 Mon Sep 17 00:00:00 2001 From: oreo639 <oreo6...@gmail.com> Date: Wed, 14 Sep 2022 16:02:17 -0700 Subject: [PATCH] Fix build with binutils 2.39 --- src/CMakeLists.txt | 20 +++++++++++++++++++- src/parsers/bfd-disassembler.cc | 23 +++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3b751852..fc396827 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -94,6 +94,7 @@ set (DISASSEMBLER_SRCS ) set (HAS_LIBBFD "0") +set (HAS_LIBBFD_DISASM_STYLED "0") if (CMAKE_TARGET_ARCHITECTURES STREQUAL "i386" OR CMAKE_TARGET_ARCHITECTURES STREQUAL "x86_64") if (LIBBFD_FOUND) @@ -106,6 +107,23 @@ if (CMAKE_TARGET_ARCHITECTURES STREQUAL "i386" OR CMAKE_TARGET_ARCHITECTURES STR ${LIBBFD_BFD_LIBRARY} ${LIBBFD_IBERTY_LIBRARY} ) + include(CheckCSourceCompiles) + set(CMAKE_REQUIRED_LIBRARIES ${DISASSEMBLER_LIBRARIES}) + check_c_source_compiles(" + #define PACKAGE + #define PACKAGE_VERSION + #include <stdio.h> + #include <dis-asm.h> + + int main(int argc, char **argv){ + struct disassemble_info info; + init_disassemble_info(&info, stdout, NULL, NULL); + return 0; + } + " TEST_LIBBFD_DISASM_STYLED) + if (TEST_LIBBFD_DISASM_STYLED) + set (HAS_LIBBFD_DISASM_STYLED "1") + endif (TEST_LIBBFD_DISASM_STYLED) endif (LIBBFD_FOUND) endif (CMAKE_TARGET_ARCHITECTURES STREQUAL "i386" OR CMAKE_TARGET_ARCHITECTURES STREQUAL "x86_64") @@ -284,7 +302,7 @@ set (KCOV_SYSTEM_MODE_SRCS set (KCOV_LIBRARY_PREFIX "/tmp") -set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -g -Wall -D_GLIBCXX_USE_NANOSLEEP -DKCOV_LIBRARY_PREFIX=${KCOV_LIBRARY_PREFIX} -DKCOV_HAS_LIBBFD=${HAS_LIBBFD}") +set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -g -Wall -D_GLIBCXX_USE_NANOSLEEP -DKCOV_LIBRARY_PREFIX=${KCOV_LIBRARY_PREFIX} -DKCOV_HAS_LIBBFD=${HAS_LIBBFD} -DKCOV_LIBFD_DISASM_STYLED=${HAS_LIBBFD_DISASM_STYLED}") include_directories( include/ diff --git a/src/parsers/bfd-disassembler.cc b/src/parsers/bfd-disassembler.cc index 43653ee0..28815961 100644 --- a/src/parsers/bfd-disassembler.cc +++ b/src/parsers/bfd-disassembler.cc @@ -75,7 +75,11 @@ class BfdDisassembler : public IDisassembler BfdDisassembler() { memset(&m_info, 0, sizeof(m_info)); +#if KCOV_LIBFD_DISASM_STYLED + init_disassemble_info(&m_info, (void *)this, BfdDisassembler::opcodesFprintFuncStatic, BfdDisassembler::opcodesFprintStyledFuncStatic); +#else init_disassemble_info(&m_info, (void *)this, BfdDisassembler::opcodesFprintFuncStatic); +#endif m_disassembler = print_insn_i386; m_info.arch = bfd_arch_i386; @@ -407,6 +411,25 @@ class BfdDisassembler : public IDisassembler return out; } +#if KCOV_LIBFD_DISASM_STYLED + static int opcodesFprintStyledFuncStatic(void *info, enum disassembler_style style, const char *fmt, ...) + { + (void)style; + BfdDisassembler *pThis = (BfdDisassembler *)info; + char str[64]; + int out; + + va_list args; + va_start (args, fmt); + out = vsnprintf( str, sizeof(str) - 1, fmt, args ); + va_end (args); + + pThis->opcodesFprintFunc(str); + + return out; + } +#endif + typedef std::map<uint64_t, Section *> SectionCache_t; typedef std::unordered_map<uint64_t, Instruction> InstructionAddressMap_t; typedef std::map<uint64_t, Instruction *> InstructionOrderedMap_t; ++++++ v38.tar.gz -> v40.tar.gz ++++++ ++++ 1884 lines of diff (skipped)