Index: lld/test/ELF/lto/symtab-dead-strip.ll =================================================================== --- /dev/null +++ lld/test/ELF/lto/symtab-dead-strip.ll @@ -0,0 +1,25 @@ +; REQUIRES: x86 + +;; Test that symbols eliminated by LTO do not appear in +;; the final .symtab section. + +; RUN: llvm-as %s -o %t.o +; RUN: ld.lld %t.o -o %t +; RUN: llvm-readelf --syms %t | FileCheck %s + +;; Confirm that deadfunc is not present. +; CHECK: Symbol table '.symtab' contains 3 entries: +; CHECK-NEXT: Num: Value Size Type Bind Vis Ndx Name +; CHECK-NEXT: 0: {{.+}} 0 NOTYPE +; CHECK-NEXT: 1: {{.+}} 0 FILE +; CHECK-NEXT: 2: {{.+}} 1 FUNC GLOBAL DEFAULT {{.+}} _start + +target triple = "x86_64-unknown-linux-gnu" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" + +define void @_start() { + ret void +} +define void @deadfunc() { + ret void +}