summaryrefslogtreecommitdiff
path: root/ldso/ldso/ldso.c
diff options
context:
space:
mode:
Diffstat (limited to 'ldso/ldso/ldso.c')
-rw-r--r--ldso/ldso/ldso.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c
index 7bb6a349b..4e8a49ef5 100644
--- a/ldso/ldso/ldso.c
+++ b/ldso/ldso/ldso.c
@@ -905,7 +905,7 @@ of this helper program; chances are you did not intend to run this program.\n\
#ifdef __LDSO_LDD_SUPPORT__
if (trace_loaded_objects && !_dl_trace_prelink &&
- tpnt1->usage_count == 1) {
+ !(tpnt1->init_flag & DL_OPENED2)) {
/* This is a real hack to make
* ldd not print the library
* itself when run on a
@@ -997,7 +997,7 @@ of this helper program; chances are you did not intend to run this program.\n\
# ifdef __LDSO_LDD_SUPPORT__
if (trace_loaded_objects && !_dl_trace_prelink &&
- tpnt1->usage_count == 1) {
+ !(tpnt1->init_flag & DL_OPENED2)) {
_dl_dprintf(1, "\t%s => %s (%x)\n",
cp2, tpnt1->libname,
DL_LOADADDR_BASE(tpnt1->loadaddr));
@@ -1034,6 +1034,8 @@ of this helper program; chances are you did not intend to run this program.\n\
/* Insert the ld.so only once */
ldso_tpnt = add_ldso(tpnt, load_addr,
ldso_mapaddr, auxvt, rpnt);
+ } else {
+ ldso_tpnt->init_flag |= DL_OPENED2;
}
ldso_tpnt->usage_count++;
tpnt1 = ldso_tpnt;
@@ -1064,7 +1066,7 @@ of this helper program; chances are you did not intend to run this program.\n\
#ifdef __LDSO_LDD_SUPPORT__
if (trace_loaded_objects && !_dl_trace_prelink &&
- tpnt1->usage_count == 1) {
+ !(tpnt1->init_flag & DL_OPENED2)) {
_dl_dprintf(1, "\t%s => %s (%x)\n",
lpntstr, tpnt1->libname,
DL_LOADADDR_BASE(tpnt1->loadaddr));