summaryrefslogtreecommitdiffstats
path: root/chrome/app/framework.order
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-19 20:55:49 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-19 20:55:49 +0000
commit3115bf87e34f5c40c93eb9349cda1a040f38573b (patch)
tree4d0d143e5bde078ea1bf4bb78d37b72077a0fc88 /chrome/app/framework.order
parent08f0a19132581e09be48b13933ec2a90813fd052 (diff)
downloadchromium_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.order41
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