[Test] Fix function_sections test to support different linkers.

`gold` and `lld` produce map files in different formats; this test
can and should work for both of them.

rdar://123504095
This commit is contained in:
Alastair Houghton
2024-03-04 16:50:00 +00:00
parent a363719434
commit 8ba1d98354

View File

@@ -1,10 +1,13 @@
// REQUIRES: OS=linux-gnu || OS=freebsd
// RUN: %empty-directory(%t)
// RUN: %target-build-swift -Xfrontend -function-sections -emit-module -emit-library -static -parse-stdlib %S/Inputs/FunctionSections.swift
// RUN: %target-build-swift -Xlinker --gc-sections -Xlinker -Map=%t/../../FunctionSections.map -I%t/../.. -L%t/../.. -lFunctionSections %S/Inputs/FunctionSectionsUse.swift
// RUN: %FileCheck %s < %t/../../FunctionSections.map
// RUN: %target-build-swift -Xlinker -v -Xlinker --gc-sections -Xlinker -Map=%t/../../FunctionSections.map -I%t/../.. -L%t/../.. -lFunctionSections %S/Inputs/FunctionSectionsUse.swift 2>&1 | sed 's/.*\(gold\|LLD\).*/\1/g' | tr "[:lower:]" "[:upper:]" > %t/../../Linker.txt
// RUN: %FileCheck --check-prefix $(cat %t/../../Linker.txt) %s < %t/../../FunctionSections.map
// CHECK: Discarded input sections
// CHECK: .text.$s16FunctionSections5func2yyF
// CHECK: Memory map
// CHECK: .text.$s16FunctionSections5func1yyF
// GOLD: Discarded input sections
// GOLD: .text.$s16FunctionSections5func2yyF
// GOLD: Memory map
// GOLD: .text.$s16FunctionSections5func1yyF
// LLD: .text.$s16FunctionSections5func1yyF
// LLD-NOT: .text.$s16FunctionSections5func2yyF