diff --git a/lld/ELF/LinkerScript.cpp b/lld/ELF/LinkerScript.cpp --- a/lld/ELF/LinkerScript.cpp +++ b/lld/ELF/LinkerScript.cpp @@ -103,7 +103,7 @@ for (StringRef v : {".data.rel.ro", ".data", ".rodata", ".bss.rel.ro", ".bss", ".gcc_except_table", ".init_array", ".fini_array", ".tbss", ".tdata", - ".ARM.exidx", ".ARM.extab", ".ctors", ".dtors"}) + ".openbsd.randomdata", ".ARM.exidx", ".ARM.extab", ".ctors", ".dtors"}) if (isSectionPrefix(v, s->name)) return v; diff --git a/lld/test/ELF/section-name.s b/lld/test/ELF/section-name.s --- a/lld/test/ELF/section-name.s +++ b/lld/test/ELF/section-name.s @@ -41,6 +41,8 @@ .byte 0 .section .tdata.foo,"aGwT",@progbits,foo,comdat .byte 0 +.section .openbsd.randomdata.retguard.1723,"aw" +.byte 0 // CHECK: 1 .rodata 00000002 // CHECK: 2 .gcc_except_table 00000001 @@ -48,11 +50,12 @@ // CHECK: 4 .tdata 00000001 // CHECK: 5 .tbss 00000001 // CHECK: 6 .data.rel.ro 00000004 -// CHECK: 7 .data 00000002 -// CHECK: 8 .foo.a 00000001 -// CHECK: 9 .foo 00000001 -// CHECK: 10 .bss 00000002 -// CHECK: 11 .comment 00000008 -// CHECK: 12 .symtab 00000030 -// CHECK: 13 .shstrtab 00000075 -// CHECK: 14 .strtab 00000008 +// CHECK: 7 .openbsd.randomdata 00000001 +// CHECK: 8 .data 00000002 +// CHECK: 9 .foo.a 00000001 +// CHECK: 10 .foo 00000001 +// CHECK: 11 .bss 00000002 +// CHECK: 12 .comment 00000008 +// CHECK: 13 .symtab 00000030 +// CHECK: 14 .shstrtab 00000089 +// CHECK: 15 .strtab 00000008