about summary refs log tree commit diff
path: root/sysdeps/generic/segfault.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-08-26 18:03:49 +0000
committerUlrich Drepper <drepper@redhat.com>1998-08-26 18:03:49 +0000
commit6075607b9abba5ae10b87a9913f2a26548021272 (patch)
tree7072999d05ec4068a5f71737f7a53c5660becb27 /sysdeps/generic/segfault.c
parent00a2f9aa41a4f2a441c3b9787ca1a7701632de5f (diff)
downloadglibc-6075607b9abba5ae10b87a9913f2a26548021272.tar.gz
glibc-6075607b9abba5ae10b87a9913f2a26548021272.tar.xz
glibc-6075607b9abba5ae10b87a9913f2a26548021272.zip
Update.
1998-08-26 17:48  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-close.c (_dl_close): Move map->l_nsearchlist value into local
	variable so that map can be freed.
	Reported by Philippe Troin <phil@fifi.org>.

	* elf/dl-open.c (dl_open_worker): Correct test for extending global
	scope array.
	Patch by Philippe Troin <phil@fifi.org>.

1998-08-26  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/register-dump.h: Rewrite.  Much nicer this way.
	Don't call writev() with a 100-element vector.
	* sysdeps/generic/segfault.c (catch_segfault): Skip top-level NULL
	return address.

	* sysdeps/powerpc/elf/libc-start.c: Sync up with generic version.
	In particular, set __libc_stack_end.
	* sysdeps/powerpc/elf/start.S: Allow _init and _fini to be
	undefined.  Fix copyright notice.

1998-08-25  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/Makefile (gmp-objs): New variable.
	($(objpfx)atest-exp, $(objpfx)atest-sincos, $(objpfx)atest-exp2):
	Depend on it.
	(tests): Add atest-exp atest-sincos atest-exp2.
	(tests-static): Remove atest-exp atest-sincos atest-exp2.

	* elf/rtld.c (dl_main): Unload map file before jumping to user code.
Diffstat (limited to 'sysdeps/generic/segfault.c')
-rw-r--r--sysdeps/generic/segfault.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/generic/segfault.c b/sysdeps/generic/segfault.c
index 090f91a657..0d4be93837 100644
--- a/sysdeps/generic/segfault.c
+++ b/sysdeps/generic/segfault.c
@@ -136,6 +136,10 @@ catch_segfault (int signal, SIGCONTEXT ctx)
       current = current->next;
     }
 
+  /* If the last return address was NULL, assume that it doesn't count.  */
+  if (arr[cnt-1] == NULL)
+    cnt--;
+
   /* Now generate nicely formatted output.  */
   __backtrace_symbols_fd (arr, cnt, fd);