155c81d42SFangrui Song# RUN: yaml2obj %s -o %t 26e4dc6f2SAlexander Shaposhnikov# RUN: llvm-objcopy --globalize-symbol Global \ 36e4dc6f2SAlexander Shaposhnikov# RUN: --globalize-symbol Local \ 46e4dc6f2SAlexander Shaposhnikov# RUN: --globalize-symbol Weak \ 5*1562e455SJames Henderson# RUN: --globalize-symbol WeakUndef \ 6*1562e455SJames Henderson# RUN: --globalize-symbol Missing %t %t2 7298ea3f5SJordan Rupprecht# RUN: llvm-readobj --symbols %t2 | FileCheck %s 8*1562e455SJames Henderson# RUN: llvm-objcopy --regex --globalize-symbol='[GLW].*' %t %t3 9f324f6dcSEugene Leviant# RUN: cmp %t2 %t3 10e08fe35dSEugene Leviant# RUN: echo " Global # global" > %t-list.txt 11e08fe35dSEugene Leviant# RUN: echo "Local" >> %t-list.txt 12e08fe35dSEugene Leviant# RUN: echo "Weak" >> %t-list.txt 13e08fe35dSEugene Leviant# RUN: echo "WeakUndef" >> %t-list.txt 14*1562e455SJames Henderson# RUN: echo "Missing" >> %t-list.txt 15e08fe35dSEugene Leviant# RUN: echo " # comment " >> %t-list.txt 16e08fe35dSEugene Leviant# RUN: llvm-objcopy --globalize-symbols %t-list.txt %t %t4 17e08fe35dSEugene Leviant# RUN: cmp %t2 %t4 18*1562e455SJames Henderson# RUN: echo "[GLW].+ # .+ " > %t-list2.txt 19e08fe35dSEugene Leviant# RUN: llvm-objcopy --regex --globalize-symbols %t-list2.txt %t %t5 20e08fe35dSEugene Leviant# RUN: cmp %t2 %t5 216e4dc6f2SAlexander Shaposhnikov 226e4dc6f2SAlexander Shaposhnikov!ELF 236e4dc6f2SAlexander ShaposhnikovFileHeader: 246e4dc6f2SAlexander Shaposhnikov Class: ELFCLASS64 256e4dc6f2SAlexander Shaposhnikov Data: ELFDATA2LSB 266e4dc6f2SAlexander Shaposhnikov Type: ET_REL 276e4dc6f2SAlexander Shaposhnikov Machine: EM_X86_64 286e4dc6f2SAlexander ShaposhnikovSections: 296e4dc6f2SAlexander Shaposhnikov - Name: .text 306e4dc6f2SAlexander Shaposhnikov Type: SHT_PROGBITS 316e4dc6f2SAlexander Shaposhnikov Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 326e4dc6f2SAlexander Shaposhnikov Address: 0x1000 336e4dc6f2SAlexander Shaposhnikov AddressAlign: 0x0000000000000010 346e4dc6f2SAlexander Shaposhnikov Size: 64 356e4dc6f2SAlexander ShaposhnikovSymbols: 366e4dc6f2SAlexander Shaposhnikov - Name: Local 376e4dc6f2SAlexander Shaposhnikov Type: STT_FUNC 386e4dc6f2SAlexander Shaposhnikov Section: .text 396e4dc6f2SAlexander Shaposhnikov Value: 0x1000 406e4dc6f2SAlexander Shaposhnikov Size: 8 416e4dc6f2SAlexander Shaposhnikov - Name: Global 426e4dc6f2SAlexander Shaposhnikov Type: STT_FUNC 436e4dc6f2SAlexander Shaposhnikov Size: 8 446e4dc6f2SAlexander Shaposhnikov Section: .text 456e4dc6f2SAlexander Shaposhnikov Value: 0x1010 466da44ad7SGeorge Rimar Binding: STB_GLOBAL 476da44ad7SGeorge Rimar - Name: Weak 486da44ad7SGeorge Rimar Type: STT_FUNC 496da44ad7SGeorge Rimar Size: 8 506da44ad7SGeorge Rimar Section: .text 516da44ad7SGeorge Rimar Value: 0x1008 526da44ad7SGeorge Rimar Binding: STB_WEAK 536da44ad7SGeorge Rimar - Name: WeakUndef 546da44ad7SGeorge Rimar Binding: STB_WEAK 55*1562e455SJames Henderson - Name: Unspecified 56*1562e455SJames Henderson Section: .text 57*1562e455SJames Henderson Binding: STB_WEAK 586e4dc6f2SAlexander Shaposhnikov 596e4dc6f2SAlexander Shaposhnikov#CHECK: Symbols [ 606e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Symbol { 616e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Name: 626e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Value: 0x0 636e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Size: 0 646e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Binding: Local 656e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: None 666e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Other: 0 676e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Section: Undefined 686e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 696e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Symbol { 706e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Name: Local 716e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Value: 0x1000 726e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Size: 8 736e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Binding: Global 746e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: Function 756e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Other: 0 766e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Section: .text 776e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 786e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Symbol { 796e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Name: Global 806e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Value: 0x1010 816e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Size: 8 826e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Binding: Global 836e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: Function 846e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Other: 0 856e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Section: .text 866e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 876e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Symbol { 886e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Name: Weak 896e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Value: 0x1008 906e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Size: 8 916e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Binding: Global 926e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: Function 936e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Other: 0 946e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Section: .text 956e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 966e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Symbol { 976e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Name: WeakUndef 986e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Value: 0x0 996e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Size: 0 1006e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Binding: Weak 1016e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Type: None 1026e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Other: 0 1036e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: Section: Undefined 1046e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT: } 105*1562e455SJames Henderson#CHECK-NEXT: Symbol { 106*1562e455SJames Henderson#CHECK-NEXT: Name: Unspecified 107*1562e455SJames Henderson#CHECK-NEXT: Value: 0x0 108*1562e455SJames Henderson#CHECK-NEXT: Size: 0 109*1562e455SJames Henderson#CHECK-NEXT: Binding: Weak 110*1562e455SJames Henderson#CHECK-NEXT: Type: None 111*1562e455SJames Henderson#CHECK-NEXT: Other: 0 112*1562e455SJames Henderson#CHECK-NEXT: Section: .text 113*1562e455SJames Henderson#CHECK-NEXT: } 1146e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:] 115