mirror of
https://git.suyu.dev/suyu/breakpad.git
synced 2026-03-11 02:06:27 +00:00
Add INLINE and INLINE_ORIGIN records to symbol file.
The size of symbol file for chrome binary increased from 577 MB to 1205 MB. There are 7,453,748 INLINE records and 1,268,493 INLINE_ORIGIN records. Bug: 1190878 Change-Id: I802ec1b4574c14f74ff80d0f69daf3c81085778a Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2915828 Reviewed-by: Joshua Peraza <jperaza@chromium.org>
This commit is contained in:
@@ -50,6 +50,7 @@ int usage(const char* self) {
|
||||
fprintf(stderr, "Options:\n");
|
||||
fprintf(stderr, " -i: Output module header information only.\n");
|
||||
fprintf(stderr, " -c Do not generate CFI section\n");
|
||||
fprintf(stderr, " -d Generate INLINE/INLINE_ORIGIN records\n");
|
||||
fprintf(stderr, " -r Do not handle inter-compilation "
|
||||
"unit references\n");
|
||||
fprintf(stderr, " -v Print all warnings to stderr\n");
|
||||
@@ -64,6 +65,7 @@ int main(int argc, char** argv) {
|
||||
return usage(argv[0]);
|
||||
bool header_only = false;
|
||||
bool cfi = true;
|
||||
bool handle_inlines = false;
|
||||
bool handle_inter_cu_refs = true;
|
||||
bool log_to_stderr = false;
|
||||
std::string obj_name;
|
||||
@@ -75,6 +77,8 @@ int main(int argc, char** argv) {
|
||||
header_only = true;
|
||||
} else if (strcmp("-c", argv[arg_index]) == 0) {
|
||||
cfi = false;
|
||||
} else if (strcmp("-d", argv[arg_index]) == 0) {
|
||||
handle_inlines = true;
|
||||
} else if (strcmp("-r", argv[arg_index]) == 0) {
|
||||
handle_inter_cu_refs = false;
|
||||
} else if (strcmp("-v", argv[arg_index]) == 0) {
|
||||
@@ -127,8 +131,8 @@ int main(int argc, char** argv) {
|
||||
return 1;
|
||||
}
|
||||
} else {
|
||||
SymbolData symbol_data =
|
||||
INLINES | (cfi ? CFI : NO_DATA) | SYMBOLS_AND_FILES;
|
||||
SymbolData symbol_data = (handle_inlines ? INLINES : NO_DATA) |
|
||||
(cfi ? CFI : NO_DATA) | SYMBOLS_AND_FILES;
|
||||
google_breakpad::DumpOptions options(symbol_data, handle_inter_cu_refs);
|
||||
if (!WriteSymbolFile(binary, obj_name, obj_os, debug_dirs, options,
|
||||
std::cout)) {
|
||||
|
||||
Reference in New Issue
Block a user