Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Remarks] Warn if a remark file is not found when processing static a…
…rchives Static archives contain object files which contain sections pointing to external remark files. When static archives are shipped without the remark files, dsymutil shouldn't generate an error. Instead, generate a warning to inform the user that remarks for that library won't be available in the .dSYM.
- Loading branch information
Showing
6 changed files
with
82 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file added
BIN
+9.1 KB
llvm/test/tools/dsymutil/Inputs/remarks/basic.macho.remarks.archive.x86_64
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
RUN: rm -rf %t | ||
RUN: mkdir -p %t | ||
RUN: cat %p/../Inputs/remarks/basic.macho.remarks.archive.x86_64 > %t/basic.macho.remarks.archive.x86_64 | ||
|
||
RUN: dsymutil -oso-prepend-path=%p/../Inputs -remarks-prepend-path=%p/../Inputs %t/basic.macho.remarks.archive.x86_64 | ||
|
||
Check that the remark file in the bundle exists and is sane: | ||
RUN: llvm-bcanalyzer -dump %t/basic.macho.remarks.archive.x86_64.dSYM/Contents/Resources/Remarks/basic.macho.remarks.archive.x86_64 | FileCheck %s | ||
|
||
Check that we don't error if we're missing remark files from an archive, but we warn instead. | ||
Instead of creating a new binary, just remove the remarks prepend path. | ||
RUN: dsymutil -oso-prepend-path=%p/../Inputs %t/basic.macho.remarks.archive.x86_64 2>&1 | FileCheck %s --check-prefix=CHECK-MISSING | ||
|
||
CHECK: <Meta | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK: <Remark Num | ||
CHECK-NOT: <Remark Num | ||
|
||
CHECK-MISSING: warning: '/remarks/basic1.macho.remarks.x86_64.opt.bitstream': No such file or directory | ||
CHECK-MISSING-NEXT: note: while processing {{.*}}libbasic.a(basic1.macho.remarks.x86_64.o) | ||
CHECK-MISSING-NEXT: warning: '/remarks/basic2.macho.remarks.x86_64.opt.bitstream': No such file or directory | ||
CHECK-MISSING-NEXT: note: while processing {{.*}}libbasic.a(basic2.macho.remarks.x86_64.o) | ||
CHECK-MISSING-NEXT: warning: '/remarks/basic3.macho.remarks.x86_64.opt.bitstream': No such file or directory | ||
CHECK-MISSING-NEXT: note: while processing {{.*}}libbasic.a(basic3.macho.remarks.x86_64.o) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters