rust-lang / backtrace-rs

Backtraces in Rust
https://docs.rs/backtrace
Other
526 stars 245 forks source link

Add AIX support in gimli symbolizer #508

Closed bzEq closed 1 year ago

ecnelises commented 1 year ago

Do we need to upgrade object to 0.31.0 and enable xcoff feature? (there's one upgrading it #522 )

workingjubilee commented 1 year ago

That's weird. More of the tests should be not-failing at this point. Can you rebase this on master? The object bump is merged, for note.

bzEq commented 1 year ago

Rebased and fixed build failures.

workingjubilee commented 1 year ago

Also I realized my initial review includes a lot of specific questions about segments in the code and what the supporting concepts are for explaining them, but you don't need to address all of those questions in such a point-by-point manner if you want to take a more high-level approach to documenting (or pointing to existing documentation of) the concepts in question.

bzEq commented 1 year ago

you don't need to address all of those questions in such a point-by-point manner if you want to take a more high-level approach to documenting (or pointing to existing documentation of) the concepts in question.

I'll try my best to give an overview of AIX ABI. Since the latest AIX ABI is not formally documented, its behaviors largely depend on assembler manual and current implementation of IBM OpenXL/XL.

workingjubilee commented 1 year ago

Ah, I had a feeling it might be something like that. That unfortunately motivates my questions more, since we can't easily look up things and instead have to piece together answers from the scraps we can dig up. But I'm somewhat familiar with typical Power ISA assembly, at least, so this assembler manual is very helpful.

bzEq commented 1 year ago

Gentle ping.

workingjubilee commented 1 year ago

Also feel free to squash/rebase this with your next pass of changes to however the commit history should look.

bzEq commented 1 year ago

Addressed comment and rebased. Thanks @workingjubilee for great suggestions on coding style.

github-actions[bot] commented 1 year ago

Below is the size of a hello-world Rust program linked with libstd with backtrace.

Original binary size: 533920B Updated binary size: 530744B Difference: -3176B (-0.59%)

bzEq commented 1 year ago

Gentle ping.

workingjubilee commented 1 year ago

Excellent, thank you!