diff options
| author | Jordan Rupprecht <rupprecht@google.com> | 2018-11-01 17:26:36 +0000 |
|---|---|---|
| committer | Jordan Rupprecht <rupprecht@google.com> | 2018-11-01 17:26:36 +0000 |
| commit | b47475c058b1da5b8ff8aba4e1fd9bb9a9871882 (patch) | |
| tree | 46890b206f9704b3b5b8ec53680272418f454ac6 /llvm/test/tools/llvm-objcopy/localize.test | |
| parent | ab205a31d40eafa0103bddc0abac9e3cfd0041ed (diff) | |
| download | bcm5719-llvm-b47475c058b1da5b8ff8aba4e1fd9bb9a9871882.tar.gz bcm5719-llvm-b47475c058b1da5b8ff8aba4e1fd9bb9a9871882.zip | |
[llvm-objcopy] Don't apply --localize flags to common symbols
Summary:
--localize-symbol and --localize-hidden will currently localize common symbols. GNU objcopy will not localize these symbols even when explicitly requested, which seems reasonable; common symbols should always be global so they can be merged during linking.
See PR39461
Reviewers: jakehehrlich, jhenderson, alexshap, MaskRay, espindola
Reviewed By: jakehehrlich, jhenderson, alexshap, MaskRay
Subscribers: emaste, arichardson, alexshap, MaskRay, llvm-commits
Differential Revision: https://reviews.llvm.org/D53782
llvm-svn: 345856
Diffstat (limited to 'llvm/test/tools/llvm-objcopy/localize.test')
| -rw-r--r-- | llvm/test/tools/llvm-objcopy/localize.test | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/llvm/test/tools/llvm-objcopy/localize.test b/llvm/test/tools/llvm-objcopy/localize.test index d52852ac673..2e2d6ccd6bf 100644 --- a/llvm/test/tools/llvm-objcopy/localize.test +++ b/llvm/test/tools/llvm-objcopy/localize.test @@ -1,5 +1,10 @@ # RUN: yaml2obj %s > %t -# RUN: llvm-objcopy --localize-symbol Global -L Local -L Weak %t %t2 +# RUN: llvm-objcopy \ +# RUN: --localize-symbol Global \ +# RUN: -L Local \ +# RUN: -L Weak \ +# RUN: -L GlobalCommon \ +# RUN: %t %t2 # RUN: llvm-readobj -symbols %t2 | FileCheck %s !ELF @@ -40,6 +45,11 @@ Symbols: Size: 8 Section: .text Value: 0x1010 + - Name: GlobalCommon + Type: STT_OBJECT + Index: SHN_COMMON + Value: 0x2006 + Size: 2 #CHECK: Symbols [ #CHECK-NEXT: Symbol { @@ -78,4 +88,13 @@ Symbols: #CHECK-NEXT: Other: 0 #CHECK-NEXT: Section: .text #CHECK-NEXT: } +#CHECK-NEXT: Symbol { +#CHECK-NEXT: Name: GlobalCommon +#CHECK-NEXT: Value: 0x2006 +#CHECK-NEXT: Size: 2 +#CHECK-NEXT: Binding: Global +#CHECK-NEXT: Type: Object +#CHECK-NEXT: Other: 0 +#CHECK-NEXT: Section: Common (0xF +#CHECK-NEXT: } #CHECK-NEXT:] |

