1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-06-26 03:11:44 +02:00
Commit graph

6 commits

Author SHA1 Message Date
Paul Pluzhnikov b56375e76a Reduce stack use and apply CONFIG_DEBUG_FRAME to more code.
Currently, libunwind allocates several PATH_MAX entries on stack, while
trying to find a binary via /proc/.../maps.

However stack space may be at premium (especially when sigaltstack is used),
and PATH_MAX on Linux is 4096, while SIGSTKSZ is only 8192 on x86.

Attached patch eliminates multiple PATH_MAX stack allocations, and simplifies
code in maps_next, at the cost of being unable to do anything if we can't
mmap one page. It appears to me that under such low-memory conditions,
libunwind will fail shortly elsewhere anyway.

This patch also disables more of debug_frame-handling code when
CONFIG_DEBUG_FRAME is undefined.

Tested on Linux/x86_64 with and without CONFIG_DEBUG_FRAME, no regressions.
2009-10-07 12:51:03 -07:00
Bruna Moreira 6f282a00f5 [ARM] This patch fix some testsuite issues on ARM:
- Gtest-bt: like on x86/-64, the stack size passed to sigaltstack() is
  too small for ARM thus causing segmentation fault due to stack
  overflow.

- Gtest-dyn1: code size definition of dynamic function (template()) on
  testcase is too big for ARM architecture so memcpy() reads invalid
  memory causing random crashes (segmentation fault). A better
  solution would be to compile the function in a separate binary,
  mmap() it and memcpy() from it instead, so maximum size is known for
  sure.

- check-name-space.in: fix some "bashisms", it causes the script to
  fail to run on N8XX's busybox shell.

Signed-off-by: Anderson Lizardo <anderson.lizardo@indt.org.br>
Signed-off-by: Bruna Moreira <bruna.moreira@indt.org.br>
2008-04-21 13:39:11 -06:00
mostang.com!davidm 1ee6b0ac74 (STACK_SIZE): SIGSTKSZ is also ridiculously small on x86-64 (at least
for SuSE LES 9) so use 128KB instead.
(do_backtrace): Also print backtrace obtained via backtrace().
(foo): Remove backtrace() call---now done in do_backtrace().

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm 9d47ce5331 (f): Move it to ident.c so the optimizer can't get rid of it.
(Logical change 1.276)
2004-10-15 13:48:38 +00:00
hp.com!davidm 186cbb2957 (verbose): New variable.
(num_errors): Likewise.
(do_backtrace): Only print info if verbose is set.
(foo): Likewise.
(sighandler): Likewise.
(main): Likewise.
(bar): New function which is attempting to trigger a bug reported by
	Anthony Brewer which is caused by GAS apparently generating bad
	offsets for the psprel directive.
(f): New function.

2004/09/15 04:24:29-07:00 hp.com!davidm
Rename: tests/bt.c -> tests/Gtest-bt.c

(Logical change 1.270)
2004-09-15 11:37:04 +00:00
hp.com!davidm 373a106072 Initial revision 2004-09-15 11:37:04 +00:00