jakehehrlich (Jake Ehrlich)
User

Projects

User does not belong to any projects.

User Details

User Since
May 16 2017, 11:34 AM (26 w, 6 d)

Recent Activity

Fri, Nov 17

jakehehrlich created D40201: [llvm-objcopy] Add --strip-all-gnu and change --strip-all.
Fri, Nov 17, 3:29 PM
jakehehrlich updated the diff for D39627: Fix vtable not receiving hidden visibility when using push(visibility).
  1. Added a ForDefinition parameter to setGlobalVisibility and merged visibility setting behaviors for setGlobalVisibility and setLinkageAndVisibilityForGV
  2. Renamed setLinkageAndVisibilityForGV to setLinkageForGV
  3. refactored calls to these two functions to match their new form.
Fri, Nov 17, 12:47 PM

Wed, Nov 15

jakehehrlich updated the diff for D39021: [llvm-objcopy] Add support for --only-keep/-j and --keep.
  1. I implemented the semantics I presented above. Also note that my proposal for llvm-objcopy simplifies to "copies have priority over removes". I describe the behavior this way in the comment I added for this behavior.
  2. I added a -keep operation
  3. All the SectionDump non-sense is gone
Wed, Nov 15, 3:25 PM
jakehehrlich committed rL318324: [llvm-objcopy] Change -O binary to respect section removal and behave like GNU….
[llvm-objcopy] Change -O binary to respect section removal and behave like GNU…
Wed, Nov 15, 11:13 AM
jakehehrlich closed D39713: [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy by committing rL318324: [llvm-objcopy] Change -O binary to respect section removal and behave like GNU….
Wed, Nov 15, 11:13 AM

Tue, Nov 14

jakehehrlich added a comment to D39021: [llvm-objcopy] Add support for --only-keep/-j and --keep.

Ok the following behavior seems consistent with my testing. There are 3 things that can happen to a section (and a 4th default thing sort of)

Tue, Nov 14, 4:11 PM
jakehehrlich added a comment to D39021: [llvm-objcopy] Add support for --only-keep/-j and --keep.

Ah crap this isn't right either because this dosn't do what GNU objcopy does in the -j case where multiple sections are kept. I'll investigate more.

Tue, Nov 14, 1:04 PM
jakehehrlich added a comment to D39021: [llvm-objcopy] Add support for --only-keep/-j and --keep.

Yikes, here's an update on what GNU objcopy does. It interprets "keep" and "remove" differently. Namely, "keep" is not "remove all but". If you "remove" and "keep" a section then an error is thrown. --only-keep appears to be "remove all but" plus "keep". I don't think this behavior is so terrible to implement. We would implement --only-keep so that it, in an order independent way, removes all sections but the named one (and certain special sections obviously) then additionally adds the section to a keep list. We then, before performing removal, iterate though the keep list to see if we're about to remove anything on the keep list. If we detect that we are, we throw an error. This a general way of implementing this keep functionality so as new options come up there will be a standard way of handling it.

Tue, Nov 14, 1:01 PM
jakehehrlich committed rL318190: [llvm-objcopy] Improve command line option help messages.
[llvm-objcopy] Improve command line option help messages
Tue, Nov 14, 12:36 PM
jakehehrlich closed D39978: [llvm-objcopy] Improve command line option help messages by committing rL318190: [llvm-objcopy] Improve command line option help messages.
Tue, Nov 14, 12:36 PM
jakehehrlich updated the diff for D39713: [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy.
  1. Added test for setting alignment of first segment to zero
  2. Added description of the parent cycle test.
Tue, Nov 14, 12:21 PM
jakehehrlich committed rL318168: [llvm-objcopy] Add -strip-non-alloc option to remove all non-allocated sections.
[llvm-objcopy] Add -strip-non-alloc option to remove all non-allocated sections
Tue, Nov 14, 10:50 AM
jakehehrlich closed D39926: [llvm-objcopy] Add --only-keep-alloc option to remove all non-allocated sections by committing rL318168: [llvm-objcopy] Add -strip-non-alloc option to remove all non-allocated sections.
Tue, Nov 14, 10:50 AM
jakehehrlich committed rL318166: [llvm-objcopy] Support the rest of the ELF formats.
[llvm-objcopy] Support the rest of the ELF formats
Tue, Nov 14, 10:43 AM
jakehehrlich closed D39977: [llvm-objcopy] Support the rest of the ELF formats by committing rL318166: [llvm-objcopy] Support the rest of the ELF formats.
Tue, Nov 14, 10:43 AM

Mon, Nov 13

xiangzhai awarded D39977: [llvm-objcopy] Support the rest of the ELF formats a Like token.
Mon, Nov 13, 7:27 PM
jakehehrlich updated the diff for D39977: [llvm-objcopy] Support the rest of the ELF formats.

Replaced explicit types with auto as recommended. Thanks Davide!

Mon, Nov 13, 7:24 PM
jakehehrlich updated the diff for D39926: [llvm-objcopy] Add --only-keep-alloc option to remove all non-allocated sections.
  1. Added test (derp, it turns out I wrote it but didn't run git add on it so it didn't make it into the diff)
  2. renamed "only-keep-alloc" with "strip-non-alloc" everywhere.
Mon, Nov 13, 7:13 PM
jakehehrlich requested review of D39713: [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy.
Mon, Nov 13, 6:56 PM
jakehehrlich updated the diff for D39713: [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy.

Whoops! Turns out I added a bug in this change where certain kinds of cycles in ParentSegment could form because there wasn't a check to make sure that compareSegments(Parent, Child) held if Child->ParentSegment was nullptr. This caused -O binary to fail in our kernel dump. I fixed this and added a test case. Additionally the way I modified the first segment wasn't exactly right.

Mon, Nov 13, 6:56 PM
jakehehrlich abandoned D33252: [ELF] Adds non-MIPS specific name for DT_MIPS_RLD_MAP.
Mon, Nov 13, 2:34 PM
jakehehrlich closed D39821: Add CLANG_DEFAULT_OBJCOPY to allow Clang to use llvm-objcopy for dwarf fission.

This has already landed, I'm not sure why it wasn't automatically closed.

Mon, Nov 13, 2:34 PM
jakehehrlich committed rL318094: [llvm-objcopy] Add --strip-debug.
[llvm-objcopy] Add --strip-debug
Mon, Nov 13, 2:13 PM
jakehehrlich closed D39919: [llvm-objcopy] Add --strip-debug by committing rL318094: [llvm-objcopy] Add --strip-debug.
Mon, Nov 13, 2:13 PM
jakehehrlich committed rL318092: [llvm-objcopy] Add --strip-all option to llvm-objcopy.
[llvm-objcopy] Add --strip-all option to llvm-objcopy
Mon, Nov 13, 2:02 PM
jakehehrlich closed D39769: [llvm-objcopy] Add --strip-all option to llvm-objcopy by committing rL318092: [llvm-objcopy] Add --strip-all option to llvm-objcopy.
Mon, Nov 13, 2:02 PM
jakehehrlich added a reviewer for D39978: [llvm-objcopy] Improve command line option help messages : jhenderson.
Mon, Nov 13, 1:41 PM
jakehehrlich created D39978: [llvm-objcopy] Improve command line option help messages .
Mon, Nov 13, 1:41 PM
jakehehrlich created D39977: [llvm-objcopy] Support the rest of the ELF formats.
Mon, Nov 13, 1:28 PM
jakehehrlich added a comment to D39769: [llvm-objcopy] Add --strip-all option to llvm-objcopy.

I find it slightly surprising that yaml2obj automatically assumes relocation sections with SHF_ALLOC to be dynamic relocation sections, given we're working with an ELF of ET_REL type. Given that though, this is okay.

Mon, Nov 13, 11:43 AM

Fri, Nov 10

jakehehrlich committed rL317960: Add CLANG_DEFAULT_OBJCOPY to allow Clang to use llvm-objcopy for dwarf fission.
Add CLANG_DEFAULT_OBJCOPY to allow Clang to use llvm-objcopy for dwarf fission
Fri, Nov 10, 5:16 PM
jakehehrlich added a comment to D39582: Add ELF dynamic symbol support to yaml2obj/obj2yaml.

Knowing nothing about elf2yaml this LGTM

Fri, Nov 10, 3:34 PM
jakehehrlich updated subscribers of D39926: [llvm-objcopy] Add --only-keep-alloc option to remove all non-allocated sections.
Fri, Nov 10, 3:02 PM
jakehehrlich created D39926: [llvm-objcopy] Add --only-keep-alloc option to remove all non-allocated sections.
Fri, Nov 10, 3:02 PM
jakehehrlich updated the diff for D39769: [llvm-objcopy] Add --strip-all option to llvm-objcopy.

Ok I think this should just follow what GNU objcopy does for mass consistency but I'm also going to add --only-keep-allocated to do what I intended this to do in the first place

Fri, Nov 10, 2:15 PM
jakehehrlich created D39919: [llvm-objcopy] Add --strip-debug.
Fri, Nov 10, 1:01 PM
jakehehrlich added inline comments to D39582: Add ELF dynamic symbol support to yaml2obj/obj2yaml.
Fri, Nov 10, 12:49 PM
jakehehrlich added a comment to D39582: Add ELF dynamic symbol support to yaml2obj/obj2yaml.

Mostly looks good to me, I want someone to review the ELFDumper and elf2yaml changes but the ELFYAML and yaml2elf changes look good. I just have one request about making .dynstr allocated (see inline).

Fri, Nov 10, 11:03 AM
jakehehrlich added a comment to D39821: Add CLANG_DEFAULT_OBJCOPY to allow Clang to use llvm-objcopy for dwarf fission.

Another option would be to restrict CLANG_DEFAULT_OBJCOPY to contain objcopy or even to only allow objcopy or llvm-objcopy. I don't know if that's sensible though...

Fri, Nov 10, 10:51 AM
jakehehrlich added a comment to D39821: Add CLANG_DEFAULT_OBJCOPY to allow Clang to use llvm-objcopy for dwarf fission.

I think the current tests will only pass iff the executable name ends with objcopy - can we make this more reliable?

Fri, Nov 10, 10:36 AM

Thu, Nov 9

jakehehrlich updated the diff for D39713: [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy.

Fixed more comments

Thu, Nov 9, 6:20 PM
jakehehrlich updated the diff for D39821: Add CLANG_DEFAULT_OBJCOPY to allow Clang to use llvm-objcopy for dwarf fission.

fixed typo

Thu, Nov 9, 6:02 PM
jakehehrlich added a comment to D39769: [llvm-objcopy] Add --strip-all option to llvm-objcopy.

So I'm wondering if we should be following what GNU objcopy does here. After talking with Roland for a bit I'm back to thinking that removing non-allocated sections is the way to go. What I think we want --strip-all to do is minimize the size of a fully linked executable while maintaining any relevant section headers of the content still in the file. For instance I want .dyn* sections to be kept so that I can run --strip-all on shared objects and still link against them. In general I'm not sure we should be mimicking what GNU objcopy does just for the sake of doing what GNU objcopy does as long as the feature in question is attached with some understandable intent. I think --strip-all has just such an intent; namely it should be used when you want to reduce the size of a fully linked object but you don't want to change what can be done with the object with the exception of debugging.

Thu, Nov 9, 5:58 PM

Wed, Nov 8

jakehehrlich created D39821: Add CLANG_DEFAULT_OBJCOPY to allow Clang to use llvm-objcopy for dwarf fission.
Wed, Nov 8, 3:33 PM
jakehehrlich updated the diff for D39769: [llvm-objcopy] Add --strip-all option to llvm-objcopy.

I improved the test to test the removal cases I mentioned.

Wed, Nov 8, 2:39 PM
jakehehrlich updated the diff for D39769: [llvm-objcopy] Add --strip-all option to llvm-objcopy.
  1. Changed the removal criteria to be conservative rather than aggressive
Wed, Nov 8, 1:13 PM
jakehehrlich added a comment to D39769: [llvm-objcopy] Add --strip-all option to llvm-objcopy.

Oh and one more behavoir I found. It will never remove an allocated section, even if it is named debug_*. This makes a lot of sense for dynamic symbol tables and relocation and it makes more sense than not for debug sections.

Wed, Nov 8, 12:32 PM
jakehehrlich added inline comments to D39713: [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy.
Wed, Nov 8, 12:28 PM
jakehehrlich updated the diff for D39713: [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy.
  1. Fixed some comments
  2. Added reference in loop over AllocatedSections
Wed, Nov 8, 12:26 PM
jakehehrlich added a comment to D39769: [llvm-objcopy] Add --strip-all option to llvm-objcopy.

I took a look at GNU objcopy's --strip-all behaviour and it is slightly different to what you have implemented here. I haven't been able to pin down the exact semantics yet, but I noticed that it kept the .comment section, for example. My suspicion is that it explicitly only strips the .debug and .symtab sections, along with the symbol string table, if it is not shared as the section header table.

Otherwise, the code change looks fine to me.

Wed, Nov 8, 11:53 AM

Tue, Nov 7

jakehehrlich created D39769: [llvm-objcopy] Add --strip-all option to llvm-objcopy.
Tue, Nov 7, 3:59 PM
jakehehrlich accepted D39749: Allow yaml2obj to order implicit sections for ELF.

LGTM

Tue, Nov 7, 1:45 PM
jakehehrlich added inline comments to D39713: [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy.
Tue, Nov 7, 12:49 PM
jakehehrlich updated the diff for D39713: [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy.
Tue, Nov 7, 12:49 PM
jakehehrlich added a comment to D39582: Add ELF dynamic symbol support to yaml2obj/obj2yaml.

I'm happy with D39749 and using that to resolve the ordering isue. I'm not a reviewer here but this looks good to me other than the ternary operator nit.

Tue, Nov 7, 11:36 AM
jakehehrlich added a comment to D39749: Allow yaml2obj to order implicit sections for ELF.

Overall looks good to me. I just have one nit about the lookup function.

Tue, Nov 7, 11:32 AM

Mon, Nov 6

jakehehrlich created D39713: [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy.
Mon, Nov 6, 8:12 PM
jakehehrlich added a comment to D39627: Fix vtable not receiving hidden visibility when using push(visibility).

Hmm. We're calling this from getAddrOfVTable, which can be used to get a declaration for an external v-table, but setGlobalVisibility appears to set visibility as if we were emitting a definition. Among other reasons, the difference is important because we generally don't honor implicit visibility when emitting external references. The pragma should be treated as an explicit source of visibility — IIRC we model it by actually adding a visibility attribute — but I think your patch would cause us to use hidden visibility on an external v-table declaration even if the only reason we thought it was hidden was that we were compiling under -fvisibility=hidden.

The logic for declarations is currently defined in the function setLinkageAndVisibilityForGV in CodeGenModule.cpp. That's a static function in that file: we could just add it to CodeGenModule, but I think there's a better solution: we could add a ForDefinition_t flag to CGM::setGlobalVisibility and then unify these two implementations.

Mon, Nov 6, 11:59 AM

Fri, Nov 3

jakehehrlich created D39627: Fix vtable not receiving hidden visibility when using push(visibility).
Fri, Nov 3, 6:23 PM
jakehehrlich committed rL317352: Reland "Add support for writing 64-bit symbol tables for archives when offsets….
Reland "Add support for writing 64-bit symbol tables for archives when offsets…
Fri, Nov 3, 12:15 PM
jakehehrlich committed rL317350: [llvm-objcopy] Add support for dwarf fission.
[llvm-objcopy] Add support for dwarf fission
Fri, Nov 3, 11:59 AM
jakehehrlich closed D39207: [llvm-objcopy] Add support for dwarf fission by committing rL317350: [llvm-objcopy] Add support for dwarf fission.
Fri, Nov 3, 11:59 AM
jakehehrlich added a comment to D39207: [llvm-objcopy] Add support for dwarf fission.

It would appear some kind stranger made some sweeping improvements to the code base that caused conflicts with the code I wrote. I never added those 'static' clauses (but they're good) and I never used the "using" keyword (but I support it). See here: https://reviews.llvm.org/rL317123

Fri, Nov 3, 11:36 AM

Thu, Nov 2

jakehehrlich added a comment to D39582: Add ELF dynamic symbol support to yaml2obj/obj2yaml.

In general this looks like a good approach to me. I have concerns about deciding section indexes for users as mentioned but other than that I just have a couple nits.

Thu, Nov 2, 6:46 PM
jakehehrlich added a comment to D39582: Add ELF dynamic symbol support to yaml2obj/obj2yaml.

Can you add tests?

Thu, Nov 2, 6:06 PM
jakehehrlich updated the diff for D39207: [llvm-objcopy] Add support for dwarf fission.

Also, as more stripping options become available I think coming up with a system to handle the removal predicate would be nice. I might write that patch soon.

Thu, Nov 2, 5:33 PM
jakehehrlich added a comment to D39021: [llvm-objcopy] Add support for --only-keep/-j and --keep.

When you talk about relative offsets of sections, are you talking about relative to the segment start? If so, I agree that appears to be the objcopy behaviour, and I'm happy for this to be done in llvm-objcopy. With that change, we should be able to drop the SectionDump class, as the BinaryObject class should give us the functionality we expect for -j, along with the other cases. I think it might be wise to make these changes in a separate pre-requisite review, since it's really a separate issue (e.g. the behaviour we currently have for -R is different to gnu objcopy's, if the first or last section is stripped).

Thu, Nov 2, 5:09 PM
jakehehrlich committed rL317289: Reland "Add feature to determine if host architecture is 64-bit in llvm-lit".
Reland "Add feature to determine if host architecture is 64-bit in llvm-lit"
Thu, Nov 2, 4:46 PM
jakehehrlich committed rL317284: [llvm-objcopy] Fix bug in how segment alignment was being handled.
[llvm-objcopy] Fix bug in how segment alignment was being handled
Thu, Nov 2, 4:24 PM
jakehehrlich closed D39132: [llvm-objcopy] Fix bug in how segment alignment was being handled by committing rL317284: [llvm-objcopy] Fix bug in how segment alignment was being handled.
Thu, Nov 2, 4:24 PM
jakehehrlich committed rL317281: Add feature to determine if host architecture is 64-bit in llvm-lit.
Add feature to determine if host architecture is 64-bit in llvm-lit
Thu, Nov 2, 4:15 PM
jakehehrlich closed D39465: Add feature to determine if host architecture is 64-bit in llvm-lit by committing rL317281: Add feature to determine if host architecture is 64-bit in llvm-lit.
Thu, Nov 2, 4:15 PM

Wed, Nov 1

jakehehrlich committed rL317139: [yaml2obj][ELF] Add support for setting alignment in program headers.
[yaml2obj][ELF] Add support for setting alignment in program headers
Wed, Nov 1, 4:15 PM
jakehehrlich closed D39130: [yaml2obj][ELF] Add support for setting alignment in program headers by committing rL317139: [yaml2obj][ELF] Add support for setting alignment in program headers.
Wed, Nov 1, 4:15 PM
jakehehrlich added a comment to D39021: [llvm-objcopy] Add support for --only-keep/-j and --keep.

Can you show me which inputs were not preserving relative offsets of sections within the same segment? I gave up trying to read the code and went back to empirical testing. After getting many more data points my theory about the behavior is the following

Wed, Nov 1, 3:08 PM
jakehehrlich updated the diff for D39207: [llvm-objcopy] Add support for dwarf fission.
  1. Cleaned up command line argument description. I decided to keep the split-dwo option. For the one use case of dwarf fission that I'm aware of (clang) that's a better option to use. I agree that not applying options to the DWO file is more sensible.
  2. removed/replaced all references to "GSplitDwarf"
Wed, Nov 1, 12:10 PM
jakehehrlich edited reviewers for D39130: [yaml2obj][ELF] Add support for setting alignment in program headers, added: rafael; removed: atanasyan.
Wed, Nov 1, 11:26 AM
jakehehrlich updated the summary of D39130: [yaml2obj][ELF] Add support for setting alignment in program headers.
Wed, Nov 1, 11:21 AM

Tue, Oct 31

jakehehrlich added a comment to D39021: [llvm-objcopy] Add support for --only-keep/-j and --keep.

Without thinking about it too much, the way I'd expect -j and -O binary to work is for it to be identical to -O binary with --remove-section for every other section, complete with padding being used to preserve alignment and relative positions etc (quick experiments shows this to be the case with GNU objcopy). That being said, I see that GNU objcopy has some unexpected behaviour when emitting binary output - the second of a pair of kept sections was neither aligned as it was in the input, nor positioned at the same relative distance to the first section, even though it was in the same segment.

Tangentially related, I also see that we don't have any tests for what happens when you combine --remove-section etc with -O binary, and I doubt from my initial observation of GNU's behaviour that we match its behaviour. My initial instinct is therefore that the problem is with our binary output format, and that ultimately, we should be using the BinaryObject class in this case, after we've fixed it to match GNU's behaviour.

Tue, Oct 31, 6:47 PM
jakehehrlich added a comment to D39130: [yaml2obj][ELF] Add support for setting alignment in program headers.

ping, I haven't heard back on this yet.

Tue, Oct 31, 5:58 PM
jakehehrlich added inline comments to D39132: [llvm-objcopy] Fix bug in how segment alignment was being handled.
Tue, Oct 31, 5:57 PM
jakehehrlich updated the diff for D39132: [llvm-objcopy] Fix bug in how segment alignment was being handled.
  1. Added test for -O binary case
  2. That test still made no sense. It should test the fact that even though the second segment has alignment 0x1000 it can't still have offset 0x1008.
Tue, Oct 31, 5:56 PM
jakehehrlich committed rL317055: Add system-linux to allow tests run with llvm-lit to restrict themselves to….
Add system-linux to allow tests run with llvm-lit to restrict themselves to…
Tue, Oct 31, 5:19 PM
jakehehrlich closed D39482: Add system-linux to allow tests run with llvm-lit to restrict themselves to linux by committing rL317055: Add system-linux to allow tests run with llvm-lit to restrict themselves to….
Tue, Oct 31, 5:19 PM
jakehehrlich updated the diff for D39207: [llvm-objcopy] Add support for dwarf fission.
  1. Added section count to tests to avoid false positives.
  2. Fixed option descriptions.
  3. Repalced "Dwo" with "DWO" everywhere including in cl::opt types.
  4. Changed "-gsplit-dwarf" to "-split-dwo" but I think this should actually be removed. I'm waiting to hear back before I remove it.
  5. Moved some comments around and altered them.
  6. Removed extraneous passing of Obj and additionally removed the template.
Tue, Oct 31, 5:15 PM
jakehehrlich added a comment to D39207: [llvm-objcopy] Add support for dwarf fission.

How do you expect -gsplit-dwarf to interact with the other two options? In other words, if a user specifies it with other or both of the other options, what do you expect the result to be?

I ask because I think the behaviour might be a little unexpected in some combinations of these three switches.

Tue, Oct 31, 4:57 PM
jakehehrlich created D39482: Add system-linux to allow tests run with llvm-lit to restrict themselves to linux.
Tue, Oct 31, 4:00 PM
jakehehrlich updated the diff for D39465: Add feature to determine if host architecture is 64-bit in llvm-lit.
  1. Deleted config.host_arch as a feature
  2. Changed host-arch-is64bit to llvm-64-bits
  3. Changed code to by more idiomatic as pointed out by Zach
Tue, Oct 31, 1:25 PM
jakehehrlich created D39465: Add feature to determine if host architecture is 64-bit in llvm-lit.
Tue, Oct 31, 11:27 AM

Mon, Oct 30

jakehehrlich updated the diff for D39132: [llvm-objcopy] Fix bug in how segment alignment was being handled.

Fixed the test case with all the strange addresses that made no sense.

Mon, Oct 30, 3:14 PM
jakehehrlich committed rL316961: Give .note.gnu.build-id section alignment 4.
Give .note.gnu.build-id section alignment 4
Mon, Oct 30, 3:08 PM
jakehehrlich closed D38907: Give .note.gnu.build-id section alignment 4 by committing rL316961: Give .note.gnu.build-id section alignment 4.
Mon, Oct 30, 3:08 PM · lld
jakehehrlich updated the diff for D39130: [yaml2obj][ELF] Add support for setting alignment in program headers.

Rafael recommended that I split this into two separate changes. This change makes that split by removing the if-statment change that fixed default alignment.

Mon, Oct 30, 12:23 PM
jakehehrlich updated the diff for D39021: [llvm-objcopy] Add support for --only-keep/-j and --keep.
  1. Fixed typos
  2. Changed --only-keep so that it keeps the symbol table and string table for the symbol table
  3. Fixed comments
Mon, Oct 30, 11:58 AM
jakehehrlich added a comment to D39021: [llvm-objcopy] Add support for --only-keep/-j and --keep.

Diff context is missing.

I noticed that gnu objcopy also keeps the symbol table when using -j, along with all the symbols in the kept section(s). Do you think we should match this behaviour as well?

Mon, Oct 30, 11:20 AM

Fri, Oct 27

jakehehrlich committed rL316813: Revert "Add support for writing 64-bit symbol tables for archives when offsets….
Revert "Add support for writing 64-bit symbol tables for archives when offsets…
Fri, Oct 27, 4:40 PM
jakehehrlich committed rL316805: Add support for writing 64-bit symbol tables for archives when offsets become….
Add support for writing 64-bit symbol tables for archives when offsets become…
Fri, Oct 27, 3:27 PM
jakehehrlich closed D36812: Add support for writing 64-bit symbol tables for archives when offsets become too large for 32-bit by committing rL316805: Add support for writing 64-bit symbol tables for archives when offsets become….
Fri, Oct 27, 3:27 PM
jakehehrlich committed rL316801: Make 32-bit member offset in Archive::Symbol::getMember 64-bit.
Make 32-bit member offset in Archive::Symbol::getMember 64-bit
Fri, Oct 27, 2:48 PM
jakehehrlich closed D39379: Make 32-bit member offset in Archive::Symbol::getMember 64-bit by committing rL316801: Make 32-bit member offset in Archive::Symbol::getMember 64-bit.
Fri, Oct 27, 2:48 PM