Index: llvm/test/tools/obj2yaml/elf-reladyn-section-shinfo.yaml
===================================================================
--- llvm/test/tools/obj2yaml/elf-reladyn-section-shinfo.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
-# RUN: yaml2obj %s -o %t
-# RUN: llvm-readobj --sections %t | FileCheck %s
-# RUN: obj2yaml %t | FileCheck %s --check-prefix=YAML
-
-## .rela.dyn is a dynamic relocation section that normally has
-## no value in sh_info field. Check we are able to use
-## yaml2obj/obj2yaml without needing to explicitly set it.
-
-# CHECK:      Name: .rela.dyn
-# CHECK-NEXT: Type: SHT_RELA
-# CHECK-NEXT: Flags [
-# CHECK-NEXT:   SHF_ALLOC
-# CHECK-NEXT: ]
-# CHECK-NEXT: Address:
-# CHECK-NEXT: Offset:
-# CHECK-NEXT: Size:
-# CHECK-NEXT: Link:
-# CHECK-NEXT: Info: 0
-# CHECK-NEXT: AddressAlignment:
-# CHECK-NEXT: EntrySize:
-
-# YAML:      - Name:    .rela.dyn
-# YAML-NEXT:   Type:    SHT_RELA
-# YAML-NEXT:   Flags:   [ SHF_ALLOC ]
-# YAML-NEXT:   Link:    .dynsym
-# YAML-NEXT:   EntSize: 0x0000000000000018
-
---- !ELF
-FileHeader:
-  Class:   ELFCLASS64
-  Data:    ELFDATA2LSB
-  Type:    ET_DYN
-  Machine: EM_X86_64
-  Entry:   0x0000000000001000
-Sections:
-  - Name:    .rela.dyn
-    Type:    SHT_RELA
-    Flags:   [ SHF_ALLOC ]
-    Link:    .dynsym
-    EntSize: 0x0000000000000018
-# Add at least one symbol to trigger the .dynsym emission.
-DynamicSymbols:
-  - Name:    bar
-    Binding: STB_GLOBAL
Index: llvm/test/tools/obj2yaml/rel-rela-section.yaml
===================================================================
--- /dev/null
+++ llvm/test/tools/obj2yaml/rel-rela-section.yaml
@@ -0,0 +1,33 @@
+## This is a generic test for SHT_REL/SHT_RELA sections.
+
+## Check that we do not print excessive default
+## fields for SHT_REL[A] sections.
+# RUN: yaml2obj %s -o %t1
+# RUN: obj2yaml %t1 | FileCheck %s --check-prefix=YAML
+
+## Note: it is important to have at least two sections with sh_info == 0.
+##       Previously we printed a broken Info field in this case.
+## FIXME: We should not print EntSize. Will be fixed by https://reviews.llvm.org/D76227.
+# YAML:      - Name:    .rela.dyn
+# YAML-NEXT:   Type:    SHT_RELA
+# YAML-NEXT:   EntSize: 0x0000000000000018
+# YAML-NEXT: - Name:    .rel.dyn
+# YAML-NEXT:   Type:    SHT_REL
+# YAML-NEXT:   EntSize: 0x0000000000000010
+# YAML-NEXT: - Name
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
+Sections:
+  - Name: .rela.dyn
+    Type: SHT_RELA
+  - Name: .rel.dyn
+    Type: SHT_REL
+## Add at least one symbol to trigger the .dynsym emission.
+DynamicSymbols:
+  - Name:    bar
+    Binding: STB_GLOBAL
Index: llvm/tools/obj2yaml/elf2yaml.cpp
===================================================================
--- llvm/tools/obj2yaml/elf2yaml.cpp
+++ llvm/tools/obj2yaml/elf2yaml.cpp
@@ -575,6 +575,11 @@
   if (Error E = dumpCommonSection(Shdr, S))
     return E;
 
+  // Having a zero sh_info field is normal: .rela.dyn is a dynamic
+  // relocation section that normally has no value in this field.
+  if (!Shdr->sh_info)
+    return Error::success();
+
   auto InfoSection = Obj.getSection(Shdr->sh_info);
   if (!InfoSection)
     return InfoSection.takeError();