diff options
author | Larry Hajali <larryhaja[at]gmail[dot]com> | 2018-08-14 12:42:52 -0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2018-08-18 08:39:52 +0700 |
commit | 4051963a7017dd1bc797a60a04ca60c2648b1697 (patch) | |
tree | f7e46e5f613dcc76ab5cd6e76f335d750dedfcdd /libraries/jansson/0001-Enable-Bsymbolic-functions-linker-flag-whenever-poss.patch | |
parent | 98193df068f9fd3609427e40d083ec8c3f8f48ed (diff) |
libraries/jansson: Updated for version 2.11
Signed-off-by: Larry Hajali <larryhaja[at]gmail[dot]com>
Diffstat (limited to 'libraries/jansson/0001-Enable-Bsymbolic-functions-linker-flag-whenever-poss.patch')
-rw-r--r-- | libraries/jansson/0001-Enable-Bsymbolic-functions-linker-flag-whenever-poss.patch | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/libraries/jansson/0001-Enable-Bsymbolic-functions-linker-flag-whenever-poss.patch b/libraries/jansson/0001-Enable-Bsymbolic-functions-linker-flag-whenever-poss.patch new file mode 100644 index 0000000000000..509a28c3fbe4e --- /dev/null +++ b/libraries/jansson/0001-Enable-Bsymbolic-functions-linker-flag-whenever-poss.patch @@ -0,0 +1,76 @@ +From c14f07092f76b5bc4098cee528122bd0d418e10e Mon Sep 17 00:00:00 2001 +Message-Id: <c14f07092f76b5bc4098cee528122bd0d418e10e.1533366596.git.mprivozn@redhat.com> +From: Michal Privoznik <mprivozn@redhat.com> +Date: Sat, 4 Aug 2018 08:58:26 +0200 +Subject: [PATCH] Enable -Bsymbolic-functions linker flag whenever possible + +It was discovered fairly recently that JSON parsing libraries use +common pattern to name their exported symbols (they all use +json_ prefix). So eventually it happens that two symbols from two +different libraries have the same name. This will lead to cryptic +crashes (see [1] and [2]). Linking with -Bsymbolic-functions +prevents this. + +1: https://gitlab.gnome.org/GNOME/json-glib/issues/33 +2: https://groups.google.com/forum/#!topic/jansson-users/7Efx-RI45IU + +Signed-off-by: Michal Privoznik <mprivozn@redhat.com> +--- + configure.ac | 29 +++++++++++++++++++++++++++++ + src/Makefile.am | 3 ++- + 2 files changed, 31 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index ca12b59..735fe89 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -107,6 +107,35 @@ AC_ARG_ENABLE([initial-hashtable-order], + AC_DEFINE_UNQUOTED([INITIAL_HASHTABLE_ORDER], [$initial_hashtable_order], + [Number of buckets new object hashtables contain is 2 raised to this power. E.g. 3 -> 2^3 = 8.]) + ++AC_ARG_ENABLE([Bsymbolic], ++ [AS_HELP_STRING([--disable-Bsymbolic], ++ [Avoid linking with -Bsymbolic-function])], ++ [], [with_Bsymbolic=check]) ++ ++if test "x$with_Bsymbolic" != "xno" ; then ++ AC_MSG_CHECKING([for -Bsymbolic-functions linker flag]) ++ saved_LDFLAGS="${LDFLAGS}" ++ LDFLAGS=-Wl,-Bsymbolic-functions ++ AC_TRY_LINK( ++ [], [int main (void) { return 0; }], ++ [AC_MSG_RESULT([yes]) ++ have_Bsymbolic=yes], ++ [AC_MSG_RESULT([no]) ++ have_Bsymbolic=no] ++ ) ++ LDFLAGS="${saved_LDFLAGS}" ++ ++ if test "x$with_Bsymbolic" = "xcheck" ; then ++ with_Bsymbolic=$have_Bsymbolic; ++ fi ++ if test "x$with_Bsymbolic:x$have_Bsymbolic" = "xyes:xno" ; then ++ AC_MSG_ERROR([linker support is required for -Bsymbolic]) ++ fi ++fi ++ ++AS_IF([test "x$with_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions]) ++AC_SUBST(JSON_BSYMBOLIC_LDFLAGS) ++ + if test x$GCC = xyes; then + AC_MSG_CHECKING(for -Wno-format-truncation) + wnoformat_truncation="-Wno-format-truncation" +diff --git a/src/Makefile.am b/src/Makefile.am +index f823195..63ff7c1 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -24,4 +24,5 @@ libjansson_la_SOURCES = \ + libjansson_la_LDFLAGS = \ + -no-undefined \ + -export-symbols-regex '^json_' \ +- -version-info 15:0:11 ++ -version-info 15:0:11 \ ++ @JSON_BSYMBOLIC_LDFLAGS@ +-- +2.16.4 + |