]> granicus.if.org Git - llvm/commit
[llvm-objcopy] Support -X|--discard-locals.
authorJordan Rupprecht <rupprecht@google.com>
Wed, 30 Jan 2019 14:58:13 +0000 (14:58 +0000)
committerJordan Rupprecht <rupprecht@google.com>
Wed, 30 Jan 2019 14:58:13 +0000 (14:58 +0000)
commita6189f19726bcf1b047a0c87ee94f30a3fabf6f6
treedb8105210d8a498160c82a0237dee4832d7594e0
parent00ffc652328231710c0d2dde3289d1a30269ce88
[llvm-objcopy] Support -X|--discard-locals.

Summary:
This adds support for the --discard-locals flag, which acts similarly to --discard-all, except it only applies to compiler-generated symbols (i.e. symbols starting with `.L` in ELF).

I am not sure about COFF local symbols: those appear to also use `.L` in most cases, but also use just `L` in other cases, so for now I am just leaving it unimplemented there.

Fixes PR36160

Reviewers: jhenderson, alexshap, jakehehrlich, mstorsjo, espindola

Reviewed By: jhenderson

Subscribers: llvm-commits, emaste, arichardson

Differential Revision: https://reviews.llvm.org/D57248

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352626 91177308-0d34-0410-b5e6-96231b3b80d8
test/tools/llvm-objcopy/ELF/discard-locals-rel.test [new file with mode: 0644]
test/tools/llvm-objcopy/ELF/discard-locals.test [new file with mode: 0644]
test/tools/llvm-objcopy/ELF/discard-mix-local-and-all.test [new file with mode: 0644]
tools/llvm-objcopy/COFF/COFFObjcopy.cpp
tools/llvm-objcopy/CopyConfig.cpp
tools/llvm-objcopy/CopyConfig.h
tools/llvm-objcopy/ELF/ELFObjcopy.cpp
tools/llvm-objcopy/ObjcopyOpts.td
tools/llvm-objcopy/StripOpts.td