e085b3b50b
This CL fixes the following error detected on a WebRTC bot: FAILED: obj/third_party/breakpad/utilities/ConfigFile.o /opt/s/w/ir/cache/goma/client/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/breakpad/utilities/ConfigFile.o.d -DCR_XCODE_VERSION=1400 -DCR_CLANG_REVISION=\"llvmorg-16-init-907-g8b740747-1\" -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -DCR_LIBCXX_REVISION=9f503bebdb9a89f5ee82b82142109b26d688f40c -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../.. -Igen -I../../buildtools/third_party/libc++ -I../../third_party/breakpad/breakpad/src -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing -fstack-protector -femit-dwarf-unwind=no-compact-unwind -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -fcomplete-member-pointers -arch x86_64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=pattern -O2 -fno-omit-frame-pointer -g2 -gdwarf-aranges -Xclang -debug-info-kind=limited -isysroot sdk/xcode_links/MacOSX13.0.sdk -mmacos-version-min=10.13 -fvisibility=hidden -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang raw-ref-template-as-trivial-member -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Werror -Wall -Wno-unused-variable -Wno-c++11-narrowing -Wno-unused-but-set-variable -Wno-misleading-indentation -Wunguarded-availability -Wno-missing-field-initializers -Wno-unused-parameter -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-psabi -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -std=c++17 -Wno-trigraphs -fobjc-call-cxx-cdtors -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include -fvisibility-inlines-hidden -c ../../third_party/breakpad/breakpad/src/client/mac/crash_generation/ConfigFile.mm -o obj/third_party/breakpad/utilities/ConfigFile.o ../../third_party/breakpad/breakpad/src/client/mac/crash_generation/ConfigFile.mm:108:5: error: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Werror,-Wdeprecated-declarations] sprintf(processUptimeString, "%llu", ^ sdk/xcode_links/MacOSX13.0.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ^ sdk/xcode_links/MacOSX13.0.sdk/usr/include/sys/cdefs.h:214:48: note: expanded from macro '__deprecated_msg' #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg))) ^ ../../third_party/breakpad/breakpad/src/client/mac/crash_generation/ConfigFile.mm:114:3: error: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Werror,-Wdeprecated-declarations] sprintf(processCrashtimeString, "%zd", tv.tv_sec); ^ sdk/xcode_links/MacOSX13.0.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ^ sdk/xcode_links/MacOSX13.0.sdk/usr/include/sys/cdefs.h:214:48: note: expanded from macro '__deprecated_msg' #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg))) Bug: webrtc:14342 Change-Id: I923ab3f9155eb36aa2edf9b1d38c123e3e6ad029 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3829529 Reviewed-by: Mark Mentovai <mark@chromium.org> |
||
---|---|---|
.github/workflows | ||
android | ||
autotools | ||
docs | ||
m4 | ||
src | ||
.clang-format | ||
.gitignore | ||
aclocal.m4 | ||
appveyor.yml | ||
AUTHORS | ||
breakpad-client.pc.in | ||
breakpad.pc.in | ||
ChangeLog | ||
codereview.settings | ||
configure | ||
configure.ac | ||
default.xml | ||
DEPS | ||
DIR_METADATA | ||
INSTALL | ||
LICENSE | ||
Makefile.am | ||
Makefile.in | ||
NEWS | ||
OWNERS | ||
README.ANDROID | ||
README.md |
Breakpad
Breakpad is a set of client and server components which implement a crash-reporting system.
- Homepage
- Documentation
- Bugs
- Discussion/Questions: google-breakpad-discuss@googlegroups.com
- Developer/Reviews: google-breakpad-dev@googlegroups.com
- Tests:
- Coverage
Getting started (from main)
-
First, download depot_tools and ensure that they’re in your
PATH
. -
Create a new directory for checking out the source code (it must be named breakpad).
mkdir breakpad && cd breakpad
-
Run the
fetch
tool from depot_tools to download all the source repos.fetch breakpad cd src
-
Build the source.
./configure && make
You can also cd to another directory and run configure from there to build outside the source tree.
This will build the processor tools (
src/processor/minidump_stackwalk
,src/processor/minidump_dump
, etc), and when building on Linux it will also build the client libraries and some tools (src/tools/linux/dump_syms/dump_syms
,src/tools/linux/md2core/minidump-2-core
, etc). -
Optionally, run tests.
make check
-
Optionally, install the built libraries
make install
If you need to reconfigure your build be sure to run make distclean
first.
To update an existing checkout to a newer revision, you can
git pull
as usual, but then you should run gclient sync
to ensure that the
dependent repos are up-to-date.
To request change review
-
Follow the steps above to get the source and build it.
-
Make changes. Build and test your changes. For core code like processor use methods above. For linux/mac/windows, there are test targets in each project file.
-
Commit your changes to your local repo and upload them to the server. http://dev.chromium.org/developers/contributing-code e.g.
git commit ... && git cl upload ...
You will be prompted for credential and a description. -
At https://chromium-review.googlesource.com/ you'll find your issue listed; click on it, then “Add reviewer”, and enter in the code reviewer. Depending on your settings, you may not see an email, but the reviewer has been notified with google-breakpad-dev@googlegroups.com always CC’d.