illumos / libdwarf Goto Github PK
View Code? Open in Web Editor NEWillumos copy of libdwarf (https://www.prevanders.net/dwarf.html)
illumos copy of libdwarf (https://www.prevanders.net/dwarf.html)
We should have a README that explains how this repository works.
It appears the 20200612 branch has a LOT of commits in it, vs. master. So are we keeping master as the origin?
"The branch contains a base commit, which is the release tarball. From there, changes that we have applied to build on illumos are committed as individual patches."
it looks like maybe README needs to be updated to instead of "base commit as tarball" it is instead "base pull from upstream"?
When building a 32-bit relocatable object, dwarfdump and libdwarf misidentify the strings that are used for clang. DWARF has two different ways to emit strings. One, DW_FORM_string
basically emits the ascii string into the dwarf sections. The other, DW_FORM_strp
emits a four byte offset into the .debug_str
section.
A 32-bit clang will emit references of the form DW_FORM_strp
; however, it will leave the offset in the dwarf as zero because it sets up a relocation of the type R_386_32
whose symbol is to a specific spot in the .debug_str
section. libdwarf doesn't process these relocations today because it assumes that they'll be done in a way that gcc does it, where by it sets the symbol for the relocation to be the start of the .debug_str
section and instead leaves an addend in the symbol location which is its offset into the .debug_str
section. The side effect of this is that it means that every string reference ends up always being to the first string in the .debug_str
section, which humerously in our case means that every type, member, and path is clang version 9.0.0 (tags/RELEASE_900/final)
.
The fix to this is to have libdwarf actually process the SHT_REL sections and not just the SHT_RELA sections. I've put together a change that's good enough for 32-bit x86.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.