diff options
Diffstat (limited to 'llvm/test/tools')
| -rw-r--r-- | llvm/test/tools/llvm-objcopy/weaken.test | 75 | 
1 files changed, 75 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objcopy/weaken.test b/llvm/test/tools/llvm-objcopy/weaken.test new file mode 100644 index 00000000000..b833ff62a21 --- /dev/null +++ b/llvm/test/tools/llvm-objcopy/weaken.test @@ -0,0 +1,75 @@ +# RUN: yaml2obj %s > %t +# RUN: llvm-objcopy --weaken-symbol Global -W Local -W Weak %t %t2 +# RUN: llvm-readobj -symbols %t2 | FileCheck %s + +!ELF +FileHeader: +  Class:           ELFCLASS64 +  Data:            ELFDATA2LSB +  Type:            ET_REL +  Machine:         EM_X86_64 +Sections: +  - Name:            .text +    Type:            SHT_PROGBITS +    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ] +    Address:         0x1000 +    AddressAlign:    0x0000000000000010 +    Size:            64 +Symbols: +  Local: +    - Name:     Local +      Type:     STT_FUNC +      Section:  .text +      Value:    0x1000 +      Size:     8 +  Weak: +    - Name:     Weak +      Type:     STT_FUNC +      Size:     8 +      Section:  .text +      Value:    0x1008 +  Global: +    - Name:     Global +      Type:     STT_FUNC +      Size:     8 +      Section:  .text +      Value:    0x1010 + +#CHECK: Symbols [ +#CHECK-NEXT:  Symbol { +#CHECK-NEXT:    Name: +#CHECK-NEXT:    Value: 0x0 +#CHECK-NEXT:    Size: 0 +#CHECK-NEXT:    Binding: Local +#CHECK-NEXT:    Type: None +#CHECK-NEXT:    Other: 0 +#CHECK-NEXT:    Section: Undefined +#CHECK-NEXT:  } +#CHECK-NEXT:  Symbol { +#CHECK-NEXT:    Name: Local +#CHECK-NEXT:    Value: 0x1000 +#CHECK-NEXT:    Size: 8 +#CHECK-NEXT:    Binding: Local +#CHECK-NEXT:    Type: Function +#CHECK-NEXT:    Other: 0 +#CHECK-NEXT:    Section: .text +#CHECK-NEXT:  } +#CHECK-NEXT:  Symbol { +#CHECK-NEXT:    Name: Global +#CHECK-NEXT:    Value: 0x1010 +#CHECK-NEXT:    Size: 8 +#CHECK-NEXT:    Binding: Weak +#CHECK-NEXT:    Type: Function +#CHECK-NEXT:    Other: 0 +#CHECK-NEXT:    Section: .text +#CHECK-NEXT:  } +#CHECK-NEXT:  Symbol { +#CHECK-NEXT:    Name: Weak +#CHECK-NEXT:    Value: 0x1008 +#CHECK-NEXT:    Size: 8 +#CHECK-NEXT:    Binding: Weak +#CHECK-NEXT:    Type: Function +#CHECK-NEXT:    Other: 0 +#CHECK-NEXT:    Section: .text +#CHECK-NEXT:  } +#CHECK-NEXT:]  | 

