1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-25 08:37:38 +01:00
Commit graph

11 commits

Author SHA1 Message Date
Ken Werner
e4593e2493 Increase alternate signal stack size.
Creating an alternate signal stack with a size of SIGSTKSZ (usually 8k) is
not enough on some targets because unw_cursor_t is bigger than that already.
Since the size of unw_cursor_t is part of the ABI the UNW_TDEP_CURSOR_LEN
can't be changed without breaking existent code. Therefore size of the
alternate signal stack has been increased to 1 MiB.

Signed-off-by: Ken Werner <ken.werner@linaro.org>
2011-04-05 20:59:10 -07:00
Konstantin Belousov
9bb9c972e6 Merge with origin/master 2010-03-31 16:01:38 +03:00
Arun Sharma
24112f6d9b Fix some test failures on x86_64 on distros with small default stacks. 2010-03-10 21:13:26 -08:00
Konstantin Belousov
d737709640 Close #if 2010-03-11 00:02:11 +02:00
Konstantin Belousov
3b026a7ed8 Fix i386 distinctions between freebsd and linux for mcontext. 2010-03-10 23:51:09 +02:00
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