[PATCH] D144565: dwp check overflow
zhuna via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 9 05:38:56 PST 2023
zhuna8616 updated this revision to Diff 503739.
zhuna8616 added a comment.
move warning option to dwp dayer && add check for invalid sequence
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D144565/new/
https://reviews.llvm.org/D144565
Files:
llvm/include/llvm/MC/MCTargetOptions.h
llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
llvm/test/tools/llvm-dwp/X86/overflow-warning.test
llvm/tools/llvm-dwp/llvm-dwp.cpp
Index: llvm/tools/llvm-dwp/llvm-dwp.cpp
===================================================================
--- llvm/tools/llvm-dwp/llvm-dwp.cpp
+++ llvm/tools/llvm-dwp/llvm-dwp.cpp
@@ -59,6 +59,11 @@
cl::desc("Specify the executable/library files to get the list of *.dwo from"),
cl::value_desc("filename"), cl::cat(DwpCategory));
+static cl::opt<bool> ContinueOnCuIndexOverflow(
+"continue-on-cu-index-overflow",
+cl::desc("This turns an error when offset for .debug_*.dwo sections "
+ "overfolws into a warning."), cl::cat(DwpCategory));
+
static cl::opt<std::string> OutputFilename(cl::Required, "o",
cl::desc("Specify the output file."),
cl::value_desc("filename"),
@@ -800,7 +805,7 @@
std::make_move_iterator(DWOs->end()));
}
- if (auto Err = write(*MS, DWOFilenames, MCOptions.MCWarnOverflow)) {
+ if (auto Err = write(*MS, DWOFilenames, ContinueOnCuIndexOverflow)) {
logAllUnhandledErrors(std::move(Err), WithColor::error());
return 1;
}
Index: llvm/test/tools/llvm-dwp/X86/overflow-warning.test
===================================================================
--- llvm/test/tools/llvm-dwp/X86/overflow-warning.test
+++ llvm/test/tools/llvm-dwp/X86/overflow-warning.test
@@ -1,4 +1,6 @@
RUN: llvm-mc --triple=x86_64-unknown-linux --filetype=obj --split-dwarf-file=hello.dwo -dwarf-version=5 %p/../Inputs/overflow/hello.s -o hello.o
RUN: llvm-mc --triple=x86_64-unknown-linux --filetype=obj --split-dwarf-file=main.dwo -dwarf-version=5 %p/../Inputs/overflow/main.s -o main.o
-RUN: llvm-dwp -e hello.o -e main.o -warn-overflow -o overflow.dwp 2>&1 | FileCheck %s
+RUN: llvm-dwp -e hello.o -e main.o -continue-on-cu-index-overflow -o overflow.dwp 2>&1 | FileCheck %s
+RUN: llvm-dwp overflow.dwp -o overflow-warned.dwp
+
CHECK: warning: Section size overflow in debug_info.dwo
Index: llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
===================================================================
--- llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
+++ llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
@@ -42,7 +42,6 @@
MCOPT(bool, ShowMCInst)
MCOPT(bool, FatalWarnings)
MCOPT(bool, NoWarn)
-MCOPT(bool, WarnOverflow)
MCOPT(bool, NoDeprecatedWarn)
MCOPT(std::string, ABIName)
@@ -87,11 +86,6 @@
cl::aliasopt(NoWarn));
MCBINDOPT(NoWarn);
- static cl::opt<bool> WarnOverflow(
- "warn-overflow", cl::desc("Warn about section overflow in dwp and "
- "preserve the overflow behavior"));
- MCBINDOPT(WarnOverflow);
-
static cl::opt<bool> NoDeprecatedWarn(
"no-deprecated-warn", cl::desc("Suppress all deprecated warnings"));
MCBINDOPT(NoDeprecatedWarn);
@@ -115,7 +109,6 @@
Options.ABIName = getABIName();
Options.MCFatalWarnings = getFatalWarnings();
Options.MCNoWarn = getNoWarn();
- Options.MCWarnOverflow = getWarnOverflow();
Options.MCNoDeprecatedWarn = getNoDeprecatedWarn();
return Options;
}
Index: llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
===================================================================
--- llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
+++ llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
@@ -38,8 +38,6 @@
bool getNoWarn();
-bool getWarnOverflow();
-
bool getNoDeprecatedWarn();
std::string getABIName();
Index: llvm/include/llvm/MC/MCTargetOptions.h
===================================================================
--- llvm/include/llvm/MC/MCTargetOptions.h
+++ llvm/include/llvm/MC/MCTargetOptions.h
@@ -43,7 +43,6 @@
bool MCNoExecStack : 1;
bool MCFatalWarnings : 1;
bool MCNoWarn : 1;
- bool MCWarnOverflow : 1;
bool MCNoDeprecatedWarn : 1;
bool MCSaveTempLabels : 1;
bool MCUseDwarfDirectory : 1;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D144565.503739.patch
Type: text/x-patch
Size: 3837 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230309/128236ec/attachment.bin>
More information about the llvm-commits
mailing list