summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorpauln <devnull@localhost>2004-05-21 11:43:05 +0000
committerpauln <devnull@localhost>2004-05-21 11:43:05 +0000
commit83a0eb0b3633cdec627971d84dbbbb801870999c (patch)
tree5251be9c9570761e11a787f37cea95f64668c519 /build
parentae687a3144f83e88f45281461074a424c166700c (diff)
downloadlibrpm-tizen-83a0eb0b3633cdec627971d84dbbbb801870999c.tar.gz
librpm-tizen-83a0eb0b3633cdec627971d84dbbbb801870999c.tar.bz2
librpm-tizen-83a0eb0b3633cdec627971d84dbbbb801870999c.zip
Fix to detect PIE executables and don't add as library provides
CVS patchset: 7249 CVS date: 2004/05/21 11:43:05
Diffstat (limited to 'build')
-rw-r--r--build/rpmfc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/build/rpmfc.c b/build/rpmfc.c
index c5f4356a2..4fcf58958 100644
--- a/build/rpmfc.c
+++ b/build/rpmfc.c
@@ -762,6 +762,7 @@ static int rpmfcELF(rpmfc fc)
int isElf64;
int isDSO;
int gotSONAME = 0;
+ int gotDEBUG = 0;
static int filter_GLIBC_PRIVATE = 0;
static int oneshot = 0;
@@ -934,6 +935,9 @@ static int rpmfcELF(rpmfc fc)
default:
/*@innercontinue@*/ continue;
/*@notreached@*/ /*@switchbreak@*/ break;
+ case DT_DEBUG:
+ gotDEBUG = 1;
+ /*@innercontinue@*/ continue;
case DT_NEEDED:
/* Files with executable bit set only. */
if (fc->skipReq || !(st->st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)))
@@ -988,7 +992,7 @@ assert(s != NULL);
/*@=branchstate =uniondef @*/
/* For DSO's, provide the basename of the file if DT_SONAME not found. */
- if (!fc->skipProv && isDSO && !gotSONAME) {
+ if (!fc->skipProv && isDSO && !gotDEBUG && !gotSONAME) {
depsp = &fc->provides;
tagN = RPMTAG_PROVIDENAME;
dsContext = RPMSENSE_FIND_PROVIDES;