diff options
author | maf@google.com <maf@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-15 22:42:59 +0000 |
---|---|---|
committer | maf@google.com <maf@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-15 22:42:59 +0000 |
commit | 9543af0553bba7adab97d3a8a358510449dc2e60 (patch) | |
tree | 3eccebdd899ce50369f42b99a46cd04197664ed9 /base/compat_execinfo.h | |
parent | a52225ef714d58b30cf87e794f0082a1445b6626 (diff) | |
download | chromium_src-9543af0553bba7adab97d3a8a358510449dc2e60.zip chromium_src-9543af0553bba7adab97d3a8a358510449dc2e60.tar.gz chromium_src-9543af0553bba7adab97d3a8a358510449dc2e60.tar.bz2 |
Changes needed for MacOS X 10.4 support.
Add "support_macosx_10_4" option to common.gypi that causes it to change deployment target, and define a new preprocessor symbol on the Mac build. Setting this flag to true is harmless on non Mac builds and has no effect.
Make various changes to source files where they modify their behavior in the presence of the new preprocessor symbol to become 10.4 compatible.
Review URL: http://codereview.chromium.org/201122
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26285 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/compat_execinfo.h')
-rw-r--r-- | base/compat_execinfo.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/base/compat_execinfo.h b/base/compat_execinfo.h new file mode 100644 index 0000000..472fa5e --- /dev/null +++ b/base/compat_execinfo.h @@ -0,0 +1,29 @@ +// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// +// A file you can include instead of <execinfo.h> if your project might have +// been compiled with our SUPPORT_MACOSX_10_4 flag defined. +// If SUPPORT_MACOSX_10_4 is not defined it just includes execinfo.h as normal, +// otherwise it defines the symbols itself as weak linked imports, which enables +// launching on 10.4 where they are not defined. + +#ifndef BASE_COMPAT_EXECINFO_H +#define BASE_COMPAT_EXECINFO_H + +#ifdef SUPPORT_MACOSX_10_4 +// Manually define these here as weak imports, rather than including execinfo.h. +// This lets us launch on 10.4 which does not have these calls. +extern "C" { + extern int backtrace(void**, int) __attribute__((weak_import)); + extern char** backtrace_symbols(void* const*, int) + __attribute__((weak_import)); + extern void backtrace_symbols_fd(void* const*, int, int) + __attribute__((weak_import)); +} +#else +#include <execinfo.h> +#endif + +#endif // BASE_COMPAT_EXECINFO_H + |