jakehehrlich (Jake Ehrlich)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Mon, Jun 11

jakehehrlich added inline comments to D47919: llvm-readobj: add experimental support for SHT_RELR sections..
Mon, Jun 11, 7:39 PM
jakehehrlich added a comment to D47919: llvm-readobj: add experimental support for SHT_RELR sections..

I'll have more comments tomorrow. I'm still grokking my way though llvm-readobj as I've never looked at that code before.

Mon, Jun 11, 6:41 PM
jakehehrlich added a reviewer for D47919: llvm-readobj: add experimental support for SHT_RELR sections.: jakehehrlich.
Mon, Jun 11, 12:41 PM

Thu, Jun 7

jakehehrlich added a comment to D47818: [llvm-strip] Expose --strip-unneeded option.

Ah yes. Thanks!

Thu, Jun 7, 12:11 AM

Wed, Jun 6

jakehehrlich updated subscribers of D47818: [llvm-strip] Expose --strip-unneeded option.

Hey I'm away but I got a bug report requesting -x as an alias in
llvm-strip. I haven't looked at the code for this patch so it might already
be solved here but I'd appreciate it being added. No worries either way.
I'll just add it when aight get back of it isn't there.

Wed, Jun 6, 2:16 PM

Wed, May 30

jakehehrlich updated subscribers of D47414: [llvm-objcopy] Fix null symbol handling.

Quick drop in. What I was thinking about before was to just never pass the
null symbol to remove or anything else. It can still be there it just
shouldn't be allowed to be updated or removed.

Wed, May 30, 10:45 PM

Fri, May 25

jakehehrlich accepted D46830: [llvm-objcopy] Add --keep-file-symbols option.
Fri, May 25, 12:42 PM
jakehehrlich added a comment to D47229: Make atomic non-member functions as nonnull.

This is causing breaks in fuchsia,

Fri, May 25, 9:56 AM

Thu, May 24

jakehehrlich accepted D47356: [CMake] Use libc++ and compiler-rt for bootstrap Fuchsia Clang.
Thu, May 24, 6:15 PM
jakehehrlich accepted D46896: [llvm-objcopy] Add --strip-unneeded option.

nit: Add comment above loop but otherwise LGTM. Feel free to submit after that.

Thu, May 24, 3:14 PM
jakehehrlich added a comment to D46896: [llvm-objcopy] Add --strip-unneeded option.

As always the right solution winds up 10000 times simpler than anything I considered in the interim. This looks good to me after fixing Alex's and my comments.

Thu, May 24, 12:34 PM
jakehehrlich closed D47170: [fuchsia] Add line buffering in RawWrite.

Landed in rL333136

Thu, May 24, 12:25 PM

Wed, May 23

jakehehrlich committed rL333136: [fuchsia] Add line buffering in RawWrite.
[fuchsia] Add line buffering in RawWrite
Wed, May 23, 3:31 PM
jakehehrlich committed rCRT333136: [fuchsia] Add line buffering in RawWrite.
[fuchsia] Add line buffering in RawWrite
Wed, May 23, 3:31 PM
jakehehrlich updated the diff for D47170: [fuchsia] Add line buffering in RawWrite.

Switched to use index. Fixed to print out full buffer in case no newline exists.

Wed, May 23, 3:16 PM

Tue, May 22

jakehehrlich accepted D46084: [Fixed Point Arithmetic] Addition of the Fixed Point _Accum type.
Tue, May 22, 3:59 PM · Restricted Project
jakehehrlich updated the diff for D47170: [fuchsia] Add line buffering in RawWrite.

Modified to group multiple lines into a single flush but still flush at least once if a newline is found.

Tue, May 22, 2:50 PM
jakehehrlich accepted D47222: [llvm-strip] Expose --keep-symbol option.

LGTM

Tue, May 22, 1:31 PM
jakehehrlich added a comment to D46896: [llvm-objcopy] Add --strip-unneeded option.

Yeah I agree with Alex and James here. I think I'd prefer some sort of interface extension. Something as simple as 'markSymbols' that's done as a loop though the sections which then just sets a Boolean like you had originally. That should a) give the desired time complexity and b) not be super complicated. That loop can also only be triggered if --strip-uneeded is used which is nice.

Tue, May 22, 11:43 AM
jakehehrlich updated subscribers of D46896: [llvm-objcopy] Add --strip-unneeded option.

Just a heads up I'm not convinced my shared_ptr idea is ok. I want to
consider what Alex and James are saying. My hope has always been to keep
the symbol table as the owner so if Alex has a proposal I want to read it
first.

Tue, May 22, 9:50 AM

Mon, May 21

jakehehrlich added a comment to D46896: [llvm-objcopy] Add --strip-unneeded option.

I didn't think about that. I think the key thing here then is to use shared_ptr to store all symbols and then use use_count to keep track of the references.

Mon, May 21, 6:30 PM
jakehehrlich accepted D47052: [llvm-objcopy] Fix the behavior of --strip-* and --keep-symbol.

LGTM but please wait on james

Mon, May 21, 5:40 PM
jakehehrlich created D47170: [fuchsia] Add line buffering in RawWrite.
Mon, May 21, 5:36 PM
jakehehrlich added a comment to D46084: [Fixed Point Arithmetic] Addition of the Fixed Point _Accum type.

LGTM with a couple additions.

Mon, May 21, 3:36 PM · Restricted Project
jakehehrlich added a comment to D46791: Make -gsplit-dwarf generally available.

Yeah I haven't heard back from Lexan nor have I tried reproducing such a build myself and if we're that close to not relaying on this sort of hack I'd much rather wait on this than risk breaking someone for the sake of a stopgap for such a short period of time. @echristo Can you link the review to that?

Mon, May 21, 3:21 PM
jakehehrlich added a comment to D47052: [llvm-objcopy] Fix the behavior of --strip-* and --keep-symbol.

so basically we can implement this option without trying to repeat binutils behavior,
what would you say to this ? if so I can update the patch (and actually the code will be simpler)

I'm of the opinion that if the GNU behaviour doesn't make sense, we shouldn't follow it blindly, so I'd be happy in a divergence here, but I'm not a regular GNU tools user, so it might be wise to get @jakehehrlich's thoughts on this before proceeding.

Mon, May 21, 3:17 PM
jakehehrlich accepted D46896: [llvm-objcopy] Add --strip-unneeded option.
Mon, May 21, 3:15 PM
jakehehrlich added a comment to D46896: [llvm-objcopy] Add --strip-unneeded option.

One little thing and this LGTM

Mon, May 21, 3:15 PM

May 18 2018

jakehehrlich added a comment to D46896: [llvm-objcopy] Add --strip-unneeded option.

I'm not sure if it makes much sense, but could this interact badly with group section signature symbols?

If by interact badly you mean "having an error if this situation occurs", the answer is yes badly..
But I told myself that this problem is handle in the symbol removal function, so this is not the "problem" of this option if I can say.
Btw, we need to get rid of the error throwing and handle this case correctly.

May 18 2018, 12:13 PM
jakehehrlich added a comment to D46896: [llvm-objcopy] Add --strip-unneeded option.

I'm happy to defer to @jakehehrlich's preferences here, but FWIW, I think GNU objcopy's behaviour is actually the wrong way around regarding the Global/Weak symbols: if you strip a defined symbol from an ET_REL ELF that isn't referenced within that ELF, the file can still be used in a link, you just can't reference anything that wasn't already referenced by that object file. Stripping symbols from ET_DYN/EXEC is okay, as it should have zero impact on the runtime behaviour (although debugging etc might not be as trivial). Anything that requires symbols at runtime should be using dynamic relocations and dynamic symbols, which this behaviour won't touch.

I think we need to be slightly wary of using ET_* types directly, because it will make it hard for vendors to add their own ET_* types to the list of things that should/should not be affected by some behaviour. If we do decide to go down the route of matching objcopy's behaviour here and therefore need to distinguish between relocatable and executable types, I'd suggest adding helper functions to wrap them, and call those instead of testing e_type directly.

May 18 2018, 1:06 AM
jakehehrlich added inline comments to D47052: [llvm-objcopy] Fix the behavior of --strip-* and --keep-symbol.
May 18 2018, 12:55 AM

May 17 2018

jakehehrlich added a comment to D46896: [llvm-objcopy] Add --strip-unneeded option.

I'll be back to respond further. I'm pressed for time today.b

May 17 2018, 11:47 AM

May 16 2018

jakehehrlich accepted D46991: [CMake] Support building shared library for Fuchsia.
May 16 2018, 5:18 PM
jakehehrlich added a comment to D46896: [llvm-objcopy] Add --strip-unneeded option.

I'm now getting a bit lost. Please could you outline the GNU objcopy behaviour for the following axes:

Sure, I'll try to be as much consistent as I can.

Axis 1: elf type (ET_REL versus ET_DYN/ET_EXEC)
Axis 2: symbol binding (Global/Weak/Local)

There is a real thing here. The fact is that, as you already know, for ET_REL, global symbols might be link with other relocatable files. For this reason, and only for ET_REL, objcopy is keeping those symbols.
I will try to give you an example. Consider the test file test/tools/llvm-objcopy/localize.test. If you yaml2obj it, and launch objcopy --strip-unneeded %t %t1, you will notice that those the weak and global symbols are kept in the result binary, despite the fact there are not referenced in a relocation.
Now, if you take this same test file but change from ET_REL to ET_DYN (and do the same procedure again), you will notice that the symbols are not present anymore (symtab should be removed actually).
This is what I'm trying to reproduce with this behavior. The fact is that, if you take a look at objcopy code, you won't see anything about this ET_REL handling.
But the fact is that they are also handling this option in the section removal part of objcopy, which makes them removing symbol table when this option is set.

I didn't do it this way because I truly think that the symtab removal might be done in the writing part of llvm-objcopy. By this I mean that we might test whether the symtab is empty, and if so, just remove it. The second thing is that I wanted to avoid the problem mentioned by @alexshap in an other review with the keep-symbol option. This way of doing, we are avoiding the problem.

To summarize: For ELF other than ET_REL, objcopy is basically stripping everything (except if in a reloc). For ET_REL, it tries not to leave the binary in a broken state. Indeed, if we also remove Global/Weak symbols, we are just breaking the linking part (that's not what we want).

Axis 3: undefined/defined symbols

For other than ET_REL, objcopy doesn't seem to care about undefined/defined symbols. BUT, as @jakehehrlich mentioned, undefined Global/Weak symbols (again, that are not present in reloc) are stripped from the binary. This is, as far as I can tell, the only time objcopy strips G/W symbols in ET_REL Elf files.

This should help us evaluate the behaviour and determine if the approach taken is correct. It should be straightforward to generate these different cases using yaml2obj, like you do in the tests.

Hope this clarifies, please tell me if you want me to elaborate on some other points :)

May 16 2018, 1:33 PM

May 15 2018

jakehehrlich closed D46856: [llvm-objcopy] Add --only-keep-debug as a noop.

I forgot to tag this. Closing.

May 15 2018, 5:42 PM
jakehehrlich added a comment to D46819: [llvm-objcopy] Add --keep-symbol (-K) option.

yeah, the behavior of --keep-symbol is more complicated than what's going on here.
In particular,

main.c
 
__attribute__((section(".data.foo"))) int xx= 1;
int yy() { return 239; }

objcopy --keep-symbol xx --remove-section .data.foo main.o main2.o

objcopy: main1.o: symbol `xx' required but not present
objcopy:main1.o: No symbols
[alexshap@devvm ~/local] echo $?
1

so probably the exit code should not be 0, error reporting can be better, though, than what binutils objcopy has to offer.

@paulsemel , can you send fix (looks like it's not that involved to fix it) ? otherwise i can send a patch for review myself . cc: @jakehehrlich

May 15 2018, 5:29 PM
jakehehrlich added inline comments to D46896: [llvm-objcopy] Add --strip-unneeded option.
May 15 2018, 2:51 PM
jakehehrlich committed rL332396: [llvm-objcopy] Add --only-keep-debug as a noop.
[llvm-objcopy] Add --only-keep-debug as a noop
May 15 2018, 1:57 PM

May 14 2018

jakehehrlich accepted D46819: [llvm-objcopy] Add --keep-symbol (-K) option.

LGTM

May 14 2018, 4:15 PM
jakehehrlich created D46856: [llvm-objcopy] Add --only-keep-debug as a noop.
May 14 2018, 4:03 PM
jakehehrlich added a comment to D46791: Make -gsplit-dwarf generally available.

I'm generally ok with this but I think some important checks need to occur first. Namely I think I'd like to check that Chromium still builds with this option since I'd imagine they'd be affected by this.

May 14 2018, 10:50 AM
jakehehrlich added inline comments to D46791: Make -gsplit-dwarf generally available.
May 14 2018, 10:48 AM
jakehehrlich added a comment to D46830: [llvm-objcopy] Add --keep-file-symbols option.

If it isn't too much trouble I'd like to wait until --strip-unneeded is implemented.

May 14 2018, 10:27 AM

May 11 2018

jakehehrlich accepted D46768: [Driver] Only use -lc++ on Fuchsia.
May 11 2018, 12:56 PM
jakehehrlich added a comment to D46369: [llvm-objcopy] Add --strip-symbol (-N) option.

Ping. Do you need anything else from one of us?

May 11 2018, 12:16 PM

May 9 2018

jakehehrlich added a comment to D46369: [llvm-objcopy] Add --strip-symbol (-N) option.

committed on r331924
Still waiting for @jakehehrlich about the symbol removal before the symbol update to close this review.

May 9 2018, 5:51 PM
jakehehrlich abandoned D41100: [llvm-objcopy] Refactor llvm-objcopy to allow llvm-strip to differ.

Alex did this (and this is a stupidly old change)

May 9 2018, 5:50 PM
jakehehrlich abandoned D41124: [llvm-objcopy] Add symlink for llvm-strip.

Alex did this

May 9 2018, 5:50 PM

May 8 2018

jakehehrlich accepted D46609: [CMake] Build shared version of ASan and UBSan for Fuchsia.

LGTM

May 8 2018, 5:57 PM
jakehehrlich accepted D46610: [CMake] Set CMAKE_BUILD_WITH_INSTALL_RPATH for Fuchsia runtimes.

Spoke offline, LGTM

May 8 2018, 5:43 PM
jakehehrlich accepted D46369: [llvm-objcopy] Add --strip-symbol (-N) option.

This LGTM with a couple fixes but please wait on James for the final approval.

May 8 2018, 5:27 PM
jakehehrlich added a comment to D46610: [CMake] Set CMAKE_BUILD_WITH_INSTALL_RPATH for Fuchsia runtimes.

Need some clarification on this option

May 8 2018, 5:16 PM
jakehehrlich accepted D46611: [CMake] Use CMAKE_OBJCOPY and CMAKE_STRIP to externalize debug info.
May 8 2018, 5:08 PM
jakehehrlich accepted D46612: [CMake] Include llvm-strip in Fuchsia toolchain distribution.
May 8 2018, 5:07 PM
jakehehrlich added inline comments to D46567: [llvm-strip] Add support for -remove-section.
May 8 2018, 2:32 PM
jakehehrlich accepted D46567: [llvm-strip] Add support for -remove-section.

LGTM: Please wait on James as I'd like his input on how we should test this sort of stuff going forward as well.

May 8 2018, 2:19 PM
jakehehrlich added inline comments to D46567: [llvm-strip] Add support for -remove-section.
May 8 2018, 2:01 PM
jakehehrlich added inline comments to D46567: [llvm-strip] Add support for -remove-section.
May 8 2018, 12:51 PM
jakehehrlich accepted D46589: [llvm-objcopy] Add more tests for help messages.
May 8 2018, 12:25 PM
jakehehrlich added inline comments to D46369: [llvm-objcopy] Add --strip-symbol (-N) option.
May 8 2018, 12:25 PM
jakehehrlich added inline comments to D46567: [llvm-strip] Add support for -remove-section.
May 8 2018, 12:10 PM

May 7 2018

jakehehrlich added inline comments to D46567: [llvm-strip] Add support for -remove-section.
May 7 2018, 6:07 PM
jakehehrlich added inline comments to D46369: [llvm-objcopy] Add --strip-symbol (-N) option.
May 7 2018, 3:04 PM
jakehehrlich accepted D46547: [llvm-objcopy] Fix the exit code .

LGTM I checked that this is consistent with objcopy (and it would seem other tools as well). Seems acceptable to me as is.

May 7 2018, 2:34 PM

May 4 2018

jakehehrlich added inline comments to D46407: [tools] Introduce llvm-strip.
May 4 2018, 12:31 PM

May 3 2018

jakehehrlich accepted D46407: [tools] Introduce llvm-strip.

LGTM but please wait on James

May 3 2018, 5:30 PM
jakehehrlich added a comment to D46369: [llvm-objcopy] Add --strip-symbol (-N) option.

Can you see what GNU objcopy does when the symbol is defined (both local and global cases)? Roland mentioned that in the defined case it might actually transform the relocation into a section relative relocation instead! That'd be pretty neat IMO but is likely out of the scope of this diff (even with added complexity already mentioned). If it turns out that GNU objcopy emits a section reletive relocation in that case then we can add a TODO there.

May 3 2018, 5:26 PM
jakehehrlich requested changes to D46369: [llvm-objcopy] Add --strip-symbol (-N) option.

I totally forgot about those isues! Yeah we don't want to leave dangling references around. I really should have caught that issue but I was thinking. I just figured I had already worked out all the issues with symbol removal when I wrote removeSectionReferences but you don't have to worry about those sections sticking around in that case where you *do* have to worry about it in the generic symbol removal case. The behavior I'd like to see here is that the relocations referencing a remove symbol cause an error to be thrown. I'm considering what I want to happen for groups but I belive it should also cause an error if you try to remove the symbol of a group section. I couldn't find any other Symbol pointers and that is the canonical way to refer to a pointer so I believe James caught all the cases. This is going to require extending the hierarchy with a special 'removeSymbolReferences' method in SectionBase and then adding a special 'removeSymbols' function in Object...sorry this just got a lot more complicated.

May 3 2018, 4:41 PM

May 2 2018

jakehehrlich accepted D46369: [llvm-objcopy] Add --strip-symbol (-N) option.
May 2 2018, 5:03 PM
jakehehrlich accepted D46341: [llvm-objcopy] Add --discard-all (-x) option.
May 2 2018, 11:44 AM
jakehehrlich accepted D46217: [llvm-objcopy] Add --weaken option.

I'm happy with this change. I think we should change --globalize and --localize to match but if --globalize-symbol or --localize-symbol is used it shouldn't bother checking; if people want to do non-sense that's their choice. I didn't think about it but it makes a lot of sense not to globalize weak symbols and it makes sense to not localize undefined symbols. So I think the choices objcopy chose makes sense. If you could change those to match that, it would be awesome!

Cool, nice to hear ! However, I don't think there is --globalize and --localize option implemented.. so I don't really see what you want me to change

May 2 2018, 11:42 AM

May 1 2018

jakehehrlich added a comment to D46217: [llvm-objcopy] Add --weaken option.

I'm happy with this change. I think we should change --globalize and --localize to match but if --globalize-symbol or --localize-symbol is used it shouldn't bother checking; if people want to do non-sense that's their choice. I didn't think about it but it makes a lot of sense not to globalize weak symbols and it makes sense to not localize undefined symbols. So I think the choices objcopy chose makes sense. If you could change those to match that, it would be awesome!

May 1 2018, 6:55 PM
jakehehrlich added inline comments to D46341: [llvm-objcopy] Add --discard-all (-x) option.
May 1 2018, 6:51 PM

Apr 30 2018

jakehehrlich added a comment to D46217: [llvm-objcopy] Add --weaken option.

So I asked the gods about this and got a half response on this issue but this appears to be intended for localize and globalize and *might* have been intended for weaken. After some thought I don't think it makes a lot of sense to weaken an undefined symbol and it might be unexpected behavior so I'm cool with it working this way. That would be my preference and it gives compatibility with objcopy.

Apr 30 2018, 12:03 PM

Apr 27 2018

jakehehrlich added inline comments to D46217: [llvm-objcopy] Add --weaken option.
Apr 27 2018, 5:18 PM
jakehehrlich added inline comments to D46217: [llvm-objcopy] Add --weaken option.
Apr 27 2018, 4:21 PM
jakehehrlich added inline comments to D46217: [llvm-objcopy] Add --weaken option.
Apr 27 2018, 4:01 PM
jakehehrlich accepted D46195: [llvm-objcopy] Add --weaken-symbol (-W) option.
Apr 27 2018, 11:51 AM
jakehehrlich accepted D46177: [llvm-objcopy] Add --globalize-symbol option.

LGTM

Apr 27 2018, 11:39 AM

Apr 26 2018

jakehehrlich added a comment to D46064: [llvm-objcopy] Add --localize-symbol option.

You can land it whenever suits you. Whoever lands it first makes the other person refactor their code a touch but it isn't a big deal. I'll alert the other person of the conflict when it happens.

Apr 26 2018, 10:44 AM
jakehehrlich accepted D46064: [llvm-objcopy] Add --localize-symbol option.

LGTM

Apr 26 2018, 10:26 AM

Apr 25 2018

jakehehrlich added a comment to D46064: [llvm-objcopy] Add --localize-symbol option.

Looks mostly good to me, just need to merge the passes over the symbols.

Apr 25 2018, 11:09 AM
jakehehrlich added a reviewer for D46064: [llvm-objcopy] Add --localize-symbol option: jhenderson.
Apr 25 2018, 11:09 AM

Apr 24 2018

jakehehrlich accepted D46025: [llvm-objcopy] Adjust the help message.

LGTM

Apr 24 2018, 2:13 PM

Apr 11 2018

jakehehrlich committed rL329867: Revert "[llvm-objcopy] Switch over to using TableGen for parsing arguments".
Revert "[llvm-objcopy] Switch over to using TableGen for parsing arguments"
Apr 11 2018, 5:44 PM
jakehehrlich committed rL329863: [llvm-objcopy] Switch over to using TableGen for parsing arguments.
[llvm-objcopy] Switch over to using TableGen for parsing arguments
Apr 11 2018, 4:40 PM
jakehehrlich closed D44236: [llvm-objcopy] Switch over to using TableGen for parsing arguments.
Apr 11 2018, 4:40 PM
jakehehrlich updated the diff for D44236: [llvm-objcopy] Switch over to using TableGen for parsing arguments.

ran format with style=llvm (git-clang-format seems to not have a way to do this?) and fixed a couple other nits

Apr 11 2018, 2:31 PM
jakehehrlich accepted D45511: [CMake][Fuchsia] Don't specify libc++ ABI version for Fuchsia.
Apr 11 2018, 11:38 AM

Apr 10 2018

jakehehrlich updated the diff for D44236: [llvm-objcopy] Switch over to using TableGen for parsing arguments.

Updated to (in the future) match Alex's plan for how we can expand this.

Apr 10 2018, 6:06 PM

Apr 9 2018

jakehehrlich added a comment to D44236: [llvm-objcopy] Switch over to using TableGen for parsing arguments.

sorry about the disturbance, i'm wondering if i can help push this diff forward - switching to TableGen looks like the right thing to do.
I have (locally, have not sent them for code review yet) a couple of other patches to llvm-objcopy (with various features),
but I'd like to apply them on top of the refactored codebase (in particular, with this change), although it's not a blocker nor is it critical.

Apr 9 2018, 12:58 PM

Apr 5 2018

jakehehrlich added a comment to D44236: [llvm-objcopy] Switch over to using TableGen for parsing arguments.

This looks good to me. Thanks!

Apr 5 2018, 10:57 AM

Apr 3 2018

jakehehrlich updated the diff for D44236: [llvm-objcopy] Switch over to using TableGen for parsing arguments.

I split the "Config" up into "Config" and "CopyAction". The plan is for "CopyAction" to handle multiple formats and for "Config" to determine which sort of CopyAction is constructed. When COFF support rolls around we should be able to use CopyAction for those as well. Archives support is also something I plan on adding eventually and that will be a copy action composed of many copy actions.

Apr 3 2018, 12:55 PM

Mar 26 2018

jakehehrlich accepted D44912: [clang-doc] Removing -Wunused-variable warning.

LGTM

Mar 26 2018, 3:18 PM · Restricted Project

Mar 12 2018

jakehehrlich accepted D44280: [llvm-readobj] Extend the output of -elf-section-groups with the field Link.

LGTM as well

Mar 12 2018, 11:07 AM

Mar 8 2018

jakehehrlich added a comment to D44236: [llvm-objcopy] Switch over to using TableGen for parsing arguments.

Like the others who have commented, it seems to me like the execute() function should be a member of a driver class (or stand-alone, since we don't really need a class here), rather than a configuration class. A configuration describes how to do something, but I don't think doing it itself feels right to me (for a slightly abstract example, think configuration files for an application - the executable does the work, the config file just allows controlling what is done).

Is there a particular reason you don't want to follow LLD's approach of one global configuration variable? Alternatively making it a member of an "ObjcopyDriver" class?

Mar 8 2018, 11:02 AM

Mar 7 2018

jakehehrlich added inline comments to D44236: [llvm-objcopy] Switch over to using TableGen for parsing arguments.
Mar 7 2018, 7:46 PM
jakehehrlich created D44236: [llvm-objcopy] Switch over to using TableGen for parsing arguments.
Mar 7 2018, 4:45 PM
jakehehrlich committed rL326941: Revert "[llvm-objcopy] Add support for large indexes".
Revert "[llvm-objcopy] Add support for large indexes"
Mar 7 2018, 12:36 PM
jakehehrlich committed rL326940: [llvm-objcopy] Add support for large indexes.
[llvm-objcopy] Add support for large indexes
Mar 7 2018, 12:02 PM