[PATCH] D84788: [ELF] for symver directives, preserve the given symbol's size

Anthony Eden via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 31 10:54:02 PDT 2020


aeden updated this revision to Diff 282267.
aeden added a comment.

Updated to use existing global1 in llvm/test/MC/ELF/symver.s


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D84788/new/

https://reviews.llvm.org/D84788

Files:
  llvm/lib/MC/ELFObjectWriter.cpp
  llvm/test/MC/ELF/symver.s


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:   }
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;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D84788.282267.patch
Type: text/x-patch
Size: 1603 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200731/8d4fca40/attachment.bin>


More information about the llvm-commits mailing list