- User Since
- Jun 28 2018, 11:39 AM (6 w, 5 d)
- Handle --globalize --keep-global correctly, and clean up comments
- Fix tests, add null symbol to symtab, make binary objection creation less fragile, and automatically assign section indices
- Rebase/fix other method names to be lower cased.
- Misc updates to tests/comments
- echo -n -> echo where it doesn't matter
Fri, Aug 10
Sorry for the slew of reviews. I have another one for implementing "llvm-strip -p" almost ready to go too (about the same size as this), hopefully I'll be able to send it next week.
- Fold arch-specific file header tests into a single templated test
- Replace printf w/ echo -n
- Other code review comments
Thu, Aug 9
- Un-revert divtc3 (128-bit fp), revert divxc3 (80-bit fp)
Thanks for the review!
- Add Elf_Sym TODO
- Consistently use ELFT typename aliases in headers
- Extract out ehdr initialization into initEhdr()
Wed, Aug 8
- Add sparc/ppc to arch map
- Remove Ident from object
- Pass MachineInfo into BinaryReader to push ELFType template down to only BinaryELFBuilder<>
- Move getElfType out of Reader (and also ELFReader), it can be implemented purely in the driver class. This make it clear that "Reader" is not tied to ELF types, even if that's all that's supported currently.
D50343 includes (some of) the changes here, so I'm officially abandoning this -- it makes more sense to discuss the design on something concrete.
Mon, Aug 6
- Refactor Object based on code review comments
Fri, Aug 3
I think the changes here will make more sense with the implementation of BinaryReader::create(), so I'll hold off on this change for now. I'll revive it if it still makes sense to submit independently, but more likely I'll just roll this up into the next change. Sorry for the noise!
Thu, Aug 2
- Revert [rename binary -> blob]
Wed, Aug 1
- Rename binary -> blob
- Add llvm_unreachable to handle missing optional
- Move Reader dependency out of CreateWriter
Tweak flag message string
Okay, maybe here's my best, hopefully uncontroversial, suggestion, since it would be good to get this in for the LLVM 7.0 cut today(?): leave them in but mark them as "legacy" or for GNU compatibility e.g: Flags supported for GNU compatibility: alloc, load... in both error message and help text. If and when we add more flags, for a better/clearer UI, we can make that a separate sentence like Supported Flags: alloc, write, execinstr,... Additional flags supported for GNU compatibility: load, noload... etc.
That wording sounds good to me. I've updated the errors/tests.
LGTM with those changes.
Tue, Jul 31
- Cover full OS/proc flags in test, fix other comments
I'm still not able to get SHF_TLS propagated, even with a real object file (not just something artificially created w/ yaml2obj):
Mon, Jul 30
- Preserve certain SHF_* flags and tidy up error messages
Fri, Jul 27
- Change error messages to match gnu binutils
Yes, that's correct.
I clarified the description: when the methods were added, the tree was configured with NEWLIB_MINOR_VERSION = 4, meaning this wasn't released until the next version, newlib 2.5.
- Clean up long test case, fix some naming
What is the behaviour of --rename-section when it touches a section with existing flags that don't conflict with the specified value? For example alloc when the section has SHF_EXECINSTR already? Does it preserve those flags?
It looks like SHF_EXECINSTR is not preserved in that case, e.g.
Thu, Jul 26
Refactored/addressed code review comments
Thanks for the review! I'm clearly still ramping up on this codebase :)
Wed, Jul 25
- Exclude 80-bit floating point and fix ppc comment
- Inline methods to fp_lib.h and fix the ppc logb call
Thanks, done. That also makes these symbols not exported by the library, which is nice.
Tue, Jul 24
Looks like this caused some test failures (http://lab.llvm.org:8011/builders/clang-cmake-aarch64-quick/builds/14441/steps/ninja%20check%201), e.g.:
Mon, Jul 23
Ping -- Eli, do you have time to review this, or add someone else that can take a look if you're busy?
Fri, Jul 20
Thanks for the suggestion; removing the Object method will probably make the next change (updating flags) simpler.
Revert changes to Object; do the renaming in objcopy directly.
Thu, Jul 19
Addressed all comments
Fixing no trailing \n in a test