brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.1 KiB · 43c7ab8 Raw
113 lines · plain
1// REQUIRES: x862// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t3// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/resolution.s -o %t24// RUN: ld.lld -discard-all %t %t2 -o %t35// RUN: llvm-readelf --symbols %t3 | FileCheck %s6 7// This is an exhaustive test for checking which symbol is kept when two8// have the same name. Each symbol has a different size which is used9// to see which one was chosen.10 11// CHECK:      Symbol table '.symtab' contains 23 entries:12// CHECK-NEXT:  Size Type    Bind   Vis       Ndx Name13// CHECK-NEXT:     0 NOTYPE  LOCAL  DEFAULT   UND 14// CHECK-NEXT:     0 NOTYPE  GLOBAL DEFAULT     1 _start15// CHECK-NEXT:     0 NOTYPE  WEAK   DEFAULT     1 RegularWeak_with_RegularWeak16// CHECK-NEXT:    33 NOTYPE  GLOBAL DEFAULT     1 RegularWeak_with_RegularStrong17// CHECK-NEXT:     2 NOTYPE  GLOBAL DEFAULT     1 RegularStrong_with_RegularWeak18// CHECK-NEXT:     3 NOTYPE  WEAK   DEFAULT     1 RegularWeak_with_UndefWeak19// CHECK-NEXT:     4 NOTYPE  WEAK   DEFAULT     1 RegularWeak_with_UndefStrong20// CHECK-NEXT:     5 NOTYPE  GLOBAL DEFAULT     1 RegularStrong_with_UndefWeak21// CHECK-NEXT:     6 NOTYPE  GLOBAL DEFAULT     1 RegularStrong_with_UndefStrong22// CHECK-NEXT:    40 OBJECT  GLOBAL DEFAULT     2 RegularWeak_with_CommonStrong23// CHECK-NEXT:    10 NOTYPE  GLOBAL DEFAULT     1 RegularStrong_with_CommonStrong24// CHECK-NEXT:    43 NOTYPE  WEAK   DEFAULT     1 UndefWeak_with_RegularWeak25// CHECK-NEXT:    44 NOTYPE  GLOBAL DEFAULT     1 UndefWeak_with_RegularStrong26// CHECK-NEXT:    45 NOTYPE  WEAK   DEFAULT     1 UndefStrong_with_RegularWeak27// CHECK-NEXT:    46 NOTYPE  GLOBAL DEFAULT     1 UndefStrong_with_RegularStrong28// CHECK-NEXT:     0 NOTYPE  WEAK   DEFAULT   UND UndefWeak_with_UndefWeak29// CHECK-NEXT:    49 OBJECT  GLOBAL DEFAULT     2 UndefWeak_with_CommonStrong30// CHECK-NEXT:    51 OBJECT  GLOBAL DEFAULT     2 UndefStrong_with_CommonStrong31// CHECK-NEXT:    22 OBJECT  GLOBAL DEFAULT     2 CommonStrong_with_RegularWeak32// CHECK-NEXT:    55 NOTYPE  GLOBAL DEFAULT     1 CommonStrong_with_RegularStrong33// CHECK-NEXT:    26 OBJECT  GLOBAL DEFAULT     2 CommonStrong_with_UndefWeak34// CHECK-NEXT:    27 OBJECT  GLOBAL DEFAULT     2 CommonStrong_with_UndefStrong35// CHECK-NEXT:    63 OBJECT  GLOBAL DEFAULT     2 CommonStrong_with_CommonStrong36 37.globl _start38_start:39        nop40 41local:42 43.weak RegularWeak_with_RegularWeak44.size RegularWeak_with_RegularWeak, 045RegularWeak_with_RegularWeak:46 47.weak RegularWeak_with_RegularStrong48.size RegularWeak_with_RegularStrong, 149RegularWeak_with_RegularStrong:50 51.global RegularStrong_with_RegularWeak52.size RegularStrong_with_RegularWeak, 253RegularStrong_with_RegularWeak:54 55.weak RegularWeak_with_UndefWeak56.size RegularWeak_with_UndefWeak, 357RegularWeak_with_UndefWeak:58 59.weak RegularWeak_with_UndefStrong60.size RegularWeak_with_UndefStrong, 461RegularWeak_with_UndefStrong:62 63.global RegularStrong_with_UndefWeak64.size RegularStrong_with_UndefWeak, 565RegularStrong_with_UndefWeak:66 67.global RegularStrong_with_UndefStrong68.size RegularStrong_with_UndefStrong, 669RegularStrong_with_UndefStrong:70 71.weak RegularWeak_with_CommonStrong72.size RegularWeak_with_CommonStrong, 873RegularWeak_with_CommonStrong:74 75.global RegularStrong_with_CommonStrong76.size RegularStrong_with_CommonStrong, 1077RegularStrong_with_CommonStrong:78 79.weak UndefWeak_with_RegularWeak80.size UndefWeak_with_RegularWeak, 1181.quad UndefWeak_with_RegularWeak82 83.weak UndefWeak_with_RegularStrong84.size UndefWeak_with_RegularStrong, 1285.quad UndefWeak_with_RegularStrong86 87.size UndefStrong_with_RegularWeak, 1388.quad UndefStrong_with_RegularWeak89 90.size UndefStrong_with_RegularStrong, 1491.quad UndefStrong_with_RegularStrong92 93.weak UndefWeak_with_UndefWeak94.size UndefWeak_with_UndefWeak, 1595.quad UndefWeak_with_UndefWeak96 97.weak UndefWeak_with_CommonStrong98.size UndefWeak_with_CommonStrong, 1799.quad UndefWeak_with_CommonStrong100 101.size UndefStrong_with_CommonStrong, 19102.quad UndefStrong_with_CommonStrong103 104.comm CommonStrong_with_RegularWeak,22,4105 106.comm CommonStrong_with_RegularStrong,23,4107 108.comm CommonStrong_with_UndefWeak,26,4109 110.comm CommonStrong_with_UndefStrong,27,4111 112.comm CommonStrong_with_CommonStrong,31,4113