diff options
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | build/parseSpec.c | 3 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | lib/rpmchecksig.c | 2 | ||||
-rw-r--r-- | python/rpmfd-py.c | 2 | ||||
-rw-r--r-- | python/rpmfts-py.c | 2 | ||||
-rw-r--r-- | python/rpmrc-py.c | 2 | ||||
-rw-r--r-- | python/rpmts-py.c | 2 | ||||
-rw-r--r-- | rpm.spec.in | 4 | ||||
-rw-r--r-- | rpmdb/header.c | 3 | ||||
-rw-r--r-- | rpmio/macro.c | 17 |
11 files changed, 18 insertions, 22 deletions
@@ -10,6 +10,7 @@ - fix: escape '+' in regex patterns through RPMMIRE_DEFAULT (#103851). - RPMMIRE_DEFAULT is overkill, use RPMMIRE_STRCMP instead (#103851). - don't use mktemp if mkstemp is available (#103850). + - use -fPIC -DPIC on all platforms, not just mandatory (#112713). 4.2.1 -> 4.2.2: - unify signal handling in librpmio, use condvar to deliver signal. diff --git a/build/parseSpec.c b/build/parseSpec.c index 76140a7a7..82c7098f6 100644 --- a/build/parseSpec.c +++ b/build/parseSpec.c @@ -5,9 +5,6 @@ #include "system.h" -/*@unchecked@*/ -static int _debug = 0; - #include <rpmio_internal.h> #include <rpmbuild.h> #include "rpmds.h" diff --git a/configure.ac b/configure.ac index 055d934d7..e4c102b90 100644 --- a/configure.ac +++ b/configure.ac @@ -53,7 +53,7 @@ AC_PROG_CXX AS=${AS-as} AC_SUBST(AS) if test "$ac_cv_prog_gcc" = yes; then - CFLAGS="$CFLAGS -D_GNU_SOURCE -D_REENTRANT -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts" + CFLAGS="$CFLAGS -fPIC -DPIC -D_GNU_SOURCE -D_REENTRANT -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts -Wno-strict-aliasing" fi export CFLAGS diff --git a/lib/rpmchecksig.c b/lib/rpmchecksig.c index 56415bb9c..ab1b8a1ef 100644 --- a/lib/rpmchecksig.c +++ b/lib/rpmchecksig.c @@ -22,7 +22,7 @@ /*@access pgpDigParams @*/ /*@unchecked@*/ -extern int _print_pkts = 0; +int _print_pkts = 0; /** */ diff --git a/python/rpmfd-py.c b/python/rpmfd-py.c index 9c43bc7f7..5928d6a40 100644 --- a/python/rpmfd-py.c +++ b/python/rpmfd-py.c @@ -322,7 +322,7 @@ PyTypeObject rpmfd_Type = { (initproc) rpmfd_init, /* tp_init */ (allocfunc) rpmfd_alloc, /* tp_alloc */ (newfunc) rpmfd_new, /* tp_new */ - (destructor) rpmfd_free, /* tp_free */ + (freefunc) rpmfd_free, /* tp_free */ 0, /* tp_is_gc */ #endif }; diff --git a/python/rpmfts-py.c b/python/rpmfts-py.c index 52b16b55f..537ec3381 100644 --- a/python/rpmfts-py.c +++ b/python/rpmfts-py.c @@ -561,7 +561,7 @@ PyTypeObject rpmfts_Type = { (initproc) rpmfts_init, /* tp_init */ rpmfts_alloc, /* tp_alloc */ rpmfts_new, /* tp_new */ - rpmfts_free, /* tp_free */ + (freefunc) rpmfts_free, /* tp_free */ 0, /* tp_is_gc */ }; /*@=fullinitblock@*/ diff --git a/python/rpmrc-py.c b/python/rpmrc-py.c index 12e69811a..14097ce20 100644 --- a/python/rpmrc-py.c +++ b/python/rpmrc-py.c @@ -369,7 +369,7 @@ PyTypeObject rpmrc_Type = { rpmrc_init, /* tp_init */ rpmrc_alloc, /* tp_alloc */ rpmrc_new, /* tp_new */ - rpmrc_free, /* tp_free */ + (freefunc) rpmrc_free, /* tp_free */ 0, /* tp_is_gc */ }; #else diff --git a/python/rpmts-py.c b/python/rpmts-py.c index f7c381aad..4132700f7 100644 --- a/python/rpmts-py.c +++ b/python/rpmts-py.c @@ -1553,7 +1553,7 @@ PyTypeObject rpmts_Type = { (initproc) rpmts_init, /* tp_init */ (allocfunc) rpmts_alloc, /* tp_alloc */ (newfunc) rpmts_new, /* tp_new */ - (destructor) rpmts_free, /* tp_free */ + (freefunc) rpmts_free, /* tp_free */ 0, /* tp_is_gc */ #endif }; diff --git a/rpm.spec.in b/rpm.spec.in index c43c8905e..3cb3d6c29 100644 --- a/rpm.spec.in +++ b/rpm.spec.in @@ -130,11 +130,7 @@ WITH_PYTHON="--without-python" %endif %ifos linux -%ifarch x86_64 s390 s390x -CFLAGS="$RPM_OPT_FLAGS -fPIC"; export CFLAGS -%else CFLAGS="$RPM_OPT_FLAGS"; export CFLAGS -%endif ./configure --prefix=%{__prefix} --sysconfdir=/etc \ --localstatedir=/var --infodir='${prefix}%{__share}/info' \ --mandir='${prefix}%{__share}/man' \ diff --git a/rpmdb/header.c b/rpmdb/header.c index f6b710119..1eb2c9cbf 100644 --- a/rpmdb/header.c +++ b/rpmdb/header.c @@ -489,7 +489,8 @@ static int regionSwab(/*@null@*/ indexEntry entry, int il, int dl, { unsigned char * tprev = NULL; unsigned char * t = NULL; - int tdel, tl = dl; + int tdel = 0; + int tl = dl; struct indexEntry_s ieprev; /*@-boundswrite@*/ diff --git a/rpmio/macro.c b/rpmio/macro.c index fb16174fa..8f412b7d9 100644 --- a/rpmio/macro.c +++ b/rpmio/macro.c @@ -880,7 +880,8 @@ freeArgs(MacroBuf mb) */ /*@-bounds@*/ /*@dependent@*/ static const char * -grabArgs(MacroBuf mb, const MacroEntry me, /*@returned@*/ const char * se, char *lastc) +grabArgs(MacroBuf mb, const MacroEntry me, /*@returned@*/ const char * se, + const char * lastc) /*@globals rpmGlobalMacroContext @*/ /*@modifies mb, rpmGlobalMacroContext @*/ { @@ -1176,7 +1177,7 @@ expandMacro(MacroBuf mb) int c; int rc = 0; int negate; - char *grab; + const char * lastc; int chkexist; if (++mb->depth > max_macro_depth) { @@ -1210,7 +1211,7 @@ expandMacro(MacroBuf mb) if (mb->depth > 1) /* XXX full expansion for outermost level */ t = mb->t; /* save expansion pointer for printExpand */ negate = 0; - grab = NULL; + lastc = NULL; chkexist = 0; switch ((c = *s)) { default: /* %name substitution */ @@ -1245,8 +1246,8 @@ expandMacro(MacroBuf mb) /* For "%name " macros ... */ /*@-globs@*/ if ((c = *fe) && isblank(c)) - if ((grab = strchr(fe,'\n')) == NULL) - grab = strchr(fe, '\0'); + if ((lastc = strchr(fe,'\n')) == NULL) + lastc = strchr(fe, '\0'); /*@=globs@*/ /*@switchbreak@*/ break; case '(': /* %(...) shell escape */ @@ -1293,7 +1294,7 @@ expandMacro(MacroBuf mb) ge = se - 1; /*@innerbreak@*/ break; case ' ': - grab = se-1; + lastc = se-1; /*@innerbreak@*/ break; default: /*@innerbreak@*/ break; @@ -1447,8 +1448,8 @@ expandMacro(MacroBuf mb) /* Setup args for "%name " macros with opts */ if (me && me->opts != NULL) { - if (grab != NULL) { - se = grabArgs(mb, me, fe, grab); + if (lastc != NULL) { + se = grabArgs(mb, me, fe, lastc); } else { addMacro(mb->mc, "**", NULL, "", mb->depth); addMacro(mb->mc, "*", NULL, "", mb->depth); |