-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support stackstrace for aarch64 #529
Support stackstrace for aarch64 #529
Conversation
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here with What to do if you already signed the CLAIndividual signers
Corporate signers
ℹ️ Googlers: Go here for more info. |
@googlebot I signed it! |
CLAs look good, thanks! ℹ️ Googlers: Go here for more info. |
802be47
to
0cbdf13
Compare
8917b8f
to
924a03a
Compare
According to the comments in glog-0.3.5/src/utilities.h, there are three different ways we can try to get the stack trace: 1) The libunwind library 2) Our hand-coded stack-unwinder 3) The gdb unwinder We use first way to get stack trace by default, the function "GetStackTrace" is defined in stacktrace_libunwind-inl.h, but it doesn't work for aarch64, this changes to use the implementation of aarch64 which defined in stacktrace_aarch64-inl.h no matter libunwind exist or not. I have proposed a PR to google/glog: github.com/google/glog/pull/529 Change-Id: Ia8ca769b2bef5fa658d56d11b7ac9537fd9ca637 Reviewed-on: http://gerrit.cloudera.org:8080/15420 Reviewed-by: Grant Henke <granthenke@apache.org> Tested-by: Kudu Jenkins
@sergiud , Thanks for reviewing. And I have a question about getting stacktrace by libunwind, if HAVE_LIB_UNWIND is set(like the case apache/kudu using), we will get stack trace by libunwind before my commit, but seems the function 'GetStackTrace' of stacktrace_libunwind-inl.h dosen't work on aarch64, so I changed the logic to use stacktrace_aarch64-inl.h(which I newly added) if HAVE_LIB_UNWIND is set. So I wonder it is the right way to get stack trace by libunwind on aarch64? or it doesn't support on aarch64? or how to modify the file stacktrace_libunwind-inl.h to support get stack trace on aarch64? Thanks very much. |
924a03a
to
7232f41
Compare
@huangtianhua would it be possible to finish this PR? |
7232f41
to
8762e7e
Compare
@romange Could you please test the changes? |
@sergiud The bug in libunwind seems to be fixed libunwind/libunwind#235 Do you still want to commit the workaround for aarch64 or you prefer to wait for the next version of libunwind to be released? |
@romange Thanks for the info. I'd rather avoid the workaround. |
No description provided.