[packages/glog] - updated to 0.4.0 - updated avoid-inline-asm patch - removed obsolete gcc5 patch

qboosh qboosh at pld-linux.org
Thu Mar 28 21:47:19 CET 2019


commit 97ed79bd2dbffd275ef5ab748ac8fccd22e7bd79
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Mar 28 21:53:19 2019 +0100

    - updated to 0.4.0
    - updated avoid-inline-asm patch
    - removed obsolete gcc5 patch

 avoid-inline-asm.patch | 23 +++++++++++----------
 gcc5.patch             | 56 --------------------------------------------------
 glog.spec              | 12 +++++------
 3 files changed, 17 insertions(+), 74 deletions(-)
---
diff --git a/glog.spec b/glog.spec
index abdb198..11f73b5 100644
--- a/glog.spec
+++ b/glog.spec
@@ -5,16 +5,15 @@
 Summary:	A C++ application logging library
 Summary(pl.UTF-8):	Biblioteka do logowania dla aplikacji w C++
 Name:		glog
-Version:	0.3.5
-Release:	3
+Version:	0.4.0
+Release:	1
 License:	BSD
 Group:		Libraries
 #Source0Download: https://github.com/google/glog/releases
 Source0:	https://github.com/google/glog/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	5df6d78b81e51b90ac0ecd7ed932b0d4
+# Source0-md5:	0daea8785e6df922d7887755c3d100d0
 Patch0:		%{name}-gflags.patch
 Patch1:		avoid-inline-asm.patch
-Patch2:		gcc5.patch
 URL:		https://github.com/google/glog
 BuildRequires:	autoconf >= 2.57
 BuildRequires:	automake
@@ -29,7 +28,7 @@ BuildRequires:	gtest-devel
 BuildConflicts:	gmock-devel
 BuildConflicts:	gtest-devel
 %endif
-%ifarch %{ix86} %{x8664} arm hppa ia64 mips ppc ppc64 sh
+%ifarch %{ix86} %{x8664} x32 %{arm} hppa ia64 mips ppc ppc64 sh
 BuildRequires:	libunwind-devel
 %endif
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -76,7 +75,6 @@ Statyczna biblioteka glog.
 %setup -q
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
 
 %build
 %if %{with tests}
@@ -117,7 +115,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS COPYING ChangeLog README
+%doc AUTHORS COPYING ChangeLog README.md
 %attr(755,root,root) %{_libdir}/libglog.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libglog.so.0
 
diff --git a/avoid-inline-asm.patch b/avoid-inline-asm.patch
index b6fa9cd..7387466 100644
--- a/avoid-inline-asm.patch
+++ b/avoid-inline-asm.patch
@@ -2,9 +2,9 @@ http://code.google.com/p/google-glog/issues/detail?id=130
 
 make the code work with all gcc targets
 
---- a/src/symbolize_unittest.cc
-+++ b/src/symbolize_unittest.cc
-@@ -60,9 +60,7 @@ using namespace GOOGLE_NAMESPACE;
+--- glog-0.4.0/src/symbolize_unittest.cc.orig	2019-03-22 03:51:46.000000000 +0100
++++ glog-0.4.0/src/symbolize_unittest.cc	2019-03-28 20:39:09.755256776 +0100
+@@ -77,9 +77,7 @@
  #    endif  // __i386__
  #  else
  #  endif  // __GNUC__ >= 4
@@ -14,11 +14,11 @@ make the code work with all gcc targets
 +#  define TEST_WITH_LABEL_ADDRESSES
  #endif
  
- // A wrapper function for Symbolize() to make the unit test simple.
-@@ -289,22 +287,24 @@ TEST(Symbolize, SymbolizeWithDemanglingStackConsumption) {
+ // Make them C linkage to avoid mangled names.
+@@ -312,8 +310,9 @@
  extern "C" {
  inline void* always_inline inline_func() {
-   register void *pc = NULL;
+   void *pc = NULL;
 -#ifdef TEST_X86_32_AND_64
 -  __asm__ __volatile__("call 1f; 1: pop %0" : "=r"(pc));
 +#ifdef TEST_WITH_LABEL_ADDRESSES
@@ -27,9 +27,10 @@ make the code work with all gcc targets
  #endif
    return pc;
  }
- 
+@@ -321,14 +320,15 @@
+ void* ATTRIBUTE_NOINLINE non_inline_func();
  void* ATTRIBUTE_NOINLINE non_inline_func() {
-   register void *pc = NULL;
+   void *pc = NULL;
 -#ifdef TEST_X86_32_AND_64
 -  __asm__ __volatile__("call 1f; 1: pop %0" : "=r"(pc));
 +#ifdef TEST_WITH_LABEL_ADDRESSES
@@ -39,16 +40,16 @@ make the code work with all gcc targets
    return pc;
  }
  
- void ATTRIBUTE_NOINLINE TestWithPCInsideNonInlineFunction() {
+ static void ATTRIBUTE_NOINLINE TestWithPCInsideNonInlineFunction() {
 -#if defined(TEST_X86_32_AND_64) && defined(HAVE_ATTRIBUTE_NOINLINE)
 +#if defined(TEST_WITH_LABEL_ADDRESSES) && defined(HAVE_ATTRIBUTE_NOINLINE)
    void *pc = non_inline_func();
    const char *symbol = TrySymbolize(pc);
    CHECK(symbol != NULL);
-@@ -314,7 +314,7 @@ void ATTRIBUTE_NOINLINE TestWithPCInsideNonInlineFunction() {
+@@ -338,7 +338,7 @@
  }
  
- void ATTRIBUTE_NOINLINE TestWithPCInsideInlineFunction() {
+ static void ATTRIBUTE_NOINLINE TestWithPCInsideInlineFunction() {
 -#if defined(TEST_X86_32_AND_64) && defined(HAVE_ALWAYS_INLINE)
 +#if defined(TEST_WITH_LABEL_ADDRESSES) && defined(HAVE_ALWAYS_INLINE)
    void *pc = inline_func();  // Must be inlined.
diff --git a/gcc5.patch b/gcc5.patch
deleted file mode 100644
index fd1518c..0000000
--- a/gcc5.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From b1639e3014996fbc7635870e013559c54e7e3b2f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?David=20Mart=C3=ADnez=20Moreno?= <ender at debian.org>
-Date: Thu, 13 Aug 2015 09:31:26 -0700
-Subject: [PATCH] Fix ABI demangling for the GCC 5.x case.
-
-When glog is compiled with gcc-5.2 in cxx11 ABI mode, it barfs about unmangled symbols.  This patches it getting inspiration from binutils and demangle.cc itself, although it may be totally wrong or maybe have to use ParseAbiTag in more places.  I haven't read the spec for the symbols, though.
-
-This patch makes the demangle unit test pass correctly.
----
- src/demangle.cc | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-diff --git a/src/demangle.cc b/src/demangle.cc
-index e858181..0f0c831 100644
---- a/src/demangle.cc
-+++ b/src/demangle.cc
-@@ -439,6 +439,7 @@ static bool ParseExprPrimary(State *state);
- static bool ParseLocalName(State *state);
- static bool ParseDiscriminator(State *state);
- static bool ParseSubstitution(State *state);
-+static bool ParseAbiTag(State *state);
- 
- // Implementation note: the following code is a straightforward
- // translation of the Itanium C++ ABI defined in BNF with a couple of
-@@ -567,6 +568,8 @@ static bool ParseNestedName(State *state) {
- static bool ParsePrefix(State *state) {
-   bool has_something = false;
-   while (true) {
-+    if (ParseAbiTag(state))
-+      continue;
-     MaybeAppendSeparator(state);
-     if (ParseTemplateParam(state) ||
-         ParseSubstitution(state) ||
-@@ -585,6 +588,22 @@ static bool ParsePrefix(State *state) {
-   return true;
- }
- 
-+// <abi-tag>          ::= B <source-name>
-+static bool ParseAbiTag(State *state) {
-+  State copy = *state;
-+
-+  Append(state, "[", 1);
-+  if (ParseOneCharToken(state, 'B') &&
-+      ParseSourceName(state))
-+  {
-+    Append(state, "]", 1);
-+    return true;
-+  }
-+
-+  *state = copy;
-+  return false;
-+}
-+
- // <unqualified-name> ::= <operator-name>
- //                    ::= <ctor-dtor-name>
- //                    ::= <source-name>
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/glog.git/commitdiff/97ed79bd2dbffd275ef5ab748ac8fccd22e7bd79



More information about the pld-cvs-commit mailing list