#
11216623 |
| 14-Nov-2017 |
Jake Ehrlich <jakehehrlich@google.com> |
[llvm-objcopy] Improve command line option help messages
I was being inconsistent with the way I was capitalizing help messages for command line options. Additionally --remove-section wasn't using v
[llvm-objcopy] Improve command line option help messages
I was being inconsistent with the way I was capitalizing help messages for command line options. Additionally --remove-section wasn't using value_desc even though it benefited from it.
Differential Revision: https://reviews.llvm.org/D39978
llvm-svn: 318190
show more ...
|
#
d56725a0 |
| 14-Nov-2017 |
Jake Ehrlich <jakehehrlich@google.com> |
[llvm-objcopy] Add -strip-non-alloc option to remove all non-allocated sections
This change adds a new flag not present in GNU objcopy that we call --strip-non-alloc.
Differential Revision: https:/
[llvm-objcopy] Add -strip-non-alloc option to remove all non-allocated sections
This change adds a new flag not present in GNU objcopy that we call --strip-non-alloc.
Differential Revision: https://reviews.llvm.org/D39926
llvm-svn: 318168
show more ...
|
#
99e2c41c |
| 14-Nov-2017 |
Jake Ehrlich <jakehehrlich@google.com> |
[llvm-objcopy] Support the rest of the ELF formats
We haven't been supporting anything but ELF64LE since the start. Luckily this was always accounted for and the change is pretty trivial. B35281 req
[llvm-objcopy] Support the rest of the ELF formats
We haven't been supporting anything but ELF64LE since the start. Luckily this was always accounted for and the change is pretty trivial. B35281 requests this change for ELF32LE. This change adds support for ELF32LE, ELF64BE, and ELF32BE with all supported features that already existed for ELF64LE.
Differential Revision: https://reviews.llvm.org/D39977
llvm-svn: 318166
show more ...
|
#
1bfefc1c |
| 13-Nov-2017 |
Jake Ehrlich <jakehehrlich@google.com> |
[llvm-objcopy] Add --strip-debug
Many projects use this option. There are two ways to use it. You can either a) Just use --strip-debug and keep the old file with debug content or b) you can use --st
[llvm-objcopy] Add --strip-debug
Many projects use this option. There are two ways to use it. You can either a) Just use --strip-debug and keep the old file with debug content or b) you can use --strip-debug, --only-keep-debug, and --add-gnu-debuglink all in conjunction to create two separate files, the stripped file and the debug file. --only-keep-debug is more complicated than --strip-debug because it keeps the section headers without keeping section contents. That's not really supported by llvm-objcopy at the moment but I plan on adding it. So this change just supports a) and options to support b) will come soon.
Differential Revision: https://reviews.llvm.org/D39919
llvm-svn: 318094
show more ...
|
#
fabddf18 |
| 13-Nov-2017 |
Jake Ehrlich <jakehehrlich@google.com> |
[llvm-objcopy] Add --strip-all option to llvm-objcopy
This change adds a slightly less extreme form of stripping. It should remove any section that starts with ".debug" and should remove any symbol
[llvm-objcopy] Add --strip-all option to llvm-objcopy
This change adds a slightly less extreme form of stripping. It should remove any section that starts with ".debug" and should remove any symbol table or relocations. In general this strips out most of the stuff you don't need to execute but leaves a number of things around. This behavior has been designed to be compatible with GNU strip/objcopy --strip-all so that anywhere you currently use --strip-all you should be able to use llvm-objcopy as a drop in replacement.
Differential Revision: https://reviews.llvm.org/D39769
llvm-svn: 318092
show more ...
|
#
85593c23 |
| 08-Nov-2017 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make sure an error is always handled.
llvm-svn: 317724
|
#
0d7a38a8 |
| 08-Nov-2017 |
Rafael Espindola <rafael.espindola@gmail.com> |
Convert FileOutputBuffer::commit to Error.
llvm-svn: 317656
|
#
e0df357d |
| 08-Nov-2017 |
Rafael Espindola <rafael.espindola@gmail.com> |
Convert FileOutputBuffer to Expected. NFC.
llvm-svn: 317649
|
#
998ff81f |
| 03-Nov-2017 |
David Blaikie <dblaikie@gmail.com> |
llvm-objdump: Fix unused-lambda-capture warning by removing unused lambda capture
llvm-svn: 317365
|
#
5de70d99 |
| 03-Nov-2017 |
Jake Ehrlich <jakehehrlich@google.com> |
[llvm-objcopy] Add support for dwarf fission
This change adds support for dwarf fission.
Differential Revision: https://reviews.llvm.org/D39207
llvm-svn: 317350
|
#
0ad18f88 |
| 01-Nov-2017 |
Eugene Zelenko <eugene.zelenko@gmail.com> |
[dsymutil, llvm-objcopy] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC).
llvm-svn: 317123
|
Revision tags: llvmorg-5.0.1-rc1 |
|
#
41a9ee98 |
| 11-Oct-2017 |
Zachary Turner <zturner@google.com> |
Revert "[ADT] Make Twine's copy constructor private."
This reverts commit 4e4ee1c507e2707bb3c208e1e1b6551c3015cbf5.
This is failing due to some code that isn't built on MSVC so I didn't catch. Not
Revert "[ADT] Make Twine's copy constructor private."
This reverts commit 4e4ee1c507e2707bb3c208e1e1b6551c3015cbf5.
This is failing due to some code that isn't built on MSVC so I didn't catch. Not immediately obvious how to fix this at first glance, so I'm reverting for now.
llvm-svn: 315536
show more ...
|
#
337462b3 |
| 11-Oct-2017 |
Zachary Turner <zturner@google.com> |
[ADT] Make Twine's copy constructor private.
There's a lot of misuse of Twine scattered around LLVM. This ranges in severity from benign (returning a Twine from a function by value that is just a s
[ADT] Make Twine's copy constructor private.
There's a lot of misuse of Twine scattered around LLVM. This ranges in severity from benign (returning a Twine from a function by value that is just a string literal) to pretty sketchy (storing a Twine by value in a class). While there are some uses for copying Twines, most of the very compelling ones are confined to the Twine class implementation itself, and other uses are either dubious or easily worked around.
This patch makes Twine's copy constructor private, and fixes up all callsites.
Differential Revision: https://reviews.llvm.org/D38767
llvm-svn: 315530
show more ...
|
#
f03384dc |
| 11-Oct-2017 |
Jake Ehrlich <jakehehrlich@google.com> |
Reland "[llvm-objcopy] Add support for --strip-sections to remove all section headers leaving only program headers and loadable segment data"
ubsan caught an issue I made where I was converting a nu
Reland "[llvm-objcopy] Add support for --strip-sections to remove all section headers leaving only program headers and loadable segment data"
ubsan caught an issue I made where I was converting a null pointer to a reference.
elf utils implements a particularly extreme form of stripping that I'd like to support. eu-strip has an option called "strip-sections" that removes all section headers and leaves only program headers and the segment data. I have implemented this option partly as a test but mainly because in Fuchsia we would like to use this option to minimize the size of our executables. The other strip options that are on my list include --strip-all and --strip-debug. This is a preliminary implementation that I'd like to start using in Fuchsia builds if possible. This change implements such a stripping option for llvm-objcopy
Differential Revision: https://reviews.llvm.org/D38335
llvm-svn: 315484
show more ...
|
#
d9a28346 |
| 11-Oct-2017 |
Jake Ehrlich <jakehehrlich@google.com> |
Revert "[llvm-objcopy] Add support for --strip-sections to remove all section headers leaving only program headers and loadable segment data"
This reverts commit rL315412
llvm-svn: 315417
|
#
b5152447 |
| 11-Oct-2017 |
Jake Ehrlich <jakehehrlich@google.com> |
[llvm-objcopy] Add support for --strip-sections to remove all section headers leaving only program headers and loadable segment data
elf utils implements a particularly extreme form of stripping tha
[llvm-objcopy] Add support for --strip-sections to remove all section headers leaving only program headers and loadable segment data
elf utils implements a particularly extreme form of stripping that I'd like to support. eu-strip has an option called "strip-sections" that removes all section headers and leaves only program headers and the segment data. I have implemented this option partly as a test but mainly because in Fuchsia we would like to use this option to minimize the size of our executables. The other strip options that are on my list include --strip-all and --strip-debug. This is a preliminary implementation that I'd like to start using in Fuchsia builds if possible. This change implements such a stripping option for llvm-objcopy
Differential Revision: https://reviews.llvm.org/D38335
llvm-svn: 315412
show more ...
|
#
fcc05627 |
| 10-Oct-2017 |
Jake Ehrlich <jakehehrlich@google.com> |
[llvm-objcopy] Add ability to remove multiple sections by name
This change adds the ability to use the "-R"/"-remove-section" option multiple times.
Differential Revision: https://reviews.llvm.org/
[llvm-objcopy] Add ability to remove multiple sections by name
This change adds the ability to use the "-R"/"-remove-section" option multiple times.
Differential Revision: https://reviews.llvm.org/D38332
llvm-svn: 315385
show more ...
|
#
36a2eb34 |
| 10-Oct-2017 |
Jake Ehrlich <jakehehrlich@google.com> |
[llvm-objcopy] Add support for removing sections
This change adds support for removing sections using the -R field (as GNU objcopy does as well). This change should let us add many helpful tests and
[llvm-objcopy] Add support for removing sections
This change adds support for removing sections using the -R field (as GNU objcopy does as well). This change should let us add many helpful tests and is a proper stepping stone for adding more general kinds of stripping.
Differential Revision: https://reviews.llvm.org/D38260
llvm-svn: 315346
show more ...
|
#
c5ff7270 |
| 10-Oct-2017 |
Jake Ehrlich <jakehehrlich@google.com> |
Revert "temporary"
I forgot to add a proper commit message. I'm reverting this to fix that.
This reverts commit r315344.
llvm-svn: 315345
|
#
77ec1ffe |
| 10-Oct-2017 |
Jake Ehrlich <jakehehrlich@google.com> |
temporary
llvm-svn: 315344
|
Revision tags: llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2 |
|
#
c4df10e1 |
| 04-Aug-2017 |
Petr Hosek <phosek@chromium.org> |
Reland "[llvm][llvm-objcopy] Added support for outputting to binary in llvm-objcopy"
This change adds the "-O binary" flag which directs llvm-objcopy to output the object file to the same format as
Reland "[llvm][llvm-objcopy] Added support for outputting to binary in llvm-objcopy"
This change adds the "-O binary" flag which directs llvm-objcopy to output the object file to the same format as GNU objcopy does when given the flag "-O binary". This was done by splitting the Object class into two subclasses ObjectELF and ObjectBianry which each output a different format but relay on the same code to read in the Object in Object.
Patch by Jake Ehrlich
Differential Revision: https://reviews.llvm.org/D34480
llvm-svn: 310127
show more ...
|
#
b1bb3e54 |
| 04-Aug-2017 |
Petr Hosek <phosek@chromium.org> |
Revert "[llvm][llvm-objcopy] Added support for outputting to binary in llvm-objcopy"
This breaks the build on clang-s390x-linux.
This reverts commit r310018.
llvm-svn: 310026
|
#
10fbc733 |
| 04-Aug-2017 |
Petr Hosek <phosek@chromium.org> |
Reland "[llvm][llvm-objcopy] Added support for outputting to binary in llvm-objcopy"
This change adds the "-O binary" flag which directs llvm-objcopy to output the object file to the same format as
Reland "[llvm][llvm-objcopy] Added support for outputting to binary in llvm-objcopy"
This change adds the "-O binary" flag which directs llvm-objcopy to output the object file to the same format as GNU objcopy does when given the flag "-O binary". This was done by splitting the Object class into two subclasses ObjectELF and ObjectBianry which each output a different format but relay on the same code to read in the Object in Object.
Patch by Jake Ehrlich
Differential Revision: https://reviews.llvm.org/D34480
llvm-svn: 310018
show more ...
|
#
37c052f5 |
| 02-Aug-2017 |
Petr Hosek <phosek@chromium.org> |
Revert "Reland "[llvm][llvm-objcopy] Added support for outputting to binary in llvm-objcopy""
This is failing to compile on 32-bit ARM bots.
This reverts commit r309768.
llvm-svn: 309771
|
#
0e60b2e7 |
| 01-Aug-2017 |
Petr Hosek <phosek@chromium.org> |
Reland "[llvm][llvm-objcopy] Added support for outputting to binary in llvm-objcopy"
This change adds the "-O binary" flag which directs llvm-objcopy to output the object file to the same format as
Reland "[llvm][llvm-objcopy] Added support for outputting to binary in llvm-objcopy"
This change adds the "-O binary" flag which directs llvm-objcopy to output the object file to the same format as GNU objcopy does when given the flag "-O binary". This was done by splitting the Object class into two subclasses ObjectELF and ObjectBianry which each output a different format but relay on the same code to read in the Object in Object.
Patch by Jake Ehrlich
Differential Revision: https://reviews.llvm.org/D34480
llvm-svn: 309768
show more ...
|