Index: lld/trunk/ELF/Writer.cpp =================================================================== --- lld/trunk/ELF/Writer.cpp +++ lld/trunk/ELF/Writer.cpp @@ -1759,7 +1759,8 @@ if (OS->Flags & SHF_EXECINSTR) for (InputSection *IS : getInputSections(OS)) if (!(IS->Flags & SHF_EXECINSTR)) - error("-execute-only does not support intermingling data and code"); + error("cannot place " + toString(IS) + " into " + toString(OS->Name) + + ": -execute-only does not support intermingling data and code"); } // The linker is expected to define SECNAME_start and SECNAME_end Index: lld/trunk/test/ELF/execute-only-mixed-data.s =================================================================== --- lld/trunk/test/ELF/execute-only-mixed-data.s +++ lld/trunk/test/ELF/execute-only-mixed-data.s @@ -16,7 +16,7 @@ // RUN: }" > %t.lds // RUN: ld.lld -T%t.lds %t.o -o %t -execute-only 2>&1 -// CHECK: -execute-only does not support intermingling data and code +// CHECK: cannot place {{.*}}:(.rodata.foo) into .text: -execute-only does not support intermingling data and code br lr