1;; Test that we keep SHF_LINK_ORDER but reset sh_link to 0 if the associated 2;; symbol is not defined. 3; RUN: llc -mtriple=x86_64 -data-sections=1 < %s | FileCheck %s 4; RUN: llc -filetype=obj -mtriple=x86_64 -data-sections=1 < %s | llvm-readelf -S - | FileCheck --check-prefix=SEC %s 5 6;; FIXME The assembly output cannot be assembled because foo is not defined. 7;; This is difficult to fix because we allow loops (see elf-associated.ll 8;; .data.c and .data.d). 9; CHECK: .section .data.a,"awo",@progbits,foo 10; CHECK: .section .data.b,"awo",@progbits,foo 11 12;; No 'L' (SHF_LINK_ORDER). sh_link=0. 13; SEC; Name {{.*}} Flg Lk Inf 14; SEC: .data.a {{.*}} WAL 0 0 15; SEC: .data.b {{.*}} WAL 0 0 16 17;; The definition may be discarded by LTO. 18declare void @foo() 19 20@a = global i32 1, !associated !0 21@b = global i32 1, !associated !0 22 23!0 = !{void ()* @foo} 24