diff --git a/test/tools/yaml2obj/dynamic-section-i386.test b/test/tools/yaml2obj/dynamic-section-i386.test
new file mode 100644
index 0000000..89f7de6
--- /dev/null
+++ b/test/tools/yaml2obj/dynamic-section-i386.test
@@ -0,0 +1,43 @@
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-readobj %t --dynamic-table | FileCheck %s
+
+## Check we write a valid .dynamic section values when emiting a 32-bit object.
+
+# CHECK:      DynamicSection [ (2 entries)
+# CHECK-NEXT:   Tag        Type                 Name/Value
+# CHECK-NEXT:   0x0000000A STRSZ                1 (bytes)
+# CHECK-NEXT:   0x00000000 NULL                 0x0
+# CHECK-NEXT: ]
+
+!ELF
+FileHeader:
+  Class:           ELFCLASS32
+  Data:            ELFDATA2LSB
+  Type:            ET_DYN
+  Machine:         EM_386
+Sections:
+  - Name:            .dynamic
+    Type:            SHT_DYNAMIC
+    Flags:           [ SHF_ALLOC ]
+    Address:         0x0000000000000008
+    AddressAlign:    0x0000000000000008
+    EntSize:         0x0000000000000010
+    Entries:
+      - Tag:             DT_STRSZ
+        Value:           0x0000000000000001
+      - Tag:             DT_NULL
+        Value:           0x0000000000000000
+ProgramHeaders:
+  - Type: PT_LOAD
+    Flags: [ PF_R ]
+    VAddr: 0x0000
+    PAddr: 0x0000
+    Align: 8
+    Sections:
+      - Section: .dynamic
+  - Type: PT_DYNAMIC
+    Flags: [ PF_X, PF_R ]
+    VAddr: 0x0008
+    PAddr: 0x0008
+    Sections:
+      - Section: .dynamic
diff --git a/tools/yaml2obj/yaml2elf.cpp b/tools/yaml2obj/yaml2elf.cpp
index d5b1b59..c904523 100644
--- a/tools/yaml2obj/yaml2elf.cpp
+++ b/tools/yaml2obj/yaml2elf.cpp
@@ -582,11 +582,11 @@
 void ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader,
                                          const ELFYAML::DynamicSection &Section,
                                          ContiguousBlobAccumulator &CBA) {
-  typedef typename ELFT::Xword Xword;
+  typedef typename ELFT::Addr Elf_Addr;
   assert(Section.Type == llvm::ELF::SHT_DYNAMIC &&
          "Section type is not SHT_DYNAMIC");
 
-  SHeader.sh_size = 2 * sizeof(typename ELFT::uint) * Section.Entries.size();
+  SHeader.sh_size = 2 * sizeof(Elf_Addr) * Section.Entries.size();
   if (Section.EntSize)
     SHeader.sh_entsize = *Section.EntSize;
   else
@@ -594,10 +594,10 @@
 
   auto &OS = CBA.getOSAndAlignedOffset(SHeader.sh_offset, SHeader.sh_addralign);
   for (const ELFYAML::DynamicEntry &DE : Section.Entries) {
-    Xword Tag = (Xword)DE.Tag;
-    OS.write((const char *)&Tag, sizeof(Xword));
-    Xword Val = (Xword)DE.Val;
-    OS.write((const char *)&Val, sizeof(Xword));
+    Elf_Addr Tag = (Elf_Addr)DE.Tag;
+    OS.write((const char *)&Tag, sizeof(Elf_Addr));
+    Elf_Addr Val = (Elf_Addr)DE.Val;
+    OS.write((const char *)&Val, sizeof(Elf_Addr));
   }
 }
 
