# REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o # RUN: echo "zed" > %t.order # RUN: echo "bar" >> %t.order # RUN: echo "foo" >> %t.order # RUN: ld.lld --icf=all --symbol-ordering-file %t.order -shared %t.o -o %t.so # RUN: llvm-nm %t.so | FileCheck %s ## Check that after ICF merges 'foo' and 'zed' we still ## place them before 'bar', in according to ordering file. # CHECK-DAG: 0000000000001000 T foo # CHECK-DAG: 0000000000001000 T zed # CHECK-DAG: 0000000000001004 T bar .section .text.foo,"ax",@progbits .align 4 .global foo foo: retq .section .text.bar,"ax",@progbits .align 4 .global bar bar: nop retq .section .text.zed,"ax",@progbits .align 4 .global zed zed: retq