[Target] Remove `startswith` for adding `SHF_EXCLUDE` to offload section
authorJoseph Huber <jhuber6@vols.utk.edu>
Wed, 8 Jun 2022 13:54:08 +0000 (09:54 -0400)
committerJoseph Huber <jhuber6@vols.utk.edu>
Wed, 8 Jun 2022 13:56:51 +0000 (09:56 -0400)
Summary:
We use the special section name `.llvm.offloading` to store device
imagees in the host object file. We want these to be stripped by the
linker as they are not used after linking so we use the `SHF_EXCLUDE`
flag to instruct the linker to drop them. We used to do this for all
sections that started with `.llvm.offloading` when we encoded metadata
in the section name itself. Now we embed a special binary containing the
metadata, we should only add the flag on this name specifically.

llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp

index ed2a15d..ccbfc16 100644 (file)
@@ -449,7 +449,7 @@ static SectionKind getELFKindForNamedSection(StringRef Name, SectionKind K) {
       Name == ".llvmbc" || Name == ".llvmcmd")
     return SectionKind::getMetadata();
 
-  if (Name.startswith(".llvm.offloading"))
+  if (Name == ".llvm.offloading")
     return SectionKind::getExclude();
 
   if (Name.empty() || Name[0] != '.') return K;