From 7c71c3ea984e667edb041395fc780ac40088b002 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 26 Aug 1998 00:17:28 +0000 Subject: [PATCH] (process_syminfo): Print names of files symbols are bound to, not the index. --- binutils/readelf.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/binutils/readelf.c b/binutils/readelf.c index f656eeb0938..e5263e7fda6 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -3062,24 +3062,30 @@ process_syminfo (file) printf (_("\nDynamic info segment at offset 0x%x contains %d entries:\n"), dynamic_syminfo_offset, dynamic_syminfo_nent); - printf (_(" Num: Name BoundTo Flags\n")); + printf (_(" Num: Name BoundTo Flags\n")); for (i = 0; i < dynamic_syminfo_nent; ++i) { unsigned short int flags = dynamic_syminfo[i].si_flags; - printf ("%4d: %-35s ", i, + printf ("%4d: %-30s ", i, dynamic_strings + dynamic_symbols[i].st_name); switch (dynamic_syminfo[i].si_boundto) { case SYMINFO_BT_SELF: - fputs ("SELF ", stdout); + fputs ("SELF ", stdout); break; case SYMINFO_BT_PARENT: - fputs ("PARENT ", stdout); + fputs ("PARENT ", stdout); break; default: - printf ("%-7d ", dynamic_syminfo[i].si_boundto); + if (dynamic_syminfo[i].si_boundto > 0 + && dynamic_syminfo[i].si_boundto < dynamic_size) + printf ("%-10s ", + dynamic_strings + + dynamic_segment[dynamic_syminfo[i].si_boundto].d_un.d_val); + else + printf ("%-10d ", dynamic_syminfo[i].si_boundto); break; } -- 2.30.2