diff options
author | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-19 20:55:49 +0000 |
---|---|---|
committer | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-19 20:55:49 +0000 |
commit | 3115bf87e34f5c40c93eb9349cda1a040f38573b (patch) | |
tree | 4d0d143e5bde078ea1bf4bb78d37b72077a0fc88 /chrome/app/framework.order | |
parent | 08f0a19132581e09be48b13933ec2a90813fd052 (diff) | |
download | chromium_src-3115bf87e34f5c40c93eb9349cda1a040f38573b.zip chromium_src-3115bf87e34f5c40c93eb9349cda1a040f38573b.tar.gz chromium_src-3115bf87e34f5c40c93eb9349cda1a040f38573b.tar.bz2 |
Add an .order file to ensure that no global text symbol winds up at an address
higher than _ChromeMain, so that CrashReporter stacks and other symbolized
stacks aren't so confusing. Add a tool to verify that nothing violates this
ordering requirement.
BUG=28257
TEST=verify_order, which is part of the build
Review URL: http://codereview.chromium.org/414003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32539 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/app/framework.order')
-rw-r--r-- | chrome/app/framework.order | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/chrome/app/framework.order b/chrome/app/framework.order new file mode 100644 index 0000000..2a3bef3 --- /dev/null +++ b/chrome/app/framework.order @@ -0,0 +1,41 @@ +# Copyright (c) 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. + +# This .order file defines the order that symbols should be laid out in the +# Mac framework. The framework does not contain many global text symbols, and +# in release mode, does not contain any non-global text symbols after being +# stripped. In order to avoid symbolization of stripped binaries from showing +# confusing offsets from the few public symbols that are available, an +# easily-recognized symbol, _ChromeMain, is placed last among global text +# symbols. +# +# Not all symbols will appear in all build types. Varying optimizations may +# result in differences between the set of symbols present in debug and +# release modes. When Breakpad is in use, _catch_exception_raise will be +# present, but it will not appear in non-Breakpad-enabled builds. It is not +# an error to list symbols in this file that will not be present in each +# output variant. + +_NP_GetEntryPoints +_NP_GetMIMEDescription +_NP_GetValue +_NP_Initialize +_NP_Shutdown +__ZN11webkit_glue31NotifyBrowserOfPluginHideWindowEj6CGRect +__ZN11webkit_glue31NotifyBrowserOfPluginShowWindowEj6CGRectb +__ZN11webkit_glue33NotifyBrowserOfPluginSelectWindowEj6CGRectb +__ZN11webkit_glue34NotifyBrowserOfPluginDisposeWindowEj6CGRect +__ZN23FakePluginWindowTracker14SharedInstanceEv +__ZN23FakePluginWindowTracker27RemoveFakeWindowForDelegateEP21WebPluginDelegateImplP15OpaqueWindowPtr +__ZN23FakePluginWindowTracker29GenerateFakeWindowForDelegateEP21WebPluginDelegateImpl +__ZN23FakePluginWindowTrackerC1Ev +__ZN23FakePluginWindowTrackerC2Ev +__ZN7WebCore22narrowPrecisionToFloatIdEEfT_ +__ZN7WebCore24narrowPrecisionToCGFloatIdEEfT_ +__ZNK23FakePluginWindowTracker24GetDelegateForFakeWindowEP15OpaqueWindowPtr +__ZnwmPv +_catch_exception_raise + +# _ChromeMain must be listed last. That's the whole point of this file. +_ChromeMain |