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 @@ -18,9 +18,12 @@ .long undefined3 .global global1 + .type global1, @object + .size global1, 4 .symver global1, g1@@zed global1: + // CHECK: Relocations [ // CHECK-NEXT: Section {{.*}} .rela.text { // CHECK-NEXT: 0x0 R_X86_64_32 .text 0x0 @@ -106,18 +109,18 @@ // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: g1@@zed // CHECK-NEXT: Value: 0x14 -// CHECK-NEXT: Size: 0 +// CHECK-NEXT: Size: 4 // CHECK-NEXT: Binding: Global -// CHECK-NEXT: Type: None +// CHECK-NEXT: Type: Object // CHECK-NEXT: Other: 0 // CHECK-NEXT: Section: .text // CHECK-NEXT: } // CHECK-NEXT: Symbol { // CHECK-NEXT: Name: global1 // CHECK-NEXT: Value: 0x14 -// CHECK-NEXT: Size: 0 +// CHECK-NEXT: Size: 4 // CHECK-NEXT: Binding: Global -// CHECK-NEXT: Type: None +// CHECK-NEXT: Type: Object // CHECK-NEXT: Other: 0 // CHECK-NEXT: Section: .text // CHECK-NEXT: }