Index: ELF/SyntheticSections.cpp =================================================================== --- ELF/SyntheticSections.cpp +++ ELF/SyntheticSections.cpp @@ -1066,6 +1066,8 @@ } if (Config->HasStaticTlsModel) DtFlags |= DF_STATIC_TLS; + if (!Config->ZText) + DtFlags |= DF_TEXTREL; if (DtFlags) add({DT_FLAGS, DtFlags}); @@ -1101,8 +1103,6 @@ add({DT_SYMENT, sizeof(Elf_Sym)}); add({DT_STRTAB, In::DynStrTab}); add({DT_STRSZ, In::DynStrTab->getSize()}); - if (!Config->ZText) - add({DT_TEXTREL, (uint64_t)0}); if (In::GnuHashTab) add({DT_GNU_HASH, In::GnuHashTab}); if (In::HashTab) Index: test/ELF/ztext-text-notext.s =================================================================== --- test/ELF/ztext-text-notext.s +++ test/ELF/ztext-text-notext.s @@ -19,7 +19,7 @@ # CHECK-NEXT: } # CHECK-NEXT: ] # CHECK: DynamicSection [ -# CHECK: 0x0000000000000016 TEXTREL 0x0 +# CHECK: 0x000000000000001E FLAGS TEXTREL # STATIC: Relocations [ # STATIC-NEXT: Section {{.*}} .rela.dyn { @@ -28,7 +28,7 @@ # STATIC-NEXT: } # STATIC-NEXT: ] # STATIC: DynamicSection [ -# STATIC: 0x0000000000000016 TEXTREL 0x0 +# STATIC: 0x000000000000001E FLAGS TEXTREL foo: .quad foo