https://github.com/ptr1337 created 
https://github.com/llvm/llvm-project/pull/196712

This reverts commit dc9d64aad7a92582f2847f408c273f604e7376e5.

Revert it on the 22.x branch because 22.1.4 regressed Linux kernel builds with 
objtool failures such as "bad .discard.annotate_insn entry".

Fixes https://github.com/llvm/llvm-project/issues/195657.

>From f6039d722737edf96d1db9848d820c42afd210bb Mon Sep 17 00:00:00 2001
From: Peter Jung <[email protected]>
Date: Sat, 9 May 2026 13:12:50 +0200
Subject: [PATCH] Revert "[lld][COFF] Restore `lto-embed-bitcode` and
 `-fembed-bitcode` Bitcode Embedding Features (#188398)"

This reverts commit dc9d64aad7a92582f2847f408c273f604e7376e5.

Revert it on the 22.x branch because 22.1.4 regressed Linux kernel
builds with objtool failures such as "bad .discard.annotate_insn entry".

Fixes https://github.com/llvm/llvm-project/issues/195657.
---
 lld/COFF/InputFiles.cpp          |  5 +++++
 lld/test/COFF/embed-bitcode.test | 30 ++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+)
 create mode 100644 lld/test/COFF/embed-bitcode.test

diff --git a/lld/COFF/InputFiles.cpp b/lld/COFF/InputFiles.cpp
index 0cc3aaeba41e3..d415955b6093b 100644
--- a/lld/COFF/InputFiles.cpp
+++ b/lld/COFF/InputFiles.cpp
@@ -403,6 +403,11 @@ SectionChunk *ObjFile::readSection(uint32_t sectionNumber,
     return nullptr;
   }
 
+  // Those sections are generated by -fembed-bitcode and do not need to be kept
+  // in executable files.
+  if (name == ".llvmbc" || name == ".llvmcmd")
+    return nullptr;
+
   // Object files may have DWARF debug info or MS CodeView debug info
   // (or both).
   //
diff --git a/lld/test/COFF/embed-bitcode.test b/lld/test/COFF/embed-bitcode.test
new file mode 100644
index 0000000000000..10f88c5c0117d
--- /dev/null
+++ b/lld/test/COFF/embed-bitcode.test
@@ -0,0 +1,30 @@
+# RUN: yaml2obj %s -o %t.obj
+# RUN: lld-link /entry:main /subsystem:console /out:%t.exe %t.obj
+# RUN: llvm-readobj -S %t.exe | FileCheck %s
+
+# CHECK-NOT: Name: .llvmbc
+# CHECK-NOT: Name: .llvmcmd
+
+--- !COFF
+header:
+  Machine:         IMAGE_FILE_MACHINE_AMD64
+
+sections:
+  - Name:            .text
+    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, 
IMAGE_SCN_MEM_READ ]
+    SectionData:     "C3"
+  - Name:           .llvmbc
+    Characteristics: [ IMAGE_SCN_MEM_DISCARDABLE ]
+    SectionData:     "4243C0DE"
+  - Name:           .llvmcmd
+    Characteristics: [ IMAGE_SCN_MEM_DISCARDABLE ]
+    SectionData:     "2D63633100"
+
+symbols:
+  - Name:            main
+    Value:           0
+    SectionNumber:   1
+    SimpleType:      IMAGE_SYM_TYPE_NULL
+    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
+    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
+...

_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to