1.0.2-13 - Evolution of the previous (rhbz#1478089)
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
This commit is contained in:
parent
e3be0a5f65
commit
18a84f6e3e
@ -1,4 +1,4 @@
|
||||
From afb1e96c8b45c520f1e66416167ad943326ae4fe Mon Sep 17 00:00:00 2001
|
||||
From d471da4335c1da2501f2c31ffafc18ae884af389 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <jpokorny@redhat.com>
|
||||
Date: Fri, 6 Oct 2017 17:17:26 +0200
|
||||
Subject: [PATCH 3/6] tests: new sort of tests dubbed "functional", cover
|
||||
@ -160,11 +160,11 @@ Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
|
||||
tests/functional/log_interlib_client.c | 68 ++++++
|
||||
tests/functional/log_internal/Makefile.am | 23 ++
|
||||
tests/functional/log_test_client.err | 2 +
|
||||
tests/functional/log_test_client.sh | 30 +++
|
||||
tests/functional/log_test_client.sh | 33 +++
|
||||
tests/functional/log_test_interlib_client.err | 4 +
|
||||
tests/functional/log_test_interlib_client.sh | 33 +++
|
||||
tests/functional/log_test_interlib_client.sh | 36 +++
|
||||
tests/functional/log_test_mock.sh | 310 ++++++++++++++++++++++++++
|
||||
16 files changed, 754 insertions(+), 2 deletions(-)
|
||||
16 files changed, 760 insertions(+), 2 deletions(-)
|
||||
create mode 100644 tests/functional/GNUmakefile
|
||||
create mode 100644 tests/functional/Makefile.am
|
||||
create mode 100644 tests/functional/log.am
|
||||
@ -653,63 +653,17 @@ index 0000000..697cee2
|
||||
+liblog_inter_la_LIBADD = $(top_builddir)/lib/libqb.la
|
||||
diff --git a/tests/functional/log_test_client.err b/tests/functional/log_test_client.err
|
||||
new file mode 100644
|
||||
index 0000000..cb0ff3c
|
||||
index 0000000..19fca2c
|
||||
--- /dev/null
|
||||
+++ b/tests/functional/log_test_client.err
|
||||
@@ -0,0 +1,2 @@
|
||||
+[MAIN |debug] ../log_client.c:64:hello
|
||||
+[libqb|error] log_blackbox.c:196:qb_log_blackbox_print_from_file: No such file or directory (2)
|
||||
+[libqb|error] log_blackbox.c:196:qb_log_blackbox_print_from_file:
|
||||
diff --git a/tests/functional/log_test_client.sh b/tests/functional/log_test_client.sh
|
||||
new file mode 100755
|
||||
index 0000000..17e9254
|
||||
index 0000000..9098751
|
||||
--- /dev/null
|
||||
+++ b/tests/functional/log_test_client.sh
|
||||
@@ -0,0 +1,30 @@
|
||||
+#!/bin/sh
|
||||
+# Copyright 2017 Red Hat, Inc.
|
||||
+#
|
||||
+# Author: Jan Pokorny <jpokorny@redhat.com>
|
||||
+#
|
||||
+# This file is part of libqb.
|
||||
+#
|
||||
+# libqb is free software: you can redistribute it and/or modify
|
||||
+# it under the terms of the GNU Lesser General Public License as published by
|
||||
+# the Free Software Foundation, either version 2.1 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# libqb 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 Lesser General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU Lesser General Public License
|
||||
+# along with libqb. If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+./log_client >/dev/null 2>log_test_client.err.real
|
||||
+
|
||||
+_pipeline='cat ../log_test_client.err'
|
||||
+case "${CPPFLAGS}" in
|
||||
+ *-DNLOG*)
|
||||
+ _pipeline="${_pipeline} | \
|
||||
+ grep -Ev '^\[MAIN |info] \.\./log_client\.c'";;
|
||||
+esac
|
||||
+
|
||||
+eval "${_pipeline}" | diff -u - log_test_client.err.real
|
||||
diff --git a/tests/functional/log_test_interlib_client.err b/tests/functional/log_test_interlib_client.err
|
||||
new file mode 100644
|
||||
index 0000000..dc0de9c
|
||||
--- /dev/null
|
||||
+++ b/tests/functional/log_test_interlib_client.err
|
||||
@@ -0,0 +1,4 @@
|
||||
+[MAIN |info] ../log_interlib_client.c:61:BEFORE
|
||||
+[MAIN |info] ../log_interlib.c:47:aloha
|
||||
+[libqb|error] log_blackbox.c:196:qb_log_blackbox_print_from_file: No such file or directory (2)
|
||||
+[MAIN |info] ../log_interlib_client.c:65:AFTER
|
||||
diff --git a/tests/functional/log_test_interlib_client.sh b/tests/functional/log_test_interlib_client.sh
|
||||
new file mode 100755
|
||||
index 0000000..e066cae
|
||||
--- /dev/null
|
||||
+++ b/tests/functional/log_test_interlib_client.sh
|
||||
@@ -0,0 +1,33 @@
|
||||
+#!/bin/sh
|
||||
+# Copyright 2017 Red Hat, Inc.
|
||||
@ -731,7 +685,59 @@ index 0000000..e066cae
|
||||
+# You should have received a copy of the GNU Lesser General Public License
|
||||
+# along with libqb. If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+./log_interlib_client >/dev/null 2>log_test_interlib_client.err.real
|
||||
+# error msg can differ per locale, errno code per system (Hurd begs to differ)
|
||||
+./log_client 2>&1 >/dev/null \
|
||||
+ | sed 's/\(qb_log_blackbox_print_from_file:\).*/\1/' \
|
||||
+ >log_test_client.err.real
|
||||
+
|
||||
+_pipeline='cat ../log_test_client.err'
|
||||
+case "${CPPFLAGS}" in
|
||||
+ *-DNLOG*)
|
||||
+ _pipeline="${_pipeline} | \
|
||||
+ grep -Ev '^\[MAIN |info] \.\./log_client\.c'";;
|
||||
+esac
|
||||
+
|
||||
+eval "${_pipeline}" | diff -u - log_test_client.err.real
|
||||
diff --git a/tests/functional/log_test_interlib_client.err b/tests/functional/log_test_interlib_client.err
|
||||
new file mode 100644
|
||||
index 0000000..5b42b29
|
||||
--- /dev/null
|
||||
+++ b/tests/functional/log_test_interlib_client.err
|
||||
@@ -0,0 +1,4 @@
|
||||
+[MAIN |info] ../log_interlib_client.c:61:BEFORE
|
||||
+[MAIN |info] ../log_interlib.c:47:aloha
|
||||
+[libqb|error] log_blackbox.c:196:qb_log_blackbox_print_from_file:
|
||||
+[MAIN |info] ../log_interlib_client.c:65:AFTER
|
||||
diff --git a/tests/functional/log_test_interlib_client.sh b/tests/functional/log_test_interlib_client.sh
|
||||
new file mode 100755
|
||||
index 0000000..d06ec98
|
||||
--- /dev/null
|
||||
+++ b/tests/functional/log_test_interlib_client.sh
|
||||
@@ -0,0 +1,36 @@
|
||||
+#!/bin/sh
|
||||
+# Copyright 2017 Red Hat, Inc.
|
||||
+#
|
||||
+# Author: Jan Pokorny <jpokorny@redhat.com>
|
||||
+#
|
||||
+# This file is part of libqb.
|
||||
+#
|
||||
+# libqb is free software: you can redistribute it and/or modify
|
||||
+# it under the terms of the GNU Lesser General Public License as published by
|
||||
+# the Free Software Foundation, either version 2.1 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# libqb 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 Lesser General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU Lesser General Public License
|
||||
+# along with libqb. If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+# error msg can differ per locale, errno code per system (Hurd begs to differ)
|
||||
+./log_interlib_client 2>&1 >/dev/null \
|
||||
+ | sed 's/\(qb_log_blackbox_print_from_file:\).*/\1/' \
|
||||
+ >log_test_interlib_client.err.real
|
||||
+
|
||||
+_pipeline='cat ../log_test_interlib_client.err'
|
||||
+case "${CPPFLAGS}" in
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ca5c4425393c462670861a023608d30977a17de7 Mon Sep 17 00:00:00 2001
|
||||
From 06388b7fdf471438a08740791c21ae658c657bd0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <jpokorny@redhat.com>
|
||||
Date: Fri, 6 Oct 2017 17:17:26 +0200
|
||||
Subject: [PATCH 4/6] Med: add extra run-time (client, libqb) checks that
|
||||
@ -82,18 +82,20 @@ change (and extending log_test_mock.sh so as to capture syslog
|
||||
stream within the container), not much changes with the table above,
|
||||
i.e., X(b) .. ld.bfd = 2.29:
|
||||
[*A] in addition, unless QB_LOG_INIT_DATA used on client side,
|
||||
syslog carries this error:
|
||||
syslog carries this warning:
|
||||
"(LOG@QB) target chain supplied section not observed by libqb,
|
||||
target's and/or libqb's linkage at fault and logging of the target
|
||||
will not work reliably (unless qb_log_init function used unexpectedly
|
||||
in no-logging context)"
|
||||
in no-logging context, or target chain built purposefully without
|
||||
callsite section)"
|
||||
logged by libqb proper
|
||||
[*C] in addition, unless QB_LOG_INIT_DATA used on interlib side,
|
||||
syslog carries this error:
|
||||
syslog carries this warning:
|
||||
"(LOG@QB) target chain supplied section not observed by libqb,
|
||||
target's and/or libqb's linkage at fault and logging of the target
|
||||
will not work reliably (unless qb_log_init function used unexpectedly
|
||||
in no-logging context)"
|
||||
in no-logging context, or target chain built purposefully without
|
||||
callsite section)"
|
||||
logged by libqb proper
|
||||
[*E] in addition, unless QB_LOG_INIT_DATA used on client side,
|
||||
syslog carries this warning:
|
||||
@ -173,27 +175,30 @@ libqb's linkage at fault and logging would not work reliably"
|
||||
which makes it, likely through self-reference keepalive (see
|
||||
below), work OK
|
||||
[*K] boils down to [*3]
|
||||
in addition, syslog carries this error:
|
||||
in addition, syslog carries this warning:
|
||||
"(LOG@QB) target chain supplied section not observed by libqb,
|
||||
target's and/or libqb's linkage at fault and logging of the target
|
||||
will not work reliably (unless qb_log_init function used unexpectedly
|
||||
in no-logging context)"
|
||||
in no-logging context, or target chain built purposefully without
|
||||
callsite section)"
|
||||
logged by libqb proper
|
||||
[*L] boils down to [*3], unless QB_LOG_INIT_DATA used on interlib side
|
||||
(sufficient?), which makes it, likely through self-reference
|
||||
keepalive (see below), boil down just to [*1];
|
||||
in addition, syslog carries this error:
|
||||
in addition, syslog carries this warning:
|
||||
"(LOG@QB) target chain supplied section not observed by libqb,
|
||||
target's and/or libqb's linkage at fault and logging of the target
|
||||
will not work reliably (unless qb_log_init function used unexpectedly
|
||||
in no-logging context)"
|
||||
in no-logging context, or target chain built purposefully without
|
||||
callsite section)"
|
||||
logged by libqb proper
|
||||
[*M] boils down to [*1];
|
||||
in addition, syslog carries this error:
|
||||
in addition, syslog carries this warning:
|
||||
"(LOG@QB) target chain supplied section not observed by libqb,
|
||||
target's and/or libqb's linkage at fault and logging of the target
|
||||
will not work reliably (unless qb_log_init function used unexpectedly
|
||||
in no-logging context)"
|
||||
in no-logging context, or target chain built purposefully without
|
||||
callsite section)"
|
||||
logged by libqb proper
|
||||
[*N] boils down to [*M], unless QB_LOG_INIT_DATA used on client side,
|
||||
which makes it, likely through self-reference keepalive (see
|
||||
@ -230,22 +235,22 @@ which the current build system/code shake is all about.
|
||||
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
|
||||
---
|
||||
configure.ac | 1 +
|
||||
include/qb/qblog.h | 110 ++++++++++++++++++++++--------
|
||||
include/qb/qblog.h | 111 ++++++++++++++++++++++--------
|
||||
lib/libqb.pc.in | 3 +-
|
||||
lib/log.c | 49 +++++++++++++
|
||||
lib/log.c | 53 ++++++++++++++
|
||||
tests/functional/Makefile.am | 3 +-
|
||||
tests/functional/log.am | 2 +-
|
||||
tests/functional/log_external/Makefile.am | 8 ++-
|
||||
tests/functional/log_test_mock.sh | 13 +++-
|
||||
tests/functional/syslog-stdout.py | 51 ++++++++++++++
|
||||
9 files changed, 204 insertions(+), 36 deletions(-)
|
||||
9 files changed, 209 insertions(+), 36 deletions(-)
|
||||
create mode 100755 tests/functional/syslog-stdout.py
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 274b49c..5769e60 100644
|
||||
index 027154c..5338352 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -642,6 +642,7 @@ if test "x${GCC}" = xyes; then
|
||||
@@ -644,6 +644,7 @@ if test "x${GCC}" = xyes; then
|
||||
AC_DEFINE([QB_HAVE_ATTRIBUTE_SECTION], 1,
|
||||
[Enabling code using __attribute__((section))])
|
||||
PACKAGE_FEATURES="$PACKAGE_FEATURES attribute-section"
|
||||
@ -254,7 +259,7 @@ index 274b49c..5769e60 100644
|
||||
fi
|
||||
|
||||
diff --git a/include/qb/qblog.h b/include/qb/qblog.h
|
||||
index 4954932..766cffe 100644
|
||||
index aba63a0..e71556c 100644
|
||||
--- a/include/qb/qblog.h
|
||||
+++ b/include/qb/qblog.h
|
||||
@@ -1,9 +1,10 @@
|
||||
@ -300,7 +305,7 @@ index 4954932..766cffe 100644
|
||||
*
|
||||
* @par Configuring log targets.
|
||||
* A log target can be syslog, stderr, the blackbox, stdout, or a text file.
|
||||
@@ -283,35 +285,85 @@ typedef void (*qb_log_filter_fn)(struct qb_log_callsite * cs);
|
||||
@@ -283,35 +285,86 @@ typedef void (*qb_log_filter_fn)(struct qb_log_callsite * cs);
|
||||
extern struct qb_log_callsite QB_ATTR_SECTION_START[];
|
||||
extern struct qb_log_callsite QB_ATTR_SECTION_STOP[];
|
||||
|
||||
@ -391,7 +396,8 @@ index 4954932..766cffe 100644
|
||||
+ assert("implicit callsite section observable, otherwise \
|
||||
+target's and/or libqb's linkage at fault and logging would not work \
|
||||
+reliably" \
|
||||
+ && work_s1 != NULL && work_s2 != NULL); } \
|
||||
+ && work_s1 != NULL && work_s2 != NULL); \
|
||||
+ dlclose(work_handle); /* perhaps overly eager thing to do */ } \
|
||||
+ /* better targeted attestations when available */ \
|
||||
+ QB_NONAPI_LOG_INIT_DATA_EXTRA_; \
|
||||
+ /* finally, original, straightforward check */ \
|
||||
@ -419,7 +425,7 @@ index 8a8d0ba..37d27b7 100644
|
||||
+Libs.private: @LIBS@
|
||||
Cflags: -I${includedir}
|
||||
diff --git a/lib/log.c b/lib/log.c
|
||||
index bfd218f..777f378 100644
|
||||
index bfd218f..eb35d6f 100644
|
||||
--- a/lib/log.c
|
||||
+++ b/lib/log.c
|
||||
@@ -853,6 +853,18 @@ qb_log_init(const char *name, int32_t facility, uint8_t priority)
|
||||
@ -441,7 +447,7 @@ index bfd218f..777f378 100644
|
||||
|
||||
l = pthread_rwlock_init(&_listlock, NULL);
|
||||
assert(l == 0);
|
||||
@@ -871,6 +883,25 @@ qb_log_init(const char *name, int32_t facility, uint8_t priority)
|
||||
@@ -871,6 +883,26 @@ qb_log_init(const char *name, int32_t facility, uint8_t priority)
|
||||
|
||||
qb_log_dcs_init();
|
||||
#ifdef QB_HAVE_ATTRIBUTE_SECTION
|
||||
@ -463,23 +469,27 @@ index bfd218f..777f378 100644
|
||||
+ } else if (work_s1 == work_s2) {
|
||||
+ preinit_err = preinit_err_target_empty;
|
||||
+ }
|
||||
+ dlclose(work_handle); /* perhaps overly eager thing to do */
|
||||
+ }
|
||||
qb_log_callsites_register(QB_ATTR_SECTION_START, QB_ATTR_SECTION_STOP);
|
||||
dl_iterate_phdr(_log_so_walk_callback, NULL);
|
||||
_log_so_walk_dlnames();
|
||||
@@ -884,6 +915,24 @@ qb_log_init(const char *name, int32_t facility, uint8_t priority)
|
||||
@@ -884,6 +916,27 @@ qb_log_init(const char *name, int32_t facility, uint8_t priority)
|
||||
_log_target_state_set(&conf[QB_LOG_SYSLOG], QB_LOG_STATE_ENABLED);
|
||||
(void)qb_log_filter_ctl(QB_LOG_SYSLOG, QB_LOG_FILTER_ADD,
|
||||
QB_LOG_FILTER_FILE, "*", priority);
|
||||
+
|
||||
+ if (preinit_err == preinit_err_target_sec)
|
||||
+ qb_util_log(LOG_ERR, "(LOG@QB) target chain supplied section"
|
||||
+ " not observed by libqb, target's and/or"
|
||||
+ " libqb's linkage at fault and"
|
||||
+ " logging of the target will not"
|
||||
+ " work reliably (unless qb_log_init"
|
||||
+ " function used unexpectedly in"
|
||||
+ " no-logging context)");
|
||||
+ qb_util_log(LOG_WARNING, "(LOG@QB) target chain supplied"
|
||||
+ " section not observed by libqb,"
|
||||
+ " target's and/or libqb's linkage"
|
||||
+ " at fault and logging of the target"
|
||||
+ " will not work reliably (unless"
|
||||
+ " qb_log_init function used"
|
||||
+ " unexpectedly in no-logging"
|
||||
+ " context, or target chain built"
|
||||
+ " purposefully without callsite"
|
||||
+ " sections)");
|
||||
+ else if (preinit_err == preinit_err_target_empty) {
|
||||
+ qb_util_log(LOG_WARNING, "(LOG@QB) target chain supplied"
|
||||
+ " section empty, target's and/or"
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0de4d2298da9c5880ff8c32ac2e75c3104d44816 Mon Sep 17 00:00:00 2001
|
||||
From ae68f462c4ee6cadcbdbbd31b4c19e19bdd7aab2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <jpokorny@redhat.com>
|
||||
Date: Fri, 6 Oct 2017 17:17:26 +0200
|
||||
Subject: [PATCH 5/6] High: bare fix for libqb logging not working with
|
||||
@ -260,11 +260,12 @@ Deficiencies:
|
||||
Open questions:
|
||||
* should we enable attribute((__section__)) for powerpc and other minor
|
||||
platforms if the feature is proved to be working there as well?
|
||||
and related to that, we need to figure out how static and dynamic call
|
||||
sites can live together -- say what will happen to logging programs
|
||||
compiled with libqb w/o attribute sections when the underlying libqb is
|
||||
flipped to the one with them ... do we need a transition plan to be
|
||||
spread across an extended period to keep it smooth?
|
||||
and if/when that's going to happen, we need to figure out the
|
||||
transition plan to be spread throughout an extended period to keep
|
||||
the transition smooth -- notably when now-with-callsite-section
|
||||
clients will get run-time linked with callsite-section-not-a-default
|
||||
libqb (say upon it's downgrade), and for that, the libqb's support
|
||||
alone should be enabled year(s) ahead of the actual client space...
|
||||
|
||||
* * *
|
||||
|
||||
@ -280,7 +281,6 @@ References:
|
||||
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
|
||||
---
|
||||
configure.ac | 147 +++++++++++++++++++++++++++++++++++++++++------
|
||||
include/qb/qbconfig.h.in | 2 +
|
||||
include/qb/qblog.h | 32 +++++++++--
|
||||
lib/Makefile.am | 67 +++++++++++++++++++++
|
||||
lib/libqb.pc.in | 8 +++
|
||||
@ -288,16 +288,16 @@ Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
|
||||
lib/qblog_script.la.in | 15 +++++
|
||||
lib/qblog_script.ld.in | 27 +++++++++
|
||||
lib/qblog_script_noop.ld | 1 +
|
||||
9 files changed, 282 insertions(+), 24 deletions(-)
|
||||
8 files changed, 280 insertions(+), 24 deletions(-)
|
||||
create mode 100644 lib/qblog_script.la.in
|
||||
create mode 100644 lib/qblog_script.ld.in
|
||||
create mode 100644 lib/qblog_script_noop.ld
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 5769e60..2b4ed32 100644
|
||||
index 5338352..ac56c4c 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -501,6 +501,14 @@ AC_ARG_ENABLE([debug],
|
||||
@@ -503,6 +503,14 @@ AC_ARG_ENABLE([debug],
|
||||
AC_ARG_ENABLE([coverage],
|
||||
[AS_HELP_STRING([--enable-coverage],[coverage analysis of the codebase])])
|
||||
|
||||
@ -312,7 +312,7 @@ index 5769e60..2b4ed32 100644
|
||||
AC_ARG_ENABLE([slow-tests],
|
||||
[AS_HELP_STRING([--enable-slow-tests],[build and run slow tests])])
|
||||
|
||||
@@ -609,6 +617,19 @@ else
|
||||
@@ -611,6 +619,19 @@ else
|
||||
COVERAGE_LDFLAGS=""
|
||||
fi
|
||||
|
||||
@ -332,7 +332,7 @@ index 5769e60..2b4ed32 100644
|
||||
if test "x${enable_slow_tests}" = xyes ; then
|
||||
AC_DEFINE([HAVE_SLOW_TESTS], 1,[have slow tests])
|
||||
AC_MSG_NOTICE([Enabling Slow tests])
|
||||
@@ -618,33 +639,121 @@ AC_SUBST(HAVE_SLOW_TESTS)
|
||||
@@ -620,33 +641,121 @@ AC_SUBST(HAVE_SLOW_TESTS)
|
||||
|
||||
# --- callsite sections ---
|
||||
if test "x${GCC}" = xyes; then
|
||||
@ -470,7 +470,7 @@ index 5769e60..2b4ed32 100644
|
||||
|
||||
# --- ansi ---
|
||||
if test "x${enable_ansi}" = xyes && \
|
||||
@@ -726,9 +835,11 @@ AC_CONFIG_FILES([Makefile
|
||||
@@ -728,9 +837,11 @@ AC_CONFIG_FILES([Makefile
|
||||
docs/Makefile
|
||||
docs/common.dox
|
||||
docs/html.dox
|
||||
@ -484,23 +484,8 @@ index 5769e60..2b4ed32 100644
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
diff --git a/include/qb/qbconfig.h.in b/include/qb/qbconfig.h.in
|
||||
index c1852e1..b0bf428 100644
|
||||
--- a/include/qb/qbconfig.h.in
|
||||
+++ b/include/qb/qbconfig.h.in
|
||||
@@ -27,8 +27,10 @@
|
||||
/* need atomic memory barrier */
|
||||
#undef QB_ATOMIC_OP_MEMORY_BARRIER_NEEDED
|
||||
|
||||
+#ifndef QB_KILL_ATTRIBUTE_SECTION
|
||||
/* Enabling code using __attribute__((section)) */
|
||||
#undef QB_HAVE_ATTRIBUTE_SECTION
|
||||
+#endif /* QB_KILL_ATTRIBUTE_SECTION */
|
||||
|
||||
/* versioning info: MAJOR, MINOR, MICRO, and REST components */
|
||||
#undef QB_VER_MAJOR
|
||||
diff --git a/include/qb/qblog.h b/include/qb/qblog.h
|
||||
index 766cffe..cd7256a 100644
|
||||
index e71556c..e0890a9 100644
|
||||
--- a/include/qb/qblog.h
|
||||
+++ b/include/qb/qblog.h
|
||||
@@ -79,7 +79,10 @@ extern "C" {
|
||||
@ -556,10 +541,10 @@ index 766cffe..cd7256a 100644
|
||||
dlclose(work_handle); } }
|
||||
#endif /* _GNU_SOURCE */
|
||||
|
||||
@@ -354,8 +375,7 @@ linkage at fault and logging would not work reliably" \
|
||||
target's and/or libqb's linkage at fault and logging would not work \
|
||||
@@ -355,8 +376,7 @@ target's and/or libqb's linkage at fault and logging would not work \
|
||||
reliably" \
|
||||
&& work_s1 != NULL && work_s2 != NULL); } \
|
||||
&& work_s1 != NULL && work_s2 != NULL); \
|
||||
dlclose(work_handle); /* perhaps overly eager thing to do */ } \
|
||||
- /* better targeted attestations when available */ \
|
||||
- QB_NONAPI_LOG_INIT_DATA_EXTRA_; \
|
||||
+ QB_NONAPI_LOG_INIT_DATA_EXTRA_(name); \
|
||||
@ -680,7 +665,7 @@ index 37d27b7..65d3b8e 100644
|
||||
Libs.private: @LIBS@
|
||||
Cflags: -I${includedir}
|
||||
diff --git a/lib/log.c b/lib/log.c
|
||||
index 777f378..b0c8735 100644
|
||||
index eb35d6f..290f29f 100644
|
||||
--- a/lib/log.c
|
||||
+++ b/lib/log.c
|
||||
@@ -40,6 +40,13 @@
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4cd8bdcd3daca8781b5ee7bd8cdfdbcd5ba9cb92 Mon Sep 17 00:00:00 2001
|
||||
From 93ebd97659c51527b0dc4b98ba3e0a9070a1dfea Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <jpokorny@redhat.com>
|
||||
Date: Fri, 6 Oct 2017 17:17:26 +0200
|
||||
Subject: [PATCH 6/6] Low: fix internal object symbol's leak & expose run-time
|
||||
@ -38,12 +38,12 @@ Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
|
||||
9 files changed, 46 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/include/qb/qbconfig.h.in b/include/qb/qbconfig.h.in
|
||||
index b0bf428..7199b1b 100644
|
||||
index c1852e1..9094dc7 100644
|
||||
--- a/include/qb/qbconfig.h.in
|
||||
+++ b/include/qb/qbconfig.h.in
|
||||
@@ -32,7 +32,12 @@
|
||||
@@ -30,7 +30,12 @@
|
||||
/* Enabling code using __attribute__((section)) */
|
||||
#undef QB_HAVE_ATTRIBUTE_SECTION
|
||||
#endif /* QB_KILL_ATTRIBUTE_SECTION */
|
||||
|
||||
-/* versioning info: MAJOR, MINOR, MICRO, and REST components */
|
||||
+/* versioning info: MAJOR, MINOR, MICRO, and REST components;
|
||||
@ -56,7 +56,7 @@ index b0bf428..7199b1b 100644
|
||||
#undef QB_VER_MINOR
|
||||
#undef QB_VER_MICRO
|
||||
diff --git a/include/qb/qblog.h b/include/qb/qblog.h
|
||||
index cd7256a..4b18eba 100644
|
||||
index e0890a9..14f2a33 100644
|
||||
--- a/include/qb/qblog.h
|
||||
+++ b/include/qb/qblog.h
|
||||
@@ -299,9 +299,11 @@ extern struct qb_log_callsite QB_ATTR_SECTION_STOP[];
|
||||
@ -110,7 +110,7 @@ index ff5b3b4..a428975 100644
|
||||
source_to_lint = util.c hdb.c ringbuffer.c ringbuffer_helper.c \
|
||||
array.c loop.c loop_poll.c loop_job.c \
|
||||
diff --git a/lib/log.c b/lib/log.c
|
||||
index b0c8735..32c9315 100644
|
||||
index 290f29f..cbad262 100644
|
||||
--- a/lib/log.c
|
||||
+++ b/lib/log.c
|
||||
@@ -892,10 +892,12 @@ qb_log_init(const char *name, int32_t facility, uint8_t priority)
|
||||
@ -185,13 +185,13 @@ index c60d657..d5d8089 100644
|
||||
printf("--\n");
|
||||
qb_log_callsites_dump();
|
||||
diff --git a/tests/functional/log_test_client.err b/tests/functional/log_test_client.err
|
||||
index cb0ff3c..7bc11b0 100644
|
||||
index 19fca2c..98df44c 100644
|
||||
--- a/tests/functional/log_test_client.err
|
||||
+++ b/tests/functional/log_test_client.err
|
||||
@@ -1,2 +1,2 @@
|
||||
-[MAIN |debug] ../log_client.c:64:hello
|
||||
+[MAIN |debug] ../log_client.c:69:hello
|
||||
[libqb|error] log_blackbox.c:196:qb_log_blackbox_print_from_file: No such file or directory (2)
|
||||
[libqb|error] log_blackbox.c:196:qb_log_blackbox_print_from_file:
|
||||
--
|
||||
2.14.3
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
Name: libqb
|
||||
Version: 1.0.2
|
||||
Release: 12%{?dist}
|
||||
Release: 13%{?dist}
|
||||
Summary: An IPC library for high performance servers
|
||||
|
||||
Group: System Environment/Libraries
|
||||
@ -77,6 +77,9 @@ developing applications that use %{name}.
|
||||
%{_mandir}/man3/qb*3*
|
||||
|
||||
%changelog
|
||||
* Tue Oct 31 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-13
|
||||
- Evolution of the previous (rhbz#1478089)
|
||||
|
||||
* Wed Oct 25 2017 Jan Pokorný <jpokorny+rpm-libqb@redhat.com> - 1.0.2-12
|
||||
- Evolution of the previous (rhbz#1478089)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user