Index: llvm/lib/MC/ELFObjectWriter.cpp =================================================================== --- llvm/lib/MC/ELFObjectWriter.cpp +++ llvm/lib/MC/ELFObjectWriter.cpp @@ -1277,6 +1277,7 @@ Alias->setExternal(Symbol.isExternal()); Alias->setBinding(Symbol.getBinding()); Alias->setOther(Symbol.getOther()); + Alias->setSize(Symbol.getSize()); if (!Symbol.isUndefined() && !Rest.startswith("@@@")) continue; Index: llvm/test/MC/ELF/symver.s =================================================================== --- llvm/test/MC/ELF/symver.s +++ llvm/test/MC/ELF/symver.s @@ -21,6 +21,18 @@ .symver global1, g1@@zed global1: + .global global2 + .type global2, @object + .size global2, 4 + .symver global2, tom@@petty + +global2: + .byte 0 + .byte 0 + .byte 0 + .byte 0 + + // CHECK: Relocations [ // CHECK-NEXT: Section {{.*}} .rela.text { // CHECK-NEXT: 0x0 R_X86_64_32 .text 0x0 @@ -121,4 +133,22 @@ // CHECK-NEXT: Other: 0 // CHECK-NEXT: Section: .text // CHECK-NEXT: } +// CHECK-NEXT: Symbol { +// CHECK-NEXT: Name: global2 (94) +// CHECK-NEXT: Value: 0x14 +// CHECK-NEXT: Size: 4 +// CHECK-NEXT: Binding: Global (0x1) +// CHECK-NEXT: Type: Object (0x1) +// CHECK-NEXT: Other: 0 +// CHECK-NEXT: Section: .text (0x2) +// CHECK-NEXT: } +// CHECK-NEXT: Symbol { +// CHECK-NEXT: Name: tom@@petty (1) +// CHECK-NEXT: Value: 0x14 +// CHECK-NEXT: Size: 4 +// CHECK-NEXT: Binding: Global (0x1) +// CHECK-NEXT: Type: Object (0x1) +// CHECK-NEXT: Other: 0 +// CHECK-NEXT: Section: .text (0x2) +// CHECK-NEXT: } // CHECK-NEXT: ]