diff options
author | pauln <devnull@localhost> | 2004-05-21 11:43:05 +0000 |
---|---|---|
committer | pauln <devnull@localhost> | 2004-05-21 11:43:05 +0000 |
commit | 83a0eb0b3633cdec627971d84dbbbb801870999c (patch) | |
tree | 5251be9c9570761e11a787f37cea95f64668c519 /build | |
parent | ae687a3144f83e88f45281461074a424c166700c (diff) | |
download | librpm-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.c | 6 |
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; |