1
0
mirror of https://sourceware.org/git/glibc.git synced 2026-01-06 11:51:29 +03:00

(dl_main): Support additional args in --list mode for debugging: look them up as symbol names and print values.

This commit is contained in:
Roland McGrath
1996-01-24 01:34:10 +00:00
parent 1d8dc4293f
commit fd86137937
3 changed files with 30 additions and 4 deletions

View File

@@ -300,6 +300,8 @@ of this helper program; chances are you did not intend to run this program.\n",
functions we call below for output may no longer work properly
after relocation. */
int i;
if (! _dl_loaded->l_info[DT_NEEDED])
_dl_sysdep_message ("\t", "statically linked\n", NULL);
else
@@ -314,6 +316,25 @@ of this helper program; chances are you did not intend to run this program.\n",
" (0x", bp, ")\n", NULL);
}
for (i = 1; i < _dl_argc; ++i)
{
const Elf32_Sym *ref = NULL;
Elf32_Addr loadbase = _dl_lookup_symbol (_dl_argv[i], &ref,
_dl_loaded, "argument",
1);
char buf[20], *bp;
buf[sizeof buf - 1] = '\0';
bp = _itoa (ref->st_value, &buf[sizeof buf - 1], 16, 0);
while (&buf[sizeof buf - 1] - bp < sizeof loadbase * 2)
*--bp = '0';
_dl_sysdep_message (_dl_argv[i], " found at 0x", bp, NULL);
buf[sizeof buf - 1] = '\0';
bp = _itoa (loadbase, &buf[sizeof buf - 1], 16, 0);
while (&buf[sizeof buf - 1] - bp < sizeof loadbase * 2)
*--bp = '0';
_dl_sysdep_message (" in object at 0x", bp, "\n", NULL);
}
_exit (0);
}