1998-07-06  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/elf/backtracesyms.c (__backtrace_symbols):
	Improve generated strings a bit.
This commit is contained in:
Ulrich Drepper 1998-07-06 17:21:35 +00:00
parent 8eaaffdeed
commit ac8e29977a
2 changed files with 22 additions and 7 deletions

View File

@ -1,3 +1,8 @@
1998-07-06 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/elf/backtracesyms.c (__backtrace_symbols):
Improve generated strings a bit.
1998-07-06 14:36 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/Makefile (generated): Remove $(objpfx) from the names.

View File

@ -53,7 +53,7 @@ __backtrace_symbols (array, size)
"<fct-name>(<sym-name>)[+offset]. */
total += (strlen (info[cnt].dli_fname ?: "")
+ (info[cnt].dli_sname
? strlen (info[cnt].dli_sname) + 3
? strlen (info[cnt].dli_sname) + 3 + WORD_WIDTH + 3
: 1)
+ WORD_WIDTH + 6);
else
@ -72,12 +72,22 @@ __backtrace_symbols (array, size)
if (status[cnt] && info[cnt].dli_fname
&& info[cnt].dli_fname[0] != '\0')
last += 1 + sprintf (last, "%s%s%s%s[+%p]",
info[cnt].dli_fname ?: "",
info[cnt].dli_sname ? "(" : "",
info[cnt].dli_sname ?: "",
info[cnt].dli_sname ? ") " : " ",
info[cnt].dli_fbase);
{
char buf[20];
if (array[cnt] >= (void *) info[cnt].dli_saddr)
sprintf (buf, "+0x%x", array[cnt] - info[cnt].dli_saddr);
else
sprintf (buf, "-0x%x", info[cnt].dli_saddr - array[cnt]);
last += 1 + sprintf (last, "%s%s%s%s%s[+%p]",
info[cnt].dli_fname ?: "",
info[cnt].dli_sname ? "(" : "",
info[cnt].dli_sname ?: "",
info[cnt].dli_sname ? buf : "",
info[cnt].dli_sname ? ") " : " ",
array[cnt]);
}
else
last += 1 + sprintf (last, "[+%p]", array[cnt]);
}