diff options
author | Panu Matilainen <pmatilai@redhat.com> | 2013-01-07 14:23:13 +0200 |
---|---|---|
committer | Panu Matilainen <pmatilai@redhat.com> | 2013-01-29 08:12:40 +0200 |
commit | 4d9c41b1dc1ae4fea89b9bbf867943101d8d929e (patch) | |
tree | b392a68da6ff63b330321aea1bf2e65a6d68e92e /tools | |
parent | 424d1904601bff271973984f8df2f1762ac3b573 (diff) | |
download | rpm-4d9c41b1dc1ae4fea89b9bbf867943101d8d929e.tar.gz rpm-4d9c41b1dc1ae4fea89b9bbf867943101d8d929e.tar.bz2 rpm-4d9c41b1dc1ae4fea89b9bbf867943101d8d929e.zip |
Fake ELF sonames by default (again)
- (Private) libraries which might intentionally not have DT_SONAME
are still recorded as requires from DT_NEEDED, and there's no
way of knowing what's an internal library when generating requires.
Not faking the soname in these cases will only result in broken
requires in cases that always used to "just work".
- Change the switch to --no-fake-soname disabler instead to allow
tweaking in special cases but by default we gotta match linker
(and ELF specification) behavior, no matter how much we'd like to
use this for our own heuristics :-/
(cherry picked from commit b6f159a34c946b75cb95a7862968ff4e8eb74fe6)
Diffstat (limited to 'tools')
-rw-r--r-- | tools/elfdeps.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/elfdeps.c b/tools/elfdeps.c index ab8ca9090..fc9a90521 100644 --- a/tools/elfdeps.c +++ b/tools/elfdeps.c @@ -14,7 +14,7 @@ int filter_private = 0; int soname_only = 0; -int fake_soname = 0; +int fake_soname = 1; typedef struct elfInfo_s { Elf *elf; @@ -292,7 +292,7 @@ int main(int argc, char *argv[]) { "requires", 'R', POPT_ARG_VAL, &requires, -1, NULL, NULL }, { "filter-private", 0, POPT_ARG_VAL, &filter_private, -1, NULL, NULL }, { "soname-only", 0, POPT_ARG_VAL, &soname_only, -1, NULL, NULL }, - { "fake-soname", 0, POPT_ARG_VAL, &fake_soname, -1, NULL, NULL }, + { "no-fake-soname", 0, POPT_ARG_VAL, &fake_soname, 0, NULL, NULL }, POPT_AUTOHELP POPT_TABLEEND }; |