cd15bacf33
This change fixes a segmentation fault in the libc unwinder when it goes past __libc_init. Unwind instructions for __libc_init direct it to grab the return address from the stack frame. Without this change, the unwinder gets a wild address and looks up further unwind instructions for the routine at that address. If it's unlucky enough to hit an existing function, it will try to unwind it. Bad things happen then. With this change, the return address always points to the _start function, which does not have unwind instructions associated with it. This stop the unwind process. __libc_init never returns, so this does not affect program execution, other than adding 4 bytes on the main thread stack. Change-Id: Id58612172e8825c8729cccd081541a13bff96bd0 |
||
---|---|---|
libc | ||
libdl | ||
libm | ||
libstdc++ | ||
libthread_db | ||
linker | ||
.gitignore | ||
Android.mk | ||
CleanSpec.mk | ||
MAINTAINERS | ||
ThirdPartyProject.prop |