Index: lld/ELF/SyntheticSections.cpp
===================================================================
--- lld/ELF/SyntheticSections.cpp
+++ lld/ELF/SyntheticSections.cpp
@@ -1046,6 +1046,8 @@
     DtFlags |= DF_ORIGIN;
     DtFlags1 |= DF_1_ORIGIN;
   }
+  if (!Config->ZText)
+    DtFlags |= DF_TEXTREL;
 
   if (DtFlags)
     addInt(DT_FLAGS, DtFlags);
@@ -1108,8 +1110,6 @@
   addInt(DT_SYMENT, sizeof(Elf_Sym));
   addInSec(DT_STRTAB, InX::DynStrTab);
   addInt(DT_STRSZ, InX::DynStrTab->getSize());
-  if (!Config->ZText)
-    addInt(DT_TEXTREL, 0);
   if (InX::GnuHashTab)
     addInSec(DT_GNU_HASH, InX::GnuHashTab);
   if (InX::HashTab)
Index: lld/test/ELF/Inputs/ztext-text-notext.s
===================================================================
--- /dev/null
+++ lld/test/ELF/Inputs/ztext-text-notext.s
@@ -1,10 +0,0 @@
-        .global bar
-        .type bar, @object
-        .size bar, 8
-bar:
-        .quad 0
-
-        .global zed
-        .type zed, @function
-zed:
-        nop
Index: lld/test/ELF/ztext.s
===================================================================
--- lld/test/ELF/ztext.s
+++ lld/test/ELF/ztext.s
@@ -1,13 +1,13 @@
 # REQUIRES: x86
 # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
-# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/ztext-text-notext.s -o %t2.o
+# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/ztext.s -o %t2.o
 # RUN: ld.lld %t2.o -o %t2.so -shared
 # RUN: ld.lld -z notext %t.o %t2.so -o %t -shared
-# RUN: llvm-readobj  -dynamic-table -r %t | FileCheck %s
+# RUN: llvm-readobj -dynamic-table -r %t | FileCheck %s
 # RUN: ld.lld -z notext %t.o %t2.so -o %t2 -pie
-# RUN: llvm-readobj  -dynamic-table -r %t2 | FileCheck %s
+# RUN: llvm-readobj -dynamic-table -r %t2 | FileCheck %s
 # RUN: ld.lld -z notext %t.o %t2.so -o %t3
-# RUN: llvm-readobj  -dynamic-table -r %t3 | FileCheck --check-prefix=STATIC %s
+# RUN: llvm-readobj -dynamic-table -r %t3 | FileCheck --check-prefix=STATIC %s
 
 # If the preference is to have text relocations, don't create plt of copy relocations.
 
@@ -19,7 +19,7 @@
 # CHECK-NEXT:    }
 # CHECK-NEXT:  ]
 # CHECK: DynamicSection [
-# CHECK: 0x0000000000000016 TEXTREL 0x0
+# CHECK: FLAGS TEXTREL
 
 # STATIC:      Relocations [
 # STATIC-NEXT:    Section {{.*}} .rela.dyn {
@@ -28,7 +28,7 @@
 # STATIC-NEXT:    }
 # STATIC-NEXT:  ]
 # STATIC: DynamicSection [
-# STATIC: 0x0000000000000016 TEXTREL 0x0
+# STATIC: FLAGS TEXTREL
 
 foo:
 .quad foo