1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-09-30 02:19:31 +02:00
libunwind-eh_elf/src/dwarf
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
..
Gexpr.c Add initial ARM and MIPS support. To support this, also enable the 2008-02-04 17:16:37 -07:00
Gfde.c Add initial ARM and MIPS support. To support this, also enable the 2008-02-04 17:16:37 -07:00
Gfind_proc_info-lsb.c Reduce stack use and apply CONFIG_DEBUG_FRAME to more code. 2009-10-07 12:51:03 -07:00
global.c Include "dwarf_i.h" instead of "dwarf.h". 2005-05-20 09:48:08 +00:00
Gparser.c Wait if there is contention on the cache 2009-09-25 09:38:55 -07:00
Gpe.c Add initial ARM and MIPS support. To support this, also enable the 2008-02-04 17:16:37 -07:00
Gstep.c Implement a ip -> dwarf_reg_state cache. 2006-07-26 21:18:49 -06:00
Lexpr.c Regenerate. 2004-08-17 15:34:28 +00:00
Lfde.c Regenerate. 2004-08-17 15:34:28 +00:00
Lfind_proc_info-lsb.c (Logical change 1.145) 2003-12-20 11:43:08 +00:00
Lparser.c Regenerate. 2004-08-17 15:34:28 +00:00
Lpe.c Regenerate. 2004-08-17 15:34:28 +00:00
Lstep.c Regenerate. 2004-08-17 15:34:28 +00:00