Skip to content

Commit ae7df5a

Browse files
committed
Add redacted_dates.h to assembler-files filegroup
PR #756 introduced date macro redaction by force-including a generated redacted_dates.h header via the `-imacros` flag in unfiltered compile flags. Since unfiltered compile flags are passed to all driver invocations (including assembly compilations), clang tries to load this header when compiling assembler (`.s` / `.S`) files. However, redacted_dates.h was only declared as an input file in the C/C++ compiler-components filegroup, and was missing from the assembler-files filegroup. This caused assembly compiles to fail with a fatal error: "external/toolchains_llvm++llvm+llvm_toolchain/redacted_dates.h file not found" as the header was absent from the assembler action's sandbox. Fix this by adding redacted_dates.h to the assembler-files filegroup definitions (both absolute-path and relative-path configurations) in toolchain/internal/configure.bzl. Also add a regression test compiling an empty assembly file to ensure the assembler can successfully resolve redacted_dates.h. Signed-off-by: Austin Schuh <austin.linux@gmail.com>
1 parent 904cf9d commit ae7df5a

3 files changed

Lines changed: 14 additions & 2 deletions

File tree

tests/BUILD.bazel

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,3 +313,14 @@ cc_test(
313313
tags = ["manual"],
314314
deps = [":test_cxx_standard_lib_transitioned"],
315315
)
316+
317+
cc_library(
318+
name = "assembly_test_lib",
319+
srcs = ["assembly_test.s"],
320+
)
321+
322+
build_test(
323+
name = "assembly_test",
324+
targets = [":assembly_test_lib"],
325+
)
326+

tests/assembly_test.s

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# An empty assembly file to test that assembler action works

toolchain/internal/configure.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -695,7 +695,7 @@ filegroup(
695695
696696
filegroup(name = "all-files-{suffix}", srcs = [":all-components-{suffix}", {extra_files_str}])
697697
filegroup(name = "archiver-files-{suffix}", srcs = [{extra_files_str}])
698-
filegroup(name = "assembler-files-{suffix}", srcs = [{extra_files_str}])
698+
filegroup(name = "assembler-files-{suffix}", srcs = ["redacted_dates.h", {extra_files_str}])
699699
filegroup(name = "compiler-files-{suffix}", srcs = [":compiler-components-{suffix}", {extra_files_str}])
700700
filegroup(name = "dwp-files-{suffix}", srcs = [{extra_files_str}])
701701
filegroup(name = "linker-files-{suffix}", srcs = [":linker-components-{suffix}", {extra_files_str}])
@@ -747,7 +747,7 @@ filegroup(
747747
748748
filegroup(name = "all-files-{suffix}", srcs = [":all-components-{suffix}", {extra_files_str}])
749749
filegroup(name = "archiver-files-{suffix}", srcs = ["{llvm_dist_label_prefix}ar", {extra_files_str}])
750-
filegroup(name = "assembler-files-{suffix}", srcs = ["{llvm_dist_label_prefix}as", {extra_files_str}])
750+
filegroup(name = "assembler-files-{suffix}", srcs = ["{llvm_dist_label_prefix}as", "redacted_dates.h", {extra_files_str}])
751751
filegroup(name = "compiler-files-{suffix}", srcs = [":compiler-components-{suffix}", {extra_files_str}])
752752
filegroup(name = "dwp-files-{suffix}", srcs = ["{llvm_dist_label_prefix}dwp", {extra_files_str}])
753753
filegroup(name = "linker-files-{suffix}", srcs = [":linker-components-{suffix}", {extra_files_str}])

0 commit comments

Comments
 (0)