diff --git a/toolkit/airbag/airbag/AUTHORS b/toolkit/airbag/airbag/AUTHORS deleted file mode 100755 index 4858b377c74b..000000000000 --- a/toolkit/airbag/airbag/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -opensource@google.com diff --git a/toolkit/airbag/airbag/COPYING b/toolkit/airbag/airbag/COPYING deleted file mode 100755 index d15b0c24134d..000000000000 --- a/toolkit/airbag/airbag/COPYING +++ /dev/null @@ -1,28 +0,0 @@ -Copyright (c) 2006, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/toolkit/airbag/airbag/ChangeLog b/toolkit/airbag/airbag/ChangeLog deleted file mode 100755 index e69de29bb2d1..000000000000 diff --git a/toolkit/airbag/airbag/INSTALL b/toolkit/airbag/airbag/INSTALL deleted file mode 100755 index 5458714e1e2c..000000000000 --- a/toolkit/airbag/airbag/INSTALL +++ /dev/null @@ -1,234 +0,0 @@ -Installation Instructions -************************* - -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006 Free Software Foundation, Inc. - -This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. - -Basic Installation -================== - -Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for -instructions specific to this package. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. Caching is -disabled by default to prevent problems with accidental use of stale -cache files. - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You need `configure.ac' if -you want to change it or regenerate `configure' using a newer version -of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. - - Running `configure' might take a while. While running, it prints - some messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - -Some systems require unusual options for compilation or linking that the -`configure' script does not know about. Run `./configure --help' for -details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - -You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - With a non-GNU `make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use `make distclean' before -reconfiguring for another architecture. - -Installation Names -================== - -By default, `make install' installs the package's commands under -`/usr/local/bin', include files under `/usr/local/include', etc. You -can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option `--exec-prefix=PREFIX' to `configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - -Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - -There may be some features `configure' cannot figure out automatically, -but needs to determine by the type of machine the package will run on. -Usually, assuming the package is built to be run on the _same_ -architectures, `configure' can figure that out, but if it prints a -message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option `--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - -If you want to set default values for `configure' scripts to share, you -can create a site shell script called `config.site' that gives default -values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - -Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: - - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash - -`configure' Invocation -====================== - -`configure' recognizes the following options to control how it operates. - -`--help' -`-h' - Print a summary of the options to `configure', and exit. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff --git a/toolkit/airbag/airbag/Makefile.am b/toolkit/airbag/airbag/Makefile.am deleted file mode 100755 index 128bba01d0f7..000000000000 --- a/toolkit/airbag/airbag/Makefile.am +++ /dev/null @@ -1,305 +0,0 @@ -## Process this file with automake to produce Makefile.in - -# Copyright (c) 2006, Google Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -# This allows #includes to be relative to src/ -AM_CPPFLAGS = -I$(top_srcdir)/src - - -## Documentation -docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION) - -dist_doc_DATA = \ - AUTHORS \ - COPYING \ - ChangeLog \ - INSTALL \ - NEWS \ - README - - -## Libraries -lib_LTLIBRARIES = src/libbreakpad.la - -src_libbreakpad_la_SOURCES = \ - src/google_breakpad/common/breakpad_types.h \ - src/google_breakpad/common/minidump_format.h \ - src/google_breakpad/common/minidump_size.h \ - src/google_breakpad/processor/basic_source_line_resolver.h \ - src/google_breakpad/processor/call_stack.h \ - src/google_breakpad/processor/code_module.h \ - src/google_breakpad/processor/code_modules.h \ - src/google_breakpad/processor/memory_region.h \ - src/google_breakpad/processor/minidump.h \ - src/google_breakpad/processor/minidump_processor.h \ - src/google_breakpad/processor/process_state.h \ - src/google_breakpad/processor/stack_frame.h \ - src/google_breakpad/processor/stack_frame_cpu.h \ - src/google_breakpad/processor/stackwalker.h \ - src/google_breakpad/processor/symbol_supplier.h \ - src/google_breakpad/processor/system_info.h \ - src/processor/address_map.h \ - src/processor/address_map-inl.h \ - src/processor/basic_code_module.h \ - src/processor/basic_code_modules.cc \ - src/processor/basic_code_modules.h \ - src/processor/basic_source_line_resolver.cc \ - src/processor/call_stack.cc \ - src/processor/contained_range_map.h \ - src/processor/contained_range_map-inl.h \ - src/processor/linked_ptr.h \ - src/processor/logging.h \ - src/processor/logging.cc \ - src/processor/minidump.cc \ - src/processor/minidump_processor.cc \ - src/processor/pathname_stripper.cc \ - src/processor/pathname_stripper.h \ - src/processor/postfix_evaluator.h \ - src/processor/postfix_evaluator-inl.h \ - src/processor/process_state.cc \ - src/processor/range_map.h \ - src/processor/range_map-inl.h \ - src/processor/scoped_ptr.h \ - src/processor/simple_symbol_supplier.cc \ - src/processor/simple_symbol_supplier.h \ - src/processor/stack_frame_info.h \ - src/processor/stackwalker.cc \ - src/processor/stackwalker_ppc.cc \ - src/processor/stackwalker_ppc.h \ - src/processor/stackwalker_x86.cc \ - src/processor/stackwalker_x86.h - - -## Programs -bin_PROGRAMS = \ - src/processor/minidump_dump \ - src/processor/minidump_stackwalk - - -## Tests -check_PROGRAMS = \ - src/processor/address_map_unittest \ - src/processor/basic_source_line_resolver_unittest \ - src/processor/contained_range_map_unittest \ - src/processor/minidump_processor_unittest \ - src/processor/pathname_stripper_unittest \ - src/processor/postfix_evaluator_unittest \ - src/processor/range_map_unittest - -if SELFTEST -check_PROGRAMS += \ - src/processor/stackwalker_selftest -endif SELFTEST - -check_SCRIPTS = \ - src/processor/minidump_dump_test \ - src/processor/minidump_stackwalk_test \ - src/processor/minidump_stackwalk_machine_readable_test - -TESTS = $(check_PROGRAMS) $(check_SCRIPTS) -TESTS_ENVIRONMENT = - -src_processor_address_map_unittest_SOURCES = \ - src/processor/address_map_unittest.cc -src_processor_address_map_unittest_LDADD = \ - src/processor/logging.lo \ - src/processor/pathname_stripper.lo - -src_processor_basic_source_line_resolver_unittest_SOURCES = \ - src/processor/basic_source_line_resolver_unittest.cc -src_processor_basic_source_line_resolver_unittest_LDADD = \ - src/processor/basic_source_line_resolver.lo \ - src/processor/pathname_stripper.lo \ - src/processor/logging.lo - -src_processor_contained_range_map_unittest_SOURCES = \ - src/processor/contained_range_map_unittest.cc -src_processor_contained_range_map_unittest_LDADD = \ - src/processor/logging.lo \ - src/processor/pathname_stripper.lo - -src_processor_minidump_processor_unittest_SOURCES = \ - src/processor/minidump_processor_unittest.cc -src_processor_minidump_processor_unittest_LDADD = \ - src/processor/basic_code_modules.lo \ - src/processor/basic_source_line_resolver.lo \ - src/processor/call_stack.lo \ - src/processor/logging.lo \ - src/processor/minidump_processor.lo \ - src/processor/minidump.lo \ - src/processor/pathname_stripper.lo \ - src/processor/process_state.lo \ - src/processor/stackwalker.lo \ - src/processor/stackwalker_ppc.lo \ - src/processor/stackwalker_x86.lo - -src_processor_pathname_stripper_unittest_SOURCES = \ - src/processor/pathname_stripper_unittest.cc -src_processor_pathname_stripper_unittest_LDADD = \ - src/processor/pathname_stripper.lo - -src_processor_postfix_evaluator_unittest_SOURCES = \ - src/processor/postfix_evaluator_unittest.cc -src_processor_postfix_evaluator_unittest_LDADD = \ - src/processor/logging.lo \ - src/processor/pathname_stripper.lo - -src_processor_range_map_unittest_SOURCES = \ - src/processor/range_map_unittest.cc -src_processor_range_map_unittest_LDADD = \ - src/processor/logging.lo \ - src/processor/pathname_stripper.lo - -src_processor_stackwalker_selftest_SOURCES = \ - src/processor/stackwalker_selftest.cc -src_processor_stackwalker_selftest_LDADD = \ - src/processor/basic_code_modules.lo \ - src/processor/basic_source_line_resolver.lo \ - src/processor/call_stack.lo \ - src/processor/logging.lo \ - src/processor/minidump.lo \ - src/processor/pathname_stripper.lo \ - src/processor/stackwalker.lo \ - src/processor/stackwalker_ppc.lo \ - src/processor/stackwalker_x86.lo - -## Non-installables -noinst_PROGRAMS = -noinst_SCRIPTS = $(check_SCRIPTS) - -src_processor_minidump_dump_SOURCES = \ - src/processor/minidump_dump.cc -src_processor_minidump_dump_LDADD = \ - src/processor/basic_code_modules.lo \ - src/processor/logging.lo \ - src/processor/minidump.lo \ - src/processor/pathname_stripper.lo - -src_processor_minidump_stackwalk_SOURCES = \ - src/processor/minidump_stackwalk.cc -src_processor_minidump_stackwalk_LDADD = \ - src/processor/basic_code_modules.lo \ - src/processor/basic_source_line_resolver.lo \ - src/processor/call_stack.lo \ - src/processor/logging.lo \ - src/processor/minidump.lo \ - src/processor/minidump_processor.lo \ - src/processor/pathname_stripper.lo \ - src/processor/process_state.lo \ - src/processor/simple_symbol_supplier.lo \ - src/processor/stackwalker.lo \ - src/processor/stackwalker_ppc.lo \ - src/processor/stackwalker_x86.lo - - -## Additional files to be included in a source distribution -## -## find src/client src/common src/processor/testdata src/tools \ -## -type f \! -path '*/.svn/*' -print | sort -EXTRA_DIST = \ - $(SCRIPTS) \ - src/client/mac/handler/exception_handler.cc \ - src/client/mac/handler/exception_handler.h \ - src/client/mac/handler/exception_handler_test.cc \ - src/client/mac/handler/minidump_generator.cc \ - src/client/mac/handler/minidump_generator.h \ - src/client/mac/handler/minidump_generator_test.cc \ - src/client/mac/handler/minidump_test.xcodeproj/project.pbxproj \ - src/client/minidump_file_writer.cc \ - src/client/minidump_file_writer.h \ - src/client/minidump_file_writer-inl.h \ - src/client/minidump_file_writer_unittest.cc \ - src/client/windows/breakpad_client.sln \ - src/client/windows/handler/exception_handler.cc \ - src/client/windows/handler/exception_handler.h \ - src/client/windows/handler/exception_handler.vcproj \ - src/client/windows/sender/crash_report_sender.cc \ - src/client/windows/sender/crash_report_sender.h \ - src/client/windows/sender/crash_report_sender.vcproj \ - src/common/convert_UTF.c \ - src/common/convert_UTF.h \ - src/common/mac/HTTPMultipartUpload.h \ - src/common/mac/HTTPMultipartUpload.m \ - src/common/mac/dump_syms.h \ - src/common/mac/dump_syms.mm \ - src/common/mac/file_id.cc \ - src/common/mac/file_id.h \ - src/common/mac/macho_id.cc \ - src/common/mac/macho_id.h \ - src/common/mac/macho_walker.cc \ - src/common/mac/macho_walker.h \ - src/common/mac/string_utilities.cc \ - src/common/mac/string_utilities.h \ - src/common/string_conversion.cc \ - src/common/string_conversion.h \ - src/common/windows/guid_string.cc \ - src/common/windows/guid_string.h \ - src/common/windows/http_upload.cc \ - src/common/windows/http_upload.h \ - src/common/windows/pdb_source_line_writer.cc \ - src/common/windows/pdb_source_line_writer.h \ - src/common/windows/string_utils-inl.h \ - src/common/windows/string_utils.cc \ - src/processor/testdata/minidump2.dmp \ - src/processor/testdata/minidump2.dump.out \ - src/processor/testdata/minidump2.stackwalk.machine_readable.out \ - src/processor/testdata/minidump2.stackwalk.out \ - src/processor/testdata/module1.out \ - src/processor/testdata/module2.out \ - src/processor/testdata/module3_bad.out \ - src/processor/testdata/symbols/kernel32.pdb/BCE8785C57B44245A669896B6A19B9542/kernel32.sym \ - src/processor/testdata/symbols/test_app.pdb/5A9832E5287241C1838ED98914E9B7FF1/test_app.sym \ - src/processor/testdata/test_app.cc \ - src/tools/mac/crash_report/crash_report.mm \ - src/tools/mac/crash_report/crash_report.xcodeproj/project.pbxproj \ - src/tools/mac/crash_report/on_demand_symbol_supplier.h \ - src/tools/mac/crash_report/on_demand_symbol_supplier.mm \ - src/tools/mac/dump_syms/dump_syms.xcodeproj/project.pbxproj \ - src/tools/mac/dump_syms/dump_syms_tool.m \ - src/tools/mac/symupload/minidump_upload.m \ - src/tools/mac/symupload/symupload.m \ - src/tools/mac/symupload/symupload.xcodeproj/project.pbxproj \ - src/tools/windows/converter/ms_symbol_server_converter.cc \ - src/tools/windows/converter/ms_symbol_server_converter.h \ - src/tools/windows/converter/ms_symbol_server_converter.vcproj \ - src/tools/windows/dump_syms/dump_syms.cc \ - src/tools/windows/dump_syms/dump_syms.vcproj \ - src/tools/windows/dump_syms/run_regtest.sh \ - src/tools/windows/dump_syms/testdata/dump_syms_regtest.cc \ - src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb \ - src/tools/windows/dump_syms/testdata/dump_syms_regtest.sym \ - src/tools/windows/symupload/symupload.cc \ - src/tools/windows/symupload/symupload.vcproj - - -## Additional rules -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck diff --git a/toolkit/airbag/airbag/Makefile.in b/toolkit/airbag/airbag/Makefile.in deleted file mode 100755 index cb0e63438af4..000000000000 --- a/toolkit/airbag/airbag/Makefile.in +++ /dev/null @@ -1,1318 +0,0 @@ -# Makefile.in generated by automake 1.10 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# Copyright (c) 2006, Google Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = src/processor/minidump_dump$(EXEEXT) \ - src/processor/minidump_stackwalk$(EXEEXT) -check_PROGRAMS = src/processor/address_map_unittest$(EXEEXT) \ - src/processor/basic_source_line_resolver_unittest$(EXEEXT) \ - src/processor/contained_range_map_unittest$(EXEEXT) \ - src/processor/minidump_processor_unittest$(EXEEXT) \ - src/processor/pathname_stripper_unittest$(EXEEXT) \ - src/processor/postfix_evaluator_unittest$(EXEEXT) \ - src/processor/range_map_unittest$(EXEEXT) $(am__EXEEXT_1) -@SELFTEST_TRUE@am__append_1 = \ -@SELFTEST_TRUE@ src/processor/stackwalker_selftest - -noinst_PROGRAMS = -subdir = . -DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \ - $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/configure $(top_srcdir)/src/config.h.in AUTHORS \ - COPYING ChangeLog INSTALL NEWS autotools/config.guess \ - autotools/config.sub autotools/depcomp autotools/install-sh \ - autotools/ltmain.sh autotools/missing -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/config.h -CONFIG_CLEAN_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ - "$(DESTDIR)$(docdir)" -libLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(lib_LTLIBRARIES) -src_libbreakpad_la_LIBADD = -am__dirstamp = $(am__leading_dot)dirstamp -am_src_libbreakpad_la_OBJECTS = src/processor/basic_code_modules.lo \ - src/processor/basic_source_line_resolver.lo \ - src/processor/call_stack.lo src/processor/logging.lo \ - src/processor/minidump.lo src/processor/minidump_processor.lo \ - src/processor/pathname_stripper.lo \ - src/processor/process_state.lo \ - src/processor/simple_symbol_supplier.lo \ - src/processor/stackwalker.lo src/processor/stackwalker_ppc.lo \ - src/processor/stackwalker_x86.lo -src_libbreakpad_la_OBJECTS = $(am_src_libbreakpad_la_OBJECTS) -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -@SELFTEST_TRUE@am__EXEEXT_1 = \ -@SELFTEST_TRUE@ src/processor/stackwalker_selftest$(EXEEXT) -PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) -am_src_processor_address_map_unittest_OBJECTS = \ - src/processor/address_map_unittest.$(OBJEXT) -src_processor_address_map_unittest_OBJECTS = \ - $(am_src_processor_address_map_unittest_OBJECTS) -src_processor_address_map_unittest_DEPENDENCIES = \ - src/processor/logging.lo src/processor/pathname_stripper.lo -am_src_processor_basic_source_line_resolver_unittest_OBJECTS = \ - src/processor/basic_source_line_resolver_unittest.$(OBJEXT) -src_processor_basic_source_line_resolver_unittest_OBJECTS = $(am_src_processor_basic_source_line_resolver_unittest_OBJECTS) -src_processor_basic_source_line_resolver_unittest_DEPENDENCIES = \ - src/processor/basic_source_line_resolver.lo \ - src/processor/pathname_stripper.lo src/processor/logging.lo -am_src_processor_contained_range_map_unittest_OBJECTS = \ - src/processor/contained_range_map_unittest.$(OBJEXT) -src_processor_contained_range_map_unittest_OBJECTS = \ - $(am_src_processor_contained_range_map_unittest_OBJECTS) -src_processor_contained_range_map_unittest_DEPENDENCIES = \ - src/processor/logging.lo src/processor/pathname_stripper.lo -am_src_processor_minidump_dump_OBJECTS = \ - src/processor/minidump_dump.$(OBJEXT) -src_processor_minidump_dump_OBJECTS = \ - $(am_src_processor_minidump_dump_OBJECTS) -src_processor_minidump_dump_DEPENDENCIES = \ - src/processor/basic_code_modules.lo src/processor/logging.lo \ - src/processor/minidump.lo src/processor/pathname_stripper.lo -am_src_processor_minidump_processor_unittest_OBJECTS = \ - src/processor/minidump_processor_unittest.$(OBJEXT) -src_processor_minidump_processor_unittest_OBJECTS = \ - $(am_src_processor_minidump_processor_unittest_OBJECTS) -src_processor_minidump_processor_unittest_DEPENDENCIES = \ - src/processor/basic_code_modules.lo \ - src/processor/basic_source_line_resolver.lo \ - src/processor/call_stack.lo src/processor/logging.lo \ - src/processor/minidump_processor.lo src/processor/minidump.lo \ - src/processor/pathname_stripper.lo \ - src/processor/process_state.lo src/processor/stackwalker.lo \ - src/processor/stackwalker_ppc.lo \ - src/processor/stackwalker_x86.lo -am_src_processor_minidump_stackwalk_OBJECTS = \ - src/processor/minidump_stackwalk.$(OBJEXT) -src_processor_minidump_stackwalk_OBJECTS = \ - $(am_src_processor_minidump_stackwalk_OBJECTS) -src_processor_minidump_stackwalk_DEPENDENCIES = \ - src/processor/basic_code_modules.lo \ - src/processor/basic_source_line_resolver.lo \ - src/processor/call_stack.lo src/processor/logging.lo \ - src/processor/minidump.lo src/processor/minidump_processor.lo \ - src/processor/pathname_stripper.lo \ - src/processor/process_state.lo \ - src/processor/simple_symbol_supplier.lo \ - src/processor/stackwalker.lo src/processor/stackwalker_ppc.lo \ - src/processor/stackwalker_x86.lo -am_src_processor_pathname_stripper_unittest_OBJECTS = \ - src/processor/pathname_stripper_unittest.$(OBJEXT) -src_processor_pathname_stripper_unittest_OBJECTS = \ - $(am_src_processor_pathname_stripper_unittest_OBJECTS) -src_processor_pathname_stripper_unittest_DEPENDENCIES = \ - src/processor/pathname_stripper.lo -am_src_processor_postfix_evaluator_unittest_OBJECTS = \ - src/processor/postfix_evaluator_unittest.$(OBJEXT) -src_processor_postfix_evaluator_unittest_OBJECTS = \ - $(am_src_processor_postfix_evaluator_unittest_OBJECTS) -src_processor_postfix_evaluator_unittest_DEPENDENCIES = \ - src/processor/logging.lo src/processor/pathname_stripper.lo -am_src_processor_range_map_unittest_OBJECTS = \ - src/processor/range_map_unittest.$(OBJEXT) -src_processor_range_map_unittest_OBJECTS = \ - $(am_src_processor_range_map_unittest_OBJECTS) -src_processor_range_map_unittest_DEPENDENCIES = \ - src/processor/logging.lo src/processor/pathname_stripper.lo -am_src_processor_stackwalker_selftest_OBJECTS = \ - src/processor/stackwalker_selftest.$(OBJEXT) -src_processor_stackwalker_selftest_OBJECTS = \ - $(am_src_processor_stackwalker_selftest_OBJECTS) -src_processor_stackwalker_selftest_DEPENDENCIES = \ - src/processor/basic_code_modules.lo \ - src/processor/basic_source_line_resolver.lo \ - src/processor/call_stack.lo src/processor/logging.lo \ - src/processor/minidump.lo src/processor/pathname_stripper.lo \ - src/processor/stackwalker.lo src/processor/stackwalker_ppc.lo \ - src/processor/stackwalker_x86.lo -SCRIPTS = $(noinst_SCRIPTS) -DEFAULT_INCLUDES = -I. -I$(top_builddir)/src@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/autotools/depcomp -am__depfiles_maybe = depfiles -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(src_libbreakpad_la_SOURCES) \ - $(src_processor_address_map_unittest_SOURCES) \ - $(src_processor_basic_source_line_resolver_unittest_SOURCES) \ - $(src_processor_contained_range_map_unittest_SOURCES) \ - $(src_processor_minidump_dump_SOURCES) \ - $(src_processor_minidump_processor_unittest_SOURCES) \ - $(src_processor_minidump_stackwalk_SOURCES) \ - $(src_processor_pathname_stripper_unittest_SOURCES) \ - $(src_processor_postfix_evaluator_unittest_SOURCES) \ - $(src_processor_range_map_unittest_SOURCES) \ - $(src_processor_stackwalker_selftest_SOURCES) -DIST_SOURCES = $(src_libbreakpad_la_SOURCES) \ - $(src_processor_address_map_unittest_SOURCES) \ - $(src_processor_basic_source_line_resolver_unittest_SOURCES) \ - $(src_processor_contained_range_map_unittest_SOURCES) \ - $(src_processor_minidump_dump_SOURCES) \ - $(src_processor_minidump_processor_unittest_SOURCES) \ - $(src_processor_minidump_stackwalk_SOURCES) \ - $(src_processor_pathname_stripper_unittest_SOURCES) \ - $(src_processor_postfix_evaluator_unittest_SOURCES) \ - $(src_processor_range_map_unittest_SOURCES) \ - $(src_processor_stackwalker_selftest_SOURCES) -dist_docDATA_INSTALL = $(INSTALL_DATA) -DATA = $(dist_doc_DATA) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBTOOL_DEPS = @LIBTOOL_DEPS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION) -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ - -# This allows #includes to be relative to src/ -AM_CPPFLAGS = -I$(top_srcdir)/src -dist_doc_DATA = \ - AUTHORS \ - COPYING \ - ChangeLog \ - INSTALL \ - NEWS \ - README - -lib_LTLIBRARIES = src/libbreakpad.la -src_libbreakpad_la_SOURCES = \ - src/google_breakpad/common/breakpad_types.h \ - src/google_breakpad/common/minidump_format.h \ - src/google_breakpad/common/minidump_size.h \ - src/google_breakpad/processor/basic_source_line_resolver.h \ - src/google_breakpad/processor/call_stack.h \ - src/google_breakpad/processor/code_module.h \ - src/google_breakpad/processor/code_modules.h \ - src/google_breakpad/processor/memory_region.h \ - src/google_breakpad/processor/minidump.h \ - src/google_breakpad/processor/minidump_processor.h \ - src/google_breakpad/processor/process_state.h \ - src/google_breakpad/processor/stack_frame.h \ - src/google_breakpad/processor/stack_frame_cpu.h \ - src/google_breakpad/processor/stackwalker.h \ - src/google_breakpad/processor/symbol_supplier.h \ - src/google_breakpad/processor/system_info.h \ - src/processor/address_map.h \ - src/processor/address_map-inl.h \ - src/processor/basic_code_module.h \ - src/processor/basic_code_modules.cc \ - src/processor/basic_code_modules.h \ - src/processor/basic_source_line_resolver.cc \ - src/processor/call_stack.cc \ - src/processor/contained_range_map.h \ - src/processor/contained_range_map-inl.h \ - src/processor/linked_ptr.h \ - src/processor/logging.h \ - src/processor/logging.cc \ - src/processor/minidump.cc \ - src/processor/minidump_processor.cc \ - src/processor/pathname_stripper.cc \ - src/processor/pathname_stripper.h \ - src/processor/postfix_evaluator.h \ - src/processor/postfix_evaluator-inl.h \ - src/processor/process_state.cc \ - src/processor/range_map.h \ - src/processor/range_map-inl.h \ - src/processor/scoped_ptr.h \ - src/processor/simple_symbol_supplier.cc \ - src/processor/simple_symbol_supplier.h \ - src/processor/stack_frame_info.h \ - src/processor/stackwalker.cc \ - src/processor/stackwalker_ppc.cc \ - src/processor/stackwalker_ppc.h \ - src/processor/stackwalker_x86.cc \ - src/processor/stackwalker_x86.h - -check_SCRIPTS = \ - src/processor/minidump_dump_test \ - src/processor/minidump_stackwalk_test \ - src/processor/minidump_stackwalk_machine_readable_test - -TESTS = $(check_PROGRAMS) $(check_SCRIPTS) -TESTS_ENVIRONMENT = -src_processor_address_map_unittest_SOURCES = \ - src/processor/address_map_unittest.cc - -src_processor_address_map_unittest_LDADD = \ - src/processor/logging.lo \ - src/processor/pathname_stripper.lo - -src_processor_basic_source_line_resolver_unittest_SOURCES = \ - src/processor/basic_source_line_resolver_unittest.cc - -src_processor_basic_source_line_resolver_unittest_LDADD = \ - src/processor/basic_source_line_resolver.lo \ - src/processor/pathname_stripper.lo \ - src/processor/logging.lo - -src_processor_contained_range_map_unittest_SOURCES = \ - src/processor/contained_range_map_unittest.cc - -src_processor_contained_range_map_unittest_LDADD = \ - src/processor/logging.lo \ - src/processor/pathname_stripper.lo - -src_processor_minidump_processor_unittest_SOURCES = \ - src/processor/minidump_processor_unittest.cc - -src_processor_minidump_processor_unittest_LDADD = \ - src/processor/basic_code_modules.lo \ - src/processor/basic_source_line_resolver.lo \ - src/processor/call_stack.lo \ - src/processor/logging.lo \ - src/processor/minidump_processor.lo \ - src/processor/minidump.lo \ - src/processor/pathname_stripper.lo \ - src/processor/process_state.lo \ - src/processor/stackwalker.lo \ - src/processor/stackwalker_ppc.lo \ - src/processor/stackwalker_x86.lo - -src_processor_pathname_stripper_unittest_SOURCES = \ - src/processor/pathname_stripper_unittest.cc - -src_processor_pathname_stripper_unittest_LDADD = \ - src/processor/pathname_stripper.lo - -src_processor_postfix_evaluator_unittest_SOURCES = \ - src/processor/postfix_evaluator_unittest.cc - -src_processor_postfix_evaluator_unittest_LDADD = \ - src/processor/logging.lo \ - src/processor/pathname_stripper.lo - -src_processor_range_map_unittest_SOURCES = \ - src/processor/range_map_unittest.cc - -src_processor_range_map_unittest_LDADD = \ - src/processor/logging.lo \ - src/processor/pathname_stripper.lo - -src_processor_stackwalker_selftest_SOURCES = \ - src/processor/stackwalker_selftest.cc - -src_processor_stackwalker_selftest_LDADD = \ - src/processor/basic_code_modules.lo \ - src/processor/basic_source_line_resolver.lo \ - src/processor/call_stack.lo \ - src/processor/logging.lo \ - src/processor/minidump.lo \ - src/processor/pathname_stripper.lo \ - src/processor/stackwalker.lo \ - src/processor/stackwalker_ppc.lo \ - src/processor/stackwalker_x86.lo - -noinst_SCRIPTS = $(check_SCRIPTS) -src_processor_minidump_dump_SOURCES = \ - src/processor/minidump_dump.cc - -src_processor_minidump_dump_LDADD = \ - src/processor/basic_code_modules.lo \ - src/processor/logging.lo \ - src/processor/minidump.lo \ - src/processor/pathname_stripper.lo - -src_processor_minidump_stackwalk_SOURCES = \ - src/processor/minidump_stackwalk.cc - -src_processor_minidump_stackwalk_LDADD = \ - src/processor/basic_code_modules.lo \ - src/processor/basic_source_line_resolver.lo \ - src/processor/call_stack.lo \ - src/processor/logging.lo \ - src/processor/minidump.lo \ - src/processor/minidump_processor.lo \ - src/processor/pathname_stripper.lo \ - src/processor/process_state.lo \ - src/processor/simple_symbol_supplier.lo \ - src/processor/stackwalker.lo \ - src/processor/stackwalker_ppc.lo \ - src/processor/stackwalker_x86.lo - -EXTRA_DIST = \ - $(SCRIPTS) \ - src/client/mac/handler/exception_handler.cc \ - src/client/mac/handler/exception_handler.h \ - src/client/mac/handler/exception_handler_test.cc \ - src/client/mac/handler/minidump_generator.cc \ - src/client/mac/handler/minidump_generator.h \ - src/client/mac/handler/minidump_generator_test.cc \ - src/client/mac/handler/minidump_test.xcodeproj/project.pbxproj \ - src/client/minidump_file_writer.cc \ - src/client/minidump_file_writer.h \ - src/client/minidump_file_writer-inl.h \ - src/client/minidump_file_writer_unittest.cc \ - src/client/windows/breakpad_client.sln \ - src/client/windows/handler/exception_handler.cc \ - src/client/windows/handler/exception_handler.h \ - src/client/windows/handler/exception_handler.vcproj \ - src/client/windows/sender/crash_report_sender.cc \ - src/client/windows/sender/crash_report_sender.h \ - src/client/windows/sender/crash_report_sender.vcproj \ - src/common/convert_UTF.c \ - src/common/convert_UTF.h \ - src/common/mac/HTTPMultipartUpload.h \ - src/common/mac/HTTPMultipartUpload.m \ - src/common/mac/dump_syms.h \ - src/common/mac/dump_syms.mm \ - src/common/mac/file_id.cc \ - src/common/mac/file_id.h \ - src/common/mac/macho_id.cc \ - src/common/mac/macho_id.h \ - src/common/mac/macho_walker.cc \ - src/common/mac/macho_walker.h \ - src/common/mac/string_utilities.cc \ - src/common/mac/string_utilities.h \ - src/common/string_conversion.cc \ - src/common/string_conversion.h \ - src/common/windows/guid_string.cc \ - src/common/windows/guid_string.h \ - src/common/windows/http_upload.cc \ - src/common/windows/http_upload.h \ - src/common/windows/pdb_source_line_writer.cc \ - src/common/windows/pdb_source_line_writer.h \ - src/common/windows/string_utils-inl.h \ - src/common/windows/string_utils.cc \ - src/processor/testdata/minidump2.dmp \ - src/processor/testdata/minidump2.dump.out \ - src/processor/testdata/minidump2.stackwalk.machine_readable.out \ - src/processor/testdata/minidump2.stackwalk.out \ - src/processor/testdata/module1.out \ - src/processor/testdata/module2.out \ - src/processor/testdata/module3_bad.out \ - src/processor/testdata/symbols/kernel32.pdb/BCE8785C57B44245A669896B6A19B9542/kernel32.sym \ - src/processor/testdata/symbols/test_app.pdb/5A9832E5287241C1838ED98914E9B7FF1/test_app.sym \ - src/processor/testdata/test_app.cc \ - src/tools/mac/crash_report/crash_report.mm \ - src/tools/mac/crash_report/crash_report.xcodeproj/project.pbxproj \ - src/tools/mac/crash_report/on_demand_symbol_supplier.h \ - src/tools/mac/crash_report/on_demand_symbol_supplier.mm \ - src/tools/mac/dump_syms/dump_syms.xcodeproj/project.pbxproj \ - src/tools/mac/dump_syms/dump_syms_tool.m \ - src/tools/mac/symupload/minidump_upload.m \ - src/tools/mac/symupload/symupload.m \ - src/tools/mac/symupload/symupload.xcodeproj/project.pbxproj \ - src/tools/windows/converter/ms_symbol_server_converter.cc \ - src/tools/windows/converter/ms_symbol_server_converter.h \ - src/tools/windows/converter/ms_symbol_server_converter.vcproj \ - src/tools/windows/dump_syms/dump_syms.cc \ - src/tools/windows/dump_syms/dump_syms.vcproj \ - src/tools/windows/dump_syms/run_regtest.sh \ - src/tools/windows/dump_syms/testdata/dump_syms_regtest.cc \ - src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb \ - src/tools/windows/dump_syms/testdata/dump_syms_regtest.sym \ - src/tools/windows/symupload/symupload.cc \ - src/tools/windows/symupload/symupload.vcproj - -all: all-am - -.SUFFIXES: -.SUFFIXES: .cc .lo .o .obj -am--refresh: - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ - cd $(srcdir) && $(AUTOMAKE) --gnu \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) - -src/config.h: src/stamp-h1 - @if test ! -f $@; then \ - rm -f src/stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) src/stamp-h1; \ - else :; fi - -src/stamp-h1: $(top_srcdir)/src/config.h.in $(top_builddir)/config.status - @rm -f src/stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status src/config.h -$(top_srcdir)/src/config.h.in: $(am__configure_deps) - cd $(top_srcdir) && $(AUTOHEADER) - rm -f src/stamp-h1 - touch $@ - -distclean-hdr: - -rm -f src/config.h src/stamp-h1 -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ - else :; fi; \ - done - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -src/processor/$(am__dirstamp): - @$(MKDIR_P) src/processor - @: > src/processor/$(am__dirstamp) -src/processor/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/processor/$(DEPDIR) - @: > src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/basic_code_modules.lo: src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/basic_source_line_resolver.lo: \ - src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/call_stack.lo: src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/logging.lo: src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/minidump.lo: src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/minidump_processor.lo: src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/pathname_stripper.lo: src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/process_state.lo: src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/simple_symbol_supplier.lo: \ - src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/stackwalker.lo: src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/stackwalker_ppc.lo: src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/stackwalker_x86.lo: src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/$(am__dirstamp): - @$(MKDIR_P) src - @: > src/$(am__dirstamp) -src/libbreakpad.la: $(src_libbreakpad_la_OBJECTS) $(src_libbreakpad_la_DEPENDENCIES) src/$(am__dirstamp) - $(CXXLINK) -rpath $(libdir) $(src_libbreakpad_la_OBJECTS) $(src_libbreakpad_la_LIBADD) $(LIBS) -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -src/processor/address_map_unittest.$(OBJEXT): \ - src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/address_map_unittest$(EXEEXT): $(src_processor_address_map_unittest_OBJECTS) $(src_processor_address_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) - @rm -f src/processor/address_map_unittest$(EXEEXT) - $(CXXLINK) $(src_processor_address_map_unittest_OBJECTS) $(src_processor_address_map_unittest_LDADD) $(LIBS) -src/processor/basic_source_line_resolver_unittest.$(OBJEXT): \ - src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/basic_source_line_resolver_unittest$(EXEEXT): $(src_processor_basic_source_line_resolver_unittest_OBJECTS) $(src_processor_basic_source_line_resolver_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) - @rm -f src/processor/basic_source_line_resolver_unittest$(EXEEXT) - $(CXXLINK) $(src_processor_basic_source_line_resolver_unittest_OBJECTS) $(src_processor_basic_source_line_resolver_unittest_LDADD) $(LIBS) -src/processor/contained_range_map_unittest.$(OBJEXT): \ - src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/contained_range_map_unittest$(EXEEXT): $(src_processor_contained_range_map_unittest_OBJECTS) $(src_processor_contained_range_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) - @rm -f src/processor/contained_range_map_unittest$(EXEEXT) - $(CXXLINK) $(src_processor_contained_range_map_unittest_OBJECTS) $(src_processor_contained_range_map_unittest_LDADD) $(LIBS) -src/processor/minidump_dump.$(OBJEXT): src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/minidump_dump$(EXEEXT): $(src_processor_minidump_dump_OBJECTS) $(src_processor_minidump_dump_DEPENDENCIES) src/processor/$(am__dirstamp) - @rm -f src/processor/minidump_dump$(EXEEXT) - $(CXXLINK) $(src_processor_minidump_dump_OBJECTS) $(src_processor_minidump_dump_LDADD) $(LIBS) -src/processor/minidump_processor_unittest.$(OBJEXT): \ - src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/minidump_processor_unittest$(EXEEXT): $(src_processor_minidump_processor_unittest_OBJECTS) $(src_processor_minidump_processor_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) - @rm -f src/processor/minidump_processor_unittest$(EXEEXT) - $(CXXLINK) $(src_processor_minidump_processor_unittest_OBJECTS) $(src_processor_minidump_processor_unittest_LDADD) $(LIBS) -src/processor/minidump_stackwalk.$(OBJEXT): \ - src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/minidump_stackwalk$(EXEEXT): $(src_processor_minidump_stackwalk_OBJECTS) $(src_processor_minidump_stackwalk_DEPENDENCIES) src/processor/$(am__dirstamp) - @rm -f src/processor/minidump_stackwalk$(EXEEXT) - $(CXXLINK) $(src_processor_minidump_stackwalk_OBJECTS) $(src_processor_minidump_stackwalk_LDADD) $(LIBS) -src/processor/pathname_stripper_unittest.$(OBJEXT): \ - src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/pathname_stripper_unittest$(EXEEXT): $(src_processor_pathname_stripper_unittest_OBJECTS) $(src_processor_pathname_stripper_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) - @rm -f src/processor/pathname_stripper_unittest$(EXEEXT) - $(CXXLINK) $(src_processor_pathname_stripper_unittest_OBJECTS) $(src_processor_pathname_stripper_unittest_LDADD) $(LIBS) -src/processor/postfix_evaluator_unittest.$(OBJEXT): \ - src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/postfix_evaluator_unittest$(EXEEXT): $(src_processor_postfix_evaluator_unittest_OBJECTS) $(src_processor_postfix_evaluator_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) - @rm -f src/processor/postfix_evaluator_unittest$(EXEEXT) - $(CXXLINK) $(src_processor_postfix_evaluator_unittest_OBJECTS) $(src_processor_postfix_evaluator_unittest_LDADD) $(LIBS) -src/processor/range_map_unittest.$(OBJEXT): \ - src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/range_map_unittest$(EXEEXT): $(src_processor_range_map_unittest_OBJECTS) $(src_processor_range_map_unittest_DEPENDENCIES) src/processor/$(am__dirstamp) - @rm -f src/processor/range_map_unittest$(EXEEXT) - $(CXXLINK) $(src_processor_range_map_unittest_OBJECTS) $(src_processor_range_map_unittest_LDADD) $(LIBS) -src/processor/stackwalker_selftest.$(OBJEXT): \ - src/processor/$(am__dirstamp) \ - src/processor/$(DEPDIR)/$(am__dirstamp) -src/processor/stackwalker_selftest$(EXEEXT): $(src_processor_stackwalker_selftest_OBJECTS) $(src_processor_stackwalker_selftest_DEPENDENCIES) src/processor/$(am__dirstamp) - @rm -f src/processor/stackwalker_selftest$(EXEEXT) - $(CXXLINK) $(src_processor_stackwalker_selftest_OBJECTS) $(src_processor_stackwalker_selftest_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -rm -f src/processor/address_map_unittest.$(OBJEXT) - -rm -f src/processor/basic_code_modules.$(OBJEXT) - -rm -f src/processor/basic_code_modules.lo - -rm -f src/processor/basic_source_line_resolver.$(OBJEXT) - -rm -f src/processor/basic_source_line_resolver.lo - -rm -f src/processor/basic_source_line_resolver_unittest.$(OBJEXT) - -rm -f src/processor/call_stack.$(OBJEXT) - -rm -f src/processor/call_stack.lo - -rm -f src/processor/contained_range_map_unittest.$(OBJEXT) - -rm -f src/processor/logging.$(OBJEXT) - -rm -f src/processor/logging.lo - -rm -f src/processor/minidump.$(OBJEXT) - -rm -f src/processor/minidump.lo - -rm -f src/processor/minidump_dump.$(OBJEXT) - -rm -f src/processor/minidump_processor.$(OBJEXT) - -rm -f src/processor/minidump_processor.lo - -rm -f src/processor/minidump_processor_unittest.$(OBJEXT) - -rm -f src/processor/minidump_stackwalk.$(OBJEXT) - -rm -f src/processor/pathname_stripper.$(OBJEXT) - -rm -f src/processor/pathname_stripper.lo - -rm -f src/processor/pathname_stripper_unittest.$(OBJEXT) - -rm -f src/processor/postfix_evaluator_unittest.$(OBJEXT) - -rm -f src/processor/process_state.$(OBJEXT) - -rm -f src/processor/process_state.lo - -rm -f src/processor/range_map_unittest.$(OBJEXT) - -rm -f src/processor/simple_symbol_supplier.$(OBJEXT) - -rm -f src/processor/simple_symbol_supplier.lo - -rm -f src/processor/stackwalker.$(OBJEXT) - -rm -f src/processor/stackwalker.lo - -rm -f src/processor/stackwalker_ppc.$(OBJEXT) - -rm -f src/processor/stackwalker_ppc.lo - -rm -f src/processor/stackwalker_selftest.$(OBJEXT) - -rm -f src/processor/stackwalker_x86.$(OBJEXT) - -rm -f src/processor/stackwalker_x86.lo - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/address_map_unittest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/basic_code_modules.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/basic_source_line_resolver.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/basic_source_line_resolver_unittest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/call_stack.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/contained_range_map_unittest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/logging.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump_dump.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump_processor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump_processor_unittest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump_stackwalk.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/pathname_stripper.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/pathname_stripper_unittest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/postfix_evaluator_unittest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/process_state.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/range_map_unittest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/simple_symbol_supplier.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/stackwalker.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/stackwalker_ppc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/stackwalker_selftest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/stackwalker_x86.Plo@am__quote@ - -.cc.o: -@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCXX_TRUE@ mv -f $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< - -.cc.obj: -@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCXX_TRUE@ mv -f $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.cc.lo: -@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCXX_TRUE@ mv -f $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -rm -rf src/.libs src/_libs - -rm -rf src/processor/.libs src/processor/_libs - -distclean-libtool: - -rm -f libtool -install-dist_docDATA: $(dist_doc_DATA) - @$(NORMAL_INSTALL) - test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)" - @list='$(dist_doc_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(dist_docDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(docdir)/$$f'"; \ - $(dist_docDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(docdir)/$$f"; \ - done - -uninstall-dist_docDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_doc_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(docdir)/$$f'"; \ - rm -f "$(DESTDIR)$(docdir)/$$f"; \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ - srcdir=$(srcdir); export srcdir; \ - list=' $(TESTS) '; \ - if test -n "$$list"; then \ - for tst in $$list; do \ - if test -f ./$$tst; then dir=./; \ - elif test -f $$tst; then dir=; \ - else dir="$(srcdir)/"; fi; \ - if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *$$ws$$tst$$ws*) \ - xpass=`expr $$xpass + 1`; \ - failed=`expr $$failed + 1`; \ - echo "XPASS: $$tst"; \ - ;; \ - *) \ - echo "PASS: $$tst"; \ - ;; \ - esac; \ - elif test $$? -ne 77; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *$$ws$$tst$$ws*) \ - xfail=`expr $$xfail + 1`; \ - echo "XFAIL: $$tst"; \ - ;; \ - *) \ - failed=`expr $$failed + 1`; \ - echo "FAIL: $$tst"; \ - ;; \ - esac; \ - else \ - skip=`expr $$skip + 1`; \ - echo "SKIP: $$tst"; \ - fi; \ - done; \ - if test "$$failed" -eq 0; then \ - if test "$$xfail" -eq 0; then \ - banner="All $$all tests passed"; \ - else \ - banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ - fi; \ - else \ - if test "$$xpass" -eq 0; then \ - banner="$$failed of $$all tests failed"; \ - else \ - banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ - fi; \ - fi; \ - dashes="$$banner"; \ - skipped=""; \ - if test "$$skip" -ne 0; then \ - skipped="($$skip tests were not run)"; \ - test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$skipped"; \ - fi; \ - report=""; \ - if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ - report="Please report to $(PACKAGE_BUGREPORT)"; \ - test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$report"; \ - fi; \ - dashes=`echo "$$dashes" | sed s/./=/g`; \ - echo "$$dashes"; \ - echo "$$banner"; \ - test -z "$$skipped" || echo "$$skipped"; \ - test -z "$$report" || echo "$$report"; \ - echo "$$dashes"; \ - test "$$failed" -eq 0; \ - else :; fi - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d $(distdir) || mkdir $(distdir) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && cd $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @cd $(distuninstallcheck_dir) \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) -install-binPROGRAMS: install-libLTLIBRARIES - -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(docdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -rm -f src/$(am__dirstamp) - -rm -f src/processor/$(DEPDIR)/$(am__dirstamp) - -rm -f src/processor/$(am__dirstamp) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ - clean-libLTLIBRARIES clean-libtool clean-noinstPROGRAMS \ - mostlyclean-am - -distclean: distclean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf src/processor/$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-dist_docDATA - -install-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS install-libLTLIBRARIES - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: install-ps-am - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf src/processor/$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-dist_docDATA \ - uninstall-libLTLIBRARIES - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \ - clean clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ - clean-libLTLIBRARIES clean-libtool clean-noinstPROGRAMS ctags \ - dist dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ \ - dist-zip distcheck distclean distclean-compile \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-binPROGRAMS install-data install-data-am \ - install-dist_docDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-libLTLIBRARIES install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-dist_docDATA uninstall-libLTLIBRARIES - - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/toolkit/airbag/airbag/NEWS b/toolkit/airbag/airbag/NEWS deleted file mode 100755 index e69de29bb2d1..000000000000 diff --git a/toolkit/airbag/airbag/README b/toolkit/airbag/airbag/README deleted file mode 100755 index 93b8df08bb69..000000000000 --- a/toolkit/airbag/airbag/README +++ /dev/null @@ -1,2 +0,0 @@ -Breakpad is a set of client and server components which implement a -crash-reporting system. diff --git a/toolkit/airbag/airbag/aclocal.m4 b/toolkit/airbag/airbag/aclocal.m4 deleted file mode 100755 index 8db1f44bdd37..000000000000 --- a/toolkit/airbag/airbag/aclocal.m4 +++ /dev/null @@ -1,7268 +0,0 @@ -# generated automatically by aclocal 1.10 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006 Free Software Foundation, Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_if(m4_PACKAGE_VERSION, [2.61],, -[m4_fatal([this file was generated for autoconf 2.61. -You have another version of autoconf. If you want to use that, -you should regenerate the build system entirely.], [63])]) - -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- - -# serial 48 AC_PROG_LIBTOOL - - -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If this macro is not defined by Autoconf, define it here. -m4_ifdef([AC_PROVIDE_IFELSE], - [], - [m4_define([AC_PROVIDE_IFELSE], - [m4_ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) - - -# AC_PROG_LIBTOOL -# --------------- -AC_DEFUN([AC_PROG_LIBTOOL], -[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl -dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX -dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. - AC_PROVIDE_IFELSE([AC_PROG_CXX], - [AC_LIBTOOL_CXX], - [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX - ])]) -dnl And a similar setup for Fortran 77 support - AC_PROVIDE_IFELSE([AC_PROG_F77], - [AC_LIBTOOL_F77], - [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 -])]) - -dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. -dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run -dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. - AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [ifdef([AC_PROG_GCJ], - [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([A][M_PROG_GCJ], - [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([LT_AC_PROG_GCJ], - [define([LT_AC_PROG_GCJ], - defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) -])])# AC_PROG_LIBTOOL - - -# _AC_PROG_LIBTOOL -# ---------------- -AC_DEFUN([_AC_PROG_LIBTOOL], -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl -AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl -AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl -AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -# Prevent multiple expansion -define([AC_PROG_LIBTOOL], []) -])# _AC_PROG_LIBTOOL - - -# AC_LIBTOOL_SETUP -# ---------------- -AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.50)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl -AC_REQUIRE([AC_PROG_NM])dnl - -AC_REQUIRE([AC_PROG_LN_S])dnl -AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! -AC_REQUIRE([AC_OBJEXT])dnl -AC_REQUIRE([AC_EXEEXT])dnl -dnl - -AC_LIBTOOL_SYS_MAX_CMD_LEN -AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -AC_LIBTOOL_OBJDIR - -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -_LT_AC_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] - -# Same as above, but do not quote variable references. -[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -AC_CHECK_TOOL(AR, ar, false) -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - AC_PATH_MAGIC - fi - ;; -esac - -AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -enable_win32_dll=yes, enable_win32_dll=no) - -AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -AC_ARG_WITH([pic], - [AC_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) -test -z "$pic_mode" && pic_mode=default - -# Use C for the default configuration in the libtool script -tagname= -AC_LIBTOOL_LANG_C_CONFIG -_LT_AC_TAGCONFIG -])# AC_LIBTOOL_SETUP - - -# _LT_AC_SYS_COMPILER -# ------------------- -AC_DEFUN([_LT_AC_SYS_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_AC_SYS_COMPILER - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -AC_DEFUN([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -AC_DEFUN([_LT_COMPILER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -AC_DEFUN([_LT_LINKER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_LINKER_BOILERPLATE - - -# _LT_AC_SYS_LIBPATH_AIX -# ---------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], -[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_AC_SYS_LIBPATH_AIX - - -# _LT_AC_SHELL_INIT(ARG) -# ---------------------- -AC_DEFUN([_LT_AC_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_AC_SHELL_INIT - - -# _LT_AC_PROG_ECHO_BACKSLASH -# -------------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[_LT_AC_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -echo=${ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(ECHO) -])])# _LT_AC_PROG_ECHO_BACKSLASH - - -# _LT_AC_LOCK -# ----------- -AC_DEFUN([_LT_AC_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; - ]) -esac - -need_locks="$enable_libtool_lock" - -])# _LT_AC_LOCK - - -# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED]) -AC_CACHE_CHECK([$1], [$2], - [$2=no - ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $rm conftest* -]) - -if test x"[$]$2" = xyes; then - ifelse([$5], , :, [$5]) -else - ifelse([$6], , :, [$6]) -fi -])# AC_LIBTOOL_COMPILER_OPTION - - -# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ------------------------------------------------------------ -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], -[AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - ifelse([$4], , :, [$4]) -else - ifelse([$5], , :, [$5]) -fi -])# AC_LIBTOOL_LINKER_OPTION - - -# AC_LIBTOOL_SYS_MAX_CMD_LEN -# -------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], -[# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -])# AC_LIBTOOL_SYS_MAX_CMD_LEN - - -# _LT_AC_CHECK_DLFCN -# ------------------ -AC_DEFUN([_LT_AC_CHECK_DLFCN], -[AC_CHECK_HEADERS(dlfcn.h)dnl -])# _LT_AC_CHECK_DLFCN - - -# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# --------------------------------------------------------------------- -AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -}] -EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_AC_TRY_DLOPEN_SELF - - -# AC_LIBTOOL_DLOPEN_SELF -# ---------------------- -AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -])# AC_LIBTOOL_DLOPEN_SELF - - -# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) -# --------------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler -AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* -]) -])# AC_LIBTOOL_PROG_CC_C_O - - -# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) -# ----------------------------------------- -# Check to see if we can do hard links to lock some files if needed -AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], -[AC_REQUIRE([_LT_AC_LOCK])dnl - -hard_links="nottested" -if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS - - -# AC_LIBTOOL_OBJDIR -# ----------------- -AC_DEFUN([AC_LIBTOOL_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -])# AC_LIBTOOL_OBJDIR - - -# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) -# ---------------------------------------------- -# Check hardcoding attributes. -AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_AC_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ - test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_AC_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_AC_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_AC_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH - - -# AC_LIBTOOL_SYS_LIB_STRIP -# ------------------------ -AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], -[striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) -fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -])# AC_LIBTOOL_SYS_LIB_STRIP - - -# AC_LIBTOOL_SYS_DYNAMIC_LINKER -# ----------------------------- -# PORTME Fill in your ld.so characteristics -AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], -[AC_MSG_CHECKING([dynamic linker characteristics]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - freebsd*) # from 4.6 on - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix3*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi -])# AC_LIBTOOL_SYS_DYNAMIC_LINKER - - -# _LT_AC_TAGCONFIG -# ---------------- -AC_DEFUN([_LT_AC_TAGCONFIG], -[AC_ARG_WITH([tags], - [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], - [include additional configurations @<:@automatic@:>@])], - [tagnames="$withval"]) - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - AC_MSG_WARN([output file `$ofile' does not exist]) - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) - else - AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in - "") ;; - *) AC_MSG_ERROR([invalid tag name: $tagname]) - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - AC_MSG_ERROR([tag name \"$tagname\" already exists]) - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_LIBTOOL_LANG_CXX_CONFIG - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - AC_LIBTOOL_LANG_F77_CONFIG - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - AC_LIBTOOL_LANG_GCJ_CONFIG - else - tagname="" - fi - ;; - - RC) - AC_LIBTOOL_LANG_RC_CONFIG - ;; - - *) - AC_MSG_ERROR([Unsupported tag name: $tagname]) - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - AC_MSG_ERROR([unable to update list of available tagged configurations.]) - fi -fi -])# _LT_AC_TAGCONFIG - - -# AC_LIBTOOL_DLOPEN -# ----------------- -# enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], - [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_DLOPEN - - -# AC_LIBTOOL_WIN32_DLL -# -------------------- -# declare package support for building win32 DLLs -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_WIN32_DLL - - -# AC_ENABLE_SHARED([DEFAULT]) -# --------------------------- -# implement the --enable-shared flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([shared], - [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]AC_ENABLE_SHARED_DEFAULT) -])# AC_ENABLE_SHARED - - -# AC_DISABLE_SHARED -# ----------------- -# set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no) -])# AC_DISABLE_SHARED - - -# AC_ENABLE_STATIC([DEFAULT]) -# --------------------------- -# implement the --enable-static flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([static], - [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]AC_ENABLE_STATIC_DEFAULT) -])# AC_ENABLE_STATIC - - -# AC_DISABLE_STATIC -# ----------------- -# set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no) -])# AC_DISABLE_STATIC - - -# AC_ENABLE_FAST_INSTALL([DEFAULT]) -# --------------------------------- -# implement the --enable-fast-install flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([fast-install], - [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) -])# AC_ENABLE_FAST_INSTALL - - -# AC_DISABLE_FAST_INSTALL -# ----------------------- -# set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no) -])# AC_DISABLE_FAST_INSTALL - - -# AC_LIBTOOL_PICMODE([MODE]) -# -------------------------- -# implement the --with-pic flag -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=ifelse($#,1,$1,default) -])# AC_LIBTOOL_PICMODE - - -# AC_PROG_EGREP -# ------------- -# This is predefined starting with Autoconf 2.54, so this conditional -# definition can be removed once we require Autoconf 2.54 or later. -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], -[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], - [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi]) - EGREP=$ac_cv_prog_egrep - AC_SUBST([EGREP]) -])]) - - -# AC_PATH_TOOL_PREFIX -# ------------------- -# find a file program which can recognise shared library -AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="ifelse([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -])# AC_PATH_TOOL_PREFIX - - -# AC_PATH_MAGIC -# ------------- -# find a file program which can recognise a shared library -AC_DEFUN([AC_PATH_MAGIC], -[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# AC_PATH_MAGIC - - -# AC_PROG_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([AC_PROG_LD], -[AC_ARG_WITH([gnu-ld], - [AC_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no]) -AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix3*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown -])# AC_DEPLIBS_CHECK_METHOD - - -# AC_PROG_NM -# ---------- -# find the pathname to a BSD-compatible name lister -AC_DEFUN([AC_PROG_NM], -[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi]) -NM="$lt_cv_path_NM" -])# AC_PROG_NM - - -# AC_CHECK_LIBM -# ------------- -# check for math library -AC_DEFUN([AC_CHECK_LIBM], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -])# AC_CHECK_LIBM - - -# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# it is assumed to be `libltdl'. LIBLTDL will be prefixed with -# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' -# (note the single quotes!). If your package is not flat and you're not -# using automake, define top_builddir and top_srcdir appropriately in -# the Makefiles. -AC_DEFUN([AC_LIBLTDL_CONVENIENCE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_CONVENIENCE - - -# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl installable library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# and an installed libltdl is not found, it is assumed to be `libltdl'. -# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with -# '${top_srcdir}/' (note the single quotes!). If your package is not -# flat and you're not using automake, define top_builddir and top_srcdir -# appropriately in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN([AC_LIBLTDL_INSTALLABLE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, lt_dlinit, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - LTDLINCL= - fi - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_INSTALLABLE - - -# AC_LIBTOOL_CXX -# -------------- -# enable support for C++ libraries -AC_DEFUN([AC_LIBTOOL_CXX], -[AC_REQUIRE([_LT_AC_LANG_CXX]) -])# AC_LIBTOOL_CXX - - -# _LT_AC_LANG_CXX -# --------------- -AC_DEFUN([_LT_AC_LANG_CXX], -[AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) -])# _LT_AC_LANG_CXX - -# _LT_AC_PROG_CXXCPP -# ------------------ -AC_DEFUN([_LT_AC_PROG_CXXCPP], -[ -AC_REQUIRE([AC_PROG_CXX]) -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -fi -])# _LT_AC_PROG_CXXCPP - -# AC_LIBTOOL_F77 -# -------------- -# enable support for Fortran 77 libraries -AC_DEFUN([AC_LIBTOOL_F77], -[AC_REQUIRE([_LT_AC_LANG_F77]) -])# AC_LIBTOOL_F77 - - -# _LT_AC_LANG_F77 -# --------------- -AC_DEFUN([_LT_AC_LANG_F77], -[AC_REQUIRE([AC_PROG_F77]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) -])# _LT_AC_LANG_F77 - - -# AC_LIBTOOL_GCJ -# -------------- -# enable support for GCJ libraries -AC_DEFUN([AC_LIBTOOL_GCJ], -[AC_REQUIRE([_LT_AC_LANG_GCJ]) -])# AC_LIBTOOL_GCJ - - -# _LT_AC_LANG_GCJ -# --------------- -AC_DEFUN([_LT_AC_LANG_GCJ], -[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], - [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], - [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], - [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) -])# _LT_AC_LANG_GCJ - - -# AC_LIBTOOL_RC -# ------------- -# enable support for Windows resource files -AC_DEFUN([AC_LIBTOOL_RC], -[AC_REQUIRE([LT_AC_PROG_RC]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) -])# AC_LIBTOOL_RC - - -# AC_LIBTOOL_LANG_C_CONFIG -# ------------------------ -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) -AC_DEFUN([_LT_AC_LANG_C_CONFIG], -[lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}\n' - -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF - -# Report which library types will actually be built -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_C_CONFIG - - -# AC_LIBTOOL_LANG_CXX_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) -AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], -[AC_LANG_PUSH(C++) -AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Dependencies to place before and after the object being linked: -_LT_AC_TAGVAR(predep_objects, $1)= -_LT_AC_TAGVAR(postdep_objects, $1)= -_LT_AC_TAGVAR(predeps, $1)= -_LT_AC_TAGVAR(postdeps, $1)= -_LT_AC_TAGVAR(compiler_lib_search_path, $1)= - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - $as_unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - $as_unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -else - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - AC_PROG_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -_LT_AC_TAGVAR(ld_shlibs, $1)=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - freebsd-elf*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - ;; - gnu*) - ;; - hpux9*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - ;; - *) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - interix3*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - linux*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC*) - # Portland Group C++ compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - m88k*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - ;; - osf3*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ - $rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The C++ compiler is used as linker so we must use $wl - # flag to pass the commands to the underlying system - # linker. We must also pass each convience library through - # to the system linker between allextract/defaultextract. - # The C++ compiler will combine linker options so we - # cannot just pass the convience library names through - # without $wl. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; -esac -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_AC_TAGVAR(GCC, $1)="$GXX" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_POSTDEP_PREDEP($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -])# AC_LIBTOOL_LANG_CXX_CONFIG - -# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) -# ------------------------------------ -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" -ifelse([$1], [], -[#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG], -[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) - -# Is the compiler the GNU C compiler? -with_gcc=$_LT_AC_TAGVAR(GCC, $1) - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_[]_LT_AC_TAGVAR(LD, $1) - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) - -# Commands used to build and install a shared archive. -archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) -archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) -module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" - -# Set to yes if exported symbols are required. -always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) - -# The commands to list exported symbols. -export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) - -# Symbols that must always be exported. -include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) - -ifelse([$1],[], -[# ### END LIBTOOL CONFIG], -[# ### END LIBTOOL TAG CONFIG: $tagname]) - -__EOF__ - -ifelse([$1],[], [ - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -]) -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi -])# AC_LIBTOOL_CONFIG - - -# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl - -_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI - - -# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -# --------------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([AC_PROG_NM]) -AC_REQUIRE([AC_OBJEXT]) -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDGIRSTW]]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[[]] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi -]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE - - -# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) -# --------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], -[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) - ifelse([$1],[CXX],[ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - newsos6) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - linux*) - case $cc_basename in - icc* | ecc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - esac - ;; - - osf3* | osf4* | osf5*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then - AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), - [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" -AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) -]) - - -# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) -# ------------------------------------ -# See if the linker supports building shared libraries. -AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], -[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -ifelse([$1],[CXX],[ - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' - ;; - *) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -],[ - runpath_var= - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)= - _LT_AC_TAGVAR(archive_expsym_cmds, $1)= - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown - _LT_AC_TAGVAR(hardcode_automatic, $1)=no - _LT_AC_TAGVAR(module_cmds, $1)= - _LT_AC_TAGVAR(module_expsym_cmds, $1)= - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_AC_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - _LT_CC_BASENAME([$compiler]) - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - interix3*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - # see comment about different semantics on the GNU ld section - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - bsdi[[45]]*) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' - _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; - *) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_AC_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac -])# AC_LIBTOOL_PROG_LD_SHLIBS - - -# _LT_AC_FILE_LTDLL_C -# ------------------- -# Be careful that the start marker always follows a newline. -AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include -# #undef WIN32_LEAN_AND_MEAN -# #include -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ -])# _LT_AC_FILE_LTDLL_C - - -# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) -# --------------------------------- -AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) - - -# old names -AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) -AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) -AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) - -# This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL]) - -AC_DEFUN([LT_AC_PROG_GCJ], -[AC_CHECK_TOOL(GCJ, gcj, no) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS) -]) - -AC_DEFUN([LT_AC_PROG_RC], -[AC_CHECK_TOOL(RC, windres, no) -]) - -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -# LT_AC_PROG_SED -# -------------- -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -AC_DEFUN([LT_AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_MSG_RESULT([$SED]) -]) - -# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.10' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.10], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.10])dnl -_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 8 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 9 - -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], UPC, [depcc="$UPC" am_compiler_list=], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -#serial 3 - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 8 - -# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. -AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 12 - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.60])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_PROG_INSTALL_SH -AM_PROG_INSTALL_STRIP -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -]) -]) - - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $1 | $1:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} -AC_SUBST(install_sh)]) - -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) -fi -]) - -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_MKDIR_P -# --------------- -# Check for `mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# ------------------------------ -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) - -# _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT(yes)]) - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor `install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) -m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - diff --git a/toolkit/airbag/airbag/autotools/config.guess b/toolkit/airbag/airbag/autotools/config.guess deleted file mode 100755 index 396482d6cb50..000000000000 --- a/toolkit/airbag/airbag/autotools/config.guess +++ /dev/null @@ -1,1500 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. - -timestamp='2006-07-02' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - i*:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - x86:Interix*:[3456]*) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T:Interix*:[3456]*) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/toolkit/airbag/airbag/autotools/config.sub b/toolkit/airbag/airbag/autotools/config.sub deleted file mode 100755 index fab0aa355663..000000000000 --- a/toolkit/airbag/airbag/autotools/config.sub +++ /dev/null @@ -1,1616 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. - -timestamp='2006-09-20' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64vr | mips64vrel \ - | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | mt \ - | msp430 \ - | nios | nios2 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | score \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ - | ymp-* \ - | z8k-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16c) - basic_machine=cr16c-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/toolkit/airbag/airbag/autotools/depcomp b/toolkit/airbag/airbag/autotools/depcomp deleted file mode 100755 index ca5ea4e1ef9c..000000000000 --- a/toolkit/airbag/airbag/autotools/depcomp +++ /dev/null @@ -1,584 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2006-10-15.18 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software -# Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory -## that the space means something, we add a space to the output as -## well. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> $depfile - echo >> $depfile - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" - if test "$libtool" = yes; then - "$@" -Wc,-M - else - "$@" -M - fi - stat=$? - - if test -f "$tmpdepfile"; then : - else - stripped=`echo "$stripped" | sed 's,^.*/,,'` - tmpdepfile="$stripped.u" - fi - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - - if test -f "$tmpdepfile"; then - outname="$stripped.o" - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. - sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. - "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no - for arg in "$@"; do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - "$@" || exit $? - IFS=" " - for arg - do - case "$arg" in - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/toolkit/airbag/airbag/autotools/install-sh b/toolkit/airbag/airbag/autotools/install-sh deleted file mode 100755 index 4fbbae7b7ff9..000000000000 --- a/toolkit/airbag/airbag/autotools/install-sh +++ /dev/null @@ -1,507 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2006-10-14.15 - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -nl=' -' -IFS=" "" $nl" - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -posix_glob= -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chmodcmd=$chmodprog -chowncmd= -chgrpcmd= -stripcmd= -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src= -dst= -dir_arg= -dstarg= -no_target_directory= - -usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: --c (ignored) --d create directories instead of installing files. --g GROUP $chgrpprog installed files to GROUP. --m MODE $chmodprog installed files to MODE. --o USER $chownprog installed files to USER. --s $stripprog installed files. --t DIRECTORY install into DIRECTORY. --T report an error if DSTFILE is a directory. ---help display this help and exit. ---version display version info and exit. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - shift - shift - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -s) stripcmd=$stripprog - shift - continue;; - - -t) dstarg=$2 - shift - shift - continue;; - - -T) no_target_directory=true - shift - continue;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac -done - -if test $# -ne 0 && test -z "$dir_arg$dstarg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dstarg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dstarg" - shift # fnord - fi - shift # arg - dstarg=$arg - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src ;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dstarg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dstarg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst ;; - esac - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dstarg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix=/ ;; - -*) prefix=./ ;; - *) prefix= ;; - esac - - case $posix_glob in - '') - if (set -f) 2>/dev/null; then - posix_glob=true - else - posix_glob=false - fi ;; - esac - - oIFS=$IFS - IFS=/ - $posix_glob && set -f - set fnord $dstdir - shift - $posix_glob && set +f - IFS=$oIFS - - prefixes= - - for d - do - test -z "$d" && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # Now rename the file to the real destination. - { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \ - || { - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - if test -f "$dst"; then - $doit $rmcmd -f "$dst" 2>/dev/null \ - || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ - && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ - || { - echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - else - : - fi - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - } || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/toolkit/airbag/airbag/autotools/ltmain.sh b/toolkit/airbag/airbag/autotools/ltmain.sh deleted file mode 100755 index 06823e057a57..000000000000 --- a/toolkit/airbag/airbag/autotools/ltmain.sh +++ /dev/null @@ -1,6863 +0,0 @@ -# ltmain.sh - Provide generalized library-building support services. -# NOTE: Changing this file will not affect anything until you rerun configure. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -basename="s,^.*/,,g" - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - -# The name of this program: -progname=`echo "$progpath" | $SED $basename` -modename="$progname" - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 - -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION=1.5.22 -TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes. -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -# Check that we have a working $echo. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$progpath" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE -fi - -# Global variables. -mode=$default_mode -nonopt= -prev= -prevopt= -run= -show="$echo" -show_help= -execute_dlfiles= -duplicate_deps=no -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" - -##################################### -# Shell function definitions: -# This seems to be the best place for them - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $mkdir "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || { - $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 - exit $EXIT_FAILURE - } - fi - - $echo "X$my_tmpdir" | $Xsed -} - - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -func_win32_libid () -{ - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ - $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | \ - $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $echo $win32_libid_type -} - - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case "$@ " in - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" - $echo "$modename: specify a tag with \`--tag'" 1>&2 - exit $EXIT_FAILURE -# else -# $echo "$modename: using $tagname tagged configuration" - fi - ;; - esac - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - - $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" - $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 - exit $EXIT_FAILURE - fi -} - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - my_status="" - - $show "${rm}r $my_gentop" - $run ${rm}r "$my_gentop" - $show "$mkdir $my_gentop" - $run $mkdir "$my_gentop" - my_status=$? - if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then - exit $my_status - fi - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` - my_xdir="$my_gentop/$my_xlib" - - $show "${rm}r $my_xdir" - $run ${rm}r "$my_xdir" - $show "$mkdir $my_xdir" - $run $mkdir "$my_xdir" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then - exit $exit_status - fi - case $host in - *-darwin*) - $show "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - if test -z "$run"; then - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` - darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` - if test -n "$darwin_arches"; then - darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - $show "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we have a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - lipo -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - ${rm}r unfat-$$ - cd "$darwin_orig_dir" - else - cd "$darwin_orig_dir" - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - fi # $run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - func_extract_archives_result="$my_oldobjs" -} -# End of Shell function definitions -##################################### - -# Darwin sucks -eval std_shrext=\"$shrext_cmds\" - -disable_libs=no - -# Parse our command line options once, thoroughly. -while test "$#" -gt 0 -do - arg="$1" - shift - - case $arg in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - execute_dlfiles) - execute_dlfiles="$execute_dlfiles $arg" - ;; - tag) - tagname="$arg" - preserve_args="${preserve_args}=$arg" - - # Check whether tagname contains only valid characters - case $tagname in - *[!-_A-Za-z0-9,/]*) - $echo "$progname: invalid tag name: $tagname" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $tagname in - CC) - # Don't test for the "default" C tag, as we know, it's there, but - # not specially marked. - ;; - *) - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then - taglist="$taglist $tagname" - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" - else - $echo "$progname: ignoring unknown tag $tagname" 1>&2 - fi - ;; - esac - ;; - *) - eval "$prev=\$arg" - ;; - esac - - prev= - prevopt= - continue - fi - - # Have we seen a non-optional argument yet? - case $arg in - --help) - show_help=yes - ;; - - --version) - $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" - $echo - $echo "Copyright (C) 2005 Free Software Foundation, Inc." - $echo "This is free software; see the source for copying conditions. There is NO" - $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - exit $? - ;; - - --config) - ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath - # Now print the configurations for the tags. - for tagname in $taglist; do - ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" - done - exit $? - ;; - - --debug) - $echo "$progname: enabling shell trace mode" - set -x - preserve_args="$preserve_args $arg" - ;; - - --dry-run | -n) - run=: - ;; - - --features) - $echo "host: $host" - if test "$build_libtool_libs" = yes; then - $echo "enable shared libraries" - else - $echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - $echo "enable static libraries" - else - $echo "disable static libraries" - fi - exit $? - ;; - - --finish) mode="finish" ;; - - --mode) prevopt="--mode" prev=mode ;; - --mode=*) mode="$optarg" ;; - - --preserve-dup-deps) duplicate_deps="yes" ;; - - --quiet | --silent) - show=: - preserve_args="$preserve_args $arg" - ;; - - --tag) - prevopt="--tag" - prev=tag - preserve_args="$preserve_args --tag" - ;; - --tag=*) - set tag "$optarg" ${1+"$@"} - shift - prev=tag - preserve_args="$preserve_args --tag" - ;; - - -dlopen) - prevopt="-dlopen" - prev=execute_dlfiles - ;; - - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - - *) - nonopt="$arg" - break - ;; - esac -done - -if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE -fi - -case $disable_libs in -no) - ;; -shared) - build_libtool_libs=no - build_old_libs=yes - ;; -static) - build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` - ;; -esac - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -if test -z "$show_help"; then - - # Infer the operation mode. - if test -z "$mode"; then - $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 - $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 - case $nonopt in - *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) - mode=link - for arg - do - case $arg in - -c) - mode=compile - break - ;; - esac - done - ;; - *db | *dbx | *strace | *truss) - mode=execute - ;; - *install*|cp|mv) - mode=install - ;; - *rm) - mode=uninstall - ;; - *) - # If we have no mode, but dlfiles were specified, then do execute mode. - test -n "$execute_dlfiles" && mode=execute - - # Just use the default operation mode. - if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi - fi - ;; - esac - fi - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$modename --help --mode=$mode' for more information." - - # These modes are in order of execution frequency so that they run quickly. - case $mode in - # libtool compile mode - compile) - modename="$modename: compile" - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - if test -n "$libobj" ; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit $EXIT_FAILURE - fi - arg_mode=target - continue - ;; - - -static | -prefer-pic | -prefer-non-pic) - later="$later $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - lastarg="$lastarg $arg" - done - IFS="$save_ifs" - lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` - - # Add the arguments to base_compile. - base_compile="$base_compile $lastarg" - continue - ;; - - * ) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` - - case $lastarg in - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, and some SunOS ksh mistreat backslash-escaping - # in scan sets (worked around with variable expansion), - # and furthermore cannot handle '|' '&' '(' ')' in scan sets - # at all, so we specify them separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - lastarg="\"$lastarg\"" - ;; - esac - - base_compile="$base_compile $lastarg" - done # for arg - - case $arg_mode in - arg) - $echo "$modename: you must specify an argument for -Xcompile" - exit $EXIT_FAILURE - ;; - target) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit $EXIT_FAILURE - ;; - *) - # Get the name of the library object. - [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSifmso]' - case $libobj in - *.ada) xform=ada ;; - *.adb) xform=adb ;; - *.ads) xform=ads ;; - *.asm) xform=asm ;; - *.c++) xform=c++ ;; - *.cc) xform=cc ;; - *.ii) xform=ii ;; - *.class) xform=class ;; - *.cpp) xform=cpp ;; - *.cxx) xform=cxx ;; - *.f90) xform=f90 ;; - *.for) xform=for ;; - *.java) xform=java ;; - esac - - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` - - case $libobj in - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; - *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -static) - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` - case $qlibobj in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qlibobj="\"$qlibobj\"" ;; - esac - test "X$libobj" != "X$qlibobj" \ - && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." - objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir= - else - xdir=$xdir/ - fi - lobj=${xdir}$objdir/$objname - - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - $run $rm $removelist - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $run ln "$progpath" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $echo "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - $echo "$srcfile" > "$lockfile" - fi - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` - case $qsrcfile in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qsrcfile="\"$qsrcfile\"" ;; - esac - - $run $rm "$libobj" "${libobj}T" - - # Create a libtool object file (analogous to a ".la" file), - # but don't create it if we're doing a dry run. - test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - $show "$mv $output_obj $lobj" - if $run $mv $output_obj $lobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the PIC object to the libtool object file. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the non-PIC object the libtool object file. - # Only append if the libtool object file exists. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - else - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - fi - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test - ;; - *) qarg=$arg ;; - esac - libtool_args="$libtool_args $qarg" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac - - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit $EXIT_FAILURE - fi - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat $save_arg` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - done - else - $echo "$modename: link input file \`$save_arg' does not exist" - exit $EXIT_FAILURE - fi - arg=$save_arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - compile_command="$compile_command $wl$qarg" - finalize_command="$finalize_command $wl$qarg" - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - darwin_framework|darwin_framework_skip) - test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - prev= - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 - continue - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: more than one -exported-symbols argument is not allowed" - exit $EXIT_FAILURE - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework|-arch|-isysroot) - case " $CC " in - *" ${arg} ${1} "* | *" ${arg} ${1} "*) - prev=darwin_framework_skip ;; - *) compiler_flags="$compiler_flags $arg" - prev=darwin_framework ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - ;; - esac - continue - ;; - - -L*) - dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - notinst_path="$notinst_path $dir" - fi - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs -framework System" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - -model) - compile_command="$compile_command $arg" - compiler_flags="$compiler_flags $arg" - finalize_command="$finalize_command $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) - compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler - # -r[0-9][0-9]* specifies the processor on the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler - # +DA*, +DD* enable 64-bit mode on the HP compiler - # -q* pass through compiler args for the IBM compiler - # -m* pass through architecture-specific compiler args for GCC - # -m*, -t[45]*, -txscale* pass through architecture-specific - # compiler args for GCC - # -pg pass through profiling flag for GCC - # @file GCC response files - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ - -t[45]*|-txscale*|@*) - - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - compiler_flags="$compiler_flags $arg" - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - # The PATH hackery in wrapper scripts is required on Windows - # in order for the loader to find any dlls it needs. - $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 - $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -static) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Wl,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $wl$flag" - linker_flags="$linker_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - - *.$objext) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - ;; - - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - done # argument parsing loop - - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - # Create the object directory. - if test ! -d "$output_objdir"; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then - exit $exit_status - fi - fi - - # Determine the type of output - case $output in - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - case $host in - *cygwin* | *mingw* | *pw32*) - # don't eliminate duplications in $postdeps and $predeps - duplicate_compiler_generated_deps=yes - ;; - *) - duplicate_compiler_generated_deps=$duplicate_deps - ;; - esac - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if test "X$duplicate_deps" = "Xyes" ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - case $linkmode in - lib) - passes="conv link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - for pass in $passes; do - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags="$compiler_flags $deplib" - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 - continue - fi - name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` - for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if (${SED} -e '2q' $lib | - grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - library_names= - old_library= - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - *) - $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - if eval $echo \"$deplib\" 2>/dev/null \ - | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - $echo - $echo "*** Warning: Trying to link with static lib archive $deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because the file extensions .$libext of this argument makes me believe" - $echo "*** that it is just a static archive that I should not used here." - else - $echo - $echo "*** Warning: Linking the shared library $output against the" - $echo "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - if test "$found" = yes || test -f "$lib"; then : - else - $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 - exit $EXIT_FAILURE - fi - - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit $EXIT_FAILURE - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 - abs_ladir="$ladir" - fi - ;; - esac - laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - $echo "$modename: warning: library \`$lib' was moved." 1>&2 - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $absdir" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes ; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - # This is a shared library - - # Warn about portability, can't link against -module's on - # some systems (darwin) - if test "$shouldnotlink" = yes && test "$pass" = link ; then - $echo - if test "$linkmode" = prog; then - $echo "*** Warning: Linking the executable $output against the loadable module" - else - $echo "*** Warning: Linking the shared library $output against the loadable module" - fi - $echo "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - realname="$2" - shift; shift - libname=`eval \\$echo \"$libname_spec\"` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw*) - major=`expr $current - $age` - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - soname=`$echo $soroot | ${SED} -e 's/^.*\///'` - newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - $show "extracting exported symbol list from \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$extract_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - $show "generating import library for \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$old_archive_from_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a module then we can not link against - # it, someone is ignoring the new warnings I added - if /usr/bin/file -L $add 2> /dev/null | - $EGREP ": [^:]* bundle" >/dev/null ; then - $echo "** Warning, lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $echo - $echo "** And there doesn't seem to be a static archive available" - $echo "** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" - exit $EXIT_FAILURE - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && \ - test "$hardcode_minus_L" != yes && \ - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $echo - $echo "*** Warning: This system can not link to static lib archive $lib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $echo "*** But as you try to build a module library, libtool will still create " - $echo "*** a static module, that should work as long as the dlopening application" - $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in - -L*) path="$deplib" ;; - *.la) - dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$deplib" && dir="." - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - fi - ;; - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - if test "$absdir" != "$libdir"; then - $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 - fi - path="$absdir" - fi - depdepl= - case $host in - *-*-darwin*) - # we do not want to link against static libs, - # but need to link against shared - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$path/$depdepl" ; then - depdepl="$path/$depdepl" - fi - # do not add paths which are already there - case " $newlib_search_path " in - *" $path "*) ;; - *) newlib_search_path="$newlib_search_path $path";; - esac - fi - path="" - ;; - *) - path="-L$path" - ;; - esac - ;; - -l*) - case $host in - *-*-darwin*) - # Again, we only want to link against shared libraries - eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` - for tmp in $newlib_search_path ; do - if test -f "$tmp/lib$tmp_libs.dylib" ; then - eval depdepl="$tmp/lib$tmp_libs.dylib" - break - fi - done - path="" - ;; - *) continue ;; - esac - ;; - *) continue ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - case " $deplibs " in - *" $depdepl "*) ;; - *) deplibs="$depdepl $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 - fi - - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 - fi - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 - exit $EXIT_FAILURE - else - $echo - $echo "*** Warning: Linking the shared library $output against the non-libtool" - $echo "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - if test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 - fi - - set dummy $rpath - if test "$#" -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 - fi - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - IFS="$save_ifs" - - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$2" - number_minor="$3" - number_revision="$4" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - current=`expr $number_major + $number_minor - 1` - age="$number_minor" - revision="$number_minor" - ;; - esac - ;; - no) - current="$2" - revision="$3" - age="$4" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test "$age" -gt "$current"; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - minor_current=`expr $current + 1` - verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current"; - ;; - - irix | nonstopux) - major=`expr $current - $age + 1` - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - ;; - - osf) - major=.`expr $current - $age` - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - major=`expr $current - $age` - versuffix="-$major" - ;; - - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - fi - - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$echo "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; - esac - done - if test -n "$removelist"; then - $show "${rm}r $removelist" - $run ${rm}r $removelist - fi - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - for path in $notinst_path; do - lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` - deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` - dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` - done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs -framework System" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $rm conftest.c - cat > conftest.c </dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null \ - | grep " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for file magic test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a file magic. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do - name=`expr $a_deplib : '-l\(.*\)'` - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval $echo \"$potent_lib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a regex pattern. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` - done - fi - if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ - | grep . >/dev/null; then - $echo - if test "X$deplibs_check_method" = "Xnone"; then - $echo "*** Warning: inter-library dependencies are not supported in this platform." - else - $echo "*** Warning: inter-library dependencies are not known to be supported." - fi - $echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - $echo - $echo "*** Warning: libtool could not satisfy all declared inter-library" - $echo "*** dependencies of module $libname. Therefore, libtool will create" - $echo "*** a static module, that should work as long as the dlopening" - $echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - $echo "*** The inter-library dependencies that have been dropped here will be" - $echo "*** automatically added whenever a program is linked with this library" - $echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - $echo - $echo "*** Since this library must not contain undefined symbols," - $echo "*** because either the platform does not support them or" - $echo "*** it was explicitly requested with -no-undefined," - $echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - deplibs="$new_libs" - - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - linknames="$linknames $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - if len=`expr "X$cmd" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - $show "$cmd" - $run eval "$cmd" || exit $? - skipped_export=false - else - # The command line is too long to execute in one step. - $show "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex"; then - $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - $show "$mv \"${export_symbols}T\" \"$export_symbols\"" - $run eval '$mv "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - libobjs="$libobjs $func_extract_archives_result" - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise. - $echo "creating reloadable object files..." - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - output_la=`$echo "X$output" | $Xsed -e "$basename"` - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - delfiles= - last_robj= - k=1 - output=$output_objdir/$output_la-${k}.$objext - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - eval test_cmds=\"$reload_cmds $objlist $last_robj\" - if test "X$objlist" = X || - { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; }; then - objlist="$objlist $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - k=`expr $k + 1` - output=$output_objdir/$output_la-${k}.$objext - objlist=$obj - len=1 - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" - - if ${skipped_export-false}; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - libobjs=$output - # Append the command to create the export file. - eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" - fi - - # Set up a command to remove the reloadable object files - # after they are used. - i=0 - while test "$i" -lt "$k" - do - i=`expr $i + 1` - delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" - done - - $echo "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - - # Append the command to remove the reloadable object files - # to the just-reset $cmds. - eval cmds=\"\$cmds~\$rm $delfiles\" - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 - fi - - case $output in - *.lo) - if test -n "$objs$old_deplibs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit $EXIT_FAILURE - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $run $rm $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $run eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; - esac - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 - fi - - if test "$preload" = yes; then - if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && - test "$dlopen_self_static" = unknown; then - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." - fi - fi - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - case $host in - *darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - if test "$tagname" = CXX ; then - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - fi - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" - else - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 - fi - fi - - if test -n "$dlsyms"; then - case $dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${outputname}.nm" - - $show "$rm $nlist ${nlist}S ${nlist}T" - $run $rm "$nlist" "${nlist}S" "${nlist}T" - - # Parse the name list into a source file. - $show "creating $output_objdir/$dlsyms" - - test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* Prevent the only kind of declaration conflicts we can make. */ -#define lt_preloaded_symbols some_other_symbol - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - $show "generating symbol list for \`$output'" - - test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for arg in $progfiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $run $rm $export_symbols - $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - else - $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - fi - fi - - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` - $run eval '$echo ": $name " >> "$nlist"' - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -z "$run"; then - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $mv "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - grep -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' - else - $echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - $echo >> "$output_objdir/$dlsyms" "\ - -#undef lt_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -" - - case $host in - *cygwin* | *mingw* ) - $echo >> "$output_objdir/$dlsyms" "\ -/* DATA imports from DLLs on WIN32 can't be const, because - runtime relocations are performed -- see ld's documentation - on pseudo-relocs */ -struct { -" - ;; - * ) - $echo >> "$output_objdir/$dlsyms" "\ -const struct { -" - ;; - esac - - - $echo >> "$output_objdir/$dlsyms" "\ - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[] = -{\ -" - - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" - - $echo >> "$output_objdir/$dlsyms" "\ - {0, (lt_ptr) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - fi - - pic_flag_for_symtable= - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; - esac;; - *-*-hpux*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag";; - esac - esac - - # Now compile the dynamic symbol file. - $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Clean up the generated files. - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" - - # Transform the symbol file into the correct name. - case $host in - *cygwin* | *mingw* ) - if test -f "$output_objdir/${outputname}.def" ; then - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` - else - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - fi - ;; - * ) - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - ;; - esac - ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi - - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" - exit_status=$? - - # Delete the generated files. - if test -n "$dlsyms"; then - $show "$rm $output_objdir/${outputname}S.${objext}" - $run $rm "$output_objdir/${outputname}S.${objext}" - fi - - exit $exit_status - fi - - if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) - # Absolute path. - rpath="$rpath$dir:" - ;; - *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" - ;; - esac - done - temp_rpath="$rpath" - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $run $rm $output - # Link the executable and exit - $show "$link_command" - $run eval "$link_command" || exit $? - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname - - $show "$link_command" - $run eval "$link_command" || exit $? - - # Now create the wrapper script. - $show "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - fi - - # Quote $echo for shipping. - if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then - case $progpath in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if our run command is non-null. - if test -z "$run"; then - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - output_name=`basename $output` - output_path=`dirname $output` - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $rm $cwrappersource $cwrapper - trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - cat > $cwrappersource <> $cwrappersource<<"EOF" -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -/* -DDEBUG is fairly common in CFLAGS. */ -#undef DEBUG -#if defined DEBUGWRAPPER -# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) -#else -# define DEBUG(format, ...) -#endif - -const char *program_name = NULL; - -void * xmalloc (size_t num); -char * xstrdup (const char *string); -const char * base_name (const char *name); -char * find_executable(const char *wrapper); -int check_executable(const char *path); -char * strendzap(char *str, const char *pat); -void lt_fatal (const char *message, ...); - -int -main (int argc, char *argv[]) -{ - char **newargz; - int i; - - program_name = (char *) xstrdup (base_name (argv[0])); - DEBUG("(main) argv[0] : %s\n",argv[0]); - DEBUG("(main) program_name : %s\n",program_name); - newargz = XMALLOC(char *, argc+2); -EOF - - cat >> $cwrappersource <> $cwrappersource <<"EOF" - newargz[1] = find_executable(argv[0]); - if (newargz[1] == NULL) - lt_fatal("Couldn't find %s", argv[0]); - DEBUG("(main) found exe at : %s\n",newargz[1]); - /* we know the script has the same name, without the .exe */ - /* so make sure newargz[1] doesn't end in .exe */ - strendzap(newargz[1],".exe"); - for (i = 1; i < argc; i++) - newargz[i+1] = xstrdup(argv[i]); - newargz[argc+1] = NULL; - - for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" - return 127; -} - -void * -xmalloc (size_t num) -{ - void * p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL -; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char)name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} - -int -check_executable(const char * path) -{ - struct stat st; - - DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); - if ((!path) || (!*path)) - return 0; - - if ((stat (path, &st) >= 0) && - ( - /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ -#if defined (S_IXOTH) - ((st.st_mode & S_IXOTH) == S_IXOTH) || -#endif -#if defined (S_IXGRP) - ((st.st_mode & S_IXGRP) == S_IXGRP) || -#endif - ((st.st_mode & S_IXUSR) == S_IXUSR)) - ) - return 1; - else - return 0; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise */ -char * -find_executable (const char* wrapper) -{ - int has_slash = 0; - const char* p; - const char* p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char* concat_name; - - DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char* path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char* q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR(*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - return NULL; -} - -char * -strendzap(char *str, const char *pat) -{ - size_t len, patlen; - - assert(str != NULL); - assert(pat != NULL); - - len = strlen(str); - patlen = strlen(pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp(str, pat) == 0) - *str = '\0'; - } - return str; -} - -static void -lt_error_core (int exit_status, const char * mode, - const char * message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} -EOF - # we should really use a build-platform specific compiler - # here, but OTOH, the wrappers (shell script and this C one) - # are only useful if you want to execute the "real" binary. - # Since the "real" binary is built for $host, then this - # wrapper might as well be built for $host, too. - $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource - ;; - esac - $rm $output - trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 - - $echo > $output "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variable: - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - echo=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$echo works! - : - else - # Restart under the correct shell, and then maybe \$echo will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $echo >> $output "\ - - # Find the directory that this script lives in. - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $echo >> $output "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $mkdir \"\$progdir\" - else - $rm \"\$progdir/\$file\" - fi" - - $echo >> $output "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $echo \"\$relink_command_output\" >&2 - $rm \"\$progdir/\$file\" - exit $EXIT_FAILURE - fi - fi - - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $rm \"\$progdir/\$program\"; - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $rm \"\$progdir/\$file\" - fi" - else - $echo >> $output "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $echo >> $output "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $echo >> $output "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $echo >> $output "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2*) - $echo >> $output "\ - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $echo >> $output "\ - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" - exit $EXIT_FAILURE - fi - else - # The program doesn't exist. - \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - $echo \"See the $PACKAGE documentation for more information.\" 1>&2 - exit $EXIT_FAILURE - fi -fi\ -" - chmod +x $output - fi - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - $echo "X$obj" | $Xsed -e 's%^.*/%%' - done | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "copying selected object files to avoid basename conflicts..." - - if test -z "$gentop"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "$mkdir $gentop" - $run $mkdir "$gentop" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$gentop"; then - exit $exit_status - fi - fi - - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - counter=`expr $counter + 1` - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - $run ln "$obj" "$gentop/$newobj" || - $run cp "$obj" "$gentop/$newobj" - oldobjs="$oldobjs $gentop/$newobj" - ;; - *) oldobjs="$oldobjs $obj" ;; - esac - done - fi - - eval cmds=\"$old_archive_cmds\" - - if len=`expr "X$cmds" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - $echo "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - for obj in $save_oldobjs - do - oldobjs="$objlist $obj" - objlist="$objlist $obj" - eval test_cmds=\"$old_archive_cmds\" - if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - eval cmd=\"$cmd\" - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$generated"; then - $show "${rm}r$generated" - $run ${rm}r$generated - fi - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - $show "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - - # Only create the output if not a dry run. - if test -z "$run"; then - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdependency_libs="$newdependency_libs $libdir/$name" - ;; - *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - for lib in $dlfiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlfiles="$newdlfiles $libdir/$name" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlprefiles="$newdlprefiles $libdir/$name" - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" - fi - $rm $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - $echo > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $echo >> $output "\ -relink_command=\"$relink_command\"" - fi - done - fi - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" - $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? - ;; - esac - exit $EXIT_SUCCESS - ;; - - # libtool install mode - install) - modename="$modename: install" - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $echo "X$nonopt" | grep shtool > /dev/null; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$arg " - arg="$1" - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog$arg" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - case " $install_prog " in - *[\\\ /]cp\ *) ;; - *) prev=$arg ;; - esac - ;; - -g | -m | -o) prev=$arg ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog $arg" - done - - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -z "$files"; then - if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 - else - $echo "$modename: you must specify a destination" 1>&2 - fi - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Strip any trailing slash from the destination. - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` - test "X$destdir" = "X$dest" && destdir=. - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` - - # Not a directory, so check to see that there is only one file specified. - set dummy $files - if test "$#" -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - library_names= - old_library= - relink_command= - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - if test "$inst_prefix_dir" = "$destdir"; then - $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - exit $EXIT_FAILURE - fi - fi - - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$srcname $destdir/$realname" - $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? - if test -n "$stripme" && test -n "$striplib"; then - $show "$striplib $destdir/$realname" - $run eval "$striplib $destdir/$realname" || exit $? - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - if test "$linkname" != "$realname"; then - $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - fi - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - cmds=$postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - fi - - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? - fi - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - file=`$echo $file|${SED} 's,.exe$,,'` - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin*|*mingw*) - wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` - ;; - *) - wrapper=$file - ;; - esac - if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then - notinst_deplibs= - relink_command= - - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac - - # Check the variables that should have been set. - if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 - exit $EXIT_FAILURE - fi - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done - - relink_command= - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes && test -z "$run"; then - tmpdir=`func_mktempdir` - file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` - - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - ${rm}r "$tmpdir" - continue - fi - file="$outputname" - else - $echo "$modename: warning: cannot relink \`$file'" 1>&2 - fi - else - # Install the binary that we compiled earlier. - file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` - ;; - esac - ;; - esac - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - test -n "$outputname" && ${rm}r "$tmpdir" - ;; - esac - done - - for file in $staticlibs; do - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? - - if test -n "$stripme" && test -n "$old_striplib"; then - $show "$old_striplib $oldlib" - $run eval "$old_striplib $oldlib" || exit $? - fi - - # Do each command in the postinstall commands. - cmds=$old_postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$future_libdirs"; then - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 - fi - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi - ;; - - # libtool finish mode - finish) - modename="$modename: finish" - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - cmds=$finish_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" - done - IFS="$save_ifs" - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $run eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - test "$show" = : && exit $EXIT_SUCCESS - - $echo "X----------------------------------------------------------------------" | $Xsed - $echo "Libraries have been installed in:" - for libdir in $libdirs; do - $echo " $libdir" - done - $echo - $echo "If you ever happen to want to link against installed libraries" - $echo "in a given directory, LIBDIR, you must either use libtool, and" - $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - $echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - $echo " during execution" - fi - if test -n "$runpath_var"; then - $echo " - add LIBDIR to the \`$runpath_var' environment variable" - $echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $echo " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $echo " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $echo - $echo "See any operating system documentation about shared libraries for" - $echo "more information, such as the ld(1) and ld.so(8) manual pages." - $echo "X----------------------------------------------------------------------" | $Xsed - exit $EXIT_SUCCESS - ;; - - # libtool execute mode - execute) - modename="$modename: execute" - - # The first argument is the command name. - cmd="$nonopt" - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" - exit $EXIT_FAILURE - fi - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Read the libtool library. - dlname= - library_names= - - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" - continue - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit $EXIT_FAILURE - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - ;; - - *) - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` - args="$args \"$file\"" - done - - if test -z "$run"; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - if test "${save_LC_ALL+set}" = set; then - LC_ALL="$save_LC_ALL"; export LC_ALL - fi - if test "${save_LANG+set}" = set; then - LANG="$save_LANG"; export LANG - fi - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" - $echo "export $shlibpath_var" - fi - $echo "$cmd$args" - exit $EXIT_SUCCESS - fi - ;; - - # libtool clean and uninstall mode - clean | uninstall) - modename="$modename: $mode" - rm="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) rm="$rm $arg"; rmforce=yes ;; - -*) rm="$rm $arg" ;; - *) files="$files $arg" ;; - esac - done - - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - rmdirs= - - origobjdir="$objdir" - for file in $files; do - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$file"; then - dir=. - objdir="$origobjdir" - else - objdir="$dir/$origobjdir" - fi - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - test "$mode" = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates - if test "$mode" = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if (test -L "$file") >/dev/null 2>&1 \ - || (test -h "$file") >/dev/null 2>&1 \ - || test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - - case "$mode" in - clean) - case " $library_names " in - # " " in the beginning catches empty $dlname - *" $dlname "*) ;; - *) rmfiles="$rmfiles $objdir/$dlname" ;; - esac - test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - cmds=$postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - cmds=$old_postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - - # Read the .lo file - . $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" \ - && test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" \ - && test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$mode" = clean ; then - noexename=$name - case $file in - *.exe) - file=`$echo $file|${SED} 's,.exe$,,'` - noexename=`$echo $name|${SED} 's,.exe$,,'` - # $file with .exe has already been added to rmfiles, - # add $file without .exe - rmfiles="$rmfiles $file" - ;; - esac - # Do a test to see if this is a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$noexename - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - rmfiles="$rmfiles $objdir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - $show "$rm $rmfiles" - $run $rm $rmfiles || exit_status=1 - done - objdir="$origobjdir" - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - $show "rmdir $dir" - $run rmdir $dir >/dev/null 2>&1 - fi - done - - exit $exit_status - ;; - - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test -z "$exec_cmd"; then - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - fi -fi # test -z "$show_help" - -if test -n "$exec_cmd"; then - eval exec $exec_cmd - exit $EXIT_FAILURE -fi - -# We need to display help for each of the modes. -case $mode in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] - --quiet same as \`--silent' - --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - --version print version information - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE. - -Report bugs to ." - exit $EXIT_SUCCESS - ;; - -clean) - $echo \ -"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - -compile) - $echo \ -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -static always build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - -execute) - $echo \ -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - -finish) - $echo \ -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - -install) - $echo \ -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - -link) - $echo \ -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - -uninstall) - $echo \ -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - -*) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; -esac - -$echo -$echo "Try \`$modename --help' for more information about other modes." - -exit $? - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -disable_libs=shared -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -disable_libs=static -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/toolkit/airbag/airbag/autotools/missing b/toolkit/airbag/airbag/autotools/missing deleted file mode 100755 index 1c8ff7049d8f..000000000000 --- a/toolkit/airbag/airbag/autotools/missing +++ /dev/null @@ -1,367 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2006-05-10.23 - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 -# Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -msg="missing on your system" - -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - -esac - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). -case $1 in - lex|yacc) - # Not GNU programs, they don't have --version. - ;; - - tar) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $1 in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex|flex) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit 1 - fi - ;; - - makeinfo) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/toolkit/airbag/airbag/configure b/toolkit/airbag/airbag/configure deleted file mode 100755 index 97ba42dd7f12..000000000000 --- a/toolkit/airbag/airbag/configure +++ /dev/null @@ -1,20858 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for breakpad 0.1. -# -# Report bugs to . -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi - - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS - - - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell autoconf@gnu.org about your system, - echo including any error possibly output before this - echo message -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir -fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - - -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` - ;; -esac - -echo=${ECHO-echo} -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" -fi - - - - -tagnames=${tagnames+${tagnames},}CXX - -tagnames=${tagnames+${tagnames},}F77 - -exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Identity of this package. -PACKAGE_NAME='breakpad' -PACKAGE_TARNAME='breakpad' -PACKAGE_VERSION='0.1' -PACKAGE_STRING='breakpad 0.1' -PACKAGE_BUGREPORT='opensource@google.com' - -ac_unique_file="README" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -INSTALL_PROGRAM -INSTALL_SCRIPT -INSTALL_DATA -am__isrc -CYGPATH_W -PACKAGE -VERSION -ACLOCAL -AUTOCONF -AUTOMAKE -AUTOHEADER -MAKEINFO -install_sh -STRIP -INSTALL_STRIP_PROGRAM -mkdir_p -AWK -SET_MAKE -am__leading_dot -AMTAR -am__tar -am__untar -CC -CFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CC -EXEEXT -OBJEXT -DEPDIR -am__include -am__quote -AMDEP_TRUE -AMDEP_FALSE -AMDEPBACKSLASH -CCDEPMODE -am__fastdepCC_TRUE -am__fastdepCC_FALSE -CPP -CXX -CXXFLAGS -ac_ct_CXX -CXXDEPMODE -am__fastdepCXX_TRUE -am__fastdepCXX_FALSE -build -build_cpu -build_vendor -build_os -host -host_cpu -host_vendor -host_os -GREP -EGREP -LN_S -ECHO -AR -RANLIB -CXXCPP -F77 -FFLAGS -ac_ct_F77 -LIBTOOL -LIBTOOL_DEPS -SELFTEST_TRUE -SELFTEST_FALSE -LIBOBJS -LTLIBOBJS' -ac_subst_files='' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -CXX -CXXFLAGS -CCC -CXXCPP -F77 -FFLAGS' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` - eval enable_$ac_feature=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` - eval enable_$ac_feature=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/[-.]/_/g'` - eval with_$ac_package=\$ac_optarg ;; - - -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/[-.]/_/g'` - eval with_$ac_package=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute directory names. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { echo "$as_me: error: Working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$0" || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures breakpad 0.1 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/breakpad] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of breakpad 0.1:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-selftest Run extra tests with "make check" (may conflict with - optimizations) (default is no) - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-pic try to use only PIC/non-PIC objects [default=use - both] - --with-tags[=TAGS] include additional configurations [automatic] - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CXXCPP C++ preprocessor - F77 Fortran 77 compiler command - FFLAGS Fortran 77 compiler flags - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -breakpad configure 0.1 -generated by GNU Autoconf 2.61 - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by breakpad $as_me 0.1, which was -generated by GNU Autoconf 2.61. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" -done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - esac - done -done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -n "$CONFIG_SITE"; then - set x "$CONFIG_SITE" -elif test "x$prefix" != xNONE; then - set x "$prefix/share/config.site" "$prefix/etc/config.site" -else - set x "$ac_default_prefix/share/config.site" \ - "$ac_default_prefix/etc/config.site" -fi -shift -for ac_site_file -do - if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - - - - - - - - - - - - - - - - - - - - - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -ac_aux_dir= -for ac_dir in autotools "$srcdir"/autotools; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in autotools \"$srcdir\"/autotools" >&5 -echo "$as_me: error: cannot find install-sh or install.sh in autotools \"$srcdir\"/autotools" >&2;} - { (exit 1); exit 1; }; } -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - - -am__api_version='1.10' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done - ;; -esac -done -IFS=$as_save_IFS - - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } -fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. echo might interpret backslashes. -# By default was `s,x,x', remove it if useless. -cat <<\_ACEOF >conftest.sed -s/[\\$]/&&/g;s/;s,x,x,$// -_ACEOF -program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -rm -f conftest.sed - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 -echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done -done -IFS=$as_save_IFS - -fi - - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - test -d ./--version && rmdir ./--version - MKDIR_P="$ac_install_sh -d" - fi -fi -{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5 -echo "${ECHO_T}$MKDIR_P" >&6; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } -set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - SET_MAKE= -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='breakpad' - VERSION='0.1' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} - - -{ echo "$as_me:$LINENO: checking how to create a ustar tar archive" >&5 -echo $ECHO_N "checking how to create a ustar tar archive... $ECHO_C" >&6; } -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar plaintar pax cpio none' -_am_tools=${am_cv_prog_tar_ustar-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - { echo "$as_me:$LINENO: $_am_tar --version" >&5 - ($_am_tar --version) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && break - done - am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x ustar -w "$$tardir"' - am__tar_='pax -L -x ustar -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H ustar -L' - am__tar_='find "$tardir" -print | cpio -o -H ustar -L' - am__untar='cpio -i -H ustar -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_ustar}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5 - (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - rm -rf conftest.dir - if test -s conftest.tar; then - { echo "$as_me:$LINENO: $am__untar &5 - ($am__untar &5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - grep GrepMe conftest.dir/file >/dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -if test "${am_cv_prog_tar_ustar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - am_cv_prog_tar_ustar=$_am_tool -fi - -{ echo "$as_me:$LINENO: result: $am_cv_prog_tar_ustar" >&5 -echo "${ECHO_T}$am_cv_prog_tar_ustar" >&6; } - - - - - -ac_config_headers="$ac_config_headers src/config.h" - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -# -# List of possible output files, starting from the most likely. -# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) -# only as a last resort. b.out is created by i960 compilers. -ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' -# -# The IRIX 6 linker writes into existing files which may not be -# executable, retaining their permissions. Remove them first so a -# subsequent execution test works. -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { (ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi - -{ echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6; } -if test -z "$ac_file"; then - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext - -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - -rm -f a.out a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6; } - -{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest$ac_cv_exeext -{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6; } ;; - xno) - { echo "$as_me:$LINENO: result: unsupported" >&5 -echo "${ECHO_T}unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; -esac - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi - - -{ echo "$as_me:$LINENO: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -depcc="$CC" am_compiler_list= - -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } -GXX=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CXXFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CXX" am_compiler_list= - -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - - -# Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi - - -# Check whether --enable-static was given. -if test "${enable_static+set}" = set; then - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=yes -fi - - -# Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi - - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } - -{ echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6; } -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ echo "$as_me:$LINENO: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6; } -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} - { (exit 1); exit 1; }; } -fi - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -echo "$as_me: error: invalid value of canonical host" >&2;} - { (exit 1); exit 1; }; };; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 -echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } -if test "${lt_cv_path_SED+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done - -fi - -SED=$lt_cv_path_SED -{ echo "$as_me:$LINENO: result: $SED" >&5 -echo "${ECHO_T}$SED" >&6; } - -{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Extract the first word of "grep ggrep" to use in msg output -if test -z "$GREP"; then -set dummy grep ggrep; ac_prog_name=$2 -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_path_GREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue - # Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - - $ac_path_GREP_found && break 3 - done -done - -done -IFS=$as_save_IFS - - -fi - -GREP="$ac_cv_path_GREP" -if test -z "$GREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } -fi - -else - ac_cv_path_GREP=$GREP -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -echo "${ECHO_T}$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - # Extract the first word of "egrep" to use in msg output -if test -z "$EGREP"; then -set dummy egrep; ac_prog_name=$2 -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_path_EGREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue - # Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - - $ac_path_EGREP_found && break 3 - done -done - -done -IFS=$as_save_IFS - - -fi - -EGREP="$ac_cv_path_EGREP" -if test -z "$EGREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } -fi - -else - ac_cv_path_EGREP=$EGREP -fi - - - fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } -else - { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -echo "${ECHO_T}$LD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - -{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } -if test "${lt_cv_path_NM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi -fi -{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 -echo "${ECHO_T}$lt_cv_path_NM" >&6; } -NM="$lt_cv_path_NM" - -{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else - { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6; } -fi - -{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 -echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix4* | aix5*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump'. - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | kfreebsd*-gnu | dragonfly*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix3*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 5094 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - lt_cv_cc_needs_belf=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - lt_cv_cc_needs_belf=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - - -esac - -need_locks="$enable_libtool_lock" - - - -{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -for ac_header in dlfcn.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------ ## -## Report this to opensource@google.com ## -## ------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } -if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -fi - - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$F77"; then - ac_cv_prog_F77="$F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_F77="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -F77=$ac_cv_prog_F77 -if test -n "$F77"; then - { echo "$as_me:$LINENO: result: $F77" >&5 -echo "${ECHO_T}$F77" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$F77" && break - done -fi -if test -z "$F77"; then - ac_ct_F77=$F77 - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_F77"; then - ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_F77="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_F77=$ac_cv_prog_ac_ct_F77 -if test -n "$ac_ct_F77"; then - { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 -echo "${ECHO_T}$ac_ct_F77" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$ac_ct_F77" && break -done - - if test "x$ac_ct_F77" = x; then - F77="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - F77=$ac_ct_F77 - fi -fi - - -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } -if test "${ac_cv_f77_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_f77_compiler_gnu=$ac_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } -ac_ext=$ac_save_ext -ac_test_FFLAGS=${FFLAGS+set} -ac_save_FFLAGS=$FFLAGS -FFLAGS= -{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 -echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_f77_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - FFLAGS=-g -cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_f77_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_prog_f77_g=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 -echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } -if test "$ac_test_FFLAGS" = set; then - FFLAGS=$ac_save_FFLAGS -elif test $ac_cv_prog_f77_g = yes; then - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-g -O2" - else - FFLAGS="-g" - fi -else - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-O2" - else - FFLAGS= - fi -fi - -G77=`test $ac_compiler_gnu = yes && echo yes` -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! - -# find the maximum length of command line arguments -{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 -echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 -echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } -else - { echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6; } -fi - - - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 -echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32*) - symcode='[ABCDGISTW]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDGIRSTW]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { echo "$as_me:$LINENO: result: failed" >&5 -echo "${ECHO_T}failed" >&6; } -else - { echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6; } -fi - -{ echo "$as_me:$LINENO: checking for objdir" >&5 -echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } -if test "${lt_cv_objdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 -echo "${ECHO_T}$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { echo "$as_me:$LINENO: result: $AR" >&5 -echo "${ECHO_T}$AR" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AR="ar" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 -echo "${ECHO_T}$ac_ct_AR" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -else - AR="$ac_cv_prog_AR" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { echo "$as_me:$LINENO: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { echo "$as_me:$LINENO: checking for file" >&5 -echo $ECHO_N "checking for file... $ECHO_C" >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -enable_dlopen=no -enable_win32_dll=no - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then - withval=$with_pic; pic_mode="$withval" -else - pic_mode=default -fi - -test -z "$pic_mode" && pic_mode=default - -# Use C for the default configuration in the libtool script -tagname= -lt_save_CC="$CC" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}\n' - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag=' -fno-builtin' - - -{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7123: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7127: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - -lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic='-qnocommon' - lt_prog_compiler_wl='-Wl,' - ;; - esac - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - linux*) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7391: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7395: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } - -if test x"$lt_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works=yes - fi - else - lt_prog_compiler_static_works=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } - -if test x"$lt_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7495: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:7499: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - runpath_var= - allow_undefined_flag= - enable_shared_with_static_runtimes=no - archive_cmds= - archive_expsym_cmds= - old_archive_From_new_cmds= - old_archive_from_expsyms_cmds= - export_dynamic_flag_spec= - whole_archive_flag_spec= - thread_safe_flag_spec= - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= - hardcode_libdir_separator= - hardcode_direct=no - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - link_all_deplibs=unknown - hardcode_automatic=no - module_cmds= - module_expsym_cmds= - always_export_symbols=no - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - interix3*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct=yes - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' - link_all_deplibs=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - hardcode_direct=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld='+b $libdir' - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld='-rpath $libdir' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - link_all_deplibs=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - openbsd*) - hardcode_direct=yes - hardcode_shlibpath_var=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 -echo "${ECHO_T}$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc=no - else - archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 -echo "${ECHO_T}$archive_cmds_need_lc" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - freebsd*) # from 4.6 on - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix3*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var" || \ - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 -echo "${ECHO_T}$hardcode_action" >&6; } - -if test "$hardcode_action" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -striplib= -old_striplib= -{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - ;; - *) - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - ;; - esac -fi - -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - { echo "$as_me:$LINENO: checking for shl_load" >&5 -echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } -if test "${ac_cv_func_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shl_load to an innocuous variant, in case declares shl_load. - For example, HP-UX 11i declares gettimeofday. */ -#define shl_load innocuous_shl_load - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shl_load - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_shl_load || defined __stub___shl_load -choke me -#endif - -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_shl_load=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 -echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } -if test $ac_cv_func_shl_load = yes; then - lt_cv_dlopen="shl_load" -else - { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 -echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dld_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_shl_load=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } -if test $ac_cv_lib_dld_shl_load = yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" -else - { echo "$as_me:$LINENO: checking for dlopen" >&5 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } -if test "${ac_cv_func_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define dlopen to an innocuous variant, in case declares dlopen. - For example, HP-UX 11i declares gettimeofday. */ -#define dlopen innocuous_dlopen - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef dlopen - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_dlopen || defined __stub___dlopen -choke me -#endif - -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } -if test $ac_cv_func_dlopen = yes; then - lt_cv_dlopen="dlopen" -else - { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 -echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_svld_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_svld_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } -if test $ac_cv_lib_svld_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 -echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dld_dld_link=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_dld_link=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } -if test $ac_cv_lib_dld_dld_link = yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } -if test "${lt_cv_dlopen_self_static+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - -# Report which library types will actually be built -{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -{ echo "$as_me:$LINENO: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -{ echo "$as_me:$LINENO: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6; } - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler \ - CC \ - LD \ - lt_prog_compiler_wl \ - lt_prog_compiler_pic \ - lt_prog_compiler_static \ - lt_prog_compiler_no_builtin_flag \ - export_dynamic_flag_spec \ - thread_safe_flag_spec \ - whole_archive_flag_spec \ - enable_shared_with_static_runtimes \ - old_archive_cmds \ - old_archive_from_new_cmds \ - predep_objects \ - postdep_objects \ - predeps \ - postdeps \ - compiler_lib_search_path \ - archive_cmds \ - archive_expsym_cmds \ - postinstall_cmds \ - postuninstall_cmds \ - old_archive_from_expsyms_cmds \ - allow_undefined_flag \ - no_undefined_flag \ - export_symbols_cmds \ - hardcode_libdir_flag_spec \ - hardcode_libdir_flag_spec_ld \ - hardcode_libdir_separator \ - hardcode_automatic \ - module_cmds \ - module_expsym_cmds \ - lt_cv_prog_compiler_c_o \ - exclude_expsyms \ - include_expsyms; do - - case $var in - old_archive_cmds | \ - old_archive_from_new_cmds | \ - archive_cmds | \ - archive_expsym_cmds | \ - module_cmds | \ - module_expsym_cmds | \ - old_archive_from_expsyms_cmds | \ - export_symbols_cmds | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - { echo "$as_me:$LINENO: creating $ofile" >&5 -echo "$as_me: creating $ofile" >&6;} - - cat <<__EOF__ >> "$cfgfile" -#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU C compiler? -with_gcc=$GCC - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# ### END LIBTOOL CONFIG - -__EOF__ - - - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - -# Check whether --with-tags was given. -if test "${with_tags+set}" = set; then - withval=$with_tags; tagnames="$withval" -fi - - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 -echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 -echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} - else - { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 -echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in - "") ;; - *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 -echo "$as_me: error: invalid tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 -echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} - { (exit 1); exit 1; }; } - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - - - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_flag_spec_ld_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - $as_unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - $as_unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -compiler_CXX=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' -else - lt_prog_compiler_no_builtin_flag_CXX= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } -else - { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -echo "${ECHO_T}$LD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } -ld_shlibs_CXX=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct_CXX=yes - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_CXX=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_CXX='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' ${wl}-bernotok' - allow_undefined_flag_CXX=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - whole_archive_flag_spec_CXX='' - link_all_deplibs_CXX=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_CXX=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - freebsd[12]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - ld_shlibs_CXX=no - ;; - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - gnu*) - ;; - hpux9*) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='${wl}-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_CXX='+b $libdir' - ;; - *) - export_dynamic_flag_spec_CXX='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - interix3*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - ;; - linux*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC*) - # Portland Group C++ compiler - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; - openbsd*) - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - ;; - osf3*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ - $rm $lib.exp' - - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The C++ compiler is used as linker so we must use $wl - # flag to pass the commands to the underlying system - # linker. We must also pass each convience library through - # to the system linker between allextract/defaultextract. - # The C++ compiler will combine linker options so we - # cannot just pass the convience library names through - # without $wl. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - no_undefined_flag_CXX=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='${wl}-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - no_undefined_flag_CXX='${wl}-z,text' - allow_undefined_flag_CXX='${wl}-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; -esac -{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 -echo "${ECHO_T}$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no - -GCC_CXX="$GXX" -LD_CXX="$LD" - - -cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - # The `*' in the case matches for architectures that use `case' in - # $output_verbose_cmd can trigger glob expansion during the loop - # eval without this substitution. - output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` - - for p in `eval $output_verbose_link_cmd`; do - case $p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" \ - || test $p = "-R"; then - prev=$p - continue - else - prev= - fi - - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX="${prev}${p}" - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX="${prev}${p}" - else - postdeps_CXX="${postdeps_CXX} ${prev}${p}" - fi - fi - ;; - - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX="$p" - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX="$p" - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$rm -f confest.$objext - -# PORTME: override above test on systems where it is broken -case $host_os in -interix3*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; - -solaris*) - case $cc_basename in - CC*) - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - postdeps_CXX='-lCstd -lCrun' - ;; - esac - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - -lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_CXX='-qnocommon' - lt_prog_compiler_wl_CXX='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12239: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:12243: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_CXX=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } - -if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_CXX=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_CXX=yes - fi - else - lt_prog_compiler_static_works_CXX=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } - -if test x"$lt_prog_compiler_static_works_CXX" = xyes; then - : -else - lt_prog_compiler_static_CXX= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12343: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:12347: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" - ;; - cygwin* | mingw*) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - -{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 -echo "${ECHO_T}$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_CXX=no - else - archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - freebsd*) # from 4.6 on - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix3*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || \ - test -n "$runpath_var_CXX" || \ - test "X$hardcode_automatic_CXX" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_CXX" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 -echo "${ECHO_T}$hardcode_action_CXX" >&6; } - -if test "$hardcode_action_CXX" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_CXX \ - CC_CXX \ - LD_CXX \ - lt_prog_compiler_wl_CXX \ - lt_prog_compiler_pic_CXX \ - lt_prog_compiler_static_CXX \ - lt_prog_compiler_no_builtin_flag_CXX \ - export_dynamic_flag_spec_CXX \ - thread_safe_flag_spec_CXX \ - whole_archive_flag_spec_CXX \ - enable_shared_with_static_runtimes_CXX \ - old_archive_cmds_CXX \ - old_archive_from_new_cmds_CXX \ - predep_objects_CXX \ - postdep_objects_CXX \ - predeps_CXX \ - postdeps_CXX \ - compiler_lib_search_path_CXX \ - archive_cmds_CXX \ - archive_expsym_cmds_CXX \ - postinstall_cmds_CXX \ - postuninstall_cmds_CXX \ - old_archive_from_expsyms_cmds_CXX \ - allow_undefined_flag_CXX \ - no_undefined_flag_CXX \ - export_symbols_cmds_CXX \ - hardcode_libdir_flag_spec_CXX \ - hardcode_libdir_flag_spec_ld_CXX \ - hardcode_libdir_separator_CXX \ - hardcode_automatic_CXX \ - module_cmds_CXX \ - module_expsym_cmds_CXX \ - lt_cv_prog_compiler_c_o_CXX \ - exclude_expsyms_CXX \ - include_expsyms_CXX; do - - case $var in - old_archive_cmds_CXX | \ - old_archive_from_new_cmds_CXX | \ - archive_cmds_CXX | \ - archive_expsym_cmds_CXX | \ - module_cmds_CXX | \ - module_expsym_cmds_CXX | \ - old_archive_from_expsyms_cmds_CXX | \ - export_symbols_cmds_CXX | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_CXX - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_CXX -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_CXX - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_CXX - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_CXX - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_CXX" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld - - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - - -archive_cmds_need_lc_F77=no -allow_undefined_flag_F77= -always_export_symbols_F77=no -archive_expsym_cmds_F77= -export_dynamic_flag_spec_F77= -hardcode_direct_F77=no -hardcode_libdir_flag_spec_F77= -hardcode_libdir_flag_spec_ld_F77= -hardcode_libdir_separator_F77= -hardcode_minus_L_F77=no -hardcode_automatic_F77=no -module_cmds_F77= -module_expsym_cmds_F77= -link_all_deplibs_F77=unknown -old_archive_cmds_F77=$old_archive_cmds -no_undefined_flag_F77= -whole_archive_flag_spec_F77= -enable_shared_with_static_runtimes_F77=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -objext_F77=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code=" subroutine t\n return\n end\n" - -# Code to be used in simple link tests -lt_simple_link_test_code=" program t\n end\n" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${F77-"f77"} -compiler=$CC -compiler_F77=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -{ echo "$as_me:$LINENO: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -{ echo "$as_me:$LINENO: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6; } - -GCC_F77="$G77" -LD_F77="$LD" - -lt_prog_compiler_wl_F77= -lt_prog_compiler_pic_F77= -lt_prog_compiler_static_F77= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_static_F77='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - ;; - - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_F77=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_F77='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - else - lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_F77='-qnocommon' - lt_prog_compiler_wl_F77='-Wl,' - ;; - esac - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_F77='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_F77='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - linux*) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_F77='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_F77='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_F77='-Qoption ld ';; - *) - lt_prog_compiler_wl_F77='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_F77='-Qoption ld ' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_F77='-Kconform_pic' - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_can_build_shared_F77=no - ;; - - uts4*) - lt_prog_compiler_pic_F77='-pic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_F77=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_F77"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_F77=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_F77" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13913: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:13917: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_F77=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } - -if test x"$lt_prog_compiler_pic_works_F77" = xyes; then - case $lt_prog_compiler_pic_F77 in - "" | " "*) ;; - *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; - esac -else - lt_prog_compiler_pic_F77= - lt_prog_compiler_can_build_shared_F77=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_F77= - ;; - *) - lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_F77=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_F77=yes - fi - else - lt_prog_compiler_static_works_F77=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } - -if test x"$lt_prog_compiler_static_works_F77" = xyes; then - : -else - lt_prog_compiler_static_F77= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_F77=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14017: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:14021: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_F77=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - runpath_var= - allow_undefined_flag_F77= - enable_shared_with_static_runtimes_F77=no - archive_cmds_F77= - archive_expsym_cmds_F77= - old_archive_From_new_cmds_F77= - old_archive_from_expsyms_cmds_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - thread_safe_flag_spec_F77= - hardcode_libdir_flag_spec_F77= - hardcode_libdir_flag_spec_ld_F77= - hardcode_libdir_separator_F77= - hardcode_direct_F77=no - hardcode_minus_L_F77=no - hardcode_shlibpath_var_F77=unsupported - link_all_deplibs_F77=unknown - hardcode_automatic_F77=no - module_cmds_F77= - module_expsym_cmds_F77= - always_export_symbols_F77=no - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_F77= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_F77=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_F77='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_F77= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_F77=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs_F77=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_F77=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_F77='-L$libdir' - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=no - enable_shared_with_static_runtimes_F77=yes - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_F77=no - fi - ;; - - interix3*) - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_F77=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_F77=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - - if test "$ld_shlibs_F77" = no; then - runpath_var= - hardcode_libdir_flag_spec_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_F77=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_F77=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_F77='' - hardcode_direct_F77=yes - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct_F77=yes - else - # We have old collect2 - hardcode_direct_F77=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_F77=yes - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_libdir_separator_F77= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_F77=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_F77='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_F77="-z nodefs" - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_F77=' ${wl}-bernotok' - allow_undefined_flag_F77=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_F77='$convenience' - archive_cmds_need_lc_F77=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_F77=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec_F77=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_F77=' ' - allow_undefined_flag_F77=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_F77='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_F77='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_F77=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_F77=no - hardcode_direct_F77=no - hardcode_automatic_F77=yes - hardcode_shlibpath_var_F77=unsupported - whole_archive_flag_spec_F77='' - link_all_deplibs_F77=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_F77=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - freebsd1*) - ld_shlibs_F77=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) - archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_F77='+b $libdir' - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - ;; - *) - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - link_all_deplibs_F77=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - newsos6) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_shlibpath_var_F77=no - ;; - - openbsd*) - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - ;; - *) - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_F77='-rpath $libdir' - fi - hardcode_libdir_separator_F77=: - ;; - - solaris*) - no_undefined_flag_F77=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_shlibpath_var_F77=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; - esac - link_all_deplibs_F77=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_F77='$CC -r -o $output$reload_objs' - hardcode_direct_F77=no - ;; - motorola) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_F77=no - ;; - - sysv4.3*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - export_dynamic_flag_spec_F77='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_F77=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) - no_undefined_flag_F77='${wl}-z,text' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_F77='${wl}-z,text' - allow_undefined_flag_F77='${wl}-z,nodefs' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - export_dynamic_flag_spec_F77='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - *) - ld_shlibs_F77=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 -echo "${ECHO_T}$ld_shlibs_F77" >&6; } -test "$ld_shlibs_F77" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_F77" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_F77=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_F77 in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_F77 - pic_flag=$lt_prog_compiler_pic_F77 - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_F77 - allow_undefined_flag_F77= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_F77=no - else - archive_cmds_need_lc_F77=yes - fi - allow_undefined_flag_F77=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - freebsd*) # from 4.6 on - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix3*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_F77= -if test -n "$hardcode_libdir_flag_spec_F77" || \ - test -n "$runpath_var_F77" || \ - test "X$hardcode_automatic_F77" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_F77" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && - test "$hardcode_minus_L_F77" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_F77=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_F77=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_F77=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 -echo "${ECHO_T}$hardcode_action_F77" >&6; } - -if test "$hardcode_action_F77" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_F77 \ - CC_F77 \ - LD_F77 \ - lt_prog_compiler_wl_F77 \ - lt_prog_compiler_pic_F77 \ - lt_prog_compiler_static_F77 \ - lt_prog_compiler_no_builtin_flag_F77 \ - export_dynamic_flag_spec_F77 \ - thread_safe_flag_spec_F77 \ - whole_archive_flag_spec_F77 \ - enable_shared_with_static_runtimes_F77 \ - old_archive_cmds_F77 \ - old_archive_from_new_cmds_F77 \ - predep_objects_F77 \ - postdep_objects_F77 \ - predeps_F77 \ - postdeps_F77 \ - compiler_lib_search_path_F77 \ - archive_cmds_F77 \ - archive_expsym_cmds_F77 \ - postinstall_cmds_F77 \ - postuninstall_cmds_F77 \ - old_archive_from_expsyms_cmds_F77 \ - allow_undefined_flag_F77 \ - no_undefined_flag_F77 \ - export_symbols_cmds_F77 \ - hardcode_libdir_flag_spec_F77 \ - hardcode_libdir_flag_spec_ld_F77 \ - hardcode_libdir_separator_F77 \ - hardcode_automatic_F77 \ - module_cmds_F77 \ - module_expsym_cmds_F77 \ - lt_cv_prog_compiler_c_o_F77 \ - exclude_expsyms_F77 \ - include_expsyms_F77; do - - case $var in - old_archive_cmds_F77 | \ - old_archive_from_new_cmds_F77 | \ - archive_cmds_F77 | \ - archive_expsym_cmds_F77 | \ - module_cmds_F77 | \ - module_expsym_cmds_F77 | \ - old_archive_from_expsyms_cmds_F77 | \ - export_symbols_cmds_F77 | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_F77 - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_F77 - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_F77 - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_F77 - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_F77 - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_F77 -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_F77 - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_F77 -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_F77 -archive_expsym_cmds=$lt_archive_expsym_cmds_F77 -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_F77 -module_expsym_cmds=$lt_module_expsym_cmds_F77 - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_F77 - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_F77 - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_F77 - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_F77 - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_F77 - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_F77 - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_F77 - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_F77 - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_F77 - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_F77 - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_F77" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_F77 - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_F77 - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_F77 - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_F77 - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -objext_GCJ=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${GCJ-"gcj"} -compiler=$CC -compiler_GCJ=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -archive_cmds_need_lc_GCJ=no - -old_archive_cmds_GCJ=$old_archive_cmds - - -lt_prog_compiler_no_builtin_flag_GCJ= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' - - -{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16215: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:16219: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" -else - : -fi - -fi - -lt_prog_compiler_wl_GCJ= -lt_prog_compiler_pic_GCJ= -lt_prog_compiler_static_GCJ= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_static_GCJ='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' - ;; - - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_GCJ=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GCJ=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_GCJ='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - else - lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_GCJ='-qnocommon' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - esac - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - linux*) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_GCJ='-Qoption ld ';; - *) - lt_prog_compiler_wl_GCJ='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_GCJ='-Qoption ld ' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_GCJ='-Kconform_pic' - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_can_build_shared_GCJ=no - ;; - - uts4*) - lt_prog_compiler_pic_GCJ='-pic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_GCJ=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_GCJ"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_GCJ=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_GCJ" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16483: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:16487: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_GCJ=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } - -if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then - case $lt_prog_compiler_pic_GCJ in - "" | " "*) ;; - *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; - esac -else - lt_prog_compiler_pic_GCJ= - lt_prog_compiler_can_build_shared_GCJ=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_GCJ= - ;; - *) - lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_GCJ=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_GCJ=yes - fi - else - lt_prog_compiler_static_works_GCJ=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } - -if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then - : -else - lt_prog_compiler_static_GCJ= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_GCJ=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16587: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:16591: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GCJ=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - runpath_var= - allow_undefined_flag_GCJ= - enable_shared_with_static_runtimes_GCJ=no - archive_cmds_GCJ= - archive_expsym_cmds_GCJ= - old_archive_From_new_cmds_GCJ= - old_archive_from_expsyms_cmds_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - thread_safe_flag_spec_GCJ= - hardcode_libdir_flag_spec_GCJ= - hardcode_libdir_flag_spec_ld_GCJ= - hardcode_libdir_separator_GCJ= - hardcode_direct_GCJ=no - hardcode_minus_L_GCJ=no - hardcode_shlibpath_var_GCJ=unsupported - link_all_deplibs_GCJ=unknown - hardcode_automatic_GCJ=no - module_cmds_GCJ= - module_expsym_cmds_GCJ= - always_export_symbols_GCJ=no - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_GCJ= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_GCJ=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_GCJ= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_GCJ=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs_GCJ=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_GCJ=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_GCJ='-L$libdir' - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=no - enable_shared_with_static_runtimes_GCJ=yes - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - interix3*) - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_GCJ=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_GCJ=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - - if test "$ld_shlibs_GCJ" = no; then - runpath_var= - hardcode_libdir_flag_spec_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_GCJ=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GCJ=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_GCJ='' - hardcode_direct_GCJ=yes - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct_GCJ=yes - else - # We have old collect2 - hardcode_direct_GCJ=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_GCJ=yes - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_libdir_separator_GCJ= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_GCJ=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GCJ='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GCJ="-z nodefs" - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GCJ=' ${wl}-bernotok' - allow_undefined_flag_GCJ=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GCJ='$convenience' - archive_cmds_need_lc_GCJ=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_GCJ=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec_GCJ=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_GCJ=' ' - allow_undefined_flag_GCJ=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_GCJ='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_GCJ=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_GCJ=no - hardcode_direct_GCJ=no - hardcode_automatic_GCJ=yes - hardcode_shlibpath_var_GCJ=unsupported - whole_archive_flag_spec_GCJ='' - link_all_deplibs_GCJ=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_GCJ=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - freebsd1*) - ld_shlibs_GCJ=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) - archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - - hardcode_direct_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - ;; - *) - hardcode_direct_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - link_all_deplibs_GCJ=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - newsos6) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_shlibpath_var_GCJ=no - ;; - - openbsd*) - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - ;; - *) - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_GCJ='-rpath $libdir' - fi - hardcode_libdir_separator_GCJ=: - ;; - - solaris*) - no_undefined_flag_GCJ=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_shlibpath_var_GCJ=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; - esac - link_all_deplibs_GCJ=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GCJ='$CC -r -o $output$reload_objs' - hardcode_direct_GCJ=no - ;; - motorola) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4.3*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - export_dynamic_flag_spec_GCJ='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GCJ=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) - no_undefined_flag_GCJ='${wl}-z,text' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_GCJ='${wl}-z,text' - allow_undefined_flag_GCJ='${wl}-z,nodefs' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - *) - ld_shlibs_GCJ=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 -echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } -test "$ld_shlibs_GCJ" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GCJ" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GCJ=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_GCJ in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GCJ - pic_flag=$lt_prog_compiler_pic_GCJ - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ - allow_undefined_flag_GCJ= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_GCJ=no - else - archive_cmds_need_lc_GCJ=yes - fi - allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - freebsd*) # from 4.6 on - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix3*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_GCJ= -if test -n "$hardcode_libdir_flag_spec_GCJ" || \ - test -n "$runpath_var_GCJ" || \ - test "X$hardcode_automatic_GCJ" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_GCJ" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && - test "$hardcode_minus_L_GCJ" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_GCJ=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_GCJ=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_GCJ=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 -echo "${ECHO_T}$hardcode_action_GCJ" >&6; } - -if test "$hardcode_action_GCJ" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_GCJ \ - CC_GCJ \ - LD_GCJ \ - lt_prog_compiler_wl_GCJ \ - lt_prog_compiler_pic_GCJ \ - lt_prog_compiler_static_GCJ \ - lt_prog_compiler_no_builtin_flag_GCJ \ - export_dynamic_flag_spec_GCJ \ - thread_safe_flag_spec_GCJ \ - whole_archive_flag_spec_GCJ \ - enable_shared_with_static_runtimes_GCJ \ - old_archive_cmds_GCJ \ - old_archive_from_new_cmds_GCJ \ - predep_objects_GCJ \ - postdep_objects_GCJ \ - predeps_GCJ \ - postdeps_GCJ \ - compiler_lib_search_path_GCJ \ - archive_cmds_GCJ \ - archive_expsym_cmds_GCJ \ - postinstall_cmds_GCJ \ - postuninstall_cmds_GCJ \ - old_archive_from_expsyms_cmds_GCJ \ - allow_undefined_flag_GCJ \ - no_undefined_flag_GCJ \ - export_symbols_cmds_GCJ \ - hardcode_libdir_flag_spec_GCJ \ - hardcode_libdir_flag_spec_ld_GCJ \ - hardcode_libdir_separator_GCJ \ - hardcode_automatic_GCJ \ - module_cmds_GCJ \ - module_expsym_cmds_GCJ \ - lt_cv_prog_compiler_c_o_GCJ \ - exclude_expsyms_GCJ \ - include_expsyms_GCJ; do - - case $var in - old_archive_cmds_GCJ | \ - old_archive_from_new_cmds_GCJ | \ - archive_cmds_GCJ | \ - archive_expsym_cmds_GCJ | \ - module_cmds_GCJ | \ - module_expsym_cmds_GCJ | \ - old_archive_from_expsyms_cmds_GCJ | \ - export_symbols_cmds_GCJ | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GCJ - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_GCJ - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_GCJ - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_GCJ - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GCJ - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GCJ -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GCJ - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_GCJ -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_GCJ -archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_GCJ -module_expsym_cmds=$lt_module_expsym_cmds_GCJ - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_GCJ - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_GCJ - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GCJ - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GCJ - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GCJ - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_GCJ - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_GCJ - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_GCJ - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GCJ - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_GCJ" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_GCJ - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_GCJ - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GCJ - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_GCJ - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - else - tagname="" - fi - ;; - - RC) - - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -objext_RC=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${RC-"windres"} -compiler=$CC -compiler_RC=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - -lt_cv_prog_compiler_c_o_RC=yes - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_RC \ - CC_RC \ - LD_RC \ - lt_prog_compiler_wl_RC \ - lt_prog_compiler_pic_RC \ - lt_prog_compiler_static_RC \ - lt_prog_compiler_no_builtin_flag_RC \ - export_dynamic_flag_spec_RC \ - thread_safe_flag_spec_RC \ - whole_archive_flag_spec_RC \ - enable_shared_with_static_runtimes_RC \ - old_archive_cmds_RC \ - old_archive_from_new_cmds_RC \ - predep_objects_RC \ - postdep_objects_RC \ - predeps_RC \ - postdeps_RC \ - compiler_lib_search_path_RC \ - archive_cmds_RC \ - archive_expsym_cmds_RC \ - postinstall_cmds_RC \ - postuninstall_cmds_RC \ - old_archive_from_expsyms_cmds_RC \ - allow_undefined_flag_RC \ - no_undefined_flag_RC \ - export_symbols_cmds_RC \ - hardcode_libdir_flag_spec_RC \ - hardcode_libdir_flag_spec_ld_RC \ - hardcode_libdir_separator_RC \ - hardcode_automatic_RC \ - module_cmds_RC \ - module_expsym_cmds_RC \ - lt_cv_prog_compiler_c_o_RC \ - exclude_expsyms_RC \ - include_expsyms_RC; do - - case $var in - old_archive_cmds_RC | \ - old_archive_from_new_cmds_RC | \ - archive_cmds_RC | \ - archive_expsym_cmds_RC | \ - module_cmds_RC | \ - module_expsym_cmds_RC | \ - old_archive_from_expsyms_cmds_RC | \ - export_symbols_cmds_RC | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_RC - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_RC - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_RC - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_RC - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_RC - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_RC -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_RC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_RC -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_RC -archive_expsym_cmds=$lt_archive_expsym_cmds_RC -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_RC -module_expsym_cmds=$lt_module_expsym_cmds_RC - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_RC - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_RC - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_RC - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_RC - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_RC - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_RC - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_RC - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_RC - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_RC - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_RC - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_RC - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_RC" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_RC - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_RC - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_RC - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_RC - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - ;; - - *) - { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 -echo "$as_me: error: Unsupported tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 -echo "$as_me: error: unable to update list of available tagged configurations." >&2;} - { (exit 1); exit 1; }; } - fi -fi - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - -# Prevent multiple expansion - - - - - - - - - - - - - - - - - - - - - - -{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - - -# Check whether --enable-selftest was given. -if test "${enable_selftest+set}" = set; then - enableval=$enable_selftest; case "${enableval}" in - yes) - selftest=true - ;; - no) - selftest=false - ;; - *) - { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-selftest" >&5 -echo "$as_me: error: bad value ${enableval} for --enable-selftest" >&2;} - { (exit 1); exit 1; }; } - ;; - esac -else - selftest=false -fi - - if test x$selftest = xtrue; then - SELFTEST_TRUE= - SELFTEST_FALSE='#' -else - SELFTEST_TRUE='#' - SELFTEST_FALSE= -fi - - -ac_config_files="$ac_config_files Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { echo "$as_me:$LINENO: updating cache $cache_file" >&5 -echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${SELFTEST_TRUE}" && test -z "${SELFTEST_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"SELFTEST\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"SELFTEST\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi - -: ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir -fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 - -# Save the log message, to keep $[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by breakpad $as_me 0.1, which was -generated by GNU Autoconf 2.61. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -ac_cs_version="\\ -breakpad config.status 0.1 -configured by $0, generated by GNU Autoconf 2.61, - with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - -Copyright (C) 2006 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - echo "$ac_cs_version"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - { echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) { echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -if \$ac_cs_recheck; then - echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - CONFIG_SHELL=$SHELL - export CONFIG_SHELL - exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || -{ - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -# -# Set up the sed scripts for CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "$CONFIG_FILES"; then - -_ACEOF - - - -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -SHELL!$SHELL$ac_delim -PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim -PACKAGE_NAME!$PACKAGE_NAME$ac_delim -PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim -PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim -PACKAGE_STRING!$PACKAGE_STRING$ac_delim -PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim -exec_prefix!$exec_prefix$ac_delim -prefix!$prefix$ac_delim -program_transform_name!$program_transform_name$ac_delim -bindir!$bindir$ac_delim -sbindir!$sbindir$ac_delim -libexecdir!$libexecdir$ac_delim -datarootdir!$datarootdir$ac_delim -datadir!$datadir$ac_delim -sysconfdir!$sysconfdir$ac_delim -sharedstatedir!$sharedstatedir$ac_delim -localstatedir!$localstatedir$ac_delim -includedir!$includedir$ac_delim -oldincludedir!$oldincludedir$ac_delim -docdir!$docdir$ac_delim -infodir!$infodir$ac_delim -htmldir!$htmldir$ac_delim -dvidir!$dvidir$ac_delim -pdfdir!$pdfdir$ac_delim -psdir!$psdir$ac_delim -libdir!$libdir$ac_delim -localedir!$localedir$ac_delim -mandir!$mandir$ac_delim -DEFS!$DEFS$ac_delim -ECHO_C!$ECHO_C$ac_delim -ECHO_N!$ECHO_N$ac_delim -ECHO_T!$ECHO_T$ac_delim -LIBS!$LIBS$ac_delim -build_alias!$build_alias$ac_delim -host_alias!$host_alias$ac_delim -target_alias!$target_alias$ac_delim -INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim -INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim -INSTALL_DATA!$INSTALL_DATA$ac_delim -am__isrc!$am__isrc$ac_delim -CYGPATH_W!$CYGPATH_W$ac_delim -PACKAGE!$PACKAGE$ac_delim -VERSION!$VERSION$ac_delim -ACLOCAL!$ACLOCAL$ac_delim -AUTOCONF!$AUTOCONF$ac_delim -AUTOMAKE!$AUTOMAKE$ac_delim -AUTOHEADER!$AUTOHEADER$ac_delim -MAKEINFO!$MAKEINFO$ac_delim -install_sh!$install_sh$ac_delim -STRIP!$STRIP$ac_delim -INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim -mkdir_p!$mkdir_p$ac_delim -AWK!$AWK$ac_delim -SET_MAKE!$SET_MAKE$ac_delim -am__leading_dot!$am__leading_dot$ac_delim -AMTAR!$AMTAR$ac_delim -am__tar!$am__tar$ac_delim -am__untar!$am__untar$ac_delim -CC!$CC$ac_delim -CFLAGS!$CFLAGS$ac_delim -LDFLAGS!$LDFLAGS$ac_delim -CPPFLAGS!$CPPFLAGS$ac_delim -ac_ct_CC!$ac_ct_CC$ac_delim -EXEEXT!$EXEEXT$ac_delim -OBJEXT!$OBJEXT$ac_delim -DEPDIR!$DEPDIR$ac_delim -am__include!$am__include$ac_delim -am__quote!$am__quote$ac_delim -AMDEP_TRUE!$AMDEP_TRUE$ac_delim -AMDEP_FALSE!$AMDEP_FALSE$ac_delim -AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim -CCDEPMODE!$CCDEPMODE$ac_delim -am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim -am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim -CPP!$CPP$ac_delim -CXX!$CXX$ac_delim -CXXFLAGS!$CXXFLAGS$ac_delim -ac_ct_CXX!$ac_ct_CXX$ac_delim -CXXDEPMODE!$CXXDEPMODE$ac_delim -am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim -am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim -build!$build$ac_delim -build_cpu!$build_cpu$ac_delim -build_vendor!$build_vendor$ac_delim -build_os!$build_os$ac_delim -host!$host$ac_delim -host_cpu!$host_cpu$ac_delim -host_vendor!$host_vendor$ac_delim -host_os!$host_os$ac_delim -GREP!$GREP$ac_delim -EGREP!$EGREP$ac_delim -LN_S!$LN_S$ac_delim -ECHO!$ECHO$ac_delim -AR!$AR$ac_delim -RANLIB!$RANLIB$ac_delim -CXXCPP!$CXXCPP$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -CEOF$ac_eof -_ACEOF - - -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -F77!$F77$ac_delim -FFLAGS!$FFLAGS$ac_delim -ac_ct_F77!$ac_ct_F77$ac_delim -LIBTOOL!$LIBTOOL$ac_delim -LIBTOOL_DEPS!$LIBTOOL_DEPS$ac_delim -SELFTEST_TRUE!$SELFTEST_TRUE$ac_delim -SELFTEST_FALSE!$SELFTEST_FALSE$ac_delim -LIBOBJS!$LIBOBJS$ac_delim -LTLIBOBJS!$LTLIBOBJS$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 9; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -:end -s/|#_!!_#|//g -CEOF$ac_eof -_ACEOF - - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ -s/:*$// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF -fi # test -n "$CONFIG_FILES" - - -for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -echo "$as_me: error: Invalid tag $ac_tag." >&2;} - { (exit 1); exit 1; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; - esac - ac_file_inputs="$ac_file_inputs $ac_f" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input="Generated from "`IFS=: - echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - fi - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin";; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= - -case `sed -n '/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p -' $ac_file_inputs` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s&@configure_input@&$configure_input&;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} - - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out"; rm -f "$tmp/out";; - *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; - esac - ;; - :H) - # - # CONFIG_HEADER - # -_ACEOF - -# Transform confdefs.h into a sed script `conftest.defines', that -# substitutes the proper values into config.h.in to produce config.h. -rm -f conftest.defines conftest.tail -# First, append a space to every undef/define line, to ease matching. -echo 's/$/ /' >conftest.defines -# Then, protect against being on the right side of a sed subst, or in -# an unquoted here document, in config.status. If some macros were -# called several times there might be several #defines for the same -# symbol, which is useless. But do not sort them, since the last -# AC_DEFINE must be honored. -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where -# NAME is the cpp macro being defined, VALUE is the value it is being given. -# PARAMS is the parameter list in the macro definition--in most cases, it's -# just an empty string. -ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' -ac_dB='\\)[ (].*,\\1define\\2' -ac_dC=' ' -ac_dD=' ,' - -uniq confdefs.h | - sed -n ' - t rset - :rset - s/^[ ]*#[ ]*define[ ][ ]*// - t ok - d - :ok - s/[\\&,]/\\&/g - s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p - s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p - ' >>conftest.defines - -# Remove the space that was appended to ease matching. -# Then replace #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -# (The regexp can be short, since the line contains either #define or #undef.) -echo 's/ $// -s,^[ #]*u.*,/* & */,' >>conftest.defines - -# Break up conftest.defines: -ac_max_sed_lines=50 - -# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" -# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" -# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" -# et cetera. -ac_in='$ac_file_inputs' -ac_out='"$tmp/out1"' -ac_nxt='"$tmp/out2"' - -while : -do - # Write a here document: - cat >>$CONFIG_STATUS <<_ACEOF - # First, check the format of the line: - cat >"\$tmp/defines.sed" <<\\CEOF -/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def -/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def -b -:def -_ACEOF - sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS - echo 'CEOF - sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS - ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in - sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail - grep . conftest.tail >/dev/null || break - rm -f conftest.defines - mv conftest.tail conftest.defines -done -rm -f conftest.defines conftest.tail - -echo "ac_result=$ac_in" >>$CONFIG_STATUS -cat >>$CONFIG_STATUS <<\_ACEOF - if test x"$ac_file" != x-; then - echo "/* $configure_input */" >"$tmp/config.h" - cat "$ac_result" >>"$tmp/config.h" - if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then - { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f $ac_file - mv "$tmp/config.h" $ac_file - fi - else - echo "/* $configure_input */" - cat "$ac_result" - fi - rm -f "$tmp/out12" -# Compute $ac_file's index in $config_headers. -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $ac_file | $ac_file:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || -$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X$ac_file : 'X\(//\)[^/]' \| \ - X$ac_file : 'X\(//\)$' \| \ - X$ac_file : 'X\(/\)' \| . 2>/dev/null || -echo X$ac_file | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 -echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir=$dirpart/$fdir - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done - ;; - - esac -done # for ac_tag - - -{ (exit 0); exit 0; } -_ACEOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi - diff --git a/toolkit/airbag/airbag/configure.ac b/toolkit/airbag/airbag/configure.ac deleted file mode 100755 index 7287df69c195..000000000000 --- a/toolkit/airbag/airbag/configure.ac +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright (c) 2006, Google Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -AC_PREREQ(2.57) - -AC_INIT(breakpad, 0.1, opensource@google.com) -dnl Sanity check: the argument is just a file that should exist. -AC_CONFIG_SRCDIR(README) -AC_CONFIG_AUX_DIR(autotools) - -AM_INIT_AUTOMAKE(subdir-objects tar-ustar) -AM_CONFIG_HEADER(src/config.h) - -AC_PROG_CC -AC_PROG_CPP -AC_PROG_CXX - -AC_PROG_LIBTOOL -AC_SUBST(LIBTOOL_DEPS) - -AC_HEADER_STDC - -AC_ARG_ENABLE(selftest, - AS_HELP_STRING([--enable-selftest], - [Run extra tests with "make check" ] - [(may conflict with optimizations) ] - [(default is no)]), - [case "${enableval}" in - yes) - selftest=true - ;; - no) - selftest=false - ;; - *) - AC_MSG_ERROR(bad value ${enableval} for --enable-selftest) - ;; - esac], - [selftest=false]) -AM_CONDITIONAL(SELFTEST, test x$selftest = xtrue) - -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT diff --git a/toolkit/airbag/airbag/src/client/Makefile.in b/toolkit/airbag/airbag/src/client/Makefile.in deleted file mode 100644 index 041e80cc8c11..000000000000 --- a/toolkit/airbag/airbag/src/client/Makefile.in +++ /dev/null @@ -1,58 +0,0 @@ -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Breakpad integration -# -# The Initial Developer of the Original Code is -# Ted Mielczarek -# Portions created by the Initial Developer are Copyright (C) 2007 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = minidump_file_writer -LIBRARY_NAME = minidump_file_writer_s -XPI_NAME = crashreporter - -LOCAL_INCLUDES = -I$(srcdir)/.. - -CPPSRCS = \ - minidump_file_writer.cc \ - $(NULL) - -# need static lib -FORCE_STATIC_LIB = 1 -FORCE_USE_PIC = 1 - -include $(topsrcdir)/config/rules.mk diff --git a/toolkit/airbag/airbag/src/client/linux/handler/Makefile.in b/toolkit/airbag/airbag/src/client/linux/handler/Makefile.in deleted file mode 100644 index 8e0c04ea4560..000000000000 --- a/toolkit/airbag/airbag/src/client/linux/handler/Makefile.in +++ /dev/null @@ -1,60 +0,0 @@ -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Breakpad integration -# -# The Initial Developer of the Original Code is -# Ted Mielczarek -# Portions created by the Initial Developer are Copyright (C) 2007 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../../../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = handler -LIBRARY_NAME = exception_handler_s -XPI_NAME = crashreporter - -LOCAL_INCLUDES = -I$(srcdir)/../../.. - -CPPSRCS = \ - exception_handler.cc \ - minidump_generator.cc \ - linux_thread.cc \ - $(NULL) - -# need static lib -FORCE_STATIC_LIB = 1 -FORCE_USE_PIC = 1 - -include $(topsrcdir)/config/rules.mk diff --git a/toolkit/airbag/airbag/src/client/linux/handler/exception_handler.cc b/toolkit/airbag/airbag/src/client/linux/handler/exception_handler.cc deleted file mode 100644 index e23f0f5fc3e2..000000000000 --- a/toolkit/airbag/airbag/src/client/linux/handler/exception_handler.cc +++ /dev/null @@ -1,265 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Author: Li Liu -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include -#include -#include - -#include -#include -#include - -#include "client/linux/handler/exception_handler.h" -#include "common/linux/guid_creator.h" -#include "google_breakpad/common/minidump_format.h" - -namespace google_breakpad { - -// Signals that we are interested. -int SigTable[] = { -#if defined(SIGSEGV) - SIGSEGV, -#endif -#ifdef SIGABRT - SIGABRT, -#endif -#ifdef SIGFPE - SIGFPE, -#endif -#ifdef SIGILL - SIGILL, -#endif -#ifdef SIGBUS - SIGBUS, -#endif -}; - -std::vector *ExceptionHandler::handler_stack_ = NULL; -int ExceptionHandler::handler_stack_index_ = 0; -pthread_mutex_t ExceptionHandler::handler_stack_mutex_ = -PTHREAD_MUTEX_INITIALIZER; - -ExceptionHandler::ExceptionHandler(const string &dump_path, - FilterCallback filter, - MinidumpCallback callback, - void *callback_context, - bool install_handler) - : filter_(filter), - callback_(callback), - callback_context_(callback_context), - dump_path_(), - installed_handler_(install_handler) { - set_dump_path(dump_path); - - if (install_handler) { - SetupHandler(); - pthread_mutex_lock(&handler_stack_mutex_); - if (handler_stack_ == NULL) - handler_stack_ = new std::vector; - handler_stack_->push_back(this); - pthread_mutex_unlock(&handler_stack_mutex_); - } -} - -ExceptionHandler::~ExceptionHandler() { - TeardownAllHandler(); - pthread_mutex_lock(&handler_stack_mutex_); - if (handler_stack_->back() == this) { - handler_stack_->pop_back(); - } else { - fprintf(stderr, "warning: removing Breakpad handler out of order\n"); - for (std::vector::iterator iterator = - handler_stack_->begin(); - iterator != handler_stack_->end(); - ++iterator) { - if (*iterator == this) { - handler_stack_->erase(iterator); - } - } - } - - if (handler_stack_->empty()) { - // When destroying the last ExceptionHandler that installed a handler, - // clean up the handler stack. - delete handler_stack_; - handler_stack_ = NULL; - } - pthread_mutex_unlock(&handler_stack_mutex_); -} - -bool ExceptionHandler::WriteMinidump() { - return InternalWriteMinidump(0, 0, NULL); -} - -// static -bool ExceptionHandler::WriteMinidump(const string &dump_path, - MinidumpCallback callback, - void *callback_context) { - ExceptionHandler handler(dump_path, NULL, callback, - callback_context, false); - return handler.InternalWriteMinidump(0, 0, NULL); -} - -void ExceptionHandler::SetupHandler() { - // Signal on a different stack to avoid using the stack - // of the crashing thread. - struct sigaltstack sig_stack; - sig_stack.ss_sp = malloc(MINSIGSTKSZ); - if (sig_stack.ss_sp == NULL) - return; - sig_stack.ss_size = MINSIGSTKSZ; - sig_stack.ss_flags = 0; - - if (sigaltstack(&sig_stack, NULL) < 0) - return; - for (size_t i = 0; i < sizeof(SigTable) / sizeof(SigTable[0]); ++i) - SetupHandler(SigTable[i]); -} - -void ExceptionHandler::SetupHandler(int signo) { - struct sigaction act, old_act; - act.sa_handler = HandleException; - act.sa_flags = SA_ONSTACK; - if (sigaction(signo, &act, &old_act) < 0) - return; - old_handlers_[signo] = old_act.sa_handler; -} - -void ExceptionHandler::TeardownHandler(int signo) { - if (old_handlers_.find(signo) != old_handlers_.end()) { - struct sigaction act; - act.sa_handler = old_handlers_[signo]; - act.sa_flags = 0; - sigaction(signo, &act, 0); - } -} - -void ExceptionHandler::TeardownAllHandler() { - for (size_t i = 0; i < sizeof(SigTable) / sizeof(SigTable[0]); ++i) { - TeardownHandler(SigTable[i]); - } -} - -// static -void ExceptionHandler::HandleException(int signo) { - // In Linux, the context information about the signal is put on the stack of - // the signal handler frame as value parameter. For some reasons, the - // prototype of the handler doesn't declare this information as parameter, we - // will do it by hand. It is the second parameter above the signal number. - // However, if we are being called by another signal handler passing the - // signal up the chain, then we may not have this random extra parameter, - // so we may have to walk the stack to find it. We do the actual work - // on another thread, where it's a little safer, but we want the ebp - // from this frame to find it. - uintptr_t current_ebp = 0; - asm volatile ("movl %%ebp, %0" - :"=m"(current_ebp)); - - pthread_mutex_lock(&handler_stack_mutex_); - ExceptionHandler *current_handler = - handler_stack_->at(handler_stack_->size() - ++handler_stack_index_); - pthread_mutex_unlock(&handler_stack_mutex_); - - // Restore original handler. - current_handler->TeardownHandler(signo); - - struct sigcontext *sig_ctx = NULL; - if (current_handler->InternalWriteMinidump(signo, current_ebp, &sig_ctx)) { - // Fully handled this exception, safe to exit. - exit(EXIT_FAILURE); - } else { - // Exception not fully handled, will call the next handler in stack to - // process it. - typedef void (*SignalHandler)(int signo, struct sigcontext); - SignalHandler old_handler = - reinterpret_cast(current_handler->old_handlers_[signo]); - if (old_handler != NULL && sig_ctx != NULL) - old_handler(signo, *sig_ctx); - } - - pthread_mutex_lock(&handler_stack_mutex_); - current_handler->SetupHandler(signo); - --handler_stack_index_; - // All the handlers in stack have been invoked to handle the exception, - // normally the process should be terminated and should not reach here. - // In case we got here, ask the OS to handle it to avoid endless loop, - // normally the OS will generate a core and termiate the process. This - // may be desired to debug the program. - if (handler_stack_index_ == 0) - signal(signo, SIG_DFL); - pthread_mutex_unlock(&handler_stack_mutex_); -} - -bool ExceptionHandler::InternalWriteMinidump(int signo, - uintptr_t sighandler_ebp, - struct sigcontext **sig_ctx) { - if (filter_ && !filter_(callback_context_)) - return false; - - GUID guid; - bool success = false;; - char guid_str[kGUIDStringLength + 1]; - if (CreateGUID(&guid) && GUIDToString(&guid, guid_str, sizeof(guid_str))) { - char minidump_path[PATH_MAX]; - snprintf(minidump_path, sizeof(minidump_path), "%s/%s.dmp", - dump_path_c_, - guid_str); - - // Block all the signals we want to process when writting minidump. - // We don't want it to be interrupted. - sigset_t sig_blocked, sig_old; - bool blocked = true; - sigfillset(&sig_blocked); - for (size_t i = 0; i < sizeof(SigTable) / sizeof(SigTable[0]); ++i) - sigdelset(&sig_blocked, SigTable[i]); - if (sigprocmask(SIG_BLOCK, &sig_blocked, &sig_old) != 0) { - blocked = false; - fprintf(stderr, "google_breakpad::ExceptionHandler::HandleException: " - "failed to block signals.\n"); - } - - success = minidump_generator_.WriteMinidumpToFile( - minidump_path, signo, sighandler_ebp, sig_ctx); - - // Unblock the signals. - if (blocked) { - sigprocmask(SIG_SETMASK, &sig_old, &sig_old); - } - - if (callback_) - success = callback_(dump_path_c_, guid_str, - callback_context_, success); - } - return success; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/client/linux/handler/exception_handler.h b/toolkit/airbag/airbag/src/client/linux/handler/exception_handler.h deleted file mode 100644 index 2a21231587c5..000000000000 --- a/toolkit/airbag/airbag/src/client/linux/handler/exception_handler.h +++ /dev/null @@ -1,201 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Author: Li Liu -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#ifndef CLIENT_LINUX_HANDLER_EXCEPTION_HANDLER_H__ -#define CLIENT_LINUX_HANDLER_EXCEPTION_HANDLER_H__ - -#include - -#include -#include -#include - -#include "client/linux/handler/minidump_generator.h" - -// Context information when exception occured. -struct sigcontex; - -namespace google_breakpad { - -using std::string; - -// -// ExceptionHandler -// -// ExceptionHandler can write a minidump file when an exception occurs, -// or when WriteMinidump() is called explicitly by your program. -// -// To have the exception handler write minidumps when an uncaught exception -// (crash) occurs, you should create an instance early in the execution -// of your program, and keep it around for the entire time you want to -// have crash handling active (typically, until shutdown). -// (NOTE): There should be only be one this kind of exception handler -// object per process. -// -// If you want to write minidumps without installing the exception handler, -// you can create an ExceptionHandler with install_handler set to false, -// then call WriteMinidump. You can also use this technique if you want to -// use different minidump callbacks for different call sites. -// -// In either case, a callback function is called when a minidump is written, -// which receives the unqiue id of the minidump. The caller can use this -// id to collect and write additional application state, and to launch an -// external crash-reporting application. -// -// Caller should try to make the callbacks as crash-friendly as possible, -// it should avoid use heap memory allocation as much as possible. -// -class ExceptionHandler { - public: - // A callback function to run before Breakpad performs any substantial - // processing of an exception. A FilterCallback is called before writing - // a minidump. context is the parameter supplied by the user as - // callback_context when the handler was created. - // - // If a FilterCallback returns true, Breakpad will continue processing, - // attempting to write a minidump. If a FilterCallback returns false, - // Breakpad will immediately report the exception as unhandled without - // writing a minidump, allowing another handler the opportunity to handle it. - typedef bool (*FilterCallback)(void *context); - - // A callback function to run after the minidump has been written. - // minidump_id is a unique id for the dump, so the minidump - // file is \.dmp. context is the parameter supplied - // by the user as callback_context when the handler was created. succeeded - // indicates whether a minidump file was successfully written. - // - // If an exception occurred and the callback returns true, Breakpad will - // treat the exception as fully-handled, suppressing any other handlers from - // being notified of the exception. If the callback returns false, Breakpad - // will treat the exception as unhandled, and allow another handler to handle - // it. If there are no other handlers, Breakpad will report the exception to - // the system as unhandled, allowing a debugger or native crash dialog the - // opportunity to handle the exception. Most callback implementations - // should normally return the value of |succeeded|, or when they wish to - // not report an exception of handled, false. Callbacks will rarely want to - // return true directly (unless |succeeded| is true). - typedef bool (*MinidumpCallback)(const char *dump_path, - const char *minidump_id, - void *context, - bool succeeded); - - // Creates a new ExceptionHandler instance to handle writing minidumps. - // Before writing a minidump, the optional filter callback will be called. - // Its return value determines whether or not Breakpad should write a - // minidump. Minidump files will be written to dump_path, and the optional - // callback is called after writing the dump file, as described above. - // If install_handler is true, then a minidump will be written whenever - // an unhandled exception occurs. If it is false, minidumps will only - // be written when WriteMinidump is called. - ExceptionHandler(const string &dump_path, - FilterCallback filter, MinidumpCallback callback, - void *callback_context, - bool install_handler); - ~ExceptionHandler(); - - // Get and set the minidump path. - string dump_path() const { return dump_path_; } - void set_dump_path(const string &dump_path) { - dump_path_ = dump_path; - dump_path_c_ = dump_path_.c_str(); - } - - // Writes a minidump immediately. This can be used to capture the - // execution state independently of a crash. Returns true on success. - bool WriteMinidump(); - - // Convenience form of WriteMinidump which does not require an - // ExceptionHandler instance. - static bool WriteMinidump(const string &dump_path, - MinidumpCallback callback, - void *callback_context); - - private: - // Setup crash handler. - void SetupHandler(); - // Setup signal handler for a signal. - void SetupHandler(int signo); - // Teardown the handler for a signal. - void TeardownHandler(int signo); - // Teardown all handlers. - void TeardownAllHandler(); - - // Signal handler. - static void HandleException(int signo); - - // If called from a signal handler, sighandler_ebp is the ebp of - // that signal handler's frame, and sig_ctx is an out parameter - // that will be set to point at the sigcontext that was placed - // on the stack by the kernel. You can pass zero and NULL - // for the second and third parameters if you are not calling - // this from a signal handler. - bool InternalWriteMinidump(int signo, uintptr_t sighandler_ebp, - struct sigcontext **sig_ctx); - - private: - FilterCallback filter_; - MinidumpCallback callback_; - void *callback_context_; - - // The directory in which a minidump will be written, set by the dump_path - // argument to the constructor, or set_dump_path. - string dump_path_; - // C style dump path. Keep this when setting dump path, since calling - // c_str() of std::string when crashing may not be safe. - const char *dump_path_c_; - - // True if the ExceptionHandler installed an unhandled exception filter - // when created (with an install_handler parameter set to true). - bool installed_handler_; - - // Keep the previous handlers for the signal. - typedef void (*sighandler_t)(int); - std::map old_handlers_; - - // The global exception handler stack. This is need becuase there may exist - // multiple ExceptionHandler instances in a process. Each will have itself - // registered in this stack. - static std::vector *handler_stack_; - // The index of the handler that should handle the next exception. - static int handler_stack_index_; - static pthread_mutex_t handler_stack_mutex_; - - // The minidump generator. - MinidumpGenerator minidump_generator_; - - // disallow copy ctor and operator= - explicit ExceptionHandler(const ExceptionHandler &); - void operator=(const ExceptionHandler &); -}; - -} // namespace google_breakpad - -#endif // CLIENT_LINUX_HANDLER_EXCEPTION_HANDLER_H__ diff --git a/toolkit/airbag/airbag/src/client/linux/handler/exception_handler_test.cc b/toolkit/airbag/airbag/src/client/linux/handler/exception_handler_test.cc deleted file mode 100644 index 2d94553ddfb4..000000000000 --- a/toolkit/airbag/airbag/src/client/linux/handler/exception_handler_test.cc +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Author: Li Liu -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include - -#include -#include -#include -#include - -#include "client/linux/handler/exception_handler.h" -#include "client/linux/handler/linux_thread.h" - -using namespace google_breakpad; - -// Thread use this to see if it should stop working. -static bool should_exit = false; - -static int foo2(int arg) { - // Stack variable, used for debugging stack dumps. - /*DDDebug*/printf("%s:%d\n", __FUNCTION__, __LINE__); - int c = 0xcccccccc; - fprintf(stderr, "Thread trying to crash: %x\n", getpid()); - c = *reinterpret_cast(0x5); - return c; -} - -static int foo(int arg) { - // Stack variable, used for debugging stack dumps. - int b = 0xbbbbbbbb; - b = foo2(b); - return b; -} - -static void *thread_crash(void *) { - // Stack variable, used for debugging stack dumps. - int a = 0xaaaaaaaa; - sleep(1); - a = foo(a); - printf("%x\n", a); - return NULL; -} - -static void *thread_main(void *) { - while (!should_exit) - sleep(1); - return NULL; -} - -static void CreateCrashThread() { - pthread_t h; - pthread_create(&h, NULL, thread_crash, NULL); - pthread_detach(h); -} - -// Create working threads. -static void CreateThread(int num) { - pthread_t h; - for (int i = 0; i < num; ++i) { - pthread_create(&h, NULL, thread_main, NULL); - pthread_detach(h); - } -} - -// Callback when minidump written. -static bool MinidumpCallback(const char *dump_path, - const char *minidump_id, - void *context, - bool succeeded) { - int index = reinterpret_cast(context); - printf("%d %s: %s is dumped\n", index, __FUNCTION__, minidump_id); - if (index == 0) { - should_exit = true; - return true; - } - // Don't process it. - return false; -} - -int main(int argc, char *argv[]) { - int handler_index = 0; - ExceptionHandler handler_ignore(".", NULL, MinidumpCallback, - (void*)handler_index, true); - ++handler_index; - ExceptionHandler handler_process(".", NULL, MinidumpCallback, - (void*)handler_index, true); - CreateCrashThread(); - CreateThread(10); - - while (true) - sleep(1); - should_exit = true; - - return 0; -} diff --git a/toolkit/airbag/airbag/src/client/linux/handler/linux_thread.cc b/toolkit/airbag/airbag/src/client/linux/handler/linux_thread.cc deleted file mode 100644 index 2fe103e4c023..000000000000 --- a/toolkit/airbag/airbag/src/client/linux/handler/linux_thread.cc +++ /dev/null @@ -1,410 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Author: Li Liu -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "client/linux/handler/linux_thread.h" - -using namespace google_breakpad; - -// This unamed namespace contains helper function. -namespace { - -// Context information for the callbacks when validating address by listing -// modules. -struct AddressValidatingContext { - uintptr_t address; - bool is_mapped; - - AddressValidatingContext() : address(0UL), is_mapped(false) { - } -}; - -// Convert from string to int. -bool LocalAtoi(char *s, int *r) { - assert(s != NULL); - assert(r != NULL); - char *endptr = NULL; - int ret = strtol(s, &endptr, 10); - if (endptr == s) - return false; - *r = ret; - return true; -} - -// Fill the proc path of a thread given its id. -void FillProcPath(int pid, char *path, int path_size) { - char pid_str[32]; - snprintf(pid_str, sizeof(pid_str), "%d", pid); - snprintf(path, path_size, "/proc/%s/", pid_str); -} - -// Read thread info from /proc/$pid/status. -bool ReadThreadInfo(int pid, ThreadInfo *info) { - assert(info != NULL); - char status_path[80]; - // Max size we want to read from status file. - static const int kStatusMaxSize = 1024; - char status_content[kStatusMaxSize]; - - FillProcPath(pid, status_path, sizeof(status_path)); - strcat(status_path, "status"); - int fd = open(status_path, O_RDONLY, 0); - if (fd < 0) - return false; - - int num_read = read(fd, status_content, kStatusMaxSize - 1); - if (num_read < 0) { - close(fd); - return false; - } - close(fd); - status_content[num_read] = '\0'; - - char *tgid_start = strstr(status_content, "Tgid:"); - if (tgid_start) - sscanf(tgid_start, "Tgid:\t%d\n", &(info->tgid)); - else - // tgid not supported by kernel?? - info->tgid = 0; - - tgid_start = strstr(status_content, "Pid:"); - if (tgid_start) { - sscanf(tgid_start, "Pid:\t%d\n" "PPid:\t%d\n", &(info->pid), - &(info->ppid)); - return true; - } - return false; -} - -// Callback invoked for each mapped module. -// It use the module's adderss range to validate the address. -bool IsAddressInModuleCallback(const ModuleInfo &module_info, - void *context) { - AddressValidatingContext *addr = - reinterpret_cast(context); - addr->is_mapped = ((addr->address >= module_info.start_addr) && - (addr->address <= module_info.start_addr + - module_info.size)); - return !addr->is_mapped; -} - -#if defined(__i386__) && !defined(NO_FRAME_POINTER) -void *GetNextFrame(void **last_ebp) { - void *sp = *last_ebp; - if ((unsigned long)sp == (unsigned long)last_ebp) - return NULL; - if ((unsigned long)sp & (sizeof(void *) - 1)) - return NULL; - if ((unsigned long)sp - (unsigned long)last_ebp > 100000) - return NULL; - return sp; -} -#else -void *GetNextFrame(void **last_ebp) { - return reinterpret_cast(last_ebp); -} -#endif - -// Suspend a thread by attaching to it. -bool SuspendThread(int pid, void *context) { - // This may fail if the thread has just died or debugged. - errno = 0; - if (ptrace(PTRACE_ATTACH, pid, NULL, NULL) != 0 && - errno != 0) { - return false; - } - while (waitpid(pid, NULL, __WALL) < 0) { - if (errno != EINTR) { - ptrace(PTRACE_DETACH, pid, NULL, NULL); - return false; - } - } - return true; -} - -// Resume a thread by detaching from it. -bool ResumeThread(int pid, void *context) { - return ptrace(PTRACE_DETACH, pid, NULL, NULL) >= 0; -} - -// Callback to get the thread information. -// Will be called for each thread found. -bool ThreadInfoCallback(int pid, void *context) { - CallbackParam *thread_callback = - reinterpret_cast *>(context); - ThreadInfo thread_info; - if (ReadThreadInfo(pid, &thread_info) && thread_callback) { - // Invoke callback from caller. - return (thread_callback->call_back)(thread_info, thread_callback->context); - } - return false; -} - -} // namespace - -namespace google_breakpad { - -LinuxThread::LinuxThread(int pid) : pid_(pid) , threads_suspened_(false) { -} - -LinuxThread::~LinuxThread() { - if (threads_suspened_) - ResumeAllThreads(); -} - -int LinuxThread::SuspendAllThreads() { - CallbackParam callback_param(SuspendThread, NULL); - int thread_count = 0; - if ((thread_count = IterateProcSelfTask(pid_, &callback_param)) > 0) - threads_suspened_ = true; - return thread_count; -} - -void LinuxThread::ResumeAllThreads() const { - CallbackParam callback_param(ResumeThread, NULL); - IterateProcSelfTask(pid_, &callback_param); -} - -int LinuxThread::GetThreadCount() const { - return IterateProcSelfTask(pid_, NULL); -} - -int LinuxThread::ListThreads( - CallbackParam *thread_callback_param) const { - CallbackParam callback_param(ThreadInfoCallback, - thread_callback_param); - return IterateProcSelfTask(pid_, &callback_param); -} - -bool LinuxThread::GetRegisters(int pid, user_regs_struct *regs) const { - assert(regs); - return (regs != NULL && - (ptrace(PTRACE_GETREGS, pid, NULL, regs) == 0) && - errno == 0); -} - -// Get the floating-point registers of a thread. -// The caller must get the thread pid by ListThreads. -bool LinuxThread::GetFPRegisters(int pid, user_fpregs_struct *regs) const { - assert(regs); - return (regs != NULL && - (ptrace(PTRACE_GETREGS, pid, NULL, regs) ==0) && - errno == 0); -} - -bool LinuxThread::GetFPXRegisters(int pid, user_fpxregs_struct *regs) const { - assert(regs); - return (regs != NULL && - (ptrace(PTRACE_GETFPREGS, pid, NULL, regs) != 0) && - errno == 0); -} - -bool LinuxThread::GetDebugRegisters(int pid, DebugRegs *regs) const { - assert(regs); - -#define GET_DR(name, num)\ - name->dr##num = ptrace(PTRACE_PEEKUSER, pid,\ - offsetof(struct user, u_debugreg[num]), NULL) - GET_DR(regs, 0); - GET_DR(regs, 1); - GET_DR(regs, 2); - GET_DR(regs, 3); - GET_DR(regs, 4); - GET_DR(regs, 5); - GET_DR(regs, 6); - GET_DR(regs, 7); - return true; -} - -int LinuxThread::GetThreadStackDump(uintptr_t current_ebp, - uintptr_t current_esp, - void *buf, - int buf_size) const { - assert(buf); - assert(buf_size > 0); - - uintptr_t stack_bottom = GetThreadStackBottom(current_ebp); - int size = stack_bottom - current_esp; - size = buf_size > size ? size : buf_size; - if (size > 0) - memcpy(buf, reinterpret_cast(current_esp), size); - return size; -} - -// Get the stack bottom of a thread by stack walking. It works -// unless the stack has been corrupted or the frame pointer has been omited. -// This is just a temporary solution before we get better ideas about how -// this can be done. -// -// We will check each frame address by checking into module maps. -// TODO(liuli): Improve it. -uintptr_t LinuxThread::GetThreadStackBottom(uintptr_t current_ebp) const { - void **sp = reinterpret_cast(current_ebp); - void **previous_sp = sp; - while (sp && IsAddressMapped((uintptr_t)sp)) { - previous_sp = sp; - sp = reinterpret_cast(GetNextFrame(sp)); - } - return (uintptr_t)previous_sp; -} - -int LinuxThread::GetModuleCount() const { - return ListModules(NULL); -} - -int LinuxThread::ListModules( - CallbackParam *callback_param) const { - char line[512]; - const char *maps_path = "/proc/self/maps"; - - int module_count = 0; - FILE *fp = fopen(maps_path, "r"); - if (fp == NULL) - return -1; - - uintptr_t start_addr; - uintptr_t end_addr; - while (fgets(line, sizeof(line), fp) != NULL) { - if (sscanf(line, "%x-%x", &start_addr, &end_addr) == 2) { - ModuleInfo module; - memset(&module, 0, sizeof(module)); - module.start_addr = start_addr; - module.size = end_addr - start_addr; - char *name = NULL; - assert(module.size > 0); - // Only copy name if the name is a valid path name. - if ((name = strchr(line, '/')) != NULL) { - // Get rid of the last '\n' in line - char *last_return = strchr(line, '\n'); - if (last_return != NULL) - *last_return = '\0'; - // Keep a space for the ending 0. - strncpy(module.name, name, sizeof(module.name) - 1); - ++module_count; - } - if (callback_param && - !(callback_param->call_back(module, callback_param->context))) - break; - } - } - fclose(fp); - return module_count; -} - -// Parse /proc/$pid/tasks to list all the threads of the process identified by -// pid. -int LinuxThread::IterateProcSelfTask(int pid, - CallbackParam *callback_param) const { - char task_path[80]; - FillProcPath(pid, task_path, sizeof(task_path)); - strcat(task_path, "task"); - - DIR *dir = opendir(task_path); - if (dir == NULL) - return -1; - - int pid_number = 0; - // Record the last pid we've found. This is used for duplicated thread - // removal. Duplicated thread information can be found in /proc/$pid/tasks. - int last_pid = -1; - struct dirent *entry = NULL; - while ((entry = readdir(dir)) != NULL) { - if (strcmp(entry->d_name, ".") && - strcmp(entry->d_name, "..")) { - int tpid = 0; - if (LocalAtoi(entry->d_name, &tpid) && - last_pid != tpid) { - last_pid = tpid; - ++pid_number; - // Invoke the callback. - if (callback_param && - !(callback_param->call_back)(tpid, callback_param->context)) - break; - } - } - } - closedir(dir); - return pid_number; -} - -// Check if the address is a valid virtual address. -// If the address is in any of the mapped modules, we take it as valid. -// Otherwise it is invalid. -bool LinuxThread::IsAddressMapped(uintptr_t address) const { - AddressValidatingContext addr; - addr.address = address; - CallbackParam callback_param(IsAddressInModuleCallback, - &addr); - ListModules(&callback_param); - return addr.is_mapped; -} - -bool LinuxThread::FindSigContext(uintptr_t sighandler_ebp, - struct sigcontext **sig_ctx) { - uintptr_t previous_ebp; - const int MAX_STACK_DEPTH = 10; - int depth_counter = 0; - - do { - // We're looking for a |struct sigcontext| as the second parameter - // to a signal handler function call. Luckily, the sigcontext - // has an ebp member which should match the ebp pointed to - // by the ebp of the signal handler frame. - previous_ebp = reinterpret_cast(GetNextFrame( - reinterpret_cast(sighandler_ebp))); - // The stack looks like this: - // | previous ebp | previous eip | first param | second param |, - // so we need to offset by 3 to get to the second parameter. - *sig_ctx = reinterpret_cast(sighandler_ebp + - 3 * sizeof(uintptr_t)); - sighandler_ebp = previous_ebp; - depth_counter++; - } while(previous_ebp != (*sig_ctx)->ebp && sighandler_ebp != 0 && - IsAddressMapped(sighandler_ebp) && depth_counter < MAX_STACK_DEPTH); - - return previous_ebp == (*sig_ctx)->ebp && previous_ebp != 0; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/client/linux/handler/linux_thread.h b/toolkit/airbag/airbag/src/client/linux/handler/linux_thread.h deleted file mode 100644 index f738c2e0ba58..000000000000 --- a/toolkit/airbag/airbag/src/client/linux/handler/linux_thread.h +++ /dev/null @@ -1,204 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Author: Li Liu -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -#ifndef CLIENT_LINUX_HANDLER_LINUX_THREAD_H__ -#define CLIENT_LINUX_HANDLER_LINUX_THREAD_H__ - -#include -#include - -namespace google_breakpad { - -// Max module path name length. -#define kMaxModuleNameLength 256 - -// Holding information about a thread in the process. -struct ThreadInfo { - // Id of the thread group. - int tgid; - // Id of the thread. - int pid; - // Id of the parent process. - int ppid; -}; - -// Holding infomaton about a module in the process. -struct ModuleInfo { - char name[kMaxModuleNameLength]; - uintptr_t start_addr; - int size; -}; - -// Holding debug registers. -struct DebugRegs { - int dr0; - int dr1; - int dr2; - int dr3; - int dr4; - int dr5; - int dr6; - int dr7; -}; - -// A callback to run when got a thread in the process. -// Return true will go on to the next thread while return false will stop the -// iteration. -typedef bool (*ThreadCallback)(const ThreadInfo &thread_info, void *context); - -// A callback to run when a new module is found in the process. -// Return true will go on to the next module while return false will stop the -// iteration. -typedef bool (*ModuleCallback)(const ModuleInfo &module_info, void *context); - -// Holding the callback information. -template -struct CallbackParam { - // Callback function address. - CallbackFunc call_back; - // Callback context; - void *context; - - CallbackParam() : call_back(NULL), context(NULL) { - } - - CallbackParam(CallbackFunc func, void *func_context) : - call_back(func), context(func_context) { - } -}; - -/////////////////////////////////////////////////////////////////////////////// - -// -// LinuxThread -// -// Provides handy support for operation on linux threads. -// It uses ptrace to get thread registers. Since ptrace only works in a -// different process other than the one being ptraced, user of this class -// should create another process before using the class. -// -// The process should be created in the following way: -// int cloned_pid = clone(ProcessEntryFunction, stack_address, -// CLONE_VM | CLONE_FILES | CLONE_FS | CLONE_UNTRACED, -// (void*)&arguments); -// waitpid(cloned_pid, NULL, __WALL); -// -// If CLONE_VM is not used, GetThreadStackBottom, GetThreadStackDump -// will not work since it just use memcpy to get the stack dump. -// -class LinuxThread { - public: - // Create a LinuxThread instance to list all the threads in a process. - explicit LinuxThread(int pid); - ~LinuxThread(); - - // Stop all the threads in the process. - // Return the number of stopped threads in the process. - // Return -1 means failed to stop threads. - int SuspendAllThreads(); - - // Resume all the suspended threads. - void ResumeAllThreads() const; - - // Get the count of threads in the process. - // Return -1 means error. - int GetThreadCount() const; - - // List the threads of process. - // Whenever there is a thread found, the callback will be invoked to process - // the information. - // Return number of threads listed. - int ListThreads(CallbackParam *thread_callback_param) const; - - // Get the general purpose registers of a thread. - // The caller must get the thread pid by ListThreads. - bool GetRegisters(int pid, user_regs_struct *regs) const; - - // Get the floating-point registers of a thread. - // The caller must get the thread pid by ListThreads. - bool GetFPRegisters(int pid, user_fpregs_struct *regs) const; - - // Get all the extended floating-point registers. May not work on all - // machines. - // The caller must get the thread pid by ListThreads. - bool GetFPXRegisters(int pid, user_fpxregs_struct *regs) const; - - // Get the debug registers. - // The caller must get the thread pid by ListThreads. - bool GetDebugRegisters(int pid, DebugRegs *regs) const; - - // Get the stack memory dump. - int GetThreadStackDump(uintptr_t current_ebp, - uintptr_t current_esp, - void *buf, - int buf_size) const; - - // Get the module count of the current process. - int GetModuleCount() const; - - // Get the mapped modules in the address space. - // Whenever a module is found, the callback will be invoked to process the - // information. - // Return how may modules are found. - int ListModules(CallbackParam *callback_param) const; - - // Get the bottom of the stack from ebp. - uintptr_t GetThreadStackBottom(uintptr_t current_ebp) const; - - // Finds a sigcontext on the stack given the ebp of our signal handler. - bool FindSigContext(uintptr_t sighandler_ebp, struct sigcontext **sig_ctx); - - private: - // This callback will run when a new thread has been found. - typedef bool (*PidCallback)(int pid, void *context); - - // Read thread information from /proc/$pid/task. - // Whenever a thread has been found, and callback will be invoked with - // the pid of the thread. - // Return number of threads found. - // Return -1 means the directory doesn't exist. - int IterateProcSelfTask(int pid, - CallbackParam *callback_param) const; - - // Check if the address is a valid virtual address. - bool IsAddressMapped(uintptr_t address) const; - - private: - // The pid of the process we are listing threads. - int pid_; - - // Mark if we have suspended the threads. - bool threads_suspened_; -}; - -} // namespace google_breakpad - -#endif // CLIENT_LINUX_HANDLER_LINUX_THREAD_H__ diff --git a/toolkit/airbag/airbag/src/client/linux/handler/linux_thread_test.cc b/toolkit/airbag/airbag/src/client/linux/handler/linux_thread_test.cc deleted file mode 100644 index aeb5e64c90b8..000000000000 --- a/toolkit/airbag/airbag/src/client/linux/handler/linux_thread_test.cc +++ /dev/null @@ -1,224 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Author: Li Liu -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include -#include -#include - -#include -#include -#include - -#include "client/linux/handler/linux_thread.h" - -using namespace google_breakpad; - -// Thread use this to see if it should stop working. -static bool should_exit = false; - -static void foo2(int *a) { - // Stack variable, used for debugging stack dumps. - int c = 0xcccccccc; - c = c; - while (!should_exit) - sleep(1); -} - -static void foo() { - // Stack variable, used for debugging stack dumps. - int a = 0xaaaaaaaa; - foo2(&a); -} - -static void *thread_main(void *) { - // Stack variable, used for debugging stack dumps. - int b = 0xbbbbbbbb; - b = b; - while (!should_exit) { - foo(); - } - return NULL; -} - -static void CreateThreads(int num) { - pthread_t handle; - for (int i = 0; i < num; i++) { - if (0 != pthread_create(&handle, NULL, thread_main, NULL)) - fprintf(stderr, "Failed to create thread.\n"); - else - pthread_detach(handle); - } -} - -static bool ProcessOneModule(const struct ModuleInfo &module_info, - void *context) { - printf("0x%x[%8d] %s\n", module_info.start_addr, module_info.size, - module_info.name); - return true; -} - -static bool ProcessOneThread(const struct ThreadInfo &thread_info, - void *context) { - printf("\n\nPID: %d, TGID: %d, PPID: %d\n", - thread_info.pid, - thread_info.tgid, - thread_info.ppid); - - struct user_regs_struct regs; - struct user_fpregs_struct fp_regs; - struct user_fpxregs_struct fpx_regs; - struct DebugRegs dbg_regs; - - LinuxThread *threads = reinterpret_cast(context); - memset(®s, 0, sizeof(regs)); - if (threads->GetRegisters(thread_info.pid, ®s)) { - printf(" gs = 0x%lx\n", regs.xgs); - printf(" fs = 0x%lx\n", regs.xfs); - printf(" es = 0x%lx\n", regs.xes); - printf(" ds = 0x%lx\n", regs.xds); - printf(" edi = 0x%lx\n", regs.edi); - printf(" esi = 0x%lx\n", regs.esi); - printf(" ebx = 0x%lx\n", regs.ebx); - printf(" edx = 0x%lx\n", regs.edx); - printf(" ecx = 0x%lx\n", regs.ecx); - printf(" eax = 0x%lx\n", regs.eax); - printf(" ebp = 0x%lx\n", regs.ebp); - printf(" eip = 0x%lx\n", regs.eip); - printf(" cs = 0x%lx\n", regs.xcs); - printf(" eflags = 0x%lx\n", regs.eflags); - printf(" esp = 0x%lx\n", regs.esp); - printf(" ss = 0x%lx\n", regs.xss); - } else { - fprintf(stderr, "ERROR: Failed to get general purpose registers\n"); - } - memset(&fp_regs, 0, sizeof(fp_regs)); - if (threads->GetFPRegisters(thread_info.pid, &fp_regs)) { - printf("\n Floating point registers:\n"); - printf(" fctl = 0x%lx\n", fp_regs.cwd); - printf(" fstat = 0x%lx\n", fp_regs.swd); - printf(" ftag = 0x%lx\n", fp_regs.twd); - printf(" fioff = 0x%lx\n", fp_regs.fip); - printf(" fiseg = 0x%lx\n", fp_regs.fcs); - printf(" fooff = 0x%lx\n", fp_regs.foo); - printf(" foseg = 0x%lx\n", fp_regs.fos); - int st_space_size = sizeof(fp_regs.st_space) / sizeof(fp_regs.st_space[0]); - printf(" st_space[%2d] = 0x", st_space_size); - for (int i = 0; i < st_space_size; ++i) - printf("%02lx", fp_regs.st_space[i]); - printf("\n"); - } else { - fprintf(stderr, "ERROR: Failed to get floating-point registers\n"); - } - memset(&fpx_regs, 0, sizeof(fpx_regs)); - if (threads->GetFPXRegisters(thread_info.pid, &fpx_regs)) { - printf("\n Extended floating point registers:\n"); - printf(" fctl = 0x%x\n", fpx_regs.cwd); - printf(" fstat = 0x%x\n", fpx_regs.swd); - printf(" ftag = 0x%x\n", fpx_regs.twd); - printf(" fioff = 0x%lx\n", fpx_regs.fip); - printf(" fiseg = 0x%lx\n", fpx_regs.fcs); - printf(" fooff = 0x%lx\n", fpx_regs.foo); - printf(" foseg = 0x%lx\n", fpx_regs.fos); - printf(" fop = 0x%x\n", fpx_regs.fop); - printf(" mxcsr = 0x%lx\n", fpx_regs.mxcsr); - int space_size = sizeof(fpx_regs.st_space) / sizeof(fpx_regs.st_space[0]); - printf(" st_space[%2d] = 0x", space_size); - for (int i = 0; i < space_size; ++i) - printf("%02lx", fpx_regs.st_space[i]); - printf("\n"); - space_size = sizeof(fpx_regs.xmm_space) / sizeof(fpx_regs.xmm_space[0]); - printf(" xmm_space[%2d] = 0x", space_size); - for (int i = 0; i < space_size; ++i) - printf("%02lx", fpx_regs.xmm_space[i]); - printf("\n"); - } - if (threads->GetDebugRegisters(thread_info.pid, &dbg_regs)) { - printf("\n Debug registers:\n"); - printf(" dr0 = 0x%x\n", dbg_regs.dr0); - printf(" dr1 = 0x%x\n", dbg_regs.dr1); - printf(" dr2 = 0x%x\n", dbg_regs.dr2); - printf(" dr3 = 0x%x\n", dbg_regs.dr3); - printf(" dr4 = 0x%x\n", dbg_regs.dr4); - printf(" dr5 = 0x%x\n", dbg_regs.dr5); - printf(" dr6 = 0x%x\n", dbg_regs.dr6); - printf(" dr7 = 0x%x\n", dbg_regs.dr7); - printf("\n"); - } - if (regs.esp != 0) { - // Print the stack content. - int size = 1024 * 2; - char *buf = new char[size]; - size = threads->GetThreadStackDump(regs.ebp, - regs.esp, - (void*)buf, size); - printf(" Stack content: = 0x"); - size /= sizeof(unsigned long); - unsigned long *p_buf = (unsigned long *)(buf); - for (int i = 0; i < size; i += 1) - printf("%.8lx ", p_buf[i]); - delete []buf; - printf("\n"); - } - return true; -} - -static int PrintAllThreads(void *argument) { - int pid = (int)argument; - - LinuxThread threads(pid); - int total_thread = threads.SuspendAllThreads(); - printf("There are %d threads in the process: %d\n", total_thread, pid); - int total_module = threads.GetModuleCount(); - printf("There are %d modules in the process: %d\n", total_module, pid); - CallbackParam module_callback(ProcessOneModule, &threads); - threads.ListModules(&module_callback); - CallbackParam thread_callback(ProcessOneThread, &threads); - threads.ListThreads(&thread_callback); - return 0; -} - -int main(int argc, char **argv) { - int pid = getpid(); - printf("Main thread is %d\n", pid); - CreateThreads(1); - // Create stack for the process. - char *stack = new char[1024 * 100]; - int cloned_pid = clone(PrintAllThreads, stack + 1024 * 100, - CLONE_VM | CLONE_FILES | CLONE_FS | CLONE_UNTRACED, - (void*)getpid()); - waitpid(cloned_pid, NULL, __WALL); - should_exit = true; - printf("Test finished.\n"); - - delete []stack; - return 0; -} diff --git a/toolkit/airbag/airbag/src/client/linux/handler/minidump_generator.cc b/toolkit/airbag/airbag/src/client/linux/handler/minidump_generator.cc deleted file mode 100644 index 8d4d1315ffe0..000000000000 --- a/toolkit/airbag/airbag/src/client/linux/handler/minidump_generator.cc +++ /dev/null @@ -1,814 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Author: Li Liu -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "common/linux/file_id.h" -#include "client/linux/handler/linux_thread.h" -#include "client/minidump_file_writer.h" -#include "client/minidump_file_writer-inl.h" -#include "google_breakpad/common/minidump_format.h" -#include "client/linux/handler/minidump_generator.h" - -#ifndef CLONE_UNTRACED -#define CLONE_UNTRACED 0x00800000 -#endif - -// This unnamed namespace contains helper functions. -namespace { - -using namespace google_breakpad; - -// Argument for the writer function. -struct WriterArgument { - MinidumpFileWriter *minidump_writer; - - // Context for the callback. - void *version_context; - - // Pid of the thread who called WriteMinidumpToFile - int requester_pid; - - // The stack bottom of the thread which caused the dump. - // Mainly used to find the thread id of the crashed thread since signal - // handler may not be called in the thread who caused it. - uintptr_t crashed_stack_bottom; - - // Pid of the crashing thread. - int crashed_pid; - - // Signal number when crash happed. Can be 0 if this is a requested dump. - int signo; - - // The ebp of the signal handler frame. Can be zero if this - // is a requested dump. - uintptr_t sighandler_ebp; - - // Signal context when crash happed. Can be NULL if this is a requested dump. - // This is actually an out parameter, but it will be filled in at the start - // of the writer thread. - struct sigcontext *sig_ctx; - - // Used to get information about the threads. - LinuxThread *thread_lister; -}; - -// Holding context information for the callback of finding the crashing thread. -struct FindCrashThreadContext { - const LinuxThread *thread_lister; - uintptr_t crashing_stack_bottom; - int crashing_thread_pid; - - FindCrashThreadContext() : - thread_lister(NULL), - crashing_stack_bottom(0UL), - crashing_thread_pid(-1) { - } -}; - -// Callback for list threads. -// It will compare the stack bottom of the provided thread with the stack -// bottom of the crashed thread, it they are eqaul, this is thread is the one -// who crashed. -bool IsThreadCrashedCallback(const ThreadInfo &thread_info, void *context) { - FindCrashThreadContext *crashing_context = - static_cast(context); - const LinuxThread *thread_lister = crashing_context->thread_lister; - struct user_regs_struct regs; - if (thread_lister->GetRegisters(thread_info.pid, ®s)) { - uintptr_t last_ebp = regs.ebp; - uintptr_t stack_bottom = thread_lister->GetThreadStackBottom(last_ebp); - if (stack_bottom > last_ebp && - stack_bottom == crashing_context->crashing_stack_bottom) { - // Got it. Stop iteration. - crashing_context->crashing_thread_pid = thread_info.pid; - return false; - } - } - return true; -} - -// Find the crashing thread id. -// This is done based on stack bottom comparing. -int FindCrashingThread(uintptr_t crashing_stack_bottom, - int requester_pid, - const LinuxThread *thread_lister) { - FindCrashThreadContext context; - context.thread_lister = thread_lister; - context.crashing_stack_bottom = crashing_stack_bottom; - CallbackParam callback_param(IsThreadCrashedCallback, - &context); - thread_lister->ListThreads(&callback_param); - return context.crashing_thread_pid; -} - -// Write the thread stack info minidump. -bool WriteThreadStack(uintptr_t last_ebp, - uintptr_t last_esp, - const LinuxThread *thread_lister, - UntypedMDRVA *memory, - MDMemoryDescriptor *loc) { - // Maximum stack size for a thread. - uintptr_t stack_bottom = thread_lister->GetThreadStackBottom(last_ebp); - if (stack_bottom > last_esp) { - int size = stack_bottom - last_esp; - if (size > 0) { - if (!memory->Allocate(size)) - return false; - memory->Copy(reinterpret_cast(last_esp), size); - loc->start_of_memory_range = 0 | last_esp; - loc->memory = memory->location(); - } - return true; - } - return false; -} - -// Write CPU context based on signal context. -bool WriteContext(MDRawContextX86 *context, const struct sigcontext *sig_ctx, - const DebugRegs *debug_regs) { - assert(sig_ctx != NULL); - context->context_flags = MD_CONTEXT_X86_FULL; - context->gs = sig_ctx->gs; - context->fs = sig_ctx->fs; - context->es = sig_ctx->es; - context->ds = sig_ctx->ds; - context->cs = sig_ctx->cs; - context->ss = sig_ctx->ss; - context->edi = sig_ctx->edi; - context->esi = sig_ctx->esi; - context->ebp = sig_ctx->ebp; - context->esp = sig_ctx->esp; - context->ebx = sig_ctx->ebx; - context->edx = sig_ctx->edx; - context->ecx = sig_ctx->ecx; - context->eax = sig_ctx->eax; - context->eip = sig_ctx->eip; - context->eflags = sig_ctx->eflags; - if (sig_ctx->fpstate != NULL) { - context->context_flags = MD_CONTEXT_X86_FULL | - MD_CONTEXT_X86_FLOATING_POINT; - context->float_save.control_word = sig_ctx->fpstate->cw; - context->float_save.status_word = sig_ctx->fpstate->sw; - context->float_save.tag_word = sig_ctx->fpstate->tag; - context->float_save.error_offset = sig_ctx->fpstate->ipoff; - context->float_save.error_selector = sig_ctx->fpstate->cssel; - context->float_save.data_offset = sig_ctx->fpstate->dataoff; - context->float_save.data_selector = sig_ctx->fpstate->datasel; - memcpy(context->float_save.register_area, sig_ctx->fpstate->_st, - sizeof(context->float_save.register_area)); - } - - if (debug_regs != NULL) { - context->context_flags |= MD_CONTEXT_X86_DEBUG_REGISTERS; - context->dr0 = debug_regs->dr0; - context->dr1 = debug_regs->dr1; - context->dr2 = debug_regs->dr2; - context->dr3 = debug_regs->dr3; - context->dr6 = debug_regs->dr6; - context->dr7 = debug_regs->dr7; - } - return true; -} - -// Write CPU context based on provided registers. -bool WriteContext(MDRawContextX86 *context, - const struct user_regs_struct *regs, - const struct user_fpregs_struct *fp_regs, - const DebugRegs *dbg_regs) { - if (!context || !regs) - return false; - - context->context_flags = MD_CONTEXT_X86_FULL; - - context->cs = regs->xcs; - context->ds = regs->xds; - context->es = regs->xes; - context->fs = regs->xfs; - context->gs = regs->xgs; - context->ss = regs->xss; - context->edi = regs->edi; - context->esi = regs->esi; - context->ebx = regs->ebx; - context->edx = regs->edx; - context->ecx = regs->ecx; - context->eax = regs->eax; - context->ebp = regs->ebp; - context->eip = regs->eip; - context->esp = regs->esp; - context->eflags = regs->eflags; - - if (dbg_regs != NULL) { - context->context_flags |= MD_CONTEXT_X86_DEBUG_REGISTERS; - context->dr0 = dbg_regs->dr0; - context->dr1 = dbg_regs->dr1; - context->dr2 = dbg_regs->dr2; - context->dr3 = dbg_regs->dr3; - context->dr6 = dbg_regs->dr6; - context->dr7 = dbg_regs->dr7; - } - - if (fp_regs != NULL) { - context->context_flags |= MD_CONTEXT_X86_FLOATING_POINT; - context->float_save.control_word = fp_regs->cwd; - context->float_save.status_word = fp_regs->swd; - context->float_save.tag_word = fp_regs->twd; - context->float_save.error_offset = fp_regs->fip; - context->float_save.error_selector = fp_regs->fcs; - context->float_save.data_offset = fp_regs->foo; - context->float_save.data_selector = fp_regs->fos; - context->float_save.data_selector = fp_regs->fos; - - memcpy(context->float_save.register_area, fp_regs->st_space, - sizeof(context->float_save.register_area)); - } - return true; -} - -// Write information about a crashed thread. -// When a thread crash, kernel will write something on the stack for processing -// signal. This makes the current stack not reliable, and our stack walker -// won't figure out the whole call stack for this. So we write the stack at the -// time of the crash into the minidump file, not the current stack. -bool WriteCrashedThreadStream(MinidumpFileWriter *minidump_writer, - const WriterArgument *writer_args, - const ThreadInfo &thread_info, - MDRawThread *thread) { - assert(writer_args->sig_ctx != NULL); - - thread->thread_id = thread_info.pid; - - UntypedMDRVA memory(minidump_writer); - if (!WriteThreadStack(writer_args->sig_ctx->ebp, - writer_args->sig_ctx->esp, - writer_args->thread_lister, - &memory, - &thread->stack)) - return false; - - TypedMDRVA context(minidump_writer); - if (!context.Allocate()) - return false; - thread->thread_context = context.location(); - memset(context.get(), 0, sizeof(MDRawContextX86)); - return WriteContext(context.get(), writer_args->sig_ctx, NULL); -} - -// Write information about a thread. -// This function only processes thread running normally at the crash. -bool WriteThreadStream(MinidumpFileWriter *minidump_writer, - const LinuxThread *thread_lister, - const ThreadInfo &thread_info, - MDRawThread *thread) { - thread->thread_id = thread_info.pid; - - struct user_regs_struct regs; - memset(®s, 0, sizeof(regs)); - if (!thread_lister->GetRegisters(thread_info.pid, ®s)) { - perror(NULL); - return false; - } - - UntypedMDRVA memory(minidump_writer); - if (!WriteThreadStack(regs.ebp, - regs.esp, - thread_lister, - &memory, - &thread->stack)) - return false; - - struct user_fpregs_struct fp_regs; - DebugRegs dbg_regs; - memset(&fp_regs, 0, sizeof(fp_regs)); - // Get all the registers. - thread_lister->GetFPRegisters(thread_info.pid, &fp_regs); - thread_lister->GetDebugRegisters(thread_info.pid, &dbg_regs); - - // Write context - TypedMDRVA context(minidump_writer); - if (!context.Allocate()) - return false; - thread->thread_context = context.location(); - memset(context.get(), 0, sizeof(MDRawContextX86)); - return WriteContext(context.get(), ®s, &fp_regs, &dbg_regs); -} - -bool WriteCPUInformation(MDRawSystemInfo *sys_info) { - const char *proc_cpu_path = "/proc/cpuinfo"; - char line[128]; - char vendor_id[13]; - const char vendor_id_name[] = "vendor_id"; - const size_t vendor_id_name_length = sizeof(vendor_id_name) - 1; - - struct CpuInfoEntry { - const char *info_name; - int value; - } cpu_info_table[] = { - { "processor", -1 }, - { "model", 0 }, - { "stepping", 0 }, - { "cpuid level", 0 }, - { NULL, -1 }, - }; - - memset(vendor_id, 0, sizeof(vendor_id)); - - FILE *fp = fopen(proc_cpu_path, "r"); - if (fp != NULL) { - while (fgets(line, sizeof(line), fp)) { - CpuInfoEntry *entry = &cpu_info_table[0]; - while (entry->info_name != NULL) { - if (!strncmp(line, entry->info_name, strlen(entry->info_name))) { - char *value = strchr(line, ':'); - value++; - if (value != NULL) - sscanf(value, " %d", &(entry->value)); - } - entry++; - } - - // special case for vendor_id - if (!strncmp(line, vendor_id_name, vendor_id_name_length)) { - char *value = strchr(line, ':'); - if (value == NULL) - continue; - - value++; - while (*value && isspace(*value)) - value++; - if (*value) { - size_t length = strlen(value); - // we don't want the trailing newline - if (value[length - 1] == '\n') - length--; - // ensure we have space for the value - if (length < sizeof(vendor_id)) - strncpy(vendor_id, value, length); - } - } - } - fclose(fp); - } - - // /proc/cpuinfo contains cpu id, change it into number by adding one. - cpu_info_table[0].value++; - - sys_info->number_of_processors = cpu_info_table[0].value; - sys_info->processor_level = cpu_info_table[3].value; - sys_info->processor_revision = cpu_info_table[1].value << 8 | - cpu_info_table[2].value; - - sys_info->processor_architecture = MD_CPU_ARCHITECTURE_UNKNOWN; - struct utsname uts; - if (uname(&uts) == 0) { - // Match i*86 and x86* as X86 architecture. - if ((strstr(uts.machine, "x86") == uts.machine) || - (strlen(uts.machine) == 4 && - uts.machine[0] == 'i' && - uts.machine[2] == '8' && - uts.machine[3] == '6')) { - sys_info->processor_architecture = MD_CPU_ARCHITECTURE_X86; - if (vendor_id[0] != '\0') - memcpy(sys_info->cpu.x86_cpu_info.vendor_id, vendor_id, - sizeof(sys_info->cpu.x86_cpu_info.vendor_id)); - } - } - return true; -} - -bool WriteOSInformation(MinidumpFileWriter *minidump_writer, - MDRawSystemInfo *sys_info) { - sys_info->platform_id = MD_OS_LINUX; - - struct utsname uts; - if (uname(&uts) == 0) { - char os_version[512]; - size_t space_left = sizeof(os_version); - memset(os_version, 0, space_left); - const char *os_info_table[] = { - uts.sysname, - uts.release, - uts.version, - uts.machine, - "GNU/Linux", - NULL - }; - for (const char **cur_os_info = os_info_table; - *cur_os_info != NULL; - cur_os_info++) { - if (cur_os_info != os_info_table && space_left > 1) { - strcat(os_version, " "); - space_left--; - } - if (space_left > strlen(*cur_os_info)) { - strcat(os_version, *cur_os_info); - space_left -= strlen(*cur_os_info); - } else { - break; - } - } - - MDLocationDescriptor location; - if (!minidump_writer->WriteString(os_version, 0, &location)) - return false; - sys_info->csd_version_rva = location.rva; - } - return true; -} - -// Callback context for get writting thread information. -struct ThreadInfoCallbackCtx { - MinidumpFileWriter *minidump_writer; - const WriterArgument *writer_args; - TypedMDRVA *list; - int thread_index; -}; - -// Callback run for writing threads information in the process. -bool ThreadInfomationCallback(const ThreadInfo &thread_info, - void *context) { - ThreadInfoCallbackCtx *callback_context = - static_cast(context); - bool success = true; - MDRawThread thread; - memset(&thread, 0, sizeof(MDRawThread)); - if (thread_info.pid != callback_context->writer_args->crashed_pid || - callback_context->writer_args->sig_ctx == NULL) { - success = WriteThreadStream(callback_context->minidump_writer, - callback_context->writer_args->thread_lister, - thread_info, &thread); - } else { - success = WriteCrashedThreadStream(callback_context->minidump_writer, - callback_context->writer_args, - thread_info, &thread); - } - if (success) { - callback_context->list->CopyIndexAfterObject( - callback_context->thread_index++, - &thread, sizeof(MDRawThread)); - } - return success; -} - -// Stream writers -bool WriteThreadListStream(MinidumpFileWriter *minidump_writer, - const WriterArgument *writer_args, - MDRawDirectory *dir) { - // Get the thread information. - const LinuxThread *thread_lister = writer_args->thread_lister; - int thread_count = thread_lister->GetThreadCount(); - if (thread_count < 0) - return false; - TypedMDRVA list(minidump_writer); - if (!list.AllocateObjectAndArray(thread_count, sizeof(MDRawThread))) - return false; - dir->stream_type = MD_THREAD_LIST_STREAM; - dir->location = list.location(); - list.get()->number_of_threads = thread_count; - - ThreadInfoCallbackCtx context; - context.minidump_writer = minidump_writer; - context.writer_args = writer_args; - context.list = &list; - context.thread_index = 0; - CallbackParam callback_param(ThreadInfomationCallback, - &context); - int written = thread_lister->ListThreads(&callback_param); - return written == thread_count; -} - -bool WriteCVRecord(MinidumpFileWriter *minidump_writer, - MDRawModule *module, - const char *module_path) { - TypedMDRVA cv(minidump_writer); - - // Only return the last path component of the full module path - const char *module_name = strrchr(module_path, '/'); - // Increment past the slash - if (module_name) - ++module_name; - else - module_name = ""; - - size_t module_name_length = strlen(module_name); - if (!cv.AllocateObjectAndArray(module_name_length + 1, sizeof(u_int8_t))) - return false; - if (!cv.CopyIndexAfterObject(0, const_cast(module_name), - module_name_length)) - return false; - - module->cv_record = cv.location(); - MDCVInfoPDB70 *cv_ptr = cv.get(); - memset(cv_ptr, 0, sizeof(MDCVInfoPDB70)); - cv_ptr->cv_signature = MD_CVINFOPDB70_SIGNATURE; - cv_ptr->age = 0; - - // Get the module identifier - FileID file_id(module_path); - unsigned char identifier[16]; - - if (file_id.ElfFileIdentifier(identifier)) { - cv_ptr->signature.data1 = (uint32_t)identifier[0] << 24 | - (uint32_t)identifier[1] << 16 | (uint32_t)identifier[2] << 8 | - (uint32_t)identifier[3]; - cv_ptr->signature.data2 = (uint32_t)identifier[4] << 8 | identifier[5]; - cv_ptr->signature.data3 = (uint32_t)identifier[6] << 8 | identifier[7]; - cv_ptr->signature.data4[0] = identifier[8]; - cv_ptr->signature.data4[1] = identifier[9]; - cv_ptr->signature.data4[2] = identifier[10]; - cv_ptr->signature.data4[3] = identifier[11]; - cv_ptr->signature.data4[4] = identifier[12]; - cv_ptr->signature.data4[5] = identifier[13]; - cv_ptr->signature.data4[6] = identifier[14]; - cv_ptr->signature.data4[7] = identifier[15]; - } - return true; -} - -struct ModuleInfoCallbackCtx { - MinidumpFileWriter *minidump_writer; - const WriterArgument *writer_args; - TypedMDRVA *list; - int module_index; -}; - -bool ModuleInfoCallback(const ModuleInfo &module_info, - void *context) { - ModuleInfoCallbackCtx *callback_context = - static_cast(context); - // Skip those modules without name, or those that are not modules. - if (strlen(module_info.name) == 0 || - !strchr(module_info.name, '/')) - return true; - - MDRawModule module; - memset(&module, 0, sizeof(module)); - MDLocationDescriptor loc; - if (!callback_context->minidump_writer->WriteString(module_info.name, 0, - &loc)) - return false; - module.base_of_image = (u_int64_t)module_info.start_addr; - module.size_of_image = module_info.size; - module.module_name_rva = loc.rva; - - if (!WriteCVRecord(callback_context->minidump_writer, &module, - module_info.name)) - return false; - callback_context->list->CopyIndexAfterObject( - callback_context->module_index++, &module, MD_MODULE_SIZE); - return true; -} - -bool WriteModuleListStream(MinidumpFileWriter *minidump_writer, - const WriterArgument *writer_args, - MDRawDirectory *dir) { - TypedMDRVA list(minidump_writer); - int module_count = writer_args->thread_lister->GetModuleCount(); - if (module_count <= 0 || - !list.AllocateObjectAndArray(module_count, MD_MODULE_SIZE)) - return false; - dir->stream_type = MD_MODULE_LIST_STREAM; - dir->location = list.location(); - list.get()->number_of_modules = module_count; - ModuleInfoCallbackCtx context; - context.minidump_writer = minidump_writer; - context.writer_args = writer_args; - context.list = &list; - context.module_index = 0; - CallbackParam callback(ModuleInfoCallback, &context); - return writer_args->thread_lister->ListModules(&callback) == module_count; -} - -bool WriteSystemInfoStream(MinidumpFileWriter *minidump_writer, - const WriterArgument *writer_args, - MDRawDirectory *dir) { - TypedMDRVA sys_info(minidump_writer); - if (!sys_info.Allocate()) - return false; - dir->stream_type = MD_SYSTEM_INFO_STREAM; - dir->location = sys_info.location(); - - return WriteCPUInformation(sys_info.get()) && - WriteOSInformation(minidump_writer, sys_info.get()); -} - -bool WriteExceptionStream(MinidumpFileWriter *minidump_writer, - const WriterArgument *writer_args, - MDRawDirectory *dir) { - // This happenes when this is not a crash, but a requested dump. - if (writer_args->sig_ctx == NULL) - return false; - - TypedMDRVA exception(minidump_writer); - if (!exception.Allocate()) - return false; - - dir->stream_type = MD_EXCEPTION_STREAM; - dir->location = exception.location(); - exception.get()->thread_id = writer_args->crashed_pid; - exception.get()->exception_record.exception_code = writer_args->signo; - exception.get()->exception_record.exception_flags = 0; - if (writer_args->sig_ctx != NULL) { - exception.get()->exception_record.exception_address = - writer_args->sig_ctx->eip; - } else { - return true; - } - - // Write context of the exception. - TypedMDRVA context(minidump_writer); - if (!context.Allocate()) - return false; - exception.get()->thread_context = context.location(); - memset(context.get(), 0, sizeof(MDRawContextX86)); - return WriteContext(context.get(), writer_args->sig_ctx, NULL); -} - -bool WriteMiscInfoStream(MinidumpFileWriter *minidump_writer, - const WriterArgument *writer_args, - MDRawDirectory *dir) { - TypedMDRVA info(minidump_writer); - if (!info.Allocate()) - return false; - - dir->stream_type = MD_MISC_INFO_STREAM; - dir->location = info.location(); - info.get()->size_of_info = sizeof(MDRawMiscInfo); - info.get()->flags1 = MD_MISCINFO_FLAGS1_PROCESS_ID; - info.get()->process_id = writer_args->requester_pid; - - return true; -} - -bool WriteBreakpadInfoStream(MinidumpFileWriter *minidump_writer, - const WriterArgument *writer_args, - MDRawDirectory *dir) { - TypedMDRVA info(minidump_writer); - if (!info.Allocate()) - return false; - - dir->stream_type = MD_BREAKPAD_INFO_STREAM; - dir->location = info.location(); - - info.get()->validity = MD_BREAKPAD_INFO_VALID_DUMP_THREAD_ID | - MD_BREAKPAD_INFO_VALID_REQUESTING_THREAD_ID; - info.get()->dump_thread_id = getpid(); - info.get()->requesting_thread_id = writer_args->requester_pid; - return true; -} - -// Prototype of writer functions. -typedef bool (*WriteStringFN)(MinidumpFileWriter *, - const WriterArgument *, - MDRawDirectory *); - -// Function table to writer a full minidump. -WriteStringFN writers[] = { - WriteThreadListStream, - WriteModuleListStream, - WriteSystemInfoStream, - WriteExceptionStream, - WriteMiscInfoStream, - WriteBreakpadInfoStream, -}; - -// Will call each writer function in the writers table. -// It runs in a different process from the crashing process, but sharing -// the same address space. This enables it to use ptrace functions. -int Write(void *argument) { - WriterArgument *writer_args = - static_cast(argument); - - if (!writer_args->thread_lister->SuspendAllThreads()) - return -1; - - if (writer_args->sighandler_ebp != 0 && - writer_args->thread_lister->FindSigContext(writer_args->sighandler_ebp, - &writer_args->sig_ctx)) { - writer_args->crashed_stack_bottom = - writer_args->thread_lister->GetThreadStackBottom( - writer_args->sig_ctx->ebp); - int crashed_pid = FindCrashingThread(writer_args->crashed_stack_bottom, - writer_args->requester_pid, - writer_args->thread_lister); - if (crashed_pid > 0) - writer_args->crashed_pid = crashed_pid; - } - - - MinidumpFileWriter *minidump_writer = writer_args->minidump_writer; - TypedMDRVA header(minidump_writer); - TypedMDRVA dir(minidump_writer); - if (!header.Allocate()) - return 0; - - int writer_count = sizeof(writers) / sizeof(writers[0]); - // Need directory space for all writers. - if (!dir.AllocateArray(writer_count)) - return 0; - header.get()->signature = MD_HEADER_SIGNATURE; - header.get()->version = MD_HEADER_VERSION; - header.get()->time_date_stamp = time(NULL); - header.get()->stream_count = writer_count; - header.get()->stream_directory_rva = dir.position(); - - int dir_index = 0; - MDRawDirectory local_dir; - for (int i = 0; i < writer_count; ++i) { - if (writers[i](minidump_writer, writer_args, &local_dir)) - dir.CopyIndex(dir_index++, &local_dir); - } - - writer_args->thread_lister->ResumeAllThreads(); - return 0; -} - -} // namespace - -namespace google_breakpad { - -MinidumpGenerator::MinidumpGenerator() { - AllocateStack(); -} - -MinidumpGenerator::~MinidumpGenerator() { -} - -void MinidumpGenerator::AllocateStack() { - stack_.reset(new char[kStackSize]); -} - -bool MinidumpGenerator::WriteMinidumpToFile(const char *file_pathname, - int signo, - uintptr_t sighandler_ebp, - struct sigcontext **sig_ctx) const { - assert(file_pathname != NULL); - assert(stack_ != NULL); - - if (stack_ == NULL || file_pathname == NULL) - return false; - - MinidumpFileWriter minidump_writer; - if (minidump_writer.Open(file_pathname)) { - WriterArgument argument; - memset(&argument, 0, sizeof(argument)); - LinuxThread thread_lister(getpid()); - argument.thread_lister = &thread_lister; - argument.minidump_writer = &minidump_writer; - argument.requester_pid = getpid(); - argument.crashed_pid = getpid(); - argument.signo = signo; - argument.sighandler_ebp = sighandler_ebp; - argument.sig_ctx = NULL; - - int cloned_pid = clone(Write, stack_.get() + kStackSize, - CLONE_VM | CLONE_FILES | CLONE_FS | CLONE_UNTRACED, - (void*)&argument); - waitpid(cloned_pid, NULL, __WALL); - if (sig_ctx != NULL) - *sig_ctx = argument.sig_ctx; - return true; - } - - return false; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/client/linux/handler/minidump_generator.h b/toolkit/airbag/airbag/src/client/linux/handler/minidump_generator.h deleted file mode 100644 index 7c0511f5649c..000000000000 --- a/toolkit/airbag/airbag/src/client/linux/handler/minidump_generator.h +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Author: Li Liu -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#ifndef CLIENT_LINUX_HANDLER_MINIDUMP_GENERATOR_H__ -#define CLIENT_LINUX_HANDLER_MINIDUMP_GENERATOR_H__ - -#include - -#include "google_breakpad/common/breakpad_types.h" -#include "processor/scoped_ptr.h" - -struct sigcontext; - -namespace google_breakpad { - -// -// MinidumpGenerator -// -// Write a minidump to file based on the signo and sig_ctx. -// A minidump generator should be created before any exception happen. -// -class MinidumpGenerator { - public: - MinidumpGenerator(); - - ~MinidumpGenerator(); - - // Write minidump. - bool WriteMinidumpToFile(const char *file_pathname, - int signo, - uintptr_t sighandler_ebp, - struct sigcontext **sig_ctx) const; - private: - // Allocate memory for stack. - void AllocateStack(); - - private: - // Stack size of the writer thread. - static const int kStackSize = 1024 * 1024; - scoped_array stack_; -}; - -} // namespace google_breakpad - -#endif // CLIENT_LINUX_HANDLER_MINIDUMP_GENERATOR_H__ diff --git a/toolkit/airbag/airbag/src/client/linux/handler/minidump_test.cc b/toolkit/airbag/airbag/src/client/linux/handler/minidump_test.cc deleted file mode 100644 index f8c4e78441b2..000000000000 --- a/toolkit/airbag/airbag/src/client/linux/handler/minidump_test.cc +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Author: Li Liu -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include - -#include -#include -#include -#include - -#include "client/linux/handler/minidump_generator.h" - -using namespace google_breakpad; - -// Thread use this to see if it should stop working. -static bool should_exit = false; - -static void foo2(int arg) { - // Stack variable, used for debugging stack dumps. - int c = arg; - c = 0xcccccccc; - while (!should_exit) - sleep(1); -} - -static void foo(int arg) { - // Stack variable, used for debugging stack dumps. - int b = arg; - b = 0xbbbbbbbb; - foo2(b); -} - -static void *thread_main(void *) { - // Stack variable, used for debugging stack dumps. - int a = 0xaaaaaaaa; - foo(a); - return NULL; -} - -static void CreateThread(int num) { - pthread_t h; - for (int i = 0; i < num; ++i) { - pthread_create(&h, NULL, thread_main, NULL); - pthread_detach(h); - } -} - -int main(int argc, char *argv[]) { - CreateThread(10); - google_breakpad::MinidumpGenerator mg; - if (mg.WriteMinidumpToFile("minidump_test.out", -1, 0, NULL)) - printf("Succeeded written minidump\n"); - else - printf("Failed to write minidump\n"); - should_exit = true; - return 0; -} diff --git a/toolkit/airbag/airbag/src/client/mac/handler/Makefile.in b/toolkit/airbag/airbag/src/client/mac/handler/Makefile.in deleted file mode 100644 index b75b42f0ad42..000000000000 --- a/toolkit/airbag/airbag/src/client/mac/handler/Makefile.in +++ /dev/null @@ -1,59 +0,0 @@ -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Breakpad integration -# -# The Initial Developer of the Original Code is -# Ted Mielczarek -# Portions created by the Initial Developer are Copyright (C) 2007 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../../../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = handler -LIBRARY_NAME = exception_handler_s -XPI_NAME = crashreporter - -LOCAL_INCLUDES = -I$(srcdir)/../../.. - -CPPSRCS = \ - exception_handler.cc \ - minidump_generator.cc \ - dynamic_images.cc \ - $(NULL) - -# need static lib -FORCE_STATIC_LIB = 1 - -include $(topsrcdir)/config/rules.mk diff --git a/toolkit/airbag/airbag/src/client/mac/handler/dynamic_images.cc b/toolkit/airbag/airbag/src/client/mac/handler/dynamic_images.cc deleted file mode 100644 index 32a57e82becc..000000000000 --- a/toolkit/airbag/airbag/src/client/mac/handler/dynamic_images.cc +++ /dev/null @@ -1,252 +0,0 @@ -// Copyright (c) 2007, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include -#include -#include - -#include "client/mac/handler/dynamic_images.h" - -namespace google_breakpad { - -//============================================================================== -// Reads an address range from another task. A block of memory is malloced -// and should be freed by the caller. -void* ReadTaskMemory(task_port_t target_task, - const void* address, - size_t length) { - void* result = NULL; - vm_address_t page_address = reinterpret_cast(address) & (-4096); - vm_address_t last_page_address = - (reinterpret_cast(address) + length + 4095) & (-4096); - vm_size_t page_size = last_page_address - page_address; - uint8_t* local_start; - uint32_t local_length; - - kern_return_t r = vm_read(target_task, - page_address, - page_size, - reinterpret_cast(&local_start), - &local_length); - - if (r == KERN_SUCCESS) { - result = malloc(length); - if (result != NULL) { - memcpy(result, &local_start[(uint32_t)address - page_address], length); - } - vm_deallocate(mach_task_self(), (uintptr_t)local_start, local_length); - } - - return result; -} - -#pragma mark - - -//============================================================================== -// Initializes vmaddr_, vmsize_, and slide_ -void DynamicImage::CalculateMemoryInfo() { - mach_header *header = GetMachHeader(); - - const struct load_command *cmd = - reinterpret_cast(header + 1); - - for (unsigned int i = 0; cmd && (i < header->ncmds); ++i) { - if (cmd->cmd == LC_SEGMENT) { - const struct segment_command *seg = - reinterpret_cast(cmd); - - if (!strcmp(seg->segname, "__TEXT")) { - vmaddr_ = seg->vmaddr; - vmsize_ = seg->vmsize; - slide_ = 0; - - if (seg->fileoff == 0 && seg->filesize != 0) { - slide_ = (uintptr_t)GetLoadAddress() - (uintptr_t)seg->vmaddr; - } - return; - } - } - - cmd = reinterpret_cast - (reinterpret_cast(cmd) + cmd->cmdsize); - } - - // we failed - a call to IsValid() will return false - vmaddr_ = 0; - vmsize_ = 0; - slide_ = 0; -} - -void DynamicImage::Print() { - const char *path = GetFilePath(); - if (!path) { - path = "(unknown)"; - } - printf("%p: %s\n", GetLoadAddress(), path); - mach_header *header = GetMachHeader(); - MachHeader(*header).Print(); - printf("vmaddr\t\t: %p\n", reinterpret_cast(GetVMAddr())); - printf("vmsize\t\t: %d\n", GetVMSize()); - printf("slide\t\t: %d\n", GetVMAddrSlide()); -} - -#pragma mark - - -//============================================================================== -// Loads information about dynamically loaded code in the given task. -DynamicImages::DynamicImages(mach_port_t task) - : task_(task) { - ReadImageInfoForTask(); -} - -//============================================================================== -// This code was written using dyld_debug.c (from Darwin) as a guide. -void DynamicImages::ReadImageInfoForTask() { - struct nlist l[8]; - memset(l, 0, sizeof(l) ); - - // First we lookup the address of the "_dyld_all_image_infos" struct - // which lives in "dyld". This structure contains information about all - // of the loaded dynamic images. - struct nlist &list = l[0]; - list.n_un.n_name = const_cast("_dyld_all_image_infos"); - nlist("/usr/lib/dyld", &list); - - if (list.n_value) { - // Read the structure inside of dyld that contains information about - // loaded images. We're reading from the desired task's address space. - - // Here we make the assumption that dyld loaded at the same address in - // the crashed process vs. this one. This is an assumption made in - // "dyld_debug.c" and is said to be nearly always valid. - dyld_all_image_infos *dyldInfo = reinterpret_cast - (ReadTaskMemory(task_, - reinterpret_cast(list.n_value), - sizeof(dyld_all_image_infos))); - - if (dyldInfo) { - // number of loaded images - int count = dyldInfo->infoArrayCount; - - // Read an array of dyld_image_info structures each containing - // information about a loaded image. - dyld_image_info *infoArray = reinterpret_cast - (ReadTaskMemory(task_, - dyldInfo->infoArray, - count*sizeof(dyld_image_info))); - - image_list_.reserve(count); - - for (int i = 0; i < count; ++i) { - dyld_image_info &info = infoArray[i]; - - // First read just the mach_header from the image in the task. - mach_header *header = reinterpret_cast - (ReadTaskMemory(task_, info.load_address_, sizeof(mach_header))); - - if (!header) - break; // bail on this dynamic image - - // Now determine the total amount we really want to read based on the - // size of the load commands. We need the header plus all of the - // load commands. - unsigned int header_size = sizeof(mach_header) + header->sizeofcmds; - free(header); - - header = reinterpret_cast - (ReadTaskMemory(task_, info.load_address_, header_size)); - - // Read the file name from the task's memory space. - char *file_path = NULL; - if (info.file_path_) { - // Although we're reading 0x2000 bytes, this is copied in the - // the DynamicImage constructor below with the correct string length, - // so it's not really wasting memory. - file_path = reinterpret_cast - (ReadTaskMemory(task_, - info.file_path_, - 0x2000)); - } - - // Create an object representing this image and add it to our list. - DynamicImage *new_image = new DynamicImage(header, - header_size, - info.load_address_, - file_path, - info.file_mod_date_, - task_); - - if (new_image->IsValid()) { - image_list_.push_back(DynamicImageRef(new_image)); - } else { - delete new_image; - } - - if (file_path) { - free(file_path); - } - } - - free(dyldInfo); - free(infoArray); - - // sorts based on loading address - sort(image_list_.begin(), image_list_.end() ); - } - } -} - -//============================================================================== -DynamicImage *DynamicImages::GetExecutableImage() { - int executable_index = GetExecutableImageIndex(); - - if (executable_index >= 0) { - return GetImage(executable_index); - } - - return NULL; -} - -//============================================================================== -// returns -1 if failure to find executable -int DynamicImages::GetExecutableImageIndex() { - int image_count = GetImageCount(); - - for (int i = 0; i < image_count; ++i) { - DynamicImage *image = GetImage(i); - if (image->GetMachHeader()->filetype == MH_EXECUTE) { - return i; - } - } - - return -1; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/client/mac/handler/dynamic_images.h b/toolkit/airbag/airbag/src/client/mac/handler/dynamic_images.h deleted file mode 100644 index 4c4ab7ff5ddd..000000000000 --- a/toolkit/airbag/airbag/src/client/mac/handler/dynamic_images.h +++ /dev/null @@ -1,293 +0,0 @@ -// Copyright (c) 2007, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// dynamic_images.h -// -// Implements most of the function of the dyld API, but allowing an -// arbitrary task to be introspected, unlike the dyld API which -// only allows operation on the current task. The current implementation -// is limited to use by 32-bit tasks. - -#ifndef CLIENT_MAC_HANDLER_DYNAMIC_IMAGES_H__ -#define CLIENT_MAC_HANDLER_DYNAMIC_IMAGES_H__ - -#include -#include -#include -#include -#include - -namespace google_breakpad { - -using std::vector; - -//============================================================================== -// The memory layout of this struct matches the dyld_image_info struct -// defined in "dyld_gdb.h" in the darwin source. -typedef struct dyld_image_info { - struct mach_header *load_address_; - char *file_path_; - uintptr_t file_mod_date_; -} dyld_image_info; - -//============================================================================== -// This is as defined in "dyld_gdb.h" in the darwin source. -// _dyld_all_image_infos (in dyld) is a structure of this type -// which will be used to determine which dynamic code has been loaded. -typedef struct dyld_all_image_infos { - uint32_t version; // == 1 in Mac OS X 10.4 - uint32_t infoArrayCount; - const struct dyld_image_info *infoArray; - void* notification; - bool processDetachedFromSharedRegion; -} dyld_all_image_infos; - -//============================================================================== -// A simple wrapper for a mach_header -// -// This could be fleshed out with some more interesting methods. -class MachHeader { - public: - explicit MachHeader(const mach_header &header) : header_(header) {} - - void Print() { - printf("magic\t\t: %4x\n", header_.magic); - printf("cputype\t\t: %d\n", header_.cputype); - printf("cpusubtype\t: %d\n", header_.cpusubtype); - printf("filetype\t: %d\n", header_.filetype); - printf("ncmds\t\t: %d\n", header_.ncmds); - printf("sizeofcmds\t: %d\n", header_.sizeofcmds); - printf("flags\t\t: %d\n", header_.flags); - } - - mach_header header_; -}; - -//============================================================================== -// Represents a single dynamically loaded mach-o image -class DynamicImage { - public: - DynamicImage(mach_header *header, // we take ownership - int header_size, // includes load commands - mach_header *load_address, - char *inFilePath, - uintptr_t image_mod_date, - mach_port_t task) - : header_(header), - header_size_(header_size), - load_address_(load_address), - file_mod_date_(image_mod_date), - task_(task) { - InitializeFilePath(inFilePath); - CalculateMemoryInfo(); - } - - ~DynamicImage() { - if (file_path_) { - free(file_path_); - } - free(header_); - } - - // Returns pointer to a local copy of the mach_header plus load commands - mach_header *GetMachHeader() {return header_;} - - // Size of mach_header plus load commands - int GetHeaderSize() const {return header_size_;} - - // Full path to mach-o binary - char *GetFilePath() {return file_path_;} - - uintptr_t GetModDate() const {return file_mod_date_;} - - // Actual address where the image was loaded - mach_header *GetLoadAddress() const {return load_address_;} - - // Address where the image should be loaded - uint32_t GetVMAddr() const {return vmaddr_;} - - // Difference between GetLoadAddress() and GetVMAddr() - ptrdiff_t GetVMAddrSlide() const {return slide_;} - - // Size of the image - uint32_t GetVMSize() const {return vmsize_;} - - // Task owning this loaded image - mach_port_t GetTask() {return task_;} - - // For sorting - bool operator<(const DynamicImage &inInfo) { - return GetLoadAddress() < inInfo.GetLoadAddress(); - } - - // Debugging - void Print(); - - private: - friend class DynamicImages; - - // Sanity checking - bool IsValid() {return GetVMAddr() != 0;} - - // Makes local copy of file path to mach-o binary - void InitializeFilePath(char *inFilePath) { - if (inFilePath) { - size_t path_size = 1 + strlen(inFilePath); - file_path_ = reinterpret_cast(malloc(path_size)); - strlcpy(file_path_, inFilePath, path_size); - } else { - file_path_ = NULL; - } - } - - // Initializes vmaddr_, vmsize_, and slide_ - void CalculateMemoryInfo(); - -#if 0 // currently not needed - // Copy constructor: we don't want this to be invoked, - // but here's the code in case we need to make it public some day. - DynamicImage(DynamicImage &inInfo) - : load_address_(inInfo.load_address_), - vmaddr_(inInfo.vmaddr_), - vmsize_(inInfo.vmsize_), - slide_(inInfo.slide_), - file_mod_date_(inInfo.file_mod_date_), - task_(inInfo.task_) { - // copy file path string - InitializeFilePath(inInfo.GetFilePath()); - - // copy mach_header and load commands - header_ = reinterpret_cast(malloc(inInfo.header_size_)); - memcpy(header_, inInfo.header_, inInfo.header_size_); - header_size_ = inInfo.header_size_; - } -#endif - - mach_header *header_; // our local copy of the header - int header_size_; // mach_header plus load commands - mach_header *load_address_; // base address image is mapped into - uint32_t vmaddr_; - uint32_t vmsize_; - ptrdiff_t slide_; - - char *file_path_; // path dyld used to load the image - uintptr_t file_mod_date_; // time_t of image file - - mach_port_t task_; -}; - -//============================================================================== -// DynamicImageRef is just a simple wrapper for a pointer to -// DynamicImage. The reason we use it instead of a simple typedef is so -// that we can use stl::sort() on a vector of DynamicImageRefs -// and simple class pointers can't implement operator<(). -// -class DynamicImageRef { - public: - explicit DynamicImageRef(DynamicImage *inP) : p(inP) {} - DynamicImageRef(const DynamicImageRef &inRef) : p(inRef.p) {} // STL required - - bool operator<(const DynamicImageRef &inRef) const { - return (*const_cast(this)->p) - < (*const_cast(inRef).p); - } - - // Be just like DynamicImage* - DynamicImage *operator->() {return p;} - operator DynamicImage*() {return p;} - - private: - DynamicImage *p; -}; - -//============================================================================== -// An object of type DynamicImages may be created to allow introspection of -// an arbitrary task's dynamically loaded mach-o binaries. This makes the -// assumption that the current task has send rights to the target task. -class DynamicImages { - public: - explicit DynamicImages(mach_port_t task); - - ~DynamicImages() { - for (int i = 0; i < (int)image_list_.size(); ++i) { - delete image_list_[i]; - } - } - - // Returns the number of dynamically loaded mach-o images. - int GetImageCount() const {return image_list_.size();} - - // Returns an individual image. - DynamicImage *GetImage(int i) { - if (i < (int)image_list_.size()) { - return image_list_[i]; - } - return NULL; - } - - // Returns the image corresponding to the main executable. - DynamicImage *GetExecutableImage(); - int GetExecutableImageIndex(); - - // Returns the task which we're looking at. - mach_port_t GetTask() const {return task_;} - - // Debugging - void Print() { - for (int i = 0; i < (int)image_list_.size(); ++i) { - image_list_[i]->Print(); - } - } - - void TestPrint() { - for (int i = 0; i < (int)image_list_.size(); ++i) { - printf("dyld: %p: name = %s\n", _dyld_get_image_header(i), - _dyld_get_image_name(i) ); - const mach_header *header = _dyld_get_image_header(i); - MachHeader(*header).Print(); - } - } - - private: - bool IsOurTask() {return task_ == mach_task_self();} - - // Initialization - void ReadImageInfoForTask(); - - mach_port_t task_; - vector image_list_; -}; - -// Returns a malloced block containing the contents of memory at a particular -// location in another task. -void* ReadTaskMemory(task_port_t target_task, const void* address, size_t len); - -} // namespace google_breakpad - -#endif // CLIENT_MAC_HANDLER_DYNAMIC_IMAGES_H__ diff --git a/toolkit/airbag/airbag/src/client/mac/handler/exception_handler.cc b/toolkit/airbag/airbag/src/client/mac/handler/exception_handler.cc deleted file mode 100644 index ab2cc4897b5d..000000000000 --- a/toolkit/airbag/airbag/src/client/mac/handler/exception_handler.cc +++ /dev/null @@ -1,600 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include - -#include "client/mac/handler/exception_handler.h" -#include "client/mac/handler/minidump_generator.h" -#include "common/mac/macho_utilities.h" - -namespace google_breakpad { - -using std::map; - -// These structures and techniques are illustrated in -// Mac OS X Internals, Amit Singh, ch 9.7 -struct ExceptionMessage { - mach_msg_header_t header; - mach_msg_body_t body; - mach_msg_port_descriptor_t thread; - mach_msg_port_descriptor_t task; - NDR_record_t ndr; - exception_type_t exception; - mach_msg_type_number_t code_count; - integer_t code[EXCEPTION_CODE_MAX]; - char padding[512]; -}; - -struct ExceptionParameters { - ExceptionParameters() : count(0) {} - mach_msg_type_number_t count; - exception_mask_t masks[EXC_TYPES_COUNT]; - mach_port_t ports[EXC_TYPES_COUNT]; - exception_behavior_t behaviors[EXC_TYPES_COUNT]; - thread_state_flavor_t flavors[EXC_TYPES_COUNT]; -}; - -struct ExceptionReplyMessage { - mach_msg_header_t header; - NDR_record_t ndr; - kern_return_t return_code; -}; - -// Only catch these three exceptions. The other ones are nebulously defined -// and may result in treating a non-fatal exception as fatal. -exception_mask_t s_exception_mask = EXC_MASK_BAD_ACCESS | -EXC_MASK_BAD_INSTRUCTION | EXC_MASK_ARITHMETIC; - -extern "C" -{ - // Forward declarations for functions that need "C" style compilation - boolean_t exc_server(mach_msg_header_t *request, - mach_msg_header_t *reply); - - kern_return_t catch_exception_raise(mach_port_t target_port, - mach_port_t failed_thread, - mach_port_t task, - exception_type_t exception, - exception_data_t code, - mach_msg_type_number_t code_count); - - kern_return_t ForwardException(mach_port_t task, - mach_port_t failed_thread, - exception_type_t exception, - exception_data_t code, - mach_msg_type_number_t code_count); - - kern_return_t exception_raise(mach_port_t target_port, - mach_port_t failed_thread, - mach_port_t task, - exception_type_t exception, - exception_data_t exception_code, - mach_msg_type_number_t exception_code_count); - - kern_return_t - exception_raise_state(mach_port_t target_port, - mach_port_t failed_thread, - mach_port_t task, - exception_type_t exception, - exception_data_t exception_code, - mach_msg_type_number_t code_count, - thread_state_flavor_t *target_flavor, - thread_state_t thread_state, - mach_msg_type_number_t thread_state_count, - thread_state_t thread_state, - mach_msg_type_number_t *thread_state_count); - - kern_return_t - exception_raise_state_identity(mach_port_t target_port, - mach_port_t failed_thread, - mach_port_t task, - exception_type_t exception, - exception_data_t exception_code, - mach_msg_type_number_t exception_code_count, - thread_state_flavor_t *target_flavor, - thread_state_t thread_state, - mach_msg_type_number_t thread_state_count, - thread_state_t thread_state, - mach_msg_type_number_t *thread_state_count); -} - -ExceptionHandler::ExceptionHandler(const string &dump_path, - FilterCallback filter, - MinidumpCallback callback, - void *callback_context, - bool install_handler) - : dump_path_(), - filter_(filter), - callback_(callback), - callback_context_(callback_context), - directCallback_(NULL), - handler_thread_(NULL), - handler_port_(0), - previous_(NULL), - installed_exception_handler_(false), - is_in_teardown_(false), - last_minidump_write_result_(false), - use_minidump_write_mutex_(false) { - // This will update to the ID and C-string pointers - set_dump_path(dump_path); - MinidumpGenerator::GatherSystemInformation(); - Setup(install_handler); -} - -// special constructor if we want to bypass minidump writing and -// simply get a callback with the exception information -ExceptionHandler::ExceptionHandler(DirectCallback callback, - void *callback_context, - bool install_handler) - : dump_path_(), - filter_(NULL), - callback_(NULL), - callback_context_(callback_context), - directCallback_(callback), - handler_thread_(NULL), - handler_port_(0), - previous_(NULL), - installed_exception_handler_(false), - is_in_teardown_(false), - last_minidump_write_result_(false), - use_minidump_write_mutex_(false) { - MinidumpGenerator::GatherSystemInformation(); - Setup(install_handler); -} - -ExceptionHandler::~ExceptionHandler() { - Teardown(); -} - -bool ExceptionHandler::WriteMinidump() { - // If we're currently writing, just return - if (use_minidump_write_mutex_) - return false; - - use_minidump_write_mutex_ = true; - last_minidump_write_result_ = false; - - // Lock the mutex. Since we just created it, this will return immediately. - if (pthread_mutex_lock(&minidump_write_mutex_) == 0) { - // Send an empty message to the handle port so that a minidump will - // be written - SendEmptyMachMessage(); - - // Wait for the minidump writer to complete its writing. It will unlock - // the mutex when completed - pthread_mutex_lock(&minidump_write_mutex_); - } - - use_minidump_write_mutex_ = false; - UpdateNextID(); - return last_minidump_write_result_; -} - -// static -bool ExceptionHandler::WriteMinidump(const string &dump_path, - MinidumpCallback callback, - void *callback_context) { - ExceptionHandler handler(dump_path, NULL, callback, callback_context, false); - return handler.WriteMinidump(); -} - -bool ExceptionHandler::WriteMinidumpWithException(int exception_type, - int exception_code, - mach_port_t thread_name) { - bool result = false; - - if (directCallback_) { - if (directCallback_(callback_context_, - exception_type, - exception_code, - thread_name) ) { - if (exception_type && exception_code) - _exit(exception_type); - } - } else { - string minidump_id; - - // Putting the MinidumpGenerator in its own context will ensure that the - // destructor is executed, closing the newly created minidump file. - if (!dump_path_.empty()) { - MinidumpGenerator md; - if (exception_type && exception_code) { - // If this is a real exception, give the filter (if any) a chance to - // decided if this should be sent - if (filter_ && !filter_(callback_context_)) - return false; - - md.SetExceptionInformation(exception_type, exception_code, thread_name); - } - - result = md.Write(next_minidump_path_c_); - } - - // Call user specified callback (if any) - if (callback_) { - // If the user callback returned true and we're handling an exception - // (rather than just writing out the file), then we should exit without - // forwarding the exception to the next handler. - if (callback_(dump_path_c_, next_minidump_id_c_, callback_context_, - result)) { - if (exception_type && exception_code) - _exit(exception_type); - } - } - } - - return result; -} - -kern_return_t ForwardException(mach_port_t task, mach_port_t failed_thread, - exception_type_t exception, - exception_data_t code, - mach_msg_type_number_t code_count) { - // At this time, we should have called Uninstall() on the exception handler - // so that the current exception ports are the ones that we should be - // forwarding to. - ExceptionParameters current; - - current.count = EXC_TYPES_COUNT; - mach_port_t current_task = mach_task_self(); - kern_return_t result = task_get_exception_ports(current_task, - s_exception_mask, - current.masks, - ¤t.count, - current.ports, - current.behaviors, - current.flavors); - - // Find the first exception handler that matches the exception - unsigned int found; - for (found = 0; found < current.count; ++found) { - if (current.masks[found] & (1 << exception)) { - break; - } - } - - // Nothing to forward - if (found == current.count) { - fprintf(stderr, "** No previous ports for forwarding!! \n"); - exit(KERN_FAILURE); - } - - mach_port_t target_port = current.ports[found]; - exception_behavior_t target_behavior = current.behaviors[found]; - thread_state_flavor_t target_flavor = current.flavors[found]; - - mach_msg_type_number_t thread_state_count = THREAD_STATE_MAX; - breakpad_thread_state_data_t thread_state; - switch (target_behavior) { - case EXCEPTION_DEFAULT: - result = exception_raise(target_port, failed_thread, task, exception, - code, code_count); - break; - - case EXCEPTION_STATE: - result = thread_get_state(failed_thread, target_flavor, thread_state, - &thread_state_count); - if (result == KERN_SUCCESS) - result = exception_raise_state(target_port, failed_thread, task, - exception, code, - code_count, &target_flavor, - thread_state, thread_state_count, - thread_state, &thread_state_count); - if (result == KERN_SUCCESS) - result = thread_set_state(failed_thread, target_flavor, thread_state, - thread_state_count); - break; - - case EXCEPTION_STATE_IDENTITY: - result = thread_get_state(failed_thread, target_flavor, thread_state, - &thread_state_count); - if (result == KERN_SUCCESS) - result = exception_raise_state_identity(target_port, failed_thread, - task, exception, code, - code_count, &target_flavor, - thread_state, - thread_state_count, - thread_state, - &thread_state_count); - if (result == KERN_SUCCESS) - result = thread_set_state(failed_thread, target_flavor, thread_state, - thread_state_count); - break; - - default: - fprintf(stderr, "** Unknown exception behavior\n"); - result = KERN_FAILURE; - break; - } - - return result; -} - -// Callback from exc_server() -kern_return_t catch_exception_raise(mach_port_t port, mach_port_t failed_thread, - mach_port_t task, - exception_type_t exception, - exception_data_t code, - mach_msg_type_number_t code_count) { - return ForwardException(task, failed_thread, exception, code, code_count); -} - -// static -void *ExceptionHandler::WaitForMessage(void *exception_handler_class) { - ExceptionHandler *self = - reinterpret_cast(exception_handler_class); - ExceptionMessage receive; - - // Wait for the exception info - while (1) { - receive.header.msgh_local_port = self->handler_port_; - receive.header.msgh_size = sizeof(receive); - kern_return_t result = mach_msg(&(receive.header), - MACH_RCV_MSG | MACH_RCV_LARGE, 0, - sizeof(receive), self->handler_port_, - MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); - if (result == KERN_SUCCESS) { - // Uninstall our handler so that we don't get in a loop if the process of - // writing out a minidump causes an exception. However, if the exception - // was caused by a fork'd process, don't uninstall things - if (receive.task.name == mach_task_self()) - // If the actual exception code is zero, then we're calling this handler - // in a way that indicates that we want to either exit this thread or - // generate a minidump - // - // While reporting, all threads (except this one) must be suspended - // to avoid misleading stacks. If appropriate they will be resumed - // afterwards. - if (!receive.exception) { - self->UninstallHandler(false); - - if (self->is_in_teardown_) - return NULL; - - self->SuspendThreads(); - - // Write out the dump and save the result for later retrieval - self->last_minidump_write_result_ = - self->WriteMinidumpWithException(0, 0, 0); - - self->ResumeThreads(); - - if (self->use_minidump_write_mutex_) - pthread_mutex_unlock(&self->minidump_write_mutex_); - } else { - self->UninstallHandler(true); - - // When forking a child process with the exception handler installed, - // if the child crashes, it will send the exception back to the parent - // process. The check for task == self_task() ensures that only - // exceptions that occur in the parent process are caught and - // processed. - if (receive.task.name == mach_task_self()) { - self->SuspendThreads(); - - // Generate the minidump with the exception data. - self->WriteMinidumpWithException(receive.exception, receive.code[0], - receive.thread.name); - - // Pass along the exception to the server, which will setup the - // message and call catch_exception_raise() and put the KERN_SUCCESS - // into the reply. - ExceptionReplyMessage reply; - if (!exc_server(&receive.header, &reply.header)) - exit(1); - - // Send a reply and exit - result = mach_msg(&(reply.header), MACH_SEND_MSG, - reply.header.msgh_size, 0, MACH_PORT_NULL, - MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); - } else { - // An exception occurred in a child process - } - } - } - } - - return NULL; -} - -bool ExceptionHandler::InstallHandler() { - try { - previous_ = new ExceptionParameters(); - } - catch (std::bad_alloc) { - return false; - } - - // Save the current exception ports so that we can forward to them - previous_->count = EXC_TYPES_COUNT; - mach_port_t current_task = mach_task_self(); - kern_return_t result = task_get_exception_ports(current_task, - s_exception_mask, - previous_->masks, - &previous_->count, - previous_->ports, - previous_->behaviors, - previous_->flavors); - - // Setup the exception ports on this task - if (result == KERN_SUCCESS) - result = task_set_exception_ports(current_task, s_exception_mask, - handler_port_, EXCEPTION_DEFAULT, - THREAD_STATE_NONE); - - installed_exception_handler_ = (result == KERN_SUCCESS); - - return installed_exception_handler_; -} - -bool ExceptionHandler::UninstallHandler(bool in_exception) { - kern_return_t result = KERN_SUCCESS; - - if (installed_exception_handler_) { - mach_port_t current_task = mach_task_self(); - - // Restore the previous ports - for (unsigned int i = 0; i < previous_->count; ++i) { - result = task_set_exception_ports(current_task, previous_->masks[i], - previous_->ports[i], - previous_->behaviors[i], - previous_->flavors[i]); - if (result != KERN_SUCCESS) - return false; - } - - // this delete should NOT happen if an exception just occurred! - if (!in_exception) { - delete previous_; - } - - previous_ = NULL; - installed_exception_handler_ = false; - } - - return result == KERN_SUCCESS; -} - -bool ExceptionHandler::Setup(bool install_handler) { - if (pthread_mutex_init(&minidump_write_mutex_, NULL)) - return false; - - // Create a receive right - mach_port_t current_task = mach_task_self(); - kern_return_t result = mach_port_allocate(current_task, - MACH_PORT_RIGHT_RECEIVE, - &handler_port_); - // Add send right - if (result == KERN_SUCCESS) - result = mach_port_insert_right(current_task, handler_port_, handler_port_, - MACH_MSG_TYPE_MAKE_SEND); - - if (install_handler && result == KERN_SUCCESS) - if (!InstallHandler()) - return false; - - if (result == KERN_SUCCESS) { - // Install the handler in its own thread, detached as we won't be joining. - pthread_attr_t attr; - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - int thread_create_result = pthread_create(&handler_thread_, &attr, - &WaitForMessage, this); - pthread_attr_destroy(&attr); - result = thread_create_result ? KERN_FAILURE : KERN_SUCCESS; - } - - return result == KERN_SUCCESS ? true : false; -} - -bool ExceptionHandler::Teardown() { - kern_return_t result = KERN_SUCCESS; - is_in_teardown_ = true; - - if (!UninstallHandler(false)) - return false; - - // Send an empty message so that the handler_thread exits - if (SendEmptyMachMessage()) { - mach_port_t current_task = mach_task_self(); - result = mach_port_deallocate(current_task, handler_port_); - if (result != KERN_SUCCESS) - return false; - } else { - return false; - } - - handler_thread_ = NULL; - handler_port_ = NULL; - pthread_mutex_destroy(&minidump_write_mutex_); - - return result == KERN_SUCCESS; -} - -bool ExceptionHandler::SendEmptyMachMessage() { - ExceptionMessage empty; - memset(&empty, 0, sizeof(empty)); - empty.header.msgh_size = sizeof(empty) - sizeof(empty.padding); - empty.header.msgh_remote_port = handler_port_; - empty.header.msgh_bits = MACH_MSGH_BITS(MACH_MSG_TYPE_COPY_SEND, - MACH_MSG_TYPE_MAKE_SEND_ONCE); - kern_return_t result = mach_msg(&(empty.header), - MACH_SEND_MSG | MACH_SEND_TIMEOUT, - empty.header.msgh_size, 0, 0, - MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); - - return result == KERN_SUCCESS; -} - -void ExceptionHandler::UpdateNextID() { - next_minidump_path_ = - (MinidumpGenerator::UniqueNameInDirectory(dump_path_, &next_minidump_id_)); - - next_minidump_path_c_ = next_minidump_path_.c_str(); - next_minidump_id_c_ = next_minidump_id_.c_str(); -} - -bool ExceptionHandler::SuspendThreads() { - thread_act_port_array_t threads_for_task; - mach_msg_type_number_t thread_count; - - if (task_threads(mach_task_self(), &threads_for_task, &thread_count)) - return false; - - // suspend all of the threads except for this one - for (unsigned int i = 0; i < thread_count; ++i) { - if (threads_for_task[i] != mach_thread_self()) { - if (thread_suspend(threads_for_task[i])) - return false; - } - } - - return true; -} - -bool ExceptionHandler::ResumeThreads() { - thread_act_port_array_t threads_for_task; - mach_msg_type_number_t thread_count; - - if (task_threads(mach_task_self(), &threads_for_task, &thread_count)) - return false; - - // resume all of the threads except for this one - for (unsigned int i = 0; i < thread_count; ++i) { - if (threads_for_task[i] != mach_thread_self()) { - if (thread_resume(threads_for_task[i])) - return false; - } - } - - return true; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/client/mac/handler/exception_handler.h b/toolkit/airbag/airbag/src/client/mac/handler/exception_handler.h deleted file mode 100644 index 8d7755a69786..000000000000 --- a/toolkit/airbag/airbag/src/client/mac/handler/exception_handler.h +++ /dev/null @@ -1,212 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// exception_handler.h: MacOS exception handler -// This class can install a Mach exception port handler to trap most common -// programming errors. If an exception occurs, a minidump file will be -// generated which contains detailed information about the process and the -// exception. - -#ifndef CLIENT_MAC_HANDLER_EXCEPTION_HANDLER_H__ -#define CLIENT_MAC_HANDLER_EXCEPTION_HANDLER_H__ - -#include - -#include - -namespace google_breakpad { - -using std::string; - -struct ExceptionParameters; - -class ExceptionHandler { - public: - // A callback function to run before Breakpad performs any substantial - // processing of an exception. A FilterCallback is called before writing - // a minidump. context is the parameter supplied by the user as - // callback_context when the handler was created. - // - // If a FilterCallback returns true, Breakpad will continue processing, - // attempting to write a minidump. If a FilterCallback returns false, Breakpad - // will immediately report the exception as unhandled without writing a - // minidump, allowing another handler the opportunity to handle it. - typedef bool (*FilterCallback)(void *context); - - // A callback function to run after the minidump has been written. - // |minidump_id| is a unique id for the dump, so the minidump - // file is /.dmp. - // |context| is the value passed into the constructor. - // |succeeded| indicates whether a minidump file was successfully written. - // Return true if the exception was fully handled and breakpad should exit. - // Return false to allow any other exception handlers to process the - // exception. - typedef bool (*MinidumpCallback)(const char *dump_dir, - const char *minidump_id, - void *context, bool succeeded); - - // A callback function which will be called directly if an exception occurs. - // This bypasses the minidump file writing and simply gives the client - // the exception information. - typedef bool (*DirectCallback)( void *context, - int exception_type, - int exception_code, - mach_port_t thread_name); - - // Creates a new ExceptionHandler instance to handle writing minidumps. - // Minidump files will be written to dump_path, and the optional callback - // is called after writing the dump file, as described above. - // If install_handler is true, then a minidump will be written whenever - // an unhandled exception occurs. If it is false, minidumps will only - // be written when WriteMinidump is called. - ExceptionHandler(const string &dump_path, - FilterCallback filter, MinidumpCallback callback, - void *callback_context, bool install_handler); - - // A special constructor if we want to bypass minidump writing and - // simply get a callback with the exception information. - ExceptionHandler(DirectCallback callback, - void *callback_context, - bool install_handler); - - ~ExceptionHandler(); - - // Get and set the minidump path. - string dump_path() const { return dump_path_; } - void set_dump_path(const string &dump_path) { - dump_path_ = dump_path; - dump_path_c_ = dump_path_.c_str(); - UpdateNextID(); // Necessary to put dump_path_ in next_minidump_path_. - } - - // Writes a minidump immediately. This can be used to capture the - // execution state independently of a crash. Returns true on success. - bool WriteMinidump(); - - // Convenience form of WriteMinidump which does not require an - // ExceptionHandler instance. - static bool WriteMinidump(const string &dump_path, MinidumpCallback callback, - void *callback_context); - - private: - // Install the mach exception handler - bool InstallHandler(); - - // Uninstall the mach exception handler (if any) - bool UninstallHandler(bool in_exception); - - // Setup the handler thread, and if |install_handler| is true, install the - // mach exception port handler - bool Setup(bool install_handler); - - // Uninstall the mach exception handler (if any) and terminate the helper - // thread - bool Teardown(); - - // Send an "empty" mach message to the exception handler. Return true on - // success, false otherwise - bool SendEmptyMachMessage(); - - // All minidump writing goes through this one routine - bool WriteMinidumpWithException(int exception_type, int exception_code, - mach_port_t thread_name); - - // When installed, this static function will be call from a newly created - // pthread with |this| as the argument - static void *WaitForMessage(void *exception_handler_class); - - // disallow copy ctor and operator= - explicit ExceptionHandler(const ExceptionHandler &); - void operator=(const ExceptionHandler &); - - // Generates a new ID and stores it in next_minidump_id_, and stores the - // path of the next minidump to be written in next_minidump_path_. - void UpdateNextID(); - - // These functions will suspend/resume all threads except for the - // reporting thread - bool SuspendThreads(); - bool ResumeThreads(); - - // The destination directory for the minidump - string dump_path_; - - // The basename of the next minidump w/o extension - string next_minidump_id_; - - // The full path to the next minidump to be written, including extension - string next_minidump_path_; - - // Pointers to the UTF-8 versions of above - const char *dump_path_c_; - const char *next_minidump_id_c_; - const char *next_minidump_path_c_; - - // The callback function and pointer to be passed back after the minidump - // has been written - FilterCallback filter_; - MinidumpCallback callback_; - void *callback_context_; - - // The callback function to be passed back when we don't want a minidump - // file to be written - DirectCallback directCallback_; - - // The thread that is created for the handler - pthread_t handler_thread_; - - // The port that is waiting on an exception message to be sent, if the - // handler is installed - mach_port_t handler_port_; - - // These variables save the previous exception handler's data so that it - // can be re-installed when this handler is uninstalled - ExceptionParameters *previous_; - - // True, if we've installed the exception handler - bool installed_exception_handler_; - - // True, if we're in the process of uninstalling the exception handler and - // the thread. - bool is_in_teardown_; - - // Save the last result of the last minidump - bool last_minidump_write_result_; - - // A mutex for use when writing out a minidump that was requested on a - // thread other than the exception handler. - pthread_mutex_t minidump_write_mutex_; - - // True, if we're using the mutext to indicate when mindump writing occurs - bool use_minidump_write_mutex_; -}; - -} // namespace google_breakpad - -#endif // CLIENT_MAC_HANDLER_EXCEPTION_HANDLER_H__ diff --git a/toolkit/airbag/airbag/src/client/mac/handler/exception_handler_test.cc b/toolkit/airbag/airbag/src/client/mac/handler/exception_handler_test.cc deleted file mode 100644 index 5994437722f1..000000000000 --- a/toolkit/airbag/airbag/src/client/mac/handler/exception_handler_test.cc +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -/* -g++ -framework CoreFoundation -I../../.. \ - ../../minidump_file_writer.cc \ - ../../../common/convert_UTF.c \ - ../../../common/string_conversion.cc \ - ../../../common/mac/string_utilities.cc \ - exception_handler.cc \ - minidump_generator.cc \ - exception_handler_test.cc \ - -o exception_handler_test -*/ - -#include -#include -#include - -#include - -#include "exception_handler.h" -#include "minidump_generator.h" - -using std::string; -using google_breakpad::ExceptionHandler; - -static void *SleepyFunction(void *) { - while (1) { - sleep(10000); - } -} - -static void Crasher() { - int *a = NULL; - - fprintf(stdout, "Going to crash...\n"); - fprintf(stdout, "A = %d", *a); -} - -static void SoonToCrash() { - Crasher(); -} - -bool MDCallback(const char *dump_dir, const char *file_name, - void *context, bool success) { - string path(dump_dir); - string dest(dump_dir); - path.append(file_name); - path.append(".dmp"); - - fprintf(stdout, "Minidump: %s\n", path.c_str()); - // Indicate that we've handled the callback - return true; -} - -int main(int argc, char * const argv[]) { - char buffer[PATH_MAX]; - struct passwd *user = getpwuid(getuid()); - - // Home dir - snprintf(buffer, sizeof(buffer), "/Users/%s/Desktop/", user->pw_name); - - string path(buffer); - ExceptionHandler eh(path, NULL, MDCallback, NULL, true); - pthread_t t; - - if (pthread_create(&t, NULL, SleepyFunction, NULL) == 0) { - pthread_detach(t); - } else { - perror("pthread_create"); - } - - // Dump a test - eh.WriteMinidump(); - - // Test the handler - SoonToCrash(); - - return 0; -} diff --git a/toolkit/airbag/airbag/src/client/mac/handler/minidump_generator.cc b/toolkit/airbag/airbag/src/client/mac/handler/minidump_generator.cc deleted file mode 100644 index f6d1811de129..000000000000 --- a/toolkit/airbag/airbag/src/client/mac/handler/minidump_generator.cc +++ /dev/null @@ -1,820 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include - -#include -#include -#include -#include -#include -#include - -#include - -#include "client/mac/handler/minidump_generator.h" -#include "client/minidump_file_writer-inl.h" -#include "common/mac/file_id.h" -#include "common/mac/string_utilities.h" - -using MacStringUtils::ConvertToString; -using MacStringUtils::IntegerValueAtIndex; - -namespace google_breakpad { - -// constructor when generating from within the crashed process -MinidumpGenerator::MinidumpGenerator() - : exception_type_(0), - exception_code_(0), - exception_thread_(0), - crashing_task_(mach_task_self()), - handler_thread_(mach_thread_self()), - dynamic_images_(NULL) { - GatherSystemInformation(); -} - -// constructor when generating from a different process than the crashed process -MinidumpGenerator::MinidumpGenerator(mach_port_t crashing_task, mach_port_t handler_thread) - : exception_type_(0), - exception_code_(0), - exception_thread_(0), - crashing_task_(crashing_task), - handler_thread_(handler_thread) { - if (crashing_task != mach_task_self()) { - dynamic_images_ = new DynamicImages(crashing_task_); - } else { - dynamic_images_ = NULL; - } - - GatherSystemInformation(); -} - -MinidumpGenerator::~MinidumpGenerator() { - delete dynamic_images_; -} - -char MinidumpGenerator::build_string_[16]; -int MinidumpGenerator::os_major_version_ = 0; -int MinidumpGenerator::os_minor_version_ = 0; -int MinidumpGenerator::os_build_number_ = 0; - -// static -void MinidumpGenerator::GatherSystemInformation() { - // If this is non-zero, then we've already gathered the information - if (os_major_version_) - return; - - // This code extracts the version and build information from the OS - CFStringRef vers_path = - CFSTR("/System/Library/CoreServices/SystemVersion.plist"); - CFURLRef sys_vers = - CFURLCreateWithFileSystemPath(NULL, vers_path, kCFURLPOSIXPathStyle, false); - CFDataRef data; - SInt32 error; - CFURLCreateDataAndPropertiesFromResource(NULL, sys_vers, &data, NULL, NULL, - &error); - - if (!data) - return; - - CFDictionaryRef list = static_cast - (CFPropertyListCreateFromXMLData(NULL, data, kCFPropertyListImmutable, - NULL)); - if (!list) - return; - - CFStringRef build_version = static_cast - (CFDictionaryGetValue(list, CFSTR("ProductBuildVersion"))); - CFStringRef product_version = static_cast - (CFDictionaryGetValue(list, CFSTR("ProductVersion"))); - string build_str = ConvertToString(build_version); - string product_str = ConvertToString(product_version); - - CFRelease(list); - CFRelease(sys_vers); - CFRelease(data); - - strlcpy(build_string_, build_str.c_str(), sizeof(build_string_)); - - // Parse the string that looks like "10.4.8" - os_major_version_ = IntegerValueAtIndex(product_str, 0); - os_minor_version_ = IntegerValueAtIndex(product_str, 1); - os_build_number_ = IntegerValueAtIndex(product_str, 2); -} - -string MinidumpGenerator::UniqueNameInDirectory(const string &dir, - string *unique_name) { - CFUUIDRef uuid = CFUUIDCreate(NULL); - CFStringRef uuid_cfstr = CFUUIDCreateString(NULL, uuid); - CFRelease(uuid); - string file_name(ConvertToString(uuid_cfstr)); - CFRelease(uuid_cfstr); - string path(dir); - - // Ensure that the directory (if non-empty) has a trailing slash so that - // we can append the file name and have a valid pathname. - if (!dir.empty()) { - if (dir.at(dir.size() - 1) != '/') - path.append(1, '/'); - } - - path.append(file_name); - path.append(".dmp"); - - if (unique_name) - *unique_name = file_name; - - return path; -} - -bool MinidumpGenerator::Write(const char *path) { - WriteStreamFN writers[] = { - &MinidumpGenerator::WriteThreadListStream, - &MinidumpGenerator::WriteSystemInfoStream, - &MinidumpGenerator::WriteModuleListStream, - &MinidumpGenerator::WriteMiscInfoStream, - &MinidumpGenerator::WriteBreakpadInfoStream, - // Exception stream needs to be the last entry in this array as it may - // be omitted in the case where the minidump is written without an - // exception. - &MinidumpGenerator::WriteExceptionStream, - }; - bool result = true; - - // If opening was successful, create the header, directory, and call each - // writer. The destructor for the TypedMDRVAs will cause the data to be - // flushed. The destructor for the MinidumpFileWriter will close the file. - if (writer_.Open(path)) { - TypedMDRVA header(&writer_); - TypedMDRVA dir(&writer_); - - if (!header.Allocate()) - return false; - - int writer_count = sizeof(writers) / sizeof(writers[0]); - - // If we don't have exception information, don't write out the - // exception stream - if (!exception_thread_ && !exception_type_) - --writer_count; - - // Add space for all writers - if (!dir.AllocateArray(writer_count)) - return false; - - MDRawHeader *header_ptr = header.get(); - header_ptr->signature = MD_HEADER_SIGNATURE; - header_ptr->version = MD_HEADER_VERSION; - time(reinterpret_cast(&(header_ptr->time_date_stamp))); - header_ptr->stream_count = writer_count; - header_ptr->stream_directory_rva = dir.position(); - - MDRawDirectory local_dir; - for (int i = 0; (result) && (i < writer_count); ++i) { - result = (this->*writers[i])(&local_dir); - - if (result) - dir.CopyIndex(i, &local_dir); - } - } - - return result; -} - -size_t MinidumpGenerator::CalculateStackSize(vm_address_t start_addr) { - vm_address_t stack_region_base = start_addr; - vm_size_t stack_region_size; - natural_t nesting_level = 0; - vm_region_submap_info submap_info; - mach_msg_type_number_t info_count = VM_REGION_SUBMAP_INFO_COUNT; - kern_return_t result = - vm_region_recurse(crashing_task_, &stack_region_base, &stack_region_size, - &nesting_level, - reinterpret_cast(&submap_info), - &info_count); - - if ((stack_region_base + stack_region_size) == 0xbffff000) { - // The stack for thread 0 needs to extend all the way to 0xc0000000 - // For many processes the stack is first created in one page - // from 0xbffff000 - 0xc0000000 and is then later extended to - // a much larger size by creating a new VM region immediately below - // the initial page - - // include the original stack frame page (0xbffff000 - 0xc0000000) - stack_region_size += 0x1000; - } - - return result == KERN_SUCCESS ? - stack_region_base + stack_region_size - start_addr : 0; -} - -bool MinidumpGenerator::WriteStackFromStartAddress( - vm_address_t start_addr, - MDMemoryDescriptor *stack_location) { - UntypedMDRVA memory(&writer_); - size_t size = CalculateStackSize(start_addr); - - // If there's an error in the calculation, return at least the current - // stack information - if (size == 0) - size = 16; - - if (!memory.Allocate(size)) - return false; - - bool result; - if (dynamic_images_) { - void *stack_memory = ReadTaskMemory(crashing_task_, (void*)start_addr, size); - result = memory.Copy(stack_memory, size); - free(stack_memory); - } else { - result = memory.Copy(reinterpret_cast(start_addr), size); - } - - stack_location->start_of_memory_range = start_addr; - stack_location->memory = memory.location(); - - return result; -} - -#if TARGET_CPU_PPC -bool MinidumpGenerator::WriteStack(breakpad_thread_state_data_t state, - MDMemoryDescriptor *stack_location) { - ppc_thread_state_t *machine_state = - reinterpret_cast(state); - vm_address_t start_addr = machine_state->r1; - return WriteStackFromStartAddress(start_addr, stack_location); -} - -u_int64_t MinidumpGenerator::CurrentPCForStack(breakpad_thread_state_data_t state) { - ppc_thread_state_t *machine_state = - reinterpret_cast(state); - - return machine_state->srr0; -} - -bool MinidumpGenerator::WriteContext(breakpad_thread_state_data_t state, - MDLocationDescriptor *register_location) { - TypedMDRVA context(&writer_); - ppc_thread_state_t *machine_state = - reinterpret_cast(state); - - if (!context.Allocate()) - return false; - - *register_location = context.location(); - MDRawContextPPC *context_ptr = context.get(); - context_ptr->context_flags = MD_CONTEXT_PPC_BASE; - -#define AddReg(a) context_ptr->a = machine_state->a -#define AddGPR(a) context_ptr->gpr[a] = machine_state->r ## a - AddReg(srr0); - AddReg(cr); - AddReg(xer); - AddReg(ctr); - AddReg(mq); - AddReg(lr); - AddReg(vrsave); - - AddGPR(0); - AddGPR(1); - AddGPR(2); - AddGPR(3); - AddGPR(4); - AddGPR(5); - AddGPR(6); - AddGPR(7); - AddGPR(8); - AddGPR(9); - AddGPR(10); - AddGPR(11); - AddGPR(12); - AddGPR(13); - AddGPR(14); - AddGPR(15); - AddGPR(16); - AddGPR(17); - AddGPR(18); - AddGPR(19); - AddGPR(20); - AddGPR(21); - AddGPR(22); - AddGPR(23); - AddGPR(24); - AddGPR(25); - AddGPR(26); - AddGPR(27); - AddGPR(28); - AddGPR(29); - AddGPR(30); - AddGPR(31); - return true; -} - -#elif TARGET_CPU_X86 -bool MinidumpGenerator::WriteStack(breakpad_thread_state_data_t state, - MDMemoryDescriptor *stack_location) { - i386_thread_state_t *machine_state = - reinterpret_cast(state); - vm_address_t start_addr = machine_state->esp; - return WriteStackFromStartAddress(start_addr, stack_location); -} - -u_int64_t MinidumpGenerator::CurrentPCForStack(breakpad_thread_state_data_t state) { - i386_thread_state_t *machine_state = - reinterpret_cast(state); - - return machine_state->eip; -} - -bool MinidumpGenerator::WriteContext(breakpad_thread_state_data_t state, - MDLocationDescriptor *register_location) { - TypedMDRVA context(&writer_); - i386_thread_state_t *machine_state = - reinterpret_cast(state); - - if (!context.Allocate()) - return false; - - *register_location = context.location(); - MDRawContextX86 *context_ptr = context.get(); - context_ptr->context_flags = MD_CONTEXT_X86; -#define AddReg(a) context_ptr->a = machine_state->a - AddReg(cs); - AddReg(ds); - AddReg(ss); - AddReg(es); - AddReg(fs); - AddReg(gs); - AddReg(eflags); - - AddReg(eip); - AddReg(eax); - AddReg(ebx); - AddReg(ecx); - AddReg(edx); - AddReg(esi); - AddReg(edi); - AddReg(ebp); - AddReg(esp); - return true; -} -#endif - -bool MinidumpGenerator::WriteThreadStream(mach_port_t thread_id, - MDRawThread *thread) { - breakpad_thread_state_data_t state; - mach_msg_type_number_t state_count = sizeof(state); - - if (thread_get_state(thread_id, BREAKPAD_MACHINE_THREAD_STATE, - state, &state_count) == - KERN_SUCCESS) { - if (!WriteStack(state, &thread->stack)) - return false; - - if (!WriteContext(state, &thread->thread_context)) - return false; - - thread->thread_id = thread_id; - } else { - return false; - } - - return true; -} - -bool MinidumpGenerator::WriteThreadListStream( - MDRawDirectory *thread_list_stream) { - TypedMDRVA list(&writer_); - thread_act_port_array_t threads_for_task; - mach_msg_type_number_t thread_count; - int non_generator_thread_count; - - if (task_threads(crashing_task_, &threads_for_task, &thread_count)) - return false; - - // Don't include the generator thread - non_generator_thread_count = thread_count - 1; - if (!list.AllocateObjectAndArray(non_generator_thread_count, - sizeof(MDRawThread))) - return false; - - thread_list_stream->stream_type = MD_THREAD_LIST_STREAM; - thread_list_stream->location = list.location(); - - list.get()->number_of_threads = non_generator_thread_count; - - MDRawThread thread; - int thread_idx = 0; - - for (unsigned int i = 0; i < thread_count; ++i) { - memset(&thread, 0, sizeof(MDRawThread)); - - if (threads_for_task[i] != handler_thread_) { - if (!WriteThreadStream(threads_for_task[i], &thread)) - return false; - - list.CopyIndexAfterObject(thread_idx++, &thread, sizeof(MDRawThread)); - } - } - - return true; -} - -bool MinidumpGenerator::WriteExceptionStream(MDRawDirectory *exception_stream) { - TypedMDRVA exception(&writer_); - - if (!exception.Allocate()) - return false; - - exception_stream->stream_type = MD_EXCEPTION_STREAM; - exception_stream->location = exception.location(); - MDRawExceptionStream *exception_ptr = exception.get(); - exception_ptr->thread_id = exception_thread_; - - // This naming is confusing, but it is the proper translation from - // mach naming to minidump naming. - exception_ptr->exception_record.exception_code = exception_type_; - exception_ptr->exception_record.exception_flags = exception_code_; - - breakpad_thread_state_data_t state; - mach_msg_type_number_t stateCount = sizeof(state); - - if (thread_get_state(exception_thread_, BREAKPAD_MACHINE_THREAD_STATE, state, - &stateCount) != KERN_SUCCESS) - return false; - - if (!WriteContext(state, &exception_ptr->thread_context)) - return false; - - exception_ptr->exception_record.exception_address = CurrentPCForStack(state); - - return true; -} - -bool MinidumpGenerator::WriteSystemInfoStream( - MDRawDirectory *system_info_stream) { - TypedMDRVA info(&writer_); - - if (!info.Allocate()) - return false; - - system_info_stream->stream_type = MD_SYSTEM_INFO_STREAM; - system_info_stream->location = info.location(); - - // CPU Information - uint32_t cpu_type; - size_t len = sizeof(cpu_type); - sysctlbyname("hw.cputype", &cpu_type, &len, NULL, 0); - uint32_t number_of_processors; - len = sizeof(number_of_processors); - sysctlbyname("hw.ncpu", &number_of_processors, &len, NULL, 0); - MDRawSystemInfo *info_ptr = info.get(); - - switch (cpu_type) { - case CPU_TYPE_POWERPC: - info_ptr->processor_architecture = MD_CPU_ARCHITECTURE_PPC; - break; - case CPU_TYPE_I386: - info_ptr->processor_architecture = MD_CPU_ARCHITECTURE_X86; -#ifdef __i386__ - // ebx is used for PIC code, so we need - // to preserve it. -#define cpuid(op,eax,ebx,ecx,edx) \ - asm ("pushl %%ebx \n\t" \ - "cpuid \n\t" \ - "movl %%ebx,%1 \n\t" \ - "popl %%ebx" \ - : "=a" (eax), \ - "=g" (ebx), \ - "=c" (ecx), \ - "=d" (edx) \ - : "0" (op)) - int unused, unused2; - // get vendor id - cpuid(0, unused, info_ptr->cpu.x86_cpu_info.vendor_id[0], - info_ptr->cpu.x86_cpu_info.vendor_id[2], - info_ptr->cpu.x86_cpu_info.vendor_id[1]); - // get version and feature info - cpuid(1, info_ptr->cpu.x86_cpu_info.version_information, unused, unused2, - info_ptr->cpu.x86_cpu_info.feature_information); - // family - info_ptr->processor_level = - (info_ptr->cpu.x86_cpu_info.version_information & 0xF00) >> 8; - // 0xMMSS (Model, Stepping) - info_ptr->processor_revision = - (info_ptr->cpu.x86_cpu_info.version_information & 0xF) | - ((info_ptr->cpu.x86_cpu_info.version_information & 0xF0) << 4); -#endif // __i386__ - break; - default: - info_ptr->processor_architecture = MD_CPU_ARCHITECTURE_UNKNOWN; - break; - } - - info_ptr->number_of_processors = number_of_processors; - info_ptr->platform_id = MD_OS_MAC_OS_X; - - MDLocationDescriptor build_string_loc; - - if (!writer_.WriteString(build_string_, 0, - &build_string_loc)) - return false; - - info_ptr->csd_version_rva = build_string_loc.rva; - info_ptr->major_version = os_major_version_; - info_ptr->minor_version = os_minor_version_; - info_ptr->build_number = os_build_number_; - - return true; -} - -bool MinidumpGenerator::WriteModuleStream(unsigned int index, - MDRawModule *module) { - if (dynamic_images_) { - // we're in a different process than the crashed process - DynamicImage *image = dynamic_images_->GetImage(index); - - if (!image) - return false; - - const mach_header *header = image->GetMachHeader(); - - if (!header) - return false; - - int cpu_type = header->cputype; - - memset(module, 0, sizeof(MDRawModule)); - - MDLocationDescriptor string_location; - - const char* name = image->GetFilePath(); - if (!writer_.WriteString(name, 0, &string_location)) - return false; - - module->base_of_image = image->GetVMAddr() + image->GetVMAddrSlide(); - module->size_of_image = image->GetVMSize(); - module->module_name_rva = string_location.rva; - - if (!WriteCVRecord(module, cpu_type, name)) { - return false; - } - } else { - // we're getting module info in the crashed process - const struct mach_header *header = _dyld_get_image_header(index); - - if (!header) - return false; - - int cpu_type = header->cputype; - unsigned long slide = _dyld_get_image_vmaddr_slide(index); - const char* name = _dyld_get_image_name(index); - const struct load_command *cmd = - reinterpret_cast(header + 1); - - memset(module, 0, sizeof(MDRawModule)); - - for (unsigned int i = 0; cmd && (i < header->ncmds); i++) { - if (cmd->cmd == LC_SEGMENT) { - const struct segment_command *seg = - reinterpret_cast(cmd); - if (!strcmp(seg->segname, "__TEXT")) { - MDLocationDescriptor string_location; - - if (!writer_.WriteString(name, 0, &string_location)) - return false; - - module->base_of_image = seg->vmaddr + slide; - module->size_of_image = seg->vmsize; - module->module_name_rva = string_location.rva; - - if (!WriteCVRecord(module, cpu_type, name)) - return false; - - return true; - } - } - - cmd = reinterpret_cast((char *)cmd + cmd->cmdsize); - } - } - - return true; -} - -int MinidumpGenerator::FindExecutableModule() { - if (dynamic_images_) { - int index = dynamic_images_->GetExecutableImageIndex(); - - if (index >= 0) { - return index; - } - } else { - int image_count = _dyld_image_count(); - const struct mach_header *header; - - for (int index = 0; index < image_count; ++index) { - header = _dyld_get_image_header(index); - - if (header->filetype == MH_EXECUTE) - return index; - } - } - - // failed - just use the first image - return 0; -} - -bool MinidumpGenerator::WriteCVRecord(MDRawModule *module, int cpu_type, - const char *module_path) { - TypedMDRVA cv(&writer_); - - // Only return the last path component of the full module path - const char *module_name = strrchr(module_path, '/'); - - // Increment past the slash - if (module_name) - ++module_name; - else - module_name = ""; - - size_t module_name_length = strlen(module_name); - - if (!cv.AllocateObjectAndArray(module_name_length + 1, sizeof(u_int8_t))) - return false; - - if (!cv.CopyIndexAfterObject(0, module_name, module_name_length)) - return false; - - module->cv_record = cv.location(); - MDCVInfoPDB70 *cv_ptr = cv.get(); - cv_ptr->cv_signature = MD_CVINFOPDB70_SIGNATURE; - cv_ptr->age = 0; - - // Get the module identifier - FileID file_id(module_path); - unsigned char identifier[16]; - - if (file_id.MachoIdentifier(cpu_type, identifier)) { - cv_ptr->signature.data1 = (uint32_t)identifier[0] << 24 | - (uint32_t)identifier[1] << 16 | (uint32_t)identifier[2] << 8 | - (uint32_t)identifier[3]; - cv_ptr->signature.data2 = (uint32_t)identifier[4] << 8 | identifier[5]; - cv_ptr->signature.data3 = (uint32_t)identifier[6] << 8 | identifier[7]; - cv_ptr->signature.data4[0] = identifier[8]; - cv_ptr->signature.data4[1] = identifier[9]; - cv_ptr->signature.data4[2] = identifier[10]; - cv_ptr->signature.data4[3] = identifier[11]; - cv_ptr->signature.data4[4] = identifier[12]; - cv_ptr->signature.data4[5] = identifier[13]; - cv_ptr->signature.data4[6] = identifier[14]; - cv_ptr->signature.data4[7] = identifier[15]; - } - - return true; -} - -bool MinidumpGenerator::WriteModuleListStream( - MDRawDirectory *module_list_stream) { - TypedMDRVA list(&writer_); - - if (!_dyld_present()) - return false; - - int image_count = dynamic_images_ ? - dynamic_images_->GetImageCount() : _dyld_image_count(); - - if (!list.AllocateObjectAndArray(image_count, MD_MODULE_SIZE)) - return false; - - module_list_stream->stream_type = MD_MODULE_LIST_STREAM; - module_list_stream->location = list.location(); - list.get()->number_of_modules = image_count; - - // Write out the executable module as the first one - MDRawModule module; - int executableIndex = FindExecutableModule(); - - if (!WriteModuleStream(executableIndex, &module)) { - return false; - } - - list.CopyIndexAfterObject(0, &module, MD_MODULE_SIZE); - int destinationIndex = 1; // Write all other modules after this one - - for (int i = 0; i < image_count; ++i) { - if (i != executableIndex) { - if (!WriteModuleStream(i, &module)) { - return false; - } - - list.CopyIndexAfterObject(destinationIndex++, &module, MD_MODULE_SIZE); - } - } - - return true; -} - -bool MinidumpGenerator::WriteMiscInfoStream(MDRawDirectory *misc_info_stream) { - TypedMDRVA info(&writer_); - - if (!info.Allocate()) - return false; - - misc_info_stream->stream_type = MD_MISC_INFO_STREAM; - misc_info_stream->location = info.location(); - - MDRawMiscInfo *info_ptr = info.get(); - info_ptr->size_of_info = sizeof(MDRawMiscInfo); - info_ptr->flags1 = MD_MISCINFO_FLAGS1_PROCESS_ID | - MD_MISCINFO_FLAGS1_PROCESS_TIMES | - MD_MISCINFO_FLAGS1_PROCESSOR_POWER_INFO; - - // Process ID - info_ptr->process_id = getpid(); - - // Times - struct rusage usage; - if (getrusage(RUSAGE_SELF, &usage) != -1) { - // Omit the fractional time since the MDRawMiscInfo only wants seconds - info_ptr->process_user_time = usage.ru_utime.tv_sec; - info_ptr->process_kernel_time = usage.ru_stime.tv_sec; - } - int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, info_ptr->process_id }; - size_t size; - if (!sysctl(mib, sizeof(mib) / sizeof(mib[0]), NULL, &size, NULL, 0)) { - vm_address_t addr; - if (vm_allocate(mach_task_self(), &addr, size, true) == KERN_SUCCESS) { - struct kinfo_proc *proc = (struct kinfo_proc *)addr; - if (!sysctl(mib, sizeof(mib) / sizeof(mib[0]), proc, &size, NULL, 0)) - info_ptr->process_create_time = proc->kp_proc.p_starttime.tv_sec; - vm_deallocate(mach_task_self(), addr, size); - } - } - - // Speed - uint64_t speed; - size = sizeof(speed); - sysctlbyname("hw.cpufrequency_max", &speed, &size, NULL, 0); - info_ptr->processor_max_mhz = speed / (1000 * 1000); - info_ptr->processor_mhz_limit = speed / (1000 * 1000); - size = sizeof(speed); - sysctlbyname("hw.cpufrequency", &speed, &size, NULL, 0); - info_ptr->processor_current_mhz = speed / (1000 * 1000); - - return true; -} - -bool MinidumpGenerator::WriteBreakpadInfoStream( - MDRawDirectory *breakpad_info_stream) { - TypedMDRVA info(&writer_); - - if (!info.Allocate()) - return false; - - breakpad_info_stream->stream_type = MD_BREAKPAD_INFO_STREAM; - breakpad_info_stream->location = info.location(); - MDRawBreakpadInfo *info_ptr = info.get(); - - if (exception_thread_ && exception_type_) { - info_ptr->validity = MD_BREAKPAD_INFO_VALID_DUMP_THREAD_ID | - MD_BREAKPAD_INFO_VALID_REQUESTING_THREAD_ID; - info_ptr->dump_thread_id = handler_thread_; - info_ptr->requesting_thread_id = exception_thread_; - } else { - info_ptr->validity = MD_BREAKPAD_INFO_VALID_DUMP_THREAD_ID; - info_ptr->dump_thread_id = handler_thread_; - info_ptr->requesting_thread_id = 0; - } - - return true; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/client/mac/handler/minidump_generator.h b/toolkit/airbag/airbag/src/client/mac/handler/minidump_generator.h deleted file mode 100644 index 33d84c1cb8a3..000000000000 --- a/toolkit/airbag/airbag/src/client/mac/handler/minidump_generator.h +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// minidump_generator.h: Create a minidump of the current MacOS process. - -#ifndef CLIENT_MAC_GENERATOR_MINIDUMP_GENERATOR_H__ -#define CLIENT_MAC_GENERATOR_MINIDUMP_GENERATOR_H__ - -#include - -#include - -#include "client/minidump_file_writer.h" -#include "google_breakpad/common/minidump_format.h" -#include "common/mac/macho_utilities.h" - -#include "dynamic_images.h" - -namespace google_breakpad { - -using std::string; - -// Creates a minidump file of the current process. If there is exception data, -// use SetExceptionInformation() to add this to the minidump. The minidump -// file is generated by the Write() function. -// Usage: -// MinidumpGenerator minidump(); -// minidump.Write("/tmp/minidump"); -// -class MinidumpGenerator { - public: - MinidumpGenerator(); - MinidumpGenerator(mach_port_t crashing_task, mach_port_t handler_thread); - - ~MinidumpGenerator(); - - // Return /.dmp - // Sets |unique_name| (if requested) to the unique name for the minidump - static string UniqueNameInDirectory(const string &dir, string *unique_name); - - // Write out the minidump into |path| - // All of the components of |path| must exist and be writable - // Return true if successful, false otherwise - bool Write(const char *path); - - // Specify some exception information, if applicable - void SetExceptionInformation(int type, int code, mach_port_t thread_name) { - exception_type_ = type; - exception_code_ = code; - exception_thread_ = thread_name; - } - - // Gather system information. This should be call at least once before using - // the MinidumpGenerator class. - static void GatherSystemInformation(); - - private: - typedef bool (MinidumpGenerator::*WriteStreamFN)(MDRawDirectory *); - - // Stream writers - bool WriteThreadListStream(MDRawDirectory *thread_list_stream); - bool WriteExceptionStream(MDRawDirectory *exception_stream); - bool WriteSystemInfoStream(MDRawDirectory *system_info_stream); - bool WriteModuleListStream(MDRawDirectory *module_list_stream); - bool WriteMiscInfoStream(MDRawDirectory *misc_info_stream); - bool WriteBreakpadInfoStream(MDRawDirectory *breakpad_info_stream); - - // Helpers - u_int64_t CurrentPCForStack(breakpad_thread_state_data_t state); - bool WriteStackFromStartAddress(vm_address_t start_addr, - MDMemoryDescriptor *stack_location); - bool WriteStack(breakpad_thread_state_data_t state, - MDMemoryDescriptor *stack_location); - bool WriteContext(breakpad_thread_state_data_t state, - MDLocationDescriptor *register_location); - bool WriteThreadStream(mach_port_t thread_id, MDRawThread *thread); - bool WriteCVRecord(MDRawModule *module, int cpu_type, - const char *module_path); - bool WriteModuleStream(unsigned int index, MDRawModule *module); - size_t CalculateStackSize(vm_address_t start_addr); - int FindExecutableModule(); - - // disallow copy ctor and operator= - explicit MinidumpGenerator(const MinidumpGenerator &); - void operator=(const MinidumpGenerator &); - - // Use this writer to put the data to disk - MinidumpFileWriter writer_; - - // Exception information - int exception_type_; - int exception_code_; - mach_port_t exception_thread_; - mach_port_t crashing_task_; - mach_port_t handler_thread_; - - // System information - static char build_string_[16]; - static int os_major_version_; - static int os_minor_version_; - static int os_build_number_; - - // Information about dynamically loaded code - DynamicImages *dynamic_images_; -}; - -} // namespace google_breakpad - -#endif // CLIENT_MAC_GENERATOR_MINIDUMP_GENERATOR_H__ diff --git a/toolkit/airbag/airbag/src/client/mac/handler/minidump_generator_test.cc b/toolkit/airbag/airbag/src/client/mac/handler/minidump_generator_test.cc deleted file mode 100644 index c5f01ae986e5..000000000000 --- a/toolkit/airbag/airbag/src/client/mac/handler/minidump_generator_test.cc +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include - -#include -#include - -#include - -#include "minidump_generator.h" -#include "minidump_file_writer.h" - -using std::string; -using google_breakpad::MinidumpGenerator; - -static bool doneWritingReport = false; - -static void *Reporter(void *) { - char buffer[PATH_MAX]; - MinidumpGenerator md; - struct passwd *user = getpwuid(getuid()); - - // Write it to the desktop - snprintf(buffer, sizeof(buffer), "/Users/%s/Desktop/test.dmp", user->pw_name); - fprintf(stdout, "Writing %s\n", buffer); - - md.Write(buffer); - doneWritingReport = true; - - return NULL; -} - -static void SleepyFunction() { - while (!doneWritingReport) { - usleep(100); - } -} - -int main(int argc, char * const argv[]) { - pthread_t reporter_thread; - - if (pthread_create(&reporter_thread, NULL, Reporter, NULL) == 0) { - pthread_detach(reporter_thread); - } else { - perror("pthread_create"); - } - - SleepyFunction(); - - return 0; -} diff --git a/toolkit/airbag/airbag/src/client/mac/handler/minidump_test.xcodeproj/project.pbxproj b/toolkit/airbag/airbag/src/client/mac/handler/minidump_test.xcodeproj/project.pbxproj deleted file mode 100644 index f3c7665f5ff9..000000000000 --- a/toolkit/airbag/airbag/src/client/mac/handler/minidump_test.xcodeproj/project.pbxproj +++ /dev/null @@ -1,501 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 9B35FF5A0B267D5F008DE8C7 /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = 9B35FF560B267D5F008DE8C7 /* convert_UTF.c */; }; - 9B35FF5B0B267D5F008DE8C7 /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9B35FF580B267D5F008DE8C7 /* string_conversion.cc */; }; - 9B37CEEC0AF98ECD00FA4BD4 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B37CEEB0AF98ECD00FA4BD4 /* CoreFoundation.framework */; }; - 9B7CA7700B12873A00CD3A1D /* minidump_file_writer-inl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BE3C01E0B0CE329009892DF /* minidump_file_writer-inl.h */; }; - 9B7CA8540B12989000CD3A1D /* minidump_file_writer_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9B7CA8530B12989000CD3A1D /* minidump_file_writer_unittest.cc */; }; - 9B7CA8550B1298A100CD3A1D /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BD82C230B01344C0055103E /* minidump_file_writer.cc */; }; - 9BC1D2940B336F2300F2A2B4 /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = 9B35FF560B267D5F008DE8C7 /* convert_UTF.c */; }; - 9BC1D2950B336F2500F2A2B4 /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9B35FF580B267D5F008DE8C7 /* string_conversion.cc */; }; - 9BD82AC10B0029DF0055103E /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B37CEEB0AF98ECD00FA4BD4 /* CoreFoundation.framework */; }; - 9BD82BFF0B01333D0055103E /* exception_handler_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BD82BFD0B01333D0055103E /* exception_handler_test.cc */; }; - 9BD82C020B01333D0055103E /* minidump_generator_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BD82BFE0B01333D0055103E /* minidump_generator_test.cc */; }; - 9BD82C0D0B0133520055103E /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BD82C090B0133520055103E /* exception_handler.cc */; }; - 9BD82C0E0B0133520055103E /* minidump_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BD82C0B0B0133520055103E /* minidump_generator.cc */; }; - 9BD82C0F0B0133520055103E /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BD82C090B0133520055103E /* exception_handler.cc */; }; - 9BD82C100B0133520055103E /* exception_handler.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BD82C0A0B0133520055103E /* exception_handler.h */; }; - 9BD82C110B0133520055103E /* minidump_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BD82C0B0B0133520055103E /* minidump_generator.cc */; }; - 9BD82C120B0133520055103E /* minidump_generator.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BD82C0C0B0133520055103E /* minidump_generator.h */; }; - 9BD82C250B01344C0055103E /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BD82C230B01344C0055103E /* minidump_file_writer.cc */; }; - 9BD82C260B01344C0055103E /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BD82C230B01344C0055103E /* minidump_file_writer.cc */; }; - 9BD82C270B01344C0055103E /* minidump_file_writer.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BD82C240B01344C0055103E /* minidump_file_writer.h */; }; - 9BD82C2D0B01345E0055103E /* string_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BD82C2B0B01345E0055103E /* string_utilities.cc */; }; - 9BD82C2E0B01345E0055103E /* string_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BD82C2B0B01345E0055103E /* string_utilities.cc */; }; - 9BD82C2F0B01345E0055103E /* string_utilities.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BD82C2C0B01345E0055103E /* string_utilities.h */; }; - D2F651000BEF947200920385 /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F650FA0BEF947200920385 /* file_id.cc */; }; - D2F651010BEF947200920385 /* file_id.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = D2F650FB0BEF947200920385 /* file_id.h */; }; - D2F651020BEF947200920385 /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F650FC0BEF947200920385 /* macho_id.cc */; }; - D2F651030BEF947200920385 /* macho_id.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = D2F650FD0BEF947200920385 /* macho_id.h */; }; - D2F651040BEF947200920385 /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F650FE0BEF947200920385 /* macho_utilities.cc */; }; - D2F651050BEF947200920385 /* macho_utilities.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = D2F650FF0BEF947200920385 /* macho_utilities.h */; }; - D2F651090BEF949A00920385 /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F651070BEF949A00920385 /* dynamic_images.cc */; }; - D2F6510A0BEF949A00920385 /* dynamic_images.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = D2F651080BEF949A00920385 /* dynamic_images.h */; }; - D2F6510E0BEF94EB00920385 /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F6510C0BEF94EB00920385 /* macho_walker.cc */; }; - D2F6510F0BEF94EB00920385 /* macho_walker.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = D2F6510D0BEF94EB00920385 /* macho_walker.h */; }; - D2F651110BEF951700920385 /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9B35FF580B267D5F008DE8C7 /* string_conversion.cc */; }; - D2F651130BEF951C00920385 /* string_conversion.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9B35FF590B267D5F008DE8C7 /* string_conversion.h */; }; - D2F651150BEF953000920385 /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = 9B35FF560B267D5F008DE8C7 /* convert_UTF.c */; }; - D2F651160BEF953100920385 /* convert_UTF.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9B35FF570B267D5F008DE8C7 /* convert_UTF.h */; }; - D2F6511B0BEF970E00920385 /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F651070BEF949A00920385 /* dynamic_images.cc */; }; - D2F6511D0BEF973500920385 /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F650FA0BEF947200920385 /* file_id.cc */; }; - D2F6511E0BEF973600920385 /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F650FC0BEF947200920385 /* macho_id.cc */; }; - D2F6511F0BEF973900920385 /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F650FE0BEF947200920385 /* macho_utilities.cc */; }; - D2F651210BEF975400920385 /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F6510C0BEF94EB00920385 /* macho_walker.cc */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 8DD76F690486A84900D96B5E /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 8; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - 9BD82C100B0133520055103E /* exception_handler.h in CopyFiles */, - 9BD82C120B0133520055103E /* minidump_generator.h in CopyFiles */, - 9BD82C270B01344C0055103E /* minidump_file_writer.h in CopyFiles */, - 9BD82C2F0B01345E0055103E /* string_utilities.h in CopyFiles */, - 9B7CA7700B12873A00CD3A1D /* minidump_file_writer-inl.h in CopyFiles */, - D2F651010BEF947200920385 /* file_id.h in CopyFiles */, - D2F651030BEF947200920385 /* macho_id.h in CopyFiles */, - D2F651050BEF947200920385 /* macho_utilities.h in CopyFiles */, - D2F6510A0BEF949A00920385 /* dynamic_images.h in CopyFiles */, - D2F6510F0BEF94EB00920385 /* macho_walker.h in CopyFiles */, - D2F651130BEF951C00920385 /* string_conversion.h in CopyFiles */, - D2F651160BEF953100920385 /* convert_UTF.h in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 1; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 8DD76F6C0486A84900D96B5E /* generator_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = generator_test; sourceTree = BUILT_PRODUCTS_DIR; }; - 9B35FF560B267D5F008DE8C7 /* convert_UTF.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = convert_UTF.c; path = ../../../common/convert_UTF.c; sourceTree = SOURCE_ROOT; }; - 9B35FF570B267D5F008DE8C7 /* convert_UTF.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = convert_UTF.h; path = ../../../common/convert_UTF.h; sourceTree = SOURCE_ROOT; }; - 9B35FF580B267D5F008DE8C7 /* string_conversion.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = string_conversion.cc; path = ../../../common/string_conversion.cc; sourceTree = SOURCE_ROOT; }; - 9B35FF590B267D5F008DE8C7 /* string_conversion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = string_conversion.h; path = ../../../common/string_conversion.h; sourceTree = SOURCE_ROOT; }; - 9B37CEEB0AF98ECD00FA4BD4 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - 9B7CA84E0B1297F200CD3A1D /* unit_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = unit_test; sourceTree = BUILT_PRODUCTS_DIR; }; - 9B7CA8530B12989000CD3A1D /* minidump_file_writer_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = minidump_file_writer_unittest.cc; path = ../../minidump_file_writer_unittest.cc; sourceTree = ""; }; - 9BD82A9B0B00267E0055103E /* handler_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = handler_test; sourceTree = BUILT_PRODUCTS_DIR; }; - 9BD82BFD0B01333D0055103E /* exception_handler_test.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = exception_handler_test.cc; sourceTree = SOURCE_ROOT; }; - 9BD82BFE0B01333D0055103E /* minidump_generator_test.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = minidump_generator_test.cc; sourceTree = SOURCE_ROOT; }; - 9BD82C090B0133520055103E /* exception_handler.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = exception_handler.cc; sourceTree = SOURCE_ROOT; }; - 9BD82C0A0B0133520055103E /* exception_handler.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = exception_handler.h; sourceTree = SOURCE_ROOT; }; - 9BD82C0B0B0133520055103E /* minidump_generator.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = minidump_generator.cc; sourceTree = SOURCE_ROOT; }; - 9BD82C0C0B0133520055103E /* minidump_generator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = minidump_generator.h; sourceTree = SOURCE_ROOT; }; - 9BD82C230B01344C0055103E /* minidump_file_writer.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = minidump_file_writer.cc; path = ../../minidump_file_writer.cc; sourceTree = SOURCE_ROOT; }; - 9BD82C240B01344C0055103E /* minidump_file_writer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = minidump_file_writer.h; path = ../../minidump_file_writer.h; sourceTree = SOURCE_ROOT; }; - 9BD82C2B0B01345E0055103E /* string_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = string_utilities.cc; path = ../../../common/mac/string_utilities.cc; sourceTree = SOURCE_ROOT; }; - 9BD82C2C0B01345E0055103E /* string_utilities.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = string_utilities.h; path = ../../../common/mac/string_utilities.h; sourceTree = SOURCE_ROOT; }; - 9BE3C01E0B0CE329009892DF /* minidump_file_writer-inl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "minidump_file_writer-inl.h"; path = "../../minidump_file_writer-inl.h"; sourceTree = SOURCE_ROOT; }; - D2F650FA0BEF947200920385 /* file_id.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = file_id.cc; path = ../../../common/mac/file_id.cc; sourceTree = SOURCE_ROOT; }; - D2F650FB0BEF947200920385 /* file_id.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = file_id.h; path = ../../../common/mac/file_id.h; sourceTree = SOURCE_ROOT; }; - D2F650FC0BEF947200920385 /* macho_id.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macho_id.cc; path = ../../../common/mac/macho_id.cc; sourceTree = SOURCE_ROOT; }; - D2F650FD0BEF947200920385 /* macho_id.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macho_id.h; path = ../../../common/mac/macho_id.h; sourceTree = SOURCE_ROOT; }; - D2F650FE0BEF947200920385 /* macho_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macho_utilities.cc; path = ../../../common/mac/macho_utilities.cc; sourceTree = SOURCE_ROOT; }; - D2F650FF0BEF947200920385 /* macho_utilities.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macho_utilities.h; path = ../../../common/mac/macho_utilities.h; sourceTree = SOURCE_ROOT; }; - D2F651070BEF949A00920385 /* dynamic_images.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = dynamic_images.cc; sourceTree = ""; }; - D2F651080BEF949A00920385 /* dynamic_images.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = dynamic_images.h; sourceTree = ""; }; - D2F6510C0BEF94EB00920385 /* macho_walker.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macho_walker.cc; path = ../../../common/mac/macho_walker.cc; sourceTree = SOURCE_ROOT; }; - D2F6510D0BEF94EB00920385 /* macho_walker.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macho_walker.h; path = ../../../common/mac/macho_walker.h; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8DD76F660486A84900D96B5E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9B37CEEC0AF98ECD00FA4BD4 /* CoreFoundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9B7CA84C0B1297F200CD3A1D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9BD82A990B00267E0055103E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9BD82AC10B0029DF0055103E /* CoreFoundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 08FB7794FE84155DC02AAC07 /* MinidumpWriter */ = { - isa = PBXGroup; - children = ( - D2F6510C0BEF94EB00920385 /* macho_walker.cc */, - D2F6510D0BEF94EB00920385 /* macho_walker.h */, - D2F651070BEF949A00920385 /* dynamic_images.cc */, - D2F651080BEF949A00920385 /* dynamic_images.h */, - D2F650FA0BEF947200920385 /* file_id.cc */, - D2F650FB0BEF947200920385 /* file_id.h */, - D2F650FC0BEF947200920385 /* macho_id.cc */, - D2F650FD0BEF947200920385 /* macho_id.h */, - D2F650FE0BEF947200920385 /* macho_utilities.cc */, - D2F650FF0BEF947200920385 /* macho_utilities.h */, - 9BD82C040B0133420055103E /* Breakpad */, - 08FB7795FE84155DC02AAC07 /* Source */, - 9B37CEEA0AF98EB600FA4BD4 /* Frameworks */, - 1AB674ADFE9D54B511CA2CBB /* Products */, - ); - name = MinidumpWriter; - sourceTree = ""; - }; - 08FB7795FE84155DC02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - 9BD82BFD0B01333D0055103E /* exception_handler_test.cc */, - 9BD82BFE0B01333D0055103E /* minidump_generator_test.cc */, - 9B7CA8530B12989000CD3A1D /* minidump_file_writer_unittest.cc */, - ); - name = Source; - sourceTree = ""; - }; - 1AB674ADFE9D54B511CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8DD76F6C0486A84900D96B5E /* generator_test */, - 9BD82A9B0B00267E0055103E /* handler_test */, - 9B7CA84E0B1297F200CD3A1D /* unit_test */, - ); - name = Products; - sourceTree = ""; - }; - 9B37CEEA0AF98EB600FA4BD4 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 9B37CEEB0AF98ECD00FA4BD4 /* CoreFoundation.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 9BD82C040B0133420055103E /* Breakpad */ = { - isa = PBXGroup; - children = ( - 9B35FF560B267D5F008DE8C7 /* convert_UTF.c */, - 9B35FF570B267D5F008DE8C7 /* convert_UTF.h */, - 9B35FF580B267D5F008DE8C7 /* string_conversion.cc */, - 9B35FF590B267D5F008DE8C7 /* string_conversion.h */, - 9BD82C090B0133520055103E /* exception_handler.cc */, - 9BD82C0A0B0133520055103E /* exception_handler.h */, - 9BD82C0B0B0133520055103E /* minidump_generator.cc */, - 9BD82C0C0B0133520055103E /* minidump_generator.h */, - 9BD82C230B01344C0055103E /* minidump_file_writer.cc */, - 9BE3C01E0B0CE329009892DF /* minidump_file_writer-inl.h */, - 9BD82C240B01344C0055103E /* minidump_file_writer.h */, - 9BD82C2B0B01345E0055103E /* string_utilities.cc */, - 9BD82C2C0B01345E0055103E /* string_utilities.h */, - ); - name = Breakpad; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 8DD76F620486A84900D96B5E /* generator_test */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "generator_test" */; - buildPhases = ( - 8DD76F640486A84900D96B5E /* Sources */, - 8DD76F660486A84900D96B5E /* Frameworks */, - 8DD76F690486A84900D96B5E /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = generator_test; - productInstallPath = "$(HOME)/bin"; - productName = MinidumpWriter; - productReference = 8DD76F6C0486A84900D96B5E /* generator_test */; - productType = "com.apple.product-type.tool"; - }; - 9B7CA84D0B1297F200CD3A1D /* unit_test */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9B7CA8500B12984300CD3A1D /* Build configuration list for PBXNativeTarget "unit_test" */; - buildPhases = ( - 9B7CA84B0B1297F200CD3A1D /* Sources */, - 9B7CA84C0B1297F200CD3A1D /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = unit_test; - productName = "filewriter unit test"; - productReference = 9B7CA84E0B1297F200CD3A1D /* unit_test */; - productType = "com.apple.product-type.tool"; - }; - 9BD82A9A0B00267E0055103E /* handler_test */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9BD82AA60B0026BF0055103E /* Build configuration list for PBXNativeTarget "handler_test" */; - buildPhases = ( - 9BD82A980B00267E0055103E /* Sources */, - 9BD82A990B00267E0055103E /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = handler_test; - productName = ExceptionTester; - productReference = 9BD82A9B0B00267E0055103E /* handler_test */; - productType = "com.apple.product-type.tool"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 08FB7793FE84155DC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "minidump_test" */; - hasScannedForEncodings = 1; - mainGroup = 08FB7794FE84155DC02AAC07 /* MinidumpWriter */; - projectDirPath = ""; - targets = ( - 8DD76F620486A84900D96B5E /* generator_test */, - 9BD82A9A0B00267E0055103E /* handler_test */, - 9B7CA84D0B1297F200CD3A1D /* unit_test */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 8DD76F640486A84900D96B5E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9BD82C020B01333D0055103E /* minidump_generator_test.cc in Sources */, - 9BD82C0F0B0133520055103E /* exception_handler.cc in Sources */, - 9BD82C110B0133520055103E /* minidump_generator.cc in Sources */, - 9BD82C260B01344C0055103E /* minidump_file_writer.cc in Sources */, - 9BD82C2E0B01345E0055103E /* string_utilities.cc in Sources */, - D2F651000BEF947200920385 /* file_id.cc in Sources */, - D2F651020BEF947200920385 /* macho_id.cc in Sources */, - D2F651040BEF947200920385 /* macho_utilities.cc in Sources */, - D2F651090BEF949A00920385 /* dynamic_images.cc in Sources */, - D2F6510E0BEF94EB00920385 /* macho_walker.cc in Sources */, - D2F651110BEF951700920385 /* string_conversion.cc in Sources */, - D2F651150BEF953000920385 /* convert_UTF.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9B7CA84B0B1297F200CD3A1D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9B7CA8540B12989000CD3A1D /* minidump_file_writer_unittest.cc in Sources */, - 9B7CA8550B1298A100CD3A1D /* minidump_file_writer.cc in Sources */, - 9BC1D2940B336F2300F2A2B4 /* convert_UTF.c in Sources */, - 9BC1D2950B336F2500F2A2B4 /* string_conversion.cc in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9BD82A980B00267E0055103E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9BD82BFF0B01333D0055103E /* exception_handler_test.cc in Sources */, - 9BD82C0D0B0133520055103E /* exception_handler.cc in Sources */, - 9BD82C0E0B0133520055103E /* minidump_generator.cc in Sources */, - 9BD82C250B01344C0055103E /* minidump_file_writer.cc in Sources */, - 9BD82C2D0B01345E0055103E /* string_utilities.cc in Sources */, - 9B35FF5A0B267D5F008DE8C7 /* convert_UTF.c in Sources */, - 9B35FF5B0B267D5F008DE8C7 /* string_conversion.cc in Sources */, - D2F6511B0BEF970E00920385 /* dynamic_images.cc in Sources */, - D2F6511D0BEF973500920385 /* file_id.cc in Sources */, - D2F6511E0BEF973600920385 /* macho_id.cc in Sources */, - D2F6511F0BEF973900920385 /* macho_utilities.cc in Sources */, - D2F651210BEF975400920385 /* macho_walker.cc in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 1DEB923208733DC60010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_CW_ASM_SYNTAX = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_ENABLE_PASCAL_STRINGS = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_THREADSAFE_STATICS = NO; - INSTALL_PATH = "$(HOME)/bin"; - PRODUCT_NAME = generator_test; - USER_HEADER_SEARCH_PATHS = "../../../** $(inherited)"; - ZERO_LINK = NO; - }; - name = Debug; - }; - 1DEB923308733DC60010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - GCC_CW_ASM_SYNTAX = NO; - GCC_ENABLE_PASCAL_STRINGS = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_THREADSAFE_STATICS = NO; - INSTALL_PATH = "$(HOME)/bin"; - PRODUCT_NAME = generator_test; - USER_HEADER_SEARCH_PATHS = "../../../** $(inherited)"; - ZERO_LINK = NO; - }; - name = Release; - }; - 1DEB923608733DC60010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - OTHER_LDFLAGS = "-lcrypto"; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; - }; - name = Debug; - }; - 1DEB923708733DC60010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - OTHER_LDFLAGS = "-lcrypto"; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; - }; - name = Release; - }; - 9B7CA8510B12984300CD3A1D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - INSTALL_PATH = "$(HOME)/bin"; - PREBINDING = NO; - PRODUCT_NAME = unit_test; - USER_HEADER_SEARCH_PATHS = "../../../** $(inherited)"; - ZERO_LINK = NO; - }; - name = Debug; - }; - 9B7CA8520B12984300CD3A1D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - INSTALL_PATH = "$(HOME)/bin"; - PREBINDING = NO; - PRODUCT_NAME = unit_test; - USER_HEADER_SEARCH_PATHS = "../../../** $(inherited)"; - ZERO_LINK = NO; - }; - name = Release; - }; - 9BD82AA70B0026BF0055103E /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - INSTALL_PATH = "$(HOME)/bin"; - OTHER_CFLAGS = "-Wall"; - PREBINDING = NO; - PRODUCT_NAME = handler_test; - USER_HEADER_SEARCH_PATHS = "../../.. $(inherited)"; - ZERO_LINK = NO; - }; - name = Debug; - }; - 9BD82AA80B0026BF0055103E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - COPY_PHASE_STRIP = YES; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - INSTALL_PATH = "$(HOME)/bin"; - OTHER_CFLAGS = "-Wall"; - PREBINDING = NO; - PRODUCT_NAME = handler_test; - USER_HEADER_SEARCH_PATHS = "../../.. $(inherited)"; - ZERO_LINK = NO; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "generator_test" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB923208733DC60010E9CD /* Debug */, - 1DEB923308733DC60010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "minidump_test" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB923608733DC60010E9CD /* Debug */, - 1DEB923708733DC60010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9B7CA8500B12984300CD3A1D /* Build configuration list for PBXNativeTarget "unit_test" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9B7CA8510B12984300CD3A1D /* Debug */, - 9B7CA8520B12984300CD3A1D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9BD82AA60B0026BF0055103E /* Build configuration list for PBXNativeTarget "handler_test" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9BD82AA70B0026BF0055103E /* Debug */, - 9BD82AA80B0026BF0055103E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; -} diff --git a/toolkit/airbag/airbag/src/client/minidump_file_writer-inl.h b/toolkit/airbag/airbag/src/client/minidump_file_writer-inl.h deleted file mode 100755 index 7c556a27c957..000000000000 --- a/toolkit/airbag/airbag/src/client/minidump_file_writer-inl.h +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// minidump_file_writer-inl.h: Minidump file writer implementation. -// -// See minidump_file_writer.h for documentation. - -#ifndef CLIENT_MINIDUMP_FILE_WRITER_INL_H__ -#define CLIENT_MINIDUMP_FILE_WRITER_INL_H__ - -#include - -#include "client/minidump_file_writer.h" -#include "google_breakpad/common/minidump_size.h" - -namespace google_breakpad { - -template -inline bool TypedMDRVA::Allocate() { - allocation_state_ = SINGLE_OBJECT; - return UntypedMDRVA::Allocate(minidump_size::size()); -} - -template -inline bool TypedMDRVA::Allocate(size_t additional) { - allocation_state_ = SINGLE_OBJECT; - return UntypedMDRVA::Allocate(minidump_size::size() + additional); -} - -template -inline bool TypedMDRVA::AllocateArray(size_t count) { - assert(count); - allocation_state_ = ARRAY; - return UntypedMDRVA::Allocate(minidump_size::size() * count); -} - -template -inline bool TypedMDRVA::AllocateObjectAndArray(unsigned int count, - size_t size) { - assert(count && size); - allocation_state_ = SINGLE_OBJECT_WITH_ARRAY; - return UntypedMDRVA::Allocate(minidump_size::size() + count * size); -} - -template -inline bool TypedMDRVA::CopyIndex(unsigned int index, MDType *item) { - assert(allocation_state_ == ARRAY); - return writer_->Copy(position_ + index * minidump_size::size(), item, - minidump_size::size()); -} - -template -inline bool TypedMDRVA::CopyIndexAfterObject(unsigned int index, - const void *src, - size_t size) { - assert(allocation_state_ == SINGLE_OBJECT_WITH_ARRAY); - return writer_->Copy(position_ + minidump_size::size() + index * size, - src, size); -} - -template -inline bool TypedMDRVA::Flush() { - return writer_->Copy(position_, &data_, minidump_size::size()); -} - -} // namespace google_breakpad - -#endif // CLIENT_MINIDUMP_FILE_WRITER_INL_H__ diff --git a/toolkit/airbag/airbag/src/client/minidump_file_writer.cc b/toolkit/airbag/airbag/src/client/minidump_file_writer.cc deleted file mode 100755 index a4816d1a9555..000000000000 --- a/toolkit/airbag/airbag/src/client/minidump_file_writer.cc +++ /dev/null @@ -1,251 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// minidump_file_writer.cc: Minidump file writer implementation. -// -// See minidump_file_writer.h for documentation. - -#include -#include -#include -#include -#include - -#include "client/minidump_file_writer-inl.h" -#include "common/string_conversion.h" - -namespace google_breakpad { - -const MDRVA MinidumpFileWriter::kInvalidMDRVA = static_cast(-1); - -MinidumpFileWriter::MinidumpFileWriter() : file_(-1), position_(0), size_(0) { -} - -MinidumpFileWriter::~MinidumpFileWriter() { - Close(); -} - -bool MinidumpFileWriter::Open(const char *path) { - assert(file_ == -1); - file_ = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0666); - - return file_ != -1; -} - -bool MinidumpFileWriter::Close() { - bool result = true; - - if (file_ != -1) { - ftruncate(file_, position_); - result = (close(file_) == 0); - file_ = -1; - } - - return result; -} - -bool MinidumpFileWriter::CopyStringToMDString(const wchar_t *str, - unsigned int length, - TypedMDRVA *mdstring) { - bool result = true; - if (sizeof(wchar_t) == sizeof(u_int16_t)) { - // Shortcut if wchar_t is the same size as MDString's buffer - result = mdstring->Copy(str, mdstring->get()->length); - } else { - u_int16_t out[2]; - int out_idx = 0; - - // Copy the string character by character - while (length && result) { - UTF32ToUTF16Char(*str, out); - if (!out[0]) - return false; - - // Process one character at a time - --length; - ++str; - - // Append the one or two UTF-16 characters. The first one will be non- - // zero, but the second one may be zero, depending on the conversion from - // UTF-32. - int out_count = out[1] ? 2 : 1; - int out_size = sizeof(u_int16_t) * out_count; - result = mdstring->CopyIndexAfterObject(out_idx, out, out_size); - out_idx += out_count; - } - } - return result; -} - -bool MinidumpFileWriter::CopyStringToMDString(const char *str, - unsigned int length, - TypedMDRVA *mdstring) { - bool result = true; - u_int16_t out[2]; - int out_idx = 0; - - // Copy the string character by character - while (length && result) { - int conversion_count = UTF8ToUTF16Char(str, length, out); - if (!conversion_count) - return false; - - // Move the pointer along based on the nubmer of converted characters - length -= conversion_count; - str += conversion_count; - - // Append the one or two UTF-16 characters - int out_count = out[1] ? 2 : 1; - int out_size = sizeof(u_int16_t) * out_count; - result = mdstring->CopyIndexAfterObject(out_idx, out, out_size); - out_idx += out_count; - } - return result; -} - -template -bool MinidumpFileWriter::WriteStringCore(const CharType *str, - unsigned int length, - MDLocationDescriptor *location) { - assert(str); - assert(location); - // Calculate the mdstring length by either limiting to |length| as passed in - // or by finding the location of the NULL character. - unsigned int mdstring_length = 0; - if (!length) - length = INT_MAX; - for (; mdstring_length < length && str[mdstring_length]; ++mdstring_length) - ; - - // Allocate the string buffer - TypedMDRVA mdstring(this); - if (!mdstring.AllocateObjectAndArray(mdstring_length + 1, sizeof(u_int16_t))) - return false; - - // Set length excluding the NULL and copy the string - mdstring.get()->length = mdstring_length * sizeof(u_int16_t); - bool result = CopyStringToMDString(str, mdstring_length, &mdstring); - - // NULL terminate - if (result) { - u_int16_t ch = 0; - result = mdstring.CopyIndexAfterObject(mdstring_length, &ch, sizeof(ch)); - - if (result) - *location = mdstring.location(); - } - - return result; -} - -bool MinidumpFileWriter::WriteString(const wchar_t *str, unsigned int length, - MDLocationDescriptor *location) { - return WriteStringCore(str, length, location); -} - -bool MinidumpFileWriter::WriteString(const char *str, unsigned int length, - MDLocationDescriptor *location) { - return WriteStringCore(str, length, location); -} - -bool MinidumpFileWriter::WriteMemory(const void *src, size_t size, - MDMemoryDescriptor *output) { - assert(src); - assert(output); - UntypedMDRVA mem(this); - - if (!mem.Allocate(size)) - return false; - if (!mem.Copy(src, mem.size())) - return false; - - output->start_of_memory_range = reinterpret_cast(src); - output->memory = mem.location(); - - return true; -} - -MDRVA MinidumpFileWriter::Allocate(size_t size) { - assert(size); - assert(file_ != -1); - size_t aligned_size = (size + 7) & ~7; // 64-bit alignment - - if (position_ + aligned_size > size_) { - size_t growth = aligned_size; - size_t minimal_growth = getpagesize(); - - // Ensure that the file grows by at least the size of a memory page - if (growth < minimal_growth) - growth = minimal_growth; - - size_t new_size = size_ + growth; - if (ftruncate(file_, new_size) != 0) - return kInvalidMDRVA; - - size_ = new_size; - } - - MDRVA current_position = position_; - position_ += static_cast(aligned_size); - - return current_position; -} - -bool MinidumpFileWriter::Copy(MDRVA position, const void *src, ssize_t size) { - assert(src); - assert(size); - assert(file_ != -1); - - // Ensure that the data will fit in the allocated space - if (size + position > size_) - return false; - - // Seek and write the data - if (lseek(file_, position, SEEK_SET) == static_cast(position)) - if (write(file_, src, size) == size) - return true; - - return false; -} - -bool UntypedMDRVA::Allocate(size_t size) { - assert(size_ == 0); - size_ = size; - position_ = writer_->Allocate(size_); - return position_ != MinidumpFileWriter::kInvalidMDRVA; -} - -bool UntypedMDRVA::Copy(MDRVA position, const void *src, size_t size) { - assert(src); - assert(size); - assert(position + size <= position_ + size_); - return writer_->Copy(position, src, size); -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/client/minidump_file_writer.h b/toolkit/airbag/airbag/src/client/minidump_file_writer.h deleted file mode 100755 index f569a553597f..000000000000 --- a/toolkit/airbag/airbag/src/client/minidump_file_writer.h +++ /dev/null @@ -1,250 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// minidump_file_writer.h: Implements file-based minidump generation. It's -// intended to be used with the Google Breakpad open source crash handling -// project. - -#ifndef CLIENT_MINIDUMP_FILE_WRITER_H__ -#define CLIENT_MINIDUMP_FILE_WRITER_H__ - -#include - -#include "google_breakpad/common/minidump_format.h" - -namespace google_breakpad { - -class UntypedMDRVA; -template class TypedMDRVA; - -// The user of this class can Open() a file and add minidump streams, data, and -// strings using the definitions in minidump_format.h. Since this class is -// expected to be used in a situation where the current process may be -// damaged, it will not allocate heap memory. -// Sample usage: -// MinidumpFileWriter writer; -// writer.Open("/tmp/minidump.dmp"); -// TypedMDRVA header(&writer_); -// header.Allocate(); -// header->get()->signature = MD_HEADER_SIGNATURE; -// : -// writer.Close(); -class MinidumpFileWriter { -public: - // Invalid MDRVA (Minidump Relative Virtual Address) - // returned on failed allocation - static const MDRVA kInvalidMDRVA; - - MinidumpFileWriter(); - ~MinidumpFileWriter(); - - // Open |path| as the destination of the minidump data. Any existing file - // will be overwritten. - // Return true on success, or false on failure - bool Open(const char *path); - - // Close the current file - // Return true on success, or false on failure - bool Close(); - - // Copy the contents of |str| to a MDString and write it to the file. - // |str| is expected to be either UTF-16 or UTF-32 depending on the size - // of wchar_t. - // Maximum |length| of characters to copy from |str|, or specify 0 to use the - // entire NULL terminated string. Copying will stop at the first NULL. - // |location| the allocated location - // Return true on success, or false on failure - bool WriteString(const wchar_t *str, unsigned int length, - MDLocationDescriptor *location); - - // Same as above, except with |str| as a UTF-8 string - bool WriteString(const char *str, unsigned int length, - MDLocationDescriptor *location); - - // Write |size| bytes starting at |src| into the current position. - // Return true on success and set |output| to position, or false on failure - bool WriteMemory(const void *src, size_t size, MDMemoryDescriptor *output); - - // Copies |size| bytes from |src| to |position| - // Return true on success, or false on failure - bool Copy(MDRVA position, const void *src, ssize_t size); - - // Return the current position for writing to the minidump - inline MDRVA position() const { return position_; } - - private: - friend class UntypedMDRVA; - - // Allocates an area of |size| bytes. - // Returns the position of the allocation, or kInvalidMDRVA if it was - // unable to allocate the bytes. - MDRVA Allocate(size_t size); - - // The file descriptor for the output file - int file_; - - // Current position in buffer - MDRVA position_; - - // Current allocated size - size_t size_; - - // Copy |length| characters from |str| to |mdstring|. These are distinct - // because the underlying MDString is a UTF-16 based string. The wchar_t - // variant may need to create a MDString that has more characters than the - // source |str|, whereas the UTF-8 variant may coalesce characters to form - // a single UTF-16 character. - bool CopyStringToMDString(const wchar_t *str, unsigned int length, - TypedMDRVA *mdstring); - bool CopyStringToMDString(const char *str, unsigned int length, - TypedMDRVA *mdstring); - - // The common templated code for writing a string - template - bool WriteStringCore(const CharType *str, unsigned int length, - MDLocationDescriptor *location); -}; - -// Represents an untyped allocated chunk -class UntypedMDRVA { - public: - explicit UntypedMDRVA(MinidumpFileWriter *writer) - : writer_(writer), - position_(writer->position()), - size_(0) {} - - // Allocates |size| bytes. Must not call more than once. - // Return true on success, or false on failure - bool Allocate(size_t size); - - // Returns the current position or kInvalidMDRVA if allocation failed - inline MDRVA position() const { return position_; } - - // Number of bytes allocated - inline size_t size() const { return size_; } - - // Return size and position - inline MDLocationDescriptor location() const { - MDLocationDescriptor location = { size_, position_ }; - return location; - } - - // Copy |size| bytes starting at |src| into the minidump at |position| - // Return true on success, or false on failure - bool Copy(MDRVA position, const void *src, size_t size); - - // Copy |size| bytes from |src| to the current position - inline bool Copy(const void *src, size_t size) { - return Copy(position_, src, size); - } - - protected: - // Writer we associate with - MinidumpFileWriter *writer_; - - // Position of the start of the data - MDRVA position_; - - // Allocated size - size_t size_; -}; - -// Represents a Minidump object chunk. Additional memory can be allocated at -// the end of the object as a: -// - single allocation -// - Array of MDType objects -// - A MDType object followed by an array -template -class TypedMDRVA : public UntypedMDRVA { - public: - // Constructs an unallocated MDRVA - explicit TypedMDRVA(MinidumpFileWriter *writer) - : UntypedMDRVA(writer), - data_(), - allocation_state_(UNALLOCATED) {} - - inline ~TypedMDRVA() { - // Ensure that the data_ object is written out - if (allocation_state_ != ARRAY) - Flush(); - } - - // Address of object data_ of MDType. This is not declared const as the - // typical usage will be to access the underlying |data_| object as to - // alter its contents. - MDType *get() { return &data_; } - - // Allocates minidump_size::size() bytes. - // Must not call more than once. - // Return true on success, or false on failure - bool Allocate(); - - // Allocates minidump_size::size() + |additional| bytes. - // Must not call more than once. - // Return true on success, or false on failure - bool Allocate(size_t additional); - - // Allocate an array of |count| elements of MDType. - // Must not call more than once. - // Return true on success, or false on failure - bool AllocateArray(size_t count); - - // Allocate an array of |count| elements of |size| after object of MDType - // Must not call more than once. - // Return true on success, or false on failure - bool AllocateObjectAndArray(unsigned int count, size_t size); - - // Copy |item| to |index| - // Must have been allocated using AllocateArray(). - // Return true on success, or false on failure - bool CopyIndex(unsigned int index, MDType *item); - - // Copy |size| bytes starting at |str| to |index| - // Must have been allocated using AllocateObjectAndArray(). - // Return true on success, or false on failure - bool CopyIndexAfterObject(unsigned int index, const void *src, size_t size); - - // Write data_ - bool Flush(); - - private: - enum AllocationState { - UNALLOCATED = 0, - SINGLE_OBJECT, - ARRAY, - SINGLE_OBJECT_WITH_ARRAY - }; - - MDType data_; - AllocationState allocation_state_; -}; - -} // namespace google_breakpad - -#endif // CLIENT_MINIDUMP_FILE_WRITER_H__ diff --git a/toolkit/airbag/airbag/src/client/minidump_file_writer_unittest.cc b/toolkit/airbag/airbag/src/client/minidump_file_writer_unittest.cc deleted file mode 100644 index 587506675ef1..000000000000 --- a/toolkit/airbag/airbag/src/client/minidump_file_writer_unittest.cc +++ /dev/null @@ -1,162 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Author: waylonis@google.com (Dan Waylonis) - -/* - g++ -I../ ../common/convert_UTF.c \ - ../common/string_conversion.cc \ - minidump_file_writer.cc \ - minidump_file_writer_unittest.cc \ - -o minidump_file_writer_unittest - */ - -#include -#include - -#include "minidump_file_writer-inl.h" - -using google_breakpad::MinidumpFileWriter; - -#define ASSERT_TRUE(cond) \ -if (!(cond)) { \ - fprintf(stderr, "FAILED: %s at %s:%d\n", #cond, __FILE__, __LINE__); \ - return false; \ -} - -#define ASSERT_EQ(e1, e2) ASSERT_TRUE((e1) == (e2)) -#define ASSERT_NE(e1, e2) ASSERT_TRUE((e1) != (e2)) - -struct StringStructure { - unsigned long integer_value; - MDLocationDescriptor first_string; - MDLocationDescriptor second_string; -}; - -struct ArrayStructure { - unsigned char char_value; - unsigned short short_value; - unsigned long long_value; -}; - -typedef struct { - unsigned long count; - ArrayStructure array[0]; -} ObjectAndArrayStructure; - -static bool WriteFile(const char *path) { - MinidumpFileWriter writer; - if (writer.Open(path)) { - // Test a single structure - google_breakpad::TypedMDRVA strings(&writer); - ASSERT_TRUE(strings.Allocate()); - strings.get()->integer_value = 0xBEEF; - const char *first = "First String"; - ASSERT_TRUE(writer.WriteString(first, 0, &strings.get()->first_string)); - const wchar_t *second = L"Second String"; - ASSERT_TRUE(writer.WriteString(second, 0, &strings.get()->second_string)); - - // Test an array structure - google_breakpad::TypedMDRVA array(&writer); - unsigned int count = 10; - ASSERT_TRUE(array.AllocateArray(count)); - for (unsigned int i = 0; i < count; ++i) { - ArrayStructure local; - local.char_value = i; - local.short_value = i + 1; - local.long_value = i + 2; - ASSERT_TRUE(array.CopyIndex(i, &local)); - } - - // Test an object followed by an array - google_breakpad::TypedMDRVA obj_array(&writer); - ASSERT_TRUE(obj_array.AllocateObjectAndArray(count, - sizeof(ArrayStructure))); - obj_array.get()->count = count; - for (unsigned int i = 0; i < count; ++i) { - ArrayStructure local; - local.char_value = i; - local.short_value = i + 1; - local.long_value = i + 2; - ASSERT_TRUE(obj_array.CopyIndexAfterObject(i, &local, sizeof(local))); - } - } - - return writer.Close(); -} - -static bool CompareFile(const char *path) { - unsigned long expected[] = { -#if defined(__BIG_ENDIAN__) - 0x0000beef, 0x0000001e, 0x00000018, 0x00000020, 0x00000038, 0x00000000, - 0x00000018, 0x00460069, 0x00720073, 0x00740020, 0x00530074, 0x00720069, - 0x006e0067, 0x00000000, 0x0000001a, 0x00530065, 0x0063006f, 0x006e0064, - 0x00200053, 0x00740072, 0x0069006e, 0x00670000, 0x00000001, 0x00000002, - 0x01000002, 0x00000003, 0x02000003, 0x00000004, 0x03000004, 0x00000005, - 0x04000005, 0x00000006, 0x05000006, 0x00000007, 0x06000007, 0x00000008, - 0x07000008, 0x00000009, 0x08000009, 0x0000000a, 0x0900000a, 0x0000000b, - 0x0000000a, 0x00000001, 0x00000002, 0x01000002, 0x00000003, 0x02000003, - 0x00000004, 0x03000004, 0x00000005, 0x04000005, 0x00000006, 0x05000006, - 0x00000007, 0x06000007, 0x00000008, 0x07000008, 0x00000009, 0x08000009, - 0x0000000a, 0x0900000a, 0x0000000b, 0x00000000 -#else - 0x0000beef, 0x0000001e, 0x00000018, 0x00000020, 0x00000038, 0x00000000, - 0x00000018, 0x00690046, 0x00730072, 0x00200074, 0x00740053, 0x00690072, - 0x0067006e, 0x00000000, 0x0000001a, 0x00650053, 0x006f0063, 0x0064006e, - 0x00530020, 0x00720074, 0x006e0069, 0x00000067, 0x0001da00, 0x00000002, - 0x0002da01, 0x00000003, 0x0003da02, 0x00000004, 0x0004da03, 0x00000005, - 0x0005da04, 0x00000006, 0x0006da05, 0x00000007, 0x0007da06, 0x00000008, - 0x0008da07, 0x00000009, 0x0009da08, 0x0000000a, 0x000ada09, 0x0000000b, - 0x0000000a, 0x00018700, 0x00000002, 0x00028701, 0x00000003, 0x00038702, - 0x00000004, 0x00048703, 0x00000005, 0x00058704, 0x00000006, 0x00068705, - 0x00000007, 0x00078706, 0x00000008, 0x00088707, 0x00000009, 0x00098708, - 0x0000000a, 0x000a8709, 0x0000000b, 0x00000000, -#endif - }; - unsigned int expected_byte_count = sizeof(expected); - int fd = open(path, O_RDONLY, 0600); - void *buffer = malloc(expected_byte_count); - ASSERT_NE(fd, -1); - ASSERT_TRUE(buffer); - ASSERT_EQ(read(fd, buffer, expected_byte_count), expected_byte_count); - ASSERT_EQ(memcmp(buffer, expected, expected_byte_count), 0); - return true; -} - -static bool RunTests() { - const char *path = "/tmp/minidump_file_writer_unittest.dmp"; - ASSERT_TRUE(WriteFile(path)); - ASSERT_TRUE(CompareFile(path)); - unlink(path); - return true; -} - -extern "C" int main(int argc, const char *argv[]) { - return RunTests() ? 0 : 1; -} diff --git a/toolkit/airbag/airbag/src/client/windows/Makefile.in b/toolkit/airbag/airbag/src/client/windows/Makefile.in deleted file mode 100755 index b88f113aaa49..000000000000 --- a/toolkit/airbag/airbag/src/client/windows/Makefile.in +++ /dev/null @@ -1,46 +0,0 @@ -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Breakpad integration -# -# The Initial Developer of the Original Code is -# Ted Mielczarek -# Portions created by the Initial Developer are Copyright (C) 2006 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -DIRS = handler sender - -include $(topsrcdir)/config/rules.mk diff --git a/toolkit/airbag/airbag/src/client/windows/breakpad_client.sln b/toolkit/airbag/airbag/src/client/windows/breakpad_client.sln deleted file mode 100644 index 990fa546ee2a..000000000000 --- a/toolkit/airbag/airbag/src/client/windows/breakpad_client.sln +++ /dev/null @@ -1,36 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exception_handler", "handler\exception_handler.vcproj", "{B55CA863-B374-4BAF-95AC-539E4FA4C90C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "crash_report_sender", "sender\crash_report_sender.vcproj", "{9946A048-043B-4F8F-9E07-9297B204714C}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - DebugStaticCRT|Win32 = DebugStaticCRT|Win32 - Release|Win32 = Release|Win32 - ReleaseStaticCRT|Win32 = ReleaseStaticCRT|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B55CA863-B374-4BAF-95AC-539E4FA4C90C}.Debug|Win32.ActiveCfg = Debug|Win32 - {B55CA863-B374-4BAF-95AC-539E4FA4C90C}.Debug|Win32.Build.0 = Debug|Win32 - {B55CA863-B374-4BAF-95AC-539E4FA4C90C}.DebugStaticCRT|Win32.ActiveCfg = DebugStaticCRT|Win32 - {B55CA863-B374-4BAF-95AC-539E4FA4C90C}.DebugStaticCRT|Win32.Build.0 = DebugStaticCRT|Win32 - {B55CA863-B374-4BAF-95AC-539E4FA4C90C}.Release|Win32.ActiveCfg = Release|Win32 - {B55CA863-B374-4BAF-95AC-539E4FA4C90C}.Release|Win32.Build.0 = Release|Win32 - {B55CA863-B374-4BAF-95AC-539E4FA4C90C}.ReleaseStaticCRT|Win32.ActiveCfg = ReleaseStaticCRT|Win32 - {B55CA863-B374-4BAF-95AC-539E4FA4C90C}.ReleaseStaticCRT|Win32.Build.0 = ReleaseStaticCRT|Win32 - {9946A048-043B-4F8F-9E07-9297B204714C}.Debug|Win32.ActiveCfg = Debug|Win32 - {9946A048-043B-4F8F-9E07-9297B204714C}.Debug|Win32.Build.0 = Debug|Win32 - {9946A048-043B-4F8F-9E07-9297B204714C}.DebugStaticCRT|Win32.ActiveCfg = DebugStaticCRT|Win32 - {9946A048-043B-4F8F-9E07-9297B204714C}.DebugStaticCRT|Win32.Build.0 = DebugStaticCRT|Win32 - {9946A048-043B-4F8F-9E07-9297B204714C}.Release|Win32.ActiveCfg = Release|Win32 - {9946A048-043B-4F8F-9E07-9297B204714C}.Release|Win32.Build.0 = Release|Win32 - {9946A048-043B-4F8F-9E07-9297B204714C}.ReleaseStaticCRT|Win32.ActiveCfg = ReleaseStaticCRT|Win32 - {9946A048-043B-4F8F-9E07-9297B204714C}.ReleaseStaticCRT|Win32.Build.0 = ReleaseStaticCRT|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/toolkit/airbag/airbag/src/client/windows/handler/Makefile.in b/toolkit/airbag/airbag/src/client/windows/handler/Makefile.in deleted file mode 100755 index 377a07dc79fa..000000000000 --- a/toolkit/airbag/airbag/src/client/windows/handler/Makefile.in +++ /dev/null @@ -1,58 +0,0 @@ -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Breakpad integration -# -# The Initial Developer of the Original Code is -# Ted Mielczarek -# Portions created by the Initial Developer are Copyright (C) 2006 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../../../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = handler -LIBRARY_NAME = exception_handler_s -XPI_NAME = crashreporter - -LOCAL_INCLUDES = -I$(srcdir)/../../.. -DEFINES += -DUNICODE -D_UNICODE - -CPPSRCS = \ - exception_handler.cc \ - $(NULL) - -# need static lib -FORCE_STATIC_LIB = 1 - -include $(topsrcdir)/config/rules.mk diff --git a/toolkit/airbag/airbag/src/client/windows/handler/exception_handler.cc b/toolkit/airbag/airbag/src/client/windows/handler/exception_handler.cc deleted file mode 100755 index 9a9d5266aff9..000000000000 --- a/toolkit/airbag/airbag/src/client/windows/handler/exception_handler.cc +++ /dev/null @@ -1,533 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include - -#include -#include - -#include "common/windows/string_utils-inl.h" - -#include "client/windows/handler/exception_handler.h" -#include "common/windows/guid_string.h" - -namespace google_breakpad { - -static const int kExceptionHandlerThreadInitialStackSize = 64 * 1024; - -vector *ExceptionHandler::handler_stack_ = NULL; -LONG ExceptionHandler::handler_stack_index_ = 0; -CRITICAL_SECTION ExceptionHandler::handler_stack_critical_section_; -bool ExceptionHandler::handler_stack_critical_section_initialized_ = false; - -ExceptionHandler::ExceptionHandler(const wstring &dump_path, - FilterCallback filter, - MinidumpCallback callback, - void *callback_context, - int handler_types) - : filter_(filter), - callback_(callback), - callback_context_(callback_context), - dump_path_(), - next_minidump_id_(), - next_minidump_path_(), - dump_path_c_(), - next_minidump_id_c_(NULL), - next_minidump_path_c_(NULL), - dbghelp_module_(NULL), - minidump_write_dump_(NULL), - handler_types_(handler_types), - previous_filter_(NULL), - previous_pch_(NULL), - handler_thread_(0), - handler_critical_section_(), - handler_start_semaphore_(NULL), - handler_finish_semaphore_(NULL), - requesting_thread_id_(0), - exception_info_(NULL), - assertion_(NULL), - handler_return_value_(false) { -#if _MSC_VER >= 1400 // MSVC 2005/8 - previous_iph_ = NULL; -#endif // _MSC_VER >= 1400 - - // set_dump_path calls UpdateNextID. This sets up all of the path and id - // strings, and their equivalent c_str pointers. - set_dump_path(dump_path); - - // Set synchronization primitives and the handler thread. Each - // ExceptionHandler object gets its own handler thread because that's the - // only way to reliably guarantee sufficient stack space in an exception, - // and it allows an easy way to get a snapshot of the requesting thread's - // context outside of an exception. - InitializeCriticalSection(&handler_critical_section_); - handler_start_semaphore_ = CreateSemaphore(NULL, 0, 1, NULL); - handler_finish_semaphore_ = CreateSemaphore(NULL, 0, 1, NULL); - - DWORD thread_id; - handler_thread_ = CreateThread(NULL, // lpThreadAttributes - kExceptionHandlerThreadInitialStackSize, - ExceptionHandlerThreadMain, - this, // lpParameter - 0, // dwCreationFlags - &thread_id); - - dbghelp_module_ = LoadLibrary(L"dbghelp.dll"); - if (dbghelp_module_) { - minidump_write_dump_ = reinterpret_cast( - GetProcAddress(dbghelp_module_, "MiniDumpWriteDump")); - } - - if (handler_types != HANDLER_NONE) { - if (!handler_stack_critical_section_initialized_) { - InitializeCriticalSection(&handler_stack_critical_section_); - handler_stack_critical_section_initialized_ = true; - } - - EnterCriticalSection(&handler_stack_critical_section_); - - // The first time an ExceptionHandler that installs a handler is - // created, set up the handler stack. - if (!handler_stack_) { - handler_stack_ = new vector(); - } - handler_stack_->push_back(this); - - if (handler_types & HANDLER_EXCEPTION) - previous_filter_ = SetUnhandledExceptionFilter(HandleException); - -#if _MSC_VER >= 1400 // MSVC 2005/8 - if (handler_types & HANDLER_INVALID_PARAMETER) - previous_iph_ = _set_invalid_parameter_handler(HandleInvalidParameter); -#endif // _MSC_VER >= 1400 - - if (handler_types & HANDLER_PURECALL) - previous_pch_ = _set_purecall_handler(HandlePureVirtualCall); - - LeaveCriticalSection(&handler_stack_critical_section_); - } -} - -ExceptionHandler::~ExceptionHandler() { - if (dbghelp_module_) { - FreeLibrary(dbghelp_module_); - } - - if (handler_types_ != HANDLER_NONE) { - EnterCriticalSection(&handler_stack_critical_section_); - - if (handler_types_ & HANDLER_EXCEPTION) - SetUnhandledExceptionFilter(previous_filter_); - -#if _MSC_VER >= 1400 // MSVC 2005/8 - if (handler_types_ & HANDLER_INVALID_PARAMETER) - _set_invalid_parameter_handler(previous_iph_); -#endif // _MSC_VER >= 1400 - - if (handler_types_ & HANDLER_PURECALL) - _set_purecall_handler(previous_pch_); - - if (handler_stack_->back() == this) { - handler_stack_->pop_back(); - } else { - // TODO(mmentovai): use advapi32!ReportEvent to log the warning to the - // system's application event log. - fprintf(stderr, "warning: removing Breakpad handler out of order\n"); - for (vector::iterator iterator = - handler_stack_->begin(); - iterator != handler_stack_->end(); - ++iterator) { - if (*iterator == this) { - handler_stack_->erase(iterator); - } - } - } - - if (handler_stack_->empty()) { - // When destroying the last ExceptionHandler that installed a handler, - // clean up the handler stack. - delete handler_stack_; - handler_stack_ = NULL; - } - - LeaveCriticalSection(&handler_stack_critical_section_); - } - - // Clean up the handler thread and synchronization primitives. - TerminateThread(handler_thread_, 1); - DeleteCriticalSection(&handler_critical_section_); - CloseHandle(handler_start_semaphore_); - CloseHandle(handler_finish_semaphore_); -} - -// static -DWORD ExceptionHandler::ExceptionHandlerThreadMain(void *lpParameter) { - ExceptionHandler *self = reinterpret_cast(lpParameter); - assert(self); - - while (true) { - if (WaitForSingleObject(self->handler_start_semaphore_, INFINITE) == - WAIT_OBJECT_0) { - // Perform the requested action. - self->handler_return_value_ = self->WriteMinidumpWithException( - self->requesting_thread_id_, self->exception_info_, self->assertion_); - - // Allow the requesting thread to proceed. - ReleaseSemaphore(self->handler_finish_semaphore_, 1, NULL); - } - } - - // Not reached. This thread will be terminated by ExceptionHandler's - // destructor. - return 0; -} - -// HandleException and HandleInvalidParameter must create an -// AutoExceptionHandler object to maintain static state and to determine which -// ExceptionHandler instance to use. The constructor locates the correct -// instance, and makes it available through get_handler(). The destructor -// restores the state in effect prior to allocating the AutoExceptionHandler. -class AutoExceptionHandler { - public: - AutoExceptionHandler() { - // Increment handler_stack_index_ so that if another Breakpad handler is - // registered using this same HandleException function, and it needs to be - // called while this handler is running (either becaause this handler - // declines to handle the exception, or an exception occurs during - // handling), HandleException will find the appropriate ExceptionHandler - // object in handler_stack_ to deliver the exception to. - // - // Because handler_stack_ is addressed in reverse (as |size - index|), - // preincrementing handler_stack_index_ avoids needing to subtract 1 from - // the argument to |at|. - // - // The index is maintained instead of popping elements off of the handler - // stack and pushing them at the end of this method. This avoids ruining - // the order of elements in the stack in the event that some other thread - // decides to manipulate the handler stack (such as creating a new - // ExceptionHandler object) while an exception is being handled. - EnterCriticalSection(&ExceptionHandler::handler_stack_critical_section_); - handler_ = ExceptionHandler::handler_stack_->at( - ExceptionHandler::handler_stack_->size() - - ++ExceptionHandler::handler_stack_index_); - LeaveCriticalSection(&ExceptionHandler::handler_stack_critical_section_); - - // In case another exception occurs while this handler is doing its thing, - // it should be delivered to the previous filter. - SetUnhandledExceptionFilter(handler_->previous_filter_); -#if _MSC_VER >= 1400 // MSVC 2005/8 - _set_invalid_parameter_handler(handler_->previous_iph_); -#endif // _MSC_VER >= 1400 - _set_purecall_handler(handler_->previous_pch_); - } - - ~AutoExceptionHandler() { - // Put things back the way they were before entering this handler. - SetUnhandledExceptionFilter(ExceptionHandler::HandleException); -#if _MSC_VER >= 1400 // MSVC 2005/8 - _set_invalid_parameter_handler(ExceptionHandler::HandleInvalidParameter); -#endif // _MSC_VER >= 1400 - _set_purecall_handler(ExceptionHandler::HandlePureVirtualCall); - - EnterCriticalSection(&ExceptionHandler::handler_stack_critical_section_); - --ExceptionHandler::handler_stack_index_; - LeaveCriticalSection(&ExceptionHandler::handler_stack_critical_section_); - } - - ExceptionHandler *get_handler() const { return handler_; } - - private: - ExceptionHandler *handler_; -}; - -// static -LONG ExceptionHandler::HandleException(EXCEPTION_POINTERS *exinfo) { - AutoExceptionHandler auto_exception_handler; - ExceptionHandler *current_handler = auto_exception_handler.get_handler(); - - // Ignore EXCEPTION_BREAKPOINT and EXCEPTION_SINGLE_STEP exceptions. This - // logic will short-circuit before calling WriteMinidumpOnHandlerThread, - // allowing something else to handle the breakpoint without incurring the - // overhead transitioning to and from the handler thread. - DWORD code = exinfo->ExceptionRecord->ExceptionCode; - LONG action; - if (code != EXCEPTION_BREAKPOINT && code != EXCEPTION_SINGLE_STEP && - current_handler->WriteMinidumpOnHandlerThread(exinfo, NULL)) { - // The handler fully handled the exception. Returning - // EXCEPTION_EXECUTE_HANDLER indicates this to the system, and usually - // results in the applicaiton being terminated. - // - // Note: If the application was launched from within the Cygwin - // environment, returning EXCEPTION_EXECUTE_HANDLER seems to cause the - // application to be restarted. - action = EXCEPTION_EXECUTE_HANDLER; - } else { - // There was an exception, it was a breakpoint or something else ignored - // above, or it was passed to the handler, which decided not to handle it. - // This could be because the filter callback didn't want it, because - // minidump writing failed for some reason, or because the post-minidump - // callback function indicated failure. Give the previous handler a - // chance to do something with the exception. If there is no previous - // handler, return EXCEPTION_CONTINUE_SEARCH, which will allow a debugger - // or native "crashed" dialog to handle the exception. - if (current_handler->previous_filter_) { - action = current_handler->previous_filter_(exinfo); - } else { - action = EXCEPTION_CONTINUE_SEARCH; - } - } - - return action; -} - -#if _MSC_VER >= 1400 // MSVC 2005/8 -// static -void ExceptionHandler::HandleInvalidParameter(const wchar_t *expression, - const wchar_t *function, - const wchar_t *file, - unsigned int line, - uintptr_t reserved) { - // This is an invalid parameter, not an exception. It's safe to play with - // sprintf here. - AutoExceptionHandler auto_exception_handler; - ExceptionHandler *current_handler = auto_exception_handler.get_handler(); - - MDRawAssertionInfo assertion; - memset(&assertion, 0, sizeof(assertion)); - _snwprintf_s(reinterpret_cast(assertion.expression), - sizeof(assertion.expression) / sizeof(assertion.expression[0]), - _TRUNCATE, L"%s", expression); - _snwprintf_s(reinterpret_cast(assertion.function), - sizeof(assertion.function) / sizeof(assertion.function[0]), - _TRUNCATE, L"%s", function); - _snwprintf_s(reinterpret_cast(assertion.file), - sizeof(assertion.file) / sizeof(assertion.file[0]), - _TRUNCATE, L"%s", file); - assertion.line = line; - assertion.type = MD_ASSERTION_INFO_TYPE_INVALID_PARAMETER; - - if (!current_handler->WriteMinidumpOnHandlerThread(NULL, &assertion)) { - if (current_handler->previous_iph_) { - // The handler didn't fully handle the exception. Give it to the - // previous invalid parameter handler. - current_handler->previous_iph_(expression, function, file, line, reserved); - } else { - // If there's no previous handler, pass the exception back in to the - // invalid parameter handler's core. That's the routine that called this - // function, but now, since this function is no longer registered (and in - // fact, no function at all is registered), this will result in the - // default code path being taken: _CRT_DEBUGGER_HOOK and _invoke_watson. - // Use _invalid_parameter where it exists (in _DEBUG builds) as it passes - // more information through. In non-debug builds, it is not available, - // so fall back to using _invalid_parameter_noinfo. See invarg.c in the - // CRT source. -#ifdef _DEBUG - _invalid_parameter(expression, function, file, line, reserved); -#else // _DEBUG - _invalid_parameter_noinfo(); -#endif // _DEBUG - } - } - - // The handler either took care of the invalid parameter problem itself, - // or passed it on to another handler. "Swallow" it by exiting, paralleling - // the behavior of "swallowing" exceptions. - exit(0); -} -#endif // _MSC_VER >= 1400 - -// static -void ExceptionHandler::HandlePureVirtualCall() { - AutoExceptionHandler auto_exception_handler; - ExceptionHandler *current_handler = auto_exception_handler.get_handler(); - - MDRawAssertionInfo assertion; - memset(&assertion, 0, sizeof(assertion)); - assertion.type = MD_ASSERTION_INFO_TYPE_PURE_VIRTUAL_CALL; - - if (!current_handler->WriteMinidumpOnHandlerThread(NULL, &assertion)) { - if (current_handler->previous_pch_) { - // The handler didn't fully handle the exception. Give it to the - // previous purecall handler. - current_handler->previous_pch_(); - } else { - // If there's no previous handler, return and let _purecall handle it. - // This will just put up an assertion dialog. - return; - } - } - - // The handler either took care of the invalid parameter problem itself, - // or passed it on to another handler. "Swallow" it by exiting, paralleling - // the behavior of "swallowing" exceptions. - exit(0); -} - -bool ExceptionHandler::WriteMinidumpOnHandlerThread( - EXCEPTION_POINTERS *exinfo, MDRawAssertionInfo *assertion) { - EnterCriticalSection(&handler_critical_section_); - - // Set up data to be passed in to the handler thread. - requesting_thread_id_ = GetCurrentThreadId(); - exception_info_ = exinfo; - assertion_ = assertion; - - // This causes the handler thread to call WriteMinidumpWithException. - ReleaseSemaphore(handler_start_semaphore_, 1, NULL); - - // Wait until WriteMinidumpWithException is done and collect its return value. - WaitForSingleObject(handler_finish_semaphore_, INFINITE); - bool status = handler_return_value_; - - // Clean up. - requesting_thread_id_ = 0; - exception_info_ = NULL; - assertion_ = NULL; - - LeaveCriticalSection(&handler_critical_section_); - - return status; -} - -bool ExceptionHandler::WriteMinidump() { - return WriteMinidumpForException(NULL); -} - -bool ExceptionHandler::WriteMinidumpForException(EXCEPTION_POINTERS *exinfo) { - bool success = WriteMinidumpOnHandlerThread(exinfo, NULL); - UpdateNextID(); - return success; -} - -// static -bool ExceptionHandler::WriteMinidump(const wstring &dump_path, - MinidumpCallback callback, - void *callback_context) { - ExceptionHandler handler(dump_path, NULL, callback, callback_context, - HANDLER_NONE); - return handler.WriteMinidump(); -} - -bool ExceptionHandler::WriteMinidumpWithException( - DWORD requesting_thread_id, - EXCEPTION_POINTERS *exinfo, - MDRawAssertionInfo *assertion) { - // Give user code a chance to approve or prevent writing a minidump. If the - // filter returns false, don't handle the exception at all. If this method - // was called as a result of an exception, returning false will cause - // HandleException to call any previous handler or return - // EXCEPTION_CONTINUE_SEARCH on the exception thread, allowing it to appear - // as though this handler were not present at all. - if (filter_ && !filter_(callback_context_, exinfo, assertion)) { - return false; - } - - bool success = false; - if (minidump_write_dump_) { - HANDLE dump_file = CreateFile(next_minidump_path_c_, - GENERIC_WRITE, - FILE_SHARE_WRITE, - NULL, - CREATE_ALWAYS, - FILE_ATTRIBUTE_NORMAL, - NULL); - if (dump_file != INVALID_HANDLE_VALUE) { - MINIDUMP_EXCEPTION_INFORMATION except_info; - except_info.ThreadId = requesting_thread_id; - except_info.ExceptionPointers = exinfo; - except_info.ClientPointers = FALSE; - - // Add an MDRawBreakpadInfo stream to the minidump, to provide additional - // information about the exception handler to the Breakpad processor. The - // information will help the processor determine which threads are - // relevant. The Breakpad processor does not require this information but - // can function better with Breakpad-generated dumps when it is present. - // The native debugger is not harmed by the presence of this information. - MDRawBreakpadInfo breakpad_info; - breakpad_info.validity = MD_BREAKPAD_INFO_VALID_DUMP_THREAD_ID | - MD_BREAKPAD_INFO_VALID_REQUESTING_THREAD_ID; - breakpad_info.dump_thread_id = GetCurrentThreadId(); - breakpad_info.requesting_thread_id = requesting_thread_id; - - // Leave room in user_stream_array for a possible assertion info stream. - MINIDUMP_USER_STREAM user_stream_array[2]; - user_stream_array[0].Type = MD_BREAKPAD_INFO_STREAM; - user_stream_array[0].BufferSize = sizeof(breakpad_info); - user_stream_array[0].Buffer = &breakpad_info; - - MINIDUMP_USER_STREAM_INFORMATION user_streams; - user_streams.UserStreamCount = 1; - user_streams.UserStreamArray = user_stream_array; - - if (assertion) { - user_stream_array[1].Type = MD_ASSERTION_INFO_STREAM; - user_stream_array[1].BufferSize = sizeof(MDRawAssertionInfo); - user_stream_array[1].Buffer = assertion; - ++user_streams.UserStreamCount; - } - - // The explicit comparison to TRUE avoids a warning (C4800). - success = (minidump_write_dump_(GetCurrentProcess(), - GetCurrentProcessId(), - dump_file, - MiniDumpNormal, - exinfo ? &except_info : NULL, - &user_streams, - NULL) == TRUE); - - CloseHandle(dump_file); - } - } - - if (callback_) { - success = callback_(dump_path_c_, next_minidump_id_c_, callback_context_, - exinfo, assertion, success); - } - - return success; -} - -void ExceptionHandler::UpdateNextID() { - GUID id; - CoCreateGuid(&id); - next_minidump_id_ = GUIDString::GUIDToWString(&id); - next_minidump_id_c_ = next_minidump_id_.c_str(); - - wchar_t minidump_path[MAX_PATH]; - swprintf(minidump_path, MAX_PATH, L"%s\\%s.dmp", - dump_path_c_, next_minidump_id_c_); - - // remove when VC++7.1 is no longer supported - minidump_path[MAX_PATH - 1] = L'\0'; - - next_minidump_path_ = minidump_path; - next_minidump_path_c_ = next_minidump_path_.c_str(); -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/client/windows/handler/exception_handler.h b/toolkit/airbag/airbag/src/client/windows/handler/exception_handler.h deleted file mode 100755 index 464bbb78c0f0..000000000000 --- a/toolkit/airbag/airbag/src/client/windows/handler/exception_handler.h +++ /dev/null @@ -1,348 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// ExceptionHandler can write a minidump file when an exception occurs, -// or when WriteMinidump() is called explicitly by your program. -// -// To have the exception handler write minidumps when an uncaught exception -// (crash) occurs, you should create an instance early in the execution -// of your program, and keep it around for the entire time you want to -// have crash handling active (typically, until shutdown). -// -// If you want to write minidumps without installing the exception handler, -// you can create an ExceptionHandler with install_handler set to false, -// then call WriteMinidump. You can also use this technique if you want to -// use different minidump callbacks for different call sites. -// -// In either case, a callback function is called when a minidump is written, -// which receives the unqiue id of the minidump. The caller can use this -// id to collect and write additional application state, and to launch an -// external crash-reporting application. -// -// It is important that creation and destruction of ExceptionHandler objects -// be nested cleanly, when using install_handler = true. -// Avoid the following pattern: -// ExceptionHandler *e = new ExceptionHandler(...); -// ExceptionHandler *f = new ExceptionHandler(...); -// delete e; -// This will put the exception filter stack into an inconsistent state. -// -// To use this library in your project, you will need to link against -// ole32.lib. - -#ifndef CLIENT_WINDOWS_HANDLER_EXCEPTION_HANDLER_H__ -#define CLIENT_WINDOWS_HANDLER_EXCEPTION_HANDLER_H__ - -#include -#include -#include - -#pragma warning( push ) -// Disable exception handler warnings. -#pragma warning( disable : 4530 ) - -#include -#include - -#include "google_breakpad/common/minidump_format.h" - -namespace google_breakpad { - -using std::vector; -using std::wstring; - -class ExceptionHandler { - public: - // A callback function to run before Breakpad performs any substantial - // processing of an exception. A FilterCallback is called before writing - // a minidump. context is the parameter supplied by the user as - // callback_context when the handler was created. exinfo points to the - // exception record, if any; assertion points to assertion information, - // if any. - // - // If a FilterCallback returns true, Breakpad will continue processing, - // attempting to write a minidump. If a FilterCallback returns false, Breakpad - // will immediately report the exception as unhandled without writing a - // minidump, allowing another handler the opportunity to handle it. - typedef bool (*FilterCallback)(void *context, EXCEPTION_POINTERS *exinfo, - MDRawAssertionInfo *assertion); - - // A callback function to run after the minidump has been written. - // minidump_id is a unique id for the dump, so the minidump - // file is \.dmp. context is the parameter supplied - // by the user as callback_context when the handler was created. exinfo - // points to the exception record, or NULL if no exception occurred. - // succeeded indicates whether a minidump file was successfully written. - // assertion points to information about an assertion if the handler was - // invoked by an assertion. - // - // If an exception occurred and the callback returns true, Breakpad will treat - // the exception as fully-handled, suppressing any other handlers from being - // notified of the exception. If the callback returns false, Breakpad will - // treat the exception as unhandled, and allow another handler to handle it. - // If there are no other handlers, Breakpad will report the exception to the - // system as unhandled, allowing a debugger or native crash dialog the - // opportunity to handle the exception. Most callback implementations - // should normally return the value of |succeeded|, or when they wish to - // not report an exception of handled, false. Callbacks will rarely want to - // return true directly (unless |succeeded| is true). - typedef bool (*MinidumpCallback)(const wchar_t *dump_path, - const wchar_t *minidump_id, - void *context, - EXCEPTION_POINTERS *exinfo, - MDRawAssertionInfo *assertion, - bool succeeded); - - // HandlerType specifies which types of handlers should be installed, if - // any. Use HANDLER_NONE for an ExceptionHandler that remains idle, - // without catching any failures on its own. This type of handler may - // still be triggered by calling WriteMinidump. Otherwise, use a - // combination of the other HANDLER_ values, or HANDLER_ALL to install - // all handlers. - enum HandlerType { - HANDLER_NONE = 0, - HANDLER_EXCEPTION = 1 << 0, // SetUnhandledExceptionFilter - HANDLER_INVALID_PARAMETER = 1 << 1, // _set_invalid_parameter_handler - HANDLER_PURECALL = 1 << 2, // _set_purecall_handler - HANDLER_ALL = HANDLER_EXCEPTION | - HANDLER_INVALID_PARAMETER | - HANDLER_PURECALL - }; - - // Creates a new ExceptionHandler instance to handle writing minidumps. - // Before writing a minidump, the optional filter callback will be called. - // Its return value determines whether or not Breakpad should write a - // minidump. Minidump files will be written to dump_path, and the optional - // callback is called after writing the dump file, as described above. - // handler_types specifies the types of handlers that should be installed. - ExceptionHandler(const wstring &dump_path, - FilterCallback filter, - MinidumpCallback callback, - void *callback_context, - int handler_types); - ~ExceptionHandler(); - - // Get and set the minidump path. - wstring dump_path() const { return dump_path_; } - void set_dump_path(const wstring &dump_path) { - dump_path_ = dump_path; - dump_path_c_ = dump_path_.c_str(); - UpdateNextID(); // Necessary to put dump_path_ in next_minidump_path_. - } - - // Writes a minidump immediately. This can be used to capture the - // execution state independently of a crash. Returns true on success. - bool WriteMinidump(); - - // Writes a minidump immediately, with the user-supplied exception - // information. - bool WriteMinidumpForException(EXCEPTION_POINTERS *exinfo); - - // Convenience form of WriteMinidump which does not require an - // ExceptionHandler instance. - static bool WriteMinidump(const wstring &dump_path, - MinidumpCallback callback, void *callback_context); - - private: - friend class AutoExceptionHandler; - - // Function pointer type for MiniDumpWriteDump, which is looked up - // dynamically. - typedef BOOL (WINAPI *MiniDumpWriteDump_type)( - HANDLE hProcess, - DWORD dwPid, - HANDLE hFile, - MINIDUMP_TYPE DumpType, - CONST PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam, - CONST PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam, - CONST PMINIDUMP_CALLBACK_INFORMATION CallbackParam); - - // Runs the main loop for the exception handler thread. - static DWORD WINAPI ExceptionHandlerThreadMain(void *lpParameter); - - // Called on the exception thread when an unhandled exception occurs. - // Signals the exception handler thread to handle the exception. - static LONG WINAPI HandleException(EXCEPTION_POINTERS *exinfo); - -#if _MSC_VER >= 1400 // MSVC 2005/8 - // This function will be called by some CRT functions when they detect - // that they were passed an invalid parameter. Note that in _DEBUG builds, - // the CRT may display an assertion dialog before calling this function, - // and the function will not be called unless the assertion dialog is - // dismissed by clicking "Ignore." - static void HandleInvalidParameter(const wchar_t *expression, - const wchar_t *function, - const wchar_t *file, - unsigned int line, - uintptr_t reserved); -#endif // _MSC_VER >= 1400 - - // This function will be called by the CRT when a pure virtual - // function is called. - static void HandlePureVirtualCall(); - - // This is called on the exception thread or on another thread that - // the user wishes to produce a dump from. It calls - // WriteMinidumpWithException on the handler thread, avoiding stack - // overflows and inconsistent dumps due to writing the dump from - // the exception thread. If the dump is requested as a result of an - // exception, exinfo contains exception information, otherwise, it - // is NULL. If the dump is requested as a result of an assertion - // (such as an invalid parameter being passed to a CRT function), - // assertion contains data about the assertion, otherwise, it is NULL. - bool WriteMinidumpOnHandlerThread(EXCEPTION_POINTERS *exinfo, - MDRawAssertionInfo *assertion); - - // This function does the actual writing of a minidump. It is called - // on the handler thread. requesting_thread_id is the ID of the thread - // that requested the dump. If the dump is requested as a result of - // an exception, exinfo contains exception information, otherwise, - // it is NULL. - bool WriteMinidumpWithException(DWORD requesting_thread_id, - EXCEPTION_POINTERS *exinfo, - MDRawAssertionInfo *assertion); - - // Generates a new ID and stores it in next_minidump_id_, and stores the - // path of the next minidump to be written in next_minidump_path_. - void UpdateNextID(); - - FilterCallback filter_; - MinidumpCallback callback_; - void *callback_context_; - - // The directory in which a minidump will be written, set by the dump_path - // argument to the constructor, or set_dump_path. - wstring dump_path_; - - // The basename of the next minidump to be written, without the extension. - wstring next_minidump_id_; - - // The full pathname of the next minidump to be written, including the file - // extension. - wstring next_minidump_path_; - - // Pointers to C-string representations of the above. These are set when - // the above wstring versions are set in order to avoid calling c_str during - // an exception, as c_str may attempt to allocate heap memory. These - // pointers are not owned by the ExceptionHandler object, but their lifetimes - // should be equivalent to the lifetimes of the associated wstring, provided - // that the wstrings are not altered. - const wchar_t *dump_path_c_; - const wchar_t *next_minidump_id_c_; - const wchar_t *next_minidump_path_c_; - - HMODULE dbghelp_module_; - MiniDumpWriteDump_type minidump_write_dump_; - - // Tracks the handler types that were installed according to the - // handler_types constructor argument. - int handler_types_; - - // When installed_handler_ is true, previous_filter_ is the unhandled - // exception filter that was set prior to installing ExceptionHandler as - // the unhandled exception filter and pointing it to |this|. NULL indicates - // that there is no previous unhandled exception filter. - LPTOP_LEVEL_EXCEPTION_FILTER previous_filter_; - -#if _MSC_VER >= 1400 // MSVC 2005/8 - // Beginning in VC 8, the CRT provides an invalid parameter handler that will - // be called when some CRT functions are passed invalid parameters. In - // earlier CRTs, the same conditions would cause unexpected behavior or - // crashes. - _invalid_parameter_handler previous_iph_; -#endif // _MSC_VER >= 1400 - - // The CRT allows you to override the default handler for pure - // virtual function calls. - _purecall_handler previous_pch_; - - // The exception handler thread. - HANDLE handler_thread_; - - // The critical section enforcing the requirement that only one exception be - // handled by a handler at a time. - CRITICAL_SECTION handler_critical_section_; - - // Semaphores used to move exception handling between the exception thread - // and the handler thread. handler_start_semaphore_ is signalled by the - // exception thread to wake up the handler thread when an exception occurs. - // handler_finish_semaphore_ is signalled by the handler thread to wake up - // the exception thread when handling is complete. - HANDLE handler_start_semaphore_; - HANDLE handler_finish_semaphore_; - - // The next 2 fields contain data passed from the requesting thread to - // the handler thread. - - // The thread ID of the thread requesting the dump (either the exception - // thread or any other thread that called WriteMinidump directly). - DWORD requesting_thread_id_; - - // The exception info passed to the exception handler on the exception - // thread, if an exception occurred. NULL for user-requested dumps. - EXCEPTION_POINTERS *exception_info_; - - // If the handler is invoked due to an assertion, this will contain a - // pointer to the assertion information. It is NULL at other times. - MDRawAssertionInfo *assertion_; - - // The return value of the handler, passed from the handler thread back to - // the requesting thread. - bool handler_return_value_; - - // A stack of ExceptionHandler objects that have installed unhandled - // exception filters. This vector is used by HandleException to determine - // which ExceptionHandler object to route an exception to. When an - // ExceptionHandler is created with install_handler true, it will append - // itself to this list. - static vector *handler_stack_; - - // The index of the ExceptionHandler in handler_stack_ that will handle the - // next exception. Note that 0 means the last entry in handler_stack_, 1 - // means the next-to-last entry, and so on. This is used by HandleException - // to support multiple stacked Breakpad handlers. - static LONG handler_stack_index_; - - // handler_stack_critical_section_ guards operations on handler_stack_ and - // handler_stack_index_. - static CRITICAL_SECTION handler_stack_critical_section_; - - // True when handler_stack_critical_section_ has been initialized. - static bool handler_stack_critical_section_initialized_; - - // disallow copy ctor and operator= - explicit ExceptionHandler(const ExceptionHandler &); - void operator=(const ExceptionHandler &); -}; - -} // namespace google_breakpad - -#pragma warning( pop ) - -#endif // CLIENT_WINDOWS_HANDLER_EXCEPTION_HANDLER_H__ diff --git a/toolkit/airbag/airbag/src/client/windows/handler/exception_handler.vcproj b/toolkit/airbag/airbag/src/client/windows/handler/exception_handler.vcproj deleted file mode 100755 index 7e5998e41682..000000000000 --- a/toolkit/airbag/airbag/src/client/windows/handler/exception_handler.vcproj +++ /dev/null @@ -1,315 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/toolkit/airbag/airbag/src/client/windows/sender/Makefile.in b/toolkit/airbag/airbag/src/client/windows/sender/Makefile.in deleted file mode 100755 index 7d7eafe50881..000000000000 --- a/toolkit/airbag/airbag/src/client/windows/sender/Makefile.in +++ /dev/null @@ -1,57 +0,0 @@ -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Breakpad integration -# -# The Initial Developer of the Original Code is -# Ted Mielczarek -# Portions created by the Initial Developer are Copyright (C) 2006 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../../../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = sender -LIBRARY_NAME = crash_report_sender_s - -LOCAL_INCLUDES = -I$(srcdir)/../../.. -DEFINES += -DUNICODE -D_UNICODE - -CPPSRCS = \ - crash_report_sender.cc \ - $(NULL) - -# need static lib -FORCE_STATIC_LIB = 1 - -include $(topsrcdir)/config/rules.mk diff --git a/toolkit/airbag/airbag/src/client/windows/sender/crash_report_sender.cc b/toolkit/airbag/airbag/src/client/windows/sender/crash_report_sender.cc deleted file mode 100755 index 453adb63b514..000000000000 --- a/toolkit/airbag/airbag/src/client/windows/sender/crash_report_sender.cc +++ /dev/null @@ -1,138 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Disable exception handler warnings. -#pragma warning( disable : 4530 ) - -#include "client/windows/sender/crash_report_sender.h" -#include "common/windows/http_upload.h" - -#if _MSC_VER < 1400 // MSVC 2005/8 -// Older MSVC doesn't have fscanf_s, but they are compatible as long as -// we don't use the string conversions (%s/%c/%S/%C). -#define fscanf_s fscanf -#endif - -namespace google_breakpad { - -static const char kCheckpointSignature[] = "GBP1\n"; - -CrashReportSender::CrashReportSender(const wstring &checkpoint_file) - : checkpoint_file_(checkpoint_file), - max_reports_per_day_(-1), - last_sent_date_(-1), - reports_sent_(0) { - FILE *fd; - if (OpenCheckpointFile(L"r", &fd) == 0) { - ReadCheckpoint(fd); - fclose(fd); - } -} - -ReportResult CrashReportSender::SendCrashReport( - const wstring &url, const map ¶meters, - const wstring &dump_file_name, wstring *report_code) { - int today = GetCurrentDate(); - if (today == last_sent_date_ && - max_reports_per_day_ != -1 && - reports_sent_ >= max_reports_per_day_) { - return RESULT_THROTTLED; - } - - int http_response = 0; - bool result = HTTPUpload::SendRequest( - url, parameters, dump_file_name, L"upload_file_minidump", report_code, - &http_response); - ReportSent(today); - - if (result) { - return RESULT_SUCCEEDED; - } else if (http_response == 400) { // TODO: update if/when the server - // switches to a different code - return RESULT_REJECTED; - } else { - return RESULT_FAILED; - } -} - -void CrashReportSender::ReadCheckpoint(FILE *fd) { - char buf[128]; - if (!fgets(buf, sizeof(buf), fd) || - strcmp(buf, kCheckpointSignature) != 0) { - return; - } - - if (fscanf_s(fd, "%d\n", &last_sent_date_) != 1) { - last_sent_date_ = -1; - return; - } - if (fscanf_s(fd, "%d\n", &reports_sent_) != 1) { - reports_sent_ = 0; - return; - } -} - -void CrashReportSender::ReportSent(int today) { - // Update the report stats - if (today != last_sent_date_) { - last_sent_date_ = today; - reports_sent_ = 0; - } - ++reports_sent_; - - // Update the checkpoint file - FILE *fd; - if (OpenCheckpointFile(L"w", &fd) == 0) { - fputs(kCheckpointSignature, fd); - fprintf(fd, "%d\n", last_sent_date_); - fprintf(fd, "%d\n", reports_sent_); - fclose(fd); - } -} - -int CrashReportSender::GetCurrentDate() const { - SYSTEMTIME system_time; - GetSystemTime(&system_time); - return (system_time.wYear * 10000) + (system_time.wMonth * 100) + - system_time.wDay; -} - -int CrashReportSender::OpenCheckpointFile(const wchar_t *mode, FILE **fd) { -#if _MSC_VER >= 1400 // MSVC 2005/8 - return _wfopen_s(fd, checkpoint_file_.c_str(), mode); -#else - *fd = _wfopen(checkpoint_file_.c_str(), mode); - if (*fd == NULL) { - return errno; - } - return 0; -#endif -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/client/windows/sender/crash_report_sender.h b/toolkit/airbag/airbag/src/client/windows/sender/crash_report_sender.h deleted file mode 100755 index da1ed0af8b99..000000000000 --- a/toolkit/airbag/airbag/src/client/windows/sender/crash_report_sender.h +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#ifndef CLIENT_WINDOWS_SENDER_CRASH_REPORT_SENDER_H__ -#define CLIENT_WINDOWS_SENDER_CRASH_REPORT_SENDER_H__ - -// CrashReportSender is a "static" class which provides an API to upload -// crash reports via HTTP(S). A crash report is formatted as a multipart POST -// request, which contains a set of caller-supplied string key/value pairs, -// and a minidump file to upload. -// -// To use this library in your project, you will need to link against -// wininet.lib. - -#pragma warning( push ) -// Disable exception handler warnings. -#pragma warning( disable : 4530 ) - -#include -#include - -namespace google_breakpad { - -using std::wstring; -using std::map; - -typedef enum { - RESULT_FAILED = 0, // Failed to communicate with the server; try later. - RESULT_REJECTED, // Successfully sent the crash report, but the - // server rejected it; don't resend this report. - RESULT_SUCCEEDED, // The server accepted the crash report. - RESULT_THROTTLED // No attempt was made to send the crash report, because - // we exceeded the maximum reports per day. -} ReportResult; - -class CrashReportSender { - public: - // Initializes a CrashReportSender instance. - // If checkpoint_file is non-empty, breakpad will persist crash report - // state to this file. A checkpoint file is required for - // set_max_reports_per_day() to function properly. - explicit CrashReportSender(const wstring &checkpoint_file); - ~CrashReportSender() {} - - // Sets the maximum number of crash reports that will be sent in a 24-hour - // period. This uses the state persisted to the checkpoint file. - // The default value of -1 means that there is no limit on reports sent. - void set_max_reports_per_day(int reports) { - max_reports_per_day_ = reports; - } - - int max_reports_per_day() const { return max_reports_per_day_; } - - // Sends the specified minidump file, along with the map of - // name value pairs, as a multipart POST request to the given URL. - // Parameter names must contain only printable ASCII characters, - // and may not contain a quote (") character. - // Only HTTP(S) URLs are currently supported. The return value indicates - // the result of the operation (see above for possible results). - // If report_code is non-NULL and the report is sent successfully (that is, - // the return value is RESULT_SUCCEEDED), a code uniquely identifying the - // report will be returned in report_code. - // (Otherwise, report_code will be unchanged.) - ReportResult SendCrashReport(const wstring &url, - const map ¶meters, - const wstring &dump_file_name, - wstring *report_code); - - private: - // Reads persistent state from a checkpoint file. - void ReadCheckpoint(FILE *fd); - - // Called when a new report has been sent, to update the checkpoint state. - void ReportSent(int today); - - // Returns today's date (UTC) formatted as YYYYMMDD. - int GetCurrentDate() const; - - // Opens the checkpoint file with the specified mode. - // Returns zero on success, or an error code on failure. - int OpenCheckpointFile(const wchar_t *mode, FILE **fd); - - wstring checkpoint_file_; - int max_reports_per_day_; - // The last date on which we sent a report, expressed as YYYYMMDD. - int last_sent_date_; - // Number of reports sent on last_sent_date_ - int reports_sent_; - - // Disallow copy constructor and operator= - explicit CrashReportSender(const CrashReportSender &); - void operator=(const CrashReportSender &); -}; - -} // namespace google_breakpad - -#pragma warning( pop ) - -#endif // CLIENT_WINDOWS_SENDER_CRASH_REPORT_SENDER_H__ diff --git a/toolkit/airbag/airbag/src/client/windows/sender/crash_report_sender.vcproj b/toolkit/airbag/airbag/src/client/windows/sender/crash_report_sender.vcproj deleted file mode 100755 index 76a579b47343..000000000000 --- a/toolkit/airbag/airbag/src/client/windows/sender/crash_report_sender.vcproj +++ /dev/null @@ -1,307 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/toolkit/airbag/airbag/src/common/Makefile.in b/toolkit/airbag/airbag/src/common/Makefile.in deleted file mode 100644 index 19e566888f0a..000000000000 --- a/toolkit/airbag/airbag/src/common/Makefile.in +++ /dev/null @@ -1,66 +0,0 @@ -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Breakpad integration -# -# The Initial Developer of the Original Code is -# Ted Mielczarek -# Portions created by the Initial Developer are Copyright (C) 2007 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = breakpad_common -LIBRARY_NAME = breakpad_common_s -HOST_LIBRARY_NAME = host_breakpad_common_s - -LOCAL_INCLUDES = -I$(srcdir)/.. - -CPPSRCS = \ - string_conversion.cc \ - $(NULL) - -CSRCS = \ - convert_UTF.c \ - $(NULL) - -HOST_CPPSRCS = $(CPPSRCS) - -HOST_CSRCS = $(CSRCS) - -# need static lib -FORCE_STATIC_LIB = 1 -FORCE_USE_PIC = 1 - -include $(topsrcdir)/config/rules.mk diff --git a/toolkit/airbag/airbag/src/common/convert_UTF.c b/toolkit/airbag/airbag/src/common/convert_UTF.c deleted file mode 100644 index 80178d35ef9c..000000000000 --- a/toolkit/airbag/airbag/src/common/convert_UTF.c +++ /dev/null @@ -1,533 +0,0 @@ -/* - * Copyright 2001-2004 Unicode, Inc. - * - * Disclaimer - * - * This source code is provided as is by Unicode, Inc. No claims are - * made as to fitness for any particular purpose. No warranties of any - * kind are expressed or implied. The recipient agrees to determine - * applicability of information provided. If this file has been - * purchased on magnetic or optical media from Unicode, Inc., the - * sole remedy for any claim will be exchange of defective media - * within 90 days of receipt. - * - * Limitations on Rights to Redistribute This Code - * - * Unicode, Inc. hereby grants the right to freely use the information - * supplied in this file in the creation of products supporting the - * Unicode Standard, and to make copies of this file in any form - * for internal or external distribution as long as this notice - * remains attached. - */ - -/* --------------------------------------------------------------------- - -Conversions between UTF32, UTF-16, and UTF-8. Source code file. -Author: Mark E. Davis, 1994. -Rev History: Rick McGowan, fixes & updates May 2001. -Sept 2001: fixed const & error conditions per -mods suggested by S. Parent & A. Lillich. -June 2002: Tim Dodd added detection and handling of incomplete -source sequences, enhanced error detection, added casts -to eliminate compiler warnings. -July 2003: slight mods to back out aggressive FFFE detection. -Jan 2004: updated switches in from-UTF8 conversions. -Oct 2004: updated to use UNI_MAX_LEGAL_UTF32 in UTF-32 conversions. - -See the header file "ConvertUTF.h" for complete documentation. - ------------------------------------------------------------------------- */ - - -#include "convert_UTF.h" -#ifdef CVTUTF_DEBUG -#include -#endif - -static const int halfShift = 10; /* used for shifting by 10 bits */ - -static const UTF32 halfBase = 0x0010000UL; -static const UTF32 halfMask = 0x3FFUL; - -#define UNI_SUR_HIGH_START (UTF32)0xD800 -#define UNI_SUR_HIGH_END (UTF32)0xDBFF -#define UNI_SUR_LOW_START (UTF32)0xDC00 -#define UNI_SUR_LOW_END (UTF32)0xDFFF -#define false 0 -#define true 1 - -/* --------------------------------------------------------------------- */ - -ConversionResult ConvertUTF32toUTF16 (const UTF32** sourceStart, const UTF32* sourceEnd, - UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags) { - ConversionResult result = conversionOK; - const UTF32* source = *sourceStart; - UTF16* target = *targetStart; - while (source < sourceEnd) { - UTF32 ch; - if (target >= targetEnd) { - result = targetExhausted; break; - } - ch = *source++; - if (ch <= UNI_MAX_BMP) { /* Target is a character <= 0xFFFF */ - /* UTF-16 surrogate values are illegal in UTF-32; 0xffff or 0xfffe are both reserved values */ - if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_LOW_END) { - if (flags == strictConversion) { - --source; /* return to the illegal value itself */ - result = sourceIllegal; - break; - } else { - *target++ = UNI_REPLACEMENT_CHAR; - } - } else { - *target++ = (UTF16)ch; /* normal case */ - } - } else if (ch > UNI_MAX_LEGAL_UTF32) { - if (flags == strictConversion) { - result = sourceIllegal; - } else { - *target++ = UNI_REPLACEMENT_CHAR; - } - } else { - /* target is a character in range 0xFFFF - 0x10FFFF. */ - if (target + 1 >= targetEnd) { - --source; /* Back up source pointer! */ - result = targetExhausted; break; - } - ch -= halfBase; - *target++ = (UTF16)((ch >> halfShift) + UNI_SUR_HIGH_START); - *target++ = (UTF16)((ch & halfMask) + UNI_SUR_LOW_START); - } - } -*sourceStart = source; -*targetStart = target; -return result; -} - -/* --------------------------------------------------------------------- */ - -ConversionResult ConvertUTF16toUTF32 (const UTF16** sourceStart, const UTF16* sourceEnd, - UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags) { - ConversionResult result = conversionOK; - const UTF16* source = *sourceStart; - UTF32* target = *targetStart; - UTF32 ch, ch2; - while (source < sourceEnd) { - const UTF16* oldSource = source; /* In case we have to back up because of target overflow. */ - ch = *source++; - /* If we have a surrogate pair, convert to UTF32 first. */ - if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_HIGH_END) { - /* If the 16 bits following the high surrogate are in the source buffer... */ - if (source < sourceEnd) { - ch2 = *source; - /* If it's a low surrogate, convert to UTF32. */ - if (ch2 >= UNI_SUR_LOW_START && ch2 <= UNI_SUR_LOW_END) { - ch = ((ch - UNI_SUR_HIGH_START) << halfShift) - + (ch2 - UNI_SUR_LOW_START) + halfBase; - ++source; - } else if (flags == strictConversion) { /* it's an unpaired high surrogate */ - --source; /* return to the illegal value itself */ - result = sourceIllegal; - break; - } - } else { /* We don't have the 16 bits following the high surrogate. */ - --source; /* return to the high surrogate */ - result = sourceExhausted; - break; - } - } else if (flags == strictConversion) { - /* UTF-16 surrogate values are illegal in UTF-32 */ - if (ch >= UNI_SUR_LOW_START && ch <= UNI_SUR_LOW_END) { - --source; /* return to the illegal value itself */ - result = sourceIllegal; - break; - } - } - if (target >= targetEnd) { - source = oldSource; /* Back up source pointer! */ - result = targetExhausted; break; - } - *target++ = ch; - } - *sourceStart = source; - *targetStart = target; -#ifdef CVTUTF_DEBUG - if (result == sourceIllegal) { - fprintf(stderr, "ConvertUTF16toUTF32 illegal seq 0x%04x,%04x\n", ch, ch2); - fflush(stderr); - } -#endif - return result; -} - -/* --------------------------------------------------------------------- */ - -/* - * Index into the table below with the first byte of a UTF-8 sequence to - * get the number of trailing bytes that are supposed to follow it. - * Note that *legal* UTF-8 values can't have 4 or 5-bytes. The table is - * left as-is for anyone who may want to do such conversion, which was - * allowed in earlier algorithms. - */ -static const char trailingBytesForUTF8[256] = { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5 -}; - -/* - * Magic values subtracted from a buffer value during UTF8 conversion. - * This table contains as many values as there might be trailing bytes - * in a UTF-8 sequence. - */ -static const UTF32 offsetsFromUTF8[6] = { 0x00000000UL, 0x00003080UL, 0x000E2080UL, - 0x03C82080UL, 0xFA082080UL, 0x82082080UL }; - -/* - * Once the bits are split out into bytes of UTF-8, this is a mask OR-ed - * into the first byte, depending on how many bytes follow. There are - * as many entries in this table as there are UTF-8 sequence types. - * (I.e., one byte sequence, two byte... etc.). Remember that sequencs - * for *legal* UTF-8 will be 4 or fewer bytes total. - */ -static const UTF8 firstByteMark[7] = { 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC }; - -/* --------------------------------------------------------------------- */ - -/* The interface converts a whole buffer to avoid function-call overhead. -* Constants have been gathered. Loops & conditionals have been removed as -* much as possible for efficiency, in favor of drop-through switches. -* (See "Note A" at the bottom of the file for equivalent code.) -* If your compiler supports it, the "isLegalUTF8" call can be turned -* into an inline function. -*/ - -/* --------------------------------------------------------------------- */ - -ConversionResult ConvertUTF16toUTF8 (const UTF16** sourceStart, const UTF16* sourceEnd, - UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags) { - ConversionResult result = conversionOK; - const UTF16* source = *sourceStart; - UTF8* target = *targetStart; - while (source < sourceEnd) { - UTF32 ch; - unsigned short bytesToWrite = 0; - const UTF32 byteMask = 0xBF; - const UTF32 byteMark = 0x80; - const UTF16* oldSource = source; /* In case we have to back up because of target overflow. */ - ch = *source++; - /* If we have a surrogate pair, convert to UTF32 first. */ - if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_HIGH_END) { - /* If the 16 bits following the high surrogate are in the source buffer... */ - if (source < sourceEnd) { - UTF32 ch2 = *source; - /* If it's a low surrogate, convert to UTF32. */ - if (ch2 >= UNI_SUR_LOW_START && ch2 <= UNI_SUR_LOW_END) { - ch = ((ch - UNI_SUR_HIGH_START) << halfShift) - + (ch2 - UNI_SUR_LOW_START) + halfBase; - ++source; - } else if (flags == strictConversion) { /* it's an unpaired high surrogate */ - --source; /* return to the illegal value itself */ - result = sourceIllegal; - break; - } - } else { /* We don't have the 16 bits following the high surrogate. */ - --source; /* return to the high surrogate */ - result = sourceExhausted; - break; - } - } else if (flags == strictConversion) { - /* UTF-16 surrogate values are illegal in UTF-32 */ - if (ch >= UNI_SUR_LOW_START && ch <= UNI_SUR_LOW_END) { - --source; /* return to the illegal value itself */ - result = sourceIllegal; - break; - } - } - /* Figure out how many bytes the result will require */ - if (ch < (UTF32)0x80) { bytesToWrite = 1; - } else if (ch < (UTF32)0x800) { bytesToWrite = 2; - } else if (ch < (UTF32)0x10000) { bytesToWrite = 3; - } else if (ch < (UTF32)0x110000) { bytesToWrite = 4; - } else { bytesToWrite = 3; - ch = UNI_REPLACEMENT_CHAR; - } - - target += bytesToWrite; - if (target > targetEnd) { - source = oldSource; /* Back up source pointer! */ - target -= bytesToWrite; result = targetExhausted; break; - } - switch (bytesToWrite) { /* note: everything falls through. */ - case 4: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; - case 3: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; - case 2: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; - case 1: *--target = (UTF8)(ch | firstByteMark[bytesToWrite]); - } - target += bytesToWrite; - } -*sourceStart = source; -*targetStart = target; -return result; -} - -/* --------------------------------------------------------------------- */ - -/* - * Utility routine to tell whether a sequence of bytes is legal UTF-8. - * This must be called with the length pre-determined by the first byte. - * If not calling this from ConvertUTF8to*, then the length can be set by: - * length = trailingBytesForUTF8[*source]+1; - * and the sequence is illegal right away if there aren't that many bytes - * available. - * If presented with a length > 4, this returns false. The Unicode - * definition of UTF-8 goes up to 4-byte sequences. - */ - -static Boolean isLegalUTF8(const UTF8 *source, int length) { - UTF8 a; - const UTF8 *srcptr = source+length; - switch (length) { - default: return false; - /* Everything else falls through when "true"... */ - case 4: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return false; - case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return false; - case 2: if ((a = (*--srcptr)) > 0xBF) return false; - - switch (*source) { - /* no fall-through in this inner switch */ - case 0xE0: if (a < 0xA0) return false; break; - case 0xED: if (a > 0x9F) return false; break; - case 0xF0: if (a < 0x90) return false; break; - case 0xF4: if (a > 0x8F) return false; break; - default: if (a < 0x80) return false; - } - - case 1: if (*source >= 0x80 && *source < 0xC2) return false; - } - if (*source > 0xF4) return false; - return true; -} - -/* --------------------------------------------------------------------- */ - -/* - * Exported function to return whether a UTF-8 sequence is legal or not. - * This is not used here; it's just exported. - */ -Boolean isLegalUTF8Sequence(const UTF8 *source, const UTF8 *sourceEnd) { - int length = trailingBytesForUTF8[*source]+1; - if (source+length > sourceEnd) { - return false; - } - return isLegalUTF8(source, length); -} - -/* --------------------------------------------------------------------- */ - -ConversionResult ConvertUTF8toUTF16 (const UTF8** sourceStart, const UTF8* sourceEnd, - UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags) { - ConversionResult result = conversionOK; - const UTF8* source = *sourceStart; - UTF16* target = *targetStart; - while (source < sourceEnd) { - UTF32 ch = 0; - unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; - if (source + extraBytesToRead >= sourceEnd) { - result = sourceExhausted; break; - } - /* Do this check whether lenient or strict */ - if (! isLegalUTF8(source, extraBytesToRead+1)) { - result = sourceIllegal; - break; - } - /* - * The cases all fall through. See "Note A" below. - */ - switch (extraBytesToRead) { - case 5: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */ - case 4: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */ - case 3: ch += *source++; ch <<= 6; - case 2: ch += *source++; ch <<= 6; - case 1: ch += *source++; ch <<= 6; - case 0: ch += *source++; - } - ch -= offsetsFromUTF8[extraBytesToRead]; - - if (target >= targetEnd) { - source -= (extraBytesToRead+1); /* Back up source pointer! */ - result = targetExhausted; break; - } - if (ch <= UNI_MAX_BMP) { /* Target is a character <= 0xFFFF */ - /* UTF-16 surrogate values are illegal in UTF-32 */ - if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_LOW_END) { - if (flags == strictConversion) { - source -= (extraBytesToRead+1); /* return to the illegal value itself */ - result = sourceIllegal; - break; - } else { - *target++ = UNI_REPLACEMENT_CHAR; - } - } else { - *target++ = (UTF16)ch; /* normal case */ - } - } else if (ch > UNI_MAX_UTF16) { - if (flags == strictConversion) { - result = sourceIllegal; - source -= (extraBytesToRead+1); /* return to the start */ - break; /* Bail out; shouldn't continue */ - } else { - *target++ = UNI_REPLACEMENT_CHAR; - } - } else { - /* target is a character in range 0xFFFF - 0x10FFFF. */ - if (target + 1 >= targetEnd) { - source -= (extraBytesToRead+1); /* Back up source pointer! */ - result = targetExhausted; break; - } - ch -= halfBase; - *target++ = (UTF16)((ch >> halfShift) + UNI_SUR_HIGH_START); - *target++ = (UTF16)((ch & halfMask) + UNI_SUR_LOW_START); - } - } -*sourceStart = source; -*targetStart = target; -return result; -} - -/* --------------------------------------------------------------------- */ - -ConversionResult ConvertUTF32toUTF8 (const UTF32** sourceStart, const UTF32* sourceEnd, - UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags) { - ConversionResult result = conversionOK; - const UTF32* source = *sourceStart; - UTF8* target = *targetStart; - while (source < sourceEnd) { - UTF32 ch; - unsigned short bytesToWrite = 0; - const UTF32 byteMask = 0xBF; - const UTF32 byteMark = 0x80; - ch = *source++; - if (flags == strictConversion ) { - /* UTF-16 surrogate values are illegal in UTF-32 */ - if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_LOW_END) { - --source; /* return to the illegal value itself */ - result = sourceIllegal; - break; - } - } - /* - * Figure out how many bytes the result will require. Turn any - * illegally large UTF32 things (> Plane 17) into replacement chars. - */ - if (ch < (UTF32)0x80) { bytesToWrite = 1; - } else if (ch < (UTF32)0x800) { bytesToWrite = 2; - } else if (ch < (UTF32)0x10000) { bytesToWrite = 3; - } else if (ch <= UNI_MAX_LEGAL_UTF32) { bytesToWrite = 4; - } else { bytesToWrite = 3; - ch = UNI_REPLACEMENT_CHAR; - result = sourceIllegal; - } - - target += bytesToWrite; - if (target > targetEnd) { - --source; /* Back up source pointer! */ - target -= bytesToWrite; result = targetExhausted; break; - } - switch (bytesToWrite) { /* note: everything falls through. */ - case 4: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; - case 3: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; - case 2: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; - case 1: *--target = (UTF8) (ch | firstByteMark[bytesToWrite]); - } - target += bytesToWrite; - } -*sourceStart = source; -*targetStart = target; -return result; -} - -/* --------------------------------------------------------------------- */ - -ConversionResult ConvertUTF8toUTF32 (const UTF8** sourceStart, const UTF8* sourceEnd, - UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags) { - ConversionResult result = conversionOK; - const UTF8* source = *sourceStart; - UTF32* target = *targetStart; - while (source < sourceEnd) { - UTF32 ch = 0; - unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; - if (source + extraBytesToRead >= sourceEnd) { - result = sourceExhausted; break; - } - /* Do this check whether lenient or strict */ - if (! isLegalUTF8(source, extraBytesToRead+1)) { - result = sourceIllegal; - break; - } - /* - * The cases all fall through. See "Note A" below. - */ - switch (extraBytesToRead) { - case 5: ch += *source++; ch <<= 6; - case 4: ch += *source++; ch <<= 6; - case 3: ch += *source++; ch <<= 6; - case 2: ch += *source++; ch <<= 6; - case 1: ch += *source++; ch <<= 6; - case 0: ch += *source++; - } - ch -= offsetsFromUTF8[extraBytesToRead]; - - if (target >= targetEnd) { - source -= (extraBytesToRead+1); /* Back up the source pointer! */ - result = targetExhausted; break; - } - if (ch <= UNI_MAX_LEGAL_UTF32) { - /* - * UTF-16 surrogate values are illegal in UTF-32, and anything - * over Plane 17 (> 0x10FFFF) is illegal. - */ - if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_LOW_END) { - if (flags == strictConversion) { - source -= (extraBytesToRead+1); /* return to the illegal value itself */ - result = sourceIllegal; - break; - } else { - *target++ = UNI_REPLACEMENT_CHAR; - } - } else { - *target++ = ch; - } - } else { /* i.e., ch > UNI_MAX_LEGAL_UTF32 */ - result = sourceIllegal; - *target++ = UNI_REPLACEMENT_CHAR; - } - } - *sourceStart = source; - *targetStart = target; - return result; -} - -/* --------------------------------------------------------------------- - -Note A. -The fall-through switches in UTF-8 reading code save a -temp variable, some decrements & conditionals. The switches -are equivalent to the following loop: -{ - int tmpBytesToRead = extraBytesToRead+1; - do { - ch += *source++; - --tmpBytesToRead; - if (tmpBytesToRead) ch <<= 6; - } while (tmpBytesToRead > 0); -} -In UTF-8 writing code, the switches on "bytesToWrite" are -similarly unrolled loops. - ---------------------------------------------------------------------- */ diff --git a/toolkit/airbag/airbag/src/common/convert_UTF.h b/toolkit/airbag/airbag/src/common/convert_UTF.h deleted file mode 100644 index b1556de81e6f..000000000000 --- a/toolkit/airbag/airbag/src/common/convert_UTF.h +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright 2001-2004 Unicode, Inc. - * - * Disclaimer - * - * This source code is provided as is by Unicode, Inc. No claims are - * made as to fitness for any particular purpose. No warranties of any - * kind are expressed or implied. The recipient agrees to determine - * applicability of information provided. If this file has been - * purchased on magnetic or optical media from Unicode, Inc., the - * sole remedy for any claim will be exchange of defective media - * within 90 days of receipt. - * - * Limitations on Rights to Redistribute This Code - * - * Unicode, Inc. hereby grants the right to freely use the information - * supplied in this file in the creation of products supporting the - * Unicode Standard, and to make copies of this file in any form - * for internal or external distribution as long as this notice - * remains attached. - */ - -/* --------------------------------------------------------------------- - -Conversions between UTF32, UTF-16, and UTF-8. Header file. - -Several funtions are included here, forming a complete set of -conversions between the three formats. UTF-7 is not included -here, but is handled in a separate source file. - -Each of these routines takes pointers to input buffers and output -buffers. The input buffers are const. - -Each routine converts the text between *sourceStart and sourceEnd, -putting the result into the buffer between *targetStart and -targetEnd. Note: the end pointers are *after* the last item: e.g. -*(sourceEnd - 1) is the last item. - -The return result indicates whether the conversion was successful, -and if not, whether the problem was in the source or target buffers. -(Only the first encountered problem is indicated.) - -After the conversion, *sourceStart and *targetStart are both -updated to point to the end of last text successfully converted in -the respective buffers. - -Input parameters: -sourceStart - pointer to a pointer to the source buffer. -The contents of this are modified on return so that -it points at the next thing to be converted. -targetStart - similarly, pointer to pointer to the target buffer. -sourceEnd, targetEnd - respectively pointers to the ends of the -two buffers, for overflow checking only. - -These conversion functions take a ConversionFlags argument. When this -flag is set to strict, both irregular sequences and isolated surrogates -will cause an error. When the flag is set to lenient, both irregular -sequences and isolated surrogates are converted. - -Whether the flag is strict or lenient, all illegal sequences will cause -an error return. This includes sequences such as: , , -or in UTF-8, and values above 0x10FFFF in UTF-32. Conformant code -must check for illegal sequences. - -When the flag is set to lenient, characters over 0x10FFFF are converted -to the replacement character; otherwise (when the flag is set to strict) -they constitute an error. - -Output parameters: -The value "sourceIllegal" is returned from some routines if the input -sequence is malformed. When "sourceIllegal" is returned, the source -value will point to the illegal value that caused the problem. E.g., -in UTF-8 when a sequence is malformed, it points to the start of the -malformed sequence. - -Author: Mark E. Davis, 1994. -Rev History: Rick McGowan, fixes & updates May 2001. -Fixes & updates, Sept 2001. - ------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------- -The following 4 definitions are compiler-specific. -The C standard does not guarantee that wchar_t has at least -16 bits, so wchar_t is no less portable than unsigned short! -All should be unsigned values to avoid sign extension during -bit mask & shift operations. ------------------------------------------------------------------------- */ - -typedef unsigned long UTF32; /* at least 32 bits */ -typedef unsigned short UTF16; /* at least 16 bits */ -typedef unsigned char UTF8; /* typically 8 bits */ -typedef unsigned char Boolean; /* 0 or 1 */ - -/* Some fundamental constants */ -#define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD -#define UNI_MAX_BMP (UTF32)0x0000FFFF -#define UNI_MAX_UTF16 (UTF32)0x0010FFFF -#define UNI_MAX_UTF32 (UTF32)0x7FFFFFFF -#define UNI_MAX_LEGAL_UTF32 (UTF32)0x0010FFFF - -typedef enum { - conversionOK, /* conversion successful */ - sourceExhausted, /* partial character in source, but hit end */ - targetExhausted, /* insuff. room in target for conversion */ - sourceIllegal /* source sequence is illegal/malformed */ -} ConversionResult; - -typedef enum { - strictConversion = 0, - lenientConversion -} ConversionFlags; - -/* This is for C++ and does no harm in C */ -#ifdef __cplusplus -extern "C" { -#endif - -ConversionResult ConvertUTF8toUTF16 (const UTF8** sourceStart, const UTF8* sourceEnd, - UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags); - -ConversionResult ConvertUTF16toUTF8 (const UTF16** sourceStart, const UTF16* sourceEnd, - UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags); - -ConversionResult ConvertUTF8toUTF32 (const UTF8** sourceStart, const UTF8* sourceEnd, - UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags); - -ConversionResult ConvertUTF32toUTF8 (const UTF32** sourceStart, const UTF32* sourceEnd, - UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags); - -ConversionResult ConvertUTF16toUTF32 (const UTF16** sourceStart, const UTF16* sourceEnd, - UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags); - -ConversionResult ConvertUTF32toUTF16 (const UTF32** sourceStart, const UTF32* sourceEnd, - UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags); - -Boolean isLegalUTF8Sequence(const UTF8 *source, const UTF8 *sourceEnd); - -#ifdef __cplusplus -} -#endif - -/* --------------------------------------------------------------------- */ diff --git a/toolkit/airbag/airbag/src/common/linux/Makefile.in b/toolkit/airbag/airbag/src/common/linux/Makefile.in deleted file mode 100644 index 3fe473c35ae2..000000000000 --- a/toolkit/airbag/airbag/src/common/linux/Makefile.in +++ /dev/null @@ -1,76 +0,0 @@ -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Breakpad integration -# -# The Initial Developer of the Original Code is -# Ted Mielczarek -# Portions created by the Initial Developer are Copyright (C) 2007 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = breakpad_linux_common -LIBRARY_NAME = breakpad_linux_common_s -HOST_LIBRARY_NAME = host_breakpad_linux_common_s - -LOCAL_INCLUDES = -I$(srcdir)/../.. - -CXXFLAGS := $(filter-out -pedantic,$(CXXFLAGS)) - -# not compiling http_upload.cc currently -# since it depends on libcurl -CPPSRCS = \ - dump_symbols.cc \ - file_id.cc \ - guid_creator.cc \ - $(NULL) - -CSRCS = \ - md5.c \ - $(NULL) - -HOST_CPPSRCS = \ - dump_symbols.cc \ - file_id.cc \ - guid_creator.cc \ - $(NULL) - -HOST_CSRCS = $(CSRCS) - -# need static lib -FORCE_STATIC_LIB = 1 -FORCE_USE_PIC = 1 - -include $(topsrcdir)/config/rules.mk diff --git a/toolkit/airbag/airbag/src/common/linux/dump_symbols.cc b/toolkit/airbag/airbag/src/common/linux/dump_symbols.cc deleted file mode 100644 index 8c211579d3d8..000000000000 --- a/toolkit/airbag/airbag/src/common/linux/dump_symbols.cc +++ /dev/null @@ -1,647 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "common/linux/dump_symbols.h" -#include "common/linux/file_id.h" -#include "common/linux/guid_creator.h" -#include "processor/scoped_ptr.h" - -// This namespace contains helper functions. -namespace { - -// Infomation of a line. -struct LineInfo { - // Offset from start of the function. - // Load from stab symbol. - ElfW(Off) rva_to_func; - // Offset from base of the loading binary. - ElfW(Off) rva_to_base; - // Size of the line. - // It is the difference of the starting address of the line and starting - // address of the next N_SLINE, N_FUN or N_SO. - uint32_t size; - // Line number. - uint32_t line_num; -}; - -// Information of a function. -struct FuncInfo { - // Name of the function. - const char *name; - // Offset from the base of the loading address. - ElfW(Off) rva_to_base; - // Virtual address of the function. - // Load from stab symbol. - ElfW(Addr) addr; - // Size of the function. - // It is the difference of the starting address of the function and starting - // address of the next N_FUN or N_SO. - uint32_t size; - // Total size of stack parameters. - uint32_t stack_param_size; - // Is the function defined in included function? - bool is_sol; - // Line information array. - std::vector line_info; -}; - -// Information of a source file. -struct SourceFileInfo { - // Name of the source file. - const char *name; - // Starting address of the source file. - ElfW(Addr) addr; - // Id of the source file. - int source_id; - // Functions information. - std::vector func_info; -}; - -// Information of a symbol table. -// This is the root of all types of symbol. -struct SymbolInfo { - std::vector source_file_info; -}; - -// Stab section name. -const char *kStabName = ".stab"; - -// Stab str section name. -const char *kStabStrName = ".stabstr"; - -// Demangle using abi call. -// Older GCC may not support it. -std::string Demangle(const char *mangled) { - int status = 0; - char *demangled = abi::__cxa_demangle(mangled, NULL, NULL, &status); - if (status == 0 && demangled != NULL) { - std::string str(demangled); - free(demangled); - return str; - } - return std::string(mangled); -} - -// Fix offset into virtual address by adding the mapped base into offsets. -// Make life easier when want to find something by offset. -void FixAddress(void *obj_base) { - ElfW(Word) base = reinterpret_cast(obj_base); - ElfW(Ehdr) *elf_header = static_cast(obj_base); - elf_header->e_phoff += base; - elf_header->e_shoff += base; - ElfW(Shdr) *sections = reinterpret_cast(elf_header->e_shoff); - for (int i = 0; i < elf_header->e_shnum; ++i) - sections[i].sh_offset += base; -} - -// Find the prefered loading address of the binary. -ElfW(Addr) GetLoadingAddress(const ElfW(Phdr) *program_headers, int nheader) { - for (int i = 0; i < nheader; ++i) { - const ElfW(Phdr) &header = program_headers[i]; - // For executable, it is the PT_LOAD segment with offset to zero. - if (header.p_type == PT_LOAD && - header.p_offset == 0) - return header.p_vaddr; - } - // For other types of ELF, return 0. - return 0; -} - -bool WriteFormat(int fd, const char *fmt, ...) { - va_list list; - char buffer[4096]; - ssize_t expected, written; - va_start(list, fmt); - vsnprintf(buffer, sizeof(buffer), fmt, list); - expected = strlen(buffer); - written = write(fd, buffer, strlen(buffer)); - va_end(list); - return expected == written; -} - -bool IsValidElf(const ElfW(Ehdr) *elf_header) { - return memcmp(elf_header, ELFMAG, SELFMAG) == 0; -} - -const ElfW(Shdr) *FindSectionByName(const char *name, - const ElfW(Shdr) *sections, - const ElfW(Shdr) *strtab, - int nsection) { - assert(name != NULL); - assert(sections != NULL); - assert(nsection > 0); - - int name_len = strlen(name); - if (name_len == 0) - return NULL; - - for (int i = 0; i < nsection; ++i) { - const char *section_name = - (char*)(strtab->sh_offset + sections[i].sh_name); - if (!strncmp(name, section_name, name_len)) - return sections + i; - } - return NULL; -} - -// TODO(liuli): Computer the stack parameter size. -// Expect parameter variables are immediately following the N_FUN symbol. -// Will need to parse the type information to get a correct size. -int LoadStackParamSize(struct nlist *list, - struct nlist *list_end, - struct FuncInfo *func_info) { - struct nlist *cur_list = list; - assert(cur_list->n_type == N_FUN); - ++cur_list; - int step = 1; - while (cur_list < list_end && cur_list->n_type == N_PSYM) { - ++cur_list; - ++step; - } - func_info->stack_param_size = 0; - return step; -} - -int LoadLineInfo(struct nlist *list, - struct nlist *list_end, - struct FuncInfo *func_info) { - struct nlist *cur_list = list; - func_info->is_sol = false; - do { - // Skip non line information. - while (cur_list < list_end && cur_list->n_type != N_SLINE) { - // Only exit when got another function, or source file. - if (cur_list->n_type == N_FUN || cur_list->n_type == N_SO) - return cur_list - list; - if (cur_list->n_type == N_SOL) - func_info->is_sol = true; - ++cur_list; - } - struct LineInfo line; - while (cur_list < list_end && cur_list->n_type == N_SLINE) { - line.rva_to_func = cur_list->n_value; - // n_desc is a signed short - line.line_num = (unsigned short)cur_list->n_desc; - func_info->line_info.push_back(line); - ++cur_list; - } - } while (list < list_end); - - return cur_list - list; -} - -int LoadFuncSymbols(struct nlist *list, - struct nlist *list_end, - const ElfW(Shdr) *stabstr_section, - struct SourceFileInfo *source_file_info) { - struct nlist *cur_list = list; - assert(cur_list->n_type == N_SO); - ++cur_list; - - source_file_info->func_info.clear(); - while (cur_list < list_end) { - // Go until the function symbol. - while (cur_list < list_end && cur_list->n_type != N_FUN) { - if (cur_list->n_type == N_SO) { - return cur_list - list; - } - ++cur_list; - continue; - } - if (cur_list->n_type == N_FUN) { - struct FuncInfo func_info; - memset(&func_info, 0, sizeof(func_info)); - func_info.name = - reinterpret_cast(cur_list->n_un.n_strx + - stabstr_section->sh_offset); - func_info.addr = cur_list->n_value; - // Stack parameter size. - cur_list += LoadStackParamSize(cur_list, list_end, &func_info); - // Line info. - cur_list += LoadLineInfo(cur_list, list_end, &func_info); - // Functions in this module should have address bigger than the module - // startring address. - // There maybe a lot of duplicated entry for a function in the symbol, - // only one of them can met this. - if (func_info.addr >= source_file_info->addr) { - source_file_info->func_info.push_back(func_info); - } - } - } - return cur_list - list; -} - -// Comapre the address. -// The argument should have a memeber named "addr" -template -bool CompareAddress(T1 *a, T2 *b) { - return a->addr < b->addr; -} - -// Sort the array into increasing ordered array based on the virtual address. -// Return vector of pointers to the elements in the incoming array. So caller -// should make sure the returned vector lives longer than the incoming vector. -template -std::vector SortByAddress(std::vector *array) { - std::vector sorted_array_ptr; - sorted_array_ptr.reserve(array->size()); - for (size_t i = 0; i < array->size(); ++i) - sorted_array_ptr.push_back(&(array->at(i))); - std::sort(sorted_array_ptr.begin(), - sorted_array_ptr.end(), - std::ptr_fun(CompareAddress)); - - return sorted_array_ptr; -} - -// Find the address of the next function or source file symbol in the symbol -// table. The address should be bigger than the current function's address. -ElfW(Addr) NextAddress(std::vector *sorted_functions, - std::vector *sorted_files, - const struct FuncInfo &func_info) { - std::vector::iterator next_func_iter = - std::find_if(sorted_functions->begin(), - sorted_functions->end(), - std::bind1st( - std::ptr_fun( - CompareAddress - ), - &func_info) - ); - if (next_func_iter != sorted_functions->end()) - return (*next_func_iter)->addr; - - std::vector::iterator next_file_iter = - std::find_if(sorted_files->begin(), - sorted_files->end(), - std::bind1st( - std::ptr_fun( - CompareAddress - ), - &func_info) - ); - if (next_file_iter != sorted_files->end()) { - return (*next_file_iter)->addr; - } - return 0; -} - -// Compute size and rva information based on symbols loaded from stab section. -bool ComputeSizeAndRVA(ElfW(Addr) loading_addr, struct SymbolInfo *symbols) { - std::vector sorted_files = - SortByAddress(&(symbols->source_file_info)); - for (size_t i = 0; i < sorted_files.size(); ++i) { - struct SourceFileInfo &source_file = *sorted_files[i]; - std::vector sorted_functions = - SortByAddress(&(source_file.func_info)); - for (size_t j = 0; j < sorted_functions.size(); ++j) { - struct FuncInfo &func_info = *sorted_functions[j]; - assert(func_info.addr >= loading_addr); - func_info.rva_to_base = func_info.addr - loading_addr; - func_info.size = 0; - ElfW(Addr) next_addr = NextAddress(&sorted_functions, - &sorted_files, - func_info); - // I've noticed functions with an address bigger than any other functions - // and source files modules, this is probably the last function in the - // module, due to limitions of Linux stab symbol, it is impossible to get - // the exact size of this kind of function, thus we give it a default - // very big value. This should be safe since this is the last function. - // But it is a ugly hack..... - // The following code can reproduce the case: - // template - // void Foo(T value) { - // } - // - // int main(void) { - // Foo(10); - // Foo(std::string("hello")); - // return 0; - // } - // TODO(liuli): Find a better solution. - static const int kDefaultSize = 0x10000000; - static int no_next_addr_count = 0; - if (next_addr != 0) { - func_info.size = next_addr - func_info.addr; - } else { - if (no_next_addr_count > 1) { - fprintf(stderr, "Got more than one funtion without the \ - following symbol. Igore this function.\n"); - fprintf(stderr, "The dumped symbol may not correct.\n"); - assert(!"This should not happen!\n"); - func_info.size = 0; - continue; - } - - no_next_addr_count++; - func_info.size = kDefaultSize; - } - // Compute line size. - for (size_t k = 0; k < func_info.line_info.size(); ++k) { - struct LineInfo &line_info = func_info.line_info[k]; - line_info.size = 0; - if (k + 1 < func_info.line_info.size()) { - line_info.size = - func_info.line_info[k + 1].rva_to_func - line_info.rva_to_func; - } else { - // The last line in the function. - // If we can find a function or source file symbol immediately - // following the line, we can get the size of the line by computing - // the difference of the next address to the starting address of this - // line. - // Otherwise, we need to set a default big enough value. This occurs - // mostly because the this function is the last one in the module. - if (next_addr != 0) { - ElfW(Off) next_addr_offset = next_addr - func_info.addr; - line_info.size = next_addr_offset - line_info.rva_to_func; - } else { - line_info.size = kDefaultSize; - } - } - line_info.rva_to_base = line_info.rva_to_func + func_info.rva_to_base; - } // for each line. - } // for each function. - } // for each source file. - return true; -} - -bool LoadSymbols(const ElfW(Shdr) *stab_section, - const ElfW(Shdr) *stabstr_section, - ElfW(Addr) loading_addr, - struct SymbolInfo *symbols) { - if (stab_section == NULL || stabstr_section == NULL) - return false; - - struct nlist *lists = - reinterpret_cast(stab_section->sh_offset); - int nstab = stab_section->sh_size / sizeof(struct nlist); - int source_id = 0; - // First pass, load all symbols from the object file. - for (int i = 0; i < nstab; ) { - int step = 1; - struct nlist *cur_list = lists + i; - if (cur_list->n_type == N_SO) { - // FUNC
- struct SourceFileInfo source_file_info; - source_file_info.name = reinterpret_cast(cur_list->n_un.n_strx + - stabstr_section->sh_offset); - source_file_info.addr = cur_list->n_value; - if (strchr(source_file_info.name, '.')) - source_file_info.source_id = source_id++; - else - source_file_info.source_id = -1; - step = LoadFuncSymbols(cur_list, lists + nstab, - stabstr_section, &source_file_info); - symbols->source_file_info.push_back(source_file_info); - } - i += step; - } - // Second pass, compute the size of functions and lines. - return ComputeSizeAndRVA(loading_addr, symbols); -} - -bool LoadSymbols(ElfW(Ehdr) *elf_header, struct SymbolInfo *symbols) { - // Translate all offsets in section headers into address. - FixAddress(elf_header); - ElfW(Addr) loading_addr = GetLoadingAddress( - reinterpret_cast(elf_header->e_phoff), - elf_header->e_phnum); - - const ElfW(Shdr) *sections = - reinterpret_cast(elf_header->e_shoff); - const ElfW(Shdr) *strtab = sections + elf_header->e_shstrndx; - const ElfW(Shdr) *stab_section = - FindSectionByName(kStabName, sections, strtab, elf_header->e_shnum); - if (stab_section == NULL) { - fprintf(stderr, "Stab section not found.\n"); - return false; - } - const ElfW(Shdr) *stabstr_section = stab_section->sh_link + sections; - - // Load symbols. - return LoadSymbols(stab_section, stabstr_section, loading_addr, symbols); -} - -bool WriteModuleInfo(int fd, ElfW(Half) arch, const std::string &obj_file) { - const char *arch_name = NULL; - if (arch == EM_386) - arch_name = "x86"; - else if (arch == EM_X86_64) - arch_name = "x86_64"; - else - return false; - - unsigned char identifier[16]; - google_breakpad::FileID file_id(obj_file.c_str()); - if (file_id.ElfFileIdentifier(identifier)) { - char identifier_str[40]; - file_id.ConvertIdentifierToString(identifier, - identifier_str, sizeof(identifier_str)); - char id_no_dash[40]; - int id_no_dash_len = 0; - memset(id_no_dash, 0, sizeof(id_no_dash)); - for (int i = 0; identifier_str[i] != '\0'; ++i) - if (identifier_str[i] != '-') - id_no_dash[id_no_dash_len++] = identifier_str[i]; - // Add an extra "0" by the end. - id_no_dash[id_no_dash_len++] = '0'; - std::string filename = obj_file; - size_t slash_pos = obj_file.find_last_of("/"); - if (slash_pos != std::string::npos) - filename = obj_file.substr(slash_pos + 1); - return WriteFormat(fd, "MODULE Linux %s %s %s\n", arch_name, - id_no_dash, filename.c_str()); - } - return false; -} - -bool WriteSourceFileInfo(int fd, const struct SymbolInfo &symbols) { - for (size_t i = 0; i < symbols.source_file_info.size(); ++i) { - if (symbols.source_file_info[i].source_id != -1) { - const char *name = symbols.source_file_info[i].name; - if (!WriteFormat(fd, "FILE %d %s\n", - symbols.source_file_info[i].source_id, name)) - return false; - } - } - return true; -} - -bool WriteOneFunction(int fd, int source_id, - const struct FuncInfo &func_info){ - // Discard the ending part of the name. - std::string func_name(func_info.name); - std::string::size_type last_colon = func_name.find_last_of(':'); - if (last_colon != std::string::npos) - func_name = func_name.substr(0, last_colon); - func_name = Demangle(func_name.c_str()); - - if (func_info.size <= 0) - return true; - - if (WriteFormat(fd, "FUNC %lx %lx %d %s\n", - func_info.rva_to_base, - func_info.size, - func_info.stack_param_size, - func_name.c_str())) { - for (size_t i = 0; i < func_info.line_info.size(); ++i) { - const struct LineInfo &line_info = func_info.line_info[i]; - if (!WriteFormat(fd, "%lx %lx %d %d\n", - line_info.rva_to_base, - line_info.size, - line_info.line_num, - source_id)) - return false; - } - return true; - } - return false; -} - -bool WriteFunctionInfo(int fd, const struct SymbolInfo &symbols) { - for (size_t i = 0; i < symbols.source_file_info.size(); ++i) { - const struct SourceFileInfo &file_info = symbols.source_file_info[i]; - for (size_t j = 0; j < file_info.func_info.size(); ++j) { - const struct FuncInfo &func_info = file_info.func_info[j]; - if (!WriteOneFunction(fd, file_info.source_id, func_info)) - return false; - } - } - return true; -} - -bool DumpStabSymbols(int fd, const struct SymbolInfo &symbols) { - return WriteSourceFileInfo(fd, symbols) && - WriteFunctionInfo(fd, symbols); -} - -// -// FDWrapper -// -// Wrapper class to make sure opened file is closed. -// -class FDWrapper { - public: - explicit FDWrapper(int fd) : - fd_(fd) { - } - ~FDWrapper() { - if (fd_ != -1) - close(fd_); - } - int get() { - return fd_; - } - int release() { - int fd = fd_; - fd_ = -1; - return fd; - } - private: - int fd_; -}; - -// -// MmapWrapper -// -// Wrapper class to make sure mapped regions are unmapped. -// -class MmapWrapper { - public: - MmapWrapper(void *mapped_address, size_t mapped_size) : - base_(mapped_address), size_(mapped_size) { - } - ~MmapWrapper() { - if (base_ != NULL) { - assert(size_ > 0); - munmap(base_, size_); - } - } - void release() { - base_ = NULL; - size_ = 0; - } - - private: - void *base_; - size_t size_; -}; - -} // namespace - -namespace google_breakpad { - -bool DumpSymbols::WriteSymbolFile(const std::string &obj_file, - int sym_fd) { - int obj_fd = open(obj_file.c_str(), O_RDONLY); - if (obj_fd < 0) - return false; - FDWrapper obj_fd_wrapper(obj_fd); - struct stat st; - if (fstat(obj_fd, &st) != 0 && st.st_size <= 0) - return false; - void *obj_base = mmap(NULL, st.st_size, - PROT_READ | PROT_WRITE, MAP_PRIVATE, obj_fd, 0); - if (!obj_base) - return false; - MmapWrapper map_wrapper(obj_base, st.st_size); - ElfW(Ehdr) *elf_header = reinterpret_cast(obj_base); - if (!IsValidElf(elf_header)) - return false; - struct SymbolInfo symbols; - if (!LoadSymbols(elf_header, &symbols)) - return false; - // Write to symbol file. - if (WriteModuleInfo(sym_fd, elf_header->e_machine, obj_file) && - DumpStabSymbols(sym_fd, symbols)) - return true; - - return false; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/common/linux/dump_symbols.h b/toolkit/airbag/airbag/src/common/linux/dump_symbols.h deleted file mode 100644 index 64f4c9e68f34..000000000000 --- a/toolkit/airbag/airbag/src/common/linux/dump_symbols.h +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// dump_symbols.cc: Implements a linux stab debugging format dumper. -// - -#ifndef COMMON_LINUX_DUMP_SYMBOLS_H__ -#define COMMON_LINUX_DUMP_SYMBOLS_H__ - -#include - -namespace google_breakpad { - -class DumpSymbols { - public: - bool WriteSymbolFile(const std::string &obj_file, - int sym_fd); -}; - -} // namespace google_breakpad - -#endif // COMMON_LINUX_DUMP_SYMBOLS_H__ diff --git a/toolkit/airbag/airbag/src/common/linux/file_id.cc b/toolkit/airbag/airbag/src/common/linux/file_id.cc deleted file mode 100644 index f8bb586e1109..000000000000 --- a/toolkit/airbag/airbag/src/common/linux/file_id.cc +++ /dev/null @@ -1,145 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// file_id.cc: Return a unique identifier for a file -// -// See file_id.h for documentation -// - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "common/linux/file_id.h" -#include "common/linux/md5.h" - -namespace google_breakpad { - -static bool FindElfTextSection(const void *elf_mapped_base, - const void **text_start, - int *text_size) { - assert(elf_mapped_base); - assert(text_start); - assert(text_size); - - const unsigned char *elf_base = - static_cast(elf_mapped_base); - const ElfW(Ehdr) *elf_header = - reinterpret_cast(elf_base); - if (memcmp(elf_header, ELFMAG, SELFMAG) != 0) - return false; - *text_start = NULL; - *text_size = 0; - const ElfW(Shdr) *sections = - reinterpret_cast(elf_base + elf_header->e_shoff); - const char *text_section_name = ".text"; - int name_len = strlen(text_section_name); - const ElfW(Shdr) *string_section = sections + elf_header->e_shstrndx; - const ElfW(Shdr) *text_section = NULL; - for (int i = 0; i < elf_header->e_shnum; ++i) { - if (sections[i].sh_type == SHT_PROGBITS) { - const char *section_name = (char*)(elf_base + - string_section->sh_offset + - sections[i].sh_name); - if (!strncmp(section_name, text_section_name, name_len)) { - text_section = §ions[i]; - break; - } - } - } - if (text_section != NULL && text_section->sh_size > 0) { - int text_section_size = text_section->sh_size; - *text_start = elf_base + text_section->sh_offset; - *text_size = text_section_size; - } - return true; -} - -FileID::FileID(const char *path) { - strncpy(path_, path, sizeof(path_)); -} - -bool FileID::ElfFileIdentifier(unsigned char identifier[16]) { - int fd = open(path_, O_RDONLY); - if (fd < 0) - return false; - struct stat st; - if (fstat(fd, &st) != 0 && st.st_size <= 0) { - close(fd); - return false; - } - void *base = mmap(NULL, st.st_size, - PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0); - if (!base) { - close(fd); - return false; - } - bool success = false; - const void *text_section = NULL; - int text_size = 0; - if (FindElfTextSection(base, &text_section, &text_size) && (text_size > 0)) { - struct MD5Context md5; - MD5Init(&md5); - MD5Update(&md5, - static_cast(text_section), - text_size); - MD5Final(identifier, &md5); - success = true; - } - - close(fd); - munmap(base, st.st_size); - return success; -} - -// static -void FileID::ConvertIdentifierToString(const unsigned char identifier[16], - char *buffer, int buffer_length) { - int buffer_idx = 0; - for (int idx = 0; (buffer_idx < buffer_length) && (idx < 16); ++idx) { - int hi = (identifier[idx] >> 4) & 0x0F; - int lo = (identifier[idx]) & 0x0F; - - if (idx == 4 || idx == 6 || idx == 8 || idx == 10) - buffer[buffer_idx++] = '-'; - - buffer[buffer_idx++] = (hi >= 10) ? 'A' + hi - 10 : '0' + hi; - buffer[buffer_idx++] = (lo >= 10) ? 'A' + lo - 10 : '0' + lo; - } - - // NULL terminate - buffer[(buffer_idx < buffer_length) ? buffer_idx : buffer_idx - 1] = 0; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/common/linux/file_id.h b/toolkit/airbag/airbag/src/common/linux/file_id.h deleted file mode 100644 index 5e1cd6e1a001..000000000000 --- a/toolkit/airbag/airbag/src/common/linux/file_id.h +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// file_id.h: Return a unique identifier for a file -// - -#ifndef COMMON_LINUX_FILE_ID_H__ -#define COMMON_LINUX_FILE_ID_H__ - -#include - -namespace google_breakpad { - -class FileID { - public: - FileID(const char *path); - ~FileID() {}; - - // Load the identifier for the elf file path specified in the constructor into - // |identifier|. Return false if the identifier could not be created for the - // file. - // The current implementation will return the MD5 hash of the file's bytes. - bool ElfFileIdentifier(unsigned char identifier[16]); - - // Convert the |identifier| data to a NULL terminated string. The string will - // be formatted as a UUID (e.g., 22F065BB-FC9C-49F7-80FE-26A7CEBD7BCE). - // The |buffer| should be at least 37 bytes long to receive all of the data - // and termination. Shorter buffers will contain truncated data. - static void ConvertIdentifierToString(const unsigned char identifier[16], - char *buffer, int buffer_length); - - private: - // Storage for the path specified - char path_[PATH_MAX]; -}; - -} // namespace google_breakpad - -#endif // COMMON_LINUX_FILE_ID_H__ - diff --git a/toolkit/airbag/airbag/src/common/linux/guid_creator.cc b/toolkit/airbag/airbag/src/common/linux/guid_creator.cc deleted file mode 100644 index d133c6b05a87..000000000000 --- a/toolkit/airbag/airbag/src/common/linux/guid_creator.cc +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include -#include -#include -#include - -#include "common/linux/guid_creator.h" - -// -// GUIDGenerator -// -// This class is used to generate random GUID. -// Currently use random number to generate a GUID since Linux has -// no native GUID generator. This should be OK since we don't expect -// crash to happen very offen. -// -class GUIDGenerator { - public: - GUIDGenerator() { - srandom(time(NULL)); - } - - bool CreateGUID(GUID *guid) const { - guid->data1 = random(); - guid->data2 = (u_int16_t)(random()); - guid->data3 = (u_int16_t)(random()); - *reinterpret_cast(&guid->data4[0]) = random(); - *reinterpret_cast(&guid->data4[4]) = random(); - return true; - } -}; - -// Guid generator. -const GUIDGenerator kGuidGenerator; - -bool CreateGUID(GUID *guid) { - return kGuidGenerator.CreateGUID(guid); -} - -// Parse guid to string. -bool GUIDToString(const GUID *guid, char *buf, int buf_len) { - // Should allow more space the the max length of GUID. - assert(buf_len > kGUIDStringLength); - int num = snprintf(buf, buf_len, kGUIDFormatString, - guid->data1, guid->data2, guid->data3, - *reinterpret_cast(&(guid->data4[0])), - *reinterpret_cast(&(guid->data4[4]))); - if (num != kGUIDStringLength) - return false; - - buf[num] = '\0'; - return true; -} diff --git a/toolkit/airbag/airbag/src/common/linux/guid_creator.h b/toolkit/airbag/airbag/src/common/linux/guid_creator.h deleted file mode 100644 index c86d856c4d44..000000000000 --- a/toolkit/airbag/airbag/src/common/linux/guid_creator.h +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#ifndef COMMON_LINUX_GUID_CREATOR_H__ -#define COMMON_LINUX_GUID_CREATOR_H__ - -#include "google_breakpad/common/minidump_format.h" - -typedef MDGUID GUID; - -// Format string for parsing GUID. -#define kGUIDFormatString "%08x-%04x-%04x-%08x-%08x" -// Length of GUID string. Don't count the ending '\0'. -#define kGUIDStringLength 36 - -// Create a guid. -bool CreateGUID(GUID *guid); - -// Get the string from guid. -bool GUIDToString(const GUID *guid, char *buf, int buf_len); - -#endif diff --git a/toolkit/airbag/airbag/src/common/linux/http_upload.cc b/toolkit/airbag/airbag/src/common/linux/http_upload.cc deleted file mode 100644 index 8556cfc0d1b8..000000000000 --- a/toolkit/airbag/airbag/src/common/linux/http_upload.cc +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include -#include -#include - -#include "common/linux/http_upload.h" - -namespace { - -// Callback to get the response data from server. -static size_t WriteCallback(void *ptr, size_t size, - size_t nmemb, void *userp) { - if (!userp) - return 0; - - std::string *response = reinterpret_cast(userp); - size_t real_size = size * nmemb; - response->append(reinterpret_cast(ptr), real_size); - return real_size; -} - -} // namespace - -namespace google_breakpad { - -static const char kUserAgent[] = "Breakpad/1.0 (Linux)"; - -// static -bool HTTPUpload::SendRequest(const string &url, - const map ¶meters, - const string &upload_file, - const string &file_part_name, - const string &proxy, - const string &proxy_user_pwd, - string *response_body) { - if (!CheckParameters(parameters)) - return false; - - CURL *curl = curl_easy_init(); - CURLcode err_code = CURLE_OK; - - if (curl) { - curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); - curl_easy_setopt(curl, CURLOPT_USERAGENT, kUserAgent); - // Set proxy information if necessary. - if (!proxy.empty()) - curl_easy_setopt(curl, CURLOPT_PROXY, proxy.c_str()); - if (!proxy_user_pwd.empty()) - curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, proxy_user_pwd.c_str()); - - struct curl_httppost *formpost = NULL; - struct curl_httppost *lastptr = NULL; - // Add form data. - map::const_iterator iter = parameters.begin(); - for (; iter != parameters.end(); ++iter) - curl_formadd(&formpost, &lastptr, - CURLFORM_COPYNAME, iter->first.c_str(), - CURLFORM_COPYCONTENTS, iter->second.c_str(), - CURLFORM_END); - - // Add form file. - curl_formadd(&formpost, &lastptr, - CURLFORM_COPYNAME, file_part_name.c_str(), - CURLFORM_FILE, upload_file.c_str(), - CURLFORM_END); - - curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost); - - // Disable 100-continue header. - struct curl_slist *headerlist = NULL; - char buf[] = "Expect:"; - headerlist = curl_slist_append(headerlist, buf); - curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist); - - if (response_body != NULL) { - curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback); - curl_easy_setopt(curl, CURLOPT_WRITEDATA, - reinterpret_cast(response_body)); - } - - err_code = curl_easy_perform(curl); -#ifndef NDEBUG - if (err_code != CURLE_OK) - fprintf(stderr, "Failed to send http request to %s, error: %s\n", - url.c_str(), - curl_easy_strerror(err_code)); -#endif - - if (curl != NULL) - curl_easy_cleanup(curl); - if (formpost != NULL) - curl_formfree(formpost); - if (headerlist != NULL) - curl_slist_free_all(headerlist); - return err_code == CURLE_OK; - } - return false; -} - -// static -bool HTTPUpload::CheckParameters(const map ¶meters) { - for (map::const_iterator pos = parameters.begin(); - pos != parameters.end(); ++pos) { - const string &str = pos->first; - if (str.size() == 0) - return false; // disallow empty parameter names - for (unsigned int i = 0; i < str.size(); ++i) { - int c = str[i]; - if (c < 32 || c == '"' || c > 127) { - return false; - } - } - } - return true; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/common/linux/http_upload.h b/toolkit/airbag/airbag/src/common/linux/http_upload.h deleted file mode 100644 index 040fd2de1a46..000000000000 --- a/toolkit/airbag/airbag/src/common/linux/http_upload.h +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// HTTPUpload provides a "nice" API to send a multipart HTTP(S) POST -// request using libcurl. It currently supports requests that contain -// a set of string parameters (key/value pairs), and a file to upload. - -#ifndef COMMON_LINUX_HTTP_UPLOAD_H__ -#define COMMON_LINUX_HTTP_UPLOAD_H__ - -#include -#include - -namespace google_breakpad { - -using std::string; -using std::map; - -class HTTPUpload { - public: - // Sends the given set of parameters, along with the contents of - // upload_file, as a multipart POST request to the given URL. - // file_part_name contains the name of the file part of the request - // (i.e. it corresponds to the name= attribute on an . - // Parameter names must contain only printable ASCII characters, - // and may not contain a quote (") character. - // Only HTTP(S) URLs are currently supported. Returns true on success. - // If the request is successful and response_body is non-NULL, - // the response body will be returned in response_body. - static bool SendRequest(const string &url, - const map ¶meters, - const string &upload_file, - const string &file_part_name, - const string &proxy, - const string &proxy_user_pwd, - string *response_body); - - private: - // Checks that the given list of parameters has only printable - // ASCII characters in the parameter name, and does not contain - // any quote (") characters. Returns true if so. - static bool CheckParameters(const map ¶meters); - - // No instances of this class should be created. - // Disallow all constructors, destructors, and operator=. - HTTPUpload(); - explicit HTTPUpload(const HTTPUpload &); - void operator=(const HTTPUpload &); - ~HTTPUpload(); -}; - -} // namespace google_breakpad - -#endif // COMMON_LINUX_HTTP_UPLOAD_H__ diff --git a/toolkit/airbag/airbag/src/common/linux/md5.c b/toolkit/airbag/airbag/src/common/linux/md5.c deleted file mode 100644 index 60c1a782e4ff..000000000000 --- a/toolkit/airbag/airbag/src/common/linux/md5.c +++ /dev/null @@ -1,246 +0,0 @@ -/* - * written by Colin Plumb in 1993, no copyright is claimed. - * This code is in the public domain; do with it what you wish. - * - * Equivalent code is available from RSA Data Security, Inc. - * This code has been tested against that, and is equivalent, - * except that you don't need to include two pages of legalese - * with every copy. - * - * To compute the message digest of a chunk of bytes, declare an - * MD5Context structure, pass it to MD5Init, call MD5Update as - * needed on buffers full of bytes, and then call MD5Final, which - * will fill a supplied 16-byte array with the digest. - */ - -#include - -#include "common/linux/md5.h" - -#ifndef WORDS_BIGENDIAN -#define byteReverse(buf, len) /* Nothing */ -#else -/* - * Note: this code is harmless on little-endian machines. - */ -static void byteReverse(unsigned char *buf, unsigned longs) -{ - u32 t; - do { - t = (u32) ((unsigned) buf[3] << 8 | buf[2]) << 16 | - ((unsigned) buf[1] << 8 | buf[0]); - *(u32 *) buf = t; - buf += 4; - } while (--longs); -} -#endif - -static void MD5Transform(u32 buf[4], u32 const in[16]); - -/* - * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious - * initialization constants. - */ -void MD5Init(struct MD5Context *ctx) -{ - ctx->buf[0] = 0x67452301; - ctx->buf[1] = 0xefcdab89; - ctx->buf[2] = 0x98badcfe; - ctx->buf[3] = 0x10325476; - - ctx->bits[0] = 0; - ctx->bits[1] = 0; -} - -/* - * Update context to reflect the concatenation of another buffer full - * of bytes. - */ -void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len) -{ - u32 t; - - /* Update bitcount */ - - t = ctx->bits[0]; - if ((ctx->bits[0] = t + ((u32) len << 3)) < t) - ctx->bits[1]++; /* Carry from low to high */ - ctx->bits[1] += len >> 29; - - t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */ - - /* Handle any leading odd-sized chunks */ - - if (t) { - unsigned char *p = (unsigned char *) ctx->in + t; - - t = 64 - t; - if (len < t) { - memcpy(p, buf, len); - return; - } - memcpy(p, buf, t); - byteReverse(ctx->in, 16); - MD5Transform(ctx->buf, (u32 *) ctx->in); - buf += t; - len -= t; - } - /* Process data in 64-byte chunks */ - - while (len >= 64) { - memcpy(ctx->in, buf, 64); - byteReverse(ctx->in, 16); - MD5Transform(ctx->buf, (u32 *) ctx->in); - buf += 64; - len -= 64; - } - - /* Handle any remaining bytes of data. */ - - memcpy(ctx->in, buf, len); -} - -/* - * Final wrapup - pad to 64-byte boundary with the bit pattern - * 1 0* (64-bit count of bits processed, MSB-first) - */ -void MD5Final(unsigned char digest[16], struct MD5Context *ctx) -{ - unsigned count; - unsigned char *p; - - /* Compute number of bytes mod 64 */ - count = (ctx->bits[0] >> 3) & 0x3F; - - /* Set the first char of padding to 0x80. This is safe since there is - always at least one byte free */ - p = ctx->in + count; - *p++ = 0x80; - - /* Bytes of padding needed to make 64 bytes */ - count = 64 - 1 - count; - - /* Pad out to 56 mod 64 */ - if (count < 8) { - /* Two lots of padding: Pad the first block to 64 bytes */ - memset(p, 0, count); - byteReverse(ctx->in, 16); - MD5Transform(ctx->buf, (u32 *) ctx->in); - - /* Now fill the next block with 56 bytes */ - memset(ctx->in, 0, 56); - } else { - /* Pad block to 56 bytes */ - memset(p, 0, count - 8); - } - byteReverse(ctx->in, 14); - - /* Append length in bits and transform */ - ((u32 *) ctx->in)[14] = ctx->bits[0]; - ((u32 *) ctx->in)[15] = ctx->bits[1]; - - MD5Transform(ctx->buf, (u32 *) ctx->in); - byteReverse((unsigned char *) ctx->buf, 4); - memcpy(digest, ctx->buf, 16); - memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */ -} - -/* The four core functions - F1 is optimized somewhat */ - -/* #define F1(x, y, z) (x & y | ~x & z) */ -#define F1(x, y, z) (z ^ (x & (y ^ z))) -#define F2(x, y, z) F1(z, x, y) -#define F3(x, y, z) (x ^ y ^ z) -#define F4(x, y, z) (y ^ (x | ~z)) - -/* This is the central step in the MD5 algorithm. */ -#define MD5STEP(f, w, x, y, z, data, s) \ - ( w += f(x, y, z) + data, w = w<>(32-s), w += x ) - -/* - * The core of the MD5 algorithm, this alters an existing MD5 hash to - * reflect the addition of 16 longwords of new data. MD5Update blocks - * the data and converts bytes into longwords for this routine. - */ -static void MD5Transform(u32 buf[4], u32 const in[16]) -{ - register u32 a, b, c, d; - - a = buf[0]; - b = buf[1]; - c = buf[2]; - d = buf[3]; - - MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17); - MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9); - MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21); - - buf[0] += a; - buf[1] += b; - buf[2] += c; - buf[3] += d; -} diff --git a/toolkit/airbag/airbag/src/common/linux/md5.h b/toolkit/airbag/airbag/src/common/linux/md5.h deleted file mode 100644 index 03a13d6f9d26..000000000000 --- a/toolkit/airbag/airbag/src/common/linux/md5.h +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2007 Google Inc. All Rights Reserved. -// Author: liuli@google.com (Liu Li) -#ifndef COMMON_LINUX_MD5_H__ -#define COMMON_LINUX_MD5_H__ - -#include - -typedef uint32_t u32; -typedef uint8_t u8; - -struct MD5Context { - u32 buf[4]; - u32 bits[2]; - u8 in[64]; -}; - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -void MD5Init(struct MD5Context *ctx); - -void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len); - -void MD5Final(unsigned char digest[16], struct MD5Context *ctx); - -#ifdef __cplusplus -} -#endif - -#endif // COMMON_LINUX_MD5_H__ diff --git a/toolkit/airbag/airbag/src/common/mac/HTTPMultipartUpload.h b/toolkit/airbag/airbag/src/common/mac/HTTPMultipartUpload.h deleted file mode 100644 index 95f259b9259f..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/HTTPMultipartUpload.h +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// HTTPMultipartUpload: A multipart/form-data HTTP uploader. -// Each parameter pair is sent as a boundary -// Each file is sent with a name field in addition to the filename and data -// The data will be sent synchronously. - -#import - -@interface HTTPMultipartUpload : NSObject { - @protected - NSURL *url_; // The destination URL (STRONG) - NSDictionary *parameters_; // The key/value pairs for sending data (STRONG) - NSMutableDictionary *files_; // Dictionary of name/file-path (STRONG) - NSString *boundary_; // The boundary string (STRONG) - NSHTTPURLResponse *response_; // The response from the send (STRONG) -} - -- (id)initWithURL:(NSURL *)url; - -- (NSURL *)URL; - -- (void)setParameters:(NSDictionary *)parameters; -- (NSDictionary *)parameters; - -- (void)addFileAtPath:(NSString *)path name:(NSString *)name; -- (void)addFileContents:(NSData *)data name:(NSString *)name; -- (NSDictionary *)files; - -// Set the data and return the response -- (NSData *)send:(NSError **)error; -- (NSHTTPURLResponse *)response; - -@end diff --git a/toolkit/airbag/airbag/src/common/mac/HTTPMultipartUpload.m b/toolkit/airbag/airbag/src/common/mac/HTTPMultipartUpload.m deleted file mode 100644 index d128995340b4..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/HTTPMultipartUpload.m +++ /dev/null @@ -1,198 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#import "HTTPMultipartUpload.h" - -@interface HTTPMultipartUpload(PrivateMethods) -- (NSString *)multipartBoundary; -- (NSData *)formDataForKey:(NSString *)key value:(NSString *)value; -- (NSData *)formDataForFileContents:(NSData *)contents name:(NSString *)name; -- (NSData *)formDataForFile:(NSString *)file name:(NSString *)name; -@end - -@implementation HTTPMultipartUpload -//============================================================================= -#pragma mark - -#pragma mark || Private || -//============================================================================= -- (NSString *)multipartBoundary { - // The boundary has 27 '-' characters followed by 16 hex digits - return [NSString stringWithFormat:@"---------------------------%08X%08X", - rand(), rand()]; -} - -//============================================================================= -- (NSData *)formDataForKey:(NSString *)key value:(NSString *)value { - NSString *escaped = - [key stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; - NSString *fmt = - @"--%@\r\nContent-Disposition: form-data; name=\"%@\"\r\n\r\n%@\r\n"; - NSString *form = [NSString stringWithFormat:fmt, boundary_, escaped, value]; - - return [form dataUsingEncoding:NSUTF8StringEncoding]; -} - -//============================================================================= -- (NSData *)formDataForFileContents:(NSData *)contents name:(NSString *)name { - NSMutableData *data = [NSMutableData data]; - NSString *escaped = - [name stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; - NSString *fmt = @"--%@\r\nContent-Disposition: form-data; name=\"%@\"; " - "filename=\"minidump.dmp\"\r\nContent-Type: application/octet-stream\r\n\r\n"; - NSString *pre = [NSString stringWithFormat:fmt, boundary_, escaped]; - NSString *post = [NSString stringWithFormat:@"\r\n--%@--\r\n", boundary_]; - - [data appendData:[pre dataUsingEncoding:NSUTF8StringEncoding]]; - [data appendData:contents]; - [data appendData:[post dataUsingEncoding:NSUTF8StringEncoding]]; - - return data; -} - -//============================================================================= -- (NSData *)formDataForFile:(NSString *)file name:(NSString *)name { - NSData *contents = [NSData dataWithContentsOfFile:file]; - - return [self formDataForFileContents:contents name:name]; -} - -//============================================================================= -#pragma mark - -#pragma mark || Public || -//============================================================================= -- (id)initWithURL:(NSURL *)url { - if ((self = [super init])) { - url_ = [url copy]; - boundary_ = [[self multipartBoundary] retain]; - files_ = [[NSMutableDictionary alloc] init]; - } - - return self; -} - -//============================================================================= -- (void)dealloc { - [url_ release]; - [parameters_ release]; - [files_ release]; - [boundary_ release]; - [response_ release]; - - [super dealloc]; -} - -//============================================================================= -- (NSURL *)URL { - return url_; -} - -//============================================================================= -- (void)setParameters:(NSDictionary *)parameters { - if (parameters != parameters_) { - [parameters_ release]; - parameters_ = [parameters copy]; - } -} - -//============================================================================= -- (NSDictionary *)parameters { - return parameters_; -} - -//============================================================================= -- (void)addFileAtPath:(NSString *)path name:(NSString *)name { - [files_ setObject:path forKey:name]; -} - -//============================================================================= -- (void)addFileContents:(NSData *)data name:(NSString *)name { - [files_ setObject:data forKey:name]; -} - -//============================================================================= -- (NSDictionary *)files { - return files_; -} - -//============================================================================= -- (NSData *)send:(NSError **)error { - NSMutableURLRequest *req = - [[NSMutableURLRequest alloc] - initWithURL:url_ cachePolicy:NSURLRequestUseProtocolCachePolicy - timeoutInterval:10.0 ]; - - NSMutableData *postBody = [NSMutableData data]; - int i, count; - - [req setValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@", - boundary_] forHTTPHeaderField:@"Content-type"]; - - // Add any parameters to the message - NSArray *parameterKeys = [parameters_ allKeys]; - NSString *key; - - count = [parameterKeys count]; - for (i = 0; i < count; ++i) { - key = [parameterKeys objectAtIndex:i]; - [postBody appendData:[self formDataForKey:key - value:[parameters_ objectForKey:key]]]; - } - - // Add any files to the message - NSArray *fileNames = [files_ allKeys]; - count = [fileNames count]; - for (i = 0; i < count; ++i) { - NSString *name = [fileNames objectAtIndex:i]; - id fileOrData = [files_ objectForKey:name]; - NSData *fileData; - - // The object can be either the path to a file (NSString) or the contents - // of the file (NSData). - if ([fileOrData isKindOfClass:[NSData class]]) - fileData = [self formDataForFileContents:fileOrData name:name]; - else - fileData = [self formDataForFile:fileOrData name:name]; - - [postBody appendData:fileData]; - } - - [req setHTTPBody:postBody]; - [req setHTTPMethod:@"POST"]; - - return [NSURLConnection sendSynchronousRequest:req - returningResponse:&response_ - error:error]; -} - -//============================================================================= -- (NSHTTPURLResponse *)response { - return response_; -} - -@end diff --git a/toolkit/airbag/airbag/src/common/mac/Makefile.in b/toolkit/airbag/airbag/src/common/mac/Makefile.in deleted file mode 100644 index c0bdbccc3438..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/Makefile.in +++ /dev/null @@ -1,74 +0,0 @@ -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Breakpad integration -# -# The Initial Developer of the Original Code is -# Ted Mielczarek -# Portions created by the Initial Developer are Copyright (C) 2007 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = breakpad_mac_common -LIBRARY_NAME = breakpad_mac_common_s -HOST_LIBRARY_NAME = host_breakpad_mac_common_s - -LOCAL_INCLUDES = -I$(srcdir)/../.. - -# This is a little weird, but we're building a host and a target lib here. -# The host lib is used for dump_syms, and the target lib for the -# crash reporter client. Therefore, we don't need all the srcs in both. -CPPSRCS = \ - file_id.cc \ - macho_id.cc \ - macho_walker.cc \ - string_utilities.cc \ - macho_utilities.cc \ - $(NULL) - -CMSRCS = \ - HTTPMultipartUpload.m \ - $(NULL) - -HOST_CPPSRCS = $(CPPSRCS) - -HOST_CMMSRCS = \ - dump_syms.mm \ - $(NULL) - -# need static lib -FORCE_STATIC_LIB = 1 - -include $(topsrcdir)/config/rules.mk diff --git a/toolkit/airbag/airbag/src/common/mac/dump_syms.h b/toolkit/airbag/airbag/src/common/mac/dump_syms.h deleted file mode 100644 index 1b2bedc79093..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/dump_syms.h +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// dump_syms.h: Interface for DumpSymbols. This class will take a mach-o file -// and extract the symbol information and write it to a file using the -// breakpad symbol file format. -// NOTE: Only Stabs format is currently supported -- not DWARF. - -#import - -@interface DumpSymbols : NSObject { - @protected - NSString *sourcePath_; // Source of symbols (STRONG) - NSString *architecture_; // Architecture to extract (STRONG) - NSMutableDictionary *addresses_; // Addresses and symbols (STRONG) - NSMutableSet *functionAddresses_; // Function addresses (STRONG) - NSMutableDictionary *sources_; // Address and Source file paths (STRONG) - NSMutableArray *cppAddresses_; // Addresses of C++ symbols (STRONG) - NSMutableDictionary *headers_; // Mach-o header information (STRONG) - NSMutableDictionary *sectionNumbers_; // Keyed by seg/sect name (STRONG) - uint32_t lastStartAddress_; -} - -- (id)initWithContentsOfFile:(NSString *)machoFile; - -- (NSArray *)availableArchitectures; - -// One of ppc, x86, i386, ppc64, x86_64 -// If the architecture is not available, it will return NO -// If not set, the native architecture will be used -- (BOOL)setArchitecture:(NSString *)architecture; -- (NSString *)architecture; - -// Write the symbols to |symbolFilePath|. Return YES if successful. -- (BOOL)writeSymbolFile:(NSString *)symbolFilePath; - -@end diff --git a/toolkit/airbag/airbag/src/common/mac/dump_syms.mm b/toolkit/airbag/airbag/src/common/mac/dump_syms.mm deleted file mode 100644 index 7b5e8e63e148..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/dump_syms.mm +++ /dev/null @@ -1,920 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// dump_syms.mm: Create a symbol file for use with minidumps - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#import - -#import "dump_syms.h" -#import "common/mac/file_id.h" -#import "common/mac/macho_utilities.h" - -using google_breakpad::FileID; - -static NSString *kAddressSymbolKey = @"symbol"; -static NSString *kAddressConvertedSymbolKey = @"converted_symbol"; -static NSString *kAddressSourceLineKey = @"line"; -static NSString *kFunctionSizeKey = @"size"; -static NSString *kHeaderBaseAddressKey = @"baseAddr"; -static NSString *kHeaderSizeKey = @"size"; -static NSString *kHeaderOffsetKey = @"offset"; // Offset to the header -static NSString *kHeaderIs64BitKey = @"is64"; -static NSString *kHeaderCPUTypeKey = @"cpuType"; -static NSString *kUnknownSymbol = @"???"; - -// The section for __TEXT, __text seems to be always 1. This is useful -// for pruning out extraneous non-function symbols. -static const int kTextSection = 1; - -@interface DumpSymbols(PrivateMethods) -- (NSArray *)convertCPlusPlusSymbols:(NSArray *)symbols; -- (void)convertSymbols; -- (void)addFunction:(NSString *)name line:(int)line address:(uint64_t)address section:(int)section; -- (BOOL)processSymbolItem:(struct nlist_64 *)list stringTable:(char *)table; -- (BOOL)loadSymbolInfo:(void *)base offset:(uint32_t)offset; -- (BOOL)loadSymbolInfo64:(void *)base offset:(uint32_t)offset; -- (BOOL)loadSymbolInfoForArchitecture; -- (void)generateSectionDictionary:(struct mach_header*)header; -- (BOOL)loadHeader:(void *)base offset:(uint32_t)offset; -- (BOOL)loadHeader64:(void *)base offset:(uint32_t)offset; -- (BOOL)loadModuleInfo; -@end - -@implementation DumpSymbols -//============================================================================= -- (NSArray *)convertCPlusPlusSymbols:(NSArray *)symbols { - NSMutableArray *symbols_demangled = [[NSMutableArray alloc] - initWithCapacity:[symbols count]]; - // __cxa_demangle will realloc this if needed - char *buffer = (char *)malloc(1024); - size_t buffer_size = 1024; - int result; - - NSEnumerator *enumerator = [symbols objectEnumerator]; - id symbolObject; - while ((symbolObject = [enumerator nextObject])) { - const char *symbol = [symbolObject UTF8String]; - buffer = abi::__cxa_demangle(symbol, buffer, &buffer_size, &result); - if (result == 0) { - [symbols_demangled addObject:[NSString stringWithUTF8String:buffer]]; - } else { - // unable to demangle - use mangled name instead - [symbols_demangled addObject:symbolObject]; - } - } - free(buffer); - - return symbols_demangled; -} - -//============================================================================= -- (void)convertSymbols { - unsigned int count = [cppAddresses_ count]; - NSMutableArray *symbols = [[NSMutableArray alloc] initWithCapacity:count]; - - // Sort addresses for processing - NSArray *addresses = [cppAddresses_ sortedArrayUsingSelector: - @selector(compare:)]; - - for (unsigned int i = 0; i < count; ++i) { - NSMutableDictionary *dict = [addresses_ objectForKey: - [addresses objectAtIndex:i]]; - NSString *symbol = [dict objectForKey:kAddressSymbolKey]; - - // Make sure that the symbol is valid - if ([symbol length] < 1) - symbol = kUnknownSymbol; - - [symbols addObject:symbol]; - } - - // In order to deal with crashing problems in c++filt, we setup - // a while loop to handle the case where convertCPlusPlusSymbols - // only returns partial results. - // We then attempt to continue from the point where c++filt failed - // and add the partial results to the total results until we're - // completely done. - - unsigned int totalIndex = 0; - unsigned int totalCount = count; - - while (totalIndex < totalCount) { - NSRange range = NSMakeRange(totalIndex, totalCount - totalIndex); - NSArray *subarray = [symbols subarrayWithRange:range]; - NSArray *converted = [self convertCPlusPlusSymbols:subarray]; - unsigned int convertedCount = [converted count]; - - if (convertedCount == 0) { - break; // we give up at this point - } - - for (unsigned int convertedIndex = 0; - convertedIndex < convertedCount && totalIndex < totalCount; - ++totalIndex, ++convertedIndex) { - NSMutableDictionary *dict = [addresses_ objectForKey: - [addresses objectAtIndex:totalIndex]]; - NSString *symbol = [converted objectAtIndex:convertedIndex]; - - // Only add if this is a non-zero length symbol - if ([symbol length]) - [dict setObject:symbol forKey:kAddressConvertedSymbolKey]; - } - } - - [symbols release]; -} - -//============================================================================= -- (void)addFunction:(NSString *)name line:(int)line address:(uint64_t)address section:(int)section { - NSNumber *addressNum = [NSNumber numberWithUnsignedLongLong:address]; - - if (!address) - return; - - // If the function starts with "_Z" or "__Z" then add it to the list of - // addresses to run through the c++filt - BOOL isCPP = NO; - - if ([name hasPrefix:@"__Z"]) { - // Remove the leading underscore - name = [name substringFromIndex:1]; - isCPP = YES; - } else if ([name hasPrefix:@"_Z"]) { - isCPP = YES; - } - - // Filter out non-functions - if ([name hasSuffix:@".eh"]) - return; - - if ([name hasSuffix:@"__func__"]) - return; - - if ([name hasSuffix:@"GCC_except_table"]) - return; - - if (isCPP) { - // OBJCPP_MANGLING_HACK - // There are cases where ObjC++ mangles up an ObjC name using quasi-C++ - // mangling: - // @implementation Foozles + (void)barzles { - // static int Baz = 0; - // } @end - // gives you _ZZ18+[Foozles barzles]E3Baz - // c++filt won't parse this properly, and will crash in certain cases. - // Logged as radar: - // 5129938: c++filt does not deal with ObjC++ symbols - // If 5129938 ever gets fixed, we can remove this, but for now this prevents - // c++filt from attempting to demangle names it doesn't know how to handle. - // This is with c++filt 2.16 - NSCharacterSet *objcppCharSet = [NSCharacterSet characterSetWithCharactersInString:@"-+[]: "]; - NSRange emptyRange = { NSNotFound, 0 }; - NSRange objcppRange = [name rangeOfCharacterFromSet:objcppCharSet]; - isCPP = NSEqualRanges(objcppRange, emptyRange); - } - - if (isCPP) { - if (!cppAddresses_) - cppAddresses_ = [[NSMutableArray alloc] init]; - [cppAddresses_ addObject:addressNum]; - } else if ([name characterAtIndex:0] == '_') { - // Remove the leading underscore - name = [name substringFromIndex:1]; - } - - // If there's already an entry for this address, check and see if we can add - // either the symbol, or a missing line # - NSMutableDictionary *dict = [addresses_ objectForKey:addressNum]; - - if (!dict) { - dict = [[NSMutableDictionary alloc] init]; - [addresses_ setObject:dict forKey:addressNum]; - [dict release]; - } - - if (name && ![dict objectForKey:kAddressSymbolKey]) { - [dict setObject:name forKey:kAddressSymbolKey]; - - // only functions, not line number addresses - [functionAddresses_ addObject:addressNum]; - } - - if (line && ![dict objectForKey:kAddressSourceLineKey]) - [dict setObject:[NSNumber numberWithUnsignedInt:line] - forKey:kAddressSourceLineKey]; -} - -//============================================================================= -- (BOOL)processSymbolItem:(struct nlist_64 *)list stringTable:(char *)table { - uint32_t n_strx = list->n_un.n_strx; - BOOL result = NO; - - // We don't care about non-section specific information except function length - if (list->n_sect == 0 && list->n_type != N_FUN ) - return NO; - - if (list->n_type == N_FUN) { - if (list->n_sect != 0) { - // we get the function address from the first N_FUN - lastStartAddress_ = list->n_value; - } - else { - // an N_FUN from section 0 may follow the initial N_FUN - // giving us function length information - NSMutableDictionary *dict = [addresses_ objectForKey: - [NSNumber numberWithUnsignedLong:lastStartAddress_]]; - - assert(dict); - - // only set the function size the first time - // (sometimes multiple section 0 N_FUN entries appear!) - if (![dict objectForKey:kFunctionSizeKey]) { - [dict setObject:[NSNumber numberWithUnsignedLongLong:list->n_value] - forKey:kFunctionSizeKey]; - } - } - } - - int line = list->n_desc; - - // __TEXT __text section - uint32_t mainSection = [[sectionNumbers_ objectForKey:@"__TEXT__text" ] unsignedLongValue]; - - // Extract debugging information: - // Doc: http://developer.apple.com/documentation/DeveloperTools/gdb/stabs/stabs_toc.html - // Header: /usr/include/mach-o/stab.h: - if (list->n_type == N_SO) { - NSString *src = [NSString stringWithUTF8String:&table[n_strx]]; - NSString *ext = [src pathExtension]; - NSNumber *address = [NSNumber numberWithUnsignedLongLong:list->n_value]; - - // TODO(waylonis):Ensure that we get the full path for the source file - // from the first N_SO record - // If there is an extension, we'll consider it source code - if ([ext length]) { - if (!sources_) - sources_ = [[NSMutableDictionary alloc] init]; - // Save the source associated with an address - [sources_ setObject:src forKey:address]; - - result = YES; - } - } else if (list->n_type == N_FUN) { - NSString *fn = [NSString stringWithUTF8String:&table[n_strx]]; - NSRange range = [fn rangeOfString:@":" options:NSBackwardsSearch]; - - if (![fn length] || !range.length) - return NO; - - // The function has a ":" followed by some stuff - fn = [fn substringToIndex:range.location]; - [self addFunction:fn line:line address:list->n_value section:list->n_sect ]; - - result = YES; - } else if (list->n_type == N_SLINE && list->n_sect == mainSection ) { - [self addFunction:nil line:line address:list->n_value section:list->n_sect ]; - result = YES; - } else if (((list->n_type & N_TYPE) == N_SECT) && !(list->n_type & N_STAB)) { - // Regular symbols or ones that are external - NSString *fn = [NSString stringWithUTF8String:&table[n_strx]]; - - [self addFunction:fn line:0 address:list->n_value section:list->n_sect ]; - result = YES; - } - - return result; -} - -#define SwapLongLongIfNeeded(a) (swap ? NXSwapLongLong(a) : (a)) -#define SwapLongIfNeeded(a) (swap ? NXSwapLong(a) : (a)) -#define SwapIntIfNeeded(a) (swap ? NXSwapInt(a) : (a)) -#define SwapShortIfNeeded(a) (swap ? NXSwapShort(a) : (a)) -//============================================================================= -- (BOOL)loadSymbolInfo:(void *)base offset:(uint32_t)offset { - struct mach_header *header = (struct mach_header *)((uint32_t)base + offset); - BOOL swap = (header->magic == MH_CIGAM); - uint32_t count = SwapLongIfNeeded(header->ncmds); - struct load_command *cmd = - (struct load_command *)((uint32_t)header + sizeof(struct mach_header)); - uint32_t symbolTableCommand = SwapLongIfNeeded(LC_SYMTAB); - BOOL result = NO; - - if (!addresses_) - addresses_ = [[NSMutableDictionary alloc] init]; - - for (uint32_t i = 0; cmd && (i < count); ++i) { - if (cmd->cmd == symbolTableCommand) { - struct symtab_command *symtab = (struct symtab_command *)cmd; - uint32_t ncmds = SwapLongIfNeeded(symtab->nsyms); - uint32_t symoff = SwapLongIfNeeded(symtab->symoff); - uint32_t stroff = SwapLongIfNeeded(symtab->stroff); - struct nlist *list = (struct nlist *)((uint32_t)base + symoff + offset); - char *strtab = ((char *)header + stroff); - - // Process each command, looking for debugging stuff - for (uint32_t j = 0; j < ncmds; ++j, ++list) { - // Fill in an nlist_64 structure and process with that - struct nlist_64 nlist64; - nlist64.n_un.n_strx = SwapLongIfNeeded(list->n_un.n_strx); - nlist64.n_type = list->n_type; - nlist64.n_sect = list->n_sect; - nlist64.n_desc = SwapShortIfNeeded(list->n_desc); - nlist64.n_value = (uint64_t)SwapLongIfNeeded(list->n_value); - - if ([self processSymbolItem:&nlist64 stringTable:strtab]) - result = YES; - } - } - - uint32_t cmdSize = SwapLongIfNeeded(cmd->cmdsize); - cmd = (struct load_command *)((uint32_t)cmd + cmdSize); - } - - return result; -} - -//============================================================================= -- (BOOL)loadSymbolInfo64:(void *)base offset:(uint32_t)offset { - struct mach_header_64 *header = (struct mach_header_64 *) - ((uint32_t)base + offset); - BOOL swap = (header->magic == MH_CIGAM_64); - uint32_t count = SwapLongIfNeeded(header->ncmds); - struct load_command *cmd = - (struct load_command *)((uint32_t)header + sizeof(struct mach_header)); - uint32_t symbolTableCommand = SwapLongIfNeeded(LC_SYMTAB); - BOOL result = NO; - - for (uint32_t i = 0; cmd && (i < count); i++) { - if (cmd->cmd == symbolTableCommand) { - struct symtab_command *symtab = (struct symtab_command *)cmd; - uint32_t ncmds = SwapLongIfNeeded(symtab->nsyms); - uint32_t symoff = SwapLongIfNeeded(symtab->symoff); - uint32_t stroff = SwapLongIfNeeded(symtab->stroff); - struct nlist_64 *list = (struct nlist_64 *)((uint32_t)base + symoff); - char *strtab = ((char *)header + stroff); - - // Process each command, looking for debugging stuff - for (uint32_t j = 0; j < ncmds; ++j, ++list) { - if (!(list->n_type & (N_STAB | N_TYPE))) - continue; - - // Fill in an nlist_64 structure and process with that - struct nlist_64 nlist64; - nlist64.n_un.n_strx = SwapLongIfNeeded(list->n_un.n_strx); - nlist64.n_type = list->n_type; - nlist64.n_sect = list->n_sect; - nlist64.n_desc = SwapShortIfNeeded(list->n_desc); - nlist64.n_value = SwapLongLongIfNeeded(list->n_value); - - if ([self processSymbolItem:&nlist64 stringTable:strtab]) - result = YES; - } - } - - uint32_t cmdSize = SwapLongIfNeeded(cmd->cmdsize); - cmd = (struct load_command *)((uint32_t)cmd + cmdSize); - } - - return result; -} - -//============================================================================= -- (BOOL)loadSymbolInfoForArchitecture { - NSMutableData *data = [[NSMutableData alloc] - initWithContentsOfMappedFile:sourcePath_]; - NSDictionary *headerInfo = [headers_ objectForKey:architecture_]; - void *base = [data mutableBytes]; - uint32_t offset = - [[headerInfo objectForKey:kHeaderOffsetKey] unsignedLongValue]; - BOOL is64 = [[headerInfo objectForKey:kHeaderIs64BitKey] boolValue]; - BOOL result = is64 ? [self loadSymbolInfo64:base offset:offset] : - [self loadSymbolInfo:base offset:offset]; - - [data release]; - return result; -} - -//============================================================================= -// build a dictionary of section numbers keyed off a string -// which is the concatenation of the segment name and the section name -- (void)generateSectionDictionary:(struct mach_header*)header { - BOOL swap = (header->magic == MH_CIGAM); - uint32_t count = SwapLongIfNeeded(header->ncmds); - struct load_command *cmd = - (struct load_command *)((uint32_t)header + sizeof(struct mach_header)); - uint32_t segmentCommand = SwapLongIfNeeded(LC_SEGMENT); - uint32_t sectionNumber = 1; // section numbers are counted from 1 - - if (!sectionNumbers_) - sectionNumbers_ = [[NSMutableDictionary alloc] init]; - - // loop through every segment command, then through every section - // contained inside each of them - for (uint32_t i = 0; cmd && (i < count); ++i) { - if (cmd->cmd == segmentCommand) { - struct segment_command *seg = (struct segment_command *)cmd; - section *sect = (section *)((uint32_t)cmd + sizeof(segment_command)); - uint32_t nsects = SwapLongIfNeeded(seg->nsects); - - for (uint32_t j = 0; j < nsects; ++j) { - //printf("%d: %s %s\n", sectionNumber, seg->segname, sect->sectname ); - NSString *segSectName = [NSString stringWithFormat:@"%s%s", - seg->segname, sect->sectname ]; - - [sectionNumbers_ setValue:[NSNumber numberWithUnsignedLong:sectionNumber] - forKey:segSectName ]; - - ++sect; - ++sectionNumber; - } - } - - uint32_t cmdSize = SwapLongIfNeeded(cmd->cmdsize); - cmd = (struct load_command *)((uint32_t)cmd + cmdSize); - } -} - -//============================================================================= -- (BOOL)loadHeader:(void *)base offset:(uint32_t)offset { - struct mach_header *header = (struct mach_header *)((uint32_t)base + offset); - BOOL swap = (header->magic == MH_CIGAM); - uint32_t count = SwapLongIfNeeded(header->ncmds); - struct load_command *cmd = - (struct load_command *)((uint32_t)header + sizeof(struct mach_header)); - uint32_t segmentCommand = SwapLongIfNeeded(LC_SEGMENT); - - [self generateSectionDictionary:header]; - - for (uint32_t i = 0; cmd && (i < count); ++i) { - if (cmd->cmd == segmentCommand) { - struct segment_command *seg = (struct segment_command *)cmd; - - if (!strcmp(seg->segname, "__TEXT")) { - uint32_t addr = SwapLongIfNeeded(seg->vmaddr); - uint32_t size = SwapLongIfNeeded(seg->vmsize); - cpu_type_t cpu = SwapIntIfNeeded(header->cputype); - NSString *cpuStr = (cpu == CPU_TYPE_I386) ? @"x86" : @"ppc"; - - [headers_ setObject:[NSDictionary dictionaryWithObjectsAndKeys: - [NSNumber numberWithUnsignedLongLong:(uint64_t)addr], - kHeaderBaseAddressKey, - [NSNumber numberWithUnsignedLongLong:(uint64_t)size], kHeaderSizeKey, - [NSNumber numberWithUnsignedLong:offset], kHeaderOffsetKey, - [NSNumber numberWithBool:NO], kHeaderIs64BitKey, - [NSNumber numberWithUnsignedLong:cpu], kHeaderCPUTypeKey, - nil] forKey:cpuStr]; - - return YES; - } - } - - uint32_t cmdSize = SwapLongIfNeeded(cmd->cmdsize); - cmd = (struct load_command *)((uint32_t)cmd + cmdSize); - } - - return NO; -} - -//============================================================================= -- (BOOL)loadHeader64:(void *)base offset:(uint32_t)offset { - struct mach_header_64 *header = - (struct mach_header_64 *)((uint32_t)base + offset); - BOOL swap = (header->magic == MH_CIGAM_64); - uint32_t count = SwapLongIfNeeded(header->ncmds); - struct load_command *cmd = - (struct load_command *)((uint32_t)header + sizeof(struct mach_header_64)); - - for (uint32_t i = 0; cmd && (i < count); ++i) { - uint32_t segmentCommand = SwapLongIfNeeded(LC_SEGMENT_64); - if (cmd->cmd == segmentCommand) { - struct segment_command_64 *seg = (struct segment_command_64 *)cmd; - if (!strcmp(seg->segname, "__TEXT")) { - uint64_t addr = SwapLongLongIfNeeded(seg->vmaddr); - uint64_t size = SwapLongLongIfNeeded(seg->vmsize); - cpu_type_t cpu = SwapIntIfNeeded(header->cputype); - cpu &= (~CPU_ARCH_ABI64); - NSString *cpuStr = (cpu == CPU_TYPE_I386) ? @"x86_64" : @"ppc64"; - - [headers_ setObject:[NSDictionary dictionaryWithObjectsAndKeys: - [NSNumber numberWithUnsignedLongLong:addr], kHeaderBaseAddressKey, - [NSNumber numberWithUnsignedLongLong:size], kHeaderSizeKey, - [NSNumber numberWithUnsignedLong:offset], kHeaderOffsetKey, - [NSNumber numberWithBool:YES], kHeaderIs64BitKey, - [NSNumber numberWithUnsignedLong:cpu], kHeaderCPUTypeKey, - nil] forKey:cpuStr]; - return YES; - } - } - - uint32_t cmdSize = SwapLongIfNeeded(cmd->cmdsize); - cmd = (struct load_command *)((uint32_t)cmd + cmdSize); - } - - return NO; -} - -//============================================================================= -- (BOOL)loadModuleInfo { - uint64_t result = 0; - NSMutableData *data = [[NSMutableData alloc] - initWithContentsOfMappedFile:sourcePath_]; - void *bytes = [data mutableBytes]; - struct fat_header *fat = (struct fat_header *)bytes; - - if (!fat) { - [data release]; - return 0; - } - - // Gather some information based on the header - BOOL isFat = fat->magic == FAT_MAGIC || fat->magic == FAT_CIGAM; - BOOL is64 = fat->magic == MH_MAGIC_64 || fat->magic == MH_CIGAM_64; - BOOL is32 = fat->magic == MH_MAGIC || fat->magic == MH_CIGAM; - BOOL swap = fat->magic == FAT_CIGAM || fat->magic == MH_CIGAM_64 || - fat->magic == MH_CIGAM; - - if (!is64 && !is32 && !isFat) { - [data release]; - return 0; - } - - // Load any available architectures and save the information - headers_ = [[NSMutableDictionary alloc] init]; - - if (isFat) { - struct fat_arch *archs = - (struct fat_arch *)((uint32_t)fat + sizeof(struct fat_header)); - uint32_t count = SwapLongIfNeeded(fat->nfat_arch); - - for (uint32_t i = 0; i < count; ++i) { - archs[i].cputype = SwapIntIfNeeded(archs[i].cputype); - archs[i].cpusubtype = SwapIntIfNeeded(archs[i].cpusubtype); - archs[i].offset = SwapLongIfNeeded(archs[i].offset); - archs[i].size = SwapLongIfNeeded(archs[i].size); - archs[i].align = SwapLongIfNeeded(archs[i].align); - - if (archs[i].cputype & CPU_ARCH_ABI64) - result = [self loadHeader64:bytes offset:archs[i].offset]; - else - result = [self loadHeader:bytes offset:archs[i].offset]; - } - } else if (is32) { - result = [self loadHeader:bytes offset:0]; - } else { - result = [self loadHeader64:bytes offset:0]; - } - - [data release]; - return result; -} - -//============================================================================= -static BOOL WriteFormat(int fd, const char *fmt, ...) { - va_list list; - char buffer[4096]; - ssize_t expected, written; - - va_start(list, fmt); - vsnprintf(buffer, sizeof(buffer), fmt, list); - expected = strlen(buffer); - written = write(fd, buffer, strlen(buffer)); - va_end(list); - - return expected == written; -} - -//============================================================================= -- (BOOL)outputSymbolFile:(int)fd { - // Get the baseAddress for this architecture - NSDictionary *archDict = [headers_ objectForKey:architecture_]; - NSNumber *baseAddressNum = [archDict objectForKey:kHeaderBaseAddressKey]; - uint64_t baseAddress = - baseAddressNum ? [baseAddressNum unsignedLongLongValue] : 0; - NSNumber *moduleSizeNum = [archDict objectForKey:kHeaderSizeKey]; - uint64_t moduleSize = - moduleSizeNum ? [moduleSizeNum unsignedLongLongValue] : 0; - - // UUID - FileID file_id([sourcePath_ fileSystemRepresentation]); - unsigned char identifier[16]; - char identifierStr[40]; - const char *moduleName = [[sourcePath_ lastPathComponent] UTF8String]; - int cpu_type = [[archDict objectForKey:kHeaderCPUTypeKey] unsignedLongValue]; - if (file_id.MachoIdentifier(cpu_type, identifier)) { - FileID::ConvertIdentifierToString(identifier, identifierStr, - sizeof(identifierStr)); - } - else { - fprintf(stderr, "Unable to calculate UUID of mach-o binary!\n"); - return NO; - } - - // keep track exclusively of function addresses - // for sanity checking function lengths - functionAddresses_ = [[NSMutableSet alloc] init]; - - // Gather the information - [self loadSymbolInfoForArchitecture]; - [self convertSymbols]; - - NSArray *sortedAddresses = [[addresses_ allKeys] - sortedArrayUsingSelector:@selector(compare:)]; - - NSArray *sortedFunctionAddresses = [[functionAddresses_ allObjects] - sortedArrayUsingSelector:@selector(compare:)]; - - // position ourselves at the 2nd function - unsigned int funcIndex = 1; - - // Remove the dashes from the string - NSMutableString *compactedStr = - [NSMutableString stringWithCString:identifierStr encoding:NSASCIIStringEncoding]; - [compactedStr replaceOccurrencesOfString:@"-" withString:@"" options:0 - range:NSMakeRange(0, [compactedStr length])]; - - if (!WriteFormat(fd, "MODULE mac %s %s0 %s\n", [architecture_ UTF8String], - [compactedStr UTF8String], moduleName)) { - return NO; - } - - // Sources ordered by address - NSArray *sources = [[sources_ allKeys] - sortedArrayUsingSelector:@selector(compare:)]; - unsigned int sourceCount = [sources count]; - for (unsigned int i = 0; i < sourceCount; ++i) { - NSString *file = [sources_ objectForKey:[sources objectAtIndex:i]]; - if (!WriteFormat(fd, "FILE %d %s\n", i + 1, [file UTF8String])) - return NO; - } - - // Symbols - char terminatingChar = '\n'; - uint32_t fileIdx = 0, nextFileIdx = 0; - uint64_t nextSourceFileAddress = 0; - NSNumber *nextAddress; - uint64_t nextAddressVal; - unsigned int addressCount = [sortedAddresses count]; - - for (unsigned int i = 0; i < addressCount; ++i) { - NSNumber *address = [sortedAddresses objectAtIndex:i]; - uint64_t addressVal = [address unsignedLongLongValue] - baseAddress; - - // Get the next address to calculate the length - if (i + 1 < addressCount) { - nextAddress = [sortedAddresses objectAtIndex:i + 1]; - nextAddressVal = [nextAddress unsignedLongLongValue] - baseAddress; - } else { - nextAddressVal = baseAddress + moduleSize; - // The symbol reader doesn't want a trailing newline - terminatingChar = '\0'; - } - - NSDictionary *dict = [addresses_ objectForKey:address]; - NSNumber *line = [dict objectForKey:kAddressSourceLineKey]; - NSString *symbol = [dict objectForKey:kAddressConvertedSymbolKey]; - - if (!symbol) - symbol = [dict objectForKey:kAddressSymbolKey]; - - // sanity check the function length by making sure it doesn't - // run beyond the next function entry - uint64_t nextFunctionAddress = 0; - if (symbol && funcIndex < [sortedFunctionAddresses count]) { - nextFunctionAddress = [[sortedFunctionAddresses objectAtIndex:funcIndex] - unsignedLongLongValue] - baseAddress; - ++funcIndex; - } - - // Skip some symbols - if ([symbol hasPrefix:@"vtable for"]) - continue; - - if ([symbol hasPrefix:@"__static_initialization_and_destruction_0"]) - continue; - - if ([symbol hasPrefix:@"_GLOBAL__I__"]) - continue; - - if ([symbol hasPrefix:@"__func__."]) - continue; - - if ([symbol hasPrefix:@"__gnu"]) - continue; - - if ([symbol hasPrefix:@"typeinfo "]) - continue; - - if ([symbol hasPrefix:@"EH_frame"]) - continue; - - if ([symbol hasPrefix:@"GCC_except_table"]) - continue; - - // Find the source file (if any) that contains this address - while (sourceCount && (addressVal >= nextSourceFileAddress)) { - fileIdx = nextFileIdx; - - if (nextFileIdx < sourceCount) { - NSNumber *addr = [sources objectAtIndex:nextFileIdx]; - ++nextFileIdx; - nextSourceFileAddress = [addr unsignedLongLongValue] - baseAddress; - } else { - nextSourceFileAddress = baseAddress + moduleSize; - break; - } - } - - NSNumber *functionLength = [dict objectForKey:kFunctionSizeKey]; - - if (line) { - if (symbol && functionLength) { - uint64_t functionLengthVal = [functionLength unsignedLongLongValue]; - - // sanity check to make sure the length we were told does not exceed - // the space between this function and the next - if (nextFunctionAddress != 0) { - uint64_t functionLengthVal2 = nextFunctionAddress - addressVal; - - if(functionLengthVal > functionLengthVal2 ) { - functionLengthVal = functionLengthVal2; - } - } - - // Function - if (!WriteFormat(fd, "FUNC %llx %llx 0 %s\n", addressVal, - functionLengthVal, [symbol UTF8String])) - return NO; - } - - // Source line - uint64_t length = nextAddressVal - addressVal; - if (!WriteFormat(fd, "%llx %llx %d %d\n", addressVal, length, - [line unsignedIntValue], fileIdx)) - return NO; - } else { - // PUBLIC
- if (!WriteFormat(fd, "PUBLIC %llx 0 %s\n", addressVal, - [symbol UTF8String])) - return NO; - } - } - - return YES; -} - -//============================================================================= -- (id)initWithContentsOfFile:(NSString *)path { - if ((self = [super init])) { - - if (![[NSFileManager defaultManager] fileExistsAtPath:path]) { - [self autorelease]; - return nil; - } - - sourcePath_ = [path copy]; - - if (![self loadModuleInfo]) { - [self autorelease]; - return nil; - } - - // If there's more than one, use the native one - if ([headers_ count] > 1) { - const NXArchInfo *localArchInfo = NXGetLocalArchInfo(); - - if (localArchInfo) { - cpu_type_t cpu = localArchInfo->cputype; - NSString *arch; - - if (cpu & CPU_ARCH_ABI64) - arch = ((cpu & ~CPU_ARCH_ABI64) == CPU_TYPE_X86) ? - @"x86_64" : @"ppc64"; - else - arch = (cpu == CPU_TYPE_X86) ? @"x86" : @"ppc"; - - [self setArchitecture:arch]; - } - } else { - // Specify the default architecture - [self setArchitecture:[[headers_ allKeys] objectAtIndex:0]]; - } - } - - return self; -} - -//============================================================================= -- (NSArray *)availableArchitectures { - return [headers_ allKeys]; -} - -//============================================================================= -- (void)dealloc { - [sourcePath_ release]; - [architecture_ release]; - [addresses_ release]; - [functionAddresses_ release]; - [sources_ release]; - [headers_ release]; - - [super dealloc]; -} - -//============================================================================= -- (BOOL)setArchitecture:(NSString *)architecture { - NSString *normalized = [architecture lowercaseString]; - BOOL isValid = NO; - - if ([normalized isEqualToString:@"ppc"]) { - isValid = YES; - } - else if ([normalized isEqualToString:@"i386"]) { - normalized = @"x86"; - isValid = YES; - } - else if ([normalized isEqualToString:@"x86"]) { - isValid = YES; - } - else if ([normalized isEqualToString:@"ppc64"]) { - isValid = YES; - } - else if ([normalized isEqualToString:@"x86_64"]) { - isValid = YES; - } - - if (isValid) { - if (![headers_ objectForKey:normalized]) - return NO; - - [architecture_ autorelease]; - architecture_ = [architecture copy]; - } - - return isValid; -} - -//============================================================================= -- (NSString *)architecture { - return architecture_; -} - -//============================================================================= -- (BOOL)writeSymbolFile:(NSString *)destinationPath { - const char *dest = [destinationPath fileSystemRepresentation]; - int fd; - - if ([[destinationPath substringToIndex:1] isEqualToString:@"-"]) - fd = STDOUT_FILENO; - else - fd = open(dest, O_WRONLY | O_CREAT | O_TRUNC, 0666); - - if (fd == -1) - return NO; - - BOOL result = [self outputSymbolFile:fd]; - - close(fd); - - return result; -} - -@end diff --git a/toolkit/airbag/airbag/src/common/mac/file_id.cc b/toolkit/airbag/airbag/src/common/mac/file_id.cc deleted file mode 100644 index 1c7770dd933f..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/file_id.cc +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// file_id.cc: Return a unique identifier for a file -// -// See file_id.h for documentation -// -// Author: Dan Waylonis - -#include -#include -#include - -#include "common/mac/file_id.h" -#include "common/mac/macho_id.h" - -using MacFileUtilities::MachoID; - -namespace google_breakpad { - -FileID::FileID(const char *path) { - strlcpy(path_, path, sizeof(path_)); -} - -bool FileID::FileIdentifier(unsigned char identifier[16]) { - int fd = open(path_, O_RDONLY); - if (fd == -1) - return false; - - MD5_CTX md5; - MD5_Init(&md5); - - // Read 4k x 2 bytes at a time. This is faster than just 4k bytes, but - // doesn't seem to be an unreasonable size for the stack. - unsigned char buffer[4096 * 2]; - size_t buffer_size = sizeof(buffer); - while ((buffer_size = read(fd, buffer, buffer_size) > 0)) { - MD5_Update(&md5, buffer, buffer_size); - } - - close(fd); - MD5_Final(identifier, &md5); - - return true; -} - -bool FileID::MachoIdentifier(int cpu_type, unsigned char identifier[16]) { - MachoID macho(path_); - - if (macho.UUIDCommand(cpu_type, identifier)) - return true; - - if (macho.IDCommand(cpu_type, identifier)) - return true; - - return macho.MD5(cpu_type, identifier); -} - -// static -void FileID::ConvertIdentifierToString(const unsigned char identifier[16], - char *buffer, int buffer_length) { - int buffer_idx = 0; - for (int idx = 0; (buffer_idx < buffer_length) && (idx < 16); ++idx) { - int hi = (identifier[idx] >> 4) & 0x0F; - int lo = (identifier[idx]) & 0x0F; - - if (idx == 4 || idx == 6 || idx == 8 || idx == 10) - buffer[buffer_idx++] = '-'; - - buffer[buffer_idx++] = (hi >= 10) ? 'A' + hi - 10 : '0' + hi; - buffer[buffer_idx++] = (lo >= 10) ? 'A' + lo - 10 : '0' + lo; - } - - // NULL terminate - buffer[(buffer_idx < buffer_length) ? buffer_idx : buffer_idx - 1] = 0; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/common/mac/file_id.h b/toolkit/airbag/airbag/src/common/mac/file_id.h deleted file mode 100644 index eb06b0d6b5fb..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/file_id.h +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// file_id.h: Return a unique identifier for a file -// -// Author: Dan Waylonis - -#ifndef COMMON_MAC_FILE_ID_H__ -#define COMMON_MAC_FILE_ID_H__ - -#include - -namespace google_breakpad { - -class FileID { - public: - FileID(const char *path); - ~FileID() {}; - - // Load the identifier for the file path specified in the constructor into - // |identifier|. Return false if the identifier could not be created for the - // file. - // The current implementation will return the MD5 hash of the file's bytes. - bool FileIdentifier(unsigned char identifier[16]); - - // Treat the file as a mach-o file that will contain one or more archicture. - // Accepted values for |cpu_type| (e.g., CPU_TYPE_X86 or CPU_TYPE_POWERPC) - // are listed in /usr/include/mach/machine.h. - // If |cpu_type| is 0, then the native cpu type is used. - // Returns false if opening the file failed or if the |cpu_type| is not - // present in the file. - // Return the unique identifier in |identifier|. - // The current implementation will look for the (in order of priority): - // LC_UUID, LC_ID_DYLIB, or MD5 hash of the given |cpu_type|. - bool MachoIdentifier(int cpu_type, unsigned char identifier[16]); - - // Convert the |identifier| data to a NULL terminated string. The string will - // be formatted as a UUID (e.g., 22F065BB-FC9C-49F7-80FE-26A7CEBD7BCE). - // The |buffer| should be at least 37 bytes long to receive all of the data - // and termination. Shorter buffers will contain truncated data. - static void ConvertIdentifierToString(const unsigned char identifier[16], - char *buffer, int buffer_length); - - private: - // Storage for the path specified - char path_[PATH_MAX]; -}; - -} // namespace google_breakpad - -#endif // COMMON_MAC_FILE_ID_H__ - diff --git a/toolkit/airbag/airbag/src/common/mac/macho_id.cc b/toolkit/airbag/airbag/src/common/mac/macho_id.cc deleted file mode 100644 index 728bd47e5e6d..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/macho_id.cc +++ /dev/null @@ -1,364 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// macho_id.cc: Functions to gather identifying information from a macho file -// -// See macho_id.h for documentation -// -// Author: Dan Waylonis - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "common/mac/macho_id.h" -#include "common/mac/macho_walker.h" -#include "common/mac/macho_utilities.h" - -namespace MacFileUtilities { - -MachoID::MachoID(const char *path) { - strlcpy(path_, path, sizeof(path_)); - file_ = open(path, O_RDONLY); -} - -MachoID::~MachoID() { - if (file_ != -1) - close(file_); -} - -// The CRC info is from http://en.wikipedia.org/wiki/Adler-32 -// With optimizations from http://www.zlib.net/ - -// The largest prime smaller than 65536 -#define MOD_ADLER 65521 -// MAX_BLOCK is the largest n such that 255n(n+1)/2 + (n+1)(MAX_BLOCK-1) <= 2^32-1 -#define MAX_BLOCK 5552 - -void MachoID::UpdateCRC(unsigned char *bytes, size_t size) { -// Unrolled loops for summing -#define DO1(buf,i) {sum1 += (buf)[i]; sum2 += sum1;} -#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1); -#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2); -#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4); -#define DO16(buf) DO8(buf,0); DO8(buf,8); - // Split up the crc - uint32_t sum1 = crc_ & 0xFFFF; - uint32_t sum2 = (crc_ >> 16) & 0xFFFF; - - // Do large blocks - while (size >= MAX_BLOCK) { - size -= MAX_BLOCK; - int block_count = MAX_BLOCK / 16; - do { - DO16(bytes); - bytes += 16; - } while (--block_count); - sum1 %= MOD_ADLER; - sum2 %= MOD_ADLER; - } - - // Do remaining bytes - if (size) { - while (size >= 16) { - size -= 16; - DO16(bytes); - bytes += 16; - } - while (size--) { - sum1 += *bytes++; - sum2 += sum1; - } - sum1 %= MOD_ADLER; - sum2 %= MOD_ADLER; - crc_ = (sum2 << 16) | sum1; - } -} - -void MachoID::UpdateMD5(unsigned char *bytes, size_t size) { - MD5_Update(&md5_context_, bytes, size); -} - -void MachoID::UpdateSHA1(unsigned char *bytes, size_t size) { - SHA_Update(&sha1_context_, bytes, size); -} - -void MachoID::Update(MachoWalker *walker, unsigned long offset, size_t size) { - if (!update_function_ || !size) - return; - - // Read up to 4k bytes at a time - unsigned char buffer[4096]; - size_t buffer_size; - off_t file_offset = offset; - while (size > 0) { - if (size > sizeof(buffer)) { - buffer_size = sizeof(buffer); - size -= buffer_size; - } else { - buffer_size = size; - size = 0; - } - - if (!walker->ReadBytes(buffer, buffer_size, file_offset)) - return; - - (this->*update_function_)(buffer, buffer_size); - file_offset += buffer_size; - } -} - -bool MachoID::UUIDCommand(int cpu_type, unsigned char bytes[16]) { - struct breakpad_uuid_command uuid_cmd; - MachoWalker walker(path_, UUIDWalkerCB, &uuid_cmd); - - uuid_cmd.cmd = 0; - if (!walker.WalkHeader(cpu_type)) - return false; - - // If we found the command, we'll have initialized the uuid_command - // structure - if (uuid_cmd.cmd == LC_UUID) { - memcpy(bytes, uuid_cmd.uuid, sizeof(uuid_cmd.uuid)); - return true; - } - - return false; -} - -bool MachoID::IDCommand(int cpu_type, unsigned char identifier[16]) { - struct dylib_command dylib_cmd; - MachoWalker walker(path_, IDWalkerCB, &dylib_cmd); - - dylib_cmd.cmd = 0; - if (!walker.WalkHeader(cpu_type)) - return false; - - // If we found the command, we'll have initialized the dylib_command - // structure - if (dylib_cmd.cmd == LC_ID_DYLIB) { - // Take the hashed filename, version, and compatability version bytes - // to form the first 12 bytes, pad the rest with zeros - - // create a crude hash of the filename to generate the first 4 bytes - identifier[0] = 0; - identifier[1] = 0; - identifier[2] = 0; - identifier[3] = 0; - - for (int j = 0, i = strlen(path_)-1; i >= 0 && path_[i]!='/'; ++j, --i) { - identifier[j%4] += path_[i]; - } - - identifier[4] = (dylib_cmd.dylib.current_version >> 24) & 0xFF; - identifier[5] = (dylib_cmd.dylib.current_version >> 16) & 0xFF; - identifier[6] = (dylib_cmd.dylib.current_version >> 8) & 0xFF; - identifier[7] = dylib_cmd.dylib.current_version & 0xFF; - identifier[8] = (dylib_cmd.dylib.compatibility_version >> 24) & 0xFF; - identifier[9] = (dylib_cmd.dylib.compatibility_version >> 16) & 0xFF; - identifier[10] = (dylib_cmd.dylib.compatibility_version >> 8) & 0xFF; - identifier[11] = dylib_cmd.dylib.compatibility_version & 0xFF; - identifier[12] = (cpu_type >> 24) & 0xFF; - identifier[13] = (cpu_type >> 16) & 0xFF; - identifier[14] = (cpu_type >> 8) & 0xFF; - identifier[15] = cpu_type & 0xFF; - - return true; - } - - return false; -} - -uint32_t MachoID::Adler32(int cpu_type) { - MachoWalker walker(path_, WalkerCB, this); - update_function_ = &MachoID::UpdateCRC; - crc_ = 0; - - if (!walker.WalkHeader(cpu_type)) - return 0; - - return crc_; -} - -bool MachoID::MD5(int cpu_type, unsigned char identifier[16]) { - MachoWalker walker(path_, WalkerCB, this); - update_function_ = &MachoID::UpdateMD5; - - if (MD5_Init(&md5_context_)) { - if (!walker.WalkHeader(cpu_type)) - return false; - - MD5_Final(identifier, &md5_context_); - return true; - } - - return false; -} - -bool MachoID::SHA1(int cpu_type, unsigned char identifier[16]) { - MachoWalker walker(path_, WalkerCB, this); - update_function_ = &MachoID::UpdateSHA1; - - if (SHA_Init(&sha1_context_)) { - if (!walker.WalkHeader(cpu_type)) - return false; - - SHA_Final(identifier, &sha1_context_); - return true; - } - - return false; -} - -// static -bool MachoID::WalkerCB(MachoWalker *walker, load_command *cmd, off_t offset, - bool swap, void *context) { - MachoID *macho_id = (MachoID *)context; - - if (cmd->cmd == LC_SEGMENT) { - struct segment_command seg; - - if (!walker->ReadBytes(&seg, sizeof(seg), offset)) - return false; - - if (swap) - swap_segment_command(&seg, NXHostByteOrder()); - - struct mach_header_64 header; - off_t header_offset; - - if (!walker->CurrentHeader(&header, &header_offset)) - return false; - - // Process segments that have sections: - // (e.g., __TEXT, __DATA, __IMPORT, __OBJC) - offset += sizeof(struct segment_command); - struct section sec; - for (unsigned long i = 0; i < seg.nsects; ++i) { - if (!walker->ReadBytes(&sec, sizeof(sec), offset)) - return false; - - if (swap) - swap_section(&sec, 1, NXHostByteOrder()); - - // sections of type S_ZEROFILL are "virtual" and contain no data - // in the file itself - if ((sec.flags & SECTION_TYPE) != S_ZEROFILL && sec.offset != 0) - macho_id->Update(walker, header_offset + sec.offset, sec.size); - - offset += sizeof(struct section); - } - } else if (cmd->cmd == LC_SEGMENT_64) { - struct segment_command_64 seg64; - - if (!walker->ReadBytes(&seg64, sizeof(seg64), offset)) - return false; - - if (swap) - breakpad_swap_segment_command_64(&seg64, NXHostByteOrder()); - - struct mach_header_64 header; - off_t header_offset; - - if (!walker->CurrentHeader(&header, &header_offset)) - return false; - - // Process segments that have sections: - // (e.g., __TEXT, __DATA, __IMPORT, __OBJC) - offset += sizeof(struct segment_command_64); - struct section_64 sec64; - for (unsigned long i = 0; i < seg64.nsects; ++i) { - if (!walker->ReadBytes(&sec64, sizeof(sec64), offset)) - return false; - - if (swap) - breakpad_swap_section_64(&sec64, 1, NXHostByteOrder()); - - // sections of type S_ZEROFILL are "virtual" and contain no data - // in the file itself - if ((sec64.flags & SECTION_TYPE) != S_ZEROFILL && sec64.offset != 0) - macho_id->Update(walker, header_offset + sec64.offset, sec64.size); - - offset += sizeof(struct section_64); - } - } - - // Continue processing - return true; -} - -// static -bool MachoID::UUIDWalkerCB(MachoWalker *walker, load_command *cmd, off_t offset, - bool swap, void *context) { - if (cmd->cmd == LC_UUID) { - struct breakpad_uuid_command *uuid_cmd = - (struct breakpad_uuid_command *)context; - - if (!walker->ReadBytes(uuid_cmd, sizeof(struct breakpad_uuid_command), - offset)) - return false; - - if (swap) - breakpad_swap_uuid_command(uuid_cmd, NXHostByteOrder()); - - return false; - } - - // Continue processing - return true; -} - -// static -bool MachoID::IDWalkerCB(MachoWalker *walker, load_command *cmd, off_t offset, - bool swap, void *context) { - if (cmd->cmd == LC_ID_DYLIB) { - struct dylib_command *dylib_cmd = (struct dylib_command *)context; - - if (!walker->ReadBytes(dylib_cmd, sizeof(struct dylib_command), offset)) - return false; - - if (swap) - swap_dylib_command(dylib_cmd, NXHostByteOrder()); - - return false; - } - - // Continue processing - return true; -} - -} // namespace MacFileUtilities diff --git a/toolkit/airbag/airbag/src/common/mac/macho_id.h b/toolkit/airbag/airbag/src/common/mac/macho_id.h deleted file mode 100644 index 039bba3889aa..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/macho_id.h +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// macho_id.h: Functions to gather identifying information from a macho file -// -// Author: Dan Waylonis - -#ifndef COMMON_MAC_MACHO_ID_H__ -#define COMMON_MAC_MACHO_ID_H__ - -#include -#include -#include -#include - -namespace MacFileUtilities { - -class MachoWalker; - -class MachoID { - public: - MachoID(const char *path); - ~MachoID(); - - // For the given |cpu_type|, return a UUID from the LC_UUID command. - // Return false if there isn't a LC_UUID command. - bool UUIDCommand(int cpu_type, unsigned char identifier[16]); - - // For the given |cpu_type|, return a UUID from the LC_ID_DYLIB command. - // Return false if there isn't a LC_ID_DYLIB command. - bool IDCommand(int cpu_type, unsigned char identifier[16]); - - // For the given |cpu_type|, return the Adler32 CRC for the mach-o data - // segment(s). - // Return 0 on error (e.g., if the file is not a mach-o file) - uint32_t Adler32(int cpu_type); - - // For the given |cpu_type|, return the MD5 for the mach-o data segment(s). - // Return true on success, false otherwise - bool MD5(int cpu_type, unsigned char identifier[16]); - - // For the given |cpu_type|, return the SHA1 for the mach-o data segment(s). - // Return true on success, false otherwise - bool SHA1(int cpu_type, unsigned char identifier[16]); - - private: - // Signature of class member function to be called with data read from file - typedef void (MachoID::*UpdateFunction)(unsigned char *bytes, size_t size); - - // Update the CRC value by examining |size| |bytes| and applying the algorithm - // to each byte. - void UpdateCRC(unsigned char *bytes, size_t size); - - // Update the MD5 value by examining |size| |bytes| and applying the algorithm - // to each byte. - void UpdateMD5(unsigned char *bytes, size_t size); - - // Update the SHA1 value by examining |size| |bytes| and applying the - // algorithm to each byte. - void UpdateSHA1(unsigned char *bytes, size_t size); - - // Bottleneck for update routines - void Update(MachoWalker *walker, unsigned long offset, size_t size); - - // The callback from the MachoWalker for CRC, MD5, and SHA1 - static bool WalkerCB(MachoWalker *walker, load_command *cmd, off_t offset, - bool swap, void *context); - - // The callback from the MachoWalker for LC_UUID - static bool UUIDWalkerCB(MachoWalker *walker, load_command *cmd, off_t offset, - bool swap, void *context); - - // The callback from the MachoWalker for LC_ID_DYLIB - static bool IDWalkerCB(MachoWalker *walker, load_command *cmd, off_t offset, - bool swap, void *context); - - // File path - char path_[PATH_MAX]; - - // File descriptor - int file_; - - // The current crc value - uint32_t crc_; - - // The MD5 context - MD5_CTX md5_context_; - - // The SHA1 context - SHA_CTX sha1_context_; - - // The current update to call from the Update callback - UpdateFunction update_function_; -}; - -} // namespace MacFileUtilities - -#endif // COMMON_MAC_MACHO_ID_H__ diff --git a/toolkit/airbag/airbag/src/common/mac/macho_utilities.cc b/toolkit/airbag/airbag/src/common/mac/macho_utilities.cc deleted file mode 100644 index d25de5c89aeb..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/macho_utilities.cc +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// macho_utilties.cc: Utilities for dealing with mach-o files -// -// Author: Dave Camp - -#include "common/mac/macho_utilities.h" - -void breakpad_swap_uuid_command(struct breakpad_uuid_command *uc, - enum NXByteOrder target_byte_order) -{ - uc->cmd = NXSwapLong(uc->cmd); - uc->cmdsize = NXSwapLong(uc->cmdsize); -} - -void breakpad_swap_segment_command_64(struct segment_command_64 *sg, - enum NXByteOrder target_byte_order) -{ - sg->cmd = NXSwapLong(sg->cmd); - sg->cmdsize = NXSwapLong(sg->cmdsize); - - sg->vmaddr = NXSwapLongLong(sg->vmaddr); - sg->vmsize = NXSwapLongLong(sg->vmsize); - sg->fileoff = NXSwapLongLong(sg->fileoff); - sg->filesize = NXSwapLongLong(sg->filesize); - - sg->maxprot = NXSwapLong(sg->maxprot); - sg->initprot = NXSwapLong(sg->initprot); - sg->nsects = NXSwapLong(sg->nsects); - sg->flags = NXSwapLong(sg->flags); -} - -void breakpad_swap_mach_header_64(struct mach_header_64 *mh, - enum NXByteOrder target_byte_order) -{ - mh->magic = NXSwapLong(mh->magic); - mh->cputype = NXSwapLong(mh->cputype); - mh->cpusubtype = NXSwapLong(mh->cpusubtype); - mh->filetype = NXSwapLong(mh->filetype); - mh->ncmds = NXSwapLong(mh->ncmds); - mh->sizeofcmds = NXSwapLong(mh->sizeofcmds); - mh->flags = NXSwapLong(mh->flags); - mh->reserved = NXSwapLong(mh->reserved); -} - -void breakpad_swap_section_64(struct section_64 *s, - uint32_t nsects, - enum NXByteOrder target_byte_order) -{ - for (uint32_t i = 0; i < nsects; i++) { - s[i].addr = NXSwapLongLong(s[i].addr); - s[i].size = NXSwapLongLong(s[i].size); - - s[i].offset = NXSwapLong(s[i].offset); - s[i].align = NXSwapLong(s[i].align); - s[i].reloff = NXSwapLong(s[i].reloff); - s[i].nreloc = NXSwapLong(s[i].nreloc); - s[i].flags = NXSwapLong(s[i].flags); - s[i].reserved1 = NXSwapLong(s[i].reserved1); - s[i].reserved2 = NXSwapLong(s[i].reserved2); - } -} diff --git a/toolkit/airbag/airbag/src/common/mac/macho_utilities.h b/toolkit/airbag/airbag/src/common/mac/macho_utilities.h deleted file mode 100644 index f74e93aad72f..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/macho_utilities.h +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// macho_utilities.h: Utilities for dealing with mach-o files -// -// Author: Dave Camp - -#ifndef COMMON_MAC_MACHO_UTILITIES_H__ -#define COMMON_MAC_MACHO_UTILITIES_H__ - -#include -#include - -/* Some #defines and structs that aren't defined in older SDKs */ -#ifndef CPU_ARCH_ABI64 -# define CPU_ARCH_ABI64 0x01000000 -#endif - -#ifndef CPU_TYPE_X86 -# define CPU_TYPE_X86 CPU_TYPE_I386 -#endif - -#ifndef CPU_TYPE_POWERPC64 -# define CPU_TYPE_POWERPC64 (CPU_TYPE_POWERPC | CPU_ARCH_ABI64) -#endif - -#ifndef LC_UUID -# define LC_UUID 0x1b /* the uuid */ -#endif - -#if TARGET_CPU_X86 -# define BREAKPAD_MACHINE_THREAD_STATE i386_THREAD_STATE -#else -# define BREAKPAD_MACHINE_THREAD_STATE MACHINE_THREAD_STATE -#endif - -// The uuid_command struct/swap routines were added during the 10.4 series. -// Their presence isn't guaranteed. -struct breakpad_uuid_command { - uint32_t cmd; /* LC_UUID */ - uint32_t cmdsize; /* sizeof(struct uuid_command) */ - uint8_t uuid[16]; /* the 128-bit uuid */ -}; - -void breakpad_swap_uuid_command(struct breakpad_uuid_command *uc, - enum NXByteOrder target_byte_order); - -// Older SDKs defines thread_state_data_t as an int[] instead -// of the natural_t[] it should be. -typedef natural_t breakpad_thread_state_data_t[THREAD_STATE_MAX]; - -// The 64-bit swap routines were added during the 10.4 series, their -// presence isn't guaranteed. -void breakpad_swap_segment_command_64(struct segment_command_64 *sg, - enum NXByteOrder target_byte_order); - -void breakpad_swap_mach_header_64(struct mach_header_64 *mh, - enum NXByteOrder target_byte_order); - -void breakpad_swap_section_64(struct section_64 *s, - uint32_t nsects, - enum NXByteOrder target_byte_order); - -#endif diff --git a/toolkit/airbag/airbag/src/common/mac/macho_walker.cc b/toolkit/airbag/airbag/src/common/mac/macho_walker.cc deleted file mode 100644 index 9f56701bba98..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/macho_walker.cc +++ /dev/null @@ -1,241 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// macho_walker.cc: Iterate over the load commands in a mach-o file -// -// See macho_walker.h for documentation -// -// Author: Dan Waylonis - -#include -#include -#include -#include -#include -#include -#include - -#include "common/mac/macho_walker.h" -#include "common/mac/macho_utilities.h" - -namespace MacFileUtilities { - -MachoWalker::MachoWalker(const char *path, LoadCommandCallback callback, - void *context) - : callback_(callback), - callback_context_(context) { - file_ = open(path, O_RDONLY); -} - -MachoWalker::~MachoWalker() { - if (file_ != -1) - close(file_); -} - -int MachoWalker::ValidateCPUType(int cpu_type) { - // If the user didn't specify, try to use the local architecture. If that - // fails, use the base type for the executable. - if (cpu_type == 0) { - const NXArchInfo *arch = NXGetLocalArchInfo(); - if (arch) - cpu_type = arch->cputype; - else -#if __ppc__ - cpu_type = CPU_TYPE_POWERPC; -#elif __i386__ - cpu_type = CPU_TYPE_X86; -#else -#error Unknown architecture -- are you on a PDP-11? -#endif - } - - return cpu_type; -} - -bool MachoWalker::WalkHeader(int cpu_type) { - int valid_cpu_type = ValidateCPUType(cpu_type); - off_t offset; - if (FindHeader(valid_cpu_type, offset)) { - if (cpu_type & CPU_ARCH_ABI64) - return WalkHeader64AtOffset(offset); - - return WalkHeaderAtOffset(offset); - } - - return false; -} - -bool MachoWalker::ReadBytes(void *buffer, size_t size, off_t offset) { - return pread(file_, buffer, size, offset) == (ssize_t)size; -} - -bool MachoWalker::CurrentHeader(struct mach_header_64 *header, off_t *offset) { - if (current_header_) { - memcpy(header, current_header_, sizeof(mach_header_64)); - *offset = current_header_offset_; - return true; - } - - return false; -} - -bool MachoWalker::FindHeader(int cpu_type, off_t &offset) { - int valid_cpu_type = ValidateCPUType(cpu_type); - // Read the magic bytes that's common amongst all mach-o files - uint32_t magic; - if (!ReadBytes(&magic, sizeof(magic), 0)) - return false; - - offset = sizeof(magic); - - // Figure out what type of file we've got - bool is_fat = false; - if (magic == FAT_MAGIC || magic == FAT_CIGAM) { - is_fat = true; - } - else if (magic != MH_MAGIC && magic != MH_CIGAM && magic != MH_MAGIC_64 && - magic != MH_CIGAM_64) { - return false; - } - - if (!is_fat) { - // If we don't have a fat header, check if the cpu type matches the single - // header - cpu_type_t header_cpu_type; - if (!ReadBytes(&header_cpu_type, sizeof(header_cpu_type), offset)) - return false; - - if (magic == MH_CIGAM || magic == MH_CIGAM_64) - header_cpu_type = NXSwapInt(header_cpu_type); - - if (valid_cpu_type != header_cpu_type) - return false; - - offset = 0; - return true; - } else { - // Read the fat header and find an appropriate architecture - offset = 0; - struct fat_header fat; - if (!ReadBytes(&fat, sizeof(fat), offset)) - return false; - - if (NXHostByteOrder() != NX_BigEndian) - swap_fat_header(&fat, NXHostByteOrder()); - - offset += sizeof(fat); - - // Search each architecture for the desired one - struct fat_arch arch; - for (uint32_t i = 0; i < fat.nfat_arch; ++i) { - if (!ReadBytes(&arch, sizeof(arch), offset)) - return false; - - if (NXHostByteOrder() != NX_BigEndian) - swap_fat_arch(&arch, 1, NXHostByteOrder()); - - if (arch.cputype == valid_cpu_type) { - offset = arch.offset; - return true; - } - - offset += sizeof(arch); - } - } - - return false; -} - -bool MachoWalker::WalkHeaderAtOffset(off_t offset) { - struct mach_header header; - if (!ReadBytes(&header, sizeof(header), offset)) - return false; - - bool swap = (header.magic == MH_CIGAM); - if (swap) - swap_mach_header(&header, NXHostByteOrder()); - - // Copy the data into the mach_header_64 structure. Since the 32-bit and - // 64-bit only differ in the last field (reserved), this is safe to do. - struct mach_header_64 header64; - memcpy((void *)&header64, (const void *)&header, sizeof(header)); - header64.reserved = 0; - - current_header_ = &header64; - current_header_size_ = sizeof(header); // 32-bit, not 64-bit - current_header_offset_ = offset; - offset += current_header_size_; - bool result = WalkHeaderCore(offset, header.ncmds, swap); - current_header_ = NULL; - current_header_size_ = 0; - current_header_offset_ = 0; - return result; -} - -bool MachoWalker::WalkHeader64AtOffset(off_t offset) { - struct mach_header_64 header; - if (!ReadBytes(&header, sizeof(header), offset)) - return false; - - bool swap = (header.magic == MH_CIGAM_64); - if (swap) - breakpad_swap_mach_header_64(&header, NXHostByteOrder()); - - current_header_ = &header; - current_header_size_ = sizeof(header); - current_header_offset_ = offset; - offset += current_header_size_; - bool result = WalkHeaderCore(offset, header.ncmds, swap); - current_header_ = NULL; - current_header_size_ = 0; - current_header_offset_ = 0; - return result; -} - -bool MachoWalker::WalkHeaderCore(off_t offset, uint32_t number_of_commands, - bool swap) { - for (uint32_t i = 0; i < number_of_commands; ++i) { - struct load_command cmd; - if (!ReadBytes(&cmd, sizeof(cmd), offset)) - return false; - - if (swap) - swap_load_command(&cmd, NXHostByteOrder()); - - // Call the user callback - if (callback_ && !callback_(this, &cmd, offset, swap, callback_context_)) - break; - - offset += cmd.cmdsize; - } - - return true; -} - -} // namespace MacFileUtilities diff --git a/toolkit/airbag/airbag/src/common/mac/macho_walker.h b/toolkit/airbag/airbag/src/common/mac/macho_walker.h deleted file mode 100644 index 6445a4f4010a..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/macho_walker.h +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// macho_walker.h: Iterate over the load commands in a mach-o file -// -// Author: Dan Waylonis - -#ifndef COMMON_MAC_MACHO_WALKER_H__ -#define COMMON_MAC_MACHO_WALKER_H__ - -#include -#include - -namespace MacFileUtilities { - -class MachoWalker { - public: - // A callback function executed when a new load command is read. If no - // further processing of load commands is desired, return false. Otherwise, - // return true. - // |cmd| is the current command, and |offset| is the location relative to the - // beginning of the file (not header) where the command was read. If |swap| - // is set, then any command data (other than the returned load_command) should - // be swapped when read - typedef bool (*LoadCommandCallback)(MachoWalker *walker, load_command *cmd, - off_t offset, bool swap, void *context); - - MachoWalker(const char *path, LoadCommandCallback callback, void *context); - MachoWalker(int file_descriptor, LoadCommandCallback callback, void *context); - ~MachoWalker(); - - // Begin walking the header for |cpu_type|. If |cpu_type| is 0, then the - // native cpu type is used. Otherwise, accepted values are listed in - // /usr/include/mach/machine.h (e.g., CPU_TYPE_X86 or CPU_TYPE_POWERPC). - // Returns false if opening the file failed or if the |cpu_type| is not - // present in the file. - bool WalkHeader(int cpu_type); - - // Locate (if any) the header offset for |cpu_type| and return in |offset|. - // Return true if found, false otherwise. - bool FindHeader(int cpu_type, off_t &offset); - - // Read |size| bytes from the opened file at |offset| into |buffer| - bool ReadBytes(void *buffer, size_t size, off_t offset); - - // Return the current header and header offset - bool CurrentHeader(struct mach_header_64 *header, off_t *offset); - - private: - // Validate the |cpu_type| - int ValidateCPUType(int cpu_type); - - // Process an individual header starting at |offset| from the start of the - // file. Return true if successful, false otherwise. - bool WalkHeaderAtOffset(off_t offset); - bool WalkHeader64AtOffset(off_t offset); - - // Bottleneck for walking the load commands - bool WalkHeaderCore(off_t offset, uint32_t number_of_commands, bool swap); - - // File descriptor to the opened file - int file_; - - // User specified callback & context - LoadCommandCallback callback_; - void *callback_context_; - - // Current header, size, and offset. The mach_header_64 is used for both - // 32-bit and 64-bit headers because they only differ in their last field - // (reserved). By adding the |current_header_size_| and the - // |current_header_offset_|, you can determine the offset in the file just - // after the header. - struct mach_header_64 *current_header_; - unsigned long current_header_size_; - off_t current_header_offset_; -}; - -} // namespace MacFileUtilities - -#endif // COMMON_MAC_MACHO_WALKER_H__ diff --git a/toolkit/airbag/airbag/src/common/mac/string_utilities.cc b/toolkit/airbag/airbag/src/common/mac/string_utilities.cc deleted file mode 100644 index 57cc19ade5ef..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/string_utilities.cc +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include "processor/scoped_ptr.h" -#include "common/mac/string_utilities.h" - -namespace MacStringUtils { - -using google_breakpad::scoped_array; - -std::string ConvertToString(CFStringRef str) { - CFIndex length = CFStringGetLength(str); - std::string result; - - if (!length) - return result; - - CFIndex maxUTF8Length = - CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8); - scoped_array buffer(new UInt8[maxUTF8Length + 1]); - CFIndex actualUTF8Length; - CFStringGetBytes(str, CFRangeMake(0, length), kCFStringEncodingUTF8, 0, - false, buffer.get(), maxUTF8Length, &actualUTF8Length); - buffer[actualUTF8Length] = 0; - result.assign((const char *)buffer.get()); - - return result; -} - -unsigned int IntegerValueAtIndex(string &str, unsigned int idx) { - string digits("0123456789"), temp; - unsigned int start = 0; - unsigned int end; - unsigned int found = 0; - unsigned int result = 0; - - for (; found <= idx; ++found) { - end = str.find_first_not_of(digits, start); - - if (end == string::npos) - end = str.size(); - - temp = str.substr(start, end - start); - result = atoi(temp.c_str()); - start = str.find_first_of(digits, end + 1); - - if (start == string::npos) - break; - } - - return result; -} - -} // namespace MacStringUtils diff --git a/toolkit/airbag/airbag/src/common/mac/string_utilities.h b/toolkit/airbag/airbag/src/common/mac/string_utilities.h deleted file mode 100644 index 6d89c834e7cb..000000000000 --- a/toolkit/airbag/airbag/src/common/mac/string_utilities.h +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// string_utilities.h: Utilities for strings for Mac platform - -#ifndef COMMON_MAC_STRING_UTILITIES_H__ -#define COMMON_MAC_STRING_UTILITIES_H__ - -#include - -#include - -namespace MacStringUtils { - -using std::string; - -// Convert a CoreFoundation string into a std::string -string ConvertToString(CFStringRef str); - -// Return the idx'th decimal integer in str, separated by non-decimal-digits -// E.g., str = 10.4.8, idx = 1 -> 4 -unsigned int IntegerValueAtIndex(string &str, unsigned int idx); - -} // namespace MacStringUtils - -#endif // COMMON_MAC_STRING_UTILITIES_H__ diff --git a/toolkit/airbag/airbag/src/common/string_conversion.cc b/toolkit/airbag/airbag/src/common/string_conversion.cc deleted file mode 100644 index 3e4d8e883212..000000000000 --- a/toolkit/airbag/airbag/src/common/string_conversion.cc +++ /dev/null @@ -1,154 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include "common/convert_UTF.h" -#include "processor/scoped_ptr.h" -#include "common/string_conversion.h" - -namespace google_breakpad { - -using std::string; -using std::vector; - -void UTF8ToUTF16(const char *in, vector *out) { - size_t source_length = strlen(in); - const UTF8 *source_ptr = reinterpret_cast(in); - const UTF8 *source_end_ptr = source_ptr + source_length; - // Erase the contents and zero fill to the expected size - out->empty(); - out->insert(out->begin(), source_length, 0); - u_int16_t *target_ptr = &(*out)[0]; - u_int16_t *target_end_ptr = target_ptr + out->capacity() * sizeof(u_int16_t); - ConversionResult result = ConvertUTF8toUTF16(&source_ptr, source_end_ptr, - &target_ptr, target_end_ptr, - strictConversion); - - // Resize to be the size of the # of converted characters + NULL - out->resize(result == conversionOK ? target_ptr - &(*out)[0] + 1: 0); -} - -int UTF8ToUTF16Char(const char *in, int in_length, u_int16_t out[2]) { - const UTF8 *source_ptr = reinterpret_cast(in); - const UTF8 *source_end_ptr = source_ptr + sizeof(char); - u_int16_t *target_ptr = out; - u_int16_t *target_end_ptr = target_ptr + 2 * sizeof(u_int16_t); - out[0] = out[1] = 0; - - // Process one character at a time - while (1) { - ConversionResult result = ConvertUTF8toUTF16(&source_ptr, source_end_ptr, - &target_ptr, target_end_ptr, - strictConversion); - - if (result == conversionOK) - return source_ptr - reinterpret_cast(in); - - // Add another character to the input stream and try again - source_ptr = reinterpret_cast(in); - ++source_end_ptr; - - if (source_end_ptr > reinterpret_cast(in) + in_length) - break; - } - - return 0; -} - -void UTF32ToUTF16(const wchar_t *in, vector *out) { - size_t source_length = wcslen(in); - const UTF32 *source_ptr = reinterpret_cast(in); - const UTF32 *source_end_ptr = source_ptr + source_length; - // Erase the contents and zero fill to the expected size - out->empty(); - out->insert(out->begin(), source_length, 0); - u_int16_t *target_ptr = &(*out)[0]; - u_int16_t *target_end_ptr = target_ptr + out->capacity() * sizeof(u_int16_t); - ConversionResult result = ConvertUTF32toUTF16(&source_ptr, source_end_ptr, - &target_ptr, target_end_ptr, - strictConversion); - - // Resize to be the size of the # of converted characters + NULL - out->resize(result == conversionOK ? target_ptr - &(*out)[0] + 1: 0); -} - -void UTF32ToUTF16Char(wchar_t in, u_int16_t out[2]) { - const UTF32 *source_ptr = reinterpret_cast(&in); - const UTF32 *source_end_ptr = source_ptr + 1; - u_int16_t *target_ptr = out; - u_int16_t *target_end_ptr = target_ptr + 2 * sizeof(u_int16_t); - out[0] = out[1] = 0; - ConversionResult result = ConvertUTF32toUTF16(&source_ptr, source_end_ptr, - &target_ptr, target_end_ptr, - strictConversion); - - if (result != conversionOK) { - out[0] = out[1] = 0; - } -} - -static inline u_int16_t Swap(u_int16_t value) { - return (value >> 8) | (value << 8); -} - -string UTF16ToUTF8(const vector &in, bool swap) { - const UTF16 *source_ptr = &in[0]; - scoped_ptr source_buffer; - - // If we're to swap, we need to make a local copy and swap each byte pair - if (swap) { - int idx = 0; - source_buffer.reset(new u_int16_t[in.size()]); - UTF16 *source_buffer_ptr = source_buffer.get(); - for (vector::const_iterator it = in.begin(); - it != in.end(); ++it, ++idx) - source_buffer_ptr[idx] = Swap(*it); - - source_ptr = source_buffer.get(); - } - - // The maximum expansion would be 4x the size of the input string. - const UTF16 *source_end_ptr = source_ptr + in.size(); - int target_capacity = in.size() * 4; - scoped_array target_buffer(new UTF8[target_capacity]); - UTF8 *target_ptr = target_buffer.get(); - UTF8 *target_end_ptr = target_ptr + target_capacity; - ConversionResult result = ConvertUTF16toUTF8(&source_ptr, source_end_ptr, - &target_ptr, target_end_ptr, - strictConversion); - - if (result == conversionOK) { - const char *targetPtr = reinterpret_cast(target_buffer.get()); - string result(targetPtr); - return result; - } - - return ""; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/common/string_conversion.h b/toolkit/airbag/airbag/src/common/string_conversion.h deleted file mode 100644 index 83059af734eb..000000000000 --- a/toolkit/airbag/airbag/src/common/string_conversion.h +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// string_conversion.h: Conversion between different UTF-8/16/32 encodings. - -#ifndef COMMON_STRING_CONVERSION_H__ -#define COMMON_STRING_CONVERSION_H__ - -#include -#include - -namespace google_breakpad { - -using std::vector; - -// Convert |in| to UTF-16 into |out|. Use platform byte ordering. If the -// conversion failed, |out| will be zero length. -void UTF8ToUTF16(const char *in, vector *out); - -// Convert at least one character (up to a maximum of |in_length|) from |in| -// to UTF-16 into |out|. Return the number of characters consumed from |in|. -// Any unused characters in |out| will be initialized to 0. No memory will -// be allocated by this routine. -int UTF8ToUTF16Char(const char *in, int in_length, u_int16_t out[2]); - -// Convert |in| to UTF-16 into |out|. Use platform byte ordering. If the -// conversion failed, |out| will be zero length. -void UTF32ToUTF16(const wchar_t *in, vector *out); - -// Convert |in| to UTF-16 into |out|. Any unused characters in |out| will be -// initialized to 0. No memory will be allocated by this routine. -void UTF32ToUTF16Char(wchar_t in, u_int16_t out[2]); - -// Convert |in| to UTF-8. If |swap| is true, swap bytes before converting. -std::string UTF16ToUTF8(const vector &in, bool swap); - -} // namespace google_breakpad - -#endif // COMMON_STRING_CONVERSION_H__ diff --git a/toolkit/airbag/airbag/src/common/windows/Makefile.in b/toolkit/airbag/airbag/src/common/windows/Makefile.in deleted file mode 100755 index 39e3443a5ad7..000000000000 --- a/toolkit/airbag/airbag/src/common/windows/Makefile.in +++ /dev/null @@ -1,59 +0,0 @@ -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Breakpad integration -# -# The Initial Developer of the Original Code is -# Ted Mielczarek -# Portions created by the Initial Developer are Copyright (C) 2006 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = breakpad_windows_common -LIBRARY_NAME = breakpad_windows_common_s - -LOCAL_INCLUDES = -I$(srcdir)/../.. -DEFINES += -DUNICODE -D_UNICODE - -CPPSRCS = \ - guid_string.cc \ - http_upload.cc \ - string_utils.cc \ - $(NULL) - -# need static lib -FORCE_STATIC_LIB = 1 - -include $(topsrcdir)/config/rules.mk diff --git a/toolkit/airbag/airbag/src/common/windows/guid_string.cc b/toolkit/airbag/airbag/src/common/windows/guid_string.cc deleted file mode 100755 index b7f877e66e7e..000000000000 --- a/toolkit/airbag/airbag/src/common/windows/guid_string.cc +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// guid_string.cc: Convert GUIDs to strings. -// -// See guid_string.h for documentation. - -#include - -#include "common/windows/string_utils-inl.h" - -#include "common/windows/guid_string.h" - -namespace google_breakpad { - -// static -wstring GUIDString::GUIDToWString(GUID *guid) { - wchar_t guid_string[37]; - swprintf( - guid_string, sizeof(guid_string) / sizeof(guid_string[0]), - L"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", - guid->Data1, guid->Data2, guid->Data3, - guid->Data4[0], guid->Data4[1], guid->Data4[2], - guid->Data4[3], guid->Data4[4], guid->Data4[5], - guid->Data4[6], guid->Data4[7]); - - // remove when VC++7.1 is no longer supported - guid_string[sizeof(guid_string) / sizeof(guid_string[0]) - 1] = L'\0'; - - return wstring(guid_string); -} - -// static -wstring GUIDString::GUIDToSymbolServerWString(GUID *guid) { - wchar_t guid_string[33]; - swprintf( - guid_string, sizeof(guid_string) / sizeof(guid_string[0]), - L"%08X%04X%04X%02X%02X%02X%02X%02X%02X%02X%02X", - guid->Data1, guid->Data2, guid->Data3, - guid->Data4[0], guid->Data4[1], guid->Data4[2], - guid->Data4[3], guid->Data4[4], guid->Data4[5], - guid->Data4[6], guid->Data4[7]); - - // remove when VC++7.1 is no longer supported - guid_string[sizeof(guid_string) / sizeof(guid_string[0]) - 1] = L'\0'; - - return wstring(guid_string); -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/common/windows/guid_string.h b/toolkit/airbag/airbag/src/common/windows/guid_string.h deleted file mode 100755 index f8aa8a231352..000000000000 --- a/toolkit/airbag/airbag/src/common/windows/guid_string.h +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// guid_string.cc: Convert GUIDs to strings. - -#ifndef COMMON_WINDOWS_GUID_STRING_H__ -#define COMMON_WINDOWS_GUID_STRING_H__ - -#include - -#include - -namespace google_breakpad { - -using std::wstring; - -class GUIDString { - public: - // Converts guid to a string in the format recommended by RFC 4122 and - // returns the string. - static wstring GUIDToWString(GUID *guid); - - // Converts guid to a string formatted as uppercase hexadecimal, with - // no separators, and returns the string. This is the format used for - // symbol server identifiers, although identifiers have an age tacked - // on to the string. - static wstring GUIDToSymbolServerWString(GUID *guid); -}; - -} // namespace google_breakpad - -#endif // COMMON_WINDOWS_GUID_STRING_H__ diff --git a/toolkit/airbag/airbag/src/common/windows/http_upload.cc b/toolkit/airbag/airbag/src/common/windows/http_upload.cc deleted file mode 100755 index 24a0c2c3c40c..000000000000 --- a/toolkit/airbag/airbag/src/common/windows/http_upload.cc +++ /dev/null @@ -1,392 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include - -// Disable exception handler warnings. -#pragma warning( disable : 4530 ) - -#include - -#include "common/windows/string_utils-inl.h" - -#include "common/windows/http_upload.h" - -namespace google_breakpad { - -using std::ifstream; -using std::ios; - -static const wchar_t kUserAgent[] = L"Breakpad/1.0 (Windows)"; - -// Helper class which closes an internet handle when it goes away -class HTTPUpload::AutoInternetHandle { - public: - explicit AutoInternetHandle(HINTERNET handle) : handle_(handle) {} - ~AutoInternetHandle() { - if (handle_) { - InternetCloseHandle(handle_); - } - } - - HINTERNET get() { return handle_; } - - private: - HINTERNET handle_; -}; - -// static -bool HTTPUpload::SendRequest(const wstring &url, - const map ¶meters, - const wstring &upload_file, - const wstring &file_part_name, - wstring *response_body, - int *response_code) { - if (response_code) { - *response_code = 0; - } - - // TODO(bryner): support non-ASCII parameter names - if (!CheckParameters(parameters)) { - return false; - } - - // Break up the URL and make sure we can handle it - wchar_t scheme[16], host[256], path[256]; - URL_COMPONENTS components; - memset(&components, 0, sizeof(components)); - components.dwStructSize = sizeof(components); - components.lpszScheme = scheme; - components.dwSchemeLength = sizeof(scheme); - components.lpszHostName = host; - components.dwHostNameLength = sizeof(host); - components.lpszUrlPath = path; - components.dwUrlPathLength = sizeof(path); - if (!InternetCrackUrl(url.c_str(), static_cast(url.size()), - 0, &components)) { - return false; - } - bool secure = false; - if (wcscmp(scheme, L"https") == 0) { - secure = true; - } else if (wcscmp(scheme, L"http") != 0) { - return false; - } - - AutoInternetHandle internet(InternetOpen(kUserAgent, - INTERNET_OPEN_TYPE_PRECONFIG, - NULL, // proxy name - NULL, // proxy bypass - 0)); // flags - if (!internet.get()) { - return false; - } - - AutoInternetHandle connection(InternetConnect(internet.get(), - host, - components.nPort, - NULL, // user name - NULL, // password - INTERNET_SERVICE_HTTP, - 0, // flags - NULL)); // context - if (!connection.get()) { - return false; - } - - DWORD http_open_flags = secure ? INTERNET_FLAG_SECURE : 0; - AutoInternetHandle request(HttpOpenRequest(connection.get(), - L"POST", - path, - NULL, // version - NULL, // referer - NULL, // agent type - http_open_flags, - NULL)); // context - if (!request.get()) { - return false; - } - - wstring boundary = GenerateMultipartBoundary(); - wstring content_type_header = GenerateRequestHeader(boundary); - HttpAddRequestHeaders(request.get(), - content_type_header.c_str(), - -1, HTTP_ADDREQ_FLAG_ADD); - - string request_body; - if (!GenerateRequestBody(parameters, upload_file, - file_part_name, boundary, &request_body)) { - return false; - } - - if (!HttpSendRequest(request.get(), NULL, 0, - const_cast(request_body.data()), - static_cast(request_body.size()))) { - return false; - } - - // The server indicates a successful upload with HTTP status 200. - wchar_t http_status[4]; - DWORD http_status_size = sizeof(http_status); - if (!HttpQueryInfo(request.get(), HTTP_QUERY_STATUS_CODE, - static_cast(&http_status), &http_status_size, - 0)) { - return false; - } - - int http_response = wcstol(http_status, NULL, 10); - if (response_code) { - *response_code = http_response; - } - - bool result = (http_response == 200); - - if (result) { - result = ReadResponse(request.get(), response_body); - } - - return result; -} - -// static -bool HTTPUpload::ReadResponse(HINTERNET request, wstring *response) { - bool has_content_length_header = false; - wchar_t content_length[32]; - DWORD content_length_size = sizeof(content_length); - DWORD claimed_size; - string response_body; - - if (HttpQueryInfo(request, HTTP_QUERY_CONTENT_LENGTH, - static_cast(&content_length), - &content_length_size, 0)) { - has_content_length_header = true; - claimed_size = wcstol(content_length, NULL, 10); - response_body.reserve(claimed_size); - } - - - DWORD bytes_available; - DWORD total_read = 0; - bool return_code; - - while ((return_code = InternetQueryDataAvailable(request, &bytes_available, - 0, 0) != 0) && - bytes_available > 0) { - vector response_buffer(bytes_available); - DWORD size_read; - - if ((return_code = InternetReadFile(request, &response_buffer[0], - bytes_available, &size_read) != 0) && - size_read > 0) { - total_read += size_read; - response_body.append(&response_buffer[0], size_read); - } else { - break; - } - } - - bool succeeded = return_code && (!has_content_length_header || - (total_read == claimed_size)); - if (succeeded && response) { - *response = UTF8ToWide(response_body); - } - - return succeeded; -} - -// static -wstring HTTPUpload::GenerateMultipartBoundary() { - // The boundary has 27 '-' characters followed by 16 hex digits - static const wchar_t kBoundaryPrefix[] = L"---------------------------"; - static const int kBoundaryLength = 27 + 16 + 1; - - // Generate some random numbers to fill out the boundary - int r0 = rand(); - int r1 = rand(); - - wchar_t temp[kBoundaryLength]; - swprintf(temp, kBoundaryLength, L"%s%08X%08X", kBoundaryPrefix, r0, r1); - - // remove when VC++7.1 is no longer supported - temp[kBoundaryLength - 1] = L'\0'; - - return wstring(temp); -} - -// static -wstring HTTPUpload::GenerateRequestHeader(const wstring &boundary) { - wstring header = L"Content-Type: multipart/form-data; boundary="; - header += boundary; - return header; -} - -// static -bool HTTPUpload::GenerateRequestBody(const map ¶meters, - const wstring &upload_file, - const wstring &file_part_name, - const wstring &boundary, - string *request_body) { - vector contents; - GetFileContents(upload_file, &contents); - if (contents.empty()) { - return false; - } - - string boundary_str = WideToUTF8(boundary); - if (boundary_str.empty()) { - return false; - } - - request_body->clear(); - - // Append each of the parameter pairs as a form-data part - for (map::const_iterator pos = parameters.begin(); - pos != parameters.end(); ++pos) { - request_body->append("--" + boundary_str + "\r\n"); - request_body->append("Content-Disposition: form-data; name=\"" + - WideToUTF8(pos->first) + "\"\r\n\r\n" + - WideToUTF8(pos->second) + "\r\n"); - } - - // Now append the upload file as a binary (octet-stream) part - string filename_utf8 = WideToUTF8(upload_file); - if (filename_utf8.empty()) { - return false; - } - - string file_part_name_utf8 = WideToUTF8(file_part_name); - if (file_part_name_utf8.empty()) { - return false; - } - - request_body->append("--" + boundary_str + "\r\n"); - request_body->append("Content-Disposition: form-data; " - "name=\"" + file_part_name_utf8 + "\"; " - "filename=\"" + filename_utf8 + "\"\r\n"); - request_body->append("Content-Type: application/octet-stream\r\n"); - request_body->append("\r\n"); - - if (!contents.empty()) { - request_body->append(&(contents[0]), contents.size()); - } - request_body->append("\r\n"); - request_body->append("--" + boundary_str + "--\r\n"); - return true; -} - -// static -void HTTPUpload::GetFileContents(const wstring &filename, - vector *contents) { - // The "open" method on pre-MSVC8 ifstream implementations doesn't accept a - // wchar_t* filename, so use _wfopen directly in that case. For VC8 and - // later, _wfopen has been deprecated in favor of _wfopen_s, which does - // not exist in earlier versions, so let the ifstream open the file itself. -#if _MSC_VER >= 1400 // MSVC 2005/8 - ifstream file; - file.open(filename.c_str(), ios::binary); -#else // _MSC_VER >= 1400 - ifstream file(_wfopen(filename.c_str(), L"rb")); -#endif // _MSC_VER >= 1400 - if (file.is_open()) { - file.seekg(0, ios::end); - int length = file.tellg(); - contents->resize(length); - if (length != 0) { - file.seekg(0, ios::beg); - file.read(&((*contents)[0]), length); - } - file.close(); - } else { - contents->clear(); - } -} - -// static -wstring HTTPUpload::UTF8ToWide(const string &utf8) { - if (utf8.length() == 0) { - return wstring(); - } - - // compute the length of the buffer we'll need - int charcount = MultiByteToWideChar(CP_UTF8, 0, utf8.c_str(), -1, NULL, 0); - - if (charcount == 0) { - return wstring(); - } - - // convert - wchar_t* buf = new wchar_t[charcount]; - MultiByteToWideChar(CP_UTF8, 0, utf8.c_str(), -1, buf, charcount); - wstring result(buf); - delete[] buf; - return result; -} - -// static -string HTTPUpload::WideToUTF8(const wstring &wide) { - if (wide.length() == 0) { - return string(); - } - - // compute the length of the buffer we'll need - int charcount = WideCharToMultiByte(CP_UTF8, 0, wide.c_str(), -1, - NULL, 0, NULL, NULL); - if (charcount == 0) { - return string(); - } - - // convert - char *buf = new char[charcount]; - WideCharToMultiByte(CP_UTF8, 0, wide.c_str(), -1, buf, charcount, - NULL, NULL); - - string result(buf); - delete[] buf; - return result; -} - -// static -bool HTTPUpload::CheckParameters(const map ¶meters) { - for (map::const_iterator pos = parameters.begin(); - pos != parameters.end(); ++pos) { - const wstring &str = pos->first; - if (str.size() == 0) { - return false; // disallow empty parameter names - } - for (unsigned int i = 0; i < str.size(); ++i) { - wchar_t c = str[i]; - if (c < 32 || c == '"' || c > 127) { - return false; - } - } - } - return true; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/common/windows/http_upload.h b/toolkit/airbag/airbag/src/common/windows/http_upload.h deleted file mode 100755 index a1ba7ae1c866..000000000000 --- a/toolkit/airbag/airbag/src/common/windows/http_upload.h +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// HTTPUpload provides a "nice" API to send a multipart HTTP(S) POST -// request using wininet. It currently supports requests that contain -// a set of string parameters (key/value pairs), and a file to upload. - -#ifndef COMMON_WINDOWS_HTTP_UPLOAD_H__ -#define COMMON_WINDOWS_HTTP_UPLOAD_H__ - -#pragma warning( push ) -// Disable exception handler warnings. -#pragma warning( disable : 4530 ) - -#include -#include - -#include -#include -#include - -namespace google_breakpad { - -using std::string; -using std::wstring; -using std::map; -using std::vector; - -class HTTPUpload { - public: - // Sends the given set of parameters, along with the contents of - // upload_file, as a multipart POST request to the given URL. - // file_part_name contains the name of the file part of the request - // (i.e. it corresponds to the name= attribute on an . - // Parameter names must contain only printable ASCII characters, - // and may not contain a quote (") character. - // Only HTTP(S) URLs are currently supported. Returns true on success. - // If the request is successful and response_body is non-NULL, - // the response body will be returned in response_body. - // If response_code is non-NULL, it will be set to the HTTP response code - // received (or 0 if the request failed before getting an HTTP response). - static bool SendRequest(const wstring &url, - const map ¶meters, - const wstring &upload_file, - const wstring &file_part_name, - wstring *response_body, - int *response_code); - - private: - class AutoInternetHandle; - - // Retrieves the HTTP response. If NULL is passed in for response, - // this merely checks (via the return value) that we were successfully - // able to retrieve exactly as many bytes of content in the response as - // were specified in the Content-Length header. - static bool HTTPUpload::ReadResponse(HINTERNET request, wstring* response); - - // Generates a new multipart boundary for a POST request - static wstring GenerateMultipartBoundary(); - - // Generates a HTTP request header for a multipart form submit. - static wstring GenerateRequestHeader(const wstring &boundary); - - // Given a set of parameters, an upload filename, and a file part name, - // generates a multipart request body string with these parameters - // and minidump contents. Returns true on success. - static bool GenerateRequestBody(const map ¶meters, - const wstring &upload_file, - const wstring &file_part_name, - const wstring &boundary, - string *request_body); - - // Fills the supplied vector with the contents of filename. - static void GetFileContents(const wstring &filename, vector *contents); - - // Converts a UTF8 string to UTF16. - static wstring UTF8ToWide(const string &utf8); - - // Converts a UTF16 string to UTF8. - static string WideToUTF8(const wstring &wide); - - // Checks that the given list of parameters has only printable - // ASCII characters in the parameter name, and does not contain - // any quote (") characters. Returns true if so. - static bool CheckParameters(const map ¶meters); - - // No instances of this class should be created. - // Disallow all constructors, destructors, and operator=. - HTTPUpload(); - explicit HTTPUpload(const HTTPUpload &); - void operator=(const HTTPUpload &); - ~HTTPUpload(); -}; - -} // namespace google_breakpad - -#pragma warning( pop ) - -#endif // COMMON_WINDOWS_HTTP_UPLOAD_H__ diff --git a/toolkit/airbag/airbag/src/common/windows/pdb_source_line_writer.cc b/toolkit/airbag/airbag/src/common/windows/pdb_source_line_writer.cc deleted file mode 100755 index 0392627f66a5..000000000000 --- a/toolkit/airbag/airbag/src/common/windows/pdb_source_line_writer.cc +++ /dev/null @@ -1,800 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include -#include -#include - -#include "common/windows/string_utils-inl.h" - -#include "common/windows/pdb_source_line_writer.h" -#include "common/windows/guid_string.h" - -// This constant may be missing from DbgHelp.h. See the documentation for -// IDiaSymbol::get_undecoratedNameEx. -#ifndef UNDNAME_NO_ECSU -#define UNDNAME_NO_ECSU 0x8000 // Suppresses enum/class/struct/union. -#endif // UNDNAME_NO_ECSU - -namespace google_breakpad { - -PDBSourceLineWriter::PDBSourceLineWriter() : output_(NULL) { -} - -PDBSourceLineWriter::~PDBSourceLineWriter() { -} - -bool PDBSourceLineWriter::Open(const wstring &file, FileFormat format) { - Close(); - - if (FAILED(CoInitialize(NULL))) { - fprintf(stderr, "CoInitialize failed\n"); - return false; - } - - CComPtr data_source; - if (FAILED(data_source.CoCreateInstance(CLSID_DiaSource))) { - fprintf(stderr, "CoCreateInstance CLSID_DiaSource failed " - "(msdia80.dll unregistered?)\n"); - return false; - } - - switch (format) { - case PDB_FILE: - if (FAILED(data_source->loadDataFromPdb(file.c_str()))) { - fprintf(stderr, "loadDataFromPdb failed\n"); - return false; - } - break; - case EXE_FILE: - if (FAILED(data_source->loadDataForExe(file.c_str(), NULL, NULL))) { - fprintf(stderr, "loadDataForExe failed\n"); - return false; - } - break; - case ANY_FILE: - if (FAILED(data_source->loadDataFromPdb(file.c_str()))) { - if (FAILED(data_source->loadDataForExe(file.c_str(), NULL, NULL))) { - fprintf(stderr, "loadDataForPdb and loadDataFromExe failed\n"); - return false; - } - } - break; - default: - fprintf(stderr, "Unknown file format\n"); - return false; - } - - if (FAILED(data_source->openSession(&session_))) { - fprintf(stderr, "openSession failed\n"); - } - - return true; -} - -bool PDBSourceLineWriter::PrintLines(IDiaEnumLineNumbers *lines) { - // The line number format is: - // - CComPtr line; - ULONG count; - - while (SUCCEEDED(lines->Next(1, &line, &count)) && count == 1) { - DWORD rva; - if (FAILED(line->get_relativeVirtualAddress(&rva))) { - fprintf(stderr, "failed to get line rva\n"); - return false; - } - - DWORD length; - if (FAILED(line->get_length(&length))) { - fprintf(stderr, "failed to get line code length\n"); - return false; - } - - DWORD source_id; - if (FAILED(line->get_sourceFileId(&source_id))) { - fprintf(stderr, "failed to get line source file id\n"); - return false; - } - - DWORD line_num; - if (FAILED(line->get_lineNumber(&line_num))) { - fprintf(stderr, "failed to get line number\n"); - return false; - } - - fprintf(output_, "%x %x %d %d\n", rva, length, line_num, source_id); - line.Release(); - } - return true; -} - -bool PDBSourceLineWriter::PrintFunction(IDiaSymbol *function) { - // The function format is: - // FUNC
- DWORD rva; - if (FAILED(function->get_relativeVirtualAddress(&rva))) { - fprintf(stderr, "couldn't get rva\n"); - return false; - } - - ULONGLONG length; - if (FAILED(function->get_length(&length))) { - fprintf(stderr, "failed to get function length\n"); - return false; - } - - if (length == 0) { - // Silently ignore zero-length functions, which can infrequently pop up. - return true; - } - - CComBSTR name; - int stack_param_size; - if (!GetSymbolFunctionName(function, &name, &stack_param_size)) { - return false; - } - - // If the decorated name didn't give the parameter size, try to - // calculate it. - if (stack_param_size < 0) { - stack_param_size = GetFunctionStackParamSize(function); - } - - fprintf(output_, "FUNC %x %" WIN_STRING_FORMAT_LL "x %x %ws\n", - rva, length, stack_param_size, name); - - CComPtr lines; - if (FAILED(session_->findLinesByRVA(rva, DWORD(length), &lines))) { - return false; - } - - if (!PrintLines(lines)) { - return false; - } - return true; -} - -bool PDBSourceLineWriter::PrintSourceFiles() { - CComPtr global; - if (FAILED(session_->get_globalScope(&global))) { - fprintf(stderr, "get_globalScope failed\n"); - return false; - } - - CComPtr compilands; - if (FAILED(global->findChildren(SymTagCompiland, NULL, - nsNone, &compilands))) { - fprintf(stderr, "findChildren failed\n"); - return false; - } - - CComPtr compiland; - ULONG count; - while (SUCCEEDED(compilands->Next(1, &compiland, &count)) && count == 1) { - CComPtr source_files; - if (FAILED(session_->findFile(compiland, NULL, nsNone, &source_files))) { - return false; - } - CComPtr file; - while (SUCCEEDED(source_files->Next(1, &file, &count)) && count == 1) { - DWORD file_id; - if (FAILED(file->get_uniqueId(&file_id))) { - return false; - } - - CComBSTR file_name; - if (FAILED(file->get_fileName(&file_name))) { - return false; - } - - fwprintf(output_, L"FILE %d %s\n", file_id, file_name); - file.Release(); - } - compiland.Release(); - } - return true; -} - -bool PDBSourceLineWriter::PrintFunctions() { - CComPtr symbols; - if (FAILED(session_->getSymbolsByAddr(&symbols))) { - fprintf(stderr, "failed to get symbol enumerator\n"); - return false; - } - - CComPtr symbol; - if (FAILED(symbols->symbolByAddr(1, 0, &symbol))) { - fprintf(stderr, "failed to enumerate symbols\n"); - return false; - } - - DWORD rva_last = 0; - if (FAILED(symbol->get_relativeVirtualAddress(&rva_last))) { - fprintf(stderr, "failed to get symbol rva\n"); - return false; - } - - ULONG count; - do { - DWORD tag; - if (FAILED(symbol->get_symTag(&tag))) { - fprintf(stderr, "failed to get symbol tag\n"); - return false; - } - - // For a given function, DIA seems to give either a symbol with - // SymTagFunction or SymTagPublicSymbol, but not both. This means - // that PDBSourceLineWriter will output either a FUNC or PUBLIC line, - // but not both. - if (tag == SymTagFunction) { - if (!PrintFunction(symbol)) { - return false; - } - } else if (tag == SymTagPublicSymbol) { - if (!PrintCodePublicSymbol(symbol)) { - return false; - } - } - symbol.Release(); - } while (SUCCEEDED(symbols->Next(1, &symbol, &count)) && count == 1); - - return true; -} - -bool PDBSourceLineWriter::PrintFrameData() { - // It would be nice if it were possible to output frame data alongside the - // associated function, as is done with line numbers, but the DIA API - // doesn't make it possible to get the frame data in that way. - - CComPtr tables; - if (FAILED(session_->getEnumTables(&tables))) - return false; - - // Pick up the first table that supports IDiaEnumFrameData. - CComPtr frame_data_enum; - CComPtr table; - ULONG count; - while (!frame_data_enum && - SUCCEEDED(tables->Next(1, &table, &count)) && - count == 1) { - table->QueryInterface(_uuidof(IDiaEnumFrameData), - reinterpret_cast(&frame_data_enum)); - table.Release(); - } - if (!frame_data_enum) - return false; - - DWORD last_type = -1; - DWORD last_rva = -1; - DWORD last_code_size = 0; - DWORD last_prolog_size = -1; - - CComPtr frame_data; - while (SUCCEEDED(frame_data_enum->Next(1, &frame_data, &count)) && - count == 1) { - DWORD type; - if (FAILED(frame_data->get_type(&type))) - return false; - - DWORD rva; - if (FAILED(frame_data->get_relativeVirtualAddress(&rva))) - return false; - - DWORD code_size; - if (FAILED(frame_data->get_lengthBlock(&code_size))) - return false; - - DWORD prolog_size; - if (FAILED(frame_data->get_lengthProlog(&prolog_size))) - return false; - - // epliog_size is always 0. - DWORD epilog_size = 0; - - // parameter_size is the size of parameters passed on the stack. If any - // parameters are not passed on the stack (such as in registers), their - // sizes will not be included in parameter_size. - DWORD parameter_size; - if (FAILED(frame_data->get_lengthParams(¶meter_size))) - return false; - - DWORD saved_register_size; - if (FAILED(frame_data->get_lengthSavedRegisters(&saved_register_size))) - return false; - - DWORD local_size; - if (FAILED(frame_data->get_lengthLocals(&local_size))) - return false; - - // get_maxStack can return S_FALSE, just use 0 in that case. - DWORD max_stack_size = 0; - if (FAILED(frame_data->get_maxStack(&max_stack_size))) - return false; - - // get_programString can return S_FALSE, indicating that there is no - // program string. In that case, check whether %ebp is used. - HRESULT program_string_result; - CComBSTR program_string; - if (FAILED(program_string_result = frame_data->get_program( - &program_string))) { - return false; - } - - // get_allocatesBasePointer can return S_FALSE, treat that as though - // %ebp is not used. - BOOL allocates_base_pointer = FALSE; - if (program_string_result != S_OK) { - if (FAILED(frame_data->get_allocatesBasePointer( - &allocates_base_pointer))) { - return false; - } - } - - // Only print out a line if type, rva, code_size, or prolog_size have - // changed from the last line. It is surprisingly common (especially in - // system library PDBs) for DIA to return a series of identical - // IDiaFrameData objects. For kernel32.pdb from Windows XP SP2 on x86, - // this check reduces the size of the dumped symbol file by a third. - if (type != last_type || rva != last_rva || code_size != last_code_size || - prolog_size != last_prolog_size) { - fprintf(output_, "STACK WIN %x %x %x %x %x %x %x %x %x %d ", - type, rva, code_size, prolog_size, epilog_size, - parameter_size, saved_register_size, local_size, max_stack_size, - program_string_result == S_OK); - if (program_string_result == S_OK) { - fprintf(output_, "%ws\n", program_string); - } else { - fprintf(output_, "%d\n", allocates_base_pointer); - } - - last_type = type; - last_rva = rva; - last_code_size = code_size; - last_prolog_size = prolog_size; - } - - frame_data.Release(); - } - - return true; -} - -bool PDBSourceLineWriter::PrintCodePublicSymbol(IDiaSymbol *symbol) { - BOOL is_code; - if (FAILED(symbol->get_code(&is_code))) { - return false; - } - if (!is_code) { - return true; - } - - DWORD rva; - if (FAILED(symbol->get_relativeVirtualAddress(&rva))) { - return false; - } - - CComBSTR name; - int stack_param_size; - if (!GetSymbolFunctionName(symbol, &name, &stack_param_size)) { - return false; - } - - fprintf(output_, "PUBLIC %x %x %ws\n", rva, - stack_param_size > 0 ? stack_param_size : 0, name); - return true; -} - -bool PDBSourceLineWriter::PrintPDBInfo() { - PDBModuleInfo info; - if (!GetModuleInfo(&info)) { - return false; - } - - // Hard-code "windows" for the OS because that's the only thing that makes - // sense for PDB files. (This might not be strictly correct for Windows CE - // support, but we don't care about that at the moment.) - fprintf(output_, "MODULE windows %ws %ws %ws\n", - info.cpu.c_str(), info.debug_identifier.c_str(), - info.debug_file.c_str()); - - return true; -} - -// wcstol_positive_strict is sort of like wcstol, but much stricter. string -// should be a buffer pointing to a null-terminated string containing only -// decimal digits. If the entire string can be converted to an integer -// without overflowing, and there are no non-digit characters before the -// result is set to the value and this function returns true. Otherwise, -// this function returns false. This is an alternative to the strtol, atoi, -// and scanf families, which are not as strict about input and in some cases -// don't provide a good way for the caller to determine if a conversion was -// successful. -static bool wcstol_positive_strict(wchar_t *string, int *result) { - int value = 0; - for (wchar_t *c = string; *c != '\0'; ++c) { - int last_value = value; - value *= 10; - // Detect overflow. - if (value / 10 != last_value || value < 0) { - return false; - } - if (*c < '0' || *c > '9') { - return false; - } - unsigned int c_value = *c - '0'; - last_value = value; - value += c_value; - // Detect overflow. - if (value < last_value) { - return false; - } - // Forbid leading zeroes unless the string is just "0". - if (value == 0 && *(c+1) != '\0') { - return false; - } - } - *result = value; - return true; -} - -// static -bool PDBSourceLineWriter::GetSymbolFunctionName(IDiaSymbol *function, - BSTR *name, - int *stack_param_size) { - *stack_param_size = -1; - const DWORD undecorate_options = UNDNAME_NO_MS_KEYWORDS | - UNDNAME_NO_FUNCTION_RETURNS | - UNDNAME_NO_ALLOCATION_MODEL | - UNDNAME_NO_ALLOCATION_LANGUAGE | - UNDNAME_NO_THISTYPE | - UNDNAME_NO_ACCESS_SPECIFIERS | - UNDNAME_NO_THROW_SIGNATURES | - UNDNAME_NO_MEMBER_TYPE | - UNDNAME_NO_RETURN_UDT_MODEL | - UNDNAME_NO_ECSU; - - // Use get_undecoratedNameEx to get readable C++ names with arguments. - if (function->get_undecoratedNameEx(undecorate_options, name) != S_OK) { - if (function->get_name(name) != S_OK) { - fprintf(stderr, "failed to get function name\n"); - return false; - } - // If a name comes from get_name because no undecorated form existed, - // it's already formatted properly to be used as output. Don't do any - // additional processing. - // - // MSVC7's DIA seems to not undecorate names in as many cases as MSVC8's. - // This will result in calling get_name for some C++ symbols, so - // all of the parameter and return type information may not be included in - // the name string. - } else { - // C++ uses a bogus "void" argument for functions and methods that don't - // take any parameters. Take it out of the undecorated name because it's - // ugly and unnecessary. - const wchar_t *replace_string = L"(void)"; - const size_t replace_length = wcslen(replace_string); - const wchar_t *replacement_string = L"()"; - size_t length = wcslen(*name); - if (length >= replace_length) { - wchar_t *name_end = *name + length - replace_length; - if (wcscmp(name_end, replace_string) == 0) { - WindowsStringUtils::safe_wcscpy(name_end, replace_length, - replacement_string); - length = wcslen(*name); - } - } - - // Undecorate names used for stdcall and fastcall. These names prefix - // the identifier with '_' (stdcall) or '@' (fastcall) and suffix it - // with '@' followed by the number of bytes of parameters, in decimal. - // If such a name is found, take note of the size and undecorate it. - // Only do this for names that aren't C++, which is determined based on - // whether the undecorated name contains any ':' or '(' characters. - if (!wcschr(*name, ':') && !wcschr(*name, '(') && - (*name[0] == '_' || *name[0] == '@')) { - wchar_t *last_at = wcsrchr(*name + 1, '@'); - if (last_at && wcstol_positive_strict(last_at + 1, stack_param_size)) { - // If this function adheres to the fastcall convention, it accepts up - // to the first 8 bytes of parameters in registers (%ecx and %edx). - // We're only interested in the stack space used for parameters, so - // so subtract 8 and don't let the size go below 0. - if (*name[0] == '@') { - if (*stack_param_size > 8) { - *stack_param_size -= 8; - } else { - *stack_param_size = 0; - } - } - - // Undecorate the name by moving it one character to the left in its - // buffer, and terminating it where the last '@' had been. - WindowsStringUtils::safe_wcsncpy(*name, length, - *name + 1, last_at - *name - 1); - } else if (*name[0] == '_') { - // This symbol's name is encoded according to the cdecl rules. The - // name doesn't end in a '@' character followed by a decimal positive - // integer, so it's not a stdcall name. Strip off the leading - // underscore. - WindowsStringUtils::safe_wcsncpy(*name, length, *name + 1, length); - } - } - } - - return true; -} - -// static -int PDBSourceLineWriter::GetFunctionStackParamSize(IDiaSymbol *function) { - // This implementation is highly x86-specific. - - // Gather the symbols corresponding to data. - CComPtr data_children; - if (FAILED(function->findChildren(SymTagData, NULL, nsNone, - &data_children))) { - return 0; - } - - // lowest_base is the lowest %ebp-relative byte offset used for a parameter. - // highest_end is one greater than the highest offset (i.e. base + length). - // Stack parameters are assumed to be contiguous, because in reality, they - // are. - int lowest_base = INT_MAX; - int highest_end = INT_MIN; - - CComPtr child; - DWORD count; - while (SUCCEEDED(data_children->Next(1, &child, &count)) && count == 1) { - // If any operation fails at this point, just proceed to the next child. - // Use the next_child label instead of continue because child needs to - // be released before it's reused. Declare constructable/destructable - // types early to avoid gotos that cross initializations. - CComPtr child_type; - - // DataIsObjectPtr is only used for |this|. Because |this| can be passed - // as a stack parameter, look for it in addition to traditional - // parameters. - DWORD child_kind; - if (FAILED(child->get_dataKind(&child_kind)) || - (child_kind != DataIsParam && child_kind != DataIsObjectPtr)) { - goto next_child; - } - - // Only concentrate on register-relative parameters. Parameters may also - // be enregistered (passed directly in a register), but those don't - // consume any stack space, so they're not of interest. - DWORD child_location_type; - if (FAILED(child->get_locationType(&child_location_type)) || - child_location_type != LocIsRegRel) { - goto next_child; - } - - // Of register-relative parameters, the only ones that make any sense are - // %ebp- or %esp-relative. Note that MSVC's debugging information always - // gives parameters as %ebp-relative even when a function doesn't use a - // traditional frame pointer and stack parameters are accessed relative to - // %esp, so just look for %ebp-relative parameters. If you wanted to - // access parameters, you'd probably want to treat these %ebp-relative - // offsets as if they were relative to %esp before a function's prolog - // executed. - DWORD child_register; - if (FAILED(child->get_registerId(&child_register)) || - child_register != CV_REG_EBP) { - goto next_child; - } - - LONG child_register_offset; - if (FAILED(child->get_offset(&child_register_offset))) { - goto next_child; - } - - // IDiaSymbol::get_type can succeed but still pass back a NULL value. - if (FAILED(child->get_type(&child_type)) || !child_type) { - goto next_child; - } - - ULONGLONG child_length; - if (FAILED(child_type->get_length(&child_length))) { - goto next_child; - } - - int child_end = child_register_offset + static_cast(child_length); - if (child_register_offset < lowest_base) { - lowest_base = child_register_offset; - } - if (child_end > highest_end) { - highest_end = child_end; - } - -next_child: - child.Release(); - } - - int param_size = 0; - // Make sure lowest_base isn't less than 4, because [%esp+4] is the lowest - // possible address to find a stack parameter before executing a function's - // prolog (see above). Some optimizations cause parameter offsets to be - // lower than 4, but we're not concerned with those because we're only - // looking for parameters contained in addresses higher than where the - // return address is stored. - if (lowest_base < 4) { - lowest_base = 4; - } - if (highest_end > lowest_base) { - // All stack parameters are pushed as at least 4-byte quantities. If the - // last type was narrower than 4 bytes, promote it. This assumes that all - // parameters' offsets are 4-byte-aligned, which is always the case. Only - // worry about the last type, because we're not summing the type sizes, - // just looking at the lowest and highest offsets. - int remainder = highest_end % 4; - if (remainder) { - highest_end += 4 - remainder; - } - - param_size = highest_end - lowest_base; - } - - return param_size; -} - -bool PDBSourceLineWriter::WriteMap(FILE *map_file) { - output_ = map_file; - - bool ret = PrintPDBInfo() && - PrintSourceFiles() && - PrintFunctions() && - PrintFrameData(); - - output_ = NULL; - return ret; -} - -void PDBSourceLineWriter::Close() { - session_.Release(); -} - -bool PDBSourceLineWriter::GetModuleInfo(PDBModuleInfo *info) { - if (!info) { - return false; - } - - info->debug_file.clear(); - info->debug_identifier.clear(); - info->cpu.clear(); - - CComPtr global; - if (FAILED(session_->get_globalScope(&global))) { - return false; - } - - // All CPUs in CV_CPU_TYPE_e (cvconst.h) below 0x10 are x86. There's no - // single specific constant to use. - DWORD platform; - if (SUCCEEDED(global->get_platform(&platform)) && platform < 0x10) { - info->cpu = L"x86"; - } else { - // Unexpected, but handle gracefully. - info->cpu = L"unknown"; - } - - // DWORD* and int* are not compatible. This is clean and avoids a cast. - DWORD age; - if (FAILED(global->get_age(&age))) { - return false; - } - - bool uses_guid; - if (!UsesGUID(&uses_guid)) { - return false; - } - - if (uses_guid) { - GUID guid; - if (FAILED(global->get_guid(&guid))) { - return false; - } - - // Use the same format that the MS symbol server uses in filesystem - // hierarchies. - wchar_t age_string[9]; - swprintf(age_string, sizeof(age_string) / sizeof(age_string[0]), - L"%x", age); - - // remove when VC++7.1 is no longer supported - age_string[sizeof(age_string) / sizeof(age_string[0]) - 1] = L'\0'; - - info->debug_identifier = GUIDString::GUIDToSymbolServerWString(&guid); - info->debug_identifier.append(age_string); - } else { - DWORD signature; - if (FAILED(global->get_signature(&signature))) { - return false; - } - - // Use the same format that the MS symbol server uses in filesystem - // hierarchies. - wchar_t identifier_string[17]; - swprintf(identifier_string, - sizeof(identifier_string) / sizeof(identifier_string[0]), - L"%08X%x", signature, age); - - // remove when VC++7.1 is no longer supported - identifier_string[sizeof(identifier_string) / - sizeof(identifier_string[0]) - 1] = L'\0'; - - info->debug_identifier = identifier_string; - } - - CComBSTR debug_file_string; - if (FAILED(global->get_symbolsFileName(&debug_file_string))) { - return false; - } - info->debug_file = - WindowsStringUtils::GetBaseName(wstring(debug_file_string)); - - return true; -} - -bool PDBSourceLineWriter::UsesGUID(bool *uses_guid) { - if (!uses_guid) - return false; - - CComPtr global; - if (FAILED(session_->get_globalScope(&global))) - return false; - - GUID guid; - if (FAILED(global->get_guid(&guid))) - return false; - - DWORD signature; - if (FAILED(global->get_signature(&signature))) - return false; - - // There are two possibilities for guid: either it's a real 128-bit GUID - // as identified in a code module by a new-style CodeView record, or it's - // a 32-bit signature (timestamp) as identified by an old-style record. - // See MDCVInfoPDB70 and MDCVInfoPDB20 in minidump_format.h. - // - // Because DIA doesn't provide a way to directly determine whether a module - // uses a GUID or a 32-bit signature, this code checks whether the first 32 - // bits of guid are the same as the signature, and if the rest of guid is - // zero. If so, then with a pretty high degree of certainty, there's an - // old-style CodeView record in use. This method will only falsely find an - // an old-style CodeView record if a real 128-bit GUID has its first 32 - // bits set the same as the module's signature (timestamp) and the rest of - // the GUID is set to 0. This is highly unlikely. - - GUID signature_guid = {signature}; // 0-initializes other members - *uses_guid = !IsEqualGUID(guid, signature_guid); - return true; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/common/windows/pdb_source_line_writer.h b/toolkit/airbag/airbag/src/common/windows/pdb_source_line_writer.h deleted file mode 100755 index e91d0737c93d..000000000000 --- a/toolkit/airbag/airbag/src/common/windows/pdb_source_line_writer.h +++ /dev/null @@ -1,163 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// PDBSourceLineWriter uses a pdb file produced by Visual C++ to output -// a line/address map for use with BasicSourceLineResolver. - -#ifndef _PDB_SOURCE_LINE_WRITER_H__ -#define _PDB_SOURCE_LINE_WRITER_H__ - -#include - -#include - -struct IDiaEnumLineNumbers; -struct IDiaSession; -struct IDiaSymbol; - -namespace google_breakpad { - -using std::wstring; - -// A structure that carries information that identifies a pdb file. -struct PDBModuleInfo { - public: - // The basename of the pdb file from which information was loaded. - wstring debug_file; - - // The pdb's identifier. For recent pdb files, the identifier consists - // of the pdb's guid, in uppercase hexadecimal form without any dashes - // or separators, followed immediately by the pdb's age, also in - // uppercase hexadecimal form. For older pdb files which have no guid, - // the identifier is the pdb's 32-bit signature value, in zero-padded - // hexadecimal form, followed immediately by the pdb's age, in lowercase - // hexadecimal form. - wstring debug_identifier; - - // A string identifying the cpu that the pdb is associated with. - // Currently, this may be "x86" or "unknown". - wstring cpu; -}; - -class PDBSourceLineWriter { - public: - enum FileFormat { - PDB_FILE, // a .pdb file containing debug symbols - EXE_FILE, // a .exe or .dll file - ANY_FILE // try PDB_FILE and then EXE_FILE - }; - - explicit PDBSourceLineWriter(); - ~PDBSourceLineWriter(); - - // Opens the given file. For executable files, the corresponding pdb - // file must be available; Open will be if it is not. - // If there is already a pdb file open, it is automatically closed. - // Returns true on success. - bool Open(const wstring &file, FileFormat format); - - // Locates the pdb file for the given executable (exe or dll) file, - // and opens it. If there is already a pdb file open, it is automatically - // closed. Returns true on success. - bool OpenExecutable(const wstring &exe_file); - - // Writes a map file from the current pdb file to the given file stream. - // Returns true on success. - bool WriteMap(FILE *map_file); - - // Closes the current pdb file and its associated resources. - void Close(); - - // Retrieves information about the module's debugging file. Returns - // true on success and false on failure. - bool GetModuleInfo(PDBModuleInfo *info); - - // Sets uses_guid to true if the opened file uses a new-style CodeView - // record with a 128-bit GUID, or false if the opened file uses an old-style - // CodeView record. When no GUID is available, a 32-bit signature should be - // used to identify the module instead. If the information cannot be - // determined, this method returns false. - bool UsesGUID(bool *uses_guid); - - private: - // Outputs the line/address pairs for each line in the enumerator. - // Returns true on success. - bool PrintLines(IDiaEnumLineNumbers *lines); - - // Outputs a function address and name, followed by its source line list. - // Returns true on success. - bool PrintFunction(IDiaSymbol *function); - - // Outputs all functions as described above. Returns true on success. - bool PrintFunctions(); - - // Outputs all of the source files in the session's pdb file. - // Returns true on success. - bool PrintSourceFiles(); - - // Outputs all of the frame information necessary to construct stack - // backtraces in the absence of frame pointers. Returns true on success. - bool PrintFrameData(); - - // Outputs a single public symbol address and name, if the symbol corresponds - // to a code address. Returns true on success. If symbol is does not - // correspond to code, returns true without outputting anything. - bool PrintCodePublicSymbol(IDiaSymbol *symbol); - - // Outputs a line identifying the PDB file that is being dumped, along with - // its uuid and age. - bool PrintPDBInfo(); - - // Returns the function name for a symbol. If possible, the name is - // undecorated. If the symbol's decorated form indicates the size of - // parameters on the stack, this information is returned in stack_param_size. - // Returns true on success. If the symbol doesn't encode parameter size - // information, stack_param_size is set to -1. - static bool GetSymbolFunctionName(IDiaSymbol *function, BSTR *name, - int *stack_param_size); - - // Returns the number of bytes of stack space used for a function's - // parameters. function must have the tag SymTagFunction. In the event of - // a failure, returns 0, which is also a valid number of bytes. - static int GetFunctionStackParamSize(IDiaSymbol *function); - - // The session for the currently-open pdb file. - CComPtr session_; - - // The current output file for this WriteMap invocation. - FILE *output_; - - // Disallow copy ctor and operator= - PDBSourceLineWriter(const PDBSourceLineWriter&); - void operator=(const PDBSourceLineWriter&); -}; - -} // namespace google_breakpad - -#endif // _PDB_SOURCE_LINE_WRITER_H__ diff --git a/toolkit/airbag/airbag/src/common/windows/string_utils-inl.h b/toolkit/airbag/airbag/src/common/windows/string_utils-inl.h deleted file mode 100755 index db18124d6c08..000000000000 --- a/toolkit/airbag/airbag/src/common/windows/string_utils-inl.h +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// string_utils-inl.h: Safer string manipulation on Windows, supporting -// pre-MSVC8 environments. - -#ifndef COMMON_WINDOWS_STRING_UTILS_INL_H__ -#define COMMON_WINDOWS_STRING_UTILS_INL_H__ - -#include -#include - -#include - -// The "ll" printf format size specifier corresponding to |long long| was -// intrudced in MSVC8. Earlier versions did not provide this size specifier, -// but "I64" can be used to print 64-bit types. Don't use "I64" where "ll" -// is available, in the event of oddball systems where |long long| is not -// 64 bits wide. -#if _MSC_VER >= 1400 // MSVC 2005/8 -#define WIN_STRING_FORMAT_LL "ll" -#else // MSC_VER >= 1400 -#define WIN_STRING_FORMAT_LL "I64" -#endif // MSC_VER >= 1400 - -// A nonconforming version of swprintf, without the length argument, was -// included with the CRT prior to MSVC8. Although a conforming version was -// also available via an overload, it is not reliably chosen. _snwprintf -// behaves as a standards-confirming swprintf should, so force the use of -// _snwprintf when using older CRTs. -#if _MSC_VER < 1400 // MSVC 2005/8 -#define swprintf _snwprintf -#endif // MSC_VER < 1400 - -namespace google_breakpad { - -using std::string; -using std::wstring; - -class WindowsStringUtils { - public: - // Roughly equivalent to MSVC8's wcscpy_s, except pre-MSVC8, this does - // not fail if source is longer than destination_size. The destination - // buffer is always 0-terminated. - static void safe_wcscpy(wchar_t *destination, size_t destination_size, - const wchar_t *source); - - // Roughly equivalent to MSVC8's wcsncpy_s, except that _TRUNCATE cannot - // be passed directly, and pre-MSVC8, this will not fail if source or count - // are longer than destination_size. The destination buffer is always - // 0-terminated. - static void safe_wcsncpy(wchar_t *destination, size_t destination_size, - const wchar_t *source, size_t count); - - // Performs multi-byte to wide character conversion on C++ strings, using - // mbstowcs_s (MSVC8) or mbstowcs (pre-MSVC8). Returns false on failure, - // without setting wcs. - static bool safe_mbstowcs(const string &mbs, wstring *wcs); - - // Returns the base name of a file, e.g. strips off the path. - static wstring GetBaseName(const wstring &filename); - - private: - // Disallow instantiation and other object-based operations. - WindowsStringUtils(); - WindowsStringUtils(const WindowsStringUtils&); - ~WindowsStringUtils(); - void operator=(const WindowsStringUtils&); -}; - -// static -inline void WindowsStringUtils::safe_wcscpy(wchar_t *destination, - size_t destination_size, - const wchar_t *source) { -#if _MSC_VER >= 1400 // MSVC 2005/8 - wcscpy_s(destination, destination_size, source); -#else // _MSC_VER >= 1400 - // Pre-MSVC 2005/8 doesn't have wcscpy_s. Simulate it with wcsncpy. - // wcsncpy doesn't 0-terminate the destination buffer if the source string - // is longer than size. Ensure that the destination is 0-terminated. - wcsncpy(destination, source, destination_size); - if (destination && destination_size) - destination[destination_size - 1] = 0; -#endif // _MSC_VER >= 1400 -} - -// static -inline void WindowsStringUtils::safe_wcsncpy(wchar_t *destination, - size_t destination_size, - const wchar_t *source, - size_t count) { -#if _MSC_VER >= 1400 // MSVC 2005/8 - wcsncpy_s(destination, destination_size, source, count); -#else // _MSC_VER >= 1400 - // Pre-MSVC 2005/8 doesn't have wcsncpy_s. Simulate it with wcsncpy. - // wcsncpy doesn't 0-terminate the destination buffer if the source string - // is longer than size. Ensure that the destination is 0-terminated. - if (destination_size < count) - count = destination_size; - - wcsncpy(destination, source, count); - if (destination && count) - destination[count - 1] = 0; -#endif // _MSC_VER >= 1400 -} - -} // namespace google_breakpad - -#endif // COMMON_WINDOWS_STRING_UTILS_INL_H__ diff --git a/toolkit/airbag/airbag/src/common/windows/string_utils.cc b/toolkit/airbag/airbag/src/common/windows/string_utils.cc deleted file mode 100644 index 5d4648022927..000000000000 --- a/toolkit/airbag/airbag/src/common/windows/string_utils.cc +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include - -#include "common/windows/string_utils-inl.h" - -namespace google_breakpad { - -// static -wstring WindowsStringUtils::GetBaseName(const wstring &filename) { - wstring base_name(filename); - size_t slash_pos = base_name.find_last_of(L"/\\"); - if (slash_pos != wstring::npos) { - base_name.erase(0, slash_pos + 1); - } - return base_name; -} - -// static -bool WindowsStringUtils::safe_mbstowcs(const string &mbs, wstring *wcs) { - assert(wcs); - - // First, determine the length of the destination buffer. - size_t wcs_length; - -#if _MSC_VER >= 1400 // MSVC 2005/8 - errno_t err; - if ((err = mbstowcs_s(&wcs_length, NULL, 0, mbs.c_str(), _TRUNCATE)) != 0) { - return false; - } -#else // _MSC_VER >= 1400 - if ((wcs_length = mbstowcs(NULL, mbs.c_str(), mbs.length())) < 0) { - return false; - } - - // Leave space for the 0-terminator. - ++wcs_length; -#endif // _MSC_VER >= 1400 - - // TODO(mmentovai): move scoped_ptr into common and use it for wcs_c. - wchar_t *wcs_c = new wchar_t[wcs_length]; - - // Now, convert. -#if _MSC_VER >= 1400 // MSVC 2005/8 - if ((err = mbstowcs_s(NULL, wcs_c, wcs_length, mbs.c_str(), - _TRUNCATE)) != 0) { - delete[] wcs_c; - return false; - } -#else // _MSC_VER >= 1400 - if (mbstowcs(wcs_c, mbs.c_str(), mbs.length()) < 0) { - delete[] wcs_c; - return false; - } - - // Ensure presence of 0-terminator. - wcs_c[wcs_length - 1] = '\0'; -#endif // _MSC_VER >= 1400 - - *wcs = wcs_c; - delete[] wcs_c; - return true; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/config.h.in b/toolkit/airbag/airbag/src/config.h.in deleted file mode 100755 index 6b4c3e48b362..000000000000 --- a/toolkit/airbag/airbag/src/config.h.in +++ /dev/null @@ -1,55 +0,0 @@ -/* src/config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Version number of package */ -#undef VERSION diff --git a/toolkit/airbag/airbag/src/google_breakpad/common/breakpad_types.h b/toolkit/airbag/airbag/src/google_breakpad/common/breakpad_types.h deleted file mode 100644 index 07b11347788f..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/common/breakpad_types.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (c) 2006, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/* breakpad_types.h: Precise-width types - * - * (This is C99 source, please don't corrupt it with C++.) - * - * This file ensures that types u_intN_t are defined for N = 8, 16, 32, and - * 64. Types of precise widths are crucial to the task of writing data - * structures on one platform and reading them on another. - * - * Author: Mark Mentovai */ - -#ifndef GOOGLE_BREAKPAD_COMMON_BREAKPAD_TYPES_H__ -#define GOOGLE_BREAKPAD_COMMON_BREAKPAD_TYPES_H__ - -#ifndef _WIN32 - -#include - -#else /* !_WIN32 */ - -#include - -typedef unsigned __int8 u_int8_t; -typedef unsigned __int16 u_int16_t; -typedef unsigned __int32 u_int32_t; -typedef unsigned __int64 u_int64_t; - -#endif /* !_WIN32 */ - -typedef struct { - u_int64_t high; - u_int64_t low; -} u_int128_t; - -typedef u_int64_t breakpad_time_t; - -#endif /* GOOGLE_BREAKPAD_COMMON_BREAKPAD_TYPES_H__ */ diff --git a/toolkit/airbag/airbag/src/google_breakpad/common/minidump_format.h b/toolkit/airbag/airbag/src/google_breakpad/common/minidump_format.h deleted file mode 100644 index e3b9b85aa465..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/common/minidump_format.h +++ /dev/null @@ -1,1124 +0,0 @@ -/* Copyright (c) 2006, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/* minidump_format.h: A cross-platform reimplementation of minidump-related - * portions of DbgHelp.h from the Windows Platform SDK. - * - * (This is C99 source, please don't corrupt it with C++.) - * - * This file contains the necessary definitions to read minidump files - * produced on win32/x86. These files may be read on any platform provided - * that the alignments of these structures on the processing system are - * identical to the alignments of these structures on the producing system. - * For this reason, precise-sized types are used. The structures defined - * by this file have been laid out to minimize alignment problems by ensuring - * ensuring that all members are aligned on their natural boundaries. In - * In some cases, tail-padding may be significant when different ABIs specify - * different tail-padding behaviors. To avoid problems when reading or - * writing affected structures, MD_*_SIZE macros are provided where needed, - * containing the useful size of the structures without padding. - * - * Structures that are defined by Microsoft to contain a zero-length array - * are instead defined here to contain an array with one element, as - * zero-length arrays are forbidden by standard C and C++. In these cases, - * *_minsize constants are provided to be used in place of sizeof. For a - * cleaner interface to these sizes when using C++, see minidump_size.h. - * - * These structures are also sufficient to populate minidump files. - * - * These definitions may be extended to support handling minidump files - * for other CPUs and other operating systems. - * - * Because precise data type sizes are crucial for this implementation to - * function properly and portably in terms of interoperability with minidumps - * produced by DbgHelp on Windows, a set of primitive types with known sizes - * are used as the basis of each structure defined by this file. DbgHelp - * on Windows is assumed to be the reference implementation; this file - * seeks to provide a cross-platform compatible implementation. To avoid - * collisions with the types and values defined and used by DbgHelp in the - * event that this implementation is used on Windows, each type and value - * defined here is given a new name, beginning with "MD". Names of the - * equivalent types and values in the Windows Platform SDK are given in - * comments. - * - * Author: Mark Mentovai */ - - -#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_FORMAT_H__ -#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_FORMAT_H__ - -#include - -#include "google_breakpad/common/breakpad_types.h" - - -#if defined(_MSC_VER) -/* Disable "zero-sized array in struct/union" warnings when compiling in - * MSVC. DbgHelp.h does this too. */ -#pragma warning(push) -#pragma warning(disable:4200) -#endif /* _MSC_VER */ - - -/* - * guiddef.h - */ - - -typedef struct { - u_int32_t data1; - u_int16_t data2; - u_int16_t data3; - u_int8_t data4[8]; -} MDGUID; /* GUID */ - - -/* - * WinNT.h - */ - - -#define MD_FLOATINGSAVEAREA_X86_REGISTERAREA_SIZE 80 - /* SIZE_OF_80387_REGISTERS */ - -typedef struct { - u_int32_t control_word; - u_int32_t status_word; - u_int32_t tag_word; - u_int32_t error_offset; - u_int32_t error_selector; - u_int32_t data_offset; - u_int32_t data_selector; - - /* register_area contains eight 80-bit (x87 "long double") quantities for - * floating-point registers %st0 (%mm0) through %st7 (%mm7). */ - u_int8_t register_area[MD_FLOATINGSAVEAREA_X86_REGISTERAREA_SIZE]; - u_int32_t cr0_npx_state; -} MDFloatingSaveAreaX86; /* FLOATING_SAVE_AREA */ - - -#define MD_CONTEXT_X86_EXTENDED_REGISTERS_SIZE 512 - /* MAXIMUM_SUPPORTED_EXTENSION */ - -typedef struct { - /* The next field determines the layout of the structure, and which parts - * of it are populated */ - u_int32_t context_flags; - - /* The next 6 registers are included with MD_CONTEXT_X86_DEBUG_REGISTERS */ - u_int32_t dr0; - u_int32_t dr1; - u_int32_t dr2; - u_int32_t dr3; - u_int32_t dr6; - u_int32_t dr7; - - /* The next field is included with MD_CONTEXT_X86_FLOATING_POINT */ - MDFloatingSaveAreaX86 float_save; - - /* The next 4 registers are included with MD_CONTEXT_X86_SEGMENTS */ - u_int32_t gs; - u_int32_t fs; - u_int32_t es; - u_int32_t ds; - /* The next 6 registers are included with MD_CONTEXT_X86_INTEGER */ - u_int32_t edi; - u_int32_t esi; - u_int32_t ebx; - u_int32_t edx; - u_int32_t ecx; - u_int32_t eax; - - /* The next 6 registers are included with MD_CONTEXT_X86_CONTROL */ - u_int32_t ebp; - u_int32_t eip; - u_int32_t cs; /* WinNT.h says "must be sanitized" */ - u_int32_t eflags; /* WinNT.h says "must be sanitized" */ - u_int32_t esp; - u_int32_t ss; - - /* The next field is included with MD_CONTEXT_X86_EXTENDED_REGISTERS. - * It contains vector (MMX/SSE) registers. It it laid out in the - * format used by the fxsave and fsrstor instructions, so it includes - * a copy of the x87 floating-point registers as well. See FXSAVE in - * "Intel Architecture Software Developer's Manual, Volume 2." */ - u_int8_t extended_registers[ - MD_CONTEXT_X86_EXTENDED_REGISTERS_SIZE]; -} MDRawContextX86; /* CONTEXT */ - -/* For (MDRawContextX86).context_flags. These values indicate the type of - * context stored in the structure. The high 26 bits identify the CPU, the - * low 6 bits identify the type of context saved. */ -#define MD_CONTEXT_X86 0x00010000 - /* CONTEXT_i386, CONTEXT_i486: identifies CPU */ -#define MD_CONTEXT_X86_CONTROL (MD_CONTEXT_X86 | 0x00000001) - /* CONTEXT_CONTROL */ -#define MD_CONTEXT_X86_INTEGER (MD_CONTEXT_X86 | 0x00000002) - /* CONTEXT_INTEGER */ -#define MD_CONTEXT_X86_SEGMENTS (MD_CONTEXT_X86 | 0x00000004) - /* CONTEXT_SEGMENTS */ -#define MD_CONTEXT_X86_FLOATING_POINT (MD_CONTEXT_X86 | 0x00000008) - /* CONTEXT_FLOATING_POINT */ -#define MD_CONTEXT_X86_DEBUG_REGISTERS (MD_CONTEXT_X86 | 0x00000010) - /* CONTEXT_DEBUG_REGISTERS */ -#define MD_CONTEXT_X86_EXTENDED_REGISTERS (MD_CONTEXT_X86 | 0x00000020) - /* CONTEXT_EXTENDED_REGISTERS */ - -#define MD_CONTEXT_X86_FULL (MD_CONTEXT_X86_CONTROL | \ - MD_CONTEXT_X86_INTEGER | \ - MD_CONTEXT_X86_SEGMENTS) - /* CONTEXT_FULL */ - -#define MD_CONTEXT_X86_ALL (MD_CONTEXT_X86_FULL | \ - MD_CONTEXT_X86_FLOATING_POINT | \ - MD_CONTEXT_X86_DEBUG_REGISTERS | \ - MD_CONTEXT_X86_EXTENDED_REGISTERS) - /* CONTEXT_ALL */ - -/* Non-x86 CPU identifiers found in the high 26 bits of - * (MDRawContext*).context_flags. These aren't used by Breakpad, but are - * defined here for reference, to avoid assigning values that conflict - * (although some values already conflict). */ -#define MD_CONTEXT_IA64 0x00080000 /* CONTEXT_IA64 */ -#define MD_CONTEXT_AMD64 0x00100000 /* CONTEXT_AMD64 */ -/* Additional values from winnt.h in the Windows CE 5.0 SDK: */ -#define MD_CONTEXT_SHX 0x000000c0 /* CONTEXT_SH4 (Super-H, includes SH3) */ -#define MD_CONTEXT_ARM 0x00000040 /* CONTEXT_ARM (0x40 bit set in SHx?) */ -#define MD_CONTEXT_MIPS 0x00010000 /* CONTEXT_R4000 (same value as x86?) */ -#define MD_CONTEXT_ALPHA 0x00020000 /* CONTEXT_ALPHA */ - -#define MD_CONTEXT_CPU_MASK 0xffffffc0 - - -/* - * Breakpad minidump extension for PowerPC support. Based on Darwin/Mac OS X' - * mach/ppc/_types.h - */ - - -/* This is a base type for MDRawContextX86 and MDRawContextPPC. This - * structure should never be allocated directly. The actual structure type - * can be determined by examining the context_flags field. */ -typedef struct { - u_int32_t context_flags; -} MDRawContextBase; - - -#define MD_FLOATINGSAVEAREA_PPC_FPR_COUNT 32 - -typedef struct { - /* fpregs is a double[32] in mach/ppc/_types.h, but a u_int64_t is used - * here for precise sizing. */ - u_int64_t fpregs[MD_FLOATINGSAVEAREA_PPC_FPR_COUNT]; - u_int32_t fpscr_pad; - u_int32_t fpscr; /* Status/control */ -} MDFloatingSaveAreaPPC; /* Based on ppc_float_state */ - - -#define MD_VECTORSAVEAREA_PPC_VR_COUNT 32 - -typedef struct { - /* Vector registers (including vscr) are 128 bits, but mach/ppc/_types.h - * exposes them as four 32-bit quantities. */ - u_int128_t save_vr[MD_VECTORSAVEAREA_PPC_VR_COUNT]; - u_int128_t save_vscr; /* Status/control */ - u_int32_t save_pad5[4]; - u_int32_t save_vrvalid; /* Identifies which vector registers are saved */ - u_int32_t save_pad6[7]; -} MDVectorSaveAreaPPC; /* ppc_vector_state */ - - -#define MD_CONTEXT_PPC_GPR_COUNT 32 - -typedef struct { - /* context_flags is not present in ppc_thread_state, but it aids - * identification of MDRawContextPPC among other raw context types, - * and it guarantees alignment when we get to float_save. */ - u_int32_t context_flags; - - u_int32_t srr0; /* Machine status save/restore: stores pc - * (instruction) */ - u_int32_t srr1; /* Machine status save/restore: stores msr - * (ps, program/machine state) */ - /* ppc_thread_state contains 32 fields, r0 .. r31. Here, an array is - * used for brevity. */ - u_int32_t gpr[MD_CONTEXT_PPC_GPR_COUNT]; - u_int32_t cr; /* Condition */ - u_int32_t xer; /* Integer (fiXed-point) exception */ - u_int32_t lr; /* Link */ - u_int32_t ctr; /* Count */ - u_int32_t mq; /* Multiply/Quotient (PPC 601, POWER only) */ - u_int32_t vrsave; /* Vector save */ - - /* float_save and vector_save aren't present in ppc_thread_state, but - * are represented in separate structures that still define a thread's - * context. */ - MDFloatingSaveAreaPPC float_save; - MDVectorSaveAreaPPC vector_save; -} MDRawContextPPC; /* Based on ppc_thread_state */ - -/* For (MDRawContextPPC).context_flags. These values indicate the type of - * context stored in the structure. MD_CONTEXT_PPC is Breakpad-defined. Its - * value was chosen to avoid likely conflicts with MD_CONTEXT_* for other - * CPUs. */ -#define MD_CONTEXT_PPC 0x20000000 -#define MD_CONTEXT_PPC_BASE (MD_CONTEXT_PPC | 0x00000001) -#define MD_CONTEXT_PPC_FLOATING_POINT (MD_CONTEXT_PPC | 0x00000008) -#define MD_CONTEXT_PPC_VECTOR (MD_CONTEXT_PPC | 0x00000020) - -#define MD_CONTEXT_PPC_FULL MD_CONTEXT_PPC_BASE -#define MD_CONTEXT_PPC_ALL (MD_CONTEXT_PPC_FULL | \ - MD_CONTEXT_PPC_FLOATING_POINT | \ - MD_CONTEXT_PPC_VECTOR) - - -/* - * WinVer.h - */ - - -typedef struct { - u_int32_t signature; - u_int32_t struct_version; - u_int32_t file_version_hi; - u_int32_t file_version_lo; - u_int32_t product_version_hi; - u_int32_t product_version_lo; - u_int32_t file_flags_mask; /* Identifies valid bits in fileFlags */ - u_int32_t file_flags; - u_int32_t file_os; - u_int32_t file_type; - u_int32_t file_subtype; - u_int32_t file_date_hi; - u_int32_t file_date_lo; -} MDVSFixedFileInfo; /* VS_FIXEDFILEINFO */ - -/* For (MDVSFixedFileInfo).signature */ -#define MD_VSFIXEDFILEINFO_SIGNATURE 0xfeef04bd - /* VS_FFI_SIGNATURE */ - -/* For (MDVSFixedFileInfo).version */ -#define MD_VSFIXEDFILEINFO_VERSION 0x00010000 - /* VS_FFI_STRUCVERSION */ - -/* For (MDVSFixedFileInfo).file_flags_mask and - * (MDVSFixedFileInfo).file_flags */ -#define MD_VSFIXEDFILEINFO_FILE_FLAGS_DEBUG 0x00000001 - /* VS_FF_DEBUG */ -#define MD_VSFIXEDFILEINFO_FILE_FLAGS_PRERELEASE 0x00000002 - /* VS_FF_PRERELEASE */ -#define MD_VSFIXEDFILEINFO_FILE_FLAGS_PATCHED 0x00000004 - /* VS_FF_PATCHED */ -#define MD_VSFIXEDFILEINFO_FILE_FLAGS_PRIVATEBUILD 0x00000008 - /* VS_FF_PRIVATEBUILD */ -#define MD_VSFIXEDFILEINFO_FILE_FLAGS_INFOINFERRED 0x00000010 - /* VS_FF_INFOINFERRED */ -#define MD_VSFIXEDFILEINFO_FILE_FLAGS_SPECIALBUILD 0x00000020 - /* VS_FF_SPECIALBUILD */ - -/* For (MDVSFixedFileInfo).file_os: high 16 bits */ -#define MD_VSFIXEDFILEINFO_FILE_OS_UNKNOWN 0 /* VOS_UNKNOWN */ -#define MD_VSFIXEDFILEINFO_FILE_OS_DOS (1 << 16) /* VOS_DOS */ -#define MD_VSFIXEDFILEINFO_FILE_OS_OS216 (2 << 16) /* VOS_OS216 */ -#define MD_VSFIXEDFILEINFO_FILE_OS_OS232 (3 << 16) /* VOS_OS232 */ -#define MD_VSFIXEDFILEINFO_FILE_OS_NT (4 << 16) /* VOS_NT */ -#define MD_VSFIXEDFILEINFO_FILE_OS_WINCE (5 << 16) /* VOS_WINCE */ -/* Low 16 bits */ -#define MD_VSFIXEDFILEINFO_FILE_OS__BASE 0 /* VOS__BASE */ -#define MD_VSFIXEDFILEINFO_FILE_OS__WINDOWS16 1 /* VOS__WINDOWS16 */ -#define MD_VSFIXEDFILEINFO_FILE_OS__PM16 2 /* VOS__PM16 */ -#define MD_VSFIXEDFILEINFO_FILE_OS__PM32 3 /* VOS__PM32 */ -#define MD_VSFIXEDFILEINFO_FILE_OS__WINDOWS32 4 /* VOS__WINDOWS32 */ - -/* For (MDVSFixedFileInfo).file_type */ -#define MD_VSFIXEDFILEINFO_FILE_TYPE_UNKNOWN 0 /* VFT_UNKNOWN */ -#define MD_VSFIXEDFILEINFO_FILE_TYPE_APP 1 /* VFT_APP */ -#define MD_VSFIXEDFILEINFO_FILE_TYPE_DLL 2 /* VFT_DLL */ -#define MD_VSFIXEDFILEINFO_FILE_TYPE_DRV 3 /* VFT_DLL */ -#define MD_VSFIXEDFILEINFO_FILE_TYPE_FONT 4 /* VFT_FONT */ -#define MD_VSFIXEDFILEINFO_FILE_TYPE_VXD 5 /* VFT_VXD */ -#define MD_VSFIXEDFILEINFO_FILE_TYPE_STATIC_LIB 7 /* VFT_STATIC_LIB */ - -/* For (MDVSFixedFileInfo).file_subtype */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_UNKNOWN 0 - /* VFT2_UNKNOWN */ -/* with file_type = MD_VSFIXEDFILEINFO_FILETYPE_DRV */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_PRINTER 1 - /* VFT2_DRV_PRINTER */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_KEYBOARD 2 - /* VFT2_DRV_KEYBOARD */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_LANGUAGE 3 - /* VFT2_DRV_LANGUAGE */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_DISPLAY 4 - /* VFT2_DRV_DISPLAY */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_MOUSE 5 - /* VFT2_DRV_MOUSE */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_NETWORK 6 - /* VFT2_DRV_NETWORK */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_SYSTEM 7 - /* VFT2_DRV_SYSTEM */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_INSTALLABLE 8 - /* VFT2_DRV_INSTALLABLE */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_SOUND 9 - /* VFT2_DRV_SOUND */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_COMM 10 - /* VFT2_DRV_COMM */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_INPUTMETHOD 11 - /* VFT2_DRV_INPUTMETHOD */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_VERSIONED_PRINTER 12 - /* VFT2_DRV_VERSIONED_PRINTER */ -/* with file_type = MD_VSFIXEDFILEINFO_FILETYPE_FONT */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_FONT_RASTER 1 - /* VFT2_FONT_RASTER */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_FONT_VECTOR 2 - /* VFT2_FONT_VECTOR */ -#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_FONT_TRUETYPE 3 - /* VFT2_FONT_TRUETYPE */ - - -/* - * DbgHelp.h - */ - - -/* An MDRVA is an offset into the minidump file. The beginning of the - * MDRawHeader is at offset 0. */ -typedef u_int32_t MDRVA; /* RVA */ - - -typedef struct { - u_int32_t data_size; - MDRVA rva; -} MDLocationDescriptor; /* MINIDUMP_LOCATION_DESCRIPTOR */ - - -typedef struct { - /* The base address of the memory range on the host that produced the - * minidump. */ - u_int64_t start_of_memory_range; - - MDLocationDescriptor memory; -} MDMemoryDescriptor; /* MINIDUMP_MEMORY_DESCRIPTOR */ - - -typedef struct { - u_int32_t signature; - u_int32_t version; - u_int32_t stream_count; - MDRVA stream_directory_rva; /* A |stream_count|-sized array of - * MDRawDirectory structures. */ - u_int32_t checksum; /* Can be 0. In fact, that's all that's - * been found in minidump files. */ - u_int32_t time_date_stamp; /* time_t */ - u_int64_t flags; -} MDRawHeader; /* MINIDUMP_HEADER */ - -/* For (MDRawHeader).signature and (MDRawHeader).version. Note that only the - * low 16 bits of (MDRawHeader).version are MD_HEADER_VERSION. Per the - * documentation, the high 16 bits are implementation-specific. */ -#define MD_HEADER_SIGNATURE 0x504d444d /* 'PMDM' */ - /* MINIDUMP_SIGNATURE */ -#define MD_HEADER_VERSION 0x0000a793 /* 42899 */ - /* MINIDUMP_VERSION */ - -/* For (MDRawHeader).flags: */ -typedef enum { - /* MD_NORMAL is the standard type of minidump. It includes full - * streams for the thread list, module list, exception, system info, - * and miscellaneous info. A memory list stream is also present, - * pointing to the same stack memory contained in the thread list, - * as well as a 256-byte region around the instruction address that - * was executing when the exception occurred. Stack memory is from - * 4 bytes below a thread's stack pointer up to the top of the - * memory region encompassing the stack. */ - MD_NORMAL = 0x00000000, - MD_WITH_DATA_SEGS = 0x00000001, - MD_WITH_FULL_MEMORY = 0x00000002, - MD_WITH_HANDLE_DATA = 0x00000004, - MD_FILTER_MEMORY = 0x00000008, - MD_SCAN_MEMORY = 0x00000010, - MD_WITH_UNLOADED_MODULES = 0x00000020, - MD_WITH_INDIRECTLY_REFERENCED_MEMORY = 0x00000040, - MD_FILTER_MODULE_PATHS = 0x00000080, - MD_WITH_PROCESS_THREAD_DATA = 0x00000100, - MD_WITH_PRIVATE_READ_WRITE_MEMORY = 0x00000200, - MD_WITHOUT_OPTIONAL_DATA = 0x00000400, - MD_WITH_FULL_MEMORY_INFO = 0x00000800, - MD_WITH_THREAD_INFO = 0x00001000, - MD_WITH_CODE_SEGS = 0x00002000 -} MDType; /* MINIDUMP_TYPE */ - - -typedef struct { - u_int32_t stream_type; - MDLocationDescriptor location; -} MDRawDirectory; /* MINIDUMP_DIRECTORY */ - -/* For (MDRawDirectory).stream_type */ -typedef enum { - MD_UNUSED_STREAM = 0, - MD_RESERVED_STREAM_0 = 1, - MD_RESERVED_STREAM_1 = 2, - MD_THREAD_LIST_STREAM = 3, /* MDRawThreadList */ - MD_MODULE_LIST_STREAM = 4, /* MDRawModuleList */ - MD_MEMORY_LIST_STREAM = 5, /* MDRawMemoryList */ - MD_EXCEPTION_STREAM = 6, /* MDRawExceptionStream */ - MD_SYSTEM_INFO_STREAM = 7, /* MDRawSystemInfo */ - MD_THREAD_EX_LIST_STREAM = 8, - MD_MEMORY_64_LIST_STREAM = 9, - MD_COMMENT_STREAM_A = 10, - MD_COMMENT_STREAM_W = 11, - MD_HANDLE_DATA_STREAM = 12, - MD_FUNCTION_TABLE_STREAM = 13, - MD_UNLOADED_MODULE_LIST_STREAM = 14, - MD_MISC_INFO_STREAM = 15, /* MDRawMiscInfo */ - MD_LAST_RESERVED_STREAM = 0x0000ffff, - - /* Breakpad extension types. 0x4767 = "Gg" */ - MD_BREAKPAD_INFO_STREAM = 0x47670001, /* MDRawBreakpadInfo */ - MD_ASSERTION_INFO_STREAM = 0x47670002 /* MDRawAssertionInfo */ -} MDStreamType; /* MINIDUMP_STREAM_TYPE */ - - -typedef struct { - u_int32_t length; /* Length of buffer in bytes (not characters), - * excluding 0-terminator */ - u_int16_t buffer[1]; /* UTF-16-encoded, 0-terminated */ -} MDString; /* MINIDUMP_STRING */ - -static const size_t MDString_minsize = offsetof(MDString, buffer[0]); - - -typedef struct { - u_int32_t thread_id; - u_int32_t suspend_count; - u_int32_t priority_class; - u_int32_t priority; - u_int64_t teb; /* Thread environment block */ - MDMemoryDescriptor stack; - MDLocationDescriptor thread_context; /* MDRawContext[CPU] */ -} MDRawThread; /* MINIDUMP_THREAD */ - - -typedef struct { - u_int32_t number_of_threads; - MDRawThread threads[1]; -} MDRawThreadList; /* MINIDUMP_THREAD_LIST */ - -static const size_t MDRawThreadList_minsize = offsetof(MDRawThreadList, - threads[0]); - - -typedef struct { - u_int64_t base_of_image; - u_int32_t size_of_image; - u_int32_t checksum; /* 0 if unknown */ - u_int32_t time_date_stamp; /* time_t */ - MDRVA module_name_rva; /* MDString, pathname or filename */ - MDVSFixedFileInfo version_info; - - /* The next field stores a CodeView record and is populated when a module's - * debug information resides in a PDB file. It identifies the PDB file. */ - MDLocationDescriptor cv_record; - - /* The next field is populated when a module's debug information resides - * in a DBG file. It identifies the DBG file. This field is effectively - * obsolete with modules built by recent toolchains. */ - MDLocationDescriptor misc_record; - - /* Alignment problem: reserved0 and reserved1 are defined by the platform - * SDK as 64-bit quantities. However, that results in a structure whose - * alignment is unpredictable on different CPUs and ABIs. If the ABI - * specifies full alignment of 64-bit quantities in structures (as ppc - * does), there will be padding between miscRecord and reserved0. If - * 64-bit quantities can be aligned on 32-bit boundaries (as on x86), - * this padding will not exist. (Note that the structure up to this point - * contains 1 64-bit member followed by 21 32-bit members.) - * As a workaround, reserved0 and reserved1 are instead defined here as - * four 32-bit quantities. This should be harmless, as there are - * currently no known uses for these fields. */ - u_int32_t reserved0[2]; - u_int32_t reserved1[2]; -} MDRawModule; /* MINIDUMP_MODULE */ - -/* The inclusion of a 64-bit type in MINIDUMP_MODULE forces the struct to - * be tail-padded out to a multiple of 64 bits under some ABIs (such as PPC). - * This doesn't occur on systems that don't tail-pad in this manner. Define - * this macro to be the usable size of the MDRawModule struct, and use it in - * place of sizeof(MDRawModule). */ -#define MD_MODULE_SIZE 108 - - -/* (MDRawModule).cv_record can reference MDCVInfoPDB20 or MDCVInfoPDB70. - * Ref.: http://www.debuginfo.com/articles/debuginfomatch.html - * MDCVInfoPDB70 is the expected structure type with recent toolchains. */ - -typedef struct { - u_int32_t signature; - u_int32_t offset; /* Offset to debug data (expect 0 in minidump) */ -} MDCVHeader; - -typedef struct { - MDCVHeader cv_header; - u_int32_t signature; /* time_t debug information created */ - u_int32_t age; /* revision of PDB file */ - u_int8_t pdb_file_name[1]; /* Pathname or filename of PDB file */ -} MDCVInfoPDB20; - -static const size_t MDCVInfoPDB20_minsize = offsetof(MDCVInfoPDB20, - pdb_file_name[0]); - -#define MD_CVINFOPDB20_SIGNATURE 0x3031424e /* cvHeader.signature = '01BN' */ - -typedef struct { - u_int32_t cv_signature; - MDGUID signature; /* GUID, identifies PDB file */ - u_int32_t age; /* Identifies incremental changes to PDB file */ - u_int8_t pdb_file_name[1]; /* Pathname or filename of PDB file, - * 0-terminated 8-bit character data (UTF-8?) */ -} MDCVInfoPDB70; - -static const size_t MDCVInfoPDB70_minsize = offsetof(MDCVInfoPDB70, - pdb_file_name[0]); - -#define MD_CVINFOPDB70_SIGNATURE 0x53445352 /* cvSignature = 'SDSR' */ - -/* In addition to the two CodeView record formats above, used for linking - * to external pdb files, it is possible for debugging data to be carried - * directly in the CodeView record itself. These signature values will - * be found in the first 4 bytes of the CodeView record. Additional values - * not commonly experienced in the wild are given by "Microsoft Symbol and - * Type Information", http://www.x86.org/ftp/manuals/tools/sym.pdf, section - * 7.2. An in-depth description of the CodeView 4.1 format is given by - * "Undocumented Windows 2000 Secrets", Windows 2000 Debugging Support/ - * Microsoft Symbol File Internals/CodeView Subsections, - * http://www.rawol.com/features/undocumented/sbs-w2k-1-windows-2000-debugging-support.pdf - */ -#define MD_CVINFOCV41_SIGNATURE 0x3930424e /* '90BN', CodeView 4.10. */ -#define MD_CVINFOCV50_SIGNATURE 0x3131424e /* '11BN', CodeView 5.0, - * MS C7-format (/Z7). */ - -#define MD_CVINFOUNKNOWN_SIGNATURE 0xffffffff /* An unlikely value. */ - -/* (MDRawModule).miscRecord can reference MDImageDebugMisc. The Windows - * structure is actually defined in WinNT.h. This structure is effectively - * obsolete with modules built by recent toolchains. */ - -typedef struct { - u_int32_t data_type; /* IMAGE_DEBUG_TYPE_*, not defined here because - * this debug record type is mostly obsolete. */ - u_int32_t length; /* Length of entire MDImageDebugMisc structure */ - u_int8_t unicode; /* True if data is multibyte */ - u_int8_t reserved[3]; - u_int8_t data[1]; -} MDImageDebugMisc; /* IMAGE_DEBUG_MISC */ - -static const size_t MDImageDebugMisc_minsize = offsetof(MDImageDebugMisc, - data[0]); - - -typedef struct { - u_int32_t number_of_modules; - MDRawModule modules[1]; -} MDRawModuleList; /* MINIDUMP_MODULE_LIST */ - -static const size_t MDRawModuleList_minsize = offsetof(MDRawModuleList, - modules[0]); - - -typedef struct { - u_int32_t number_of_memory_ranges; - MDMemoryDescriptor memory_ranges[1]; -} MDRawMemoryList; /* MINIDUMP_MEMORY_LIST */ - -static const size_t MDRawMemoryList_minsize = offsetof(MDRawMemoryList, - memory_ranges[0]); - - -#define MD_EXCEPTION_MAXIMUM_PARAMETERS 15 - -typedef struct { - u_int32_t exception_code; /* Windows: MDExceptionCodeWin, - * Mac OS X: MDExceptionMac, - * Linux: MDExceptionCodeLinux. */ - u_int32_t exception_flags; /* Windows: 1 if noncontinuable, - Mac OS X: MDExceptionCodeMac. */ - u_int64_t exception_record; /* Address (in the minidump-producing host's - * memory) of another MDException, for - * nested exceptions. */ - u_int64_t exception_address; /* The address that caused the exception. - * Mac OS X: exception subcode (which is - * typically the address). */ - u_int32_t number_parameters; /* Number of valid elements in - * exception_information. */ - u_int32_t __align; - u_int64_t exception_information[MD_EXCEPTION_MAXIMUM_PARAMETERS]; -} MDException; /* MINIDUMP_EXCEPTION */ - -/* For (MDException).exception_code. These values come from WinBase.h - * and WinNT.h (names beginning with EXCEPTION_ are in WinBase.h, - * they are STATUS_ in WinNT.h). */ -typedef enum { - MD_EXCEPTION_CODE_WIN_CONTROL_C = 0x40010005, - /* DBG_CONTROL_C */ - MD_EXCEPTION_CODE_WIN_GUARD_PAGE_VIOLATION = 0x80000001, - /* EXCEPTION_GUARD_PAGE */ - MD_EXCEPTION_CODE_WIN_DATATYPE_MISALIGNMENT = 0x80000002, - /* EXCEPTION_DATATYPE_MISALIGNMENT */ - MD_EXCEPTION_CODE_WIN_BREAKPOINT = 0x80000003, - /* EXCEPTION_BREAKPOINT */ - MD_EXCEPTION_CODE_WIN_SINGLE_STEP = 0x80000004, - /* EXCEPTION_SINGLE_STEP */ - MD_EXCEPTION_CODE_WIN_ACCESS_VIOLATION = 0xc0000005, - /* EXCEPTION_ACCESS_VIOLATION */ - MD_EXCEPTION_CODE_WIN_IN_PAGE_ERROR = 0xc0000006, - /* EXCEPTION_IN_PAGE_ERROR */ - MD_EXCEPTION_CODE_WIN_INVALID_HANDLE = 0xc0000008, - /* EXCEPTION_INVALID_HANDLE */ - MD_EXCEPTION_CODE_WIN_ILLEGAL_INSTRUCTION = 0xc000001d, - /* EXCEPTION_ILLEGAL_INSTRUCTION */ - MD_EXCEPTION_CODE_WIN_NONCONTINUABLE_EXCEPTION = 0xc0000025, - /* EXCEPTION_NONCONTINUABLE_EXCEPTION */ - MD_EXCEPTION_CODE_WIN_INVALID_DISPOSITION = 0xc0000026, - /* EXCEPTION_INVALID_DISPOSITION */ - MD_EXCEPTION_CODE_WIN_ARRAY_BOUNDS_EXCEEDED = 0xc000008c, - /* EXCEPTION_BOUNDS_EXCEEDED */ - MD_EXCEPTION_CODE_WIN_FLOAT_DENORMAL_OPERAND = 0xc000008d, - /* EXCEPTION_FLT_DENORMAL_OPERAND */ - MD_EXCEPTION_CODE_WIN_FLOAT_DIVIDE_BY_ZERO = 0xc000008e, - /* EXCEPTION_FLT_DIVIDE_BY_ZERO */ - MD_EXCEPTION_CODE_WIN_FLOAT_INEXACT_RESULT = 0xc000008f, - /* EXCEPTION_FLT_INEXACT_RESULT */ - MD_EXCEPTION_CODE_WIN_FLOAT_INVALID_OPERATION = 0xc0000090, - /* EXCEPTION_FLT_INVALID_OPERATION */ - MD_EXCEPTION_CODE_WIN_FLOAT_OVERFLOW = 0xc0000091, - /* EXCEPTION_FLT_OVERFLOW */ - MD_EXCEPTION_CODE_WIN_FLOAT_STACK_CHECK = 0xc0000092, - /* EXCEPTION_FLT_STACK_CHECK */ - MD_EXCEPTION_CODE_WIN_FLOAT_UNDERFLOW = 0xc0000093, - /* EXCEPTION_FLT_UNDERFLOW */ - MD_EXCEPTION_CODE_WIN_INTEGER_DIVIDE_BY_ZERO = 0xc0000094, - /* EXCEPTION_INT_DIVIDE_BY_ZERO */ - MD_EXCEPTION_CODE_WIN_INTEGER_OVERFLOW = 0xc0000095, - /* EXCEPTION_INT_OVERFLOW */ - MD_EXCEPTION_CODE_WIN_PRIVILEGED_INSTRUCTION = 0xc0000096, - /* EXCEPTION_PRIV_INSTRUCTION */ - MD_EXCEPTION_CODE_WIN_STACK_OVERFLOW = 0xc00000fd, - /* EXCEPTION_STACK_OVERFLOW */ - MD_EXCEPTION_CODE_WIN_POSSIBLE_DEADLOCK = 0xc0000194 - /* EXCEPTION_POSSIBLE_DEADLOCK */ -} MDExceptionCodeWin; - -/* For (MDException).exception_code. Breakpad minidump extension for Mac OS X - * support. Based on Darwin/Mac OS X' mach/exception_types.h. This is - * what Mac OS X calls an "exception", not a "code". */ -typedef enum { - /* Exception code. The high 16 bits of exception_code contains one of - * these values. */ - MD_EXCEPTION_MAC_BAD_ACCESS = 1, /* code can be a kern_return_t */ - /* EXC_BAD_ACCESS */ - MD_EXCEPTION_MAC_BAD_INSTRUCTION = 2, /* code is CPU-specific */ - /* EXC_BAD_INSTRUCTION */ - MD_EXCEPTION_MAC_ARITHMETIC = 3, /* code is CPU-specific */ - /* EXC_ARITHMETIC */ - MD_EXCEPTION_MAC_EMULATION = 4, /* code is CPU-specific */ - /* EXC_EMULATION */ - MD_EXCEPTION_MAC_SOFTWARE = 5, - /* EXC_SOFTWARE */ - MD_EXCEPTION_MAC_BREAKPOINT = 6, /* code is CPU-specific */ - /* EXC_BREAKPOINT */ - MD_EXCEPTION_MAC_SYSCALL = 7, - /* EXC_SYSCALL */ - MD_EXCEPTION_MAC_MACH_SYSCALL = 8, - /* EXC_MACH_SYSCALL */ - MD_EXCEPTION_MAC_RPC_ALERT = 9 - /* EXC_RPC_ALERT */ -} MDExceptionMac; - -/* For (MDException).exception_flags. Breakpad minidump extension for Mac OS X - * support. Based on Darwin/Mac OS X' mach/ppc/exception.h and - * mach/i386/exception.h. This is what Mac OS X calls a "code". */ -typedef enum { - /* With MD_EXCEPTION_BAD_ACCESS. These are relevant kern_return_t values - * from mach/kern_return.h. */ - MD_EXCEPTION_CODE_MAC_INVALID_ADDRESS = 1, - /* KERN_INVALID_ADDRESS */ - MD_EXCEPTION_CODE_MAC_PROTECTION_FAILURE = 2, - /* KERN_PROTECTION_FAILURE */ - MD_EXCEPTION_CODE_MAC_NO_ACCESS = 8, - /* KERN_NO_ACCESS */ - MD_EXCEPTION_CODE_MAC_MEMORY_FAILURE = 9, - /* KERN_MEMORY_FAILURE */ - MD_EXCEPTION_CODE_MAC_MEMORY_ERROR = 10, - /* KERN_MEMORY_ERROR */ - - /* With MD_EXCEPTION_SOFTWARE */ - MD_EXCEPTION_CODE_MAC_BAD_SYSCALL = 0x00010000, /* Mach SIGSYS */ - MD_EXCEPTION_CODE_MAC_BAD_PIPE = 0x00010001, /* Mach SIGPIPE */ - MD_EXCEPTION_CODE_MAC_ABORT = 0x00010002, /* Mach SIGABRT */ - - /* With MD_EXCEPTION_MAC_BAD_ACCESS on ppc */ - MD_EXCEPTION_CODE_MAC_PPC_VM_PROT_READ = 0x0101, - /* EXC_PPC_VM_PROT_READ */ - MD_EXCEPTION_CODE_MAC_PPC_BADSPACE = 0x0102, - /* EXC_PPC_BADSPACE */ - MD_EXCEPTION_CODE_MAC_PPC_UNALIGNED = 0x0103, - /* EXC_PPC_UNALIGNED */ - - /* With MD_EXCEPTION_MAC_BAD_INSTRUCTION on ppc */ - MD_EXCEPTION_CODE_MAC_PPC_INVALID_SYSCALL = 1, - /* EXC_PPC_INVALID_SYSCALL */ - MD_EXCEPTION_CODE_MAC_PPC_UNIMPLEMENTED_INSTRUCTION = 2, - /* EXC_PPC_UNIPL_INST */ - MD_EXCEPTION_CODE_MAC_PPC_PRIVILEGED_INSTRUCTION = 3, - /* EXC_PPC_PRIVINST */ - MD_EXCEPTION_CODE_MAC_PPC_PRIVILEGED_REGISTER = 4, - /* EXC_PPC_PRIVREG */ - MD_EXCEPTION_CODE_MAC_PPC_TRACE = 5, - /* EXC_PPC_TRACE */ - MD_EXCEPTION_CODE_MAC_PPC_PERFORMANCE_MONITOR = 6, - /* EXC_PPC_PERFMON */ - - /* With MD_EXCEPTION_MAC_ARITHMETIC on ppc */ - MD_EXCEPTION_CODE_MAC_PPC_OVERFLOW = 1, - /* EXC_PPC_OVERFLOW */ - MD_EXCEPTION_CODE_MAC_PPC_ZERO_DIVIDE = 2, - /* EXC_PPC_ZERO_DIVIDE */ - MD_EXCEPTION_CODE_MAC_PPC_FLOAT_INEXACT = 3, - /* EXC_FLT_INEXACT */ - MD_EXCEPTION_CODE_MAC_PPC_FLOAT_ZERO_DIVIDE = 4, - /* EXC_PPC_FLT_ZERO_DIVIDE */ - MD_EXCEPTION_CODE_MAC_PPC_FLOAT_UNDERFLOW = 5, - /* EXC_PPC_FLT_UNDERFLOW */ - MD_EXCEPTION_CODE_MAC_PPC_FLOAT_OVERFLOW = 6, - /* EXC_PPC_FLT_OVERFLOW */ - MD_EXCEPTION_CODE_MAC_PPC_FLOAT_NOT_A_NUMBER = 7, - /* EXC_PPC_FLT_NOT_A_NUMBER */ - - /* With MD_EXCEPTION_MAC_EMULATION on ppc */ - MD_EXCEPTION_CODE_MAC_PPC_NO_EMULATION = 8, - /* EXC_PPC_NOEMULATION */ - MD_EXCEPTION_CODE_MAC_PPC_ALTIVEC_ASSIST = 9, - /* EXC_PPC_ALTIVECASSIST */ - - /* With MD_EXCEPTION_MAC_SOFTWARE on ppc */ - MD_EXCEPTION_CODE_MAC_PPC_TRAP = 0x00000001, /* EXC_PPC_TRAP */ - MD_EXCEPTION_CODE_MAC_PPC_MIGRATE = 0x00010100, /* EXC_PPC_MIGRATE */ - - /* With MD_EXCEPTION_MAC_BREAKPOINT on ppc */ - MD_EXCEPTION_CODE_MAC_PPC_BREAKPOINT = 1, /* EXC_PPC_BREAKPOINT */ - - /* With MD_EXCEPTION_MAC_BAD_INSTRUCTION on x86, see also x86 interrupt - * values below. */ - MD_EXCEPTION_CODE_MAC_X86_INVALID_OPERATION = 1, /* EXC_I386_INVOP */ - - /* With MD_EXCEPTION_MAC_ARITHMETIC on x86 */ - MD_EXCEPTION_CODE_MAC_X86_DIV = 1, /* EXC_I386_DIV */ - MD_EXCEPTION_CODE_MAC_X86_INTO = 2, /* EXC_I386_INTO */ - MD_EXCEPTION_CODE_MAC_X86_NOEXT = 3, /* EXC_I386_NOEXT */ - MD_EXCEPTION_CODE_MAC_X86_EXTOVR = 4, /* EXC_I386_EXTOVR */ - MD_EXCEPTION_CODE_MAC_X86_EXTERR = 5, /* EXC_I386_EXTERR */ - MD_EXCEPTION_CODE_MAC_X86_EMERR = 6, /* EXC_I386_EMERR */ - MD_EXCEPTION_CODE_MAC_X86_BOUND = 7, /* EXC_I386_BOUND */ - MD_EXCEPTION_CODE_MAC_X86_SSEEXTERR = 8, /* EXC_I386_SSEEXTERR */ - - /* With MD_EXCEPTION_MAC_BREAKPOINT on x86 */ - MD_EXCEPTION_CODE_MAC_X86_SGL = 1, /* EXC_I386_SGL */ - MD_EXCEPTION_CODE_MAC_X86_BPT = 2, /* EXC_I386_BPT */ - - /* With MD_EXCEPTION_MAC_BAD_INSTRUCTION on x86. These are the raw - * x86 interrupt codes. Most of these are mapped to other Mach - * exceptions and codes, are handled, or should not occur in user space. - * A few of these will do occur with MD_EXCEPTION_MAC_BAD_INSTRUCTION. */ - /* EXC_I386_DIVERR = 0: mapped to EXC_ARITHMETIC/EXC_I386_DIV */ - /* EXC_I386_SGLSTP = 1: mapped to EXC_BREAKPOINT/EXC_I386_SGL */ - /* EXC_I386_NMIFLT = 2: should not occur in user space */ - /* EXC_I386_BPTFLT = 3: mapped to EXC_BREAKPOINT/EXC_I386_BPT */ - /* EXC_I386_INTOFLT = 4: mapped to EXC_ARITHMETIC/EXC_I386_INTO */ - /* EXC_I386_BOUNDFLT = 5: mapped to EXC_ARITHMETIC/EXC_I386_BOUND */ - /* EXC_I386_INVOPFLT = 6: mapped to EXC_BAD_INSTRUCTION/EXC_I386_INVOP */ - /* EXC_I386_NOEXTFLT = 7: should be handled by the kernel */ - /* EXC_I386_DBLFLT = 8: should be handled (if possible) by the kernel */ - /* EXC_I386_EXTOVRFLT = 9: mapped to EXC_BAD_ACCESS/(PROT_READ|PROT_EXEC) */ - MD_EXCEPTION_CODE_MAC_X86_INVALID_TASK_STATE_SEGMENT = 10, - /* EXC_INVTSSFLT */ - MD_EXCEPTION_CODE_MAC_X86_SEGMENT_NOT_PRESENT = 11, - /* EXC_SEGNPFLT */ - MD_EXCEPTION_CODE_MAC_X86_STACK_FAULT = 12, - /* EXC_STKFLT */ - MD_EXCEPTION_CODE_MAC_X86_GENERAL_PROTECTION_FAULT = 13, - /* EXC_GPFLT */ - /* EXC_I386_PGFLT = 14: should not occur in user space */ - /* EXC_I386_EXTERRFLT = 16: mapped to EXC_ARITHMETIC/EXC_I386_EXTERR */ - MD_EXCEPTION_CODE_MAC_X86_ALIGNMENT_FAULT = 17 - /* EXC_ALIGNFLT (for vector operations) */ - /* EXC_I386_ENOEXTFLT = 32: should be handled by the kernel */ - /* EXC_I386_ENDPERR = 33: should not occur */ -} MDExceptionCodeMac; - -/* For (MDException).exception_code. These values come from bits/signum.h. - */ -typedef enum { - MD_EXCEPTION_CODE_LIN_SIGHUP = 1, /* Hangup (POSIX) */ - MD_EXCEPTION_CODE_LIN_SIGINT = 2, /* Interrupt (ANSI) */ - MD_EXCEPTION_CODE_LIN_SIGQUIT = 3, /* Quit (POSIX) */ - MD_EXCEPTION_CODE_LIN_SIGILL = 4, /* Illegal instruction (ANSI) */ - MD_EXCEPTION_CODE_LIN_SIGTRAP = 5, /* Trace trap (POSIX) */ - MD_EXCEPTION_CODE_LIN_SIGABRT = 6, /* Abort (ANSI) */ - MD_EXCEPTION_CODE_LIN_SIGBUS = 7, /* BUS error (4.2 BSD) */ - MD_EXCEPTION_CODE_LIN_SIGFPE = 8, /* Floating-point exception (ANSI) */ - MD_EXCEPTION_CODE_LIN_SIGKILL = 9, /* Kill, unblockable (POSIX) */ - MD_EXCEPTION_CODE_LIN_SIGUSR1 = 10, /* User-defined signal 1 (POSIX). */ - MD_EXCEPTION_CODE_LIN_SIGSEGV = 11, /* Segmentation violation (ANSI) */ - MD_EXCEPTION_CODE_LIN_SIGUSR2 = 12, /* User-defined signal 2 (POSIX) */ - MD_EXCEPTION_CODE_LIN_SIGPIPE = 13, /* Broken pipe (POSIX) */ - MD_EXCEPTION_CODE_LIN_SIGALRM = 14, /* Alarm clock (POSIX) */ - MD_EXCEPTION_CODE_LIN_SIGTERM = 15, /* Termination (ANSI) */ - MD_EXCEPTION_CODE_LIN_SIGSTKFLT = 16, /* Stack faultd */ - MD_EXCEPTION_CODE_LIN_SIGCHLD = 17, /* Child status has changed (POSIX) */ - MD_EXCEPTION_CODE_LIN_SIGCONT = 18, /* Continue (POSIX) */ - MD_EXCEPTION_CODE_LIN_SIGSTOP = 19, /* Stop, unblockable (POSIX) */ - MD_EXCEPTION_CODE_LIN_SIGTSTP = 20, /* Keyboard stop (POSIX) */ - MD_EXCEPTION_CODE_LIN_SIGTTIN = 21, /* Background read from tty (POSIX) */ - MD_EXCEPTION_CODE_LIN_SIGTTOU = 22, /* Background write to tty (POSIX) */ - MD_EXCEPTION_CODE_LIN_SIGURG = 23, - /* Urgent condition on socket (4.2 BSD) */ - MD_EXCEPTION_CODE_LIN_SIGXCPU = 24, /* CPU limit exceeded (4.2 BSD) */ - MD_EXCEPTION_CODE_LIN_SIGXFSZ = 25, - /* File size limit exceeded (4.2 BSD) */ - MD_EXCEPTION_CODE_LIN_SIGVTALRM = 26, /* Virtual alarm clock (4.2 BSD) */ - MD_EXCEPTION_CODE_LIN_SIGPROF = 27, /* Profiling alarm clock (4.2 BSD) */ - MD_EXCEPTION_CODE_LIN_SIGWINCH = 28, /* Window size change (4.3 BSD, Sun) */ - MD_EXCEPTION_CODE_LIN_SIGIO = 29, /* I/O now possible (4.2 BSD) */ - MD_EXCEPTION_CODE_LIN_SIGPWR = 30, /* Power failure restart (System V) */ - MD_EXCEPTION_CODE_LIN_SIGSYS = 31 /* Bad system call */ -} MDExceptionCodeLinux; - -typedef struct { - u_int32_t thread_id; /* Thread in which the exception - * occurred. Corresponds to - * (MDRawThread).thread_id. */ - u_int32_t __align; - MDException exception_record; - MDLocationDescriptor thread_context; /* MDRawContext[CPU] */ -} MDRawExceptionStream; /* MINIDUMP_EXCEPTION_STREAM */ - - -typedef union { - struct { - u_int32_t vendor_id[3]; /* cpuid 0: ebx, edx, ecx */ - u_int32_t version_information; /* cpuid 1: eax */ - u_int32_t feature_information; /* cpuid 1: edx */ - u_int32_t amd_extended_cpu_features; /* cpuid 0x80000001, ebx */ - } x86_cpu_info; - struct { - u_int64_t processor_features[2]; - } other_cpu_info; -} MDCPUInformation; /* CPU_INFORMATION */ - - -typedef struct { - /* The next 3 fields and numberOfProcessors are from the SYSTEM_INFO - * structure as returned by GetSystemInfo */ - u_int16_t processor_architecture; - u_int16_t processor_level; /* x86: 5 = 586, 6 = 686, ... */ - u_int16_t processor_revision; /* x86: 0xMMSS, where MM=model, - * SS=stepping */ - - u_int8_t number_of_processors; - u_int8_t product_type; /* Windows: VER_NT_* from WinNT.h */ - - /* The next 5 fields are from the OSVERSIONINFO structure as returned - * by GetVersionEx */ - u_int32_t major_version; - u_int32_t minor_version; - u_int32_t build_number; - u_int32_t platform_id; - MDRVA csd_version_rva; /* MDString further identifying the - * host OS. - * Windows: name of the installed OS - * service pack. - * Mac OS X: the Apple OS build number - * (sw_vers -buildVersion). - * Linux: uname -srvmo */ - - u_int16_t suite_mask; /* Windows: VER_SUITE_* from WinNT.h */ - u_int16_t reserved2; - - MDCPUInformation cpu; -} MDRawSystemInfo; /* MINIDUMP_SYSTEM_INFO */ - -/* For (MDRawSystemInfo).processor_architecture: */ -typedef enum { - MD_CPU_ARCHITECTURE_X86 = 0, /* PROCESSOR_ARCHITECTURE_INTEL */ - MD_CPU_ARCHITECTURE_MIPS = 1, /* PROCESSOR_ARCHITECTURE_MIPS */ - MD_CPU_ARCHITECTURE_ALPHA = 2, /* PROCESSOR_ARCHITECTURE_ALPHA */ - MD_CPU_ARCHITECTURE_PPC = 3, /* PROCESSOR_ARCHITECTURE_PPC */ - MD_CPU_ARCHITECTURE_SHX = 4, /* PROCESSOR_ARCHITECTURE_SHX - * (Super-H) */ - MD_CPU_ARCHITECTURE_ARM = 5, /* PROCESSOR_ARCHITECTURE_ARM */ - MD_CPU_ARCHITECTURE_IA64 = 6, /* PROCESSOR_ARCHITECTURE_IA64 */ - MD_CPU_ARCHITECTURE_ALPHA64 = 7, /* PROCESSOR_ARCHITECTURE_ALPHA64 */ - MD_CPU_ARCHITECTURE_MSIL = 8, /* PROCESSOR_ARCHITECTURE_MSIL - * (Microsoft Intermediate Language) */ - MD_CPU_ARCHITECTURE_AMD64 = 9, /* PROCESSOR_ARCHITECTURE_AMD64 */ - MD_CPU_ARCHITECTURE_X86_WIN64 = 10, - /* PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 (WoW64) */ - MD_CPU_ARCHITECTURE_UNKNOWN = 0xffff /* PROCESSOR_ARCHITECTURE_UNKNOWN */ -} MDCPUArchitecture; - -/* For (MDRawSystemInfo).platform_id: */ -typedef enum { - MD_OS_WIN32S = 0, /* VER_PLATFORM_WIN32s (Windows 3.1) */ - MD_OS_WIN32_WINDOWS = 1, /* VER_PLATFORM_WIN32_WINDOWS (Windows 95-98-Me) */ - MD_OS_WIN32_NT = 2, /* VER_PLATFORM_WIN32_NT (Windows NT, 2000+) */ - MD_OS_WIN32_CE = 3, /* VER_PLATFORM_WIN32_CE, VER_PLATFORM_WIN32_HH - * (Windows CE, Windows Mobile, "Handheld") */ - - /* The following values are Breakpad-defined. */ - MD_OS_UNIX = 0x8000, /* Generic Unix-ish */ - MD_OS_MAC_OS_X = 0x8101, /* Mac OS X/Darwin */ - MD_OS_LINUX = 0x8201 /* Linux */ -} MDOSPlatform; - - -typedef struct { - u_int32_t size_of_info; /* Length of entire MDRawMiscInfo structure. */ - u_int32_t flags1; - - /* The next field is only valid if flags1 contains - * MD_MISCINFO_FLAGS1_PROCESS_ID. */ - u_int32_t process_id; - - /* The next 3 fields are only valid if flags1 contains - * MD_MISCINFO_FLAGS1_PROCESS_TIMES. */ - u_int32_t process_create_time; /* time_t process started */ - u_int32_t process_user_time; /* seconds of user CPU time */ - u_int32_t process_kernel_time; /* seconds of kernel CPU time */ - - /* The following fields are not present in MINIDUMP_MISC_INFO but are - * in MINIDUMP_MISC_INFO_2. When this struct is populated, these values - * may not be set. Use flags1 or sizeOfInfo to determine whether these - * values are present. These are only valid when flags1 contains - * MD_MISCINFO_FLAGS1_PROCESSOR_POWER_INFO. */ - u_int32_t processor_max_mhz; - u_int32_t processor_current_mhz; - u_int32_t processor_mhz_limit; - u_int32_t processor_max_idle_state; - u_int32_t processor_current_idle_state; -} MDRawMiscInfo; /* MINIDUMP_MISC_INFO, MINIDUMP_MISC_INFO2 */ - -#define MD_MISCINFO_SIZE 24 -#define MD_MISCINFO2_SIZE 44 - -/* For (MDRawMiscInfo).flags1. These values indicate which fields in the - * MDRawMiscInfoStructure are valid. */ -typedef enum { - MD_MISCINFO_FLAGS1_PROCESS_ID = 0x00000001, - /* MINIDUMP_MISC1_PROCESS_ID */ - MD_MISCINFO_FLAGS1_PROCESS_TIMES = 0x00000002, - /* MINIDUMP_MISC1_PROCESS_TIMES */ - MD_MISCINFO_FLAGS1_PROCESSOR_POWER_INFO = 0x00000004 - /* MINIDUMP_MISC1_PROCESSOR_POWER_INFO */ -} MDMiscInfoFlags1; - - -/* - * Breakpad extension types - */ - - -typedef struct { - /* validity is a bitmask with values from MDBreakpadInfoValidity, indicating - * which of the other fields in the structure are valid. */ - u_int32_t validity; - - /* Thread ID of the handler thread. dump_thread_id should correspond to - * the thread_id of an MDRawThread in the minidump's MDRawThreadList if - * a dedicated thread in that list was used to produce the minidump. If - * the MDRawThreadList does not contain a dedicated thread used to produce - * the minidump, this field should be set to 0 and the validity field - * must not contain MD_BREAKPAD_INFO_VALID_DUMP_THREAD_ID. */ - u_int32_t dump_thread_id; - - /* Thread ID of the thread that requested the minidump be produced. As - * with dump_thread_id, requesting_thread_id should correspond to the - * thread_id of an MDRawThread in the minidump's MDRawThreadList. For - * minidumps produced as a result of an exception, requesting_thread_id - * will be the same as the MDRawExceptionStream's thread_id field. For - * minidumps produced "manually" at the program's request, - * requesting_thread_id will indicate which thread caused the dump to be - * written. If the minidump was produced at the request of something - * other than a thread in the MDRawThreadList, this field should be set - * to 0 and the validity field must not contain - * MD_BREAKPAD_INFO_VALID_REQUESTING_THREAD_ID. */ - u_int32_t requesting_thread_id; -} MDRawBreakpadInfo; - -/* For (MDRawBreakpadInfo).validity: */ -typedef enum { - /* When set, the dump_thread_id field is valid. */ - MD_BREAKPAD_INFO_VALID_DUMP_THREAD_ID = 1 << 0, - - /* When set, the requesting_thread_id field is valid. */ - MD_BREAKPAD_INFO_VALID_REQUESTING_THREAD_ID = 1 << 1 -} MDBreakpadInfoValidity; - -typedef struct { - /* expression, function, and file are 0-terminated UTF-16 strings. They - * may be truncated if necessary, but should always be 0-terminated when - * written to a file. - * Fixed-length strings are used because MiniDumpWriteDump doesn't offer - * a way for user streams to point to arbitrary RVAs for strings. */ - u_int16_t expression[128]; /* Assertion that failed... */ - u_int16_t function[128]; /* ...within this function... */ - u_int16_t file[128]; /* ...in this file... */ - u_int32_t line; /* ...at this line. */ - u_int32_t type; -} MDRawAssertionInfo; - -/* For (MDRawAssertionInfo).type: */ -typedef enum { - MD_ASSERTION_INFO_TYPE_UNKNOWN = 0, - - /* Used for assertions that would be raised by the MSVC CRT but are - * directed to an invalid parameter handler instead. */ - MD_ASSERTION_INFO_TYPE_INVALID_PARAMETER, - - /* Used for assertions that would be raised by the MSVC CRT but are - * directed to a pure virtual call handler instead. */ - MD_ASSERTION_INFO_TYPE_PURE_VIRTUAL_CALL -} MDAssertionInfoData; - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ - - -#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_FORMAT_H__ */ diff --git a/toolkit/airbag/airbag/src/google_breakpad/common/minidump_size.h b/toolkit/airbag/airbag/src/google_breakpad/common/minidump_size.h deleted file mode 100644 index 918544b66238..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/common/minidump_size.h +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (c) 2007, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -// minidump_size.h: Provides a C++ template for programmatic access to -// the sizes of various types defined in minidump_format.h. -// -// Author: Mark Mentovai - -#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_SIZE_H__ -#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_SIZE_H__ - -#include - -#include "google_breakpad/common/minidump_format.h" - -namespace google_breakpad { - -template -class minidump_size { - public: - static size_t size() { return sizeof(T); } -}; - -// Explicit specializations for variable-length types. The size returned -// for these should be the size for an object without its variable-length -// section. - -template<> -class minidump_size { - public: - static size_t size() { return MDString_minsize; } -}; - -template<> -class minidump_size { - public: - static size_t size() { return MDRawThreadList_minsize; } -}; - -template<> -class minidump_size { - public: - static size_t size() { return MDCVInfoPDB20_minsize; } -}; - -template<> -class minidump_size { - public: - static size_t size() { return MDCVInfoPDB70_minsize; } -}; - -template<> -class minidump_size { - public: - static size_t size() { return MDImageDebugMisc_minsize; } -}; - -template<> -class minidump_size { - public: - static size_t size() { return MDRawModuleList_minsize; } -}; - -template<> -class minidump_size { - public: - static size_t size() { return MDRawMemoryList_minsize; } -}; - -// Explicit specialization for MDRawModule, for which sizeof may include -// tail-padding on some architectures but not others. - -template<> -class minidump_size { - public: - static size_t size() { return MD_MODULE_SIZE; } -}; - -} // namespace google_breakpad - -#endif // GOOGLE_BREAKPAD_COMMON_MINIDUMP_SIZE_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/basic_source_line_resolver.h b/toolkit/airbag/airbag/src/google_breakpad/processor/basic_source_line_resolver.h deleted file mode 100644 index 2052bacb28c9..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/basic_source_line_resolver.h +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// BasicSourceLineResolver implements SourceLineResolverInterface, using -// address map files produced by a compatible writer, e.g. PDBSourceLineWriter. - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_BASIC_SOURCE_LINE_RESOLVER_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_BASIC_SOURCE_LINE_RESOLVER_H__ - -#include - -#include "google_breakpad/processor/source_line_resolver_interface.h" - -namespace google_breakpad { - -using std::string; -using __gnu_cxx::hash_map; - -class BasicSourceLineResolver : public SourceLineResolverInterface { - public: - BasicSourceLineResolver(); - virtual ~BasicSourceLineResolver(); - - // SourceLineResolverInterface methods, see source_line_resolver_interface.h - // for more details. - - // Adds a module to this resolver, returning true on success. - // The given map_file is read into memory, and its symbols will be - // retained until the BasicSourceLineResolver is destroyed. - virtual bool LoadModule(const string &module_name, const string &map_file); - - virtual bool HasModule(const string &module_name) const; - - virtual StackFrameInfo* FillSourceLineInfo(StackFrame *frame) const; - - private: - template class MemAddrMap; - struct Line; - struct Function; - struct PublicSymbol; - struct File; - struct HashString { - size_t operator()(const string &s) const; - }; - class Module; - - // All of the modules we've loaded - typedef hash_map ModuleMap; - ModuleMap *modules_; - - // Disallow unwanted copy ctor and assignment operator - BasicSourceLineResolver(const BasicSourceLineResolver&); - void operator=(const BasicSourceLineResolver&); -}; - -} // namespace google_breakpad - -#endif // GOOGLE_BREAKPAD_PROCESSOR_BASIC_SOURCE_LINE_RESOLVER_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/call_stack.h b/toolkit/airbag/airbag/src/google_breakpad/processor/call_stack.h deleted file mode 100644 index 21f595e7b2c3..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/call_stack.h +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// call_stack.h: A call stack comprised of stack frames. -// -// This class manages a vector of stack frames. It is used instead of -// exposing the vector directly to allow the CallStack to own StackFrame -// pointers without having to publicly export the linked_ptr class. A -// CallStack must be composed of pointers instead of objects to allow for -// CPU-specific StackFrame subclasses. -// -// By convention, the stack frame at index 0 is the innermost callee frame, -// and the frame at the highest index in a call stack is the outermost -// caller. CallStack only allows stacks to be built by pushing frames, -// beginning with the innermost callee frame. -// -// Author: Mark Mentovai - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_CALL_STACK_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_CALL_STACK_H__ - -#include - -namespace google_breakpad { - -using std::vector; - -struct StackFrame; -template class linked_ptr; - -class CallStack { - public: - CallStack() { Clear(); } - ~CallStack(); - - // Resets the CallStack to its initial empty state - void Clear(); - - const vector* frames() const { return &frames_; } - - private: - // Stackwalker is responsible for building the frames_ vector. - friend class Stackwalker; - - // Storage for pushed frames. - vector frames_; -}; - -} // namespace google_breakpad - -#endif // GOOGLE_BREAKPAD_PROCSSOR_CALL_STACK_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/code_module.h b/toolkit/airbag/airbag/src/google_breakpad/processor/code_module.h deleted file mode 100644 index 66cda97b5bcf..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/code_module.h +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// code_module.h: Carries information about code modules that are loaded -// into a process. -// -// Author: Mark Mentovai - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_CODE_MODULE_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_CODE_MODULE_H__ - -#include - -namespace google_breakpad { - -using std::string; - -class CodeModule { - public: - virtual ~CodeModule() {} - - // The base address of this code module as it was loaded by the process. - // (u_int64_t)-1 on error. - virtual u_int64_t base_address() const = 0; - - // The size of the code module. 0 on error. - virtual u_int64_t size() const = 0; - - // The path or file name that the code module was loaded from. Empty on - // error. - virtual string code_file() const = 0; - - // An identifying string used to discriminate between multiple versions and - // builds of the same code module. This may contain a uuid, timestamp, - // version number, or any combination of this or other information, in an - // implementation-defined format. Empty on error. - virtual string code_identifier() const = 0; - - // The filename containing debugging information associated with the code - // module. If debugging information is stored in a file separate from the - // code module itself (as is the case when .pdb or .dSYM files are used), - // this will be different from code_file. If debugging information is - // stored in the code module itself (possibly prior to stripping), this - // will be the same as code_file. Empty on error. - virtual string debug_file() const = 0; - - // An identifying string similar to code_identifier, but identifies a - // specific version and build of the associated debug file. This may be - // the same as code_identifier when the debug_file and code_file are - // identical or when the same identifier is used to identify distinct - // debug and code files. - virtual string debug_identifier() const = 0; - - // A human-readable representation of the code module's version. Empty on - // error. - virtual string version() const = 0; - - // Creates a new copy of this CodeModule object, which the caller takes - // ownership of. The new CodeModule may be of a different concrete class - // than the CodeModule being copied, but will behave identically to the - // copied CodeModule as far as the CodeModule interface is concerned. - virtual const CodeModule* Copy() const = 0; -}; - -} // namespace google_breakpad - -#endif // GOOGLE_BREAKPAD_PROCESSOR_CODE_MODULE_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/code_modules.h b/toolkit/airbag/airbag/src/google_breakpad/processor/code_modules.h deleted file mode 100644 index 29c55d4ee7a0..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/code_modules.h +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// code_modules.h: Contains all of the CodeModule objects that were loaded -// into a single process. -// -// Author: Mark Mentovai - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_CODE_MODULES_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_CODE_MODULES_H__ - -#include "google_breakpad/common/breakpad_types.h" - -namespace google_breakpad { - -class CodeModule; - -class CodeModules { - public: - virtual ~CodeModules() {} - - // The number of contained CodeModule objects. - virtual unsigned int module_count() const = 0; - - // Random access to modules. Returns the module whose code is present - // at the address indicated by |address|. If no module is present at this - // address, returns NULL. Ownership of the returned CodeModule is retained - // by the CodeModules object; pointers returned by this method are valid for - // comparison with pointers returned by the other Get methods. - virtual const CodeModule* GetModuleForAddress(u_int64_t address) const = 0; - - // Returns the module corresponding to the main executable. If there is - // no main executable, returns NULL. Ownership of the returned CodeModule - // is retained by the CodeModules object; pointers returned by this method - // are valid for comparison with pointers returned by the other Get - // methods. - virtual const CodeModule* GetMainModule() const = 0; - - // Sequential access to modules. A sequence number of 0 corresponds to the - // module residing lowest in memory. If the sequence number is out of - // range, returns NULL. Ownership of the returned CodeModule is retained - // by the CodeModules object; pointers returned by this method are valid for - // comparison with pointers returned by the other Get methods. - virtual const CodeModule* GetModuleAtSequence( - unsigned int sequence) const = 0; - - // Sequential access to modules. This is similar to GetModuleAtSequence, - // except no ordering requirement is enforced. A CodeModules implementation - // may return CodeModule objects from GetModuleAtIndex in any order it - // wishes, provided that the order remain the same throughout the life of - // the CodeModules object. Typically, GetModuleAtIndex would be used by - // a caller to enumerate all CodeModule objects quickly when the enumeration - // does not require any ordering. If the index argument is out of range, - // returns NULL. Ownership of the returned CodeModule is retained by - // the CodeModules object; pointers returned by this method are valid for - // comparison with pointers returned by the other Get methods. - virtual const CodeModule* GetModuleAtIndex(unsigned int index) const = 0; - - // Creates a new copy of this CodeModules object, which the caller takes - // ownership of. The new object will also contain copies of the existing - // object's child CodeModule objects. The new CodeModules object may be of - // a different concrete class than the object being copied, but will behave - // identically to the copied object as far as the CodeModules and CodeModule - // interfaces are concerned, except that the order that GetModuleAtIndex - // returns objects in may differ between a copy and the original CodeModules - // object. - virtual const CodeModules* Copy() const = 0; -}; - -} // namespace google_breakpad - -#endif // GOOGLE_BREAKPAD_PROCESSOR_CODE_MODULES_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/memory_region.h b/toolkit/airbag/airbag/src/google_breakpad/processor/memory_region.h deleted file mode 100644 index 1ac3fe8d3ea1..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/memory_region.h +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// memory_region.h: Access to memory regions. -// -// A MemoryRegion provides virtual access to a range of memory. It is an -// abstraction allowing the actual source of memory to be independent of -// methods which need to access a virtual memory space. -// -// Author: Mark Mentovai - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_MEMORY_REGION_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_MEMORY_REGION_H__ - - -#include "google_breakpad/common/breakpad_types.h" - - -namespace google_breakpad { - - -class MemoryRegion { - public: - virtual ~MemoryRegion() {} - - // The base address of this memory region. - virtual u_int64_t GetBase() = 0; - - // The size of this memory region. - virtual u_int32_t GetSize() = 0; - - // Access to data of various sizes within the memory region. address - // is a pointer to read, and it must lie within the memory region as - // defined by its base address and size. The location pointed to by - // value is set to the value at address. Byte-swapping is performed - // if necessary so that the value is appropriate for the running - // program. Returns true on success. Fails and returns false if address - // is out of the region's bounds (after considering the width of value), - // or for other types of errors. - virtual bool GetMemoryAtAddress(u_int64_t address, u_int8_t* value) = 0; - virtual bool GetMemoryAtAddress(u_int64_t address, u_int16_t* value) = 0; - virtual bool GetMemoryAtAddress(u_int64_t address, u_int32_t* value) = 0; - virtual bool GetMemoryAtAddress(u_int64_t address, u_int64_t* value) = 0; -}; - - -} // namespace google_breakpad - - -#endif // GOOGLE_BREAKPAD_PROCESSOR_MEMORY_REGION_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/minidump.h b/toolkit/airbag/airbag/src/google_breakpad/processor/minidump.h deleted file mode 100644 index f40f4c0635de..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/minidump.h +++ /dev/null @@ -1,884 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// minidump.h: A minidump reader. -// -// The basic structure of this module tracks the structure of the minidump -// file itself. At the top level, a minidump file is represented by a -// Minidump object. Like most other classes in this module, Minidump -// provides a Read method that initializes the object with information from -// the file. Most of the classes in this file are wrappers around the -// "raw" structures found in the minidump file itself, and defined in -// minidump_format.h. For example, each thread is represented by a -// MinidumpThread object, whose parameters are specified in an MDRawThread -// structure. A properly byte-swapped MDRawThread can be obtained from a -// MinidumpThread easily by calling its thread() method. -// -// Most of the module lazily reads only the portion of the minidump file -// necessary to fulfill the user's request. Calling Minidump::Read -// only reads the minidump's directory. The thread list is not read until -// it is needed, and even once it's read, the memory regions for each -// thread's stack aren't read until they're needed. This strategy avoids -// unnecessary file input, and allocating memory for data in which the user -// has no interest. Note that although memory allocations for a typical -// minidump file are not particularly large, it is possible for legitimate -// minidumps to be sizable. A full-memory minidump, for example, contains -// a snapshot of the entire mapped memory space. Even a normal minidump, -// with stack memory only, can be large if, for example, the dump was -// generated in response to a crash that occurred due to an infinite- -// recursion bug that caused the stack's limits to be exceeded. Finally, -// some users of this library will unfortunately find themselves in the -// position of having to process potentially-hostile minidumps that might -// attempt to cause problems by forcing the minidump processor to over- -// allocate memory. -// -// Memory management in this module is based on a strict -// you-don't-own-anything policy. The only object owned by the user is -// the top-level Minidump object, the creation and destruction of which -// must be the user's own responsibility. All other objects obtained -// through interaction with this module are ultimately owned by the -// Minidump object, and will be freed upon the Minidump object's destruction. -// Because memory regions can potentially involve large allocations, a -// FreeMemory method is provided by MinidumpMemoryRegion, allowing the user -// to release data when it is no longer needed. Use of this method is -// optional but recommended. If freed data is later required, it will -// be read back in from the minidump file again. -// -// There is one exception to this memory management policy: -// Minidump::ReadString will return a string object to the user, and the user -// is responsible for its deletion. -// -// Author: Mark Mentovai - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_H__ - - -#include -#include -#include - -#include "google_breakpad/common/minidump_format.h" -#include "google_breakpad/processor/code_module.h" -#include "google_breakpad/processor/code_modules.h" -#include "google_breakpad/processor/memory_region.h" - - -namespace google_breakpad { - - -using std::map; -using std::string; -using std::vector; - - -class Minidump; -template class RangeMap; - - -// MinidumpObject is the base of all Minidump* objects except for Minidump -// itself. -class MinidumpObject { - public: - virtual ~MinidumpObject() {} - - protected: - explicit MinidumpObject(Minidump* minidump); - - // Refers to the Minidump object that is the ultimate parent of this - // Some MinidumpObjects are owned by other MinidumpObjects, but at the - // root of the ownership tree is always a Minidump. The Minidump object - // is kept here for access to its seeking and reading facilities, and - // for access to data about the minidump file itself, such as whether - // it should be byte-swapped. - Minidump* minidump_; - - // MinidumpObjects are not valid when created. When a subclass populates - // its own fields, it can set valid_ to true. Accessors and mutators may - // wish to consider or alter the valid_ state as they interact with - // objects. - bool valid_; -}; - - -// This class exists primarily to provide a virtual destructor in a base -// class common to all objects that might be stored in -// Minidump::mStreamObjects. Some object types (MinidumpContext) will -// never be stored in Minidump::mStreamObjects, but are represented as -// streams and adhere to the same interface, and may be derived from -// this class. -class MinidumpStream : public MinidumpObject { - public: - virtual ~MinidumpStream() {} - - protected: - explicit MinidumpStream(Minidump* minidump); - - private: - // Populate (and validate) the MinidumpStream. minidump_ is expected - // to be positioned at the beginning of the stream, so that the next - // read from the minidump will be at the beginning of the stream. - // expected_size should be set to the stream's length as contained in - // the MDRawDirectory record or other identifying record. A class - // that implements MinidumpStream can compare expected_size to a - // known size as an integrity check. - virtual bool Read(u_int32_t expected_size) = 0; -}; - - -// MinidumpContext carries a CPU-specific MDRawContext structure, which -// contains CPU context such as register states. Each thread has its -// own context, and the exception record, if present, also has its own -// context. Note that if the exception record is present, the context it -// refers to is probably what the user wants to use for the exception -// thread, instead of that thread's own context. The exception thread's -// context (as opposed to the exception record's context) will contain -// context for the exception handler (which performs minidump generation), -// and not the context that caused the exception (which is probably what the -// user wants). -class MinidumpContext : public MinidumpStream { - public: - virtual ~MinidumpContext(); - - // Returns an MD_CONTEXT_* value such as MD_CONTEXT_X86 or MD_CONTEXT_PPC - // identifying the CPU type that the context was collected from. The - // returned value will identify the CPU only, and will have any other - // MD_CONTEXT_* bits masked out. Returns 0 on failure. - u_int32_t GetContextCPU() const; - - // Returns raw CPU-specific context data for the named CPU type. If the - // context data does not match the CPU type or does not exist, returns - // NULL. - const MDRawContextX86* GetContextX86() const; - const MDRawContextPPC* GetContextPPC() const; - - // Print a human-readable representation of the object to stdout. - void Print(); - - private: - friend class MinidumpThread; - friend class MinidumpException; - - explicit MinidumpContext(Minidump* minidump); - - bool Read(u_int32_t expected_size); - - // Free the CPU-specific context structure. - void FreeContext(); - - // If the minidump contains a SYSTEM_INFO_STREAM, makes sure that the - // system info stream gives an appropriate CPU type matching the context - // CPU type in context_cpu_type. Returns false if the CPU type does not - // match. Returns true if the CPU type matches or if the minidump does - // not contain a system info stream. - bool CheckAgainstSystemInfo(u_int32_t context_cpu_type); - - // The CPU-specific context structure. - union { - MDRawContextBase* base; - MDRawContextX86* x86; - MDRawContextPPC* ppc; - } context_; -}; - - -// MinidumpMemoryRegion does not wrap any MDRaw structure, and only contains -// a reference to an MDMemoryDescriptor. This object is intended to wrap -// portions of a minidump file that contain memory dumps. In normal -// minidumps, each MinidumpThread owns a MinidumpMemoryRegion corresponding -// to the thread's stack memory. MinidumpMemoryList also gives access to -// memory regions in its list as MinidumpMemoryRegions. This class -// adheres to MemoryRegion so that it may be used as a data provider to -// the Stackwalker family of classes. -class MinidumpMemoryRegion : public MinidumpObject, - public MemoryRegion { - public: - virtual ~MinidumpMemoryRegion(); - - static void set_max_bytes(u_int32_t max_bytes) { max_bytes_ = max_bytes; } - static u_int32_t max_bytes() { return max_bytes_; } - - // Returns a pointer to the base of the memory region. Returns the - // cached value if available, otherwise, reads the minidump file and - // caches the memory region. - const u_int8_t* GetMemory(); - - // The address of the base of the memory region. - u_int64_t GetBase(); - - // The size, in bytes, of the memory region. - u_int32_t GetSize(); - - // Frees the cached memory region, if cached. - void FreeMemory(); - - // Obtains the value of memory at the pointer specified by address. - bool GetMemoryAtAddress(u_int64_t address, u_int8_t* value); - bool GetMemoryAtAddress(u_int64_t address, u_int16_t* value); - bool GetMemoryAtAddress(u_int64_t address, u_int32_t* value); - bool GetMemoryAtAddress(u_int64_t address, u_int64_t* value); - - // Print a human-readable representation of the object to stdout. - void Print(); - - private: - friend class MinidumpThread; - friend class MinidumpMemoryList; - - explicit MinidumpMemoryRegion(Minidump* minidump); - - // Identify the base address and size of the memory region, and the - // location it may be found in the minidump file. - void SetDescriptor(MDMemoryDescriptor* descriptor); - - // Implementation for GetMemoryAtAddress - template bool GetMemoryAtAddressInternal(u_int64_t address, - T* value); - - // The largest memory region that will be read from a minidump. The - // default is 1MB. - static u_int32_t max_bytes_; - - // Base address and size of the memory region, and its position in the - // minidump file. - MDMemoryDescriptor* descriptor_; - - // Cached memory. - vector* memory_; -}; - - -// MinidumpThread contains information about a thread of execution, -// including a snapshot of the thread's stack and CPU context. For -// the thread that caused an exception, the context carried by -// MinidumpException is probably desired instead of the CPU context -// provided here. -class MinidumpThread : public MinidumpObject { - public: - virtual ~MinidumpThread(); - - const MDRawThread* thread() const { return valid_ ? &thread_ : NULL; } - MinidumpMemoryRegion* GetMemory(); - MinidumpContext* GetContext(); - - // The thread ID is used to determine if a thread is the exception thread, - // so a special getter is provided to retrieve this data from the - // MDRawThread structure. Returns false if the thread ID cannot be - // determined. - bool GetThreadID(u_int32_t *thread_id) const; - - // Print a human-readable representation of the object to stdout. - void Print(); - - private: - // These objects are managed by MinidumpThreadList. - friend class MinidumpThreadList; - - explicit MinidumpThread(Minidump* minidump); - - // This works like MinidumpStream::Read, but is driven by - // MinidumpThreadList. No size checking is done, because - // MinidumpThreadList handles that directly. - bool Read(); - - MDRawThread thread_; - MinidumpMemoryRegion* memory_; - MinidumpContext* context_; -}; - - -// MinidumpThreadList contains all of the threads (as MinidumpThreads) in -// a process. -class MinidumpThreadList : public MinidumpStream { - public: - virtual ~MinidumpThreadList(); - - static void set_max_threads(u_int32_t max_threads) { - max_threads_ = max_threads; - } - static u_int32_t max_threads() { return max_threads_; } - - unsigned int thread_count() const { return valid_ ? thread_count_ : 0; } - - // Sequential access to threads. - MinidumpThread* GetThreadAtIndex(unsigned int index) const; - - // Random access to threads. - MinidumpThread* GetThreadByID(u_int32_t thread_id); - - // Print a human-readable representation of the object to stdout. - void Print(); - - private: - friend class Minidump; - - typedef map IDToThreadMap; - typedef vector MinidumpThreads; - - static const u_int32_t kStreamType = MD_THREAD_LIST_STREAM; - - explicit MinidumpThreadList(Minidump* aMinidump); - - bool Read(u_int32_t aExpectedSize); - - // The largest number of threads that will be read from a minidump. The - // default is 256. - static u_int32_t max_threads_; - - // Access to threads using the thread ID as the key. - IDToThreadMap id_to_thread_map_; - - // The list of threads. - MinidumpThreads* threads_; - u_int32_t thread_count_; -}; - - -// MinidumpModule wraps MDRawModule, which contains information about loaded -// code modules. Access is provided to various data referenced indirectly -// by MDRawModule, such as the module's name and a specification for where -// to locate debugging information for the module. -class MinidumpModule : public MinidumpObject, - public CodeModule { - public: - virtual ~MinidumpModule(); - - static void set_max_cv_bytes(u_int32_t max_cv_bytes) { - max_cv_bytes_ = max_cv_bytes; - } - static u_int32_t max_cv_bytes() { return max_cv_bytes_; } - - static void set_max_misc_bytes(u_int32_t max_misc_bytes) { - max_misc_bytes_ = max_misc_bytes; - } - static u_int32_t max_misc_bytes() { return max_misc_bytes_; } - - const MDRawModule* module() const { return valid_ ? &module_ : NULL; } - - // CodeModule implementation - virtual u_int64_t base_address() const { - return valid_ ? module_.base_of_image : static_cast(-1); - } - virtual u_int64_t size() const { return valid_ ? module_.size_of_image : 0; } - virtual string code_file() const; - virtual string code_identifier() const; - virtual string debug_file() const; - virtual string debug_identifier() const; - virtual string version() const; - virtual const CodeModule* Copy() const; - - // The CodeView record, which contains information to locate the module's - // debugging information (pdb). This is returned as u_int8_t* because - // the data can be of types MDCVInfoPDB20* or MDCVInfoPDB70*, or it may be - // of a type unknown to Breakpad, in which case the raw data will still be - // returned but no byte-swapping will have been performed. Check the - // record's signature in the first four bytes to differentiate between - // the various types. Current toolchains generate modules which carry - // MDCVInfoPDB70 by default. Returns a pointer to the CodeView record on - // success, and NULL on failure. On success, the optional |size| argument - // is set to the size of the CodeView record. - const u_int8_t* GetCVRecord(u_int32_t* size); - - // The miscellaneous debug record, which is obsolete. Current toolchains - // do not generate this type of debugging information (dbg), and this - // field is not expected to be present. Returns a pointer to the debugging - // record on success, and NULL on failure. On success, the optional |size| - // argument is set to the size of the debugging record. - const MDImageDebugMisc* GetMiscRecord(u_int32_t* size); - - // Print a human-readable representation of the object to stdout. - void Print(); - - private: - // These objects are managed by MinidumpModuleList. - friend class MinidumpModuleList; - - explicit MinidumpModule(Minidump* minidump); - - // This works like MinidumpStream::Read, but is driven by - // MinidumpModuleList. No size checking is done, because - // MinidumpModuleList handles that directly. - bool Read(); - - // Reads indirectly-referenced data, including the module name, CodeView - // record, and miscellaneous debugging record. This is necessary to allow - // MinidumpModuleList to fully construct MinidumpModule objects without - // requiring seeks to read a contiguous set of MinidumpModule objects. - // All auxiliary data should be available when Read is called, in order to - // allow the CodeModule getters to be const methods. - bool ReadAuxiliaryData(); - - // The largest number of bytes that will be read from a minidump for a - // CodeView record or miscellaneous debugging record, respectively. The - // default for each is 1024. - static u_int32_t max_cv_bytes_; - static u_int32_t max_misc_bytes_; - - // True after a successful Read. This is different from valid_, which is - // not set true until ReadAuxiliaryData also completes successfully. - // module_valid_ is only used by ReadAuxiliaryData and the functions it - // calls to determine whether the object is ready for auxiliary data to - // be read. - bool module_valid_; - - MDRawModule module_; - - // Cached module name. - const string* name_; - - // Cached CodeView record - this is MDCVInfoPDB20 or (likely) - // MDCVInfoPDB70, or possibly something else entirely. Stored as a u_int8_t - // because the structure contains a variable-sized string and its exact - // size cannot be known until it is processed. - vector* cv_record_; - - // If cv_record_ is present, cv_record_signature_ contains a copy of the - // CodeView record's first four bytes, for ease of determinining the - // type of structure that cv_record_ contains. - u_int32_t cv_record_signature_; - - // Cached MDImageDebugMisc (usually not present), stored as u_int8_t - // because the structure contains a variable-sized string and its exact - // size cannot be known until it is processed. - vector* misc_record_; -}; - - -// MinidumpModuleList contains all of the loaded code modules for a process -// in the form of MinidumpModules. It maintains a map of these modules -// so that it may easily provide a code module corresponding to a specific -// address. -class MinidumpModuleList : public MinidumpStream, - public CodeModules { - public: - virtual ~MinidumpModuleList(); - - static void set_max_modules(u_int32_t max_modules) { - max_modules_ = max_modules; - } - static u_int32_t max_modules() { return max_modules_; } - - // CodeModules implementation. - virtual unsigned int module_count() const { - return valid_ ? module_count_ : 0; - } - virtual const MinidumpModule* GetModuleForAddress(u_int64_t address) const; - virtual const MinidumpModule* GetMainModule() const; - virtual const MinidumpModule* GetModuleAtSequence( - unsigned int sequence) const; - virtual const MinidumpModule* GetModuleAtIndex(unsigned int index) const; - virtual const CodeModules* Copy() const; - - // Print a human-readable representation of the object to stdout. - void Print(); - - private: - friend class Minidump; - - typedef vector MinidumpModules; - - static const u_int32_t kStreamType = MD_MODULE_LIST_STREAM; - - explicit MinidumpModuleList(Minidump* minidump); - - bool Read(u_int32_t expected_size); - - // The largest number of modules that will be read from a minidump. The - // default is 1024. - static u_int32_t max_modules_; - - // Access to modules using addresses as the key. - RangeMap *range_map_; - - MinidumpModules *modules_; - u_int32_t module_count_; -}; - - -// MinidumpMemoryList corresponds to a minidump's MEMORY_LIST_STREAM stream, -// which references the snapshots of all of the memory regions contained -// within the minidump. For a normal minidump, this includes stack memory -// (also referenced by each MinidumpThread, in fact, the MDMemoryDescriptors -// here and in MDRawThread both point to exactly the same data in a -// minidump file, conserving space), as well as a 256-byte snapshot of memory -// surrounding the instruction pointer in the case of an exception. Other -// types of minidumps may contain significantly more memory regions. Full- -// memory minidumps contain all of a process' mapped memory. -class MinidumpMemoryList : public MinidumpStream { - public: - virtual ~MinidumpMemoryList(); - - static void set_max_regions(u_int32_t max_regions) { - max_regions_ = max_regions; - } - static u_int32_t max_regions() { return max_regions_; } - - unsigned int region_count() const { return valid_ ? region_count_ : 0; } - - // Sequential access to memory regions. - MinidumpMemoryRegion* GetMemoryRegionAtIndex(unsigned int index); - - // Random access to memory regions. Returns the region encompassing - // the address identified by address. - MinidumpMemoryRegion* GetMemoryRegionForAddress(u_int64_t address); - - // Print a human-readable representation of the object to stdout. - void Print(); - - private: - friend class Minidump; - - typedef vector MemoryDescriptors; - typedef vector MemoryRegions; - - static const u_int32_t kStreamType = MD_MEMORY_LIST_STREAM; - - explicit MinidumpMemoryList(Minidump* minidump); - - bool Read(u_int32_t expected_size); - - // The largest number of memory regions that will be read from a minidump. - // The default is 256. - static u_int32_t max_regions_; - - // Access to memory regions using addresses as the key. - RangeMap *range_map_; - - // The list of descriptors. This is maintained separately from the list - // of regions, because MemoryRegion doesn't own its MemoryDescriptor, it - // maintains a pointer to it. descriptors_ provides the storage for this - // purpose. - MemoryDescriptors *descriptors_; - - // The list of regions. - MemoryRegions *regions_; - u_int32_t region_count_; -}; - - -// MinidumpException wraps MDRawExceptionStream, which contains information -// about the exception that caused the minidump to be generated, if the -// minidump was generated in an exception handler called as a result of -// an exception. It also provides access to a MinidumpContext object, -// which contains the CPU context for the exception thread at the time -// the exception occurred. -class MinidumpException : public MinidumpStream { - public: - virtual ~MinidumpException(); - - const MDRawExceptionStream* exception() const { - return valid_ ? &exception_ : NULL; - } - - // The thread ID is used to determine if a thread is the exception thread, - // so a special getter is provided to retrieve this data from the - // MDRawExceptionStream structure. Returns false if the thread ID cannot - // be determined. - bool GetThreadID(u_int32_t *thread_id) const; - - MinidumpContext* GetContext(); - - // Print a human-readable representation of the object to stdout. - void Print(); - - private: - friend class Minidump; - - static const u_int32_t kStreamType = MD_EXCEPTION_STREAM; - - explicit MinidumpException(Minidump* minidump); - - bool Read(u_int32_t expected_size); - - MDRawExceptionStream exception_; - MinidumpContext* context_; -}; - - -// MinidumpSystemInfo wraps MDRawSystemInfo and provides information about -// the system on which the minidump was generated. See also MinidumpMiscInfo. -class MinidumpSystemInfo : public MinidumpStream { - public: - virtual ~MinidumpSystemInfo(); - - const MDRawSystemInfo* system_info() const { - return valid_ ? &system_info_ : NULL; - } - - // GetOS and GetCPU return textual representations of the operating system - // and CPU that produced the minidump. Unlike most other Minidump* methods, - // they return string objects, not weak pointers. Defined values for - // GetOS() are "mac", "windows", and "linux". Defined values for GetCPU - // are "x86" and "ppc". These methods return an empty string when their - // values are unknown. - string GetOS(); - string GetCPU(); - - // I don't know what CSD stands for, but this field is documented as - // returning a textual representation of the OS service pack. On other - // platforms, this provides additional information about an OS version - // level beyond major.minor.micro. Returns NULL if unknown. - const string* GetCSDVersion(); - - // If a CPU vendor string can be determined, returns a pointer to it, - // otherwise, returns NULL. CPU vendor strings can be determined from - // x86 CPUs with CPUID 0. - const string* GetCPUVendor(); - - // Print a human-readable representation of the object to stdout. - void Print(); - - private: - friend class Minidump; - - static const u_int32_t kStreamType = MD_SYSTEM_INFO_STREAM; - - explicit MinidumpSystemInfo(Minidump* minidump); - - bool Read(u_int32_t expected_size); - - MDRawSystemInfo system_info_; - - // Textual representation of the OS service pack, for minidumps produced - // by MiniDumpWriteDump on Windows. - const string* csd_version_; - - // A string identifying the CPU vendor, if known. - const string* cpu_vendor_; -}; - - -// MinidumpMiscInfo wraps MDRawMiscInfo and provides information about -// the process that generated the minidump, and optionally additional system -// information. See also MinidumpSystemInfo. -class MinidumpMiscInfo : public MinidumpStream { - public: - const MDRawMiscInfo* misc_info() const { - return valid_ ? &misc_info_ : NULL; - } - - // Print a human-readable representation of the object to stdout. - void Print(); - - private: - friend class Minidump; - - static const u_int32_t kStreamType = MD_MISC_INFO_STREAM; - - explicit MinidumpMiscInfo(Minidump* minidump_); - - bool Read(u_int32_t expected_size_); - - MDRawMiscInfo misc_info_; -}; - - -// MinidumpBreakpadInfo wraps MDRawBreakpadInfo, which is an optional stream in -// a minidump that provides additional information about the process state -// at the time the minidump was generated. -class MinidumpBreakpadInfo : public MinidumpStream { - public: - const MDRawBreakpadInfo* breakpad_info() const { - return valid_ ? &breakpad_info_ : NULL; - } - - // These thread IDs are used to determine if threads deserve special - // treatment, so special getters are provided to retrieve this data from - // the MDRawBreakpadInfo structure. The getters return false if the thread - // IDs cannot be determined. - bool GetDumpThreadID(u_int32_t *thread_id) const; - bool GetRequestingThreadID(u_int32_t *thread_id) const; - - // Print a human-readable representation of the object to stdout. - void Print(); - - private: - friend class Minidump; - - static const u_int32_t kStreamType = MD_BREAKPAD_INFO_STREAM; - - explicit MinidumpBreakpadInfo(Minidump* minidump_); - - bool Read(u_int32_t expected_size_); - - MDRawBreakpadInfo breakpad_info_; -}; - - -// Minidump is the user's interface to a minidump file. It wraps MDRawHeader -// and provides access to the minidump's top-level stream directory. -class Minidump { - public: - // path is the pathname of a file containing the minidump. - explicit Minidump(const string& path); - - ~Minidump(); - - static void set_max_streams(u_int32_t max_streams) { - max_streams_ = max_streams; - } - static u_int32_t max_streams() { return max_streams_; } - - static void set_max_string_length(u_int32_t max_string_length) { - max_string_length_ = max_string_length; - } - static u_int32_t max_string_length() { return max_string_length_; } - - const MDRawHeader* header() const { return valid_ ? &header_ : NULL; } - - // Reads the minidump file's header and top-level stream directory. - // The minidump is expected to be positioned at the beginning of the - // header. Read() sets up the stream list and map, and validates the - // Minidump object. - bool Read(); - - // The next set of methods are stubs that call GetStream. They exist to - // force code generation of the templatized API within the module, and - // to avoid exposing an ugly API (GetStream needs to accept a garbage - // parameter). - MinidumpThreadList* GetThreadList(); - MinidumpModuleList* GetModuleList(); - MinidumpMemoryList* GetMemoryList(); - MinidumpException* GetException(); - MinidumpSystemInfo* GetSystemInfo(); - MinidumpMiscInfo* GetMiscInfo(); - MinidumpBreakpadInfo* GetBreakpadInfo(); - - // The next set of methods are provided for users who wish to access - // data in minidump files directly, while leveraging the rest of - // this class and related classes to handle the basic minidump - // structure and known stream types. - - unsigned int GetDirectoryEntryCount() const { - return valid_ ? header_.stream_count : 0; - } - const MDRawDirectory* GetDirectoryEntryAtIndex(unsigned int index) const; - - // The next 2 methods are lower-level I/O routines. They use fd_. - - // Reads count bytes from the minidump at the current position into - // the storage area pointed to by bytes. bytes must be of sufficient - // size. After the read, the file position is advanced by count. - bool ReadBytes(void* bytes, size_t count); - - // Sets the position of the minidump file to offset. - bool SeekSet(off_t offset); - - // The next 2 methods are medium-level I/O routines. - - // ReadString returns a string which is owned by the caller! offset - // specifies the offset that a length-encoded string is stored at in the - // minidump file. - string* ReadString(off_t offset); - - // SeekToStreamType positions the file at the beginning of a stream - // identified by stream_type, and informs the caller of the stream's - // length by setting *stream_length. Because stream_map maps each stream - // type to only one stream in the file, this might mislead the user into - // thinking that the stream that this seeks to is the only stream with - // type stream_type. That can't happen for streams that these classes - // deal with directly, because they're only supposed to be present in the - // file singly, and that's verified when stream_map_ is built. Users who - // are looking for other stream types should be aware of this - // possibility, and consider using GetDirectoryEntryAtIndex (possibly - // with GetDirectoryEntryCount) if expecting multiple streams of the same - // type in a single minidump file. - bool SeekToStreamType(u_int32_t stream_type, u_int32_t* stream_length); - - bool swap() const { return valid_ ? swap_ : false; } - - // Print a human-readable representation of the object to stdout. - void Print(); - - private: - // MinidumpStreamInfo is used in the MinidumpStreamMap. It lets - // the Minidump object locate interesting streams quickly, and - // provides a convenient place to stash MinidumpStream objects. - struct MinidumpStreamInfo { - MinidumpStreamInfo() : stream_index(0), stream(NULL) {} - ~MinidumpStreamInfo() { delete stream; } - - // Index into the MinidumpDirectoryEntries vector - unsigned int stream_index; - - // Pointer to the stream if cached, or NULL if not yet populated - MinidumpStream* stream; - }; - - typedef vector MinidumpDirectoryEntries; - typedef map MinidumpStreamMap; - - template T* GetStream(T** stream); - - // Opens the minidump file, or if already open, seeks to the beginning. - bool Open(); - - // The largest number of top-level streams that will be read from a minidump. - // Note that streams are only read (and only consume memory) as needed, - // when directed by the caller. The default is 128. - static u_int32_t max_streams_; - - // The maximum length of a UTF-16 string that will be read from a minidump - // in 16-bit words. The default is 1024. UTF-16 strings are converted - // to UTF-8 when stored in memory, and each UTF-16 word will be represented - // by as many as 3 bytes in UTF-8. - static unsigned int max_string_length_; - - MDRawHeader header_; - - // The list of streams. - MinidumpDirectoryEntries* directory_; - - // Access to streams using the stream type as the key. - MinidumpStreamMap* stream_map_; - - // The pathname of the minidump file to process, set in the constructor. - const string path_; - - // The file descriptor for all file I/O. Used by ReadBytes and SeekSet. - // Set based on the |path_| member by Open, which is called by Read. - int fd_; - - // swap_ is true if the minidump file should be byte-swapped. If the - // minidump was produced by a CPU that is other-endian than the CPU - // processing the minidump, this will be true. If the two CPUs are - // same-endian, this will be false. - bool swap_; - - // Validity of the Minidump structure, false immediately after - // construction or after a failed Read(); true following a successful - // Read(). - bool valid_; -}; - - -} // namespace google_breakpad - - -#endif // GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/minidump_processor.h b/toolkit/airbag/airbag/src/google_breakpad/processor/minidump_processor.h deleted file mode 100644 index fc0024bc6655..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/minidump_processor.h +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_PROCESSOR_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_PROCESSOR_H__ - -#include - -namespace google_breakpad { - -using std::string; - -class Minidump; -class ProcessState; -class SourceLineResolverInterface; -class SymbolSupplier; -class SystemInfo; - -class MinidumpProcessor { - public: - // Return type for Process() - enum ProcessResult { - PROCESS_OK, // the minidump was processed successfully - PROCESS_ERROR, // there was an error processing the minidump - PROCESS_INTERRUPTED // processing was interrupted by the SymbolSupplier - }; - - // Initializes this MinidumpProcessor. supplier should be an - // implementation of the SymbolSupplier abstract base class. - MinidumpProcessor(SymbolSupplier *supplier, - SourceLineResolverInterface *resolver); - ~MinidumpProcessor(); - - // Processes the minidump file and fills process_state with the result. - ProcessResult Process(const string &minidump_file, - ProcessState *process_state); - - // Populates the cpu_* fields of the |info| parameter with textual - // representations of the CPU type that the minidump in |dump| was - // produced on. Returns false if this information is not available in - // the minidump. - static bool GetCPUInfo(Minidump *dump, SystemInfo *info); - - // Populates the os_* fields of the |info| parameter with textual - // representations of the operating system that the minidump in |dump| - // was produced on. Returns false if this information is not available in - // the minidump. - static bool GetOSInfo(Minidump *dump, SystemInfo *info); - - // Returns a textual representation of the reason that a crash occurred, - // if the minidump in dump was produced as a result of a crash. Returns - // an empty string if this information cannot be determined. If address - // is non-NULL, it will be set to contain the address that caused the - // exception, if this information is available. This will be a code - // address when the crash was caused by problems such as illegal - // instructions or divisions by zero, or a data address when the crash - // was caused by a memory access violation. - static string GetCrashReason(Minidump *dump, u_int64_t *address); - - private: - SymbolSupplier *supplier_; - SourceLineResolverInterface *resolver_; -}; - -} // namespace google_breakpad - -#endif // GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_PROCESSOR_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/process_state.h b/toolkit/airbag/airbag/src/google_breakpad/processor/process_state.h deleted file mode 100644 index af95247ec976..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/process_state.h +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// process_state.h: A snapshot of a process, in a fully-digested state. -// -// Author: Mark Mentovai - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_PROCESS_STATE_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_PROCESS_STATE_H__ - -#include -#include -#include "google_breakpad/processor/system_info.h" - -namespace google_breakpad { - -using std::string; -using std::vector; - -class CallStack; -class CodeModules; - -class ProcessState { - public: - ProcessState() : modules_(NULL) { Clear(); } - ~ProcessState(); - - // Resets the ProcessState to its default values - void Clear(); - - // Accessors. See the data declarations below. - u_int32_t time_date_stamp() const { return time_date_stamp_; } - bool crashed() const { return crashed_; } - string crash_reason() const { return crash_reason_; } - u_int64_t crash_address() const { return crash_address_; } - int requesting_thread() const { return requesting_thread_; } - const vector* threads() const { return &threads_; } - const SystemInfo* system_info() const { return &system_info_; } - const CodeModules* modules() const { return modules_; } - - private: - // MinidumpProcessor is responsible for building ProcessState objects. - friend class MinidumpProcessor; - - // The time-date stamp of the minidump (time_t format) - u_int32_t time_date_stamp_; - - // True if the process crashed, false if the dump was produced outside - // of an exception handler. - bool crashed_; - - // If the process crashed, the type of crash. OS- and possibly CPU- - // specific. For example, "EXCEPTION_ACCESS_VIOLATION" (Windows), - // "EXC_BAD_ACCESS / KERN_INVALID_ADDRESS" (Mac OS X), "SIGSEGV" - // (other Unix). - string crash_reason_; - - // If the process crashed, and if crash_reason implicates memory, - // the memory address that caused the crash. For data access errors, - // this will be the data address that caused the fault. For code errors, - // this will be the address of the instruction that caused the fault. - u_int64_t crash_address_; - - // The index of the thread that requested a dump be written in the - // threads vector. If a dump was produced as a result of a crash, this - // will point to the thread that crashed. If the dump was produced as - // by user code without crashing, and the dump contains extended Breakpad - // information, this will point to the thread that requested the dump. - // If the dump was not produced as a result of an exception and no - // extended Breakpad information is present, this field will be set to -1, - // indicating that the dump thread is not available. - int requesting_thread_; - - // Stacks for each thread (except possibly the exception handler - // thread) at the time of the crash. - vector threads_; - - // OS and CPU information. - SystemInfo system_info_; - - // The modules that were loaded into the process represented by the - // ProcessState. - const CodeModules *modules_; -}; - -} // namespace google_breakpad - -#endif // GOOGLE_BREAKPAD_PROCESSOR_PROCESS_STATE_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/source_line_resolver_interface.h b/toolkit/airbag/airbag/src/google_breakpad/processor/source_line_resolver_interface.h deleted file mode 100644 index 192177b216e2..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/source_line_resolver_interface.h +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Abstract interface to return function/file/line info for a memory address. - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_SOURCE_LINE_RESOLVER_INTERFACE_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_SOURCE_LINE_RESOLVER_INTERFACE_H__ - -#include -#include "google_breakpad/common/breakpad_types.h" - -namespace google_breakpad { - -using std::string; - -struct StackFrame; -struct StackFrameInfo; - -class SourceLineResolverInterface { - public: - typedef u_int64_t MemAddr; - - virtual ~SourceLineResolverInterface() {} - - // Adds a module to this resolver, returning true on success. - // - // module_name may be an arbitrary string. Typically, it will be the - // filename of the module, optionally with version identifiers. - // - // map_file should contain line/address mappings for this module. - virtual bool LoadModule(const string &module_name, - const string &map_file) = 0; - - // Returns true if a module with the given name has been loaded. - virtual bool HasModule(const string &module_name) const = 0; - - // Fills in the function_base, function_name, source_file_name, - // and source_line fields of the StackFrame. The instruction and - // module_name fields must already be filled in. Additional debugging - // information, if available, is returned. If the information is not - // available, returns NULL. A NULL return value does not indicate an - // error. The caller takes ownership of any returned StackFrameInfo - // object. - virtual StackFrameInfo* FillSourceLineInfo(StackFrame *frame) const = 0; - - protected: - // SourceLineResolverInterface cannot be instantiated except by subclasses - SourceLineResolverInterface() {} -}; - -} // namespace google_breakpad - -#endif // GOOGLE_BREAKPAD_PROCESSOR_SOURCE_LINE_RESOLVER_INTERFACE_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/stack_frame.h b/toolkit/airbag/airbag/src/google_breakpad/processor/stack_frame.h deleted file mode 100644 index b330f8ae4405..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/stack_frame.h +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_H__ - -#include -#include "google_breakpad/common/breakpad_types.h" - -namespace google_breakpad { - -class CodeModule; - -using std::string; - -struct StackFrame { - StackFrame() - : instruction(), - module(NULL), - function_name(), - function_base(), - source_file_name(), - source_line(), - source_line_base() {} - virtual ~StackFrame() {} - - // The program counter location as an absolute virtual address. For the - // innermost called frame in a stack, this will be an exact program counter - // or instruction pointer value. For all other frames, this will be within - // the instruction that caused execution to branch to a called function, - // but may not necessarily point to the exact beginning of that instruction. - u_int64_t instruction; - - // The module in which the instruction resides. - const CodeModule *module; - - // The function name, may be omitted if debug symbols are not available. - string function_name; - - // The start address of the function, may be omitted if debug symbols - // are not available. - u_int64_t function_base; - - // The source file name, may be omitted if debug symbols are not available. - string source_file_name; - - // The (1-based) source line number, may be omitted if debug symbols are - // not available. - int source_line; - - // The start address of the source line, may be omitted if debug symbols - // are not available. - u_int64_t source_line_base; -}; - -} // namespace google_breakpad - -#endif // GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/stack_frame_cpu.h b/toolkit/airbag/airbag/src/google_breakpad/processor/stack_frame_cpu.h deleted file mode 100644 index 8af5ffeeb691..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/stack_frame_cpu.h +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// stack_frame_cpu.h: CPU-specific StackFrame extensions. -// -// These types extend the StackFrame structure to carry CPU-specific register -// state. They are defined in this header instead of stack_frame.h to -// avoid the need to include minidump_format.h when only the generic -// StackFrame type is needed. -// -// Author: Mark Mentovai - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_CPU_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_CPU_H__ - -#include "google_breakpad/common/minidump_format.h" -#include "google_breakpad/processor/stack_frame.h" - -namespace google_breakpad { - -struct StackFrameX86 : public StackFrame { - // ContextValidity has one entry for each relevant hardware pointer register - // (%eip and %esp) and one entry for each nonvolatile (callee-save) register. - enum ContextValidity { - CONTEXT_VALID_NONE = 0, - CONTEXT_VALID_EIP = 1 << 0, - CONTEXT_VALID_ESP = 1 << 1, - CONTEXT_VALID_EBP = 1 << 2, - CONTEXT_VALID_EBX = 1 << 3, - CONTEXT_VALID_ESI = 1 << 4, - CONTEXT_VALID_EDI = 1 << 5, - CONTEXT_VALID_ALL = -1 - }; - - StackFrameX86() : context(), context_validity(CONTEXT_VALID_NONE) {} - - // Register state. This is only fully valid for the topmost frame in a - // stack. In other frames, the values of nonvolatile registers may be - // present, given sufficient debugging information. Refer to - // context_validity. - MDRawContextX86 context; - - // context_validity is actually ContextValidity, but int is used because - // the OR operator doesn't work well with enumerated types. This indicates - // which fields in context are valid. - int context_validity; -}; - -struct StackFramePPC : public StackFrame { - // ContextValidity should eventually contain entries for the validity of - // other nonvolatile (callee-save) registers as in - // StackFrameX86::ContextValidity, but the ppc stackwalker doesn't currently - // locate registers other than the ones listed here. - enum ContextValidity { - CONTEXT_VALID_NONE = 0, - CONTEXT_VALID_SRR0 = 1 << 0, - CONTEXT_VALID_GPR1 = 1 << 1, - CONTEXT_VALID_ALL = -1 - }; - - StackFramePPC() : context(), context_validity(CONTEXT_VALID_NONE) {} - - // Register state. This is only fully valid for the topmost frame in a - // stack. In other frames, the values of nonvolatile registers may be - // present, given sufficient debugging information. Refer to - // context_validity. - MDRawContextPPC context; - - // context_validity is actually ContextValidity, but int is used because - // the OR operator doesn't work well with enumerated types. This indicates - // which fields in context are valid. - int context_validity; -}; - -} // namespace google_breakpad - -#endif // GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_CPU_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/stackwalker.h b/toolkit/airbag/airbag/src/google_breakpad/processor/stackwalker.h deleted file mode 100644 index c463fd802df7..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/stackwalker.h +++ /dev/null @@ -1,140 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// stackwalker.h: Generic stackwalker. -// -// The Stackwalker class is an abstract base class providing common generic -// methods that apply to stacks from all systems. Specific implementations -// will extend this class by providing GetContextFrame and GetCallerFrame -// methods to fill in system-specific data in a StackFrame structure. -// Stackwalker assembles these StackFrame strucutres into a CallStack. -// -// Author: Mark Mentovai - - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__ - -#include - -namespace google_breakpad { - -class CallStack; -class CodeModules; -template class linked_ptr; -class MemoryRegion; -class MinidumpContext; -class SourceLineResolverInterface; -struct StackFrame; -struct StackFrameInfo; -class SymbolSupplier; -class SystemInfo; - -using std::vector; - - -class Stackwalker { - public: - virtual ~Stackwalker() {} - - // Populates the given CallStack by calling GetContextFrame and - // GetCallerFrame. The frames are further processed to fill all available - // data. Returns true if the stackwalk completed, or false if it was - // interrupted by SymbolSupplier::GetSymbolFile(). - bool Walk(CallStack *stack); - - // Returns a new concrete subclass suitable for the CPU that a stack was - // generated on, according to the CPU type indicated by the context - // argument. If no suitable concrete subclass exists, returns NULL. - static Stackwalker* StackwalkerForCPU(const SystemInfo *system_info, - MinidumpContext *context, - MemoryRegion *memory, - const CodeModules *modules, - SymbolSupplier *supplier, - SourceLineResolverInterface *resolver); - - protected: - // system_info identifies the operating system, NULL or empty if unknown. - // memory identifies a MemoryRegion that provides the stack memory - // for the stack to walk. modules, if non-NULL, is a CodeModules - // object that is used to look up which code module each stack frame is - // associated with. supplier is an optional caller-supplied SymbolSupplier - // implementation. If supplier is NULL, source line info will not be - // resolved. resolver is an instance of SourceLineResolverInterface - // (see source_line_resolver_interface.h and basic_source_line_resolver.h). - // If resolver is NULL, source line info will not be resolved. - Stackwalker(const SystemInfo *system_info, - MemoryRegion *memory, - const CodeModules *modules, - SymbolSupplier *supplier, - SourceLineResolverInterface *resolver); - - // Information about the system that produced the minidump. Subclasses - // and the SymbolSupplier may find this information useful. - const SystemInfo *system_info_; - - // The stack memory to walk. Subclasses will require this region to - // get information from the stack. - MemoryRegion *memory_; - - // A list of modules, for populating each StackFrame's module information. - // This field is optional and may be NULL. - const CodeModules *modules_; - - private: - // Obtains the context frame, the innermost called procedure in a stack - // trace. Returns NULL on failure. GetContextFrame allocates a new - // StackFrame (or StackFrame subclass), ownership of which is taken by - // the caller. - virtual StackFrame* GetContextFrame() = 0; - - // Obtains a caller frame. Each call to GetCallerFrame should return the - // frame that called the last frame returned by GetContextFrame or - // GetCallerFrame. To aid this purpose, stack contains the CallStack - // made of frames that have already been walked. GetCallerFrame should - // return NULL on failure or when there are no more caller frames (when - // the end of the stack has been reached). GetCallerFrame allocates a new - // StackFrame (or StackFrame subclass), ownership of which is taken by - // the caller. - virtual StackFrame* GetCallerFrame( - const CallStack *stack, - const vector< linked_ptr > &stack_frame_info) = 0; - - // The optional SymbolSupplier for resolving source line info. - SymbolSupplier *supplier_; - - // The SourceLineResolver implementation - SourceLineResolverInterface *resolver_; -}; - - -} // namespace google_breakpad - - -#endif // GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/symbol_supplier.h b/toolkit/airbag/airbag/src/google_breakpad/processor/symbol_supplier.h deleted file mode 100644 index 0459c8aa3e9b..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/symbol_supplier.h +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// The caller may implement the SymbolSupplier abstract base class -// to provide symbols for a given module. - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_SYMBOL_SUPPLIER_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_SYMBOL_SUPPLIER_H__ - -#include - -namespace google_breakpad { - -using std::string; -class CodeModule; -class SystemInfo; - -class SymbolSupplier { - public: - // Result type for GetSymbolFile - enum SymbolResult { - // no symbols were found, but continue processing - NOT_FOUND, - - // symbols were found, and the path has been placed in symbol_file - FOUND, - - // stops processing the minidump immediately - INTERRUPT - }; - - virtual ~SymbolSupplier() {} - - // Retrieves the symbol file for the given CodeModule, placing the - // path in symbol_file if successful. system_info contains strings - // identifying the operating system and CPU; SymbolSupplier may use to help - // locate the symbol file. system_info may be NULL or its fields may be - // empty if these values are unknown. - virtual SymbolResult GetSymbolFile(const CodeModule *module, - const SystemInfo *system_info, - string *symbol_file) = 0; -}; - -} // namespace google_breakpad - -#endif // GOOGLE_BREAKPAD_PROCESSOR_SYMBOL_SUPPLIER_H__ diff --git a/toolkit/airbag/airbag/src/google_breakpad/processor/system_info.h b/toolkit/airbag/airbag/src/google_breakpad/processor/system_info.h deleted file mode 100644 index fdbdbfd6f3e4..000000000000 --- a/toolkit/airbag/airbag/src/google_breakpad/processor/system_info.h +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// system_info.h: Information about the system that was running a program -// when a crash report was produced. -// -// Author: Mark Mentovai - -#ifndef GOOGLE_BREAKPAD_PROCESSOR_SYSTEM_INFO_H__ -#define GOOGLE_BREAKPAD_PROCESSOR_SYSTEM_INFO_H__ - -#include - -namespace google_breakpad { - -using std::string; - -struct SystemInfo { - public: - SystemInfo() : os(), os_short(), os_version(), cpu(), cpu_info(), - cpu_count(0) {} - - // Resets the SystemInfo object to its default values. - void Clear() { - os.clear(); - os_short.clear(); - os_version.clear(); - cpu.clear(); - cpu_info.clear(); - cpu_count = 0; - } - - // A string identifying the operating system, such as "Windows NT", - // "Mac OS X", or "Linux". If the information is present in the dump but - // its value is unknown, this field will contain a numeric value. If - // the information is not present in the dump, this field will be empty. - string os; - - // A short form of the os string, using lowercase letters and no spaces, - // suitable for use in a filesystem. Possible values are "windows", - // "mac", and "linux". Empty if the information is not present in the dump - // or if the OS given by the dump is unknown. The values stored in this - // field should match those used by MinidumpSystemInfo::GetOS. - string os_short; - - // A string identifying the version of the operating system, such as - // "5.1.2600 Service Pack 2" or "10.4.8 8L2127". If the dump does not - // contain this information, this field will be empty. - string os_version; - - // A string identifying the basic CPU family, such as "x86" or "ppc". - // If this information is present in the dump but its value is unknown, - // this field will contain a numeric value. If the information is not - // present in the dump, this field will be empty. The values stored in - // this field should match those used by MinidumpSystemInfo::GetCPU. - string cpu; - - // A string further identifying the specific CPU, such as - // "GenuineIntel level 6 model 13 stepping 8". If the information is not - // present in the dump, or additional identifying information is not - // defined for the CPU family, this field will be empty. - string cpu_info; - - // The number of processors in the system. Will be greater than one for - // multi-core systems. - int cpu_count; -}; - -} // namespace google_breakpad - -#endif // GOOGLE_BREAKPAD_PROCESSOR_SYSTEM_INFO_H__ diff --git a/toolkit/airbag/airbag/src/processor/address_map-inl.h b/toolkit/airbag/airbag/src/processor/address_map-inl.h deleted file mode 100755 index d88b4fcc5bc8..000000000000 --- a/toolkit/airbag/airbag/src/processor/address_map-inl.h +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// address_map-inl.h: Address map implementation. -// -// See address_map.h for documentation. -// -// Author: Mark Mentovai - -#ifndef PROCESSOR_ADDRESS_MAP_INL_H__ -#define PROCESSOR_ADDRESS_MAP_INL_H__ - -#include - -#include "processor/address_map.h" -#include "processor/logging.h" - -namespace google_breakpad { - -template -bool AddressMap::Store(const AddressType &address, - const EntryType &entry) { - // Ensure that the specified address doesn't conflict with something already - // in the map. - if (map_.find(address) != map_.end()) { - BPLOG(INFO) << "Store failed, address " << HexString(address) << - " is already present"; - return false; - } - - map_.insert(MapValue(address, entry)); - return true; -} - -template -bool AddressMap::Retrieve( - const AddressType &address, - EntryType *entry, AddressType *entry_address) const { - BPLOG_IF(ERROR, !entry) << "AddressMap::Retrieve requires |entry|"; - assert(entry); - - // upper_bound gives the first element whose key is greater than address, - // but we want the first element whose key is less than or equal to address. - // Decrement the iterator to get there, but not if the upper_bound already - // points to the beginning of the map - in that case, address is lower than - // the lowest stored key, so return false. - MapConstIterator iterator = map_.upper_bound(address); - if (iterator == map_.begin()) - return false; - --iterator; - - *entry = iterator->second; - if (entry_address) - *entry_address = iterator->first; - - return true; -} - -template -void AddressMap::Clear() { - map_.clear(); -} - -} // namespace google_breakpad - -#endif // PROCESSOR_ADDRESS_MAP_INL_H__ diff --git a/toolkit/airbag/airbag/src/processor/address_map.h b/toolkit/airbag/airbag/src/processor/address_map.h deleted file mode 100755 index 14139e7a1232..000000000000 --- a/toolkit/airbag/airbag/src/processor/address_map.h +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// address_map.h: Address maps. -// -// An address map contains a set of objects keyed by address. Objects are -// retrieved from the map by returning the object with the highest key less -// than or equal to the lookup key. -// -// Author: Mark Mentovai - -#ifndef PROCESSOR_ADDRESS_MAP_H__ -#define PROCESSOR_ADDRESS_MAP_H__ - -#include - -namespace google_breakpad { - -template -class AddressMap { - public: - AddressMap() : map_() {} - - // Inserts an entry into the map. Returns false without storing the entry - // if an entry is already stored in the map at the same address as specified - // by the address argument. - bool Store(const AddressType &address, const EntryType &entry); - - // Locates the entry stored at the highest address less than or equal to - // the address argument. If there is no such range, returns false. The - // entry is returned in entry, which is a required argument. If - // entry_address is not NULL, it will be set to the address that the entry - // was stored at. - bool Retrieve(const AddressType &address, - EntryType *entry, AddressType *entry_address) const; - - // Empties the address map, restoring it to the same state as when it was - // initially created. - void Clear(); - - private: - // Convenience types. - typedef std::map AddressToEntryMap; - typedef typename AddressToEntryMap::const_iterator MapConstIterator; - typedef typename AddressToEntryMap::value_type MapValue; - - // Maps the address of each entry to an EntryType. - AddressToEntryMap map_; -}; - -} // namespace google_breakpad - -#endif // PROCESSOR_ADDRESS_MAP_H__ - diff --git a/toolkit/airbag/airbag/src/processor/address_map_unittest.cc b/toolkit/airbag/airbag/src/processor/address_map_unittest.cc deleted file mode 100755 index f64a8984a153..000000000000 --- a/toolkit/airbag/airbag/src/processor/address_map_unittest.cc +++ /dev/null @@ -1,196 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// address_map_unittest.cc: Unit tests for AddressMap. -// -// Author: Mark Mentovai - -#include -#include - -#include "processor/address_map-inl.h" -#include "processor/linked_ptr.h" -#include "processor/logging.h" - -#define ASSERT_TRUE(condition) \ - if (!(condition)) { \ - fprintf(stderr, "FAIL: %s @ %s:%d\n", #condition, __FILE__, __LINE__); \ - return false; \ - } - -#define ASSERT_FALSE(condition) ASSERT_TRUE(!(condition)) - -#define ASSERT_EQ(e1, e2) ASSERT_TRUE((e1) == (e2)) - -namespace { - -using google_breakpad::AddressMap; -using google_breakpad::linked_ptr; - -// A CountedObject holds an int. A global (not thread safe!) count of -// allocated CountedObjects is maintained to help test memory management. -class CountedObject { - public: - explicit CountedObject(int id) : id_(id) { ++count_; } - ~CountedObject() { --count_; } - - static int count() { return count_; } - int id() const { return id_; } - - private: - static int count_; - int id_; -}; - -int CountedObject::count_; - -typedef int AddressType; -typedef AddressMap< AddressType, linked_ptr > TestMap; - -static bool DoAddressMapTest() { - ASSERT_EQ(CountedObject::count(), 0); - - TestMap test_map; - linked_ptr entry; - AddressType address; - - // Check that a new map is truly empty. - ASSERT_FALSE(test_map.Retrieve(0, &entry, &address)); - ASSERT_FALSE(test_map.Retrieve(INT_MIN, &entry, &address)); - ASSERT_FALSE(test_map.Retrieve(INT_MAX, &entry, &address)); - - // Check that Clear clears the map without leaking. - ASSERT_EQ(CountedObject::count(), 0); - ASSERT_TRUE(test_map.Store(1, - linked_ptr(new CountedObject(0)))); - ASSERT_TRUE(test_map.Retrieve(1, &entry, &address)); - ASSERT_EQ(CountedObject::count(), 1); - test_map.Clear(); - ASSERT_EQ(CountedObject::count(), 1); // still holding entry in this scope - - // Check that a cleared map is truly empty. - ASSERT_FALSE(test_map.Retrieve(0, &entry, &address)); - ASSERT_FALSE(test_map.Retrieve(INT_MIN, &entry, &address)); - ASSERT_FALSE(test_map.Retrieve(INT_MAX, &entry, &address)); - - // Check a single-element map. - ASSERT_TRUE(test_map.Store(10, - linked_ptr(new CountedObject(1)))); - ASSERT_FALSE(test_map.Retrieve(9, &entry, &address)); - ASSERT_TRUE(test_map.Retrieve(10, &entry, &address)); - ASSERT_EQ(CountedObject::count(), 1); - ASSERT_EQ(entry->id(), 1); - ASSERT_EQ(address, 10); - ASSERT_TRUE(test_map.Retrieve(11, &entry, &address)); - ASSERT_TRUE(test_map.Retrieve(11, &entry, NULL)); // NULL ok here - - // Add some more elements. - ASSERT_TRUE(test_map.Store(5, - linked_ptr(new CountedObject(2)))); - ASSERT_EQ(CountedObject::count(), 2); - ASSERT_TRUE(test_map.Store(20, - linked_ptr(new CountedObject(3)))); - ASSERT_TRUE(test_map.Store(15, - linked_ptr(new CountedObject(4)))); - ASSERT_FALSE(test_map.Store(10, - linked_ptr(new CountedObject(5)))); // already in map - ASSERT_TRUE(test_map.Store(16, - linked_ptr(new CountedObject(6)))); - ASSERT_TRUE(test_map.Store(14, - linked_ptr(new CountedObject(7)))); - - // Nothing was stored with a key under 5. Don't use ASSERT inside loops - // because it won't show exactly which key/entry/address failed. - for (AddressType key = 0; key < 5; ++key) { - if (test_map.Retrieve(key, &entry, &address)) { - fprintf(stderr, - "FAIL: retrieve %d expected false observed true @ %s:%d\n", - key, __FILE__, __LINE__); - return false; - } - } - - // Check everything that was stored. - const int id_verify[] = { 0, 0, 0, 0, 0, // unused - 2, 2, 2, 2, 2, // 5 - 9 - 1, 1, 1, 1, 7, // 10 - 14 - 4, 6, 6, 6, 6, // 15 - 19 - 3, 3, 3, 3, 3, // 20 - 24 - 3, 3, 3, 3, 3 }; // 25 - 29 - const AddressType address_verify[] = { 0, 0, 0, 0, 0, // unused - 5, 5, 5, 5, 5, // 5 - 9 - 10, 10, 10, 10, 14, // 10 - 14 - 15, 16, 16, 16, 16, // 15 - 19 - 20, 20, 20, 20, 20, // 20 - 24 - 20, 20, 20, 20, 20 }; // 25 - 29 - - for (AddressType key = 5; key < 30; ++key) { - if (!test_map.Retrieve(key, &entry, &address)) { - fprintf(stderr, - "FAIL: retrieve %d expected true observed false @ %s:%d\n", - key, __FILE__, __LINE__); - return false; - } - if (entry->id() != id_verify[key]) { - fprintf(stderr, - "FAIL: retrieve %d expected entry %d observed %d @ %s:%d\n", - key, id_verify[key], entry->id(), __FILE__, __LINE__); - return false; - } - if (address != address_verify[key]) { - fprintf(stderr, - "FAIL: retrieve %d expected address %d observed %d @ %s:%d\n", - key, address_verify[key], address, __FILE__, __LINE__); - return false; - } - } - - // The stored objects should still be in the map. - ASSERT_EQ(CountedObject::count(), 6); - - return true; -} - -static bool RunTests() { - if (!DoAddressMapTest()) - return false; - - // Leak check. - ASSERT_EQ(CountedObject::count(), 0); - - return true; -} - -} // namespace - -int main(int argc, char **argv) { - BPLOG_INIT(&argc, &argv); - - return RunTests() ? 0 : 1; -} diff --git a/toolkit/airbag/airbag/src/processor/basic_code_module.h b/toolkit/airbag/airbag/src/processor/basic_code_module.h deleted file mode 100644 index 5c9f75f120f3..000000000000 --- a/toolkit/airbag/airbag/src/processor/basic_code_module.h +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// basic_code_module.h: Carries information about code modules that are loaded -// into a process. -// -// This is a basic concrete implementation of CodeModule. It cannot be -// instantiated directly, only based on other objects that implement -// the CodeModule interface. It exists to provide a CodeModule implementation -// a place to store information when the life of the original object (such as -// a MinidumpModule) cannot be guaranteed. -// -// Author: Mark Mentovai - -#ifndef PROCESSOR_BASIC_CODE_MODULE_H__ -#define PROCESSOR_BASIC_CODE_MODULE_H__ - -#include - -#include "google_breakpad/processor/code_module.h" - -namespace google_breakpad { - -using std::string; - -class BasicCodeModule : public CodeModule { - public: - // Creates a new BasicCodeModule given any existing CodeModule - // implementation. This is useful to make a copy of the data relevant to - // the CodeModule interface without requiring all of the resources that - // other CodeModule implementations may require. - explicit BasicCodeModule(const CodeModule *that) - : base_address_(that->base_address()), - size_(that->size()), - code_file_(that->code_file()), - code_identifier_(that->code_identifier()), - debug_file_(that->debug_file()), - debug_identifier_(that->debug_identifier()), - version_(that->version()) {} - virtual ~BasicCodeModule() {} - - // See code_module.h for descriptions of these methods and the associated - // members. - virtual u_int64_t base_address() const { return base_address_; } - virtual u_int64_t size() const { return size_; } - virtual string code_file() const { return code_file_; } - virtual string code_identifier() const { return code_identifier_; } - virtual string debug_file() const { return debug_file_; } - virtual string debug_identifier() const { return debug_identifier_; } - virtual string version() const { return version_; } - virtual const CodeModule* Copy() const { return new BasicCodeModule(this); } - - private: - u_int64_t base_address_; - u_int64_t size_; - string code_file_; - string code_identifier_; - string debug_file_; - string debug_identifier_; - string version_; - - // Disallow copy constructor and assignment operator. - BasicCodeModule(const BasicCodeModule &that); - void operator=(const BasicCodeModule &that); -}; - -} // namespace google_breakpad - -#endif // PROCESSOR_BASIC_CODE_MODULE_H__ diff --git a/toolkit/airbag/airbag/src/processor/basic_code_modules.cc b/toolkit/airbag/airbag/src/processor/basic_code_modules.cc deleted file mode 100644 index a21491c495a6..000000000000 --- a/toolkit/airbag/airbag/src/processor/basic_code_modules.cc +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// basic_code_modules.cc: Contains all of the CodeModule objects that -// were loaded into a single process. -// -// See basic_code_modules.h for documentation. -// -// Author: Mark Mentovai - -#include - -#include "processor/basic_code_modules.h" -#include "google_breakpad/processor/code_module.h" -#include "processor/linked_ptr.h" -#include "processor/logging.h" -#include "processor/range_map-inl.h" - -namespace google_breakpad { - -BasicCodeModules::BasicCodeModules(const CodeModules *that) - : main_address_(0), - map_(new RangeMap >()) { - BPLOG_IF(ERROR, !that) << "BasicCodeModules::BasicCodeModules requires " - "|that|"; - assert(that); - - const CodeModule *main_module = that->GetMainModule(); - if (main_module) - main_address_ = main_module->base_address(); - - unsigned int count = that->module_count(); - for (unsigned int module_sequence = 0; - module_sequence < count; - ++module_sequence) { - // Make a copy of the module and insert it into the map. Use - // GetModuleAtIndex because ordering is unimportant when slurping the - // entire list, and GetModuleAtIndex may be faster than - // GetModuleAtSequence. - const CodeModule *module = that->GetModuleAtIndex(module_sequence)->Copy(); - if (!map_->StoreRange(module->base_address(), module->size(), - linked_ptr(module))) { - BPLOG(ERROR) << "Module " << module->code_file() << - " could not be stored"; - } - } -} - -BasicCodeModules::~BasicCodeModules() { - delete map_; -} - -unsigned int BasicCodeModules::module_count() const { - return map_->GetCount(); -} - -const CodeModule* BasicCodeModules::GetModuleForAddress( - u_int64_t address) const { - linked_ptr module; - if (!map_->RetrieveRange(address, &module, NULL, NULL)) { - BPLOG(INFO) << "No module at " << HexString(address); - return NULL; - } - - return module.get(); -} - -const CodeModule* BasicCodeModules::GetMainModule() const { - return GetModuleForAddress(main_address_); -} - -const CodeModule* BasicCodeModules::GetModuleAtSequence( - unsigned int sequence) const { - linked_ptr module; - if (!map_->RetrieveRangeAtIndex(sequence, &module, NULL, NULL)) { - BPLOG(ERROR) << "RetrieveRangeAtIndex failed for sequence " << sequence; - return NULL; - } - - return module.get(); -} - -const CodeModule* BasicCodeModules::GetModuleAtIndex( - unsigned int index) const { - // This class stores everything in a RangeMap, without any more-efficient - // way to walk the list of CodeModule objects. Implement GetModuleAtIndex - // using GetModuleAtSequence, which meets all of the requirements, and - // in addition, guarantees ordering. - return GetModuleAtSequence(index); -} - -const CodeModules* BasicCodeModules::Copy() const { - return new BasicCodeModules(this); -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/processor/basic_code_modules.h b/toolkit/airbag/airbag/src/processor/basic_code_modules.h deleted file mode 100644 index df87fc49e45f..000000000000 --- a/toolkit/airbag/airbag/src/processor/basic_code_modules.h +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// basic_code_modules.h: Contains all of the CodeModule objects that -// were loaded into a single process. -// -// This is a basic concrete implementation of CodeModules. It cannot be -// instantiated directly, only based on other objects that implement -// the CodeModules interface. It exists to provide a CodeModules -// implementation a place to store information when the life of the original -// object (such as a MinidumpModuleList) cannot be guaranteed. -// -// Author: Mark Mentovai - -#ifndef PROCESSOR_BASIC_CODE_MODULES_H__ -#define PROCESSOR_BASIC_CODE_MODULES_H__ - -#include "google_breakpad/processor/code_modules.h" - -namespace google_breakpad { - -template class linked_ptr; -template class RangeMap; - -class BasicCodeModules : public CodeModules { - public: - // Creates a new BasicCodeModules object given any existing CodeModules - // implementation. This is useful to make a copy of the data relevant to - // the CodeModules and CodeModule interfaces without requiring all of the - // resources that other implementations may require. A copy will be - // made of each contained CodeModule using CodeModule::Copy. - explicit BasicCodeModules(const CodeModules *that); - - virtual ~BasicCodeModules(); - - // See code_modules.h for descriptions of these methods. - virtual unsigned int module_count() const; - virtual const CodeModule* GetModuleForAddress(u_int64_t address) const; - virtual const CodeModule* GetMainModule() const; - virtual const CodeModule* GetModuleAtSequence(unsigned int sequence) const; - virtual const CodeModule* GetModuleAtIndex(unsigned int index) const; - virtual const CodeModules* Copy() const; - - private: - // The base address of the main module. - u_int64_t main_address_; - - // The map used to contain each CodeModule, keyed by each CodeModule's - // address range. - RangeMap > *map_; - - // Disallow copy constructor and assignment operator. - BasicCodeModules(const BasicCodeModules &that); - void operator=(const BasicCodeModules &that); -}; - -} // namespace google_breakpad - -#endif // PROCESSOR_BASIC_CODE_MODULES_H__ diff --git a/toolkit/airbag/airbag/src/processor/basic_source_line_resolver.cc b/toolkit/airbag/airbag/src/processor/basic_source_line_resolver.cc deleted file mode 100644 index e5d1bd7f5d57..000000000000 --- a/toolkit/airbag/airbag/src/processor/basic_source_line_resolver.cc +++ /dev/null @@ -1,601 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include - -#include -#include -#include - -#include "processor/address_map-inl.h" -#include "processor/contained_range_map-inl.h" -#include "processor/range_map-inl.h" - -#include "google_breakpad/processor/basic_source_line_resolver.h" -#include "google_breakpad/processor/code_module.h" -#include "google_breakpad/processor/stack_frame.h" -#include "processor/linked_ptr.h" -#include "processor/scoped_ptr.h" -#include "processor/stack_frame_info.h" - -using std::map; -using std::vector; -using std::make_pair; -using __gnu_cxx::hash; - -namespace google_breakpad { - -struct BasicSourceLineResolver::Line { - Line(MemAddr addr, MemAddr code_size, int file_id, int source_line) - : address(addr) - , size(code_size) - , source_file_id(file_id) - , line(source_line) { } - - MemAddr address; - MemAddr size; - int source_file_id; - int line; -}; - -struct BasicSourceLineResolver::Function { - Function(const string &function_name, - MemAddr function_address, - MemAddr code_size, - int set_parameter_size) - : name(function_name), address(function_address), size(code_size), - parameter_size(set_parameter_size) { } - - string name; - MemAddr address; - MemAddr size; - - // The size of parameters passed to this function on the stack. - int parameter_size; - - RangeMap< MemAddr, linked_ptr > lines; -}; - -struct BasicSourceLineResolver::PublicSymbol { - PublicSymbol(const string& set_name, - MemAddr set_address, - int set_parameter_size) - : name(set_name), - address(set_address), - parameter_size(set_parameter_size) {} - - string name; - MemAddr address; - - // If the public symbol is used as a function entry point, parameter_size - // is set to the size of the parameters passed to the funciton on the - // stack, if known. - int parameter_size; -}; - -class BasicSourceLineResolver::Module { - public: - Module(const string &name) : name_(name) { } - - // Loads the given map file, returning true on success. - bool LoadMap(const string &map_file); - - // Looks up the given relative address, and fills the StackFrame struct - // with the result. Additional debugging information, if available, is - // returned. If no additional information is available, returns NULL. - // A NULL return value is not an error. The caller takes ownership of - // any returned StackFrameInfo object. - StackFrameInfo* LookupAddress(StackFrame *frame) const; - - private: - friend class BasicSourceLineResolver; - typedef hash_map FileMap; - - // The types for stack_info_. This is equivalent to MS DIA's - // StackFrameTypeEnum. Each identifies a different type of frame - // information, although all are represented in the symbol file in the - // same format. These are used as indices to the stack_info_ array. - enum StackInfoTypes { - STACK_INFO_FPO = 0, - STACK_INFO_TRAP, // not used here - STACK_INFO_TSS, // not used here - STACK_INFO_STANDARD, - STACK_INFO_FRAME_DATA, - STACK_INFO_LAST, // must be the last sequentially-numbered item - STACK_INFO_UNKNOWN = -1 - }; - - // Splits line into at most max_tokens space-separated tokens, placing - // them in the tokens vector. line is a 0-terminated string that - // optionally ends with a newline character or combination, which will - // be removed. line must not contain any embedded '\n' or '\r' characters. - // If more tokens than max_tokens are present, the final token is placed - // into the vector without splitting it up at all. This modifies line as - // a side effect. Returns true if exactly max_tokens tokens are returned, - // and false if fewer are returned. This is not considered a failure of - // Tokenize, but may be treated as a failure if the caller expects an - // exact, as opposed to maximum, number of tokens. - static bool Tokenize(char *line, int max_tokens, vector *tokens); - - // Parses a file declaration - bool ParseFile(char *file_line); - - // Parses a function declaration, returning a new Function object. - Function* ParseFunction(char *function_line); - - // Parses a line declaration, returning a new Line object. - Line* ParseLine(char *line_line); - - // Parses a PUBLIC symbol declaration, storing it in public_symbols_. - // Returns false if an error occurs. - bool ParsePublicSymbol(char *public_line); - - // Parses a stack frame info declaration, storing it in stack_info_. - bool ParseStackInfo(char *stack_info_line); - - string name_; - FileMap files_; - RangeMap< MemAddr, linked_ptr > functions_; - AddressMap< MemAddr, linked_ptr > public_symbols_; - - // Each element in the array is a ContainedRangeMap for a type listed in - // StackInfoTypes. These are split by type because there may be overlaps - // between maps of different types, but some information is only available - // as certain types. - ContainedRangeMap< MemAddr, linked_ptr > - stack_info_[STACK_INFO_LAST]; -}; - -BasicSourceLineResolver::BasicSourceLineResolver() : modules_(new ModuleMap) { -} - -BasicSourceLineResolver::~BasicSourceLineResolver() { - ModuleMap::iterator it; - for (it = modules_->begin(); it != modules_->end(); ++it) { - delete it->second; - } - delete modules_; -} - -bool BasicSourceLineResolver::LoadModule(const string &module_name, - const string &map_file) { - // Make sure we don't already have a module with the given name. - if (modules_->find(module_name) != modules_->end()) { - BPLOG(INFO) << "Symbols for module " << module_name << " already loaded"; - return false; - } - - BPLOG(INFO) << "Loading symbols for module " << module_name << " from " << - map_file; - - Module *module = new Module(module_name); - if (!module->LoadMap(map_file)) { - delete module; - return false; - } - - modules_->insert(make_pair(module_name, module)); - return true; -} - -bool BasicSourceLineResolver::HasModule(const string &module_name) const { - return modules_->find(module_name) != modules_->end(); -} - -StackFrameInfo* BasicSourceLineResolver::FillSourceLineInfo( - StackFrame *frame) const { - if (frame->module) { - ModuleMap::const_iterator it = modules_->find(frame->module->code_file()); - if (it != modules_->end()) { - return it->second->LookupAddress(frame); - } - } - return NULL; -} - -class AutoFileCloser { - public: - AutoFileCloser(FILE *file) : file_(file) {} - ~AutoFileCloser() { - if (file_) - fclose(file_); - } - - private: - FILE *file_; -}; - -bool BasicSourceLineResolver::Module::LoadMap(const string &map_file) { - FILE *f = fopen(map_file.c_str(), "r"); - if (!f) { - string error_string; - int error_code = ErrnoString(&error_string); - BPLOG(ERROR) << "Could not open " << map_file << - ", error " << error_code << ": " << error_string; - return false; - } - - AutoFileCloser closer(f); - - // TODO(mmentovai): this might not be large enough to handle really long - // lines, which might be present for FUNC lines of highly-templatized - // code. - char buffer[8192]; - linked_ptr cur_func; - - int line_number = 0; - while (fgets(buffer, sizeof(buffer), f)) { - ++line_number; - if (strncmp(buffer, "FILE ", 5) == 0) { - if (!ParseFile(buffer)) { - BPLOG(ERROR) << "ParseFile failed at " << - map_file << ":" << line_number; - return false; - } - } else if (strncmp(buffer, "STACK ", 6) == 0) { - if (!ParseStackInfo(buffer)) { - BPLOG(ERROR) << "ParseStackInfo failed at " << - map_file << ":" << line_number; - return false; - } - } else if (strncmp(buffer, "FUNC ", 5) == 0) { - cur_func.reset(ParseFunction(buffer)); - if (!cur_func.get()) { - BPLOG(ERROR) << "ParseFunction failed at " << - map_file << ":" << line_number; - return false; - } - // StoreRange will fail if the function has an invalid address or size. - // We'll silently ignore this, the function and any corresponding lines - // will be destroyed when cur_func is released. - functions_.StoreRange(cur_func->address, cur_func->size, cur_func); - } else if (strncmp(buffer, "PUBLIC ", 7) == 0) { - // Clear cur_func: public symbols don't contain line number information. - cur_func.reset(); - - if (!ParsePublicSymbol(buffer)) { - BPLOG(ERROR) << "ParsePublicSymbol failed at " << - map_file << ":" << line_number; - return false; - } - } else if (strncmp(buffer, "MODULE ", 7) == 0) { - // Ignore these. They're not of any use to BasicSourceLineResolver, - // which is fed modules by a SymbolSupplier. These lines are present to - // aid other tools in properly placing symbol files so that they can - // be accessed by a SymbolSupplier. - // - // MODULE - } else { - if (!cur_func.get()) { - BPLOG(ERROR) << "Found source line data without a function at " << - map_file << ":" << line_number; - return false; - } - Line *line = ParseLine(buffer); - if (!line) { - BPLOG(ERROR) << "ParseLine failed at " << - map_file << ":" << line_number; - return false; - } - cur_func->lines.StoreRange(line->address, line->size, - linked_ptr(line)); - } - } - - return true; -} - -StackFrameInfo* BasicSourceLineResolver::Module::LookupAddress( - StackFrame *frame) const { - MemAddr address = frame->instruction - frame->module->base_address(); - - linked_ptr retrieved_info; - // Check for debugging info first, before any possible early returns. - // - // We only know about STACK_INFO_FRAME_DATA and STACK_INFO_FPO. Prefer - // them in this order. STACK_INFO_FRAME_DATA is the newer type that - // includes its own program string. STACK_INFO_FPO is the older type - // corresponding to the FPO_DATA struct. See stackwalker_x86.cc. - if (!stack_info_[STACK_INFO_FRAME_DATA].RetrieveRange(address, - &retrieved_info)) { - stack_info_[STACK_INFO_FPO].RetrieveRange(address, &retrieved_info); - } - - scoped_ptr frame_info; - if (retrieved_info.get()) { - frame_info.reset(new StackFrameInfo()); - frame_info->CopyFrom(*retrieved_info.get()); - } - - // First, look for a matching FUNC range. Use RetrieveNearestRange instead - // of RetrieveRange so that the nearest function can be compared to the - // nearest PUBLIC symbol if the address does not lie within the function. - // Having access to the highest function below address, even when address - // is outside of the function, is useful: if the function is higher than - // the nearest PUBLIC symbol, then it means that the PUBLIC symbols is not - // valid for the address, and no function information should be filled in. - // Using RetrieveNearestRange instead of RetrieveRange means that we need - // to verify that address is within the range before using a FUNC. - // - // If no FUNC containing the address is found, look for the nearest PUBLIC - // symbol, being careful not to use a public symbol at a lower address than - // the nearest FUNC. - int parameter_size = 0; - linked_ptr func; - linked_ptr public_symbol; - MemAddr function_base; - MemAddr function_size; - MemAddr public_address; - if (functions_.RetrieveNearestRange(address, &func, - &function_base, &function_size) && - address >= function_base && address < function_base + function_size) { - parameter_size = func->parameter_size; - - frame->function_name = func->name; - frame->function_base = frame->module->base_address() + function_base; - - linked_ptr line; - MemAddr line_base; - if (func->lines.RetrieveRange(address, &line, &line_base, NULL)) { - FileMap::const_iterator it = files_.find(line->source_file_id); - if (it != files_.end()) { - frame->source_file_name = files_.find(line->source_file_id)->second; - } - frame->source_line = line->line; - frame->source_line_base = frame->module->base_address() + line_base; - } - } else if (public_symbols_.Retrieve(address, - &public_symbol, &public_address) && - (!func.get() || public_address > function_base + function_size)) { - parameter_size = public_symbol->parameter_size; - - frame->function_name = public_symbol->name; - frame->function_base = frame->module->base_address() + public_address; - } else { - // No FUNC or PUBLIC data available. - return frame_info.release(); - } - - if (!frame_info.get()) { - // Even without a relevant STACK line, many functions contain information - // about how much space their parameters consume on the stack. Prefer - // the STACK stuff (above), but if it's not present, take the - // information from the FUNC or PUBLIC line. - frame_info.reset(new StackFrameInfo()); - frame_info->parameter_size = parameter_size; - frame_info->valid |= StackFrameInfo::VALID_PARAMETER_SIZE; - } - - return frame_info.release(); -} - -// static -bool BasicSourceLineResolver::Module::Tokenize(char *line, int max_tokens, - vector *tokens) { - tokens->clear(); - tokens->reserve(max_tokens); - - int remaining = max_tokens; - - // Split tokens on the space character. Look for newlines too to - // strip them out before exhausting max_tokens. - char *save_ptr; - char *token = strtok_r(line, " \r\n", &save_ptr); - while (token && --remaining > 0) { - tokens->push_back(token); - if (remaining > 1) - token = strtok_r(NULL, " \r\n", &save_ptr); - } - - // If there's anything left, just add it as a single token. - if (!remaining > 0) { - if ((token = strtok_r(NULL, "\r\n", &save_ptr))) { - tokens->push_back(token); - } - } - - return tokens->size() == static_cast(max_tokens); -} - -bool BasicSourceLineResolver::Module::ParseFile(char *file_line) { - // FILE - file_line += 5; // skip prefix - - vector tokens; - if (!Tokenize(file_line, 2, &tokens)) { - return false; - } - - int index = atoi(tokens[0]); - if (index < 0) { - return false; - } - - char *filename = tokens[1]; - if (!filename) { - return false; - } - - files_.insert(make_pair(index, string(filename))); - return true; -} - -BasicSourceLineResolver::Function* -BasicSourceLineResolver::Module::ParseFunction(char *function_line) { - // FUNC
- function_line += 5; // skip prefix - - vector tokens; - if (!Tokenize(function_line, 4, &tokens)) { - return NULL; - } - - u_int64_t address = strtoull(tokens[0], NULL, 16); - u_int64_t size = strtoull(tokens[1], NULL, 16); - int stack_param_size = strtoull(tokens[2], NULL, 16); - char *name = tokens[3]; - - return new Function(name, address, size, stack_param_size); -} - -BasicSourceLineResolver::Line* BasicSourceLineResolver::Module::ParseLine( - char *line_line) { - //
- vector tokens; - if (!Tokenize(line_line, 4, &tokens)) { - return NULL; - } - - u_int64_t address = strtoull(tokens[0], NULL, 16); - u_int64_t size = strtoull(tokens[1], NULL, 16); - int line_number = atoi(tokens[2]); - int source_file = atoi(tokens[3]); - if (line_number <= 0) { - return NULL; - } - - return new Line(address, size, source_file, line_number); -} - -bool BasicSourceLineResolver::Module::ParsePublicSymbol(char *public_line) { - // PUBLIC
- - // Skip "PUBLIC " prefix. - public_line += 7; - - vector tokens; - if (!Tokenize(public_line, 3, &tokens)) { - return false; - } - - u_int64_t address = strtoull(tokens[0], NULL, 16); - int stack_param_size = strtoull(tokens[1], NULL, 16); - char *name = tokens[2]; - - // A few public symbols show up with an address of 0. This has been seen - // in the dumped output of ntdll.pdb for symbols such as _CIlog, _CIpow, - // RtlDescribeChunkLZNT1, and RtlReserveChunkLZNT1. They would conflict - // with one another if they were allowed into the public_symbols_ map, - // but since the address is obviously invalid, gracefully accept them - // as input without putting them into the map. - if (address == 0) { - return true; - } - - linked_ptr symbol(new PublicSymbol(name, address, - stack_param_size)); - return public_symbols_.Store(address, symbol); -} - -bool BasicSourceLineResolver::Module::ParseStackInfo(char *stack_info_line) { - // STACK WIN - // - // - // - // If has_program_string is 1, the rest of the line is a program string. - // Otherwise, the final token tells whether the stack info indicates that - // a base pointer has been allocated. - // - // Expect has_program_string to be 1 when type is STACK_INFO_FRAME_DATA and - // 0 when type is STACK_INFO_FPO, but don't enforce this. - - // Skip "STACK " prefix. - stack_info_line += 6; - - vector tokens; - if (!Tokenize(stack_info_line, 12, &tokens)) - return false; - - // Only MSVC stack frame info is understood for now. - const char *platform = tokens[0]; - if (strcmp(platform, "WIN") != 0) - return false; - - int type = strtol(tokens[1], NULL, 16); - if (type < 0 || type > STACK_INFO_LAST - 1) - return false; - - u_int64_t rva = strtoull(tokens[2], NULL, 16); - u_int64_t code_size = strtoull(tokens[3], NULL, 16); - u_int32_t prolog_size = strtoul(tokens[4], NULL, 16); - u_int32_t epilog_size = strtoul(tokens[5], NULL, 16); - u_int32_t parameter_size = strtoul(tokens[6], NULL, 16); - u_int32_t saved_register_size = strtoul(tokens[7], NULL, 16); - u_int32_t local_size = strtoul(tokens[8], NULL, 16); - u_int32_t max_stack_size = strtoul(tokens[9], NULL, 16); - int has_program_string = strtoul(tokens[10], NULL, 16); - - const char *program_string = ""; - int allocates_base_pointer = 0; - if (has_program_string) { - program_string = tokens[11]; - } else { - allocates_base_pointer = strtoul(tokens[11], NULL, 16); - } - - // TODO(mmentovai): I wanted to use StoreRange's return value as this - // method's return value, but MSVC infrequently outputs stack info that - // violates the containment rules. This happens with a section of code - // in strncpy_s in test_app.cc (testdata/minidump2). There, problem looks - // like this: - // STACK WIN 4 4242 1a a 0 ... (STACK WIN 4 base size prolog 0 ...) - // STACK WIN 4 4243 2e 9 0 ... - // ContainedRangeMap treats these two blocks as conflicting. In reality, - // when the prolog lengths are taken into account, the actual code of - // these blocks doesn't conflict. However, we can't take the prolog lengths - // into account directly here because we'd wind up with a different set - // of range conflicts when MSVC outputs stack info like this: - // STACK WIN 4 1040 73 33 0 ... - // STACK WIN 4 105a 59 19 0 ... - // because in both of these entries, the beginning of the code after the - // prolog is at 0x1073, and the last byte of contained code is at 0x10b2. - // Perhaps we could get away with storing ranges by rva + prolog_size - // if ContainedRangeMap were modified to allow replacement of - // already-stored values. - - linked_ptr stack_frame_info( - new StackFrameInfo(prolog_size, - epilog_size, - parameter_size, - saved_register_size, - local_size, - max_stack_size, - allocates_base_pointer, - program_string)); - stack_info_[type].StoreRange(rva, code_size, stack_frame_info); - - return true; -} - -size_t BasicSourceLineResolver::HashString::operator()(const string &s) const { - return hash()(s.c_str()); -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/processor/basic_source_line_resolver_unittest.cc b/toolkit/airbag/airbag/src/processor/basic_source_line_resolver_unittest.cc deleted file mode 100644 index 95595a85245d..000000000000 --- a/toolkit/airbag/airbag/src/processor/basic_source_line_resolver_unittest.cc +++ /dev/null @@ -1,212 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include -#include "google_breakpad/processor/basic_source_line_resolver.h" -#include "google_breakpad/processor/code_module.h" -#include "google_breakpad/processor/stack_frame.h" -#include "processor/linked_ptr.h" -#include "processor/logging.h" -#include "processor/scoped_ptr.h" -#include "processor/stack_frame_info.h" - -#define ASSERT_TRUE(cond) \ - if (!(cond)) { \ - fprintf(stderr, "FAILED: %s at %s:%d\n", #cond, __FILE__, __LINE__); \ - return false; \ - } - -#define ASSERT_FALSE(cond) ASSERT_TRUE(!(cond)) - -#define ASSERT_EQ(e1, e2) ASSERT_TRUE((e1) == (e2)) - -namespace { - -using std::string; -using google_breakpad::BasicSourceLineResolver; -using google_breakpad::CodeModule; -using google_breakpad::linked_ptr; -using google_breakpad::scoped_ptr; -using google_breakpad::StackFrame; -using google_breakpad::StackFrameInfo; - -class TestCodeModule : public CodeModule { - public: - TestCodeModule(string code_file) : code_file_(code_file) {} - virtual ~TestCodeModule() {} - - virtual u_int64_t base_address() const { return 0; } - virtual u_int64_t size() const { return 0x4000; } - virtual string code_file() const { return code_file_; } - virtual string code_identifier() const { return ""; } - virtual string debug_file() const { return ""; } - virtual string debug_identifier() const { return ""; } - virtual string version() const { return ""; } - virtual const CodeModule* Copy() const { - return new TestCodeModule(code_file_); - } - - private: - string code_file_; -}; - -static bool VerifyEmpty(const StackFrame &frame) { - ASSERT_TRUE(frame.function_name.empty()); - ASSERT_TRUE(frame.source_file_name.empty()); - ASSERT_EQ(frame.source_line, 0); - return true; -} - -static void ClearSourceLineInfo(StackFrame *frame) { - frame->function_name.clear(); - frame->module = NULL; - frame->source_file_name.clear(); - frame->source_line = 0; -} - -static bool RunTests() { - string testdata_dir = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata"; - - BasicSourceLineResolver resolver; - ASSERT_TRUE(resolver.LoadModule("module1", testdata_dir + "/module1.out")); - ASSERT_TRUE(resolver.HasModule("module1")); - ASSERT_TRUE(resolver.LoadModule("module2", testdata_dir + "/module2.out")); - ASSERT_TRUE(resolver.HasModule("module2")); - - TestCodeModule module1("module1"); - - StackFrame frame; - frame.instruction = 0x1000; - frame.module = NULL; - scoped_ptr frame_info(resolver.FillSourceLineInfo(&frame)); - ASSERT_FALSE(frame.module); - ASSERT_TRUE(frame.function_name.empty()); - ASSERT_EQ(frame.function_base, 0); - ASSERT_TRUE(frame.source_file_name.empty()); - ASSERT_EQ(frame.source_line, 0); - ASSERT_EQ(frame.source_line_base, 0); - - frame.module = &module1; - frame_info.reset(resolver.FillSourceLineInfo(&frame)); - ASSERT_EQ(frame.function_name, "Function1_1"); - ASSERT_TRUE(frame.module); - ASSERT_EQ(frame.module->code_file(), "module1"); - ASSERT_EQ(frame.function_base, 0x1000); - ASSERT_EQ(frame.source_file_name, "file1_1.cc"); - ASSERT_EQ(frame.source_line, 44); - ASSERT_EQ(frame.source_line_base, 0x1000); - ASSERT_TRUE(frame_info.get()); - ASSERT_FALSE(frame_info->allocates_base_pointer); - ASSERT_EQ(frame_info->program_string, - "$eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ ="); - - ClearSourceLineInfo(&frame); - frame.instruction = 0x800; - frame.module = &module1; - frame_info.reset(resolver.FillSourceLineInfo(&frame)); - ASSERT_TRUE(VerifyEmpty(frame)); - ASSERT_FALSE(frame_info.get()); - - frame.instruction = 0x1280; - frame_info.reset(resolver.FillSourceLineInfo(&frame)); - ASSERT_EQ(frame.function_name, "Function1_3"); - ASSERT_TRUE(frame.source_file_name.empty()); - ASSERT_EQ(frame.source_line, 0); - ASSERT_TRUE(frame_info.get()); - ASSERT_FALSE(frame_info->allocates_base_pointer); - ASSERT_TRUE(frame_info->program_string.empty()); - - frame.instruction = 0x1380; - frame_info.reset(resolver.FillSourceLineInfo(&frame)); - ASSERT_EQ(frame.function_name, "Function1_4"); - ASSERT_TRUE(frame.source_file_name.empty()); - ASSERT_EQ(frame.source_line, 0); - ASSERT_TRUE(frame_info.get()); - ASSERT_FALSE(frame_info->allocates_base_pointer); - ASSERT_FALSE(frame_info->program_string.empty()); - - frame.instruction = 0x2000; - frame_info.reset(resolver.FillSourceLineInfo(&frame)); - ASSERT_FALSE(frame_info.get()); - - TestCodeModule module2("module2"); - - frame.instruction = 0x2181; - frame.module = &module2; - frame_info.reset(resolver.FillSourceLineInfo(&frame)); - ASSERT_EQ(frame.function_name, "Function2_2"); - ASSERT_EQ(frame.function_base, 0x2170); - ASSERT_TRUE(frame.module); - ASSERT_EQ(frame.module->code_file(), "module2"); - ASSERT_EQ(frame.source_file_name, "file2_2.cc"); - ASSERT_EQ(frame.source_line, 21); - ASSERT_EQ(frame.source_line_base, 0x2180); - ASSERT_TRUE(frame_info.get()); - ASSERT_EQ(frame_info->prolog_size, 1); - - frame.instruction = 0x216f; - resolver.FillSourceLineInfo(&frame); - ASSERT_EQ(frame.function_name, "Public2_1"); - - ClearSourceLineInfo(&frame); - frame.instruction = 0x219f; - frame.module = &module2; - resolver.FillSourceLineInfo(&frame); - ASSERT_TRUE(frame.function_name.empty()); - - frame.instruction = 0x21a0; - frame.module = &module2; - resolver.FillSourceLineInfo(&frame); - ASSERT_EQ(frame.function_name, "Public2_2"); - - ASSERT_FALSE(resolver.LoadModule("module3", - testdata_dir + "/module3_bad.out")); - ASSERT_FALSE(resolver.HasModule("module3")); - ASSERT_FALSE(resolver.LoadModule("module4", - testdata_dir + "/module4_bad.out")); - ASSERT_FALSE(resolver.HasModule("module4")); - ASSERT_FALSE(resolver.LoadModule("module5", - testdata_dir + "/invalid-filename")); - ASSERT_FALSE(resolver.HasModule("module5")); - ASSERT_FALSE(resolver.HasModule("invalid-module")); - return true; -} - -} // namespace - -int main(int argc, char **argv) { - BPLOG_INIT(&argc, &argv); - - if (!RunTests()) { - return 1; - } - return 0; -} diff --git a/toolkit/airbag/airbag/src/processor/call_stack.cc b/toolkit/airbag/airbag/src/processor/call_stack.cc deleted file mode 100755 index e3276716c819..000000000000 --- a/toolkit/airbag/airbag/src/processor/call_stack.cc +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// call_stack.cc: A call stack comprised of stack frames. -// -// See call_stack.h for documentation. -// -// Author: Mark Mentovai - -#include "google_breakpad/processor/call_stack.h" -#include "google_breakpad/processor/stack_frame.h" - -namespace google_breakpad { - -CallStack::~CallStack() { - Clear(); -} - -void CallStack::Clear() { - for (vector::const_iterator iterator = frames_.begin(); - iterator != frames_.end(); - ++iterator) { - delete *iterator; - } -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/processor/contained_range_map-inl.h b/toolkit/airbag/airbag/src/processor/contained_range_map-inl.h deleted file mode 100755 index 97f9fdbe82cb..000000000000 --- a/toolkit/airbag/airbag/src/processor/contained_range_map-inl.h +++ /dev/null @@ -1,192 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// contained_range_map-inl.h: Hierarchically-organized range map implementation. -// -// See contained_range_map.h for documentation. -// -// Author: Mark Mentovai - -#ifndef PROCESSOR_CONTAINED_RANGE_MAP_INL_H__ -#define PROCESSOR_CONTAINED_RANGE_MAP_INL_H__ - - -#include - -#include "processor/contained_range_map.h" -#include "processor/logging.h" - - -namespace google_breakpad { - - -template -ContainedRangeMap::~ContainedRangeMap() { - // Clear frees the children pointed to by the map, and frees the map itself. - Clear(); -} - - -template -bool ContainedRangeMap::StoreRange( - const AddressType &base, const AddressType &size, const EntryType &entry) { - AddressType high = base + size - 1; - - // Check for undersize or overflow. - if (size <= 0 || high < base) { - BPLOG(INFO) << "StoreRange failed, " << HexString(base) << "+" << - HexString(size) << ", " << HexString(high); - return false; - } - - if (!map_) - map_ = new AddressToRangeMap(); - - MapIterator iterator_base = map_->lower_bound(base); - MapIterator iterator_high = map_->lower_bound(high); - MapConstIterator iterator_end = map_->end(); - - if (iterator_base == iterator_high && iterator_base != iterator_end && - base >= iterator_base->second->base_) { - // The new range is entirely within an existing child range. - - // If the new range's geometry is exactly equal to an existing child - // range's, it violates the containment rules, and an attempt to store - // it must fail. iterator_base->first contains the key, which was the - // containing child's high address. - if (iterator_base->second->base_ == base && iterator_base->first == high) { - BPLOG(INFO) << "StoreRange failed, identical range is already " - "present: " << HexString(base) << "+" << HexString(size); - return false; - } - - // Pass the new range on to the child to attempt to store. - return iterator_base->second->StoreRange(base, size, entry); - } - - // iterator_high might refer to an irrelevant range: one whose base address - // is higher than the new range's high address. Set contains_high to true - // only if iterator_high refers to a range that is at least partially - // within the new range. - bool contains_high = iterator_high != iterator_end && - high >= iterator_high->second->base_; - - // If the new range encompasses any existing child ranges, it must do so - // fully. Partial containment isn't allowed. - if ((iterator_base != iterator_end && base > iterator_base->second->base_) || - (contains_high && high < iterator_high->first)) { - // TODO(mmentovai): Some symbol files will trip this check frequently - // on STACK lines. Too many messages will be produced. These are more - // suitable for a DEBUG channel than an INFO channel. - // BPLOG(INFO) << "StoreRange failed, new range partially contains " - // "existing range: " << HexString(base) << "+" << - // HexString(size); - return false; - } - - // When copying and erasing contained ranges, the "end" iterator needs to - // point one past the last item of the range to copy. If contains_high is - // false, the iterator's already in the right place; the increment is safe - // because contains_high can't be true if iterator_high == iterator_end. - if (contains_high) - ++iterator_high; - - // Optimization: if the iterators are equal, no child ranges would be - // moved. Create the new child range with a NULL map to conserve space - // in leaf nodes, of which there will be many. - AddressToRangeMap *child_map = NULL; - - if (iterator_base != iterator_high) { - // The children of this range that are contained by the new range must - // be transferred over to the new range. Create the new child range map - // and copy the pointers to range maps it should contain into it. - child_map = new AddressToRangeMap(iterator_base, iterator_high); - - // Remove the copied child pointers from this range's map of children. - map_->erase(iterator_base, iterator_high); - } - - // Store the new range in the map by its high address. Any children that - // the new child range contains were formerly children of this range but - // are now this range's grandchildren. Ownership of these is transferred - // to the new child range. - map_->insert(MapValue(high, - new ContainedRangeMap(base, entry, child_map))); - return true; -} - - -template -bool ContainedRangeMap::RetrieveRange( - const AddressType &address, EntryType *entry) const { - BPLOG_IF(ERROR, !entry) << "ContainedRangeMap::RetrieveRange requires " - "|entry|"; - assert(entry); - - // If nothing was ever stored, then there's nothing to retrieve. - if (!map_) - return false; - - // Get an iterator to the child range whose high address is equal to or - // greater than the supplied address. If the supplied address is higher - // than all of the high addresses in the range, then this range does not - // contain a child at address, so return false. If the supplied address - // is lower than the base address of the child range, then it is not within - // the child range, so return false. - MapConstIterator iterator = map_->lower_bound(address); - if (iterator == map_->end() || address < iterator->second->base_) - return false; - - // The child in iterator->second contains the specified address. Find out - // if it has a more-specific descendant that also contains it. If it does, - // it will set |entry| appropriately. If not, set |entry| to the child. - if (!iterator->second->RetrieveRange(address, entry)) - *entry = iterator->second->entry_; - - return true; -} - - -template -void ContainedRangeMap::Clear() { - if (map_) { - MapConstIterator end = map_->end(); - for (MapConstIterator child = map_->begin(); child != end; ++child) - delete child->second; - - delete map_; - map_ = NULL; - } -} - - -} // namespace google_breakpad - - -#endif // PROCESSOR_CONTAINED_RANGE_MAP_INL_H__ diff --git a/toolkit/airbag/airbag/src/processor/contained_range_map.h b/toolkit/airbag/airbag/src/processor/contained_range_map.h deleted file mode 100755 index f30016f32137..000000000000 --- a/toolkit/airbag/airbag/src/processor/contained_range_map.h +++ /dev/null @@ -1,145 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// contained_range_map.h: Hierarchically-organized range maps. -// -// A contained range map is similar to a standard range map, except it allows -// objects to be organized hierarchically. A contained range map allows -// objects to contain other objects. It is not sensitive to the order that -// objects are added to the map: larger, more general, containing objects -// may be added either before or after smaller, more specific, contained -// ones. -// -// Contained range maps guarantee that each object may only contain smaller -// objects than itself, and that a parent object may only contain child -// objects located entirely within the parent's address space. Attempts -// to introduce objects (via StoreRange) that violate these rules will fail. -// Retrieval (via RetrieveRange) always returns the most specific (smallest) -// object that contains the address being queried. Note that while it is -// not possible to insert two objects into a map that have exactly the same -// geometry (base address and size), it is possible to completely mask a -// larger object by inserting smaller objects that entirely fill the larger -// object's address space. -// -// Internally, contained range maps are implemented as a tree. Each tree -// node except for the root node describes an object in the map. Each node -// maintains its list of children in a map similar to a standard range map, -// keyed by the highest address that each child occupies. Each node's -// children occupy address ranges entirely within the node. The root node -// is the only node directly accessible to the user, and represents the -// entire address space. -// -// Author: Mark Mentovai - -#ifndef PROCESSOR_CONTAINED_RANGE_MAP_H__ -#define PROCESSOR_CONTAINED_RANGE_MAP_H__ - - -#include - - -namespace google_breakpad { - - -template -class ContainedRangeMap { - public: - // The default constructor creates a ContainedRangeMap with no geometry - // and no entry, and as such is only suitable for the root node of a - // ContainedRangeMap tree. - ContainedRangeMap() : base_(), entry_(), map_(NULL) {} - - ~ContainedRangeMap(); - - // Inserts a range into the map. If the new range is encompassed by - // an existing child range, the new range is passed into the child range's - // StoreRange method. If the new range encompasses any existing child - // ranges, those child ranges are moved to the new range, becoming - // grandchildren of this ContainedRangeMap. Returns false for a - // parameter error, or if the ContainedRangeMap hierarchy guarantees - // would be violated. - bool StoreRange(const AddressType &base, - const AddressType &size, - const EntryType &entry); - - // Retrieves the most specific (smallest) descendant range encompassing - // the specified address. This method will only return entries held by - // child ranges, and not the entry contained by |this|. This is necessary - // to support a sparsely-populated root range. If no descendant range - // encompasses the address, returns false. - bool RetrieveRange(const AddressType &address, EntryType *entry) const; - - // Removes all children. Note that Clear only removes descendants, - // leaving the node on which it is called intact. Because the only - // meaningful things contained by a root node are descendants, this - // is sufficient to restore an entire ContainedRangeMap to its initial - // empty state when called on the root node. - void Clear(); - - private: - // AddressToRangeMap stores pointers. This makes reparenting simpler in - // StoreRange, because it doesn't need to copy entire objects. - typedef std::map AddressToRangeMap; - typedef typename AddressToRangeMap::const_iterator MapConstIterator; - typedef typename AddressToRangeMap::iterator MapIterator; - typedef typename AddressToRangeMap::value_type MapValue; - - // Creates a new ContainedRangeMap with the specified base address, entry, - // and initial child map, which may be NULL. This is only used internally - // by ContainedRangeMap when it creates a new child. - ContainedRangeMap(const AddressType &base, const EntryType &entry, - AddressToRangeMap *map) - : base_(base), entry_(entry), map_(map) {} - - // The base address of this range. The high address does not need to - // be stored, because it is used as the key to an object in its parent's - // map, and all ContainedRangeMaps except for the root range are contained - // within maps. The root range does not actually contain an entry, so its - // base_ field is meaningless, and the fact that it has no parent and thus - // no key is unimportant. For this reason, the base_ field should only be - // is accessed on child ContainedRangeMap objects, and never on |this|. - const AddressType base_; - - // The entry corresponding to this range. The root range does not - // actually contain an entry, so its entry_ field is meaningless. For - // this reason, the entry_ field should only be accessed on child - // ContainedRangeMap objects, and never on |this|. - const EntryType entry_; - - // The map containing child ranges, keyed by each child range's high - // address. This is a pointer to avoid allocating map structures for - // leaf nodes, where they are not needed. - AddressToRangeMap *map_; -}; - - -} // namespace google_breakpad - - -#endif // PROCESSOR_CONTAINED_RANGE_MAP_H__ diff --git a/toolkit/airbag/airbag/src/processor/contained_range_map_unittest.cc b/toolkit/airbag/airbag/src/processor/contained_range_map_unittest.cc deleted file mode 100755 index 6b65b4e13492..000000000000 --- a/toolkit/airbag/airbag/src/processor/contained_range_map_unittest.cc +++ /dev/null @@ -1,263 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// contained_range_map_unittest.cc: Unit tests for ContainedRangeMap -// -// Author: Mark Mentovai - -#include - -#include "processor/contained_range_map-inl.h" - -#include "processor/logging.h" - - -#define ASSERT_TRUE(condition) \ - if (!(condition)) { \ - fprintf(stderr, "FAIL: %s @ %s:%d\n", #condition, __FILE__, __LINE__); \ - return false; \ - } - -#define ASSERT_FALSE(condition) ASSERT_TRUE(!(condition)) - - -namespace { - - -using google_breakpad::ContainedRangeMap; - - -static bool RunTests() { - ContainedRangeMap crm; - - // First, do the StoreRange tests. This validates the containment - // rules. - ASSERT_TRUE (crm.StoreRange(10, 10, 1)); - ASSERT_FALSE(crm.StoreRange(10, 10, 2)); // exactly equal to 1 - ASSERT_FALSE(crm.StoreRange(11, 10, 3)); // begins inside 1 and extends up - ASSERT_FALSE(crm.StoreRange( 9, 10, 4)); // begins below 1 and ends inside - ASSERT_TRUE (crm.StoreRange(11, 9, 5)); // contained by existing - ASSERT_TRUE (crm.StoreRange(12, 7, 6)); - ASSERT_TRUE (crm.StoreRange( 9, 12, 7)); // contains existing - ASSERT_TRUE (crm.StoreRange( 9, 13, 8)); - ASSERT_TRUE (crm.StoreRange( 8, 14, 9)); - ASSERT_TRUE (crm.StoreRange(30, 3, 10)); - ASSERT_TRUE (crm.StoreRange(33, 3, 11)); - ASSERT_TRUE (crm.StoreRange(30, 6, 12)); // storable but totally masked - ASSERT_TRUE (crm.StoreRange(40, 8, 13)); // will be totally masked - ASSERT_TRUE (crm.StoreRange(40, 4, 14)); - ASSERT_TRUE (crm.StoreRange(44, 4, 15)); - ASSERT_FALSE(crm.StoreRange(32, 10, 16)); // begins in #10, ends in #14 - ASSERT_FALSE(crm.StoreRange(50, 0, 17)); // zero length - ASSERT_TRUE (crm.StoreRange(50, 10, 18)); - ASSERT_TRUE (crm.StoreRange(50, 1, 19)); - ASSERT_TRUE (crm.StoreRange(59, 1, 20)); - ASSERT_TRUE (crm.StoreRange(60, 1, 21)); - ASSERT_TRUE (crm.StoreRange(69, 1, 22)); - ASSERT_TRUE (crm.StoreRange(60, 10, 23)); - ASSERT_TRUE (crm.StoreRange(68, 1, 24)); - ASSERT_TRUE (crm.StoreRange(61, 1, 25)); - ASSERT_TRUE (crm.StoreRange(61, 8, 26)); - ASSERT_FALSE(crm.StoreRange(59, 9, 27)); - ASSERT_FALSE(crm.StoreRange(59, 10, 28)); - ASSERT_FALSE(crm.StoreRange(59, 11, 29)); - ASSERT_TRUE (crm.StoreRange(70, 10, 30)); - ASSERT_TRUE (crm.StoreRange(74, 2, 31)); - ASSERT_TRUE (crm.StoreRange(77, 2, 32)); - ASSERT_FALSE(crm.StoreRange(72, 6, 33)); - ASSERT_TRUE (crm.StoreRange(80, 3, 34)); - ASSERT_TRUE (crm.StoreRange(81, 1, 35)); - ASSERT_TRUE (crm.StoreRange(82, 1, 36)); - ASSERT_TRUE (crm.StoreRange(83, 3, 37)); - ASSERT_TRUE (crm.StoreRange(84, 1, 38)); - ASSERT_TRUE (crm.StoreRange(83, 1, 39)); - ASSERT_TRUE (crm.StoreRange(86, 5, 40)); - ASSERT_TRUE (crm.StoreRange(88, 1, 41)); - ASSERT_TRUE (crm.StoreRange(90, 1, 42)); - ASSERT_TRUE (crm.StoreRange(86, 1, 43)); - ASSERT_TRUE (crm.StoreRange(87, 1, 44)); - ASSERT_TRUE (crm.StoreRange(89, 1, 45)); - ASSERT_TRUE (crm.StoreRange(87, 4, 46)); - ASSERT_TRUE (crm.StoreRange(87, 3, 47)); - ASSERT_FALSE(crm.StoreRange(86, 2, 48)); - - // Each element in test_data contains the expected result when calling - // RetrieveRange on an address. - const int test_data[] = { - 0, // 0 - 0, // 1 - 0, // 2 - 0, // 3 - 0, // 4 - 0, // 5 - 0, // 6 - 0, // 7 - 9, // 8 - 7, // 9 - 1, // 10 - 5, // 11 - 6, // 12 - 6, // 13 - 6, // 14 - 6, // 15 - 6, // 16 - 6, // 17 - 6, // 18 - 5, // 19 - 7, // 20 - 8, // 21 - 0, // 22 - 0, // 23 - 0, // 24 - 0, // 25 - 0, // 26 - 0, // 27 - 0, // 28 - 0, // 29 - 10, // 30 - 10, // 31 - 10, // 32 - 11, // 33 - 11, // 34 - 11, // 35 - 0, // 36 - 0, // 37 - 0, // 38 - 0, // 39 - 14, // 40 - 14, // 41 - 14, // 42 - 14, // 43 - 15, // 44 - 15, // 45 - 15, // 46 - 15, // 47 - 0, // 48 - 0, // 49 - 19, // 50 - 18, // 51 - 18, // 52 - 18, // 53 - 18, // 54 - 18, // 55 - 18, // 56 - 18, // 57 - 18, // 58 - 20, // 59 - 21, // 60 - 25, // 61 - 26, // 62 - 26, // 63 - 26, // 64 - 26, // 65 - 26, // 66 - 26, // 67 - 24, // 68 - 22, // 69 - 30, // 70 - 30, // 71 - 30, // 72 - 30, // 73 - 31, // 74 - 31, // 75 - 30, // 76 - 32, // 77 - 32, // 78 - 30, // 79 - 34, // 80 - 35, // 81 - 36, // 82 - 39, // 83 - 38, // 84 - 37, // 85 - 43, // 86 - 44, // 87 - 41, // 88 - 45, // 89 - 42, // 90 - 0, // 91 - 0, // 92 - 0, // 93 - 0, // 94 - 0, // 95 - 0, // 96 - 0, // 97 - 0, // 98 - 0 // 99 - }; - unsigned int test_high = sizeof(test_data) / sizeof(int); - - // Now, do the RetrieveRange tests. This further validates that the - // objects were stored properly and that retrieval returns the correct - // object. - // If GENERATE_TEST_DATA is defined, instead of the retrieval tests, a - // new test_data array will be printed. Exercise caution when doing this. - // Be sure to verify the results manually! -#ifdef GENERATE_TEST_DATA - printf(" const int test_data[] = {\n"); -#endif // GENERATE_TEST_DATA - - for (unsigned int address = 0; address < test_high; ++address) { - int value; - if (!crm.RetrieveRange(address, &value)) - value = 0; - -#ifndef GENERATE_TEST_DATA - // Don't use ASSERT inside the loop because it won't show the failed - // |address|, and the line number will always be the same. That makes - // it difficult to figure out which test failed. - if (value != test_data[address]) { - fprintf(stderr, "FAIL: retrieve %d expected %d observed %d @ %s:%d\n", - address, test_data[address], value, __FILE__, __LINE__); - return false; - } -#else // !GENERATE_TEST_DATA - printf(" %d%c%s // %d\n", value, - address == test_high - 1 ? ' ' : ',', - value < 10 ? " " : "", - address); -#endif // !GENERATE_TEST_DATA - } - -#ifdef GENERATE_TEST_DATA - printf(" };\n"); -#endif // GENERATE_TEST_DATA - - return true; -} - - -} // namespace - - -int main(int argc, char **argv) { - BPLOG_INIT(&argc, &argv); - - return RunTests() ? 0 : 1; -} diff --git a/toolkit/airbag/airbag/src/processor/linked_ptr.h b/toolkit/airbag/airbag/src/processor/linked_ptr.h deleted file mode 100755 index 1a4ef7d45814..000000000000 --- a/toolkit/airbag/airbag/src/processor/linked_ptr.h +++ /dev/null @@ -1,193 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// A "smart" pointer type with reference tracking. Every pointer to a -// particular object is kept on a circular linked list. When the last pointer -// to an object is destroyed or reassigned, the object is deleted. -// -// Used properly, this deletes the object when the last reference goes away. -// There are several caveats: -// - Like all reference counting schemes, cycles lead to leaks. -// - Each smart pointer is actually two pointers (8 bytes instead of 4). -// - Every time a pointer is assigned, the entire list of pointers to that -// object is traversed. This class is therefore NOT SUITABLE when there -// will often be more than two or three pointers to a particular object. -// - References are only tracked as long as linked_ptr<> objects are copied. -// If a linked_ptr<> is converted to a raw pointer and back, BAD THINGS -// will happen (double deletion). -// -// A good use of this class is storing object references in STL containers. -// You can safely put linked_ptr<> in a vector<>. -// Other uses may not be as good. -// -// Note: If you use an incomplete type with linked_ptr<>, the class -// *containing* linked_ptr<> must have a constructor and destructor (even -// if they do nothing!). - -#ifndef PROCESSOR_LINKED_PTR_H__ -#define PROCESSOR_LINKED_PTR_H__ - -namespace google_breakpad { - -// This is used internally by all instances of linked_ptr<>. It needs to be -// a non-template class because different types of linked_ptr<> can refer to -// the same object (linked_ptr(obj) vs linked_ptr(obj)). -// So, it needs to be possible for different types of linked_ptr to participate -// in the same circular linked list, so we need a single class type here. -// -// DO NOT USE THIS CLASS DIRECTLY YOURSELF. Use linked_ptr. -class linked_ptr_internal { - public: - // Create a new circle that includes only this instance. - void join_new() { - next_ = this; - } - - // Join an existing circle. - void join(linked_ptr_internal const* ptr) { - linked_ptr_internal const* p = ptr; - while (p->next_ != ptr) p = p->next_; - p->next_ = this; - next_ = ptr; - } - - // Leave whatever circle we're part of. Returns true iff we were the - // last member of the circle. Once this is done, you can join() another. - bool depart() { - if (next_ == this) return true; - linked_ptr_internal const* p = next_; - while (p->next_ != this) p = p->next_; - p->next_ = next_; - return false; - } - - private: - mutable linked_ptr_internal const* next_; -}; - -template -class linked_ptr { - public: - typedef T element_type; - - // Take over ownership of a raw pointer. This should happen as soon as - // possible after the object is created. - explicit linked_ptr(T* ptr = NULL) { capture(ptr); } - ~linked_ptr() { depart(); } - - // Copy an existing linked_ptr<>, adding ourselves to the list of references. - template linked_ptr(linked_ptr const& ptr) { copy(&ptr); } - linked_ptr(linked_ptr const& ptr) { copy(&ptr); } - - // Assignment releases the old value and acquires the new. - template linked_ptr& operator=(linked_ptr const& ptr) { - depart(); - copy(&ptr); - return *this; - } - - linked_ptr& operator=(linked_ptr const& ptr) { - if (&ptr != this) { - depart(); - copy(&ptr); - } - return *this; - } - - // Smart pointer members. - void reset(T* ptr = NULL) { depart(); capture(ptr); } - T* get() const { return value_; } - T* operator->() const { return value_; } - T& operator*() const { return *value_; } - // Release ownership of the pointed object and returns it. - // Sole ownership by this linked_ptr object is required. - T* release() { - bool last = link_.depart(); - T* v = value_; - value_ = NULL; - return v; - } - - bool operator==(T* p) const { return value_ == p; } - bool operator!=(T* p) const { return value_ != p; } - template - bool operator==(linked_ptr const& ptr) const { - return value_ == ptr.get(); - } - template - bool operator!=(linked_ptr const& ptr) const { - return value_ != ptr.get(); - } - - private: - template - friend class linked_ptr; - - T* value_; - linked_ptr_internal link_; - - void depart() { - if (link_.depart()) delete value_; - } - - void capture(T* ptr) { - value_ = ptr; - link_.join_new(); - } - - template void copy(linked_ptr const* ptr) { - value_ = ptr->get(); - if (value_) - link_.join(&ptr->link_); - else - link_.join_new(); - } -}; - -template inline -bool operator==(T* ptr, const linked_ptr& x) { - return ptr == x.get(); -} - -template inline -bool operator!=(T* ptr, const linked_ptr& x) { - return ptr != x.get(); -} - -// A function to convert T* into linked_ptr -// Doing e.g. make_linked_ptr(new FooBarBaz(arg)) is a shorter notation -// for linked_ptr >(new FooBarBaz(arg)) -template -linked_ptr make_linked_ptr(T* ptr) { - return linked_ptr(ptr); -} - -} // namespace google_breakpad - -#endif // PROCESSOR_LINKED_PTR_H__ diff --git a/toolkit/airbag/airbag/src/processor/logging.cc b/toolkit/airbag/airbag/src/processor/logging.cc deleted file mode 100644 index b96e4c788738..000000000000 --- a/toolkit/airbag/airbag/src/processor/logging.cc +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright (c) 2007, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// logging.cc: Breakpad logging -// -// See logging.h for documentation. -// -// Author: Mark Mentovai - -#include -#include -#include -#include -#include - -#include "processor/logging.h" -#include "processor/pathname_stripper.h" - -namespace google_breakpad { - -LogStream::LogStream(std::ostream &stream, Severity severity, - const char *file, int line) - : stream_(stream) { - time_t clock; - time(&clock); - struct tm tm_struct; - localtime_r(&clock, &tm_struct); - char time_string[20]; - strftime(time_string, sizeof(time_string), "%Y-%m-%d %H:%M:%S", &tm_struct); - - const char *severity_string = "UNKNOWN_SEVERITY"; - switch (severity) { - case SEVERITY_INFO: - severity_string = "INFO"; - break; - case SEVERITY_ERROR: - severity_string = "ERROR"; - break; - } - - stream_ << time_string << ": " << PathnameStripper::File(file) << ":" << - line << ": " << severity_string << ": "; -} - -LogStream::~LogStream() { - stream_ << std::endl; -} - -std::string HexString(u_int32_t number) { - char buffer[11]; - snprintf(buffer, sizeof(buffer), "0x%x", number); - return std::string(buffer); -} - -std::string HexString(u_int64_t number) { - char buffer[19]; - snprintf(buffer, sizeof(buffer), "0x%llx", number); - return std::string(buffer); -} - -std::string HexString(int number) { - char buffer[19]; - snprintf(buffer, sizeof(buffer), "0x%x", number); - return std::string(buffer); -} - -int ErrnoString(std::string *error_string) { - assert(error_string); - - // strerror isn't necessarily thread-safe. strerror_r would be preferrable, - // but GNU libc uses a nonstandard strerror_r by default, which returns a - // char* (rather than an int success indicator) and doesn't necessarily - // use the supplied buffer. - error_string->assign(strerror(errno)); - return errno; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/processor/logging.h b/toolkit/airbag/airbag/src/processor/logging.h deleted file mode 100644 index b638ff5890f5..000000000000 --- a/toolkit/airbag/airbag/src/processor/logging.h +++ /dev/null @@ -1,153 +0,0 @@ -// Copyright (c) 2007, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// logging.h: Breakpad logging -// -// Breakpad itself uses Breakpad logging with statements of the form: -// BPLOG(severity) << "message"; -// severity may be INFO, ERROR, or other values defined in this file. -// -// BPLOG is an overridable macro so that users can customize Breakpad's -// logging. Left at the default, logging messages are sent to stderr along -// with a timestamp and the source code location that produced a message. -// The streams may be changed by redefining BPLOG_*_STREAM, the logging -// behavior may be changed by redefining BPLOG_*, and the entire logging -// system may be overridden by redefining BPLOG(severity). These -// redefinitions may be passed to the preprocessor as a command-line flag -// (-D). -// -// If an additional header is required to override Breakpad logging, it can -// be specified by the BP_LOGGING_INCLUDE macro. If defined, this header -// will #include the header specified by that macro. -// -// If any initialization is needed before logging, it can be performed by -// a function called through the BPLOG_INIT macro. Each main function of -// an executable program in the Breakpad processor library calls -// BPLOG_INIT(&argc, &argv); before any logging can be performed; define -// BPLOG_INIT appropriately if initialization is required. -// -// Author: Mark Mentovai - -#ifndef PROCESSOR_LOGGING_H__ -#define PROCESSOR_LOGGING_H__ - -#include -#include - -#include "google_breakpad/common/breakpad_types.h" - -#ifdef BP_LOGGING_INCLUDE -#include BP_LOGGING_INCLUDE -#endif // BP_LOGGING_INCLUDE - -namespace google_breakpad { - -class LogStream { - public: - enum Severity { - SEVERITY_INFO, - SEVERITY_ERROR - }; - - // Begin logging a message to the stream identified by |stream|, at the - // indicated severity. The file and line parameters should be set so as to - // identify the line of source code that is producing a message. - LogStream(std::ostream &stream, Severity severity, - const char *file, int line); - - // Finish logging by printing a newline and flushing the output stream. - ~LogStream(); - - template std::ostream& operator<<(const T &t) { - return stream_ << t; - } - - private: - std::ostream &stream_; - - // Disallow copy constructor and assignment operator - explicit LogStream(const LogStream &that); - void operator=(const LogStream &that); -}; - -// This class is used to explicitly ignore values in the conditional logging -// macros. This avoids compiler warnings like "value computed is not used" -// and "statement has no effect". -class LogMessageVoidify { - public: - LogMessageVoidify() {} - - // This has to be an operator with a precedence lower than << but higher - // than ?: - void operator&(std::ostream &) {} -}; - -// Returns number formatted as a hexadecimal string, such as "0x7b". -std::string HexString(u_int32_t number); -std::string HexString(u_int64_t number); -std::string HexString(int number); - -// Returns the error code as set in the global errno variable, and sets -// error_string, a required argument, to a string describing that error -// code. -int ErrnoString(std::string *error_string); - -} // namespace google_breakpad - -#ifndef BPLOG_INIT -#define BPLOG_INIT(pargc, pargv) -#endif // BPLOG_INIT - -#ifndef BPLOG -#define BPLOG(severity) BPLOG_ ## severity -#endif // BPLOG - -#ifndef BPLOG_INFO -#ifndef BPLOG_INFO_STREAM -#define BPLOG_INFO_STREAM std::clog -#endif // BPLOG_INFO_STREAM -#define BPLOG_INFO google_breakpad::LogStream(BPLOG_INFO_STREAM, \ - google_breakpad::LogStream::SEVERITY_INFO, \ - __FILE__, __LINE__) -#endif // BPLOG_INFO - -#ifndef BPLOG_ERROR -#ifndef BPLOG_ERROR_STREAM -#define BPLOG_ERROR_STREAM std::cerr -#endif // BPLOG_ERROR_STREAM -#define BPLOG_ERROR google_breakpad::LogStream(BPLOG_ERROR_STREAM, \ - google_breakpad::LogStream::SEVERITY_ERROR, \ - __FILE__, __LINE__) -#endif // BPLOG_ERROR - -#define BPLOG_IF(severity, condition) \ - !(condition) ? (void) 0 : \ - google_breakpad::LogMessageVoidify() & BPLOG(severity) - -#endif // PROCESSOR_LOGGING_H__ diff --git a/toolkit/airbag/airbag/src/processor/minidump.cc b/toolkit/airbag/airbag/src/processor/minidump.cc deleted file mode 100755 index 3548fb959457..000000000000 --- a/toolkit/airbag/airbag/src/processor/minidump.cc +++ /dev/null @@ -1,3337 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// minidump.cc: A minidump reader. -// -// See minidump.h for documentation. -// -// Author: Mark Mentovai - - -#include -#include -#include -#include -#ifdef _WIN32 -#include -typedef SSIZE_T ssize_t; -#define open _open -#define read _read -#define lseek _lseek -#else // _WIN32 -#define O_BINARY 0 -#endif // _WIN32 - -#include -#include -#include -#include - -#include "processor/range_map-inl.h" - -#include "google_breakpad/processor/minidump.h" -#include "processor/basic_code_module.h" -#include "processor/basic_code_modules.h" -#include "processor/logging.h" -#include "processor/scoped_ptr.h" - - -namespace google_breakpad { - - -using std::numeric_limits; -using std::vector; - - -// -// Swapping routines -// -// Inlining these doesn't increase code size significantly, and it saves -// a whole lot of unnecessary jumping back and forth. -// - - -// Swapping an 8-bit quantity is a no-op. This function is only provided -// to account for certain templatized operations that require swapping for -// wider types but handle u_int8_t too -// (MinidumpMemoryRegion::GetMemoryAtAddressInternal). -static inline void Swap(u_int8_t* value) { -} - - -// Optimization: don't need to AND the furthest right shift, because we're -// shifting an unsigned quantity. The standard requires zero-filling in this -// case. If the quantities were signed, a bitmask whould be needed for this -// right shift to avoid an arithmetic shift (which retains the sign bit). -// The furthest left shift never needs to be ANDed bitmask. - - -static inline void Swap(u_int16_t* value) { - *value = (*value >> 8) | - (*value << 8); -} - - -static inline void Swap(u_int32_t* value) { - *value = (*value >> 24) | - ((*value >> 8) & 0x0000ff00) | - ((*value << 8) & 0x00ff0000) | - (*value << 24); -} - - -static void Swap(u_int64_t* value) { - u_int32_t* value32 = reinterpret_cast(value); - Swap(&value32[0]); - Swap(&value32[1]); - u_int32_t temp = value32[0]; - value32[0] = value32[1]; - value32[1] = temp; -} - - -// Given a pointer to a 128-bit int in the minidump data, set the "low" -// and "high" fields appropriately. -static void Normalize128(u_int128_t* value, bool is_big_endian) { - // The struct format is [high, low], so if the format is big-endian, - // the most significant bytes will already be in the high field. - if (!is_big_endian) { - u_int64_t temp = value->low; - value->low = value->high; - value->high = temp; - } -} - -// This just swaps each int64 half of the 128-bit value. -// The value should also be normalized by calling Normalize128(). -static void Swap(u_int128_t* value) { - Swap(&value->low); - Swap(&value->high); -} - - -static inline void Swap(MDLocationDescriptor* location_descriptor) { - Swap(&location_descriptor->data_size); - Swap(&location_descriptor->rva); -} - - -static inline void Swap(MDMemoryDescriptor* memory_descriptor) { - Swap(&memory_descriptor->start_of_memory_range); - Swap(&memory_descriptor->memory); -} - - -static inline void Swap(MDGUID* guid) { - Swap(&guid->data1); - Swap(&guid->data2); - Swap(&guid->data3); - // Don't swap guid->data4[] because it contains 8-bit quantities. -} - - -// -// Character conversion routines -// - - -// Standard wide-character conversion routines depend on the system's own -// idea of what width a wide character should be: some use 16 bits, and -// some use 32 bits. For the purposes of a minidump, wide strings are -// always represented with 16-bit UTF-16 chracters. iconv isn't available -// everywhere, and its interface varies where it is available. iconv also -// deals purely with char* pointers, so in addition to considering the swap -// parameter, a converter that uses iconv would also need to take the host -// CPU's endianness into consideration. It doesn't seems worth the trouble -// of making it a dependency when we don't care about anything but UTF-16. -static string* UTF16ToUTF8(const vector& in, - bool swap) { - scoped_ptr out(new string()); - - // Set the string's initial capacity to the number of UTF-16 characters, - // because the UTF-8 representation will always be at least this long. - // If the UTF-8 representation is longer, the string will grow dynamically. - out->reserve(in.size()); - - for (vector::const_iterator iterator = in.begin(); - iterator != in.end(); - ++iterator) { - // Get a 16-bit value from the input - u_int16_t in_word = *iterator; - if (swap) - Swap(&in_word); - - // Convert the input value (in_word) into a Unicode code point (unichar). - u_int32_t unichar; - if (in_word >= 0xdc00 && in_word <= 0xdcff) { - BPLOG(ERROR) << "UTF16ToUTF8 found low surrogate " << - HexString(in_word) << " without high"; - return NULL; - } else if (in_word >= 0xd800 && in_word <= 0xdbff) { - // High surrogate. - unichar = (in_word - 0xd7c0) << 10; - if (++iterator == in.end()) { - BPLOG(ERROR) << "UTF16ToUTF8 found high surrogate " << - HexString(in_word) << " at end of string"; - return NULL; - } - u_int32_t high_word = in_word; - in_word = *iterator; - if (in_word < 0xdc00 || in_word > 0xdcff) { - BPLOG(ERROR) << "UTF16ToUTF8 found high surrogate " << - HexString(high_word) << " without low " << - HexString(in_word); - return NULL; - } - unichar |= in_word & 0x03ff; - } else { - // The ordinary case, a single non-surrogate Unicode character encoded - // as a single 16-bit value. - unichar = in_word; - } - - // Convert the Unicode code point (unichar) into its UTF-8 representation, - // appending it to the out string. - if (unichar < 0x80) { - (*out) += unichar; - } else if (unichar < 0x800) { - (*out) += 0xc0 | (unichar >> 6); - (*out) += 0x80 | (unichar & 0x3f); - } else if (unichar < 0x10000) { - (*out) += 0xe0 | (unichar >> 12); - (*out) += 0x80 | ((unichar >> 6) & 0x3f); - (*out) += 0x80 | (unichar & 0x3f); - } else if (unichar < 0x200000) { - (*out) += 0xf0 | (unichar >> 18); - (*out) += 0x80 | ((unichar >> 12) & 0x3f); - (*out) += 0x80 | ((unichar >> 6) & 0x3f); - (*out) += 0x80 | (unichar & 0x3f); - } else { - BPLOG(ERROR) << "UTF16ToUTF8 cannot represent high value " << - HexString(unichar) << " in UTF-8"; - return NULL; - } - } - - return out.release(); -} - - -// -// MinidumpObject -// - - -MinidumpObject::MinidumpObject(Minidump* minidump) - : minidump_(minidump), - valid_(false) { -} - - -// -// MinidumpStream -// - - -MinidumpStream::MinidumpStream(Minidump* minidump) - : MinidumpObject(minidump) { -} - - -// -// MinidumpContext -// - - -MinidumpContext::MinidumpContext(Minidump* minidump) - : MinidumpStream(minidump), - context_() { -} - - -MinidumpContext::~MinidumpContext() { - FreeContext(); -} - - -bool MinidumpContext::Read(u_int32_t expected_size) { - valid_ = false; - - FreeContext(); - - // First, figure out what type of CPU this context structure is for. - u_int32_t context_flags; - if (!minidump_->ReadBytes(&context_flags, sizeof(context_flags))) { - BPLOG(ERROR) << "MinidumpContext could not read context flags"; - return false; - } - if (minidump_->swap()) - Swap(&context_flags); - - u_int32_t cpu_type = context_flags & MD_CONTEXT_CPU_MASK; - - // Allocate the context structure for the correct CPU and fill it. The - // casts are slightly unorthodox, but it seems better to do that than to - // maintain a separate pointer for each type of CPU context structure - // when only one of them will be used. - switch (cpu_type) { - case MD_CONTEXT_X86: { - if (expected_size != sizeof(MDRawContextX86)) { - BPLOG(ERROR) << "MinidumpContext x86 size mismatch, " << - expected_size << " != " << sizeof(MDRawContextX86); - return false; - } - - scoped_ptr context_x86(new MDRawContextX86()); - - // Set the context_flags member, which has already been read, and - // read the rest of the structure beginning with the first member - // after context_flags. - context_x86->context_flags = context_flags; - - size_t flags_size = sizeof(context_x86->context_flags); - u_int8_t* context_after_flags = - reinterpret_cast(context_x86.get()) + flags_size; - if (!minidump_->ReadBytes(context_after_flags, - sizeof(MDRawContextX86) - flags_size)) { - BPLOG(ERROR) << "MinidumpContext could not read x86 context"; - return false; - } - - // Do this after reading the entire MDRawContext structure because - // GetSystemInfo may seek minidump to a new position. - if (!CheckAgainstSystemInfo(cpu_type)) { - BPLOG(ERROR) << "MinidumpContext x86 does not match system info"; - return false; - } - - if (minidump_->swap()) { - // context_x86->context_flags was already swapped. - Swap(&context_x86->dr0); - Swap(&context_x86->dr1); - Swap(&context_x86->dr2); - Swap(&context_x86->dr3); - Swap(&context_x86->dr6); - Swap(&context_x86->dr7); - Swap(&context_x86->float_save.control_word); - Swap(&context_x86->float_save.status_word); - Swap(&context_x86->float_save.tag_word); - Swap(&context_x86->float_save.error_offset); - Swap(&context_x86->float_save.error_selector); - Swap(&context_x86->float_save.data_offset); - Swap(&context_x86->float_save.data_selector); - // context_x86->float_save.register_area[] contains 8-bit quantities - // and does not need to be swapped. - Swap(&context_x86->float_save.cr0_npx_state); - Swap(&context_x86->gs); - Swap(&context_x86->fs); - Swap(&context_x86->es); - Swap(&context_x86->ds); - Swap(&context_x86->edi); - Swap(&context_x86->esi); - Swap(&context_x86->ebx); - Swap(&context_x86->edx); - Swap(&context_x86->ecx); - Swap(&context_x86->eax); - Swap(&context_x86->ebp); - Swap(&context_x86->eip); - Swap(&context_x86->cs); - Swap(&context_x86->eflags); - Swap(&context_x86->esp); - Swap(&context_x86->ss); - // context_x86->extended_registers[] contains 8-bit quantities and - // does not need to be swapped. - } - - context_.x86 = context_x86.release(); - - break; - } - - case MD_CONTEXT_PPC: { - if (expected_size != sizeof(MDRawContextPPC)) { - BPLOG(ERROR) << "MinidumpContext ppc size mismatch, " << - expected_size << " != " << sizeof(MDRawContextPPC); - return false; - } - - scoped_ptr context_ppc(new MDRawContextPPC()); - - // Set the context_flags member, which has already been read, and - // read the rest of the structure beginning with the first member - // after context_flags. - context_ppc->context_flags = context_flags; - - size_t flags_size = sizeof(context_ppc->context_flags); - u_int8_t* context_after_flags = - reinterpret_cast(context_ppc.get()) + flags_size; - if (!minidump_->ReadBytes(context_after_flags, - sizeof(MDRawContextPPC) - flags_size)) { - BPLOG(ERROR) << "MinidumpContext could not read ppc context"; - return false; - } - - // Do this after reading the entire MDRawContext structure because - // GetSystemInfo may seek minidump to a new position. - if (!CheckAgainstSystemInfo(cpu_type)) { - BPLOG(ERROR) << "MinidumpContext ppc does not match system info"; - return false; - } - - // Normalize the 128-bit types in the dump. - // Since this is PowerPC, by definition, the values are big-endian. - for (unsigned int vr_index = 0; - vr_index < MD_VECTORSAVEAREA_PPC_VR_COUNT; - ++vr_index) { - Normalize128(&context_ppc->vector_save.save_vr[vr_index], true); - } - - if (minidump_->swap()) { - // context_ppc->context_flags was already swapped. - Swap(&context_ppc->srr0); - Swap(&context_ppc->srr1); - for (unsigned int gpr_index = 0; - gpr_index < MD_CONTEXT_PPC_GPR_COUNT; - ++gpr_index) { - Swap(&context_ppc->gpr[gpr_index]); - } - Swap(&context_ppc->cr); - Swap(&context_ppc->xer); - Swap(&context_ppc->lr); - Swap(&context_ppc->ctr); - Swap(&context_ppc->mq); - Swap(&context_ppc->vrsave); - for (unsigned int fpr_index = 0; - fpr_index < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; - ++fpr_index) { - Swap(&context_ppc->float_save.fpregs[fpr_index]); - } - // Don't swap context_ppc->float_save.fpscr_pad because it is only - // used for padding. - Swap(&context_ppc->float_save.fpscr); - for (unsigned int vr_index = 0; - vr_index < MD_VECTORSAVEAREA_PPC_VR_COUNT; - ++vr_index) { - Swap(&context_ppc->vector_save.save_vr[vr_index]); - } - Swap(&context_ppc->vector_save.save_vscr); - // Don't swap the padding fields in vector_save. - Swap(&context_ppc->vector_save.save_vrvalid); - } - - context_.ppc = context_ppc.release(); - - break; - } - - default: { - // Unknown context type - BPLOG(ERROR) << "MinidumpContext unknown context type " << - HexString(cpu_type); - return false; - break; - } - } - - valid_ = true; - return true; -} - - -u_int32_t MinidumpContext::GetContextCPU() const { - if (!valid_) { - // Don't log a message, GetContextCPU can be legitimately called with - // valid_ false by FreeContext, which is called by Read. - return 0; - } - - return context_.base->context_flags & MD_CONTEXT_CPU_MASK; -} - - -const MDRawContextX86* MinidumpContext::GetContextX86() const { - if (GetContextCPU() != MD_CONTEXT_X86) { - BPLOG(ERROR) << "MinidumpContext cannot get x86 context"; - return NULL; - } - - return context_.x86; -} - - -const MDRawContextPPC* MinidumpContext::GetContextPPC() const { - if (GetContextCPU() != MD_CONTEXT_PPC) { - BPLOG(ERROR) << "MinidumpContext cannot get ppc context"; - return NULL; - } - - return context_.ppc; -} - - -void MinidumpContext::FreeContext() { - switch (GetContextCPU()) { - case MD_CONTEXT_X86: - delete context_.x86; - break; - - case MD_CONTEXT_PPC: - delete context_.ppc; - break; - - default: - // There is no context record (valid_ is false) or there's a - // context record for an unknown CPU (shouldn't happen, only known - // records are stored by Read). - break; - } - - context_.base = NULL; -} - - -bool MinidumpContext::CheckAgainstSystemInfo(u_int32_t context_cpu_type) { - // It's OK if the minidump doesn't contain an MD_SYSTEM_INFO_STREAM, - // as this function just implements a sanity check. - MinidumpSystemInfo* system_info = minidump_->GetSystemInfo(); - if (!system_info) { - BPLOG(INFO) << "MinidumpContext could not be compared against " - "MinidumpSystemInfo"; - return true; - } - - // If there is an MD_SYSTEM_INFO_STREAM, it should contain valid system info. - const MDRawSystemInfo* raw_system_info = system_info->system_info(); - if (!raw_system_info) { - BPLOG(INFO) << "MinidumpContext could not be compared against " - "MDRawSystemInfo"; - return false; - } - - MDCPUArchitecture system_info_cpu_type = static_cast( - raw_system_info->processor_architecture); - - // Compare the CPU type of the context record to the CPU type in the - // minidump's system info stream. - bool return_value = false; - switch (context_cpu_type) { - case MD_CONTEXT_X86: - if (system_info_cpu_type == MD_CPU_ARCHITECTURE_X86 || - system_info_cpu_type == MD_CPU_ARCHITECTURE_X86_WIN64) { - return_value = true; - } - break; - - case MD_CONTEXT_PPC: - if (system_info_cpu_type == MD_CPU_ARCHITECTURE_PPC) - return_value = true; - break; - } - - BPLOG_IF(ERROR, !return_value) << "MinidumpContext CPU " << - HexString(context_cpu_type) << - " wrong for MinidumpSysmtemInfo CPU " << - HexString(system_info_cpu_type); - - return return_value; -} - - -void MinidumpContext::Print() { - if (!valid_) { - BPLOG(ERROR) << "MinidumpContext cannot print invalid data"; - return; - } - - switch (GetContextCPU()) { - case MD_CONTEXT_X86: { - const MDRawContextX86* context_x86 = GetContextX86(); - printf("MDRawContextX86\n"); - printf(" context_flags = 0x%x\n", - context_x86->context_flags); - printf(" dr0 = 0x%x\n", context_x86->dr0); - printf(" dr1 = 0x%x\n", context_x86->dr1); - printf(" dr2 = 0x%x\n", context_x86->dr2); - printf(" dr3 = 0x%x\n", context_x86->dr3); - printf(" dr6 = 0x%x\n", context_x86->dr6); - printf(" dr7 = 0x%x\n", context_x86->dr7); - printf(" float_save.control_word = 0x%x\n", - context_x86->float_save.control_word); - printf(" float_save.status_word = 0x%x\n", - context_x86->float_save.status_word); - printf(" float_save.tag_word = 0x%x\n", - context_x86->float_save.tag_word); - printf(" float_save.error_offset = 0x%x\n", - context_x86->float_save.error_offset); - printf(" float_save.error_selector = 0x%x\n", - context_x86->float_save.error_selector); - printf(" float_save.data_offset = 0x%x\n", - context_x86->float_save.data_offset); - printf(" float_save.data_selector = 0x%x\n", - context_x86->float_save.data_selector); - printf(" float_save.register_area[%2d] = 0x", - MD_FLOATINGSAVEAREA_X86_REGISTERAREA_SIZE); - for (unsigned int register_index = 0; - register_index < MD_FLOATINGSAVEAREA_X86_REGISTERAREA_SIZE; - ++register_index) { - printf("%02x", context_x86->float_save.register_area[register_index]); - } - printf("\n"); - printf(" float_save.cr0_npx_state = 0x%x\n", - context_x86->float_save.cr0_npx_state); - printf(" gs = 0x%x\n", context_x86->gs); - printf(" fs = 0x%x\n", context_x86->fs); - printf(" es = 0x%x\n", context_x86->es); - printf(" ds = 0x%x\n", context_x86->ds); - printf(" edi = 0x%x\n", context_x86->edi); - printf(" esi = 0x%x\n", context_x86->esi); - printf(" ebx = 0x%x\n", context_x86->ebx); - printf(" edx = 0x%x\n", context_x86->edx); - printf(" ecx = 0x%x\n", context_x86->ecx); - printf(" eax = 0x%x\n", context_x86->eax); - printf(" ebp = 0x%x\n", context_x86->ebp); - printf(" eip = 0x%x\n", context_x86->eip); - printf(" cs = 0x%x\n", context_x86->cs); - printf(" eflags = 0x%x\n", context_x86->eflags); - printf(" esp = 0x%x\n", context_x86->esp); - printf(" ss = 0x%x\n", context_x86->ss); - printf(" extended_registers[%3d] = 0x", - MD_CONTEXT_X86_EXTENDED_REGISTERS_SIZE); - for (unsigned int register_index = 0; - register_index < MD_CONTEXT_X86_EXTENDED_REGISTERS_SIZE; - ++register_index) { - printf("%02x", context_x86->extended_registers[register_index]); - } - printf("\n\n"); - - break; - } - - case MD_CONTEXT_PPC: { - const MDRawContextPPC* context_ppc = GetContextPPC(); - printf("MDRawContextPPC\n"); - printf(" context_flags = 0x%x\n", - context_ppc->context_flags); - printf(" srr0 = 0x%x\n", context_ppc->srr0); - printf(" srr1 = 0x%x\n", context_ppc->srr1); - for (unsigned int gpr_index = 0; - gpr_index < MD_CONTEXT_PPC_GPR_COUNT; - ++gpr_index) { - printf(" gpr[%2d] = 0x%x\n", - gpr_index, context_ppc->gpr[gpr_index]); - } - printf(" cr = 0x%x\n", context_ppc->cr); - printf(" xer = 0x%x\n", context_ppc->xer); - printf(" lr = 0x%x\n", context_ppc->lr); - printf(" ctr = 0x%x\n", context_ppc->ctr); - printf(" mq = 0x%x\n", context_ppc->mq); - printf(" vrsave = 0x%x\n", context_ppc->vrsave); - for (unsigned int fpr_index = 0; - fpr_index < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; - ++fpr_index) { - printf(" float_save.fpregs[%2d] = 0x%llx\n", - fpr_index, context_ppc->float_save.fpregs[fpr_index]); - } - printf(" float_save.fpscr = 0x%x\n", - context_ppc->float_save.fpscr); - // TODO(mmentovai): print the 128-bit quantities in - // context_ppc->vector_save. This isn't done yet because printf - // doesn't support 128-bit quantities, and printing them using - // %llx as two 64-bit quantities requires knowledge of the CPU's - // byte ordering. - printf(" vector_save.save_vrvalid = 0x%x\n", - context_ppc->vector_save.save_vrvalid); - printf("\n"); - - break; - } - - default: { - break; - } - } -} - - -// -// MinidumpMemoryRegion -// - - -u_int32_t MinidumpMemoryRegion::max_bytes_ = 1024 * 1024; // 1MB - - -MinidumpMemoryRegion::MinidumpMemoryRegion(Minidump* minidump) - : MinidumpObject(minidump), - descriptor_(NULL), - memory_(NULL) { -} - - -MinidumpMemoryRegion::~MinidumpMemoryRegion() { - delete memory_; -} - - -void MinidumpMemoryRegion::SetDescriptor(MDMemoryDescriptor* descriptor) { - descriptor_ = descriptor; - valid_ = descriptor && - descriptor_->memory.data_size <= - numeric_limits::max() - - descriptor_->start_of_memory_range; -} - - -const u_int8_t* MinidumpMemoryRegion::GetMemory() { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpMemoryRegion for GetMemory"; - return NULL; - } - - if (!memory_) { - if (descriptor_->memory.data_size == 0) { - BPLOG(ERROR) << "MinidumpMemoryRegion is empty"; - return NULL; - } - - if (!minidump_->SeekSet(descriptor_->memory.rva)) { - BPLOG(ERROR) << "MinidumpMemoryRegion could not seek to memory region"; - return NULL; - } - - if (descriptor_->memory.data_size > max_bytes_) { - BPLOG(ERROR) << "MinidumpMemoryRegion size " << - descriptor_->memory.data_size << " exceeds maximum " << - max_bytes_; - return NULL; - } - - scoped_ptr< vector > memory( - new vector(descriptor_->memory.data_size)); - - if (!minidump_->ReadBytes(&(*memory)[0], descriptor_->memory.data_size)) { - BPLOG(ERROR) << "MinidumpMemoryRegion could not read memory region"; - return NULL; - } - - memory_ = memory.release(); - } - - return &(*memory_)[0]; -} - - -u_int64_t MinidumpMemoryRegion::GetBase() { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpMemoryRegion for GetBase"; - return static_cast(-1); - } - - return descriptor_->start_of_memory_range; -} - - -u_int32_t MinidumpMemoryRegion::GetSize() { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpMemoryRegion for GetSize"; - return 0; - } - - return descriptor_->memory.data_size; -} - - -void MinidumpMemoryRegion::FreeMemory() { - delete memory_; - memory_ = NULL; -} - - -template -bool MinidumpMemoryRegion::GetMemoryAtAddressInternal(u_int64_t address, - T* value) { - BPLOG_IF(ERROR, !value) << "MinidumpMemoryRegion::GetMemoryAtAddressInternal " - "requires |value|"; - assert(value); - *value = 0; - - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpMemoryRegion for " - "GetMemoryAtAddressInternal"; - return false; - } - - if (address < descriptor_->start_of_memory_range || - sizeof(T) > numeric_limits::max() - address || - address + sizeof(T) > descriptor_->start_of_memory_range + - descriptor_->memory.data_size) { - BPLOG(ERROR) << "MinidumpMemoryRegion request out of range: " << - HexString(address) << "+" << sizeof(T) << "/" << - HexString(descriptor_->start_of_memory_range) << "+" << - HexString(descriptor_->memory.data_size); - return false; - } - - const u_int8_t* memory = GetMemory(); - if (!memory) { - // GetMemory already logged a perfectly good message. - return false; - } - - // If the CPU requires memory accesses to be aligned, this can crash. - // x86 and ppc are able to cope, though. - *value = *reinterpret_cast( - &memory[address - descriptor_->start_of_memory_range]); - - if (minidump_->swap()) - Swap(value); - - return true; -} - - -bool MinidumpMemoryRegion::GetMemoryAtAddress(u_int64_t address, - u_int8_t* value) { - return GetMemoryAtAddressInternal(address, value); -} - - -bool MinidumpMemoryRegion::GetMemoryAtAddress(u_int64_t address, - u_int16_t* value) { - return GetMemoryAtAddressInternal(address, value); -} - - -bool MinidumpMemoryRegion::GetMemoryAtAddress(u_int64_t address, - u_int32_t* value) { - return GetMemoryAtAddressInternal(address, value); -} - - -bool MinidumpMemoryRegion::GetMemoryAtAddress(u_int64_t address, - u_int64_t* value) { - return GetMemoryAtAddressInternal(address, value); -} - - -void MinidumpMemoryRegion::Print() { - if (!valid_) { - BPLOG(ERROR) << "MinidumpMemoryRegion cannot print invalid data"; - return; - } - - const u_int8_t* memory = GetMemory(); - if (memory) { - printf("0x"); - for (unsigned int byte_index = 0; - byte_index < descriptor_->memory.data_size; - byte_index++) { - printf("%02x", memory[byte_index]); - } - printf("\n"); - } else { - printf("No memory\n"); - } -} - - -// -// MinidumpThread -// - - -MinidumpThread::MinidumpThread(Minidump* minidump) - : MinidumpObject(minidump), - thread_(), - memory_(NULL), - context_(NULL) { -} - - -MinidumpThread::~MinidumpThread() { - delete memory_; - delete context_; -} - - -bool MinidumpThread::Read() { - // Invalidate cached data. - delete memory_; - memory_ = NULL; - delete context_; - context_ = NULL; - - valid_ = false; - - if (!minidump_->ReadBytes(&thread_, sizeof(thread_))) { - BPLOG(ERROR) << "MinidumpThread cannot read thread"; - return false; - } - - if (minidump_->swap()) { - Swap(&thread_.thread_id); - Swap(&thread_.suspend_count); - Swap(&thread_.priority_class); - Swap(&thread_.priority); - Swap(&thread_.teb); - Swap(&thread_.stack); - Swap(&thread_.thread_context); - } - - // Check for base + size overflow or undersize. - if (thread_.stack.memory.data_size == 0 || - thread_.stack.memory.data_size > numeric_limits::max() - - thread_.stack.start_of_memory_range) { - BPLOG(ERROR) << "MinidumpThread has a memory region problem, " << - HexString(thread_.stack.start_of_memory_range) << "+" << - HexString(thread_.stack.memory.data_size); - return false; - } - - memory_ = new MinidumpMemoryRegion(minidump_); - memory_->SetDescriptor(&thread_.stack); - - valid_ = true; - return true; -} - - -MinidumpMemoryRegion* MinidumpThread::GetMemory() { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpThread for GetMemory"; - return NULL; - } - - return memory_; -} - - -MinidumpContext* MinidumpThread::GetContext() { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpThread for GetContext"; - return NULL; - } - - if (!context_) { - if (!minidump_->SeekSet(thread_.thread_context.rva)) { - BPLOG(ERROR) << "MinidumpThread cannot seek to context"; - return NULL; - } - - scoped_ptr context(new MinidumpContext(minidump_)); - - if (!context->Read(thread_.thread_context.data_size)) { - BPLOG(ERROR) << "MinidumpThread cannot read context"; - return NULL; - } - - context_ = context.release(); - } - - return context_; -} - - -bool MinidumpThread::GetThreadID(u_int32_t *thread_id) const { - BPLOG_IF(ERROR, !thread_id) << "MinidumpThread::GetThreadID requires " - "|thread_id|"; - assert(thread_id); - *thread_id = 0; - - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpThread for GetThreadID"; - return false; - } - - *thread_id = thread_.thread_id; - return true; -} - - -void MinidumpThread::Print() { - if (!valid_) { - BPLOG(ERROR) << "MinidumpThread cannot print invalid data"; - return; - } - - printf("MDRawThread\n"); - printf(" thread_id = 0x%x\n", thread_.thread_id); - printf(" suspend_count = %d\n", thread_.suspend_count); - printf(" priority_class = 0x%x\n", thread_.priority_class); - printf(" priority = 0x%x\n", thread_.priority); - printf(" teb = 0x%llx\n", thread_.teb); - printf(" stack.start_of_memory_range = 0x%llx\n", - thread_.stack.start_of_memory_range); - printf(" stack.memory.data_size = 0x%x\n", - thread_.stack.memory.data_size); - printf(" stack.memory.rva = 0x%x\n", thread_.stack.memory.rva); - printf(" thread_context.data_size = 0x%x\n", - thread_.thread_context.data_size); - printf(" thread_context.rva = 0x%x\n", - thread_.thread_context.rva); - - MinidumpContext* context = GetContext(); - if (context) { - printf("\n"); - context->Print(); - } else { - printf(" (no context)\n"); - printf("\n"); - } - - MinidumpMemoryRegion* memory = GetMemory(); - if (memory) { - printf("Stack\n"); - memory->Print(); - } else { - printf("No stack\n"); - } - printf("\n"); -} - - -// -// MinidumpThreadList -// - - -u_int32_t MinidumpThreadList::max_threads_ = 256; - - -MinidumpThreadList::MinidumpThreadList(Minidump* minidump) - : MinidumpStream(minidump), - id_to_thread_map_(), - threads_(NULL), - thread_count_(0) { -} - - -MinidumpThreadList::~MinidumpThreadList() { - delete threads_; -} - - -bool MinidumpThreadList::Read(u_int32_t expected_size) { - // Invalidate cached data. - id_to_thread_map_.clear(); - delete threads_; - threads_ = NULL; - thread_count_ = 0; - - valid_ = false; - - u_int32_t thread_count; - if (expected_size < sizeof(thread_count)) { - BPLOG(ERROR) << "MinidumpThreadList count size mismatch, " << - expected_size << " < " << sizeof(thread_count); - return false; - } - if (!minidump_->ReadBytes(&thread_count, sizeof(thread_count))) { - BPLOG(ERROR) << "MinidumpThreadList cannot read thread count"; - return false; - } - - if (minidump_->swap()) - Swap(&thread_count); - - if (thread_count > numeric_limits::max() / sizeof(MDRawThread)) { - BPLOG(ERROR) << "MinidumpThreadList thread count " << thread_count << - " would cause multiplication overflow"; - return false; - } - - if (expected_size != sizeof(thread_count) + - thread_count * sizeof(MDRawThread)) { - BPLOG(ERROR) << "MinidumpThreadList size mismatch, " << expected_size << - " != " << - sizeof(thread_count) + thread_count * sizeof(MDRawThread); - return false; - } - - if (thread_count > max_threads_) { - BPLOG(ERROR) << "MinidumpThreadList count " << thread_count << - " exceeds maximum " << max_threads_; - return false; - } - - if (thread_count != 0) { - scoped_ptr threads( - new MinidumpThreads(thread_count, MinidumpThread(minidump_))); - - for (unsigned int thread_index = 0; - thread_index < thread_count; - ++thread_index) { - MinidumpThread* thread = &(*threads)[thread_index]; - - // Assume that the file offset is correct after the last read. - if (!thread->Read()) { - BPLOG(ERROR) << "MinidumpThreadList cannot read thread " << - thread_index << "/" << thread_count; - return false; - } - - u_int32_t thread_id; - if (!thread->GetThreadID(&thread_id)) { - BPLOG(ERROR) << "MinidumpThreadList cannot get thread ID for thread " << - thread_index << "/" << thread_count; - return false; - } - - if (GetThreadByID(thread_id)) { - // Another thread with this ID is already in the list. Data error. - BPLOG(ERROR) << "MinidumpThreadList found multiple threads with ID " << - HexString(thread_id) << " at thread " << - thread_index << "/" << thread_count; - return false; - } - id_to_thread_map_[thread_id] = thread; - } - - threads_ = threads.release(); - } - - thread_count_ = thread_count; - - valid_ = true; - return true; -} - - -MinidumpThread* MinidumpThreadList::GetThreadAtIndex(unsigned int index) - const { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpThreadList for GetThreadAtIndex"; - return NULL; - } - - if (index >= thread_count_) { - BPLOG(ERROR) << "MinidumpThreadList index out of range: " << - index << "/" << thread_count_; - return NULL; - } - - return &(*threads_)[index]; -} - - -MinidumpThread* MinidumpThreadList::GetThreadByID(u_int32_t thread_id) { - // Don't check valid_. Read calls this method before everything is - // validated. It is safe to not check valid_ here. - return id_to_thread_map_[thread_id]; -} - - -void MinidumpThreadList::Print() { - if (!valid_) { - BPLOG(ERROR) << "MinidumpThreadList cannot print invalid data"; - return; - } - - printf("MinidumpThreadList\n"); - printf(" thread_count = %d\n", thread_count_); - printf("\n"); - - for (unsigned int thread_index = 0; - thread_index < thread_count_; - ++thread_index) { - printf("thread[%d]\n", thread_index); - - (*threads_)[thread_index].Print(); - } -} - - -// -// MinidumpModule -// - - -u_int32_t MinidumpModule::max_cv_bytes_ = 1024; -u_int32_t MinidumpModule::max_misc_bytes_ = 1024; - - -MinidumpModule::MinidumpModule(Minidump* minidump) - : MinidumpObject(minidump), - module_valid_(false), - module_(), - name_(NULL), - cv_record_(NULL), - cv_record_signature_(MD_CVINFOUNKNOWN_SIGNATURE), - misc_record_(NULL) { -} - - -MinidumpModule::~MinidumpModule() { - delete name_; - delete cv_record_; - delete misc_record_; -} - - -bool MinidumpModule::Read() { - // Invalidate cached data. - delete name_; - name_ = NULL; - delete cv_record_; - cv_record_ = NULL; - cv_record_signature_ = MD_CVINFOUNKNOWN_SIGNATURE; - delete misc_record_; - misc_record_ = NULL; - - module_valid_ = false; - valid_ = false; - - if (!minidump_->ReadBytes(&module_, MD_MODULE_SIZE)) { - BPLOG(ERROR) << "MinidumpModule cannot read module"; - return false; - } - - if (minidump_->swap()) { - Swap(&module_.base_of_image); - Swap(&module_.size_of_image); - Swap(&module_.checksum); - Swap(&module_.time_date_stamp); - Swap(&module_.module_name_rva); - Swap(&module_.version_info.signature); - Swap(&module_.version_info.struct_version); - Swap(&module_.version_info.file_version_hi); - Swap(&module_.version_info.file_version_lo); - Swap(&module_.version_info.product_version_hi); - Swap(&module_.version_info.product_version_lo); - Swap(&module_.version_info.file_flags_mask); - Swap(&module_.version_info.file_flags); - Swap(&module_.version_info.file_os); - Swap(&module_.version_info.file_type); - Swap(&module_.version_info.file_subtype); - Swap(&module_.version_info.file_date_hi); - Swap(&module_.version_info.file_date_lo); - Swap(&module_.cv_record); - Swap(&module_.misc_record); - // Don't swap reserved fields because their contents are unknown (as - // are their proper widths). - } - - // Check for base + size overflow or undersize. - if (module_.size_of_image == 0 || - module_.size_of_image > - numeric_limits::max() - module_.base_of_image) { - BPLOG(ERROR) << "MinidumpModule has a module problem, " << - HexString(module_.base_of_image) << "+" << - HexString(module_.size_of_image); - return false; - } - - module_valid_ = true; - return true; -} - - -bool MinidumpModule::ReadAuxiliaryData() { - if (!module_valid_) { - BPLOG(ERROR) << "Invalid MinidumpModule for ReadAuxiliaryData"; - return false; - } - - // Each module must have a name. - name_ = minidump_->ReadString(module_.module_name_rva); - if (!name_) { - BPLOG(ERROR) << "MinidumpModule could not read name"; - return false; - } - - // CodeView and miscellaneous debug records are only required if the - // module indicates that they exist. - if (module_.cv_record.data_size && !GetCVRecord(NULL)) { - BPLOG(ERROR) << "MinidumpModule has no CodeView record, " - "but one was expected"; - return false; - } - - if (module_.misc_record.data_size && !GetMiscRecord(NULL)) { - BPLOG(ERROR) << "MinidumpModule has no miscellaneous debug record, " - "but one was expected"; - return false; - } - - valid_ = true; - return true; -} - - -string MinidumpModule::code_file() const { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpModule for code_file"; - return ""; - } - - return *name_; -} - - -string MinidumpModule::code_identifier() const { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpModule for code_identifier"; - return ""; - } - - MinidumpSystemInfo *minidump_system_info = minidump_->GetSystemInfo(); - if (!minidump_system_info) { - BPLOG(ERROR) << "MinidumpModule code_identifier requires " - "MinidumpSystemInfo"; - return ""; - } - - const MDRawSystemInfo *raw_system_info = minidump_system_info->system_info(); - if (!raw_system_info) { - BPLOG(ERROR) << "MinidumpModule code_identifier requires MDRawSystemInfo"; - return ""; - } - - string identifier; - - switch (raw_system_info->platform_id) { - case MD_OS_WIN32_NT: - case MD_OS_WIN32_WINDOWS: { - // Use the same format that the MS symbol server uses in filesystem - // hierarchies. - char identifier_string[17]; - snprintf(identifier_string, sizeof(identifier_string), "%08X%x", - module_.time_date_stamp, module_.size_of_image); - identifier = identifier_string; - break; - } - - case MD_OS_MAC_OS_X: - case MD_OS_LINUX: { - // TODO(mmentovai): support uuid extension if present, otherwise fall - // back to version (from LC_ID_DYLIB?), otherwise fall back to something - // else. - identifier = "id"; - break; - } - - default: { - // Without knowing what OS generated the dump, we can't generate a good - // identifier. Return an empty string, signalling failure. - BPLOG(ERROR) << "MinidumpModule code_identifier requires known platform, " - "found " << HexString(raw_system_info->platform_id); - break; - } - } - - return identifier; -} - - -string MinidumpModule::debug_file() const { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpModule for debug_file"; - return ""; - } - - string file; - // Prefer the CodeView record if present. - if (cv_record_) { - if (cv_record_signature_ == MD_CVINFOPDB70_SIGNATURE) { - // It's actually an MDCVInfoPDB70 structure. - const MDCVInfoPDB70* cv_record_70 = - reinterpret_cast(&(*cv_record_)[0]); - assert(cv_record_70->cv_signature == MD_CVINFOPDB70_SIGNATURE); - - // GetCVRecord guarantees pdb_file_name is null-terminated. - file = reinterpret_cast(cv_record_70->pdb_file_name); - } else if (cv_record_signature_ == MD_CVINFOPDB20_SIGNATURE) { - // It's actually an MDCVInfoPDB20 structure. - const MDCVInfoPDB20* cv_record_20 = - reinterpret_cast(&(*cv_record_)[0]); - assert(cv_record_20->cv_header.signature == MD_CVINFOPDB20_SIGNATURE); - - // GetCVRecord guarantees pdb_file_name is null-terminated. - file = reinterpret_cast(cv_record_20->pdb_file_name); - } - - // If there's a CodeView record but it doesn't match a known signature, - // try the miscellaneous record. - } - - if (file.empty()) { - // No usable CodeView record. Try the miscellaneous debug record. - if (misc_record_) { - const MDImageDebugMisc* misc_record = - reinterpret_cast(&(*misc_record_)[0]); - if (!misc_record->unicode) { - // If it's not Unicode, just stuff it into the string. It's unclear - // if misc_record->data is 0-terminated, so use an explicit size. - file = string( - reinterpret_cast(misc_record->data), - module_.misc_record.data_size - MDImageDebugMisc_minsize); - } else { - // There's a misc_record but it encodes the debug filename in UTF-16. - // (Actually, because miscellaneous records are so old, it's probably - // UCS-2.) Convert it to UTF-8 for congruity with the other strings - // that this method (and all other methods in the Minidump family) - // return. - - unsigned int bytes = - module_.misc_record.data_size - MDImageDebugMisc_minsize; - if (bytes % 2 == 0) { - unsigned int utf16_words = bytes / 2; - - // UTF16ToUTF8 expects a vector, so create a temporary one - // and copy the UTF-16 data into it. - vector string_utf16(utf16_words); - if (utf16_words) - memcpy(&string_utf16[0], &misc_record->data, bytes); - - // GetMiscRecord already byte-swapped the data[] field if it contains - // UTF-16, so pass false as the swap argument. - scoped_ptr new_file(UTF16ToUTF8(string_utf16, false)); - file = *new_file; - } - } - } - } - - BPLOG_IF(ERROR, file.empty()) << "MinidumpModule could not determine " - "debug_file for " << *name_; - - return file; -} - - -string MinidumpModule::debug_identifier() const { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpModule for debug_identifier"; - return ""; - } - - string identifier; - - // Use the CodeView record if present. - if (cv_record_) { - if (cv_record_signature_ == MD_CVINFOPDB70_SIGNATURE) { - // It's actually an MDCVInfoPDB70 structure. - const MDCVInfoPDB70* cv_record_70 = - reinterpret_cast(&(*cv_record_)[0]); - assert(cv_record_70->cv_signature == MD_CVINFOPDB70_SIGNATURE); - - // Use the same format that the MS symbol server uses in filesystem - // hierarchies. - char identifier_string[41]; - snprintf(identifier_string, sizeof(identifier_string), - "%08X%04X%04X%02X%02X%02X%02X%02X%02X%02X%02X%x", - cv_record_70->signature.data1, - cv_record_70->signature.data2, - cv_record_70->signature.data3, - cv_record_70->signature.data4[0], - cv_record_70->signature.data4[1], - cv_record_70->signature.data4[2], - cv_record_70->signature.data4[3], - cv_record_70->signature.data4[4], - cv_record_70->signature.data4[5], - cv_record_70->signature.data4[6], - cv_record_70->signature.data4[7], - cv_record_70->age); - identifier = identifier_string; - } else if (cv_record_signature_ == MD_CVINFOPDB20_SIGNATURE) { - // It's actually an MDCVInfoPDB20 structure. - const MDCVInfoPDB20* cv_record_20 = - reinterpret_cast(&(*cv_record_)[0]); - assert(cv_record_20->cv_header.signature == MD_CVINFOPDB20_SIGNATURE); - - // Use the same format that the MS symbol server uses in filesystem - // hierarchies. - char identifier_string[17]; - snprintf(identifier_string, sizeof(identifier_string), - "%08X%x", cv_record_20->signature, cv_record_20->age); - identifier = identifier_string; - } - } - - // TODO(mmentovai): if there's no usable CodeView record, there might be a - // miscellaneous debug record. It only carries a filename, though, and no - // identifier. I'm not sure what the right thing to do for the identifier - // is in that case, but I don't expect to find many modules without a - // CodeView record (or some other Breakpad extension structure in place of - // a CodeView record). Treat it as an error (empty identifier) for now. - - // TODO(mmentovai): on the Mac, provide fallbacks as in code_identifier(). - - BPLOG_IF(ERROR, identifier.empty()) << "MinidumpModule could not determine " - "debug_identifier for " << *name_; - - return identifier; -} - - -string MinidumpModule::version() const { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpModule for version"; - return ""; - } - - string version; - - if (module_.version_info.signature == MD_VSFIXEDFILEINFO_SIGNATURE && - module_.version_info.struct_version & MD_VSFIXEDFILEINFO_VERSION) { - char version_string[24]; - snprintf(version_string, sizeof(version_string), "%u.%u.%u.%u", - module_.version_info.file_version_hi >> 16, - module_.version_info.file_version_hi & 0xffff, - module_.version_info.file_version_lo >> 16, - module_.version_info.file_version_lo & 0xffff); - version = version_string; - } - - // TODO(mmentovai): possibly support other struct types in place of - // the one used with MD_VSFIXEDFILEINFO_SIGNATURE. We can possibly use - // a different structure that better represents versioning facilities on - // Mac OS X and Linux, instead of forcing them to adhere to the dotted - // quad of 16-bit ints that Windows uses. - - BPLOG_IF(INFO, version.empty()) << "MinidumpModule could not determine " - "version for " << *name_; - - return version; -} - - -const CodeModule* MinidumpModule::Copy() const { - return new BasicCodeModule(this); -} - - -const u_int8_t* MinidumpModule::GetCVRecord(u_int32_t* size) { - if (!module_valid_) { - BPLOG(ERROR) << "Invalid MinidumpModule for GetCVRecord"; - return NULL; - } - - if (!cv_record_) { - // This just guards against 0-sized CodeView records; more specific checks - // are used when the signature is checked against various structure types. - if (module_.cv_record.data_size == 0) { - return NULL; - } - - if (!minidump_->SeekSet(module_.cv_record.rva)) { - BPLOG(ERROR) << "MinidumpModule could not seek to CodeView record"; - return NULL; - } - - if (module_.cv_record.data_size > max_cv_bytes_) { - BPLOG(ERROR) << "MinidumpModule CodeView record size " << - module_.cv_record.data_size << " exceeds maximum " << - max_cv_bytes_; - return NULL; - } - - // Allocating something that will be accessed as MDCVInfoPDB70 or - // MDCVInfoPDB20 but is allocated as u_int8_t[] can cause alignment - // problems. x86 and ppc are able to cope, though. This allocation - // style is needed because the MDCVInfoPDB70 or MDCVInfoPDB20 are - // variable-sized due to their pdb_file_name fields; these structures - // are not MDCVInfoPDB70_minsize or MDCVInfoPDB20_minsize and treating - // them as such would result in incomplete structures or overruns. - scoped_ptr< vector > cv_record( - new vector(module_.cv_record.data_size)); - - if (!minidump_->ReadBytes(&(*cv_record)[0], module_.cv_record.data_size)) { - BPLOG(ERROR) << "MinidumpModule could not read CodeView record"; - return NULL; - } - - u_int32_t signature = MD_CVINFOUNKNOWN_SIGNATURE; - if (module_.cv_record.data_size > sizeof(signature)) { - MDCVInfoPDB70* cv_record_signature = - reinterpret_cast(&(*cv_record)[0]); - signature = cv_record_signature->cv_signature; - if (minidump_->swap()) - Swap(&signature); - } - - if (signature == MD_CVINFOPDB70_SIGNATURE) { - // Now that the structure type is known, recheck the size. - if (MDCVInfoPDB70_minsize > module_.cv_record.data_size) { - BPLOG(ERROR) << "MinidumpModule CodeView7 record size mismatch, " << - MDCVInfoPDB70_minsize << " > " << - module_.cv_record.data_size; - return NULL; - } - - if (minidump_->swap()) { - MDCVInfoPDB70* cv_record_70 = - reinterpret_cast(&(*cv_record)[0]); - Swap(&cv_record_70->cv_signature); - Swap(&cv_record_70->signature); - Swap(&cv_record_70->age); - // Don't swap cv_record_70.pdb_file_name because it's an array of 8-bit - // quantities. (It's a path, is it UTF-8?) - } - - // The last field of either structure is null-terminated 8-bit character - // data. Ensure that it's null-terminated. - if ((*cv_record)[module_.cv_record.data_size - 1] != '\0') { - BPLOG(ERROR) << "MinidumpModule CodeView7 record string is not " - "0-terminated"; - return NULL; - } - } else if (signature == MD_CVINFOPDB20_SIGNATURE) { - // Now that the structure type is known, recheck the size. - if (MDCVInfoPDB20_minsize > module_.cv_record.data_size) { - BPLOG(ERROR) << "MinidumpModule CodeView2 record size mismatch, " << - MDCVInfoPDB20_minsize << " > " << - module_.cv_record.data_size; - return NULL; - } - if (minidump_->swap()) { - MDCVInfoPDB20* cv_record_20 = - reinterpret_cast(&(*cv_record)[0]); - Swap(&cv_record_20->cv_header.signature); - Swap(&cv_record_20->cv_header.offset); - Swap(&cv_record_20->signature); - Swap(&cv_record_20->age); - // Don't swap cv_record_20.pdb_file_name because it's an array of 8-bit - // quantities. (It's a path, is it UTF-8?) - } - - // The last field of either structure is null-terminated 8-bit character - // data. Ensure that it's null-terminated. - if ((*cv_record)[module_.cv_record.data_size - 1] != '\0') { - BPLOG(ERROR) << "MindumpModule CodeView2 record string is not " - "0-terminated"; - return NULL; - } - } - - // If the signature doesn't match something above, it's not something - // that Breakpad can presently handle directly. Because some modules in - // the wild contain such CodeView records as MD_CVINFOCV50_SIGNATURE, - // don't bail out here - allow the data to be returned to the user, - // although byte-swapping can't be done. - - // Store the vector type because that's how storage was allocated, but - // return it casted to u_int8_t*. - cv_record_ = cv_record.release(); - cv_record_signature_ = signature; - } - - if (size) - *size = module_.cv_record.data_size; - - return &(*cv_record_)[0]; -} - - -const MDImageDebugMisc* MinidumpModule::GetMiscRecord(u_int32_t* size) { - if (!module_valid_) { - BPLOG(ERROR) << "Invalid MinidumpModule for GetMiscRecord"; - return NULL; - } - - if (!misc_record_) { - if (module_.misc_record.data_size == 0) { - return NULL; - } - - if (MDImageDebugMisc_minsize > module_.misc_record.data_size) { - BPLOG(ERROR) << "MinidumpModule miscellaneous debugging record " - "size mismatch, " << MDImageDebugMisc_minsize << " > " << - module_.misc_record.data_size; - return NULL; - } - - if (!minidump_->SeekSet(module_.misc_record.rva)) { - BPLOG(ERROR) << "MinidumpModule could not seek to miscellaneous " - "debugging record"; - return NULL; - } - - if (module_.misc_record.data_size > max_misc_bytes_) { - BPLOG(ERROR) << "MinidumpModule miscellaneous debugging record size " << - module_.misc_record.data_size << " exceeds maximum " << - max_misc_bytes_; - return NULL; - } - - // Allocating something that will be accessed as MDImageDebugMisc but - // is allocated as u_int8_t[] can cause alignment problems. x86 and - // ppc are able to cope, though. This allocation style is needed - // because the MDImageDebugMisc is variable-sized due to its data field; - // this structure is not MDImageDebugMisc_minsize and treating it as such - // would result in an incomplete structure or an overrun. - scoped_ptr< vector > misc_record_mem( - new vector(module_.misc_record.data_size)); - MDImageDebugMisc* misc_record = - reinterpret_cast(&(*misc_record_mem)[0]); - - if (!minidump_->ReadBytes(misc_record, module_.misc_record.data_size)) { - BPLOG(ERROR) << "MinidumpModule could not read miscellaneous debugging " - "record"; - return NULL; - } - - if (minidump_->swap()) { - Swap(&misc_record->data_type); - Swap(&misc_record->length); - // Don't swap misc_record.unicode because it's an 8-bit quantity. - // Don't swap the reserved fields for the same reason, and because - // they don't contain any valid data. - if (misc_record->unicode) { - // There is a potential alignment problem, but shouldn't be a problem - // in practice due to the layout of MDImageDebugMisc. - u_int16_t* data16 = reinterpret_cast(&(misc_record->data)); - unsigned int dataBytes = module_.misc_record.data_size - - MDImageDebugMisc_minsize; - unsigned int dataLength = dataBytes / 2; - for (unsigned int characterIndex = 0; - characterIndex < dataLength; - ++characterIndex) { - Swap(&data16[characterIndex]); - } - } - } - - if (module_.misc_record.data_size != misc_record->length) { - BPLOG(ERROR) << "MinidumpModule miscellaneous debugging record data " - "size mismatch, " << module_.misc_record.data_size << - " != " << misc_record->length; - return NULL; - } - - // Store the vector type because that's how storage was allocated, but - // return it casted to MDImageDebugMisc*. - misc_record_ = misc_record_mem.release(); - } - - if (size) - *size = module_.misc_record.data_size; - - return reinterpret_cast(&(*misc_record_)[0]); -} - - -void MinidumpModule::Print() { - if (!valid_) { - BPLOG(ERROR) << "MinidumpModule cannot print invalid data"; - return; - } - - printf("MDRawModule\n"); - printf(" base_of_image = 0x%llx\n", - module_.base_of_image); - printf(" size_of_image = 0x%x\n", - module_.size_of_image); - printf(" checksum = 0x%x\n", - module_.checksum); - printf(" time_date_stamp = 0x%x\n", - module_.time_date_stamp); - printf(" module_name_rva = 0x%x\n", - module_.module_name_rva); - printf(" version_info.signature = 0x%x\n", - module_.version_info.signature); - printf(" version_info.struct_version = 0x%x\n", - module_.version_info.struct_version); - printf(" version_info.file_version = 0x%x:0x%x\n", - module_.version_info.file_version_hi, - module_.version_info.file_version_lo); - printf(" version_info.product_version = 0x%x:0x%x\n", - module_.version_info.product_version_hi, - module_.version_info.product_version_lo); - printf(" version_info.file_flags_mask = 0x%x\n", - module_.version_info.file_flags_mask); - printf(" version_info.file_flags = 0x%x\n", - module_.version_info.file_flags); - printf(" version_info.file_os = 0x%x\n", - module_.version_info.file_os); - printf(" version_info.file_type = 0x%x\n", - module_.version_info.file_type); - printf(" version_info.file_subtype = 0x%x\n", - module_.version_info.file_subtype); - printf(" version_info.file_date = 0x%x:0x%x\n", - module_.version_info.file_date_hi, - module_.version_info.file_date_lo); - printf(" cv_record.data_size = %d\n", - module_.cv_record.data_size); - printf(" cv_record.rva = 0x%x\n", - module_.cv_record.rva); - printf(" misc_record.data_size = %d\n", - module_.misc_record.data_size); - printf(" misc_record.rva = 0x%x\n", - module_.misc_record.rva); - - printf(" (code_file) = \"%s\"\n", code_file().c_str()); - printf(" (code_identifier) = \"%s\"\n", - code_identifier().c_str()); - - u_int32_t cv_record_size; - const u_int8_t *cv_record = GetCVRecord(&cv_record_size); - if (cv_record) { - if (cv_record_signature_ == MD_CVINFOPDB70_SIGNATURE) { - const MDCVInfoPDB70* cv_record_70 = - reinterpret_cast(cv_record); - assert(cv_record_70->cv_signature == MD_CVINFOPDB70_SIGNATURE); - - printf(" (cv_record).cv_signature = 0x%x\n", - cv_record_70->cv_signature); - printf(" (cv_record).signature = %08x-%04x-%04x-%02x%02x-", - cv_record_70->signature.data1, - cv_record_70->signature.data2, - cv_record_70->signature.data3, - cv_record_70->signature.data4[0], - cv_record_70->signature.data4[1]); - for (unsigned int guidIndex = 2; - guidIndex < 8; - ++guidIndex) { - printf("%02x", cv_record_70->signature.data4[guidIndex]); - } - printf("\n"); - printf(" (cv_record).age = %d\n", - cv_record_70->age); - printf(" (cv_record).pdb_file_name = \"%s\"\n", - cv_record_70->pdb_file_name); - } else if (cv_record_signature_ == MD_CVINFOPDB20_SIGNATURE) { - const MDCVInfoPDB20* cv_record_20 = - reinterpret_cast(cv_record); - assert(cv_record_20->cv_header.signature == MD_CVINFOPDB20_SIGNATURE); - - printf(" (cv_record).cv_header.signature = 0x%x\n", - cv_record_20->cv_header.signature); - printf(" (cv_record).cv_header.offset = 0x%x\n", - cv_record_20->cv_header.offset); - printf(" (cv_record).signature = 0x%x\n", - cv_record_20->signature); - printf(" (cv_record).age = %d\n", - cv_record_20->age); - printf(" (cv_record).pdb_file_name = \"%s\"\n", - cv_record_20->pdb_file_name); - } else { - printf(" (cv_record) = "); - for (unsigned int cv_byte_index = 0; - cv_byte_index < cv_record_size; - ++cv_byte_index) { - printf("%02x", cv_record[cv_byte_index]); - } - printf("\n"); - } - } else { - printf(" (cv_record) = (null)\n"); - } - - const MDImageDebugMisc* misc_record = GetMiscRecord(NULL); - if (misc_record) { - printf(" (misc_record).data_type = 0x%x\n", - misc_record->data_type); - printf(" (misc_record).length = 0x%x\n", - misc_record->length); - printf(" (misc_record).unicode = %d\n", - misc_record->unicode); - // Don't bother printing the UTF-16, we don't really even expect to ever - // see this misc_record anyway. - if (misc_record->unicode) - printf(" (misc_record).data = \"%s\"\n", - misc_record->data); - else - printf(" (misc_record).data = (UTF-16)\n"); - } else { - printf(" (misc_record) = (null)\n"); - } - - printf(" (debug_file) = \"%s\"\n", debug_file().c_str()); - printf(" (debug_identifier) = \"%s\"\n", - debug_identifier().c_str()); - printf(" (version) = \"%s\"\n", version().c_str()); - printf("\n"); -} - - -// -// MinidumpModuleList -// - - -u_int32_t MinidumpModuleList::max_modules_ = 1024; - - -MinidumpModuleList::MinidumpModuleList(Minidump* minidump) - : MinidumpStream(minidump), - range_map_(new RangeMap()), - modules_(NULL), - module_count_(0) { -} - - -MinidumpModuleList::~MinidumpModuleList() { - delete range_map_; - delete modules_; -} - - -bool MinidumpModuleList::Read(u_int32_t expected_size) { - // Invalidate cached data. - range_map_->Clear(); - delete modules_; - modules_ = NULL; - module_count_ = 0; - - valid_ = false; - - u_int32_t module_count; - if (expected_size < sizeof(module_count)) { - BPLOG(ERROR) << "MinidumpModuleList count size mismatch, " << - expected_size << " < " << sizeof(module_count); - return false; - } - if (!minidump_->ReadBytes(&module_count, sizeof(module_count))) { - BPLOG(ERROR) << "MinidumpModuleList could not read module count"; - return false; - } - - if (minidump_->swap()) - Swap(&module_count); - - if (module_count > numeric_limits::max() / MD_MODULE_SIZE) { - BPLOG(ERROR) << "MinidumpModuleList module count " << module_count << - " would cause multiplication overflow"; - return false; - } - - if (expected_size != sizeof(module_count) + - module_count * MD_MODULE_SIZE) { - BPLOG(ERROR) << "MinidumpModuleList size mismatch, " << expected_size << - " != " << - sizeof(module_count) + module_count * MD_MODULE_SIZE; - return false; - } - - if (module_count > max_modules_) { - BPLOG(ERROR) << "MinidumpModuleList count " << module_count_ << - " exceeds maximum " << max_modules_; - return false; - } - - if (module_count != 0) { - scoped_ptr modules( - new MinidumpModules(module_count, MinidumpModule(minidump_))); - - for (unsigned int module_index = 0; - module_index < module_count; - ++module_index) { - MinidumpModule* module = &(*modules)[module_index]; - - // Assume that the file offset is correct after the last read. - if (!module->Read()) { - BPLOG(ERROR) << "MinidumpModuleList could not read module " << - module_index << "/" << module_count; - return false; - } - } - - // Loop through the module list once more to read additional data and - // build the range map. This is done in a second pass because - // MinidumpModule::ReadAuxiliaryData seeks around, and if it were - // included in the loop above, additional seeks would be needed where - // none are now to read contiguous data. - for (unsigned int module_index = 0; - module_index < module_count; - ++module_index) { - MinidumpModule* module = &(*modules)[module_index]; - - if (!module->ReadAuxiliaryData()) { - BPLOG(ERROR) << "MinidumpModuleList could not read module auxiliary " - "data for module " << - module_index << "/" << module_count; - return false; - } - - // It is safe to use module->code_file() after successfully calling - // module->ReadAuxiliaryData. - - u_int64_t base_address = module->base_address(); - u_int64_t module_size = module->size(); - if (base_address == static_cast(-1)) { - BPLOG(ERROR) << "MinidumpModuleList found bad base address " - "for module " << module_index << "/" << module_count << - ", " << module->code_file(); - return false; - } - - if (!range_map_->StoreRange(base_address, module_size, module_index)) { - BPLOG(ERROR) << "MinidumpModuleList could not store module " << - module_index << "/" << module_count << ", " << - module->code_file() << ", " << - HexString(base_address) << "+" << - HexString(module_size); - return false; - } - } - - modules_ = modules.release(); - } - - module_count_ = module_count; - - valid_ = true; - return true; -} - - -const MinidumpModule* MinidumpModuleList::GetModuleForAddress( - u_int64_t address) const { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpModuleList for GetModuleForAddress"; - return NULL; - } - - unsigned int module_index; - if (!range_map_->RetrieveRange(address, &module_index, NULL, NULL)) { - BPLOG(INFO) << "MinidumpModuleList has no module at " << - HexString(address); - return NULL; - } - - return GetModuleAtIndex(module_index); -} - - -const MinidumpModule* MinidumpModuleList::GetMainModule() const { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpModuleList for GetMainModule"; - return NULL; - } - - // The main code module is the first one present in a minidump file's - // MDRawModuleList. - return GetModuleAtSequence(0); -} - - -const MinidumpModule* MinidumpModuleList::GetModuleAtSequence( - unsigned int sequence) const { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpModuleList for GetModuleAtSequence"; - return NULL; - } - - if (sequence >= module_count_) { - BPLOG(ERROR) << "MinidumpModuleList sequence out of range: " << - sequence << "/" << module_count_; - return NULL; - } - - unsigned int module_index; - if (!range_map_->RetrieveRangeAtIndex(sequence, &module_index, NULL, NULL)) { - BPLOG(ERROR) << "MinidumpModuleList has no module at sequence " << sequence; - return NULL; - } - - return GetModuleAtIndex(module_index); -} - - -const MinidumpModule* MinidumpModuleList::GetModuleAtIndex( - unsigned int index) const { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpModuleList for GetModuleAtIndex"; - return NULL; - } - - if (index >= module_count_) { - BPLOG(ERROR) << "MinidumpModuleList index out of range: " << - index << "/" << module_count_; - return NULL; - } - - return &(*modules_)[index]; -} - - -const CodeModules* MinidumpModuleList::Copy() const { - return new BasicCodeModules(this); -} - - -void MinidumpModuleList::Print() { - if (!valid_) { - BPLOG(ERROR) << "MinidumpModuleList cannot print invalid data"; - return; - } - - printf("MinidumpModuleList\n"); - printf(" module_count = %d\n", module_count_); - printf("\n"); - - for (unsigned int module_index = 0; - module_index < module_count_; - ++module_index) { - printf("module[%d]\n", module_index); - - (*modules_)[module_index].Print(); - } -} - - -// -// MinidumpMemoryList -// - - -u_int32_t MinidumpMemoryList::max_regions_ = 256; - - -MinidumpMemoryList::MinidumpMemoryList(Minidump* minidump) - : MinidumpStream(minidump), - range_map_(new RangeMap()), - descriptors_(NULL), - regions_(NULL), - region_count_(0) { -} - - -MinidumpMemoryList::~MinidumpMemoryList() { - delete range_map_; - delete descriptors_; - delete regions_; -} - - -bool MinidumpMemoryList::Read(u_int32_t expected_size) { - // Invalidate cached data. - delete descriptors_; - descriptors_ = NULL; - delete regions_; - regions_ = NULL; - range_map_->Clear(); - region_count_ = 0; - - valid_ = false; - - u_int32_t region_count; - if (expected_size < sizeof(region_count)) { - BPLOG(ERROR) << "MinidumpMemoryList count size mismatch, " << - expected_size << " < " << sizeof(region_count); - return false; - } - if (!minidump_->ReadBytes(®ion_count, sizeof(region_count))) { - BPLOG(ERROR) << "MinidumpMemoryList could not read memory region count"; - return false; - } - - if (minidump_->swap()) - Swap(®ion_count); - - if (region_count > - numeric_limits::max() / sizeof(MDMemoryDescriptor)) { - BPLOG(ERROR) << "MinidumpMemoryList region count " << region_count << - " would cause multiplication overflow"; - return false; - } - - if (expected_size != sizeof(region_count) + - region_count * sizeof(MDMemoryDescriptor)) { - BPLOG(ERROR) << "MinidumpMemoryList size mismatch, " << expected_size << - " != " << region_count * sizeof(MDMemoryDescriptor); - return false; - } - - if (region_count > max_regions_) { - BPLOG(ERROR) << "MinidumpMemoryList count " << region_count << - " exceeds maximum " << max_regions_; - return false; - } - - if (region_count != 0) { - scoped_ptr descriptors( - new MemoryDescriptors(region_count)); - - // Read the entire array in one fell swoop, instead of reading one entry - // at a time in the loop. - if (!minidump_->ReadBytes(&(*descriptors)[0], - sizeof(MDMemoryDescriptor) * region_count)) { - BPLOG(ERROR) << "MinidumpMemoryList could not read memory region list"; - return false; - } - - scoped_ptr regions( - new MemoryRegions(region_count, MinidumpMemoryRegion(minidump_))); - - for (unsigned int region_index = 0; - region_index < region_count; - ++region_index) { - MDMemoryDescriptor* descriptor = &(*descriptors)[region_index]; - - if (minidump_->swap()) - Swap(descriptor); - - u_int64_t base_address = descriptor->start_of_memory_range; - u_int32_t region_size = descriptor->memory.data_size; - - // Check for base + size overflow or undersize. - if (region_size == 0 || - region_size > numeric_limits::max() - base_address) { - BPLOG(ERROR) << "MinidumpMemoryList has a memory region problem, " << - " region " << region_index << "/" << region_count << - ", " << HexString(base_address) << "+" << - HexString(region_size); - return false; - } - - if (!range_map_->StoreRange(base_address, region_size, region_index)) { - BPLOG(ERROR) << "MinidumpMemoryList could not store memory region " << - region_index << "/" << region_count << ", " << - HexString(base_address) << "+" << - HexString(region_size); - return false; - } - - (*regions)[region_index].SetDescriptor(descriptor); - } - - descriptors_ = descriptors.release(); - regions_ = regions.release(); - } - - region_count_ = region_count; - - valid_ = true; - return true; -} - - -MinidumpMemoryRegion* MinidumpMemoryList::GetMemoryRegionAtIndex( - unsigned int index) { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpMemoryList for GetMemoryRegionAtIndex"; - return NULL; - } - - if (index >= region_count_) { - BPLOG(ERROR) << "MinidumpMemoryList index out of range: " << - index << "/" << region_count_; - return NULL; - } - - return &(*regions_)[index]; -} - - -MinidumpMemoryRegion* MinidumpMemoryList::GetMemoryRegionForAddress( - u_int64_t address) { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpMemoryList for GetMemoryRegionForAddress"; - return NULL; - } - - unsigned int region_index; - if (!range_map_->RetrieveRange(address, ®ion_index, NULL, NULL)) { - BPLOG(INFO) << "MinidumpMemoryList has no memory region at " << - HexString(address); - return NULL; - } - - return GetMemoryRegionAtIndex(region_index); -} - - -void MinidumpMemoryList::Print() { - if (!valid_) { - BPLOG(ERROR) << "MinidumpMemoryList cannot print invalid data"; - return; - } - - printf("MinidumpMemoryList\n"); - printf(" region_count = %d\n", region_count_); - printf("\n"); - - for (unsigned int region_index = 0; - region_index < region_count_; - ++region_index) { - MDMemoryDescriptor* descriptor = &(*descriptors_)[region_index]; - printf("region[%d]\n", region_index); - printf("MDMemoryDescriptor\n"); - printf(" start_of_memory_range = 0x%llx\n", - descriptor->start_of_memory_range); - printf(" memory.data_size = 0x%x\n", descriptor->memory.data_size); - printf(" memory.rva = 0x%x\n", descriptor->memory.rva); - MinidumpMemoryRegion* region = GetMemoryRegionAtIndex(region_index); - if (region) { - printf("Memory\n"); - region->Print(); - } else { - printf("No memory\n"); - } - printf("\n"); - } -} - - -// -// MinidumpException -// - - -MinidumpException::MinidumpException(Minidump* minidump) - : MinidumpStream(minidump), - exception_(), - context_(NULL) { -} - - -MinidumpException::~MinidumpException() { - delete context_; -} - - -bool MinidumpException::Read(u_int32_t expected_size) { - // Invalidate cached data. - delete context_; - context_ = NULL; - - valid_ = false; - - if (expected_size != sizeof(exception_)) { - BPLOG(ERROR) << "MinidumpException size mismatch, " << expected_size << - " != " << sizeof(exception_); - return false; - } - - if (!minidump_->ReadBytes(&exception_, sizeof(exception_))) { - BPLOG(ERROR) << "MinidumpException cannot read exception"; - return false; - } - - if (minidump_->swap()) { - Swap(&exception_.thread_id); - // exception_.__align is for alignment only and does not need to be - // swapped. - Swap(&exception_.exception_record.exception_code); - Swap(&exception_.exception_record.exception_flags); - Swap(&exception_.exception_record.exception_record); - Swap(&exception_.exception_record.exception_address); - Swap(&exception_.exception_record.number_parameters); - // exception_.exception_record.__align is for alignment only and does not - // need to be swapped. - for (unsigned int parameter_index = 0; - parameter_index < MD_EXCEPTION_MAXIMUM_PARAMETERS; - ++parameter_index) { - Swap(&exception_.exception_record.exception_information[parameter_index]); - } - Swap(&exception_.thread_context); - } - - valid_ = true; - return true; -} - - -bool MinidumpException::GetThreadID(u_int32_t *thread_id) const { - BPLOG_IF(ERROR, !thread_id) << "MinidumpException::GetThreadID requires " - "|thread_id|"; - assert(thread_id); - *thread_id = 0; - - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpException for GetThreadID"; - return false; - } - - *thread_id = exception_.thread_id; - return true; -} - - -MinidumpContext* MinidumpException::GetContext() { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpException for GetContext"; - return NULL; - } - - if (!context_) { - if (!minidump_->SeekSet(exception_.thread_context.rva)) { - BPLOG(ERROR) << "MinidumpException cannot seek to context"; - return NULL; - } - - scoped_ptr context(new MinidumpContext(minidump_)); - - if (!context->Read(exception_.thread_context.data_size)) { - BPLOG(ERROR) << "MinidumpException cannot read context"; - return NULL; - } - - context_ = context.release(); - } - - return context_; -} - - -void MinidumpException::Print() { - if (!valid_) { - BPLOG(ERROR) << "MinidumpException cannot print invalid data"; - return; - } - - printf("MDException\n"); - printf(" thread_id = 0x%x\n", - exception_.thread_id); - printf(" exception_record.exception_code = 0x%x\n", - exception_.exception_record.exception_code); - printf(" exception_record.exception_flags = 0x%x\n", - exception_.exception_record.exception_flags); - printf(" exception_record.exception_record = 0x%llx\n", - exception_.exception_record.exception_record); - printf(" exception_record.exception_address = 0x%llx\n", - exception_.exception_record.exception_address); - printf(" exception_record.number_parameters = %d\n", - exception_.exception_record.number_parameters); - for (unsigned int parameterIndex = 0; - parameterIndex < exception_.exception_record.number_parameters; - ++parameterIndex) { - printf(" exception_record.exception_information[%2d] = 0x%llx\n", - parameterIndex, - exception_.exception_record.exception_information[parameterIndex]); - } - printf(" thread_context.data_size = %d\n", - exception_.thread_context.data_size); - printf(" thread_context.rva = 0x%x\n", - exception_.thread_context.rva); - MinidumpContext* context = GetContext(); - if (context) { - printf("\n"); - context->Print(); - } else { - printf(" (no context)\n"); - printf("\n"); - } -} - - -// -// MinidumpSystemInfo -// - - -MinidumpSystemInfo::MinidumpSystemInfo(Minidump* minidump) - : MinidumpStream(minidump), - system_info_(), - csd_version_(NULL), - cpu_vendor_(NULL) { -} - - -MinidumpSystemInfo::~MinidumpSystemInfo() { - delete csd_version_; - delete cpu_vendor_; -} - - -bool MinidumpSystemInfo::Read(u_int32_t expected_size) { - // Invalidate cached data. - delete csd_version_; - csd_version_ = NULL; - delete cpu_vendor_; - cpu_vendor_ = NULL; - - valid_ = false; - - if (expected_size != sizeof(system_info_)) { - BPLOG(ERROR) << "MinidumpSystemInfo size mismatch, " << expected_size << - " != " << sizeof(system_info_); - return false; - } - - if (!minidump_->ReadBytes(&system_info_, sizeof(system_info_))) { - BPLOG(ERROR) << "MinidumpSystemInfo cannot read system info"; - return false; - } - - if (minidump_->swap()) { - Swap(&system_info_.processor_architecture); - Swap(&system_info_.processor_level); - Swap(&system_info_.processor_revision); - // number_of_processors and product_type are 8-bit quantities and need no - // swapping. - Swap(&system_info_.major_version); - Swap(&system_info_.minor_version); - Swap(&system_info_.build_number); - Swap(&system_info_.platform_id); - Swap(&system_info_.csd_version_rva); - Swap(&system_info_.suite_mask); - // Don't swap the reserved2 field because its contents are unknown. - - if (system_info_.processor_architecture == MD_CPU_ARCHITECTURE_X86 || - system_info_.processor_architecture == MD_CPU_ARCHITECTURE_X86_WIN64) { - for (unsigned int i = 0; i < 3; ++i) - Swap(&system_info_.cpu.x86_cpu_info.vendor_id[i]); - Swap(&system_info_.cpu.x86_cpu_info.version_information); - Swap(&system_info_.cpu.x86_cpu_info.feature_information); - Swap(&system_info_.cpu.x86_cpu_info.amd_extended_cpu_features); - } else { - for (unsigned int i = 0; i < 2; ++i) - Swap(&system_info_.cpu.other_cpu_info.processor_features[i]); - } - } - - valid_ = true; - return true; -} - - -string MinidumpSystemInfo::GetOS() { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpSystemInfo for GetOS"; - return NULL; - } - - string os; - - switch (system_info_.platform_id) { - case MD_OS_WIN32_NT: - case MD_OS_WIN32_WINDOWS: - os = "windows"; - break; - - case MD_OS_MAC_OS_X: - os = "mac"; - break; - - case MD_OS_LINUX: - os = "linux"; - break; - - default: - BPLOG(ERROR) << "MinidumpSystemInfo unknown OS for platform " << - HexString(system_info_.platform_id); - break; - } - - return os; -} - - -string MinidumpSystemInfo::GetCPU() { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpSystemInfo for GetCPU"; - return ""; - } - - string cpu; - - switch (system_info_.processor_architecture) { - case MD_CPU_ARCHITECTURE_X86: - case MD_CPU_ARCHITECTURE_X86_WIN64: - cpu = "x86"; - break; - - case MD_CPU_ARCHITECTURE_PPC: - cpu = "ppc"; - break; - - default: - BPLOG(ERROR) << "MinidumpSystemInfo unknown CPU for architecture " << - HexString(system_info_.processor_architecture); - break; - } - - return cpu; -} - - -const string* MinidumpSystemInfo::GetCSDVersion() { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpSystemInfo for GetCSDVersion"; - return NULL; - } - - if (!csd_version_) - csd_version_ = minidump_->ReadString(system_info_.csd_version_rva); - - BPLOG_IF(ERROR, !csd_version_) << "MinidumpSystemInfo could not read " - "CSD version"; - - return csd_version_; -} - - -const string* MinidumpSystemInfo::GetCPUVendor() { - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpSystemInfo for GetCPUVendor"; - return NULL; - } - - // CPU vendor information can only be determined from x86 minidumps. - if (!cpu_vendor_ && - (system_info_.processor_architecture == MD_CPU_ARCHITECTURE_X86 || - system_info_.processor_architecture == MD_CPU_ARCHITECTURE_X86_WIN64)) { - char cpu_vendor_string[13]; - snprintf(cpu_vendor_string, sizeof(cpu_vendor_string), - "%c%c%c%c%c%c%c%c%c%c%c%c", - system_info_.cpu.x86_cpu_info.vendor_id[0] & 0xff, - (system_info_.cpu.x86_cpu_info.vendor_id[0] >> 8) & 0xff, - (system_info_.cpu.x86_cpu_info.vendor_id[0] >> 16) & 0xff, - (system_info_.cpu.x86_cpu_info.vendor_id[0] >> 24) & 0xff, - system_info_.cpu.x86_cpu_info.vendor_id[1] & 0xff, - (system_info_.cpu.x86_cpu_info.vendor_id[1] >> 8) & 0xff, - (system_info_.cpu.x86_cpu_info.vendor_id[1] >> 16) & 0xff, - (system_info_.cpu.x86_cpu_info.vendor_id[1] >> 24) & 0xff, - system_info_.cpu.x86_cpu_info.vendor_id[2] & 0xff, - (system_info_.cpu.x86_cpu_info.vendor_id[2] >> 8) & 0xff, - (system_info_.cpu.x86_cpu_info.vendor_id[2] >> 16) & 0xff, - (system_info_.cpu.x86_cpu_info.vendor_id[2] >> 24) & 0xff); - cpu_vendor_ = new string(cpu_vendor_string); - } - - return cpu_vendor_; -} - - -void MinidumpSystemInfo::Print() { - if (!valid_) { - BPLOG(ERROR) << "MinidumpSystemInfo cannot print invalid data"; - return; - } - - printf("MDRawSystemInfo\n"); - printf(" processor_architecture = %d\n", - system_info_.processor_architecture); - printf(" processor_level = %d\n", - system_info_.processor_level); - printf(" processor_revision = 0x%x\n", - system_info_.processor_revision); - printf(" number_of_processors = %d\n", - system_info_.number_of_processors); - printf(" product_type = %d\n", - system_info_.product_type); - printf(" major_version = %d\n", - system_info_.major_version); - printf(" minor_version = %d\n", - system_info_.minor_version); - printf(" build_number = %d\n", - system_info_.build_number); - printf(" platform_id = %d\n", - system_info_.platform_id); - printf(" csd_version_rva = 0x%x\n", - system_info_.csd_version_rva); - printf(" suite_mask = 0x%x\n", - system_info_.suite_mask); - for (unsigned int i = 0; i < 3; ++i) { - printf(" cpu.x86_cpu_info.vendor_id[%d] = 0x%x\n", - i, system_info_.cpu.x86_cpu_info.vendor_id[i]); - } - printf(" cpu.x86_cpu_info.version_information = 0x%x\n", - system_info_.cpu.x86_cpu_info.version_information); - printf(" cpu.x86_cpu_info.feature_information = 0x%x\n", - system_info_.cpu.x86_cpu_info.feature_information); - printf(" cpu.x86_cpu_info.amd_extended_cpu_features = 0x%x\n", - system_info_.cpu.x86_cpu_info.amd_extended_cpu_features); - const string* csd_version = GetCSDVersion(); - if (csd_version) { - printf(" (csd_version) = \"%s\"\n", - csd_version->c_str()); - } else { - printf(" (csd_version) = (null)\n"); - } - const string* cpu_vendor = GetCPUVendor(); - if (cpu_vendor) { - printf(" (cpu_vendor) = \"%s\"\n", - cpu_vendor->c_str()); - } else { - printf(" (cpu_vendor) = (null)\n"); - } - printf("\n"); -} - - -// -// MinidumpMiscInfo -// - - -MinidumpMiscInfo::MinidumpMiscInfo(Minidump* minidump) - : MinidumpStream(minidump), - misc_info_() { -} - - -bool MinidumpMiscInfo::Read(u_int32_t expected_size) { - valid_ = false; - - if (expected_size != MD_MISCINFO_SIZE && - expected_size != MD_MISCINFO2_SIZE) { - BPLOG(ERROR) << "MinidumpMiscInfo size mismatch, " << expected_size << - " != " << MD_MISCINFO_SIZE << ", " << MD_MISCINFO2_SIZE << - ")"; - return false; - } - - if (!minidump_->ReadBytes(&misc_info_, expected_size)) { - BPLOG(ERROR) << "MinidumpMiscInfo cannot read miscellaneous info"; - return false; - } - - if (minidump_->swap()) { - Swap(&misc_info_.size_of_info); - Swap(&misc_info_.flags1); - Swap(&misc_info_.process_id); - Swap(&misc_info_.process_create_time); - Swap(&misc_info_.process_user_time); - Swap(&misc_info_.process_kernel_time); - if (misc_info_.size_of_info > MD_MISCINFO_SIZE) { - Swap(&misc_info_.processor_max_mhz); - Swap(&misc_info_.processor_current_mhz); - Swap(&misc_info_.processor_mhz_limit); - Swap(&misc_info_.processor_max_idle_state); - Swap(&misc_info_.processor_current_idle_state); - } - } - - if (expected_size != misc_info_.size_of_info) { - BPLOG(ERROR) << "MinidumpMiscInfo size mismatch, " << - expected_size << " != " << misc_info_.size_of_info; - return false; - } - - valid_ = true; - return true; -} - - -void MinidumpMiscInfo::Print() { - if (!valid_) { - BPLOG(ERROR) << "MinidumpMiscInfo cannot print invalid data"; - return; - } - - printf("MDRawMiscInfo\n"); - printf(" size_of_info = %d\n", misc_info_.size_of_info); - printf(" flags1 = 0x%x\n", misc_info_.flags1); - printf(" process_id = 0x%x\n", misc_info_.process_id); - printf(" process_create_time = 0x%x\n", - misc_info_.process_create_time); - printf(" process_user_time = 0x%x\n", - misc_info_.process_user_time); - printf(" process_kernel_time = 0x%x\n", - misc_info_.process_kernel_time); - if (misc_info_.size_of_info > MD_MISCINFO_SIZE) { - printf(" processor_max_mhz = %d\n", - misc_info_.processor_max_mhz); - printf(" processor_current_mhz = %d\n", - misc_info_.processor_current_mhz); - printf(" processor_mhz_limit = %d\n", - misc_info_.processor_mhz_limit); - printf(" processor_max_idle_state = 0x%x\n", - misc_info_.processor_max_idle_state); - printf(" processor_current_idle_state = 0x%x\n", - misc_info_.processor_current_idle_state); - } - printf("\n"); -} - - -// -// MinidumpBreakpadInfo -// - - -MinidumpBreakpadInfo::MinidumpBreakpadInfo(Minidump* minidump) - : MinidumpStream(minidump), - breakpad_info_() { -} - - -bool MinidumpBreakpadInfo::Read(u_int32_t expected_size) { - valid_ = false; - - if (expected_size != sizeof(breakpad_info_)) { - BPLOG(ERROR) << "MinidumpBreakpadInfo size mismatch, " << expected_size << - " != " << sizeof(breakpad_info_); - return false; - } - - if (!minidump_->ReadBytes(&breakpad_info_, sizeof(breakpad_info_))) { - BPLOG(ERROR) << "MinidumpBreakpadInfo cannot read Breakpad info"; - return false; - } - - if (minidump_->swap()) { - Swap(&breakpad_info_.validity); - Swap(&breakpad_info_.dump_thread_id); - Swap(&breakpad_info_.requesting_thread_id); - } - - valid_ = true; - return true; -} - - -bool MinidumpBreakpadInfo::GetDumpThreadID(u_int32_t *thread_id) const { - BPLOG_IF(ERROR, !thread_id) << "MinidumpBreakpadInfo::GetDumpThreadID " - "requires |thread_id|"; - assert(thread_id); - *thread_id = 0; - - if (!valid_) { - BPLOG(ERROR) << "Invalid MinidumpBreakpadInfo for GetDumpThreadID"; - return false; - } - - if (!(breakpad_info_.validity & MD_BREAKPAD_INFO_VALID_DUMP_THREAD_ID)) { - BPLOG(INFO) << "MinidumpBreakpadInfo has no dump thread"; - return false; - } - - *thread_id = breakpad_info_.dump_thread_id; - return true; -} - - -bool MinidumpBreakpadInfo::GetRequestingThreadID(u_int32_t *thread_id) - const { - BPLOG_IF(ERROR, !thread_id) << "MinidumpBreakpadInfo::GetRequestingThreadID " - "requires |thread_id|"; - assert(thread_id); - *thread_id = 0; - - if (!thread_id || !valid_) { - BPLOG(ERROR) << "Invalid MinidumpBreakpadInfo for GetRequestingThreadID"; - return false; - } - - if (!(breakpad_info_.validity & - MD_BREAKPAD_INFO_VALID_REQUESTING_THREAD_ID)) { - BPLOG(INFO) << "MinidumpBreakpadInfo has no requesting thread"; - return false; - } - - *thread_id = breakpad_info_.requesting_thread_id; - return true; -} - - -void MinidumpBreakpadInfo::Print() { - if (!valid_) { - BPLOG(ERROR) << "MinidumpBreakpadInfo cannot print invalid data"; - return; - } - - printf("MDRawBreakpadInfo\n"); - printf(" validity = 0x%x\n", breakpad_info_.validity); - - if (breakpad_info_.validity & MD_BREAKPAD_INFO_VALID_DUMP_THREAD_ID) { - printf(" dump_thread_id = 0x%x\n", breakpad_info_.dump_thread_id); - } else { - printf(" dump_thread_id = (invalid)\n"); - } - - if (breakpad_info_.validity & MD_BREAKPAD_INFO_VALID_DUMP_THREAD_ID) { - printf(" requesting_thread_id = 0x%x\n", - breakpad_info_.requesting_thread_id); - } else { - printf(" requesting_thread_id = (invalid)\n"); - } - - printf("\n"); -} - - -// -// Minidump -// - - -u_int32_t Minidump::max_streams_ = 128; -unsigned int Minidump::max_string_length_ = 1024; - - -Minidump::Minidump(const string& path) - : header_(), - directory_(NULL), - stream_map_(new MinidumpStreamMap()), - path_(path), - fd_(-1), - swap_(false), - valid_(false) { -} - - -Minidump::~Minidump() { - delete directory_; - delete stream_map_; - if (fd_ != -1) { - BPLOG(INFO) << "Minidump closing minidump on fd " << fd_; - close(fd_); - } -} - - -bool Minidump::Open() { - if (fd_ != -1) { - BPLOG(INFO) << "Minidump reopening minidump " << path_ << " on fd " << fd_; - - // The file is already open. Seek to the beginning, which is the position - // the file would be at if it were opened anew. - return SeekSet(0); - } - - // O_BINARY is useful (and defined) on Windows. On other platforms, it's - // useless, and because it's defined as 0 above, harmless. - fd_ = open(path_.c_str(), O_RDONLY | O_BINARY); - if (fd_ == -1) { - string error_string; - int error_code = ErrnoString(&error_string); - BPLOG(ERROR) << "Minidump could not open minidump " << path_ << - ", error " << error_code << ": " << error_string; - return false; - } - - BPLOG(INFO) << "Minidump opened minidump " << path_ << " on fd " << fd_; - return true; -} - - -bool Minidump::Read() { - // Invalidate cached data. - delete directory_; - directory_ = NULL; - stream_map_->clear(); - - valid_ = false; - - if (!Open()) { - BPLOG(ERROR) << "Minidump cannot open minidump"; - return false; - } - - if (!ReadBytes(&header_, sizeof(MDRawHeader))) { - BPLOG(ERROR) << "Minidump cannot read header"; - return false; - } - - if (header_.signature != MD_HEADER_SIGNATURE) { - // The file may be byte-swapped. Under the present architecture, these - // classes don't know or need to know what CPU (or endianness) the - // minidump was produced on in order to parse it. Use the signature as - // a byte order marker. - u_int32_t signature_swapped = header_.signature; - Swap(&signature_swapped); - if (signature_swapped != MD_HEADER_SIGNATURE) { - // This isn't a minidump or a byte-swapped minidump. - BPLOG(ERROR) << "Minidump header signature mismatch: (" << - HexString(header_.signature) << ", " << - HexString(signature_swapped) << ") != " << - HexString(MD_HEADER_SIGNATURE); - return false; - } - swap_ = true; - } else { - // The file is not byte-swapped. Set swap_ false (it may have been true - // if the object is being reused?) - swap_ = false; - } - - BPLOG(INFO) << "Minidump " << (swap_ ? "" : "not ") << - "byte-swapping minidump"; - - if (swap_) { - Swap(&header_.signature); - Swap(&header_.version); - Swap(&header_.stream_count); - Swap(&header_.stream_directory_rva); - Swap(&header_.checksum); - Swap(&header_.time_date_stamp); - Swap(&header_.flags); - } - - // Version check. The high 16 bits of header_.version contain something - // else "implementation specific." - if ((header_.version & 0x0000ffff) != MD_HEADER_VERSION) { - BPLOG(ERROR) << "Minidump version mismatch: " << - HexString(header_.version & 0x0000ffff) << " != " << - HexString(MD_HEADER_VERSION); - return false; - } - - if (!SeekSet(header_.stream_directory_rva)) { - BPLOG(ERROR) << "Minidump cannot seek to stream directory"; - return false; - } - - if (header_.stream_count > max_streams_) { - BPLOG(ERROR) << "Minidump stream count " << header_.stream_count << - " exceeds maximum " << max_streams_; - return false; - } - - if (header_.stream_count != 0) { - scoped_ptr directory( - new MinidumpDirectoryEntries(header_.stream_count)); - - // Read the entire array in one fell swoop, instead of reading one entry - // at a time in the loop. - if (!ReadBytes(&(*directory)[0], - sizeof(MDRawDirectory) * header_.stream_count)) { - BPLOG(ERROR) << "Minidump cannot read stream directory"; - return false; - } - - for (unsigned int stream_index = 0; - stream_index < header_.stream_count; - ++stream_index) { - MDRawDirectory* directory_entry = &(*directory)[stream_index]; - - if (swap_) { - Swap(&directory_entry->stream_type); - Swap(&directory_entry->location); - } - - // Initialize the stream_map_ map, which speeds locating a stream by - // type. - unsigned int stream_type = directory_entry->stream_type; - switch (stream_type) { - case MD_THREAD_LIST_STREAM: - case MD_MODULE_LIST_STREAM: - case MD_MEMORY_LIST_STREAM: - case MD_EXCEPTION_STREAM: - case MD_SYSTEM_INFO_STREAM: - case MD_MISC_INFO_STREAM: - case MD_BREAKPAD_INFO_STREAM: { - if (stream_map_->find(stream_type) != stream_map_->end()) { - // Another stream with this type was already found. A minidump - // file should contain at most one of each of these stream types. - BPLOG(ERROR) << "Minidump found multiple streams of type " << - stream_type << ", but can only deal with one"; - return false; - } - // Fall through to default - } - - default: { - // Overwrites for stream types other than those above, but it's - // expected to be the user's burden in that case. - (*stream_map_)[stream_type].stream_index = stream_index; - } - } - } - - directory_ = directory.release(); - } - - valid_ = true; - return true; -} - - -MinidumpThreadList* Minidump::GetThreadList() { - MinidumpThreadList* thread_list; - return GetStream(&thread_list); -} - - -MinidumpModuleList* Minidump::GetModuleList() { - MinidumpModuleList* module_list; - return GetStream(&module_list); -} - - -MinidumpMemoryList* Minidump::GetMemoryList() { - MinidumpMemoryList* memory_list; - return GetStream(&memory_list); -} - - -MinidumpException* Minidump::GetException() { - MinidumpException* exception; - return GetStream(&exception); -} - - -MinidumpSystemInfo* Minidump::GetSystemInfo() { - MinidumpSystemInfo* system_info; - return GetStream(&system_info); -} - - -MinidumpMiscInfo* Minidump::GetMiscInfo() { - MinidumpMiscInfo* misc_info; - return GetStream(&misc_info); -} - - -MinidumpBreakpadInfo* Minidump::GetBreakpadInfo() { - MinidumpBreakpadInfo* breakpad_info; - return GetStream(&breakpad_info); -} - - -void Minidump::Print() { - if (!valid_) { - BPLOG(ERROR) << "Minidump cannot print invalid data"; - return; - } - - printf("MDRawHeader\n"); - printf(" signature = 0x%x\n", header_.signature); - printf(" version = 0x%x\n", header_.version); - printf(" stream_count = %d\n", header_.stream_count); - printf(" stream_directory_rva = 0x%x\n", header_.stream_directory_rva); - printf(" checksum = 0x%x\n", header_.checksum); - struct tm timestruct; - gmtime_r(reinterpret_cast(&header_.time_date_stamp), ×truct); - char timestr[20]; - strftime(timestr, 20, "%Y-%m-%d %H:%M:%S", ×truct); - printf(" time_date_stamp = 0x%x %s\n", header_.time_date_stamp, - timestr); - printf(" flags = 0x%llx\n", header_.flags); - printf("\n"); - - for (unsigned int stream_index = 0; - stream_index < header_.stream_count; - ++stream_index) { - MDRawDirectory* directory_entry = &(*directory_)[stream_index]; - - printf("mDirectory[%d]\n", stream_index); - printf("MDRawDirectory\n"); - printf(" stream_type = %d\n", directory_entry->stream_type); - printf(" location.data_size = %d\n", - directory_entry->location.data_size); - printf(" location.rva = 0x%x\n", directory_entry->location.rva); - printf("\n"); - } - - printf("Streams:\n"); - for (MinidumpStreamMap::const_iterator iterator = stream_map_->begin(); - iterator != stream_map_->end(); - ++iterator) { - u_int32_t stream_type = iterator->first; - MinidumpStreamInfo info = iterator->second; - printf(" stream type 0x%x at index %d\n", stream_type, info.stream_index); - } - printf("\n"); -} - - -const MDRawDirectory* Minidump::GetDirectoryEntryAtIndex(unsigned int index) - const { - if (!valid_) { - BPLOG(ERROR) << "Invalid Minidump for GetDirectoryEntryAtIndex"; - return NULL; - } - - if (index >= header_.stream_count) { - BPLOG(ERROR) << "Minidump stream directory index out of range: " << - index << "/" << header_.stream_count; - return NULL; - } - - return &(*directory_)[index]; -} - - -bool Minidump::ReadBytes(void* bytes, size_t count) { - // Can't check valid_ because Read needs to call this method before - // validity can be determined. The only member that this method - // depends on is mFD, and an unset or invalid fd may generate an - // error but should not cause a crash. - ssize_t bytes_read = read(fd_, bytes, count); - if (static_cast(bytes_read) != count) { - if (bytes_read == -1) { - string error_string; - int error_code = ErrnoString(&error_string); - BPLOG(ERROR) << "ReadBytes: error " << error_code << ": " << error_string; - } else { - BPLOG(ERROR) << "ReadBytes: read " << bytes_read << "/" << count; - } - return false; - } - return true; -} - - -bool Minidump::SeekSet(off_t offset) { - // Can't check valid_ because Read needs to call this method before - // validity can be determined. The only member that this method - // depends on is mFD, and an unset or invalid fd may generate an - // error but should not cause a crash. - off_t sought = lseek(fd_, offset, SEEK_SET); - if (sought != offset) { - if (sought == -1) { - string error_string; - int error_code = ErrnoString(&error_string); - BPLOG(ERROR) << "SeekSet: error " << error_code << ": " << error_string; - } else { - BPLOG(ERROR) << "SeekSet: sought " << sought << "/" << offset; - } - return false; - } - return true; -} - - -string* Minidump::ReadString(off_t offset) { - if (!valid_) { - BPLOG(ERROR) << "Invalid Minidump for ReadString"; - return NULL; - } - if (!SeekSet(offset)) { - BPLOG(ERROR) << "ReadString could not seek to string at offset " << offset; - return NULL; - } - - u_int32_t bytes; - if (!ReadBytes(&bytes, sizeof(bytes))) { - BPLOG(ERROR) << "ReadString could not read string size at offset " << - offset; - return NULL; - } - if (swap_) - Swap(&bytes); - - if (bytes % 2 != 0) { - BPLOG(ERROR) << "ReadString found odd-sized " << bytes << - "-byte string at offset " << offset; - return NULL; - } - unsigned int utf16_words = bytes / 2; - - if (utf16_words > max_string_length_) { - BPLOG(ERROR) << "ReadString string length " << utf16_words << - " exceeds maximum " << max_string_length_ << - " at offset " << offset; - return NULL; - } - - vector string_utf16(utf16_words); - - if (utf16_words) { - if (!ReadBytes(&string_utf16[0], bytes)) { - BPLOG(ERROR) << "ReadString could not read " << bytes << - "-byte string at offset " << offset; - return NULL; - } - } - - return UTF16ToUTF8(string_utf16, swap_); -} - - -bool Minidump::SeekToStreamType(u_int32_t stream_type, - u_int32_t* stream_length) { - BPLOG_IF(ERROR, !stream_length) << "Minidump::SeekToStreamType requires " - "|stream_length|"; - assert(stream_length); - *stream_length = 0; - - if (!valid_) { - BPLOG(ERROR) << "Invalid Mindump for SeekToStreamType"; - return false; - } - - MinidumpStreamMap::const_iterator iterator = stream_map_->find(stream_type); - if (iterator == stream_map_->end()) { - // This stream type didn't exist in the directory. - BPLOG(INFO) << "SeekToStreamType: type " << stream_type << " not present"; - return false; - } - - MinidumpStreamInfo info = iterator->second; - if (info.stream_index >= header_.stream_count) { - BPLOG(ERROR) << "SeekToStreamType: type " << stream_type << - " out of range: " << - info.stream_index << "/" << header_.stream_count; - return false; - } - - MDRawDirectory* directory_entry = &(*directory_)[info.stream_index]; - if (!SeekSet(directory_entry->location.rva)) { - BPLOG(ERROR) << "SeekToStreamType could not seek to stream type " << - stream_type; - return false; - } - - *stream_length = directory_entry->location.data_size; - - return true; -} - - -template -T* Minidump::GetStream(T** stream) { - // stream is a garbage parameter that's present only to account for C++'s - // inability to overload a method based solely on its return type. - - const u_int32_t stream_type = T::kStreamType; - - BPLOG_IF(ERROR, !stream) << "Minidump::GetStream type " << stream_type << - " requires |stream|"; - assert(stream); - *stream = NULL; - - if (!valid_) { - BPLOG(ERROR) << "Invalid Minidump for GetStream type " << stream_type; - return NULL; - } - - MinidumpStreamMap::iterator iterator = stream_map_->find(stream_type); - if (iterator == stream_map_->end()) { - // This stream type didn't exist in the directory. - BPLOG(INFO) << "GetStream: type " << stream_type << " not present"; - return NULL; - } - - // Get a pointer so that the stored stream field can be altered. - MinidumpStreamInfo* info = &iterator->second; - - if (info->stream) { - // This cast is safe because info.stream is only populated by this - // method, and there is a direct correlation between T and stream_type. - *stream = static_cast(info->stream); - return *stream; - } - - u_int32_t stream_length; - if (!SeekToStreamType(stream_type, &stream_length)) { - BPLOG(ERROR) << "GetStream could not seek to stream type " << stream_type; - return NULL; - } - - scoped_ptr new_stream(new T(this)); - - if (!new_stream->Read(stream_length)) { - BPLOG(ERROR) << "GetStream could not read stream type " << stream_type; - return NULL; - } - - *stream = new_stream.release(); - info->stream = *stream; - return *stream; -} - - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/processor/minidump_dump.cc b/toolkit/airbag/airbag/src/processor/minidump_dump.cc deleted file mode 100755 index 12a699de5c41..000000000000 --- a/toolkit/airbag/airbag/src/processor/minidump_dump.cc +++ /dev/null @@ -1,130 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// minidump_dump.cc: Print the contents of a minidump file in somewhat -// readable text. -// -// Author: Mark Mentovai - -#include - -#include "google_breakpad/processor/minidump.h" -#include "processor/logging.h" - -namespace { - -using google_breakpad::Minidump; -using google_breakpad::MinidumpThreadList; -using google_breakpad::MinidumpModuleList; -using google_breakpad::MinidumpMemoryList; -using google_breakpad::MinidumpException; -using google_breakpad::MinidumpSystemInfo; -using google_breakpad::MinidumpMiscInfo; -using google_breakpad::MinidumpBreakpadInfo; - -static bool PrintMinidumpDump(const char *minidump_file) { - Minidump minidump(minidump_file); - if (!minidump.Read()) { - BPLOG(ERROR) << "minidump.Read() failed"; - return false; - } - minidump.Print(); - - int errors = 0; - - MinidumpThreadList *thread_list = minidump.GetThreadList(); - if (!thread_list) { - ++errors; - BPLOG(ERROR) << "minidump.GetThreadList() failed"; - } else { - thread_list->Print(); - } - - MinidumpModuleList *module_list = minidump.GetModuleList(); - if (!module_list) { - ++errors; - BPLOG(ERROR) << "minidump.GetModuleList() failed"; - } else { - module_list->Print(); - } - - MinidumpMemoryList *memory_list = minidump.GetMemoryList(); - if (!memory_list) { - ++errors; - BPLOG(ERROR) << "minidump.GetMemoryList() failed"; - } else { - memory_list->Print(); - } - - MinidumpException *exception = minidump.GetException(); - if (!exception) { - BPLOG(INFO) << "minidump.GetException() failed"; - } else { - exception->Print(); - } - - MinidumpSystemInfo *system_info = minidump.GetSystemInfo(); - if (!system_info) { - ++errors; - BPLOG(ERROR) << "minidump.GetSystemInfo() failed"; - } else { - system_info->Print(); - } - - MinidumpMiscInfo *misc_info = minidump.GetMiscInfo(); - if (!misc_info) { - ++errors; - BPLOG(ERROR) << "minidump.GetMiscInfo() failed"; - } else { - misc_info->Print(); - } - - MinidumpBreakpadInfo *breakpad_info = minidump.GetBreakpadInfo(); - if (!breakpad_info) { - // Breakpad info is optional, so don't treat this as an error. - BPLOG(INFO) << "minidump.GetBreakpadInfo() failed"; - } else { - breakpad_info->Print(); - } - - return errors == 0; -} - -} // namespace - -int main(int argc, char **argv) { - BPLOG_INIT(&argc, &argv); - - if (argc != 2) { - fprintf(stderr, "usage: %s \n", argv[0]); - return 1; - } - - return PrintMinidumpDump(argv[1]) ? 0 : 1; -} diff --git a/toolkit/airbag/airbag/src/processor/minidump_dump_test b/toolkit/airbag/airbag/src/processor/minidump_dump_test deleted file mode 100755 index fb62ace7351a..000000000000 --- a/toolkit/airbag/airbag/src/processor/minidump_dump_test +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh - -# Copyright (c) 2006, Google Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -testdata_dir=$srcdir/src/processor/testdata -./src/processor/minidump_dump $testdata_dir/minidump2.dmp | \ - tr -d '\015' | \ - diff -u $testdata_dir/minidump2.dump.out - -exit $? diff --git a/toolkit/airbag/airbag/src/processor/minidump_processor.cc b/toolkit/airbag/airbag/src/processor/minidump_processor.cc deleted file mode 100755 index 58b10c7876b4..000000000000 --- a/toolkit/airbag/airbag/src/processor/minidump_processor.cc +++ /dev/null @@ -1,846 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include - -#include "google_breakpad/processor/minidump_processor.h" -#include "google_breakpad/processor/call_stack.h" -#include "google_breakpad/processor/minidump.h" -#include "google_breakpad/processor/process_state.h" -#include "processor/logging.h" -#include "processor/scoped_ptr.h" -#include "processor/stackwalker_x86.h" - -namespace google_breakpad { - -MinidumpProcessor::MinidumpProcessor(SymbolSupplier *supplier, - SourceLineResolverInterface *resolver) - : supplier_(supplier), resolver_(resolver) { -} - -MinidumpProcessor::~MinidumpProcessor() { -} - -MinidumpProcessor::ProcessResult MinidumpProcessor::Process( - const string &minidump_file, ProcessState *process_state) { - BPLOG(INFO) << "Processing minidump in file " << minidump_file; - - Minidump dump(minidump_file); - if (!dump.Read()) { - BPLOG(ERROR) << "Minidump " << minidump_file << " could not be read"; - return PROCESS_ERROR; - } - - process_state->Clear(); - - const MDRawHeader *header = dump.header(); - BPLOG_IF(ERROR, !header) << "Minidump " << minidump_file << " has no header"; - assert(header); - process_state->time_date_stamp_ = header->time_date_stamp; - - bool has_cpu_info = GetCPUInfo(&dump, &process_state->system_info_); - bool has_os_info = GetOSInfo(&dump, &process_state->system_info_); - - u_int32_t dump_thread_id = 0; - bool has_dump_thread = false; - u_int32_t requesting_thread_id = 0; - bool has_requesting_thread = false; - - MinidumpBreakpadInfo *breakpad_info = dump.GetBreakpadInfo(); - if (breakpad_info) { - has_dump_thread = breakpad_info->GetDumpThreadID(&dump_thread_id); - has_requesting_thread = - breakpad_info->GetRequestingThreadID(&requesting_thread_id); - } - - MinidumpException *exception = dump.GetException(); - if (exception) { - process_state->crashed_ = true; - has_requesting_thread = exception->GetThreadID(&requesting_thread_id); - - process_state->crash_reason_ = GetCrashReason( - &dump, &process_state->crash_address_); - } - - MinidumpModuleList *module_list = dump.GetModuleList(); - - // Put a copy of the module list into ProcessState object. This is not - // necessarily a MinidumpModuleList, but it adheres to the CodeModules - // interface, which is all that ProcessState needs to expose. - if (module_list) - process_state->modules_ = module_list->Copy(); - - MinidumpThreadList *threads = dump.GetThreadList(); - if (!threads) { - BPLOG(ERROR) << "Minidump " << minidump_file << " has no thread list"; - return PROCESS_ERROR; - } - - BPLOG(INFO) << "Minidump " << minidump_file << " has " << - (has_cpu_info ? "" : "no ") << "CPU info, " << - (has_os_info ? "" : "no ") << "OS info, " << - (breakpad_info != NULL ? "" : "no ") << "Breakpad info, " << - (exception != NULL ? "" : "no ") << "exception, " << - (module_list != NULL ? "" : "no ") << "module list, " << - (threads != NULL ? "" : "no ") << "thread list, " << - (has_dump_thread ? "" : "no ") << "dump thread, and " << - (has_requesting_thread ? "" : "no ") << "requesting thread"; - - bool interrupted = false; - bool found_requesting_thread = false; - unsigned int thread_count = threads->thread_count(); - for (unsigned int thread_index = 0; - thread_index < thread_count; - ++thread_index) { - char thread_string_buffer[64]; - snprintf(thread_string_buffer, sizeof(thread_string_buffer), "%d/%d", - thread_index, thread_count); - string thread_string = minidump_file + ":" + thread_string_buffer; - - MinidumpThread *thread = threads->GetThreadAtIndex(thread_index); - if (!thread) { - BPLOG(ERROR) << "Could not get thread for " << thread_string; - return PROCESS_ERROR; - } - - u_int32_t thread_id; - if (!thread->GetThreadID(&thread_id)) { - BPLOG(ERROR) << "Could not get thread ID for " << thread_string; - return PROCESS_ERROR; - } - - thread_string += " id " + HexString(thread_id); - BPLOG(INFO) << "Looking at thread " << thread_string; - - // If this thread is the thread that produced the minidump, don't process - // it. Because of the problems associated with a thread producing a - // dump of itself (when both its context and its stack are in flux), - // processing that stack wouldn't provide much useful data. - if (has_dump_thread && thread_id == dump_thread_id) { - continue; - } - - MinidumpContext *context = thread->GetContext(); - - if (has_requesting_thread && thread_id == requesting_thread_id) { - if (found_requesting_thread) { - // There can't be more than one requesting thread. - BPLOG(ERROR) << "Duplicate requesting thread: " << thread_string; - return PROCESS_ERROR; - } - - // Use processed_state->threads_.size() instead of thread_index. - // thread_index points to the thread index in the minidump, which - // might be greater than the thread index in the threads vector if - // any of the minidump's threads are skipped and not placed into the - // processed threads vector. The thread vector's current size will - // be the index of the current thread when it's pushed into the - // vector. - process_state->requesting_thread_ = process_state->threads_.size(); - - found_requesting_thread = true; - - if (process_state->crashed_) { - // Use the exception record's context for the crashed thread, instead - // of the thread's own context. For the crashed thread, the thread's - // own context is the state inside the exception handler. Using it - // would not result in the expected stack trace from the time of the - // crash. - context = exception->GetContext(); - } - } - - MinidumpMemoryRegion *thread_memory = thread->GetMemory(); - if (!thread_memory) { - BPLOG(ERROR) << "No memory region for " << thread_string; - return PROCESS_ERROR; - } - - // Use process_state->modules_ instead of module_list, because the - // |modules| argument will be used to populate the |module| fields in - // the returned StackFrame objects, which will be placed into the - // returned ProcessState object. module_list's lifetime is only as - // long as the Minidump object: it will be deleted when this function - // returns. process_state->modules_ is owned by the ProcessState object - // (just like the StackFrame objects), and is much more suitable for this - // task. - scoped_ptr stackwalker( - Stackwalker::StackwalkerForCPU(process_state->system_info(), - context, - thread_memory, - process_state->modules_, - supplier_, - resolver_)); - if (!stackwalker.get()) { - BPLOG(ERROR) << "No stackwalker for " << thread_string; - return PROCESS_ERROR; - } - - scoped_ptr stack(new CallStack()); - if (!stackwalker->Walk(stack.get())) { - BPLOG(INFO) << "Stackwalker interrupt (missing symbols?) at " << - thread_string; - interrupted = true; - } - process_state->threads_.push_back(stack.release()); - } - - if (interrupted) { - BPLOG(INFO) << "Processing interrupted for " << minidump_file; - return PROCESS_INTERRUPTED; - } - - // If a requesting thread was indicated, it must be present. - if (has_requesting_thread && !found_requesting_thread) { - // Don't mark as an error, but invalidate the requesting thread - BPLOG(ERROR) << "Minidump indicated requesting thread " << - HexString(requesting_thread_id) << ", not found in " << - minidump_file; - process_state->requesting_thread_ = -1; - } - - BPLOG(INFO) << "Processed " << minidump_file; - return PROCESS_OK; -} - -// Returns the MDRawSystemInfo from a minidump, or NULL if system info is -// not available from the minidump. If system_info is non-NULL, it is used -// to pass back the MinidumpSystemInfo object. -static const MDRawSystemInfo* GetSystemInfo(Minidump *dump, - MinidumpSystemInfo **system_info) { - MinidumpSystemInfo *minidump_system_info = dump->GetSystemInfo(); - if (!minidump_system_info) - return NULL; - - if (system_info) - *system_info = minidump_system_info; - - return minidump_system_info->system_info(); -} - -// static -bool MinidumpProcessor::GetCPUInfo(Minidump *dump, SystemInfo *info) { - assert(dump); - assert(info); - - info->cpu.clear(); - info->cpu_info.clear(); - - MinidumpSystemInfo *system_info; - const MDRawSystemInfo *raw_system_info = GetSystemInfo(dump, &system_info); - if (!raw_system_info) - return false; - - switch (raw_system_info->processor_architecture) { - case MD_CPU_ARCHITECTURE_X86: { - info->cpu = "x86"; - const string *cpu_vendor = system_info->GetCPUVendor(); - if (cpu_vendor) { - info->cpu_info = *cpu_vendor; - info->cpu_info.append(" "); - } - - char x86_info[36]; - snprintf(x86_info, sizeof(x86_info), "family %u model %u stepping %u", - raw_system_info->processor_level, - raw_system_info->processor_revision >> 8, - raw_system_info->processor_revision & 0xff); - info->cpu_info.append(x86_info); - break; - } - - case MD_CPU_ARCHITECTURE_PPC: { - info->cpu = "ppc"; - break; - } - - default: { - // Assign the numeric architecture ID into the CPU string. - char cpu_string[7]; - snprintf(cpu_string, sizeof(cpu_string), "0x%04x", - raw_system_info->processor_architecture); - info->cpu = cpu_string; - break; - } - } - - info->cpu_count = raw_system_info->number_of_processors; - - return true; -} - -// static -bool MinidumpProcessor::GetOSInfo(Minidump *dump, SystemInfo *info) { - assert(dump); - assert(info); - - info->os.clear(); - info->os_short.clear(); - info->os_version.clear(); - - MinidumpSystemInfo *system_info; - const MDRawSystemInfo *raw_system_info = GetSystemInfo(dump, &system_info); - if (!raw_system_info) - return false; - - info->os_short = system_info->GetOS(); - - switch (raw_system_info->platform_id) { - case MD_OS_WIN32_NT: { - info->os = "Windows NT"; - break; - } - - case MD_OS_WIN32_WINDOWS: { - info->os = "Windows"; - break; - } - - case MD_OS_MAC_OS_X: { - info->os = "Mac OS X"; - break; - } - - case MD_OS_LINUX: { - info->os = "Linux"; - break; - } - - default: { - // Assign the numeric platform ID into the OS string. - char os_string[11]; - snprintf(os_string, sizeof(os_string), "0x%08x", - raw_system_info->platform_id); - info->os = os_string; - break; - } - } - - char os_version_string[33]; - snprintf(os_version_string, sizeof(os_version_string), "%u.%u.%u", - raw_system_info->major_version, - raw_system_info->minor_version, - raw_system_info->build_number); - info->os_version = os_version_string; - - const string *csd_version = system_info->GetCSDVersion(); - if (csd_version) { - info->os_version.append(" "); - info->os_version.append(*csd_version); - } - - return true; -} - -// static -string MinidumpProcessor::GetCrashReason(Minidump *dump, u_int64_t *address) { - MinidumpException *exception = dump->GetException(); - if (!exception) - return ""; - - const MDRawExceptionStream *raw_exception = exception->exception(); - if (!raw_exception) - return ""; - - if (address) - *address = raw_exception->exception_record.exception_address; - - // The reason value is OS-specific and possibly CPU-specific. Set up - // sensible numeric defaults for the reason string in case we can't - // map the codes to a string (because there's no system info, or because - // it's an unrecognized platform, or because it's an unrecognized code.) - char reason_string[24]; - u_int32_t exception_code = raw_exception->exception_record.exception_code; - u_int32_t exception_flags = raw_exception->exception_record.exception_flags; - snprintf(reason_string, sizeof(reason_string), "0x%08x / 0x%08x", - exception_code, exception_flags); - string reason = reason_string; - - const MDRawSystemInfo *raw_system_info = GetSystemInfo(dump, NULL); - if (!raw_system_info) - return reason; - - switch (raw_system_info->platform_id) { - case MD_OS_MAC_OS_X: { - char flags_string[11]; - snprintf(flags_string, sizeof(flags_string), "0x%08x", exception_flags); - switch (exception_code) { - case MD_EXCEPTION_MAC_BAD_ACCESS: - reason = "EXC_BAD_ACCESS / "; - switch (exception_flags) { - case MD_EXCEPTION_CODE_MAC_INVALID_ADDRESS: - reason.append("KERN_INVALID_ADDRESS"); - break; - case MD_EXCEPTION_CODE_MAC_PROTECTION_FAILURE: - reason.append("KERN_PROTECTION_FAILURE"); - break; - case MD_EXCEPTION_CODE_MAC_NO_ACCESS: - reason.append("KERN_NO_ACCESS"); - break; - case MD_EXCEPTION_CODE_MAC_MEMORY_FAILURE: - reason.append("KERN_MEMORY_FAILURE"); - break; - case MD_EXCEPTION_CODE_MAC_MEMORY_ERROR: - reason.append("KERN_MEMORY_ERROR"); - break; - // These are ppc only but shouldn't be a problem as they're - // unused on x86 - case MD_EXCEPTION_CODE_MAC_PPC_VM_PROT_READ: - reason.append("EXC_PPC_VM_PROT_READ"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_BADSPACE: - reason.append("EXC_PPC_BADSPACE"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_UNALIGNED: - reason.append("EXC_PPC_UNALIGNED"); - break; - default: - reason.append(flags_string); - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - break; - case MD_EXCEPTION_MAC_BAD_INSTRUCTION: - reason = "EXC_BAD_INSTRUCTION / "; - switch (raw_system_info->processor_architecture) { - case MD_CPU_ARCHITECTURE_PPC: { - switch (exception_flags) { - case MD_EXCEPTION_CODE_MAC_PPC_INVALID_SYSCALL: - reason.append("EXC_PPC_INVALID_SYSCALL"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_UNIMPLEMENTED_INSTRUCTION: - reason.append("EXC_PPC_UNIPL_INST"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_PRIVILEGED_INSTRUCTION: - reason.append("EXC_PPC_PRIVINST"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_PRIVILEGED_REGISTER: - reason.append("EXC_PPC_PRIVREG"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_TRACE: - reason.append("EXC_PPC_TRACE"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_PERFORMANCE_MONITOR: - reason.append("EXC_PPC_PERFMON"); - break; - default: - reason.append(flags_string); - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - break; - } - case MD_CPU_ARCHITECTURE_X86: { - switch (exception_flags) { - case MD_EXCEPTION_CODE_MAC_X86_INVALID_OPERATION: - reason.append("EXC_I386_INVOP"); - break; - case MD_EXCEPTION_CODE_MAC_X86_INVALID_TASK_STATE_SEGMENT: - reason.append("EXC_INVTSSFLT"); - break; - case MD_EXCEPTION_CODE_MAC_X86_SEGMENT_NOT_PRESENT: - reason.append("EXC_SEGNPFLT"); - break; - case MD_EXCEPTION_CODE_MAC_X86_STACK_FAULT: - reason.append("EXC_STKFLT"); - break; - case MD_EXCEPTION_CODE_MAC_X86_GENERAL_PROTECTION_FAULT: - reason.append("EXC_GPFLT"); - break; - case MD_EXCEPTION_CODE_MAC_X86_ALIGNMENT_FAULT: - reason.append("EXC_ALIGNFLT"); - break; - default: - reason.append(flags_string); - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - break; - } - default: - reason.append(flags_string); - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - break; - case MD_EXCEPTION_MAC_ARITHMETIC: - reason = "EXC_ARITHMETIC / "; - switch (raw_system_info->processor_architecture) { - case MD_CPU_ARCHITECTURE_PPC: { - switch (exception_flags) { - case MD_EXCEPTION_CODE_MAC_PPC_OVERFLOW: - reason.append("EXC_PPC_OVERFLOW"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_ZERO_DIVIDE: - reason.append("EXC_PPC_ZERO_DIVIDE"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_FLOAT_INEXACT: - reason.append("EXC_FLT_INEXACT"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_FLOAT_ZERO_DIVIDE: - reason.append("EXC_PPC_FLT_ZERO_DIVIDE"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_FLOAT_UNDERFLOW: - reason.append("EXC_PPC_FLT_UNDERFLOW"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_FLOAT_OVERFLOW: - reason.append("EXC_PPC_FLT_OVERFLOW"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_FLOAT_NOT_A_NUMBER: - reason.append("EXC_PPC_FLT_NOT_A_NUMBER"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_NO_EMULATION: - reason.append("EXC_PPC_NOEMULATION"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_ALTIVEC_ASSIST: - reason.append("EXC_PPC_ALTIVECASSIST"); - default: - reason.append(flags_string); - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - break; - } - case MD_CPU_ARCHITECTURE_X86: { - switch (exception_flags) { - case MD_EXCEPTION_CODE_MAC_X86_DIV: - reason.append("EXC_I386_DIV"); - break; - case MD_EXCEPTION_CODE_MAC_X86_INTO: - reason.append("EXC_I386_INTO"); - break; - case MD_EXCEPTION_CODE_MAC_X86_NOEXT: - reason.append("EXC_I386_NOEXT"); - break; - case MD_EXCEPTION_CODE_MAC_X86_EXTOVR: - reason.append("EXC_I386_EXTOVR"); - break; - case MD_EXCEPTION_CODE_MAC_X86_EXTERR: - reason.append("EXC_I386_EXTERR"); - break; - case MD_EXCEPTION_CODE_MAC_X86_EMERR: - reason.append("EXC_I386_EMERR"); - break; - case MD_EXCEPTION_CODE_MAC_X86_BOUND: - reason.append("EXC_I386_BOUND"); - break; - case MD_EXCEPTION_CODE_MAC_X86_SSEEXTERR: - reason.append("EXC_I386_SSEEXTERR"); - break; - default: - reason.append(flags_string); - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - break; - } - default: - reason.append(flags_string); - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - break; - case MD_EXCEPTION_MAC_EMULATION: - reason = "EXC_EMULATION / "; - reason.append(flags_string); - break; - case MD_EXCEPTION_MAC_SOFTWARE: - reason = "EXC_SOFTWARE / "; - switch (exception_flags) { - // These are ppc only but shouldn't be a problem as they're - // unused on x86 - case MD_EXCEPTION_CODE_MAC_PPC_TRAP: - reason.append("EXC_PPC_TRAP"); - break; - case MD_EXCEPTION_CODE_MAC_PPC_MIGRATE: - reason.append("EXC_PPC_MIGRATE"); - break; - default: - reason.append(flags_string); - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - break; - case MD_EXCEPTION_MAC_BREAKPOINT: - reason = "EXC_BREAKPOINT / "; - switch (raw_system_info->processor_architecture) { - case MD_CPU_ARCHITECTURE_PPC: { - switch (exception_flags) { - case MD_EXCEPTION_CODE_MAC_PPC_BREAKPOINT: - reason.append("EXC_PPC_BREAKPOINT"); - break; - default: - reason.append(flags_string); - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - break; - } - case MD_CPU_ARCHITECTURE_X86: { - switch (exception_flags) { - case MD_EXCEPTION_CODE_MAC_X86_SGL: - reason.append("EXC_I386_SGL"); - break; - case MD_EXCEPTION_CODE_MAC_X86_BPT: - reason.append("EXC_I386_BPT"); - break; - default: - reason.append(flags_string); - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - break; - } - default: - reason.append(flags_string); - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - break; - case MD_EXCEPTION_MAC_SYSCALL: - reason = "EXC_SYSCALL / "; - reason.append(flags_string); - break; - case MD_EXCEPTION_MAC_MACH_SYSCALL: - reason = "EXC_MACH_SYSCALL / "; - reason.append(flags_string); - break; - case MD_EXCEPTION_MAC_RPC_ALERT: - reason = "EXC_RPC_ALERT / "; - reason.append(flags_string); - break; - } - break; - } - - case MD_OS_WIN32_NT: - case MD_OS_WIN32_WINDOWS: { - switch (exception_code) { - case MD_EXCEPTION_CODE_WIN_CONTROL_C: - reason = "DBG_CONTROL_C"; - break; - case MD_EXCEPTION_CODE_WIN_GUARD_PAGE_VIOLATION: - reason = "EXCEPTION_GUARD_PAGE"; - break; - case MD_EXCEPTION_CODE_WIN_DATATYPE_MISALIGNMENT: - reason = "EXCEPTION_DATATYPE_MISALIGNMENT"; - break; - case MD_EXCEPTION_CODE_WIN_BREAKPOINT: - reason = "EXCEPTION_BREAKPOINT"; - break; - case MD_EXCEPTION_CODE_WIN_SINGLE_STEP: - reason = "EXCEPTION_SINGLE_STEP"; - break; - case MD_EXCEPTION_CODE_WIN_ACCESS_VIOLATION: - // For EXCEPTION_ACCESS_VIOLATION, Windows puts the address that - // caused the fault in exception_information[1]. - // exception_information[0] is 0 if the violation was caused by - // an attempt to read data and 1 if it was an attempt to write - // data. - // This information is useful in addition to the code address, which - // will be present in the crash thread's instruction field anyway. - reason = "EXCEPTION_ACCESS_VIOLATION"; - if (address && - raw_exception->exception_record.number_parameters >= 2) { - *address = - raw_exception->exception_record.exception_information[1]; - } - break; - case MD_EXCEPTION_CODE_WIN_IN_PAGE_ERROR: - reason = "EXCEPTION_IN_PAGE_ERROR"; - break; - case MD_EXCEPTION_CODE_WIN_INVALID_HANDLE: - reason = "EXCEPTION_INVALID_HANDLE"; - break; - case MD_EXCEPTION_CODE_WIN_ILLEGAL_INSTRUCTION: - reason = "EXCEPTION_ILLEGAL_INSTRUCTION"; - break; - case MD_EXCEPTION_CODE_WIN_NONCONTINUABLE_EXCEPTION: - reason = "EXCEPTION_NONCONTINUABLE_EXCEPTION"; - break; - case MD_EXCEPTION_CODE_WIN_INVALID_DISPOSITION: - reason = "EXCEPTION_INVALID_DISPOSITION"; - break; - case MD_EXCEPTION_CODE_WIN_ARRAY_BOUNDS_EXCEEDED: - reason = "EXCEPTION_BOUNDS_EXCEEDED"; - break; - case MD_EXCEPTION_CODE_WIN_FLOAT_DENORMAL_OPERAND: - reason = "EXCEPTION_FLT_DENORMAL_OPERAND"; - break; - case MD_EXCEPTION_CODE_WIN_FLOAT_DIVIDE_BY_ZERO: - reason = "EXCEPTION_FLT_DIVIDE_BY_ZERO"; - break; - case MD_EXCEPTION_CODE_WIN_FLOAT_INEXACT_RESULT: - reason = "EXCEPTION_FLT_INEXACT_RESULT"; - break; - case MD_EXCEPTION_CODE_WIN_FLOAT_INVALID_OPERATION: - reason = "EXCEPTION_FLT_INVALID_OPERATION"; - break; - case MD_EXCEPTION_CODE_WIN_FLOAT_OVERFLOW: - reason = "EXCEPTION_FLT_OVERFLOW"; - break; - case MD_EXCEPTION_CODE_WIN_FLOAT_STACK_CHECK: - reason = "EXCEPTION_FLT_STACK_CHECK"; - break; - case MD_EXCEPTION_CODE_WIN_FLOAT_UNDERFLOW: - reason = "EXCEPTION_FLT_UNDERFLOW"; - break; - case MD_EXCEPTION_CODE_WIN_INTEGER_DIVIDE_BY_ZERO: - reason = "EXCEPTION_INT_DIVIDE_BY_ZERO"; - break; - case MD_EXCEPTION_CODE_WIN_INTEGER_OVERFLOW: - reason = "EXCEPTION_INT_OVERFLOW"; - break; - case MD_EXCEPTION_CODE_WIN_PRIVILEGED_INSTRUCTION: - reason = "EXCEPTION_PRIV_INSTRUCTION"; - break; - case MD_EXCEPTION_CODE_WIN_STACK_OVERFLOW: - reason = "EXCEPTION_STACK_OVERFLOW"; - break; - case MD_EXCEPTION_CODE_WIN_POSSIBLE_DEADLOCK: - reason = "EXCEPTION_POSSIBLE_DEADLOCK"; - break; - default: - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - break; - - case MD_OS_LINUX: - switch (exception_code) { - case MD_EXCEPTION_CODE_LIN_SIGHUP: - reason = "SIGHUP"; - break; - case MD_EXCEPTION_CODE_LIN_SIGINT: - reason = "SIGINT"; - break; - case MD_EXCEPTION_CODE_LIN_SIGQUIT: - reason = "SIGQUIT"; - break; - case MD_EXCEPTION_CODE_LIN_SIGILL: - reason = "SIGILL"; - break; - case MD_EXCEPTION_CODE_LIN_SIGTRAP: - reason = "SIGTRAP"; - break; - case MD_EXCEPTION_CODE_LIN_SIGABRT: - reason = "SIGABRT"; - break; - case MD_EXCEPTION_CODE_LIN_SIGBUS: - reason = "SIGBUS"; - break; - case MD_EXCEPTION_CODE_LIN_SIGFPE: - reason = "SIGFPE"; - break; - case MD_EXCEPTION_CODE_LIN_SIGKILL: - reason = "SIGKILL"; - break; - case MD_EXCEPTION_CODE_LIN_SIGUSR1: - reason = "SIGUSR1"; - break; - case MD_EXCEPTION_CODE_LIN_SIGSEGV: - reason = "SIGSEGV"; - break; - case MD_EXCEPTION_CODE_LIN_SIGUSR2: - reason = "SIGUSR2"; - break; - case MD_EXCEPTION_CODE_LIN_SIGPIPE: - reason = "SIGPIPE"; - break; - case MD_EXCEPTION_CODE_LIN_SIGALRM: - reason = "SIGALRM"; - break; - case MD_EXCEPTION_CODE_LIN_SIGTERM: - reason = "SIGTERM"; - break; - case MD_EXCEPTION_CODE_LIN_SIGSTKFLT: - reason = "SIGSTKFLT"; - break; - case MD_EXCEPTION_CODE_LIN_SIGCHLD: - reason = "SIGCHLD"; - break; - case MD_EXCEPTION_CODE_LIN_SIGCONT: - reason = "SIGCONT"; - break; - case MD_EXCEPTION_CODE_LIN_SIGSTOP: - reason = "SIGSTOP"; - break; - case MD_EXCEPTION_CODE_LIN_SIGTSTP: - reason = "SIGTSTP"; - break; - case MD_EXCEPTION_CODE_LIN_SIGTTIN: - reason = "SIGTTIN"; - break; - case MD_EXCEPTION_CODE_LIN_SIGTTOU: - reason = "SIGTTOU"; - break; - case MD_EXCEPTION_CODE_LIN_SIGURG: - reason = "SIGURG"; - break; - case MD_EXCEPTION_CODE_LIN_SIGXCPU: - reason = "SIGXCPU"; - break; - case MD_EXCEPTION_CODE_LIN_SIGXFSZ: - reason = "SIGXFSZ"; - break; - case MD_EXCEPTION_CODE_LIN_SIGVTALRM: - reason = "SIGVTALRM"; - break; - case MD_EXCEPTION_CODE_LIN_SIGPROF: - reason = "SIGPROF"; - break; - case MD_EXCEPTION_CODE_LIN_SIGWINCH: - reason = "SIGWINCH"; - break; - case MD_EXCEPTION_CODE_LIN_SIGIO: - reason = "SIGIO"; - break; - case MD_EXCEPTION_CODE_LIN_SIGPWR: - reason = "SIGPWR"; - break; - case MD_EXCEPTION_CODE_LIN_SIGSYS: - reason = "SIGSYS"; - break; - default: - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - break; - } - - default: { - BPLOG(INFO) << "Unknown exception reason " << reason; - break; - } - } - - return reason; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/processor/minidump_processor_unittest.cc b/toolkit/airbag/airbag/src/processor/minidump_processor_unittest.cc deleted file mode 100755 index 06fa5408dbb8..000000000000 --- a/toolkit/airbag/airbag/src/processor/minidump_processor_unittest.cc +++ /dev/null @@ -1,215 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Unit test for MinidumpProcessor. Uses a pre-generated minidump and -// corresponding symbol file, and checks the stack frames for correctness. - -#include -#include -#include "google_breakpad/processor/basic_source_line_resolver.h" -#include "google_breakpad/processor/call_stack.h" -#include "google_breakpad/processor/code_module.h" -#include "google_breakpad/processor/code_modules.h" -#include "google_breakpad/processor/minidump_processor.h" -#include "google_breakpad/processor/process_state.h" -#include "google_breakpad/processor/stack_frame.h" -#include "google_breakpad/processor/symbol_supplier.h" -#include "processor/logging.h" -#include "processor/scoped_ptr.h" - -namespace { - -using std::string; -using google_breakpad::BasicSourceLineResolver; -using google_breakpad::CallStack; -using google_breakpad::CodeModule; -using google_breakpad::MinidumpProcessor; -using google_breakpad::ProcessState; -using google_breakpad::scoped_ptr; -using google_breakpad::SymbolSupplier; -using google_breakpad::SystemInfo; - -static const char *kSystemInfoOS = "Windows NT"; -static const char *kSystemInfoOSShort = "windows"; -static const char *kSystemInfoOSVersion = "5.1.2600 Service Pack 2"; -static const char *kSystemInfoCPU = "x86"; -static const char *kSystemInfoCPUInfo = - "GenuineIntel family 6 model 13 stepping 8"; - -#define ASSERT_TRUE(cond) \ - if (!(cond)) { \ - fprintf(stderr, "FAILED: %s at %s:%d\n", #cond, __FILE__, __LINE__); \ - return false; \ - } - -#define ASSERT_FALSE(cond) ASSERT_TRUE(!(cond)) - -#define ASSERT_EQ(e1, e2) ASSERT_TRUE((e1) == (e2)) - -// Use ASSERT_*_ABORT in functions that can't return a boolean. -#define ASSERT_TRUE_ABORT(cond) \ - if (!(cond)) { \ - fprintf(stderr, "FAILED: %s at %s:%d\n", #cond, __FILE__, __LINE__); \ - abort(); \ - } - -#define ASSERT_EQ_ABORT(e1, e2) ASSERT_TRUE_ABORT((e1) == (e2)) - -class TestSymbolSupplier : public SymbolSupplier { - public: - TestSymbolSupplier() : interrupt_(false) {} - - virtual SymbolResult GetSymbolFile(const CodeModule *module, - const SystemInfo *system_info, - string *symbol_file); - - // When set to true, causes the SymbolSupplier to return INTERRUPT - void set_interrupt(bool interrupt) { interrupt_ = interrupt; } - - private: - bool interrupt_; -}; - -SymbolSupplier::SymbolResult TestSymbolSupplier::GetSymbolFile( - const CodeModule *module, - const SystemInfo *system_info, - string *symbol_file) { - ASSERT_TRUE_ABORT(module); - ASSERT_TRUE_ABORT(system_info); - ASSERT_EQ_ABORT(system_info->cpu, kSystemInfoCPU); - ASSERT_EQ_ABORT(system_info->cpu_info, kSystemInfoCPUInfo); - ASSERT_EQ_ABORT(system_info->os, kSystemInfoOS); - ASSERT_EQ_ABORT(system_info->os_short, kSystemInfoOSShort); - ASSERT_EQ_ABORT(system_info->os_version, kSystemInfoOSVersion); - - if (interrupt_) { - return INTERRUPT; - } - - if (module && module->code_file() == "c:\\test_app.exe") { - *symbol_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/symbols/test_app.pdb/" + - module->debug_identifier() + - "/test_app.sym"; - return FOUND; - } - - return NOT_FOUND; -} - -static bool RunTests() { - TestSymbolSupplier supplier; - BasicSourceLineResolver resolver; - MinidumpProcessor processor(&supplier, &resolver); - - string minidump_file = string(getenv("srcdir") ? getenv("srcdir") : ".") + - "/src/processor/testdata/minidump2.dmp"; - - ProcessState state; - ASSERT_EQ(processor.Process(minidump_file, &state), - MinidumpProcessor::PROCESS_OK); - ASSERT_EQ(state.system_info()->os, kSystemInfoOS); - ASSERT_EQ(state.system_info()->os_short, kSystemInfoOSShort); - ASSERT_EQ(state.system_info()->os_version, kSystemInfoOSVersion); - ASSERT_EQ(state.system_info()->cpu, kSystemInfoCPU); - ASSERT_EQ(state.system_info()->cpu_info, kSystemInfoCPUInfo); - ASSERT_TRUE(state.crashed()); - ASSERT_EQ(state.crash_reason(), "EXCEPTION_ACCESS_VIOLATION"); - ASSERT_EQ(state.crash_address(), 0x45); - ASSERT_EQ(state.threads()->size(), 1); - ASSERT_EQ(state.requesting_thread(), 0); - - CallStack *stack = state.threads()->at(0); - ASSERT_TRUE(stack); - ASSERT_EQ(stack->frames()->size(), 4); - - ASSERT_TRUE(stack->frames()->at(0)->module); - ASSERT_EQ(stack->frames()->at(0)->module->base_address(), 0x400000); - ASSERT_EQ(stack->frames()->at(0)->module->code_file(), "c:\\test_app.exe"); - ASSERT_EQ(stack->frames()->at(0)->function_name, - "`anonymous namespace'::CrashFunction"); - ASSERT_EQ(stack->frames()->at(0)->source_file_name, "c:\\test_app.cc"); - ASSERT_EQ(stack->frames()->at(0)->source_line, 58); - - ASSERT_TRUE(stack->frames()->at(1)->module); - ASSERT_EQ(stack->frames()->at(1)->module->base_address(), 0x400000); - ASSERT_EQ(stack->frames()->at(1)->module->code_file(), "c:\\test_app.exe"); - ASSERT_EQ(stack->frames()->at(1)->function_name, "main"); - ASSERT_EQ(stack->frames()->at(1)->source_file_name, "c:\\test_app.cc"); - ASSERT_EQ(stack->frames()->at(1)->source_line, 65); - - // This comes from the CRT - ASSERT_TRUE(stack->frames()->at(2)->module); - ASSERT_EQ(stack->frames()->at(2)->module->base_address(), 0x400000); - ASSERT_EQ(stack->frames()->at(2)->module->code_file(), "c:\\test_app.exe"); - ASSERT_EQ(stack->frames()->at(2)->function_name, "__tmainCRTStartup"); - ASSERT_EQ(stack->frames()->at(2)->source_file_name, - "f:\\sp\\vctools\\crt_bld\\self_x86\\crt\\src\\crt0.c"); - ASSERT_EQ(stack->frames()->at(2)->source_line, 327); - - // No debug info available for kernel32.dll - ASSERT_TRUE(stack->frames()->at(3)->module); - ASSERT_EQ(stack->frames()->at(3)->module->base_address(), 0x7c800000); - ASSERT_EQ(stack->frames()->at(3)->module->code_file(), - "C:\\WINDOWS\\system32\\kernel32.dll"); - ASSERT_TRUE(stack->frames()->at(3)->function_name.empty()); - ASSERT_TRUE(stack->frames()->at(3)->source_file_name.empty()); - ASSERT_EQ(stack->frames()->at(3)->source_line, 0); - - ASSERT_EQ(state.modules()->module_count(), 13); - ASSERT_TRUE(state.modules()->GetMainModule()); - ASSERT_EQ(state.modules()->GetMainModule()->code_file(), "c:\\test_app.exe"); - ASSERT_FALSE(state.modules()->GetModuleForAddress(0)); - ASSERT_EQ(state.modules()->GetMainModule(), - state.modules()->GetModuleForAddress(0x400000)); - ASSERT_EQ(state.modules()->GetModuleForAddress(0x7c801234)->debug_file(), - "kernel32.pdb"); - ASSERT_EQ(state.modules()->GetModuleForAddress(0x77d43210)->version(), - "5.1.2600.2622"); - - // Test that the symbol supplier can interrupt processing - state.Clear(); - supplier.set_interrupt(true); - ASSERT_EQ(processor.Process(minidump_file, &state), - MinidumpProcessor::PROCESS_INTERRUPTED); - - return true; -} - -} // namespace - -int main(int argc, char *argv[]) { - BPLOG_INIT(&argc, &argv); - - if (!RunTests()) { - return 1; - } - - return 0; -} diff --git a/toolkit/airbag/airbag/src/processor/minidump_stackwalk.cc b/toolkit/airbag/airbag/src/processor/minidump_stackwalk.cc deleted file mode 100755 index 35f0aa274d2e..000000000000 --- a/toolkit/airbag/airbag/src/processor/minidump_stackwalk.cc +++ /dev/null @@ -1,485 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// minidump_stackwalk.cc: Process a minidump with MinidumpProcessor, printing -// the results, including stack traces. -// -// Author: Mark Mentovai - -#include -#include -#include -#include - -#include "google_breakpad/processor/basic_source_line_resolver.h" -#include "google_breakpad/processor/call_stack.h" -#include "google_breakpad/processor/code_module.h" -#include "google_breakpad/processor/code_modules.h" -#include "google_breakpad/processor/minidump.h" -#include "google_breakpad/processor/minidump_processor.h" -#include "google_breakpad/processor/process_state.h" -#include "google_breakpad/processor/stack_frame_cpu.h" -#include "processor/logging.h" -#include "processor/pathname_stripper.h" -#include "processor/scoped_ptr.h" -#include "processor/simple_symbol_supplier.h" - -namespace { - -using std::string; -using std::vector; -using google_breakpad::BasicSourceLineResolver; -using google_breakpad::CallStack; -using google_breakpad::CodeModule; -using google_breakpad::CodeModules; -using google_breakpad::MinidumpModule; -using google_breakpad::MinidumpProcessor; -using google_breakpad::PathnameStripper; -using google_breakpad::ProcessState; -using google_breakpad::scoped_ptr; -using google_breakpad::SimpleSymbolSupplier; -using google_breakpad::StackFrame; -using google_breakpad::StackFramePPC; -using google_breakpad::StackFrameX86; - -// Separator character for machine readable output. -static const char kOutputSeparator = '|'; - -// PrintRegister prints a register's name and value to stdout. It will -// print four registers on a line. For the first register in a set, -// pass 0 for |sequence|. For registers in a set, pass the most recent -// return value of PrintRegister. Note that PrintRegister will print a -// newline before the first register (with |sequence| set to 0) is printed. -// The caller is responsible for printing the final newline after a set -// of registers is completely printed, regardless of the number of calls -// to PrintRegister. -static int PrintRegister(const char *name, u_int32_t value, int sequence) { - if (sequence % 4 == 0) { - printf("\n "); - } - printf(" %5s = 0x%08x", name, value); - return ++sequence; -} - -// StripSeparator takes a string |original| and returns a copy -// of the string with all occurences of |kOutputSeparator| removed. -static string StripSeparator(const string &original) { - string result = original; - string::size_type position = 0; - while ((position = result.find(kOutputSeparator, position)) != string::npos) { - result.erase(position, 1); - } - return result; -} - -// PrintStack prints the call stack in |stack| to stdout, in a reasonably -// useful form. Module, function, and source file names are displayed if -// they are available. The code offset to the base code address of the -// source line, function, or module is printed, preferring them in that -// order. If no source line, function, or module information is available, -// an absolute code offset is printed. -// -// If |cpu| is a recognized CPU name, relevant register state for each stack -// frame printed is also output, if available. -static void PrintStack(const CallStack *stack, const string &cpu) { - int frame_count = stack->frames()->size(); - for (int frame_index = 0; frame_index < frame_count; ++frame_index) { - const StackFrame *frame = stack->frames()->at(frame_index); - printf("%2d ", frame_index); - - if (frame->module) { - printf("%s", PathnameStripper::File(frame->module->code_file()).c_str()); - if (!frame->function_name.empty()) { - printf("!%s", frame->function_name.c_str()); - if (!frame->source_file_name.empty()) { - string source_file = PathnameStripper::File(frame->source_file_name); - printf(" [%s : %d + 0x%llx]", source_file.c_str(), - frame->source_line, - frame->instruction - - frame->source_line_base); - } else { - printf(" + 0x%llx", frame->instruction - frame->function_base); - } - } else { - printf(" + 0x%llx", frame->instruction - frame->module->base_address()); - } - } else { - printf("0x%llx", frame->instruction); - } - - int sequence = 0; - if (cpu == "x86") { - const StackFrameX86 *frame_x86 = - reinterpret_cast(frame); - - if (frame_x86->context_validity & StackFrameX86::CONTEXT_VALID_EIP) - sequence = PrintRegister("eip", frame_x86->context.eip, sequence); - if (frame_x86->context_validity & StackFrameX86::CONTEXT_VALID_ESP) - sequence = PrintRegister("esp", frame_x86->context.esp, sequence); - if (frame_x86->context_validity & StackFrameX86::CONTEXT_VALID_EBP) - sequence = PrintRegister("ebp", frame_x86->context.ebp, sequence); - if (frame_x86->context_validity & StackFrameX86::CONTEXT_VALID_EBX) - sequence = PrintRegister("ebx", frame_x86->context.ebx, sequence); - if (frame_x86->context_validity & StackFrameX86::CONTEXT_VALID_ESI) - sequence = PrintRegister("esi", frame_x86->context.esi, sequence); - if (frame_x86->context_validity & StackFrameX86::CONTEXT_VALID_EDI) - sequence = PrintRegister("edi", frame_x86->context.edi, sequence); - if (frame_x86->context_validity == StackFrameX86::CONTEXT_VALID_ALL) { - sequence = PrintRegister("eax", frame_x86->context.eax, sequence); - sequence = PrintRegister("ecx", frame_x86->context.ecx, sequence); - sequence = PrintRegister("edx", frame_x86->context.edx, sequence); - sequence = PrintRegister("efl", frame_x86->context.eflags, sequence); - } - } else if (cpu == "ppc") { - const StackFramePPC *frame_ppc = - reinterpret_cast(frame); - - if (frame_ppc->context_validity & StackFramePPC::CONTEXT_VALID_SRR0) - sequence = PrintRegister("srr0", frame_ppc->context.srr0, sequence); - if (frame_ppc->context_validity & StackFramePPC::CONTEXT_VALID_GPR1) - sequence = PrintRegister("r1", frame_ppc->context.gpr[1], sequence); - } - - printf("\n"); - } -} - -// PrintStackMachineReadable prints the call stack in |stack| to stdout, -// in the following machine readable pipe-delimited text format: -// thread number|frame number|module|function|source file|line|offset -// -// Module, function, source file, and source line may all be empty -// depending on availability. The code offset follows the same rules as -// PrintStack above. -static void PrintStackMachineReadable(int thread_num, const CallStack *stack) { - int frame_count = stack->frames()->size(); - for (int frame_index = 0; frame_index < frame_count; ++frame_index) { - const StackFrame *frame = stack->frames()->at(frame_index); - printf("%d%c%d%c", thread_num, kOutputSeparator, frame_index, - kOutputSeparator); - - if (frame->module) { - assert(!frame->module->code_file().empty()); - printf("%s", StripSeparator(PathnameStripper::File( - frame->module->code_file())).c_str()); - if (!frame->function_name.empty()) { - printf("%c%s", kOutputSeparator, - StripSeparator(frame->function_name).c_str()); - if (!frame->source_file_name.empty()) { - printf("%c%s%c%d%c0x%llx", kOutputSeparator, - StripSeparator(frame->source_file_name) - .c_str(), - kOutputSeparator, - frame->source_line, - kOutputSeparator, - frame->instruction - - frame->source_line_base); - } else { - printf("%c%c%c0x%llx", kOutputSeparator, // empty source file - kOutputSeparator, // empty source line - kOutputSeparator, - frame->instruction - frame->function_base); - } - } else { - printf("%c%c%c%c0x%llx", kOutputSeparator, // empty function name - kOutputSeparator, // empty source file - kOutputSeparator, // empty source line - kOutputSeparator, - frame->instruction - - frame->module->base_address()); - } - } else { - // the printf before this prints a trailing separator for module name - printf("%c%c%c%c0x%llx", kOutputSeparator, // empty function name - kOutputSeparator, // empty source file - kOutputSeparator, // empty source line - kOutputSeparator, - frame->instruction); - } - printf("\n"); - } -} - -static void PrintModules(const CodeModules *modules) { - if (!modules) - return; - - printf("\n"); - printf("Loaded modules:\n"); - - u_int64_t main_address = 0; - const CodeModule *main_module = modules->GetMainModule(); - if (main_module) { - main_address = main_module->base_address(); - } - - unsigned int module_count = modules->module_count(); - for (unsigned int module_sequence = 0; - module_sequence < module_count; - ++module_sequence) { - const CodeModule *module = modules->GetModuleAtSequence(module_sequence); - u_int64_t base_address = module->base_address(); - printf("0x%08llx - 0x%08llx %s %s%s\n", - base_address, base_address + module->size() - 1, - PathnameStripper::File(module->code_file()).c_str(), - module->version().empty() ? "???" : module->version().c_str(), - main_module != NULL && base_address == main_address ? - " (main)" : ""); - } -} - -// PrintModulesMachineReadable outputs a list of loaded modules, -// one per line, in the following machine-readable pipe-delimited -// text format: -// Module|{Module Filename}|{Version}|{Debug Filename}|{Debug Identifier}| -// {Base Address}|{Max Address}|{Main} -static void PrintModulesMachineReadable(const CodeModules *modules) { - if (!modules) - return; - - u_int64_t main_address = 0; - const CodeModule *main_module = modules->GetMainModule(); - if (main_module) { - main_address = main_module->base_address(); - } - - unsigned int module_count = modules->module_count(); - for (unsigned int module_sequence = 0; - module_sequence < module_count; - ++module_sequence) { - const CodeModule *module = modules->GetModuleAtSequence(module_sequence); - u_int64_t base_address = module->base_address(); - printf("Module%c%s%c%s%c%s%c%s%c0x%08llx%c0x%08llx%c%d\n", - kOutputSeparator, - StripSeparator(PathnameStripper::File(module->code_file())).c_str(), - kOutputSeparator, StripSeparator(module->version()).c_str(), - kOutputSeparator, - StripSeparator(PathnameStripper::File(module->debug_file())).c_str(), - kOutputSeparator, - StripSeparator(module->debug_identifier()).c_str(), - kOutputSeparator, base_address, - kOutputSeparator, base_address + module->size() - 1, - kOutputSeparator, - main_module != NULL && base_address == main_address ? 1 : 0); - } -} - -static void PrintProcessState(const ProcessState& process_state) { - // Print OS and CPU information. - string cpu = process_state.system_info()->cpu; - string cpu_info = process_state.system_info()->cpu_info; - printf("Operating system: %s\n", process_state.system_info()->os.c_str()); - printf(" %s\n", - process_state.system_info()->os_version.c_str()); - printf("CPU: %s\n", cpu.c_str()); - if (!cpu_info.empty()) { - // This field is optional. - printf(" %s\n", cpu_info.c_str()); - } - printf(" %d CPU%s\n", - process_state.system_info()->cpu_count, - process_state.system_info()->cpu_count != 1 ? "s" : ""); - printf("\n"); - - // Print crash information. - if (process_state.crashed()) { - printf("Crash reason: %s\n", process_state.crash_reason().c_str()); - printf("Crash address: 0x%llx\n", process_state.crash_address()); - } else { - printf("No crash\n"); - } - - // If the thread that requested the dump is known, print it first. - int requesting_thread = process_state.requesting_thread(); - if (requesting_thread != -1) { - printf("\n"); - printf("Thread %d (%s)\n", - requesting_thread, - process_state.crashed() ? "crashed" : - "requested dump, did not crash"); - PrintStack(process_state.threads()->at(requesting_thread), cpu); - } - - // Print all of the threads in the dump. - int thread_count = process_state.threads()->size(); - for (int thread_index = 0; thread_index < thread_count; ++thread_index) { - if (thread_index != requesting_thread) { - // Don't print the crash thread again, it was already printed. - printf("\n"); - printf("Thread %d\n", thread_index); - PrintStack(process_state.threads()->at(thread_index), cpu); - } - } - - PrintModules(process_state.modules()); -} - -static void PrintProcessStateMachineReadable(const ProcessState& process_state) -{ - // Print OS and CPU information. - // OS|{OS Name}|{OS Version} - // CPU|{CPU Name}|{CPU Info}|{Number of CPUs} - printf("OS%c%s%c%s\n", kOutputSeparator, - StripSeparator(process_state.system_info()->os).c_str(), - kOutputSeparator, - StripSeparator(process_state.system_info()->os_version).c_str()); - printf("CPU%c%s%c%s%c%d\n", kOutputSeparator, - StripSeparator(process_state.system_info()->cpu).c_str(), - kOutputSeparator, - // this may be empty - StripSeparator(process_state.system_info()->cpu_info).c_str(), - kOutputSeparator, - process_state.system_info()->cpu_count); - - int requesting_thread = process_state.requesting_thread(); - - // Print crash information. - // Crash|{Crash Reason}|{Crash Address}|{Crashed Thread} - printf("Crash%c", kOutputSeparator); - if (process_state.crashed()) { - printf("%s%c0x%llx%c", - StripSeparator(process_state.crash_reason()).c_str(), - kOutputSeparator, process_state.crash_address(), kOutputSeparator); - } else { - printf("No crash%c%c", kOutputSeparator, kOutputSeparator); - } - - if (requesting_thread != -1) { - printf("%d\n", requesting_thread); - } else { - printf("\n"); - } - - PrintModulesMachineReadable(process_state.modules()); - - // blank line to indicate start of threads - printf("\n"); - - // If the thread that requested the dump is known, print it first. - if (requesting_thread != -1) { - PrintStackMachineReadable(requesting_thread, - process_state.threads()->at(requesting_thread)); - } - - // Print all of the threads in the dump. - int thread_count = process_state.threads()->size(); - for (int thread_index = 0; thread_index < thread_count; ++thread_index) { - if (thread_index != requesting_thread) { - // Don't print the crash thread again, it was already printed. - PrintStackMachineReadable(thread_index, - process_state.threads()->at(thread_index)); - } - } -} - -// Processes |minidump_file| using MinidumpProcessor. |symbol_path|, if -// non-empty, is the base directory of a symbol storage area, laid out in -// the format required by SimpleSymbolSupplier. If such a storage area -// is specified, it is made available for use by the MinidumpProcessor. -// -// Returns the value of MinidumpProcessor::Process. If processing succeeds, -// prints identifying OS and CPU information from the minidump, crash -// information if the minidump was produced as a result of a crash, and -// call stacks for each thread contained in the minidump. All information -// is printed to stdout. -static bool PrintMinidumpProcess(const string &minidump_file, - const vector &symbol_paths, - bool machine_readable) { - scoped_ptr symbol_supplier; - if (!symbol_paths.empty()) { - // TODO(mmentovai): check existence of symbol_path if specified? - symbol_supplier.reset(new SimpleSymbolSupplier(symbol_paths)); - } - - BasicSourceLineResolver resolver; - MinidumpProcessor minidump_processor(symbol_supplier.get(), &resolver); - - // Process the minidump. - ProcessState process_state; - if (minidump_processor.Process(minidump_file, &process_state) != - MinidumpProcessor::PROCESS_OK) { - BPLOG(ERROR) << "MinidumpProcessor::Process failed"; - return false; - } - - if (machine_readable) { - PrintProcessStateMachineReadable(process_state); - } else { - PrintProcessState(process_state); - } - - return true; -} - -} // namespace - -static void usage(const char *program_name) { - fprintf(stderr, "usage: %s [-m] [symbol-path ...]\n" - " -m : Output in machine-readable format\n", - program_name); -} - -int main(int argc, char **argv) { - BPLOG_INIT(&argc, &argv); - - if (argc < 2) { - usage(argv[0]); - return 1; - } - - const char *minidump_file; - bool machine_readable; - int symbol_path_arg; - - if (strcmp(argv[1], "-m") == 0) { - if (argc < 3) { - usage(argv[0]); - return 1; - } - - machine_readable = true; - minidump_file = argv[2]; - symbol_path_arg = 3; - } else { - machine_readable = false; - minidump_file = argv[1]; - symbol_path_arg = 2; - } - - // extra arguments are symbol paths - std::vector symbol_paths; - if (argc > symbol_path_arg) { - for (int argi = symbol_path_arg; argi < argc; ++argi) - symbol_paths.push_back(argv[argi]); - } - - return PrintMinidumpProcess(minidump_file, - symbol_paths, - machine_readable) ? 0 : 1; -} diff --git a/toolkit/airbag/airbag/src/processor/minidump_stackwalk_machine_readable_test b/toolkit/airbag/airbag/src/processor/minidump_stackwalk_machine_readable_test deleted file mode 100755 index 2aadb2412fab..000000000000 --- a/toolkit/airbag/airbag/src/processor/minidump_stackwalk_machine_readable_test +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -# Copyright (c) 2007, Google Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -testdata_dir=$srcdir/src/processor/testdata -./src/processor/minidump_stackwalk -m $testdata_dir/minidump2.dmp \ - $testdata_dir/symbols | \ - tr -d '\015' | \ - diff -u $testdata_dir/minidump2.stackwalk.machine_readable.out - -exit $? diff --git a/toolkit/airbag/airbag/src/processor/minidump_stackwalk_test b/toolkit/airbag/airbag/src/processor/minidump_stackwalk_test deleted file mode 100755 index f97902791e48..000000000000 --- a/toolkit/airbag/airbag/src/processor/minidump_stackwalk_test +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -# Copyright (c) 2006, Google Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -testdata_dir=$srcdir/src/processor/testdata -./src/processor/minidump_stackwalk $testdata_dir/minidump2.dmp \ - $testdata_dir/symbols | \ - tr -d '\015' | \ - diff -u $testdata_dir/minidump2.stackwalk.out - -exit $? diff --git a/toolkit/airbag/airbag/src/processor/pathname_stripper.cc b/toolkit/airbag/airbag/src/processor/pathname_stripper.cc deleted file mode 100755 index 839287bdba8e..000000000000 --- a/toolkit/airbag/airbag/src/processor/pathname_stripper.cc +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// pathname_stripper.cc: Manipulates pathnames into their component parts. -// -// See pathname_stripper.h for documentation. -// -// Author: Mark Mentovai - -#include "processor/pathname_stripper.h" - -namespace google_breakpad { - -// static -string PathnameStripper::File(const string &path) { - string::size_type slash = path.rfind('/'); - string::size_type backslash = path.rfind('\\'); - - string::size_type file_start = 0; - if (slash != string::npos && - (backslash == string::npos || slash > backslash)) { - file_start = slash + 1; - } else if (backslash != string::npos) { - file_start = backslash + 1; - } - - return path.substr(file_start); -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/processor/pathname_stripper.h b/toolkit/airbag/airbag/src/processor/pathname_stripper.h deleted file mode 100755 index 17db75d68dc8..000000000000 --- a/toolkit/airbag/airbag/src/processor/pathname_stripper.h +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// pathname_stripper.h: Manipulates pathnames into their component parts. -// -// Author: Mark Mentovai - -#ifndef PROCESSOR_PATHNAME_STRIPPER_H__ -#define PROCESSOR_PATHNAME_STRIPPER_H__ - -#include - -namespace google_breakpad { - -using std::string; - -class PathnameStripper { - public: - // Given path, a pathname with components separated by slashes (/) or - // backslashes (\), returns the trailing component, without any separator. - // If path ends in a separator character, returns an empty string. - static string File(const string &path); -}; - -} // namespace google_breakpad - -#endif // PROCESSOR_PATHNAME_STRIPPER_H__ diff --git a/toolkit/airbag/airbag/src/processor/pathname_stripper_unittest.cc b/toolkit/airbag/airbag/src/processor/pathname_stripper_unittest.cc deleted file mode 100755 index 957c94f2419b..000000000000 --- a/toolkit/airbag/airbag/src/processor/pathname_stripper_unittest.cc +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include "processor/pathname_stripper.h" -#include "processor/logging.h" - -#define ASSERT_TRUE(condition) \ - if (!(condition)) { \ - fprintf(stderr, "FAIL: %s @ %s:%d\n", #condition, __FILE__, __LINE__); \ - return false; \ - } - -#define ASSERT_EQ(e1, e2) ASSERT_TRUE((e1) == (e2)) - -namespace { - -using google_breakpad::PathnameStripper; - -static bool RunTests() { - ASSERT_EQ(PathnameStripper::File("/dir/file"), "file"); - ASSERT_EQ(PathnameStripper::File("\\dir\\file"), "file"); - ASSERT_EQ(PathnameStripper::File("/dir\\file"), "file"); - ASSERT_EQ(PathnameStripper::File("\\dir/file"), "file"); - ASSERT_EQ(PathnameStripper::File("dir/file"), "file"); - ASSERT_EQ(PathnameStripper::File("dir\\file"), "file"); - ASSERT_EQ(PathnameStripper::File("dir/\\file"), "file"); - ASSERT_EQ(PathnameStripper::File("dir\\/file"), "file"); - ASSERT_EQ(PathnameStripper::File("file"), "file"); - ASSERT_EQ(PathnameStripper::File("dir/"), ""); - ASSERT_EQ(PathnameStripper::File("dir\\"), ""); - ASSERT_EQ(PathnameStripper::File("dir/dir/"), ""); - ASSERT_EQ(PathnameStripper::File("dir\\dir\\"), ""); - ASSERT_EQ(PathnameStripper::File("dir1/dir2/file"), "file"); - ASSERT_EQ(PathnameStripper::File("dir1\\dir2\\file"), "file"); - ASSERT_EQ(PathnameStripper::File("dir1/dir2\\file"), "file"); - ASSERT_EQ(PathnameStripper::File("dir1\\dir2/file"), "file"); - ASSERT_EQ(PathnameStripper::File(""), ""); - ASSERT_EQ(PathnameStripper::File("1"), "1"); - ASSERT_EQ(PathnameStripper::File("1/2"), "2"); - ASSERT_EQ(PathnameStripper::File("1\\2"), "2"); - ASSERT_EQ(PathnameStripper::File("/1/2"), "2"); - ASSERT_EQ(PathnameStripper::File("\\1\\2"), "2"); - ASSERT_EQ(PathnameStripper::File("dir//file"), "file"); - ASSERT_EQ(PathnameStripper::File("dir\\\\file"), "file"); - ASSERT_EQ(PathnameStripper::File("/dir//file"), "file"); - ASSERT_EQ(PathnameStripper::File("\\dir\\\\file"), "file"); - ASSERT_EQ(PathnameStripper::File("c:\\dir\\file"), "file"); - ASSERT_EQ(PathnameStripper::File("c:\\dir\\file.ext"), "file.ext"); - - return true; -} - -} // namespace - -int main(int argc, char **argv) { - BPLOG_INIT(&argc, &argv); - - return RunTests() ? 0 : 1; -} diff --git a/toolkit/airbag/airbag/src/processor/postfix_evaluator-inl.h b/toolkit/airbag/airbag/src/processor/postfix_evaluator-inl.h deleted file mode 100755 index 0b5f9c9b5a8d..000000000000 --- a/toolkit/airbag/airbag/src/processor/postfix_evaluator-inl.h +++ /dev/null @@ -1,267 +0,0 @@ -// Copyright (C) 2006 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// postfix_evaluator-inl.h: Postfix (reverse Polish) notation expression -// evaluator. -// -// Documentation in postfix_evaluator.h. -// -// Author: Mark Mentovai - -#ifndef PROCESSOR_POSTFIX_EVALUATOR_INL_H__ -#define PROCESSOR_POSTFIX_EVALUATOR_INL_H__ - - -#include - -#include "processor/postfix_evaluator.h" -#include "google_breakpad/processor/memory_region.h" -#include "processor/logging.h" - -namespace google_breakpad { - -using std::istringstream; -using std::ostringstream; - - -// A small class used in Evaluate to make sure to clean up the stack -// before returning failure. -class AutoStackClearer { - public: - explicit AutoStackClearer(vector *stack) : stack_(stack) {} - ~AutoStackClearer() { stack_->clear(); } - - private: - vector *stack_; -}; - - -template -bool PostfixEvaluator::Evaluate(const string &expression, - DictionaryValidityType *assigned) { - // Ensure that the stack is cleared before returning. - AutoStackClearer clearer(&stack_); - - // Tokenize, splitting on whitespace. - istringstream stream(expression); - string token; - while (stream >> token) { - // There are enough binary operations that do exactly the same thing - // (other than the specific operation, of course) that it makes sense - // to share as much code as possible. - enum BinaryOperation { - BINARY_OP_NONE = 0, - BINARY_OP_ADD, - BINARY_OP_SUBTRACT, - BINARY_OP_MULTIPLY, - BINARY_OP_DIVIDE_QUOTIENT, - BINARY_OP_DIVIDE_MODULUS - }; - - BinaryOperation operation = BINARY_OP_NONE; - if (token == "+") - operation = BINARY_OP_ADD; - else if (token == "-") - operation = BINARY_OP_SUBTRACT; - else if (token == "*") - operation = BINARY_OP_MULTIPLY; - else if (token == "/") - operation = BINARY_OP_DIVIDE_QUOTIENT; - else if (token == "%") - operation = BINARY_OP_DIVIDE_MODULUS; - - if (operation != BINARY_OP_NONE) { - // Get the operands. - ValueType operand1, operand2; - if (!PopValues(&operand1, &operand2)) { - BPLOG(ERROR) << "Could not PopValues to get two values for binary " - "operation " << token << ": " << expression; - return false; - } - - // Perform the operation. - ValueType result; - switch (operation) { - case BINARY_OP_ADD: - result = operand1 + operand2; - break; - case BINARY_OP_SUBTRACT: - result = operand1 - operand2; - break; - case BINARY_OP_MULTIPLY: - result = operand1 * operand2; - break; - case BINARY_OP_DIVIDE_QUOTIENT: - result = operand1 / operand2; - break; - case BINARY_OP_DIVIDE_MODULUS: - result = operand1 % operand2; - break; - case BINARY_OP_NONE: - // This will not happen, but compilers will want a default or - // BINARY_OP_NONE case. - BPLOG(ERROR) << "Not reached!"; - return false; - break; - } - - // Save the result. - PushValue(result); - } else if (token == "^") { - // ^ for unary dereference. Can't dereference without memory. - if (!memory_) { - BPLOG(ERROR) << "Attempt to dereference without memory: " << - expression; - return false; - } - - ValueType address; - if (!PopValue(&address)) { - BPLOG(ERROR) << "Could not PopValue to get value to derefence: " << - expression; - return false; - } - - ValueType value; - if (!memory_->GetMemoryAtAddress(address, &value)) { - BPLOG(ERROR) << "Could not dereference memory at address " << - HexString(address) << ": " << expression; - return false; - } - - PushValue(value); - } else if (token == "=") { - // = for assignment. - ValueType value; - if (!PopValue(&value)) { - BPLOG(ERROR) << "Could not PopValue to get value to assign: " << - expression; - return false; - } - - // Assignment is only meaningful when assigning into an identifier. - // The identifier must name a variable, not a constant. Variables - // begin with '$'. - string identifier; - if (PopValueOrIdentifier(NULL, &identifier) != POP_RESULT_IDENTIFIER) { - BPLOG(ERROR) << "PopValueOrIdentifier returned a value, but an " - "identifier is needed to assign " << - HexString(value) << ": " << expression; - return false; - } - if (identifier.empty() || identifier[0] != '$') { - BPLOG(ERROR) << "Can't assign " << HexString(value) << " to " << - identifier << ": " << expression; - return false; - } - - (*dictionary_)[identifier] = value; - if (assigned) - (*assigned)[identifier] = true; - } else { - // The token is not an operator, it's a literal value or an identifier. - // Push it onto the stack as-is. Use push_back instead of PushValue - // because PushValue pushes ValueType as a string, but token is already - // a string. - stack_.push_back(token); - } - } - - // If there's anything left on the stack, it indicates incomplete execution. - // This is a failure case. If the stack is empty, evalution was complete - // and successful. - BPLOG_IF(ERROR, !stack_.empty()) << "Incomplete execution: " << expression; - return stack_.empty(); -} - - -template -typename PostfixEvaluator::PopResult -PostfixEvaluator::PopValueOrIdentifier( - ValueType *value, string *identifier) { - // There needs to be at least one element on the stack to pop. - if (!stack_.size()) - return POP_RESULT_FAIL; - - string token = stack_.back(); - stack_.pop_back(); - - // First, try to treat the value as a literal. In order for this to - // succed, the entire string must be parseable as ValueType. If this - // isn't possible, it can't be a literal, so treat it as an identifier - // instead. - istringstream token_stream(token); - ValueType literal; - if (token_stream >> literal && token_stream.peek() == EOF) { - if (value) { - *value = literal; - } - return POP_RESULT_VALUE; - } else { - if (identifier) { - *identifier = token; - } - return POP_RESULT_IDENTIFIER; - } -} - - -template -bool PostfixEvaluator::PopValue(ValueType *value) { - ValueType literal; - string token; - PopResult result; - if ((result = PopValueOrIdentifier(&literal, &token)) == POP_RESULT_FAIL) { - return false; - } else if (result == POP_RESULT_VALUE) { - // This is the easy case. - *value = literal; - } else { // result == POP_RESULT_IDENTIFIER - // There was an identifier at the top of the stack. Resolve it to a - // value by looking it up in the dictionary. - typename DictionaryType::const_iterator iterator = - dictionary_->find(token); - if (iterator == dictionary_->end()) { - // The identifier wasn't found in the dictionary. Don't imply any - // default value, just fail. - BPLOG(ERROR) << "Identifier " << token << " not in dictionary"; - return false; - } - - *value = iterator->second; - } - - return true; -} - - -template -bool PostfixEvaluator::PopValues(ValueType *value1, - ValueType *value2) { - return PopValue(value2) && PopValue(value1); -} - - -template -void PostfixEvaluator::PushValue(const ValueType &value) { - ostringstream token_stream; - token_stream << value; - stack_.push_back(token_stream.str()); -} - - -} // namespace google_breakpad - - -#endif // PROCESSOR_POSTFIX_EVALUATOR_INL_H__ diff --git a/toolkit/airbag/airbag/src/processor/postfix_evaluator.h b/toolkit/airbag/airbag/src/processor/postfix_evaluator.h deleted file mode 100755 index 0a01026a7d59..000000000000 --- a/toolkit/airbag/airbag/src/processor/postfix_evaluator.h +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright (C) 2006 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// postfix_evaluator.h: Postfix (reverse Polish) notation expression evaluator. -// -// PostfixEvaluator evaluates an expression, using the expression itself -// in postfix (reverse Polish) notation and a dictionary mapping constants -// and variables to their values. The evaluator supports standard -// arithmetic operations, assignment into variables, and when an optional -// MemoryRange is provided, dereferencing. (Any unary key-to-value operation -// may be used with a MemoryRange implementation that returns the appropriate -// values, but PostfixEvaluator was written with dereferencing in mind.) -// -// The expression language is simple. Expressions are supplied as strings, -// with operands and operators delimited by whitespace. Operands may be -// either literal values suitable for ValueType, or constants or variables, -// which reference the dictionary. The supported binary operators are + -// (addition), - (subtraction), * (multiplication), / (quotient of division), -// and % (modulus of division). The unary ^ (dereference) operator is also -// provided. These operators allow any operand to be either a literal -// value, constant, or variable. Assignment (=) of any type of operand into -// a variable is also supported. -// -// The dictionary is provided as a map with string keys. Keys beginning -// with the '$' character are treated as variables. All other keys are -// treated as constants. Any results must be assigned into variables in the -// dictionary. These variables do not need to exist prior to calling -// Evaluate, unless used in an expression prior to being assigned to. The -// internal stack state is not made available after evaluation, and any -// values remaining on the stack are treated as evidence of incomplete -// execution and cause the evaluator to indicate failure. -// -// PostfixEvaluator is intended to support evaluation of "program strings" -// obtained from MSVC frame data debugging information in pdb files as -// returned by the DIA APIs. -// -// Author: Mark Mentovai - -#ifndef PROCESSOR_POSTFIX_EVALUATOR_H__ -#define PROCESSOR_POSTFIX_EVALUATOR_H__ - - -#include -#include -#include - -namespace google_breakpad { - -using std::map; -using std::string; -using std::vector; - -class MemoryRegion; - -template -class PostfixEvaluator { - public: - typedef map DictionaryType; - typedef map DictionaryValidityType; - - // Create a PostfixEvaluator object that may be used (with Evaluate) on - // one or more expressions. PostfixEvaluator does not take ownership of - // either argument. |memory| may be NULL, in which case dereferencing - // (^) will not be supported. |dictionary| may be NULL, but evaluation - // will fail in that case unless set_dictionary is used before calling - // Evaluate. - PostfixEvaluator(DictionaryType *dictionary, MemoryRegion *memory) - : dictionary_(dictionary), memory_(memory), stack_() {} - - // Evaluate the expression. The results of execution will be stored - // in one (or more) variables in the dictionary. Returns false if any - // failures occure during execution, leaving variables in the dictionary - // in an indeterminate state. If assigned is non-NULL, any keys set in - // the dictionary as a result of evaluation will also be set to true in - // assigned, providing a way to determine if an expression modifies any - // of its input variables. - bool Evaluate(const string &expression, DictionaryValidityType *assigned); - - DictionaryType* dictionary() const { return dictionary_; } - - // Reset the dictionary. PostfixEvaluator does not take ownership. - void set_dictionary(DictionaryType *dictionary) {dictionary_ = dictionary; } - - private: - // Return values for PopValueOrIdentifier - enum PopResult { - POP_RESULT_FAIL = 0, - POP_RESULT_VALUE, - POP_RESULT_IDENTIFIER - }; - - // Retrieves the topmost literal value, constant, or variable from the - // stack. Returns POP_RESULT_VALUE if the topmost entry is a literal - // value, and sets |value| accordingly. Returns POP_RESULT_IDENTIFIER - // if the topmost entry is a constant or variable identifier, and sets - // |identifier| accordingly. Returns POP_RESULT_FAIL on failure, such - // as when the stack is empty. - PopResult PopValueOrIdentifier(ValueType *value, string *identifier); - - // Retrieves the topmost value on the stack. If the topmost entry is - // an identifier, the dictionary is queried for the identifier's value. - // Returns false on failure, such as when the stack is empty or when - // a nonexistent identifier is named. - bool PopValue(ValueType *value); - - // Retrieves the top two values on the stack, in the style of PopValue. - // value2 is popped before value1, so that value1 corresponds to the - // entry that was pushed prior to value2. Returns false on failure. - bool PopValues(ValueType *value1, ValueType *value2); - - // Pushes a new value onto the stack. - void PushValue(const ValueType &value); - - // The dictionary mapping constant and variable identifiers (strings) to - // values. Keys beginning with '$' are treated as variable names, and - // PostfixEvaluator is free to create and modify these keys. Weak pointer. - DictionaryType *dictionary_; - - // If non-NULL, the MemoryRegion used for dereference (^) operations. - // If NULL, dereferencing is unsupported and will fail. Weak pointer. - MemoryRegion *memory_; - - // The stack contains state information as execution progresses. Values - // are pushed on to it as the expression string is read and as operations - // yield values; values are popped when used as operands to operators. - vector stack_; -}; - -} // namespace google_breakpad - - -#endif // PROCESSOR_POSTFIX_EVALUATOR_H__ diff --git a/toolkit/airbag/airbag/src/processor/postfix_evaluator_unittest.cc b/toolkit/airbag/airbag/src/processor/postfix_evaluator_unittest.cc deleted file mode 100755 index d687cc832014..000000000000 --- a/toolkit/airbag/airbag/src/processor/postfix_evaluator_unittest.cc +++ /dev/null @@ -1,303 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// postfix_evaluator_unittest.cc: Unit tests for PostfixEvaluator. -// -// Author: Mark Mentovai - -#include -#include -#include - -#include "processor/postfix_evaluator-inl.h" - -#include "google_breakpad/common/breakpad_types.h" -#include "google_breakpad/processor/memory_region.h" -#include "processor/logging.h" - - -namespace { - - -using std::map; -using std::string; -using google_breakpad::MemoryRegion; -using google_breakpad::PostfixEvaluator; - - -// FakeMemoryRegion is used to test PostfixEvaluator's dereference (^) -// operator. The result of dereferencing a value is one greater than -// the value. -class FakeMemoryRegion : public MemoryRegion { - public: - virtual u_int64_t GetBase() { return 0; } - virtual u_int32_t GetSize() { return 0; } - virtual bool GetMemoryAtAddress(u_int64_t address, u_int8_t *value) { - *value = address + 1; - return true; - } - virtual bool GetMemoryAtAddress(u_int64_t address, u_int16_t *value) { - *value = address + 1; - return true; - } - virtual bool GetMemoryAtAddress(u_int64_t address, u_int32_t *value) { - *value = address + 1; - return true; - } - virtual bool GetMemoryAtAddress(u_int64_t address, u_int64_t *value) { - *value = address + 1; - return true; - } -}; - - -struct EvaluateTest { - // Expression passed to PostfixEvaluator::Evaluate. - const string expression; - - // True if the expression is expected to be evaluable, false if evaluation - // is expected to fail. - bool evaluable; -}; - - -struct EvaluateTestSet { - // The dictionary used for all tests in the set. - PostfixEvaluator::DictionaryType *dictionary; - - // The list of tests. - const EvaluateTest *evaluate_tests; - - // The number of tests. - unsigned int evaluate_test_count; - - // Identifiers and their expected values upon completion of the Evaluate - // tests in the set. - map *validate_data; -}; - - -static bool RunTests() { - // The first test set checks the basic operations and failure modes. - PostfixEvaluator::DictionaryType dictionary_0; - const EvaluateTest evaluate_tests_0[] = { - { "$rAdd 2 2 + =", true }, // $rAdd = 2 + 2 = 4 - { "$rAdd $rAdd 2 + =", true }, // $rAdd = $rAdd + 2 = 6 - { "$rAdd 2 $rAdd + =", true }, // $rAdd = 2 + $rAdd = 8 - { "99", false }, // put some junk on the stack... - { "$rAdd2 2 2 + =", true }, // ...and make sure things still work - { "$rAdd2\t2\n2 + =", true }, // same but with different whitespace - { "$rAdd2 2 2 + = ", true }, // trailing whitespace - { " $rAdd2 2 2 + =", true }, // leading whitespace - { "$rAdd2 2 2 + =", true }, // extra whitespace - { "$T0 2 = +", false }, // too few operands for add - { "2 + =", false }, // too few operands for add - { "2 +", false }, // too few operands for add - { "+", false }, // too few operands for add - { "^", false }, // too few operands for dereference - { "=", false }, // too few operands for assignment - { "2 =", false }, // too few operands for assignment - { "2 2 + =", false }, // too few operands for assignment - { "2 2 =", false }, // can't assign into a literal - { "k 2 =", false }, // can't assign into a constant - { "2", false }, // leftover data on stack - { "2 2 +", false }, // leftover data on stack - { "$rAdd", false }, // leftover data on stack - { "0 $T1 0 0 + =", false }, // leftover data on stack - { "$T2 $T2 2 + =", false }, // can't operate on an undefined value - { "$rMul 9 6 * =", true }, // $rMul = 9 * 6 = 54 - { "$rSub 9 6 - =", true }, // $rSub = 9 - 6 = 3 - { "$rDivQ 9 6 / =", true }, // $rDivQ = 9 / 6 = 1 - { "$rDivM 9 6 % =", true }, // $rDivM = 9 % 6 = 3 - { "$rDeref 9 ^ =", true } // $rDeref = ^9 = 10 (FakeMemoryRegion) - }; - map validate_data_0; - validate_data_0["$rAdd"] = 8; - validate_data_0["$rAdd2"] = 4; - validate_data_0["$rSub"] = 3; - validate_data_0["$rMul"] = 54; - validate_data_0["$rDivQ"] = 1; - validate_data_0["$rDivM"] = 3; - validate_data_0["$rDeref"] = 10; - - // The second test set simulates a couple of MSVC program strings. - // The data is fudged a little bit because the tests use FakeMemoryRegion - // instead of a real stack snapshot, but the program strings are real and - // the implementation doesn't know or care that the data is not real. - PostfixEvaluator::DictionaryType dictionary_1; - dictionary_1["$ebp"] = 0xbfff0010; - dictionary_1["$eip"] = 0x10000000; - dictionary_1["$esp"] = 0xbfff0000; - dictionary_1[".cbSavedRegs"] = 4; - dictionary_1[".cbParams"] = 4; - dictionary_1[".raSearchStart"] = 0xbfff0020; - const EvaluateTest evaluate_tests_1[] = { - { "$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = " - "$L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + =", true }, - // Intermediate state: $T0 = 0xbfff0010, $eip = 0xbfff0015, - // $ebp = 0xbfff0011, $esp = 0xbfff0018, - // $L = 0xbfff000c, $P = 0xbfff001c - { "$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = " - "$L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ =", - true }, - // Intermediate state: $T0 = 0xbfff0011, $eip = 0xbfff0016, - // $ebp = 0xbfff0012, $esp = 0xbfff0019, - // $L = 0xbfff000d, $P = 0xbfff001d, - // $ebx = 0xbffefff6 - { "$T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = " - "$esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = " - "$ebx $T0 28 - ^ =", - true } - }; - map validate_data_1; - validate_data_1["$T0"] = 0xbfff0012; - validate_data_1["$T1"] = 0xbfff0020; - validate_data_1["$T2"] = 0xbfff0019; - validate_data_1["$eip"] = 0xbfff0021; - validate_data_1["$ebp"] = 0xbfff0012; - validate_data_1["$esp"] = 0xbfff0024; - validate_data_1["$L"] = 0xbfff000e; - validate_data_1["$P"] = 0xbfff0028; - validate_data_1["$ebx"] = 0xbffefff7; - validate_data_1[".cbSavedRegs"] = 4; - validate_data_1[".cbParams"] = 4; - - EvaluateTestSet evaluate_test_sets[] = { - { &dictionary_0, evaluate_tests_0, - sizeof(evaluate_tests_0) / sizeof(EvaluateTest), &validate_data_0 }, - { &dictionary_1, evaluate_tests_1, - sizeof(evaluate_tests_1) / sizeof(EvaluateTest), &validate_data_1 }, - }; - - unsigned int evaluate_test_set_count = sizeof(evaluate_test_sets) / - sizeof(EvaluateTestSet); - - FakeMemoryRegion fake_memory; - PostfixEvaluator postfix_evaluator = - PostfixEvaluator(NULL, &fake_memory); - - for (unsigned int evaluate_test_set_index = 0; - evaluate_test_set_index < evaluate_test_set_count; - ++evaluate_test_set_index) { - EvaluateTestSet *evaluate_test_set = - &evaluate_test_sets[evaluate_test_set_index]; - const EvaluateTest *evaluate_tests = evaluate_test_set->evaluate_tests; - unsigned int evaluate_test_count = evaluate_test_set->evaluate_test_count; - - // The same dictionary will be used for each test in the set. Earlier - // tests can affect the state of the dictionary for later tests. - postfix_evaluator.set_dictionary(evaluate_test_set->dictionary); - - // Use a new validity dictionary for each test set. - PostfixEvaluator::DictionaryValidityType assigned; - - for (unsigned int evaluate_test_index = 0; - evaluate_test_index < evaluate_test_count; - ++evaluate_test_index) { - const EvaluateTest *evaluate_test = &evaluate_tests[evaluate_test_index]; - - // Do the test. - bool result = postfix_evaluator.Evaluate(evaluate_test->expression, - &assigned); - if (result != evaluate_test->evaluable) { - fprintf(stderr, "FAIL: evaluate set %d/%d, test %d/%d, " - "expression \"%s\", expected %s, observed %s\n", - evaluate_test_set_index, evaluate_test_set_count, - evaluate_test_index, evaluate_test_count, - evaluate_test->expression.c_str(), - evaluate_test->evaluable ? "evaluable" : "not evaluable", - result ? "evaluted" : "not evaluated"); - return false; - } - } - - // Validate the results. - for (map::const_iterator validate_iterator = - evaluate_test_set->validate_data->begin(); - validate_iterator != evaluate_test_set->validate_data->end(); - ++validate_iterator) { - const string identifier = validate_iterator->first; - unsigned int expected_value = validate_iterator->second; - - map::const_iterator dictionary_iterator = - evaluate_test_set->dictionary->find(identifier); - - // The identifier must exist in the dictionary. - if (dictionary_iterator == evaluate_test_set->dictionary->end()) { - fprintf(stderr, "FAIL: evaluate test set %d/%d, " - "validate identifier \"%s\", " - "expected %d, observed not found\n", - evaluate_test_set_index, evaluate_test_set_count, - identifier.c_str(), expected_value); - return false; - } - - // The value in the dictionary must be the same as the expected value. - unsigned int observed_value = dictionary_iterator->second; - if (expected_value != observed_value) { - fprintf(stderr, "FAIL: evaluate test set %d/%d, " - "validate identifier \"%s\", " - "expected %d, observed %d\n", - evaluate_test_set_index, evaluate_test_set_count, - identifier.c_str(), expected_value, observed_value); - return false; - } - - // The value must be set in the "assigned" dictionary if it was a - // variable. It must not have been assigned if it was a constant. - bool expected_assigned = identifier[0] == '$'; - bool observed_assigned = false; - PostfixEvaluator::DictionaryValidityType::const_iterator - iterator_assigned = assigned.find(identifier); - if (iterator_assigned != assigned.end()) { - observed_assigned = iterator_assigned->second; - } - if (expected_assigned != observed_assigned) { - fprintf(stderr, "FAIL: evaluate test set %d/%d, " - "validate assignment of \"%s\", " - "expected %d, observed %d\n", - evaluate_test_set_index, evaluate_test_set_count, - identifier.c_str(), expected_assigned, observed_assigned); - return false; - } - } - } - - return true; -} - - -} // namespace - - -int main(int argc, char **argv) { - BPLOG_INIT(&argc, &argv); - - return RunTests() ? 0 : 1; -} diff --git a/toolkit/airbag/airbag/src/processor/process_state.cc b/toolkit/airbag/airbag/src/processor/process_state.cc deleted file mode 100755 index 934792b38d03..000000000000 --- a/toolkit/airbag/airbag/src/processor/process_state.cc +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// process_state.cc: A snapshot of a process, in a fully-digested state. -// -// See process_state.h for documentation. -// -// Author: Mark Mentovai - -#include "google_breakpad/processor/process_state.h" -#include "google_breakpad/processor/call_stack.h" -#include "google_breakpad/processor/code_modules.h" - -namespace google_breakpad { - -ProcessState::~ProcessState() { - Clear(); -} - -void ProcessState::Clear() { - time_date_stamp_ = 0; - crashed_ = false; - crash_reason_.clear(); - crash_address_ = 0; - requesting_thread_ = -1; - for (vector::const_iterator iterator = threads_.begin(); - iterator != threads_.end(); - ++iterator) { - delete *iterator; - } - threads_.clear(); - system_info_.Clear(); - delete modules_; - modules_ = NULL; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/processor/range_map-inl.h b/toolkit/airbag/airbag/src/processor/range_map-inl.h deleted file mode 100755 index 77bf7d2020d8..000000000000 --- a/toolkit/airbag/airbag/src/processor/range_map-inl.h +++ /dev/null @@ -1,210 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// range_map-inl.h: Range map implementation. -// -// See range_map.h for documentation. -// -// Author: Mark Mentovai - -#ifndef PROCESSOR_RANGE_MAP_INL_H__ -#define PROCESSOR_RANGE_MAP_INL_H__ - - -#include - -#include "processor/range_map.h" -#include "processor/logging.h" - - -namespace google_breakpad { - - -template -bool RangeMap::StoreRange(const AddressType &base, - const AddressType &size, - const EntryType &entry) { - AddressType high = base + size - 1; - - // Check for undersize or overflow. - if (size <= 0 || high < base) { - // The processor will hit this case too frequently with common symbol - // files in the size == 0 case, which is more suited to a DEBUG channel. - // Filter those out since there's no DEBUG channel at the moment. - BPLOG_IF(INFO, size != 0) << "StoreRange failed, " << HexString(base) << - "+" << HexString(size) << ", " << - HexString(high); - return false; - } - - // Ensure that this range does not overlap with another one already in the - // map. - MapConstIterator iterator_base = map_.lower_bound(base); - MapConstIterator iterator_high = map_.lower_bound(high); - - if (iterator_base != iterator_high) { - // Some other range begins in the space used by this range. It may be - // contained within the space used by this range, or it may extend lower. - // Regardless, it is an error. - AddressType other_base = iterator_base->second.base(); - AddressType other_size = iterator_base->first - other_base + 1; - BPLOG(INFO) << "StoreRange failed, an existing range is contained by or " - "extends lower than the new range: new " << - HexString(base) << "+" << HexString(size) << ", existing " << - HexString(other_base) << "+" << HexString(other_size); - return false; - } - - if (iterator_high != map_.end()) { - if (iterator_high->second.base() <= high) { - // The range above this one overlaps with this one. It may fully - // contain this range, or it may begin within this range and extend - // higher. Regardless, it's an error. - AddressType other_base = iterator_high->second.base(); - AddressType other_size = iterator_high->first - other_base + 1; - BPLOG(INFO) << "StoreRange failed, an existing range contains or " - "extends higher than the new range: new " << - HexString(base) << "+" << HexString(size) << - ", existing " << - HexString(other_base) << "+" << HexString(other_size); - return false; - } - } - - // Store the range in the map by its high address, so that lower_bound can - // be used to quickly locate a range by address. - map_.insert(MapValue(high, Range(base, entry))); - return true; -} - - -template -bool RangeMap::RetrieveRange( - const AddressType &address, EntryType *entry, - AddressType *entry_base, AddressType *entry_size) const { - BPLOG_IF(ERROR, !entry) << "RangeMap::RetrieveRange requires |entry|"; - assert(entry); - - MapConstIterator iterator = map_.lower_bound(address); - if (iterator == map_.end()) - return false; - - // The map is keyed by the high address of each range, so |address| is - // guaranteed to be lower than the range's high address. If |range| is - // not directly preceded by another range, it's possible for address to - // be below the range's low address, though. When that happens, address - // references something not within any range, so return false. - if (address < iterator->second.base()) - return false; - - *entry = iterator->second.entry(); - if (entry_base) - *entry_base = iterator->second.base(); - if (entry_size) - *entry_size = iterator->first - iterator->second.base() + 1; - - return true; -} - - -template -bool RangeMap::RetrieveNearestRange( - const AddressType &address, EntryType *entry, - AddressType *entry_base, AddressType *entry_size) const { - BPLOG_IF(ERROR, !entry) << "RangeMap::RetrieveNearestRange requires |entry|"; - assert(entry); - - // If address is within a range, RetrieveRange can handle it. - if (RetrieveRange(address, entry, entry_base, entry_size)) - return true; - - // upper_bound gives the first element whose key is greater than address, - // but we want the first element whose key is less than or equal to address. - // Decrement the iterator to get there, but not if the upper_bound already - // points to the beginning of the map - in that case, address is lower than - // the lowest stored key, so return false. - MapConstIterator iterator = map_.upper_bound(address); - if (iterator == map_.begin()) - return false; - --iterator; - - *entry = iterator->second.entry(); - if (entry_base) - *entry_base = iterator->first; - if (entry_size) - *entry_size = iterator->first - iterator->second.base() + 1; - - return true; -} - - -template -bool RangeMap::RetrieveRangeAtIndex( - int index, EntryType *entry, - AddressType *entry_base, AddressType *entry_size) const { - BPLOG_IF(ERROR, !entry) << "RangeMap::RetrieveRangeAtIndex requires |entry|"; - assert(entry); - - if (index >= GetCount()) { - BPLOG(ERROR) << "Index out of range: " << index << "/" << GetCount(); - return false; - } - - // Walk through the map. Although it's ordered, it's not a vector, so it - // can't be addressed directly by index. - MapConstIterator iterator = map_.begin(); - for (int this_index = 0; this_index < index; ++this_index) - ++iterator; - - *entry = iterator->second.entry(); - if (entry_base) - *entry_base = iterator->first; - if (entry_size) - *entry_size = iterator->first - iterator->second.base() + 1; - - return true; -} - - -template -int RangeMap::GetCount() const { - return map_.size(); -} - - -template -void RangeMap::Clear() { - map_.clear(); -} - - -} // namespace google_breakpad - - -#endif // PROCESSOR_RANGE_MAP_INL_H__ diff --git a/toolkit/airbag/airbag/src/processor/range_map.h b/toolkit/airbag/airbag/src/processor/range_map.h deleted file mode 100755 index a7b67412f5c5..000000000000 --- a/toolkit/airbag/airbag/src/processor/range_map.h +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// range_map.h: Range maps. -// -// A range map associates a range of addresses with a specific object. This -// is useful when certain objects of variable size are located within an -// address space. The range map makes it simple to determine which object is -// associated with a specific address, which may be any address within the -// range associated with an object. -// -// Author: Mark Mentovai - -#ifndef PROCESSOR_RANGE_MAP_H__ -#define PROCESSOR_RANGE_MAP_H__ - - -#include - - -namespace google_breakpad { - - -template -class RangeMap { - public: - RangeMap() : map_() {} - - // Inserts a range into the map. Returns false for a parameter error, - // or if the location of the range would conflict with a range already - // stored in the map. - bool StoreRange(const AddressType &base, - const AddressType &size, - const EntryType &entry); - - // Locates the range encompassing the supplied address. If there is - // no such range, returns false. entry_base and entry_size, if non-NULL, - // are set to the base and size of the entry's range. - bool RetrieveRange(const AddressType &address, EntryType *entry, - AddressType *entry_base, AddressType *entry_size) const; - - // Locates the range encompassing the supplied address, if one exists. - // If no range encompasses the supplied address, locates the nearest range - // to the supplied address that is lower than the address. Returns false - // if no range meets these criteria. entry_base and entry_size, if - // non-NULL, are set to the base and size of the entry's range. - bool RetrieveNearestRange(const AddressType &address, EntryType *entry, - AddressType *entry_base, AddressType *entry_size) - const; - - // Treating all ranges as a list ordered by the address spaces that they - // occupy, locates the range at the index specified by index. Returns - // false if index is larger than the number of ranges stored. entry_base - // and entry_size, if non-NULL, are set to the base and size of the entry's - // range. - // - // RetrieveRangeAtIndex is not optimized for speedy operation. - bool RetrieveRangeAtIndex(int index, EntryType *entry, - AddressType *entry_base, AddressType *entry_size) - const; - - // Returns the number of ranges stored in the RangeMap. - int GetCount() const; - - // Empties the range map, restoring it to the state it was when it was - // initially created. - void Clear(); - - private: - class Range { - public: - Range(const AddressType &base, const EntryType &entry) - : base_(base), entry_(entry) {} - - AddressType base() const { return base_; } - EntryType entry() const { return entry_; } - - private: - // The base address of the range. The high address does not need to - // be stored, because RangeMap uses it as the key to the map. - const AddressType base_; - - // The entry corresponding to a range. - const EntryType entry_; - }; - - // Convenience types. - typedef std::map AddressToRangeMap; - typedef typename AddressToRangeMap::const_iterator MapConstIterator; - typedef typename AddressToRangeMap::value_type MapValue; - - // Maps the high address of each range to a EntryType. - AddressToRangeMap map_; -}; - - -} // namespace google_breakpad - - -#endif // PROCESSOR_RANGE_MAP_H__ diff --git a/toolkit/airbag/airbag/src/processor/range_map_unittest.cc b/toolkit/airbag/airbag/src/processor/range_map_unittest.cc deleted file mode 100755 index 5b5ce5734756..000000000000 --- a/toolkit/airbag/airbag/src/processor/range_map_unittest.cc +++ /dev/null @@ -1,494 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// range_map_unittest.cc: Unit tests for RangeMap -// -// Author: Mark Mentovai - - -#include -#include - -#include "processor/range_map-inl.h" - -#include "processor/linked_ptr.h" -#include "processor/logging.h" -#include "processor/scoped_ptr.h" - - -namespace { - - -using google_breakpad::linked_ptr; -using google_breakpad::scoped_ptr; -using google_breakpad::RangeMap; - - -// A CountedObject holds an int. A global (not thread safe!) count of -// allocated CountedObjects is maintained to help test memory management. -class CountedObject { - public: - explicit CountedObject(int id) : id_(id) { ++count_; } - ~CountedObject() { --count_; } - - static int count() { return count_; } - int id() const { return id_; } - - private: - static int count_; - int id_; -}; - -int CountedObject::count_; - - -typedef int AddressType; -typedef RangeMap< AddressType, linked_ptr > TestMap; - - -// RangeTest contains data to use for store and retrieve tests. See -// RunTests for descriptions of the tests. -struct RangeTest { - // Base address to use for test - AddressType address; - - // Size of range to use for test - AddressType size; - - // Unique ID of range - unstorable ranges must have unique IDs too - int id; - - // Whether this range is expected to be stored successfully or not - bool expect_storable; -}; - - -// A RangeTestSet encompasses multiple RangeTests, which are run in -// sequence on the same RangeMap. -struct RangeTestSet { - // An array of RangeTests - const RangeTest *range_tests; - - // The number of tests in the set - unsigned int range_test_count; -}; - - -// StoreTest uses the data in a RangeTest and calls StoreRange on the -// test RangeMap. It returns true if the expected result occurred, and -// false if something else happened. -static bool StoreTest(TestMap *range_map, const RangeTest *range_test) { - linked_ptr object(new CountedObject(range_test->id)); - bool stored = range_map->StoreRange(range_test->address, - range_test->size, - object); - - if (stored != range_test->expect_storable) { - fprintf(stderr, "FAILED: " - "StoreRange id %d, expected %s, observed %s\n", - range_test->id, - range_test->expect_storable ? "storable" : "not storable", - stored ? "stored" : "not stored"); - return false; - } - - return true; -} - - -// RetrieveTest uses the data in RangeTest and calls RetrieveRange on the -// test RangeMap. If it retrieves the expected value (which can be no -// map entry at the specified range,) it returns true, otherwise, it returns -// false. RetrieveTest will check the values around the base address and -// the high address of a range to guard against off-by-one errors. -static bool RetrieveTest(TestMap *range_map, const RangeTest *range_test) { - for (unsigned int side = 0; side <= 1; ++side) { - // When side == 0, check the low side (base address) of each range. - // When side == 1, check the high side (base + size) of each range. - - // Check one-less and one-greater than the target address in addition - // to the target address itself. - - // If the size of the range is only 1, don't check one greater than - // the base or one less than the high - for a successfully stored - // range, these tests would erroneously fail because the range is too - // small. - AddressType low_offset = -1; - AddressType high_offset = 1; - if (range_test->size == 1) { - if (!side) // When checking the low side, - high_offset = 0; // don't check one over the target. - else // When checking the high side, - low_offset = 0; // don't check one under the target. - } - - for (AddressType offset = low_offset; offset <= high_offset; ++offset) { - AddressType address = - offset + - (!side ? range_test->address : - range_test->address + range_test->size - 1); - - bool expected_result = false; // This is correct for tests not stored. - if (range_test->expect_storable) { - if (offset == 0) // When checking the target address, - expected_result = true; // test should always succeed. - else if (offset == -1) // When checking one below the target, - expected_result = side; // should fail low and succeed high. - else // When checking one above the target, - expected_result = !side; // should succeed low and fail high. - } - - linked_ptr object; - AddressType retrieved_base; - AddressType retrieved_size; - bool retrieved = range_map->RetrieveRange(address, &object, - &retrieved_base, - &retrieved_size); - - bool observed_result = retrieved && object->id() == range_test->id; - - if (observed_result != expected_result) { - fprintf(stderr, "FAILED: " - "RetrieveRange id %d, side %d, offset %d, " - "expected %s, observed %s\n", - range_test->id, - side, - offset, - expected_result ? "true" : "false", - observed_result ? "true" : "false"); - return false; - } - - // If a range was successfully retrieved, check that the returned - // bounds match the range as stored. - if (observed_result == true && - (retrieved_base != range_test->address || - retrieved_size != range_test->size)) { - fprintf(stderr, "FAILED: " - "RetrieveRange id %d, side %d, offset %d, " - "expected base/size %d/%d, observed %d/%d\n", - range_test->id, - side, - offset, - range_test->address, range_test->size, - retrieved_base, retrieved_size); - return false; - } - - // Now, check RetrieveNearestRange. The nearest range is always - // expected to be different from the test range when checking one - // less than the low side. - bool expected_nearest = range_test->expect_storable; - if (!side && offset < 0) - expected_nearest = false; - - linked_ptr nearest_object; - AddressType nearest_base; - bool retrieved_nearest = range_map->RetrieveNearestRange(address, - &nearest_object, - &nearest_base, - NULL); - - // When checking one greater than the high side, RetrieveNearestRange - // should usually return the test range. When a different range begins - // at that address, though, then RetrieveNearestRange should return the - // range at the address instead of the test range. - if (side && offset > 0 && nearest_base == address) { - expected_nearest = false; - } - - bool observed_nearest = retrieved_nearest && - nearest_object->id() == range_test->id; - - if (observed_nearest != expected_nearest) { - fprintf(stderr, "FAILED: " - "RetrieveNearestRange id %d, side %d, offset %d, " - "expected %s, observed %s\n", - range_test->id, - side, - offset, - expected_nearest ? "true" : "false", - observed_nearest ? "true" : "false"); - return false; - } - } - } - - return true; -} - - -// Test RetrieveRangeAtIndex, which is supposed to return objects in order -// according to their addresses. This test is performed by looping through -// the map, calling RetrieveRangeAtIndex for all possible indices in sequence, -// and verifying that each call returns a different object than the previous -// call, and that ranges are returned with increasing base addresses. Returns -// false if the test fails. -static bool RetrieveIndexTest(TestMap *range_map, int set) { - linked_ptr object; - CountedObject *last_object = NULL; - AddressType last_base = 0; - - int object_count = range_map->GetCount(); - for (int object_index = 0; object_index < object_count; ++object_index) { - AddressType base; - if (!range_map->RetrieveRangeAtIndex(object_index, &object, &base, NULL)) { - fprintf(stderr, "FAILED: RetrieveRangeAtIndex set %d index %d, " - "expected success, observed failure\n", - set, object_index); - return false; - } - - if (!object.get()) { - fprintf(stderr, "FAILED: RetrieveRangeAtIndex set %d index %d, " - "expected object, observed NULL\n", - set, object_index); - return false; - } - - // It's impossible to do these comparisons unless there's a previous - // object to compare against. - if (last_object) { - // The object must be different from the last one. - if (object->id() == last_object->id()) { - fprintf(stderr, "FAILED: RetrieveRangeAtIndex set %d index %d, " - "expected different objects, observed same objects (%d)\n", - set, object_index, object->id()); - return false; - } - - // Each object must have a base greater than the previous object's base. - if (base <= last_base) { - fprintf(stderr, "FAILED: RetrieveRangeAtIndex set %d index %d, " - "expected different bases, observed same bases (%d)\n", - set, object_index, base); - return false; - } - } - - last_object = object.get(); - last_base = base; - } - - // Make sure that RetrieveRangeAtIndex doesn't allow lookups at indices that - // are too high. - if (range_map->RetrieveRangeAtIndex(object_count, &object, NULL, NULL)) { - fprintf(stderr, "FAILED: RetrieveRangeAtIndex set %d index %d (too large), " - "expected failure, observed success\n", - set, object_count); - return false; - } - - return true; -} - - -// RunTests runs a series of test sets. -static bool RunTests() { - // These tests will be run sequentially. The first set of tests exercises - // most functions of RangeTest, and verifies all of the bounds-checking. - const RangeTest range_tests_0[] = { - { INT_MIN, 16, 1, true }, // lowest possible range - { -2, 5, 2, true }, // a range through zero - { INT_MAX - 9, 11, 3, false }, // tests anti-overflow - { INT_MAX - 9, 10, 4, true }, // highest possible range - { 5, 0, 5, false }, // tests anti-zero-size - { 5, 1, 6, true }, // smallest possible range - { -20, 15, 7, true }, // entirely negative - - { 10, 10, 10, true }, // causes the following tests to fail - { 9, 10, 11, false }, // one-less base, one-less high - { 9, 11, 12, false }, // one-less base, identical high - { 9, 12, 13, false }, // completely contains existing - { 10, 9, 14, false }, // identical base, one-less high - { 10, 10, 15, false }, // exactly identical to existing range - { 10, 11, 16, false }, // identical base, one-greater high - { 11, 8, 17, false }, // contained completely within - { 11, 9, 18, false }, // one-greater base, identical high - { 11, 10, 19, false }, // one-greater base, one-greater high - { 9, 2, 20, false }, // overlaps bottom by one - { 10, 1, 21, false }, // overlaps bottom by one, contained - { 19, 1, 22, false }, // overlaps top by one, contained - { 19, 2, 23, false }, // overlaps top by one - - { 9, 1, 24, true }, // directly below without overlap - { 20, 1, 25, true }, // directly above without overlap - - { 6, 3, 26, true }, // exactly between two ranges, gapless - { 7, 3, 27, false }, // tries to span two ranges - { 7, 5, 28, false }, // tries to span three ranges - { 4, 20, 29, false }, // tries to contain several ranges - - { 30, 50, 30, true }, - { 90, 25, 31, true }, - { 35, 65, 32, false }, // tries to span two noncontiguous - { 120, 10000, 33, true }, // > 8-bit - { 20000, 20000, 34, true }, // > 8-bit - { 0x10001, 0x10001, 35, true }, // > 16-bit - - { 27, -1, 36, false } // tests high < base - }; - - // Attempt to fill the entire space. The entire space must be filled with - // three stores because AddressType is signed for these tests, so RangeMap - // treats the size as signed and rejects sizes that appear to be negative. - // Even if these tests were run as unsigned, two stores would be needed - // to fill the space because the entire size of the space could only be - // described by using one more bit than would be present in AddressType. - const RangeTest range_tests_1[] = { - { INT_MIN, INT_MAX, 50, true }, // From INT_MIN to -2, inclusive - { -1, 2, 51, true }, // From -1 to 0, inclusive - { 1, INT_MAX, 52, true }, // From 1 to INT_MAX, inclusive - { INT_MIN, INT_MAX, 53, false }, // Can't fill the space twice - { -1, 2, 54, false }, - { 1, INT_MAX, 55, false }, - { -3, 6, 56, false }, // -3 to 2, inclusive - spans 3 ranges - }; - - // A light round of testing to verify that RetrieveRange does the right - // the right thing at the extremities of the range when nothing is stored - // there. Checks are forced without storing anything at the extremities - // by setting size = 0. - const RangeTest range_tests_2[] = { - { INT_MIN, 0, 100, false }, // makes RetrieveRange check low end - { -1, 3, 101, true }, - { INT_MAX, 0, 102, false }, // makes RetrieveRange check high end - }; - - // Similar to the previous test set, but with a couple of ranges closer - // to the extremities. - const RangeTest range_tests_3[] = { - { INT_MIN + 1, 1, 110, true }, - { INT_MAX - 1, 1, 111, true }, - { INT_MIN, 0, 112, false }, // makes RetrieveRange check low end - { INT_MAX, 0, 113, false } // makes RetrieveRange check high end - }; - - // The range map is cleared between sets of tests listed here. - const RangeTestSet range_test_sets[] = { - { range_tests_0, sizeof(range_tests_0) / sizeof(RangeTest) }, - { range_tests_1, sizeof(range_tests_1) / sizeof(RangeTest) }, - { range_tests_2, sizeof(range_tests_2) / sizeof(RangeTest) }, - { range_tests_3, sizeof(range_tests_3) / sizeof(RangeTest) }, - { range_tests_0, sizeof(range_tests_0) / sizeof(RangeTest) } // Run again - }; - - // Maintain the range map in a pointer so that deletion can be meaningfully - // tested. - scoped_ptr range_map(new TestMap()); - - // Run all of the test sets in sequence. - unsigned int range_test_set_count = sizeof(range_test_sets) / - sizeof(RangeTestSet); - for (unsigned int range_test_set_index = 0; - range_test_set_index < range_test_set_count; - ++range_test_set_index) { - const RangeTest *range_tests = - range_test_sets[range_test_set_index].range_tests; - unsigned int range_test_count = - range_test_sets[range_test_set_index].range_test_count; - - // Run the StoreRange test, which validates StoreRange and initializes - // the RangeMap with data for the RetrieveRange test. - int stored_count = 0; // The number of ranges successfully stored - for (unsigned int range_test_index = 0; - range_test_index < range_test_count; - ++range_test_index) { - const RangeTest *range_test = &range_tests[range_test_index]; - if (!StoreTest(range_map.get(), range_test)) - return false; - - if (range_test->expect_storable) - ++stored_count; - } - - // There should be exactly one CountedObject for everything successfully - // stored in the RangeMap. - if (CountedObject::count() != stored_count) { - fprintf(stderr, "FAILED: " - "stored object counts don't match, expected %d, observed %d\n", - stored_count, - CountedObject::count()); - - return false; - } - - // The RangeMap's own count of objects should also match. - if (range_map->GetCount() != stored_count) { - fprintf(stderr, "FAILED: stored object count doesn't match GetCount, " - "expected %d, observed %d\n", - stored_count, range_map->GetCount()); - - return false; - } - - // Run the RetrieveRange test - for (unsigned int range_test_index = 0; - range_test_index < range_test_count; - ++range_test_index) { - const RangeTest *range_test = &range_tests[range_test_index]; - if (!RetrieveTest(range_map.get(), range_test)) - return false; - } - - if (!RetrieveIndexTest(range_map.get(), range_test_set_index)) - return false; - - // Clear the map between test sets. If this is the final test set, - // delete the map instead to test destruction. - if (range_test_set_index < range_test_set_count - 1) - range_map->Clear(); - else - range_map.reset(); - - // Test that all stored objects are freed when the RangeMap is cleared - // or deleted. - if (CountedObject::count() != 0) { - fprintf(stderr, "FAILED: " - "did not free all objects after %s, %d still allocated\n", - range_test_set_index < range_test_set_count - 1 ? "clear" - : "delete", - CountedObject::count()); - - return false; - } - } - - return true; -} - - -} // namespace - - -int main(int argc, char **argv) { - BPLOG_INIT(&argc, &argv); - - return RunTests() ? 0 : 1; -} diff --git a/toolkit/airbag/airbag/src/processor/scoped_ptr.h b/toolkit/airbag/airbag/src/processor/scoped_ptr.h deleted file mode 100755 index 0d4f7fd38a98..000000000000 --- a/toolkit/airbag/airbag/src/processor/scoped_ptr.h +++ /dev/null @@ -1,335 +0,0 @@ -// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. -// Copyright (c) 2001, 2002 Peter Dimov -// -// Permission to copy, use, modify, sell and distribute this software -// is granted provided this copyright notice appears in all copies. -// This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -// See http://www.boost.org/libs/smart_ptr/scoped_ptr.htm for documentation. -// - -// scoped_ptr mimics a built-in pointer except that it guarantees deletion -// of the object pointed to, either on destruction of the scoped_ptr or via -// an explicit reset(). scoped_ptr is a simple solution for simple needs; -// use shared_ptr or std::auto_ptr if your needs are more complex. - -// *** NOTE *** -// If your scoped_ptr is a class member of class FOO pointing to a -// forward declared type BAR (as shown below), then you MUST use a non-inlined -// version of the destructor. The destructor of a scoped_ptr (called from -// FOO's destructor) must have a complete definition of BAR in order to -// destroy it. Example: -// -// -- foo.h -- -// class BAR; -// -// class FOO { -// public: -// FOO(); -// ~FOO(); // Required for sources that instantiate class FOO to compile! -// -// private: -// scoped_ptr bar_; -// }; -// -// -- foo.cc -- -// #include "foo.h" -// FOO::~FOO() {} // Empty, but must be non-inlined to FOO's class definition. - -// scoped_ptr_malloc added by Google -// When one of these goes out of scope, instead of doing a delete or -// delete[], it calls free(). scoped_ptr_malloc is likely to see -// much more use than any other specializations. - -// release() added by Google -// Use this to conditionally transfer ownership of a heap-allocated object -// to the caller, usually on method success. - -#ifndef PROCESSOR_SCOPED_PTR_H__ -#define PROCESSOR_SCOPED_PTR_H__ - -#include // for std::ptrdiff_t -#include // for assert -#include // for free() decl - -namespace google_breakpad { - -template -class scoped_ptr { - private: - - T* ptr; - - scoped_ptr(scoped_ptr const &); - scoped_ptr & operator=(scoped_ptr const &); - - public: - - typedef T element_type; - - explicit scoped_ptr(T* p = 0): ptr(p) {} - - ~scoped_ptr() { - typedef char type_must_be_complete[sizeof(T)]; - delete ptr; - } - - void reset(T* p = 0) { - typedef char type_must_be_complete[sizeof(T)]; - - if (ptr != p) { - delete ptr; - ptr = p; - } - } - - T& operator*() const { - assert(ptr != 0); - return *ptr; - } - - T* operator->() const { - assert(ptr != 0); - return ptr; - } - - bool operator==(T* p) const { - return ptr == p; - } - - bool operator!=(T* p) const { - return ptr != p; - } - - T* get() const { - return ptr; - } - - void swap(scoped_ptr & b) { - T* tmp = b.ptr; - b.ptr = ptr; - ptr = tmp; - } - - T* release() { - T* tmp = ptr; - ptr = 0; - return tmp; - } - - private: - - // no reason to use these: each scoped_ptr should have its own object - template bool operator==(scoped_ptr const& p) const; - template bool operator!=(scoped_ptr const& p) const; -}; - -template inline -void swap(scoped_ptr& a, scoped_ptr& b) { - a.swap(b); -} - -template inline -bool operator==(T* p, const scoped_ptr& b) { - return p == b.get(); -} - -template inline -bool operator!=(T* p, const scoped_ptr& b) { - return p != b.get(); -} - -// scoped_array extends scoped_ptr to arrays. Deletion of the array pointed to -// is guaranteed, either on destruction of the scoped_array or via an explicit -// reset(). Use shared_array or std::vector if your needs are more complex. - -template -class scoped_array { - private: - - T* ptr; - - scoped_array(scoped_array const &); - scoped_array & operator=(scoped_array const &); - - public: - - typedef T element_type; - - explicit scoped_array(T* p = 0) : ptr(p) {} - - ~scoped_array() { - typedef char type_must_be_complete[sizeof(T)]; - delete[] ptr; - } - - void reset(T* p = 0) { - typedef char type_must_be_complete[sizeof(T)]; - - if (ptr != p) { - delete [] ptr; - ptr = p; - } - } - - T& operator[](std::ptrdiff_t i) const { - assert(ptr != 0); - assert(i >= 0); - return ptr[i]; - } - - bool operator==(T* p) const { - return ptr == p; - } - - bool operator!=(T* p) const { - return ptr != p; - } - - T* get() const { - return ptr; - } - - void swap(scoped_array & b) { - T* tmp = b.ptr; - b.ptr = ptr; - ptr = tmp; - } - - T* release() { - T* tmp = ptr; - ptr = 0; - return tmp; - } - - private: - - // no reason to use these: each scoped_array should have its own object - template bool operator==(scoped_array const& p) const; - template bool operator!=(scoped_array const& p) const; -}; - -template inline -void swap(scoped_array& a, scoped_array& b) { - a.swap(b); -} - -template inline -bool operator==(T* p, const scoped_array& b) { - return p == b.get(); -} - -template inline -bool operator!=(T* p, const scoped_array& b) { - return p != b.get(); -} - - -// This class wraps the c library function free() in a class that can be -// passed as a template argument to scoped_ptr_malloc below. -class ScopedPtrMallocFree { - public: - inline void operator()(void* x) const { - free(x); - } -}; - -// scoped_ptr_malloc<> is similar to scoped_ptr<>, but it accepts a -// second template argument, the functor used to free the object. - -template -class scoped_ptr_malloc { - private: - - T* ptr; - - scoped_ptr_malloc(scoped_ptr_malloc const &); - scoped_ptr_malloc & operator=(scoped_ptr_malloc const &); - - public: - - typedef T element_type; - - explicit scoped_ptr_malloc(T* p = 0): ptr(p) {} - - ~scoped_ptr_malloc() { - typedef char type_must_be_complete[sizeof(T)]; - free_((void*) ptr); - } - - void reset(T* p = 0) { - typedef char type_must_be_complete[sizeof(T)]; - - if (ptr != p) { - free_((void*) ptr); - ptr = p; - } - } - - T& operator*() const { - assert(ptr != 0); - return *ptr; - } - - T* operator->() const { - assert(ptr != 0); - return ptr; - } - - bool operator==(T* p) const { - return ptr == p; - } - - bool operator!=(T* p) const { - return ptr != p; - } - - T* get() const { - return ptr; - } - - void swap(scoped_ptr_malloc & b) { - T* tmp = b.ptr; - b.ptr = ptr; - ptr = tmp; - } - - T* release() { - T* tmp = ptr; - ptr = 0; - return tmp; - } - - private: - - // no reason to use these: each scoped_ptr_malloc should have its own object - template - bool operator==(scoped_ptr_malloc const& p) const; - template - bool operator!=(scoped_ptr_malloc const& p) const; - - static FreeProc const free_; -}; - -template -FP const scoped_ptr_malloc::free_ = FP(); - -template inline -void swap(scoped_ptr_malloc& a, scoped_ptr_malloc& b) { - a.swap(b); -} - -template inline -bool operator==(T* p, const scoped_ptr_malloc& b) { - return p == b.get(); -} - -template inline -bool operator!=(T* p, const scoped_ptr_malloc& b) { - return p != b.get(); -} - -} // namespace google_breakpad - -#endif // PROCESSOR_SCOPED_PTR_H__ diff --git a/toolkit/airbag/airbag/src/processor/simple_symbol_supplier.cc b/toolkit/airbag/airbag/src/processor/simple_symbol_supplier.cc deleted file mode 100755 index 628000131f12..000000000000 --- a/toolkit/airbag/airbag/src/processor/simple_symbol_supplier.cc +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// simple_symbol_supplier.cc: A simple SymbolSupplier implementation -// -// See simple_symbol_supplier.h for documentation. -// -// Author: Mark Mentovai - -#include -#include - -#include - -#include "processor/simple_symbol_supplier.h" -#include "google_breakpad/processor/code_module.h" -#include "google_breakpad/processor/system_info.h" -#include "processor/logging.h" -#include "processor/pathname_stripper.h" - -namespace google_breakpad { - -static bool file_exists(const string &file_name) { - struct stat sb; - return stat(file_name.c_str(), &sb) == 0; -} - -SymbolSupplier::SymbolResult SimpleSymbolSupplier::GetSymbolFile( - const CodeModule *module, const SystemInfo *system_info, - string *symbol_file) { - BPLOG_IF(ERROR, !symbol_file) << "SimpleSymbolSupplier::GetSymbolFile " - "requires |symbol_file|"; - assert(symbol_file); - symbol_file->clear(); - - for (unsigned int path_index = 0; path_index < paths_.size(); ++path_index) { - SymbolResult result; - if ((result = GetSymbolFileAtPath(module, system_info, paths_[path_index], - symbol_file)) != NOT_FOUND) { - return result; - } - } - return NOT_FOUND; -} - -SymbolSupplier::SymbolResult SimpleSymbolSupplier::GetSymbolFileAtPath( - const CodeModule *module, const SystemInfo *system_info, - const string &root_path, string *symbol_file) { - BPLOG_IF(ERROR, !symbol_file) << "SimpleSymbolSupplier::GetSymbolFileAtPath " - "requires |symbol_file|"; - assert(symbol_file); - symbol_file->clear(); - - if (!module) - return NOT_FOUND; - - // Start with the base path. - string path = root_path; - - // Append the debug (pdb) file name as a directory name. - path.append("/"); - string debug_file_name = PathnameStripper::File(module->debug_file()); - if (debug_file_name.empty()) { - BPLOG(ERROR) << "Can't construct symbol file path without debug_file " - "(code_file = " << - PathnameStripper::File(module->code_file()) << ")"; - return NOT_FOUND; - } - path.append(debug_file_name); - - // Append the identifier as a directory name. - path.append("/"); - string identifier = module->debug_identifier(); - if (identifier.empty()) { - BPLOG(ERROR) << "Can't construct symbol file path without debug_identifier " - "(code_file = " << - PathnameStripper::File(module->code_file()) << - ", debug_file = " << debug_file_name << ")"; - return NOT_FOUND; - } - path.append(identifier); - - // Transform the debug file name into one ending in .sym. If the existing - // name ends in .pdb, strip the .pdb. Otherwise, add .sym to the non-.pdb - // name. - path.append("/"); - string debug_file_extension = - debug_file_name.substr(debug_file_name.size() - 4); - transform(debug_file_extension.begin(), debug_file_extension.end(), - debug_file_extension.begin(), tolower); - if (debug_file_extension == ".pdb") { - path.append(debug_file_name.substr(0, debug_file_name.size() - 4)); - } else { - path.append(debug_file_name); - } - path.append(".sym"); - - if (!file_exists(path)) { - BPLOG(INFO) << "No symbol file at " << path; - return NOT_FOUND; - } - - *symbol_file = path; - return FOUND; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/processor/simple_symbol_supplier.h b/toolkit/airbag/airbag/src/processor/simple_symbol_supplier.h deleted file mode 100755 index 44e0d61789b5..000000000000 --- a/toolkit/airbag/airbag/src/processor/simple_symbol_supplier.h +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// simple_symbol_supplier.h: A simple SymbolSupplier implementation -// -// SimpleSymbolSupplier is a straightforward implementation of SymbolSupplier -// that stores symbol files in a filesystem tree. A SimpleSymbolSupplier is -// created with one or more base directories, which are the root paths for all -// symbol files. Each symbol file contained therein has a directory entry in -// the base directory with a name identical to the corresponding debugging -// file (pdb). Within each of these directories, there are subdirectories -// named for the debugging file's identifier. For recent pdb files, this is -// a concatenation of the pdb's uuid and age, presented in hexadecimal form, -// without any dashes or separators. The uuid is in uppercase hexadecimal -// and the age is in lowercase hexadecimal. Within that subdirectory, -// SimpleSymbolSupplier expects to find the symbol file, which is named -// identically to the debug file, but with a .sym extension. If the original -// debug file had a name ending in .pdb, the .pdb extension will be replaced -// with .sym. This sample hierarchy is rooted at the "symbols" base -// directory: -// -// symbols -// symbols/test_app.pdb -// symbols/test_app.pdb/63FE4780728D49379B9D7BB6460CB42A1 -// symbols/test_app.pdb/63FE4780728D49379B9D7BB6460CB42A1/test_app.sym -// symbols/kernel32.pdb -// symbols/kernel32.pdb/BCE8785C57B44245A669896B6A19B9542 -// symbols/kernel32.pdb/BCE8785C57B44245A669896B6A19B9542/kernel32.sym -// -// In this case, the uuid of test_app.pdb is -// 63fe4780-728d-4937-9b9d-7bb6460cb42a and its age is 1. -// -// This scheme was chosen to be roughly analogous to the way that -// symbol files may be accessed from Microsoft Symbol Server. A hierarchy -// used for Microsoft Symbol Server storage is usable as a hierarchy for -// SimpleSymbolServer, provided that the pdb files are transformed to dumped -// format using a tool such as dump_syms, and given a .sym extension. -// -// SimpleSymbolSupplier will iterate over all root paths searching for -// a symbol file existing in that path. -// -// SimpleSymbolSupplier supports any debugging file which can be identified -// by a CodeModule object's debug_file and debug_identifier accessors. The -// expected ultimate source of these CodeModule objects are MinidumpModule -// objects; it is this class that is responsible for assigning appropriate -// values for debug_file and debug_identifier. -// -// Author: Mark Mentovai - -#ifndef PROCESSOR_SIMPLE_SYMBOL_SUPPLIER_H__ -#define PROCESSOR_SIMPLE_SYMBOL_SUPPLIER_H__ - -#include -#include - -#include "google_breakpad/processor/symbol_supplier.h" - -namespace google_breakpad { - -using std::string; -using std::vector; - -class CodeModule; - -class SimpleSymbolSupplier : public SymbolSupplier { - public: - // Creates a new SimpleSymbolSupplier, using path as the root path where - // symbols are stored. - explicit SimpleSymbolSupplier(const string &path) : paths_(1, path) {} - - // Creates a new SimpleSymbolSupplier, using paths as a list of root - // paths where symbols may be stored. - explicit SimpleSymbolSupplier(const vector &paths) : paths_(paths) {} - - virtual ~SimpleSymbolSupplier() {} - - // Returns the path to the symbol file for the given module. See the - // description above. - SymbolResult GetSymbolFile(const CodeModule *module, - const SystemInfo *system_info, - string *symbol_file); - - protected: - SymbolResult GetSymbolFileAtPath(const CodeModule *module, - const SystemInfo *system_info, - const string &root_path, - string *symbol_file); - - private: - vector paths_; -}; - -} // namespace google_breakpad - -#endif // PROCESSOR_SIMPLE_SYMBOL_SUPPLIER_H__ diff --git a/toolkit/airbag/airbag/src/processor/stack_frame_info.h b/toolkit/airbag/airbag/src/processor/stack_frame_info.h deleted file mode 100755 index 052a93387c6b..000000000000 --- a/toolkit/airbag/airbag/src/processor/stack_frame_info.h +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// stack_frame_info.h: Holds debugging information about a stack frame. -// -// This structure is specific to Windows debugging information obtained -// from pdb files using the DIA API. -// -// Author: Mark Mentovai - - -#ifndef PROCESSOR_STACK_FRAME_INFO_H__ -#define PROCESSOR_STACK_FRAME_INFO_H__ - -#include - -#include "google_breakpad/common/breakpad_types.h" - -namespace google_breakpad { - -struct StackFrameInfo { - public: - enum Validity { - VALID_NONE = 0, - VALID_PARAMETER_SIZE = 1, - VALID_ALL = -1 - }; - - StackFrameInfo() : valid(VALID_NONE), - prolog_size(0), - epilog_size(0), - parameter_size(0), - saved_register_size(0), - local_size(0), - max_stack_size(0), - allocates_base_pointer(0), - program_string() {} - - StackFrameInfo(u_int32_t set_prolog_size, - u_int32_t set_epilog_size, - u_int32_t set_parameter_size, - u_int32_t set_saved_register_size, - u_int32_t set_local_size, - u_int32_t set_max_stack_size, - int set_allocates_base_pointer, - const std::string set_program_string) - : valid(VALID_ALL), - prolog_size(set_prolog_size), - epilog_size(set_epilog_size), - parameter_size(set_parameter_size), - saved_register_size(set_saved_register_size), - local_size(set_local_size), - max_stack_size(set_max_stack_size), - allocates_base_pointer(set_allocates_base_pointer), - program_string(set_program_string) {} - - // CopyFrom makes "this" StackFrameInfo object identical to "that". - void CopyFrom(const StackFrameInfo &that) { - valid = that.valid; - prolog_size = that.prolog_size; - epilog_size = that.epilog_size; - parameter_size = that.parameter_size; - saved_register_size = that.saved_register_size; - local_size = that.local_size; - max_stack_size = that.max_stack_size; - allocates_base_pointer = that.allocates_base_pointer; - program_string = that.program_string; - } - - // Clears the StackFrameInfo object so that users will see it as though - // it contains no information. - void Clear() { - valid = VALID_NONE; - program_string.erase(); - } - - // Identifies which fields in the structure are valid. This is of - // type Validity, but it is defined as an int because it's not - // possible to OR values into an enumerated type. Users must check - // this field before using any other. - int valid; - - // These values come from IDiaFrameData. - u_int32_t prolog_size; - u_int32_t epilog_size; - u_int32_t parameter_size; - u_int32_t saved_register_size; - u_int32_t local_size; - u_int32_t max_stack_size; - - // Only one of allocates_base_pointer or program_string will be valid. - // If program_string is empty, use allocates_base_pointer. - bool allocates_base_pointer; - std::string program_string; -}; - -} // namespace google_breakpad - - -#endif // PROCESSOR_STACK_FRAME_INFO_H__ diff --git a/toolkit/airbag/airbag/src/processor/stackwalker.cc b/toolkit/airbag/airbag/src/processor/stackwalker.cc deleted file mode 100755 index 46d8384b8fd0..000000000000 --- a/toolkit/airbag/airbag/src/processor/stackwalker.cc +++ /dev/null @@ -1,175 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// stackwalker.cc: Generic stackwalker. -// -// See stackwalker.h for documentation. -// -// Author: Mark Mentovai - - -#include - -#include "google_breakpad/processor/stackwalker.h" -#include "google_breakpad/processor/call_stack.h" -#include "google_breakpad/processor/code_module.h" -#include "google_breakpad/processor/code_modules.h" -#include "google_breakpad/processor/minidump.h" -#include "google_breakpad/processor/source_line_resolver_interface.h" -#include "google_breakpad/processor/stack_frame.h" -#include "google_breakpad/processor/symbol_supplier.h" -#include "processor/linked_ptr.h" -#include "processor/logging.h" -#include "processor/scoped_ptr.h" -#include "processor/stack_frame_info.h" -#include "processor/stackwalker_ppc.h" -#include "processor/stackwalker_x86.h" - -namespace google_breakpad { - - -Stackwalker::Stackwalker(const SystemInfo *system_info, - MemoryRegion *memory, - const CodeModules *modules, - SymbolSupplier *supplier, - SourceLineResolverInterface *resolver) - : system_info_(system_info), - memory_(memory), - modules_(modules), - supplier_(supplier), - resolver_(resolver) { -} - - -bool Stackwalker::Walk(CallStack *stack) { - BPLOG_IF(ERROR, !stack) << "Stackwalker::Walk requires |stack|"; - assert(stack); - stack->Clear(); - - // stack_frame_info parallels the CallStack. The vector is passed to the - // GetCallerFrame function. It contains information that may be helpful - // for stackwalking. - vector< linked_ptr > stack_frame_info; - - // Begin with the context frame, and keep getting callers until there are - // no more. - - // Take ownership of the pointer returned by GetContextFrame. - scoped_ptr frame(GetContextFrame()); - - while (frame.get()) { - // frame already contains a good frame with properly set instruction and - // frame_pointer fields. The frame structure comes from either the - // context frame (above) or a caller frame (below). - - linked_ptr frame_info; - - // Resolve the module information, if a module map was provided. - if (modules_) { - const CodeModule *module = - modules_->GetModuleForAddress(frame->instruction); - if (module) { - frame->module = module; - if (resolver_ && - !resolver_->HasModule(frame->module->code_file()) && - supplier_) { - string symbol_file; - SymbolSupplier::SymbolResult symbol_result = - supplier_->GetSymbolFile(module, system_info_, &symbol_file); - - switch (symbol_result) { - case SymbolSupplier::FOUND: - resolver_->LoadModule(frame->module->code_file(), symbol_file); - break; - case SymbolSupplier::NOT_FOUND: - break; // nothing to do - case SymbolSupplier::INTERRUPT: - return false; - } - } - frame_info.reset(resolver_->FillSourceLineInfo(frame.get())); - } - } - - // Add the frame to the call stack. Relinquish the ownership claim - // over the frame, because the stack now owns it. - stack->frames_.push_back(frame.release()); - - // Add the frame info to the parallel stack. - stack_frame_info.push_back(frame_info); - frame_info.reset(NULL); - - // Get the next frame and take ownership. - frame.reset(GetCallerFrame(stack, stack_frame_info)); - } - - return true; -} - - -// static -Stackwalker* Stackwalker::StackwalkerForCPU( - const SystemInfo *system_info, - MinidumpContext *context, - MemoryRegion *memory, - const CodeModules *modules, - SymbolSupplier *supplier, - SourceLineResolverInterface *resolver) { - if (!context) { - BPLOG(ERROR) << "Can't choose a stackwalker implementation without context"; - return NULL; - } - - Stackwalker *cpu_stackwalker = NULL; - - u_int32_t cpu = context->GetContextCPU(); - switch (cpu) { - case MD_CONTEXT_X86: - cpu_stackwalker = new StackwalkerX86(system_info, - context->GetContextX86(), - memory, modules, supplier, - resolver); - break; - - case MD_CONTEXT_PPC: - cpu_stackwalker = new StackwalkerPPC(system_info, - context->GetContextPPC(), - memory, modules, supplier, - resolver); - break; - } - - BPLOG_IF(ERROR, !cpu_stackwalker) << "Unknown CPU type " << HexString(cpu) << - ", can't choose a stackwalker " - "implementation"; - return cpu_stackwalker; -} - - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/processor/stackwalker_ppc.cc b/toolkit/airbag/airbag/src/processor/stackwalker_ppc.cc deleted file mode 100755 index 02a49b21b98b..000000000000 --- a/toolkit/airbag/airbag/src/processor/stackwalker_ppc.cc +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// stackwalker_ppc.cc: ppc-specific stackwalker. -// -// See stackwalker_ppc.h for documentation. -// -// Author: Mark Mentovai - - -#include "processor/stackwalker_ppc.h" -#include "google_breakpad/processor/call_stack.h" -#include "google_breakpad/processor/memory_region.h" -#include "google_breakpad/processor/stack_frame_cpu.h" -#include "processor/logging.h" - -namespace google_breakpad { - - -StackwalkerPPC::StackwalkerPPC(const SystemInfo *system_info, - const MDRawContextPPC *context, - MemoryRegion *memory, - const CodeModules *modules, - SymbolSupplier *supplier, - SourceLineResolverInterface *resolver) - : Stackwalker(system_info, memory, modules, supplier, resolver), - context_(context) { - if (memory_->GetBase() + memory_->GetSize() - 1 > 0xffffffff) { - // This implementation only covers 32-bit ppc CPUs. The limits of the - // supplied stack are invalid. Mark memory_ = NULL, which will cause - // stackwalking to fail. - BPLOG(ERROR) << "Memory out of range for stackwalking: " << - HexString(memory_->GetBase()) << "+" << - HexString(memory_->GetSize()); - memory_ = NULL; - } -} - - -StackFrame* StackwalkerPPC::GetContextFrame() { - if (!context_ || !memory_) { - BPLOG(ERROR) << "Can't get context frame without context or memory"; - return NULL; - } - - StackFramePPC *frame = new StackFramePPC(); - - // The instruction pointer is stored directly in a register, so pull it - // straight out of the CPU context structure. - frame->context = *context_; - frame->context_validity = StackFramePPC::CONTEXT_VALID_ALL; - frame->instruction = frame->context.srr0; - - return frame; -} - - -StackFrame* StackwalkerPPC::GetCallerFrame( - const CallStack *stack, - const vector< linked_ptr > &stack_frame_info) { - if (!memory_ || !stack) { - BPLOG(ERROR) << "Can't get caller frame without memory or stack"; - return NULL; - } - - // The instruction pointers for previous frames are saved on the stack. - // The typical ppc calling convention is for the called procedure to store - // its return address in the calling procedure's stack frame at 8(%r1), - // and to allocate its own stack frame by decrementing %r1 (the stack - // pointer) and saving the old value of %r1 at 0(%r1). Because the ppc has - // no hardware stack, there is no distinction between the stack pointer and - // frame pointer, and what is typically thought of as the frame pointer on - // an x86 is usually referred to as the stack pointer on a ppc. - - StackFramePPC *last_frame = static_cast( - stack->frames()->back()); - - // A caller frame must reside higher in memory than its callee frames. - // Anything else is an error, or an indication that we've reached the - // end of the stack. - u_int32_t stack_pointer; - if (!memory_->GetMemoryAtAddress(last_frame->context.gpr[1], - &stack_pointer) || - stack_pointer <= last_frame->context.gpr[1]) { - return NULL; - } - - // Mac OS X/Darwin gives 1 as the return address from the bottom-most - // frame in a stack (a thread's entry point). I haven't found any - // documentation on this, but 0 or 1 would be bogus return addresses, - // so check for them here and return false (end of stack) when they're - // hit to avoid having a phantom frame. - u_int32_t instruction; - if (!memory_->GetMemoryAtAddress(stack_pointer + 8, &instruction) || - instruction <= 1) { - return NULL; - } - - StackFramePPC *frame = new StackFramePPC(); - - frame->context = last_frame->context; - frame->context.srr0 = instruction; - frame->context.gpr[1] = stack_pointer; - frame->context_validity = StackFramePPC::CONTEXT_VALID_SRR0 | - StackFramePPC::CONTEXT_VALID_GPR1; - - // frame->context.srr0 is the return address, which is one instruction - // past the branch that caused us to arrive at the callee. Set - // frame_ppc->instruction to four less than that. Since all ppc - // instructions are 4 bytes wide, this is the address of the branch - // instruction. This allows source line information to match up with the - // line that contains a function call. Callers that require the exact - // return address value may access the context.srr0 field of StackFramePPC. - frame->instruction = frame->context.srr0 - 4; - - return frame; -} - - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/processor/stackwalker_ppc.h b/toolkit/airbag/airbag/src/processor/stackwalker_ppc.h deleted file mode 100755 index 3d31241922d7..000000000000 --- a/toolkit/airbag/airbag/src/processor/stackwalker_ppc.h +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// stackwalker_ppc.h: ppc-specific stackwalker. -// -// Provides stack frames given ppc register context and a memory region -// corresponding to a ppc stack. -// -// Author: Mark Mentovai - - -#ifndef PROCESSOR_STACKWALKER_PPC_H__ -#define PROCESSOR_STACKWALKER_PPC_H__ - - -#include "google_breakpad/common/breakpad_types.h" -#include "google_breakpad/common/minidump_format.h" -#include "google_breakpad/processor/stackwalker.h" - -namespace google_breakpad { - -class CodeModules; - -class StackwalkerPPC : public Stackwalker { - public: - // context is a ppc context object that gives access to ppc-specific - // register state corresponding to the innermost called frame to be - // included in the stack. The other arguments are passed directly through - // to the base Stackwalker constructor. - StackwalkerPPC(const SystemInfo *system_info, - const MDRawContextPPC *context, - MemoryRegion *memory, - const CodeModules *modules, - SymbolSupplier *supplier, - SourceLineResolverInterface *resolver); - - private: - // Implementation of Stackwalker, using ppc context (stack pointer in %r1, - // saved program counter in %srr0) and stack conventions (saved stack - // pointer at 0(%r1), return address at 8(0(%r1)). - virtual StackFrame* GetContextFrame(); - virtual StackFrame* GetCallerFrame( - const CallStack *stack, - const vector< linked_ptr > &stack_frame_info); - - // Stores the CPU context corresponding to the innermost stack frame to - // be returned by GetContextFrame. - const MDRawContextPPC *context_; -}; - - -} // namespace google_breakpad - - -#endif // PROCESSOR_STACKWALKER_PPC_H__ diff --git a/toolkit/airbag/airbag/src/processor/stackwalker_selftest.cc b/toolkit/airbag/airbag/src/processor/stackwalker_selftest.cc deleted file mode 100755 index 913bb0ab5e1c..000000000000 --- a/toolkit/airbag/airbag/src/processor/stackwalker_selftest.cc +++ /dev/null @@ -1,317 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// stackwalker_selftest.cc: Tests StackwalkerX86 or StackwalkerPPC using the -// running process' stack as test data, if running on an x86 or ppc and -// compiled with gcc. This test is not enabled in the "make check" suite -// by default, because certain optimizations interfere with its proper -// operation. To turn it on, configure with --enable-selftest. -// -// Optimizations that cause problems: -// - stack frame reuse. The Recursor function here calls itself with -// |return Recursor|. When the caller's frame is reused, it will cause -// CountCallerFrames to correctly return the same number of frames -// in both the caller and callee. This is considered an unexpected -// condition in the test, which expects a callee to have one more -// caller frame in the stack than its caller. -// - frame pointer omission. Even with a stackwalker that understands -// this optimization, the code to harness debug information currently -// only exists to retrieve it from minidumps, not the current process. -// -// This test can also serve as a developmental and debugging aid if -// PRINT_STACKS is defined. -// -// Author: Mark Mentovai - -#if defined(__GNUC__) && (defined(__i386__) || defined(__ppc__)) - - -#include - -#include "google_breakpad/common/breakpad_types.h" -#include "google_breakpad/common/minidump_format.h" -#include "google_breakpad/processor/basic_source_line_resolver.h" -#include "google_breakpad/processor/call_stack.h" -#include "google_breakpad/processor/memory_region.h" -#include "google_breakpad/processor/stack_frame.h" -#include "google_breakpad/processor/stack_frame_cpu.h" -#include "processor/logging.h" -#include "processor/scoped_ptr.h" - -using google_breakpad::BasicSourceLineResolver; -using google_breakpad::CallStack; -using google_breakpad::MemoryRegion; -using google_breakpad::scoped_ptr; -using google_breakpad::StackFrame; -using google_breakpad::StackFramePPC; -using google_breakpad::StackFrameX86; - -#if defined(__i386__) -#include "processor/stackwalker_x86.h" -using google_breakpad::StackwalkerX86; -#elif defined(__ppc__) -#include "processor/stackwalker_ppc.h" -using google_breakpad::StackwalkerPPC; -#endif // __i386__ || __ppc__ - -#define RECURSION_DEPTH 100 - - -// A simple MemoryRegion subclass that provides direct access to this -// process' memory space by pointer. -class SelfMemoryRegion : public MemoryRegion { - public: - virtual u_int64_t GetBase() { return 0; } - virtual u_int32_t GetSize() { return 0xffffffff; } - - bool GetMemoryAtAddress(u_int64_t address, u_int8_t* value) { - return GetMemoryAtAddressInternal(address, value); } - bool GetMemoryAtAddress(u_int64_t address, u_int16_t* value) { - return GetMemoryAtAddressInternal(address, value); } - bool GetMemoryAtAddress(u_int64_t address, u_int32_t* value) { - return GetMemoryAtAddressInternal(address, value); } - bool GetMemoryAtAddress(u_int64_t address, u_int64_t* value) { - return GetMemoryAtAddressInternal(address, value); } - - private: - template bool GetMemoryAtAddressInternal(u_int64_t address, - T* value) { - // Without knowing what addresses are actually mapped, just assume that - // everything low is not mapped. This helps the stackwalker catch the - // end of a stack when it tries to dereference a null or low pointer - // in an attempt to find the caller frame. Other unmapped accesses will - // cause the program to crash, but that would properly be a test failure. - if (address < 0x100) - return false; - - u_int8_t* memory = 0; - *value = *reinterpret_cast(&memory[address]); - return true; - } -}; - - -#if defined(__i386__) - -// GetEBP returns the current value of the %ebp register. Because it's -// implemented as a function, %ebp itself contains GetEBP's frame pointer -// and not the caller's frame pointer. Dereference %ebp to obtain the -// caller's frame pointer, which the compiler-generated preamble stored -// on the stack (provided frame pointers are not being omitted.) Because -// this function depends on the compiler-generated preamble, inlining is -// disabled. -static u_int32_t GetEBP() __attribute__((noinline)); -static u_int32_t GetEBP() { - u_int32_t ebp; - __asm__ __volatile__( - "movl (%%ebp), %0" - : "=a" (ebp) - ); - return ebp; -} - - -// The caller's %esp is 8 higher than the value of %ebp in this function, -// assuming that it's not inlined and that the standard prolog is used. -// The CALL instruction places a 4-byte return address on the stack above -// the caller's %esp, and this function's prolog will save the caller's %ebp -// on the stack as well, for another 4 bytes, before storing %esp in %ebp. -static u_int32_t GetESP() __attribute__((noinline)); -static u_int32_t GetESP() { - u_int32_t ebp; - __asm__ __volatile__( - "movl %%ebp, %0" - : "=a" (ebp) - ); - return ebp + 8; -} - - -// GetEIP returns the instruction pointer identifying the next instruction -// to execute after GetEIP returns. It obtains this information from the -// stack, where it was placed by the call instruction that called GetEIP. -// This function depends on frame pointers not being omitted. It is possible -// to write a pure asm version of this routine that has no compiler-generated -// preamble and uses %esp instead of %ebp; that would function in the -// absence of frame pointers. However, the simpler approach is used here -// because GetEBP and stackwalking necessarily depends on access to frame -// pointers. Because this function depends on a call instruction and the -// compiler-generated preamble, inlining is disabled. -static u_int32_t GetEIP() __attribute__((noinline)); -static u_int32_t GetEIP() { - u_int32_t eip; - __asm__ __volatile__( - "movl 4(%%ebp), %0" - : "=a" (eip) - ); - return eip; -} - - -#elif defined(__ppc__) - - -// GetSP returns the current value of the %r1 register, which by convention, -// is the stack pointer on ppc. Because it's implemented as a function, -// %r1 itself contains GetSP's own stack pointer and not the caller's stack -// pointer. Dereference %r1 to obtain the caller's stack pointer, which the -// compiler-generated prolog stored on the stack. Because this function -// depends on the compiler-generated prolog, inlining is disabled. -static u_int32_t GetSP() __attribute__((noinline)); -static u_int32_t GetSP() { - u_int32_t sp; - __asm__ __volatile__( - "lwz %0, 0(r1)" - : "=r" (sp) - ); - return sp; -} - - -// GetPC returns the program counter identifying the next instruction to -// execute after GetPC returns. It obtains this information from the -// link register, where it was placed by the branch instruction that called -// GetPC. Because this function depends on the caller's use of a branch -// instruction, inlining is disabled. -static u_int32_t GetPC() __attribute__((noinline)); -static u_int32_t GetPC() { - u_int32_t lr; - __asm__ __volatile__( - "mflr %0" - : "=r" (lr) - ); - return lr; -} - - -#endif // __i386__ || __ppc__ - - -// CountCallerFrames returns the number of stack frames beneath the function -// that called CountCallerFrames. Because this function's return value -// is dependent on the size of the stack beneath it, inlining is disabled, -// and any function that calls this should not be inlined either. -static unsigned int CountCallerFrames() __attribute__((noinline)); -static unsigned int CountCallerFrames() { - SelfMemoryRegion memory; - BasicSourceLineResolver resolver; - -#if defined(__i386__) - MDRawContextX86 context = MDRawContextX86(); - context.eip = GetEIP(); - context.ebp = GetEBP(); - context.esp = GetESP(); - - StackwalkerX86 stackwalker = StackwalkerX86(NULL, &context, &memory, NULL, - NULL, &resolver); -#elif defined(__ppc__) - MDRawContextPPC context = MDRawContextPPC(); - context.srr0 = GetPC(); - context.gpr[1] = GetSP(); - - StackwalkerPPC stackwalker = StackwalkerPPC(NULL, &context, &memory, NULL, - NULL, &resolver); -#endif // __i386__ || __ppc__ - - CallStack stack; - stackwalker.Walk(&stack); - -#ifdef PRINT_STACKS - printf("\n"); - for (unsigned int frame_index = 0; - frame_index < stack.frames()->size(); - ++frame_index) { - StackFrame *frame = stack.frames()->at(frame_index); - printf("frame %-3d instruction = 0x%08llx", - frame_index, frame->instruction); -#if defined(__i386__) - StackFrameX86 *frame_x86 = reinterpret_cast(frame); - printf(" esp = 0x%08x ebp = 0x%08x\n", - frame_x86->context.esp, frame_x86->context.ebp); -#elif defined(__ppc__) - StackFramePPC *frame_ppc = reinterpret_cast(frame); - printf(" gpr[1] = 0x%08x\n", frame_ppc->context.gpr[1]); -#endif // __i386__ || __ppc__ - } -#endif // PRINT_STACKS - - // Subtract 1 because the caller wants the number of frames beneath - // itself. Because the caller called us, subract two for our frame and its - // frame, which are included in stack.size(). - return stack.frames()->size() - 2; -} - - -// Recursor verifies that the number stack frames beneath itself is one more -// than the number of stack frames beneath its parent. When depth frames -// have been reached, Recursor stops checking and returns success. If the -// frame count check fails at any depth, Recursor will stop and return false. -// Because this calls CountCallerFrames, inlining is disabled. -static bool Recursor(unsigned int depth, unsigned int parent_callers) - __attribute__((noinline)); -static bool Recursor(unsigned int depth, unsigned int parent_callers) { - unsigned int callers = CountCallerFrames(); - if (callers != parent_callers + 1) - return false; - - if (depth) - return Recursor(depth - 1, callers); - - // depth == 0 - return true; -} - - -// Because this calls CountCallerFrames, inlining is disabled - but because -// it's main (and nobody calls it other than the entry point), it wouldn't -// be inlined anyway. -int main(int argc, char** argv) __attribute__((noinline)); -int main(int argc, char** argv) { - BPLOG_INIT(&argc, &argv); - - return Recursor(RECURSION_DEPTH, CountCallerFrames()) ? 0 : 1; -} - - -#else // __GNUC__ && (__i386__ || __ppc__) -// Not gcc? We use gcc's __asm__. -// Not i386 or ppc? We can only test stacks we know how to walk. - - -int main(int argc, char **argv) { - BPLOG_INIT(&argc, &argv); - - // "make check" interprets an exit status of 77 to mean that the test is - // not supported. - BPLOG(ERROR) << "Selftest not supported here"; - return 77; -} - - -#endif // __GNUC__ && (__i386__ || __ppc__) diff --git a/toolkit/airbag/airbag/src/processor/stackwalker_x86.cc b/toolkit/airbag/airbag/src/processor/stackwalker_x86.cc deleted file mode 100755 index e39df17f26cb..000000000000 --- a/toolkit/airbag/airbag/src/processor/stackwalker_x86.cc +++ /dev/null @@ -1,432 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// stackwalker_x86.cc: x86-specific stackwalker. -// -// See stackwalker_x86.h for documentation. -// -// Author: Mark Mentovai - - -#include "processor/postfix_evaluator-inl.h" - -#include "processor/stackwalker_x86.h" -#include "google_breakpad/processor/call_stack.h" -#include "google_breakpad/processor/code_modules.h" -#include "google_breakpad/processor/memory_region.h" -#include "google_breakpad/processor/stack_frame_cpu.h" -#include "processor/linked_ptr.h" -#include "processor/logging.h" -#include "processor/stack_frame_info.h" - -namespace google_breakpad { - - -StackwalkerX86::StackwalkerX86(const SystemInfo *system_info, - const MDRawContextX86 *context, - MemoryRegion *memory, - const CodeModules *modules, - SymbolSupplier *supplier, - SourceLineResolverInterface *resolver) - : Stackwalker(system_info, memory, modules, supplier, resolver), - context_(context) { - if (memory_->GetBase() + memory_->GetSize() - 1 > 0xffffffff) { - // The x86 is a 32-bit CPU, the limits of the supplied stack are invalid. - // Mark memory_ = NULL, which will cause stackwalking to fail. - BPLOG(ERROR) << "Memory out of range for stackwalking: " << - HexString(memory_->GetBase()) << "+" << - HexString(memory_->GetSize()); - memory_ = NULL; - } -} - - -StackFrame* StackwalkerX86::GetContextFrame() { - if (!context_ || !memory_) { - BPLOG(ERROR) << "Can't get context frame without context or memory"; - return NULL; - } - - StackFrameX86 *frame = new StackFrameX86(); - - // The instruction pointer is stored directly in a register, so pull it - // straight out of the CPU context structure. - frame->context = *context_; - frame->context_validity = StackFrameX86::CONTEXT_VALID_ALL; - frame->instruction = frame->context.eip; - - return frame; -} - - -StackFrame* StackwalkerX86::GetCallerFrame( - const CallStack *stack, - const vector< linked_ptr > &stack_frame_info) { - if (!memory_ || !stack) { - BPLOG(ERROR) << "Can't get caller frame without memory or stack"; - return NULL; - } - - StackFrameX86 *last_frame = static_cast( - stack->frames()->back()); - StackFrameInfo *last_frame_info = stack_frame_info.back().get(); - - // This stackwalker sets each frame's %esp to its value immediately prior - // to the CALL into the callee. This means that %esp points to the last - // callee argument pushed onto the stack, which may not be where %esp points - // after the callee returns. Specifically, the value is correct for the - // cdecl calling convention, but not other conventions. The cdecl - // convention requires a caller to pop its callee's arguments from the - // stack after the callee returns. This is usually accomplished by adding - // the known size of the arguments to %esp. Other calling conventions, - // including stdcall, thiscall, and fastcall, require the callee to pop any - // parameters stored on the stack before returning. This is usually - // accomplished by using the RET n instruction, which pops n bytes off - // the stack after popping the return address. - // - // Because each frame's %esp will point to a location on the stack after - // callee arguments have been PUSHed, when locating things in a stack frame - // relative to %esp, the size of the arguments to the callee need to be - // taken into account. This seems a little bit unclean, but it's better - // than the alternative, which would need to take these same things into - // account, but only for cdecl functions. With this implementation, we get - // to be agnostic about each function's calling convention. Furthermore, - // this is how Windows debugging tools work, so it means that the %esp - // values produced by this stackwalker directly correspond to the %esp - // values you'll see there. - // - // If the last frame has no callee (because it's the context frame), just - // set the callee parameter size to 0: the stack pointer can't point to - // callee arguments because there's no callee. This is correct as long - // as the context wasn't captured while arguments were being pushed for - // a function call. Note that there may be functions whose parameter sizes - // are unknown, 0 is also used in that case. When that happens, it should - // be possible to walk to the next frame without reference to %esp. - - int frames_already_walked = stack_frame_info.size(); - u_int32_t last_frame_callee_parameter_size = 0; - if (frames_already_walked >= 2) { - StackFrameInfo *last_frame_callee_info = - stack_frame_info[frames_already_walked - 2].get(); - if (last_frame_callee_info && - last_frame_callee_info->valid & StackFrameInfo::VALID_PARAMETER_SIZE) { - last_frame_callee_parameter_size = - last_frame_callee_info->parameter_size; - } - } - - // Set up the dictionary for the PostfixEvaluator. %ebp and %esp are used - // in each program string, and their previous values are known, so set them - // here. .cbCalleeParams is a Breakpad extension that allows us to use - // the PostfixEvaluator engine when certain types of debugging information - // are present without having to write the constants into the program string - // as literals. - PostfixEvaluator::DictionaryType dictionary; - dictionary["$ebp"] = last_frame->context.ebp; - dictionary["$esp"] = last_frame->context.esp; - dictionary[".cbCalleeParams"] = last_frame_callee_parameter_size; - - if (last_frame_info && last_frame_info->valid == StackFrameInfo::VALID_ALL) { - // FPO debugging data is available. Initialize constants. - dictionary[".cbSavedRegs"] = last_frame_info->saved_register_size; - dictionary[".cbLocals"] = last_frame_info->local_size; - dictionary[".raSearchStart"] = last_frame->context.esp + - last_frame_callee_parameter_size + - last_frame_info->local_size + - last_frame_info->saved_register_size; - } - if (last_frame_info && - last_frame_info->valid & StackFrameInfo::VALID_PARAMETER_SIZE) { - // This is treated separately because it can either come from FPO data or - // from other debugging data. - dictionary[".cbParams"] = last_frame_info->parameter_size; - } - - // Decide what type of program string to use. The program string is in - // postfix notation and will be passed to PostfixEvaluator::Evaluate. - // Given the dictionary and the program string, it is possible to compute - // the return address and the values of other registers in the calling - // function. When encountering a nontraditional frame (one which takes - // advantage of FPO), the stack may need to be scanned for these values. - // For traditional frames, simple deterministic dereferencing suffices - // without any need for scanning. The results of program string evaluation - // will be used to determine whether to scan for better values. - string program_string; - bool traditional_frame = true; - bool recover_ebp = true; - if (last_frame_info && last_frame_info->valid == StackFrameInfo::VALID_ALL) { - // FPO data available. - traditional_frame = false; - if (!last_frame_info->program_string.empty()) { - // The FPO data has its own program string, which will tell us how to - // get to the caller frame, and may even fill in the values of - // nonvolatile registers and provide pointers to local variables and - // parameters. In some cases, particularly with program strings that use - // .raSearchStart, the stack may need to be scanned afterward. - program_string = last_frame_info->program_string; - } else if (last_frame_info->allocates_base_pointer) { - // The function corresponding to the last frame doesn't use the frame - // pointer for conventional purposes, but it does allocate a new - // frame pointer and use it for its own purposes. Its callee's - // information is still accessed relative to %esp, and the previous - // value of %ebp can be recovered from a location in its stack frame, - // within the saved-register area. - // - // Functions that fall into this category use the %ebp register for - // a purpose other than the frame pointer. They restore the caller's - // %ebp before returning. These functions create their stack frame - // after a CALL by decrementing the stack pointer in an amount - // sufficient to store local variables, and then PUSHing saved - // registers onto the stack. Arguments to a callee function, if any, - // are PUSHed after that. Walking up to the caller, therefore, - // can be done solely with calculations relative to the stack pointer - // (%esp). The return address is recovered from the memory location - // above the known sizes of the callee's parameters, saved registers, - // and locals. The caller's stack pointer (the value of %esp when - // the caller executed CALL) is the location immediately above the - // saved return address. The saved value of %ebp to be restored for - // the caller is at a known location in the saved-register area of - // the stack frame. - // - // For this type of frame, MSVC 14 (from Visual Studio 8/2005) in - // link-time code generation mode (/LTCG and /GL) can generate erroneous - // debugging data. The reported size of saved registers can be 0, - // which is clearly an error because these frames must, at the very - // least, save %ebp. For this reason, in addition to those given above - // about the use of .raSearchStart, the stack may need to be scanned - // for a better return address and a better frame pointer after the - // program string is evaluated. - // - // %eip_new = *(%esp_old + callee_params + saved_regs + locals) - // %ebp_new = *(%esp_old + callee_params + saved_regs - 8) - // %esp_new = %esp_old + callee_params + saved_regs + locals + 4 - program_string = "$eip .raSearchStart ^ = " - "$ebp $esp .cbCalleeParams + .cbSavedRegs + 8 - ^ = " - "$esp .raSearchStart 4 + ="; - } else { - // The function corresponding to the last frame doesn't use %ebp at - // all. The callee frame is located relative to %esp. - // - // The called procedure's instruction pointer and stack pointer are - // recovered in the same way as the case above, except that no - // frame pointer (%ebp) is used at all, so it is not saved anywhere - // in the callee's stack frame and does not need to be recovered. - // Because %ebp wasn't used in the callee, whatever value it has - // is the value that it had in the caller, so it can be carried - // straight through without bringing its validity into question. - // - // Because of the use of .raSearchStart, the stack will possibly be - // examined to locate a better return address after program string - // evaluation. The stack will not be examined to locate a saved - // %ebp value, because these frames do not save (or use) %ebp. - // - // %eip_new = *(%esp_old + callee_params + saved_regs + locals) - // %esp_new = %esp_old + callee_params + saved_regs + locals + 4 - // %ebp_new = %ebp_old - program_string = "$eip .raSearchStart ^ = " - "$esp .raSearchStart 4 + ="; - recover_ebp = false; - } - } else { - // No FPO information is available for the last frame. Assume that the - // standard %ebp-using x86 calling convention is in use. - // - // The typical x86 calling convention, when frame pointers are present, - // is for the calling procedure to use CALL, which pushes the return - // address onto the stack and sets the instruction pointer (%eip) to - // the entry point of the called routine. The called routine then - // PUSHes the calling routine's frame pointer (%ebp) onto the stack - // before copying the stack pointer (%esp) to the frame pointer (%ebp). - // Therefore, the calling procedure's frame pointer is always available - // by dereferencing the called procedure's frame pointer, and the return - // address is always available at the memory location immediately above - // the address pointed to by the called procedure's frame pointer. The - // calling procedure's stack pointer (%esp) is 8 higher than the value - // of the called procedure's frame pointer at the time the calling - // procedure made the CALL: 4 bytes for the return address pushed by the - // CALL itself, and 4 bytes for the callee's PUSH of the caller's frame - // pointer. - // - // Instruction and frame pointer recovery for these traditional frames is - // entirely deterministic, and the stack will not be scanned after - // recovering these values. - // - // %eip_new = *(%ebp_old + 4) - // %esp_new = %ebp_old + 8 - // %ebp_new = *(%ebp_old) - program_string = "$eip $ebp 4 + ^ = " - "$esp $ebp 8 + = " - "$ebp $ebp ^ ="; - } - - // Now crank it out, making sure that the program string set at least the - // two required variables. - PostfixEvaluator evaluator = - PostfixEvaluator(&dictionary, memory_); - PostfixEvaluator::DictionaryValidityType dictionary_validity; - if (!evaluator.Evaluate(program_string, &dictionary_validity) || - dictionary_validity.find("$eip") == dictionary_validity.end() || - dictionary_validity.find("$esp") == dictionary_validity.end()) { - return NULL; - } - - // If this stack frame did not use %ebp in a traditional way, locating the - // return address isn't entirely deterministic. In that case, the stack - // can be scanned to locate the return address. - // - // Even in nontraditional frames, if program string evaluation resulted in - // both %eip and %ebp values of 0, trust that the end of the stack has been - // reached and don't scan for anything else. - if (!traditional_frame && - (dictionary["$eip"] != 0 || dictionary["$ebp"] != 0)) { - int offset = 0; - - // This scan can only be done if a CodeModules object is available, to - // check that candidate return addresses are in fact inside a module. - // - // TODO(mmentovai): This ignores dynamically-generated code. One possible - // solution is to check the minidump's memory map to see if the candidate - // %eip value comes from a mapped executable page, although this would - // require dumps that contain MINIDUMP_MEMORY_INFO, which the Breakpad - // client doesn't currently write (it would need to call MiniDumpWriteDump - // with the MiniDumpWithFullMemoryInfo type bit set). Even given this - // ability, older OSes (pre-XP SP2) and CPUs (pre-P4) don't enforce - // an independent execute privilege on memory pages. - - u_int32_t eip = dictionary["$eip"]; - if (modules_ && !modules_->GetModuleForAddress(eip)) { - const int kRASearchWords = 15; - - // The instruction pointer at .raSearchStart was invalid, so start - // looking one 32-bit word above that location. - u_int32_t location_start = dictionary[".raSearchStart"] + 4; - - for (u_int32_t location = location_start; - location <= location_start + kRASearchWords * 4; - location += 4) { - if (!memory_->GetMemoryAtAddress(location, &eip)) - break; - - if (modules_->GetModuleForAddress(eip)) { - // This is a better return address that what program string - // evaluation found. Use it, and set %esp to the location above the - // one where the return address was found. - // - // TODO(mmentovai): The return-address check can be made even - // stronger in modules for which debugging data is available. In - // that case, it's possible to check that the candidate return - // address is inside a known function. - - dictionary["$eip"] = eip; - dictionary["$esp"] = location + 4; - offset = location - location_start; - break; - } - } - } - - // When trying to recover the previous value of the frame pointer (%ebp), - // start looking at the lowest possible address in the saved-register - // area, and look at the entire saved register area, increased by the - // size of |offset| to account for additional data that may be on the - // stack. The scan is performed from the highest possible address to - // the lowest, because we expect that the function's prolog would have - // saved %ebp early. - u_int32_t ebp = dictionary["$ebp"]; - u_int32_t value; // throwaway variable to check pointer validity - if (recover_ebp && !memory_->GetMemoryAtAddress(ebp, &value)) { - int fp_search_bytes = last_frame_info->saved_register_size + offset; - u_int32_t location_end = last_frame->context.esp + - last_frame_callee_parameter_size; - - for (u_int32_t location = location_end + fp_search_bytes; - location >= location_end; - location -= 4) { - if (!memory_->GetMemoryAtAddress(location, &ebp)) - break; - - if (memory_->GetMemoryAtAddress(ebp, &value)) { - // The candidate value is a pointer to the same memory region - // (the stack). Prefer it as a recovered %ebp result. - dictionary["$ebp"] = ebp; - break; - } - } - } - } - - // Treat an instruction address of 0 as end-of-stack. Treat incorrect stack - // direction as end-of-stack to enforce progress and avoid infinite loops. - if (dictionary["$eip"] == 0 || - dictionary["$esp"] <= last_frame->context.esp) { - return NULL; - } - - // Create a new stack frame (ownership will be transferred to the caller) - // and fill it in. - StackFrameX86 *frame = new StackFrameX86(); - - frame->context = last_frame->context; - frame->context.eip = dictionary["$eip"]; - frame->context.esp = dictionary["$esp"]; - frame->context.ebp = dictionary["$ebp"]; - frame->context_validity = StackFrameX86::CONTEXT_VALID_EIP | - StackFrameX86::CONTEXT_VALID_ESP | - StackFrameX86::CONTEXT_VALID_EBP; - - // These are nonvolatile (callee-save) registers, and the program string - // may have filled them in. - if (dictionary_validity.find("$ebx") != dictionary_validity.end()) { - frame->context.ebx = dictionary["$ebx"]; - frame->context_validity |= StackFrameX86::CONTEXT_VALID_EBX; - } - if (dictionary_validity.find("$esi") != dictionary_validity.end()) { - frame->context.esi = dictionary["$esi"]; - frame->context_validity |= StackFrameX86::CONTEXT_VALID_ESI; - } - if (dictionary_validity.find("$edi") != dictionary_validity.end()) { - frame->context.edi = dictionary["$edi"]; - frame->context_validity |= StackFrameX86::CONTEXT_VALID_EDI; - } - - // frame->context.eip is the return address, which is one instruction - // past the CALL that caused us to arrive at the callee. Set - // frame->instruction to one less than that. This won't reference the - // beginning of the CALL instruction, but it's guaranteed to be within the - // CALL, which is sufficient to get the source line information to match up - // with the line that contains a function call. Callers that require the - // exact return address value may access the context.eip field of - // StackFrameX86. - frame->instruction = frame->context.eip - 1; - - return frame; -} - - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/processor/stackwalker_x86.h b/toolkit/airbag/airbag/src/processor/stackwalker_x86.h deleted file mode 100755 index 14b9e8b99508..000000000000 --- a/toolkit/airbag/airbag/src/processor/stackwalker_x86.h +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// stackwalker_x86.h: x86-specific stackwalker. -// -// Provides stack frames given x86 register context and a memory region -// corresponding to an x86 stack. -// -// Author: Mark Mentovai - - -#ifndef PROCESSOR_STACKWALKER_X86_H__ -#define PROCESSOR_STACKWALKER_X86_H__ - - -#include "google_breakpad/common/breakpad_types.h" -#include "google_breakpad/common/minidump_format.h" -#include "google_breakpad/processor/stackwalker.h" - -namespace google_breakpad { - -class CodeModules; - - -class StackwalkerX86 : public Stackwalker { - public: - // context is an x86 context object that gives access to x86-specific - // register state corresponding to the innermost called frame to be - // included in the stack. The other arguments are passed directly through - // to the base Stackwalker constructor. - StackwalkerX86(const SystemInfo *system_info, - const MDRawContextX86 *context, - MemoryRegion *memory, - const CodeModules *modules, - SymbolSupplier *supplier, - SourceLineResolverInterface *resolver); - - private: - // Implementation of Stackwalker, using x86 context (%ebp, %esp, %eip) and - // stack conventions (saved %ebp at [%ebp], saved %eip at 4[%ebp], or - // alternate conventions as guided by stack_frame_info_). - virtual StackFrame* GetContextFrame(); - virtual StackFrame* GetCallerFrame( - const CallStack *stack, - const vector< linked_ptr > &stack_frame_info); - - // Stores the CPU context corresponding to the innermost stack frame to - // be returned by GetContextFrame. - const MDRawContextX86 *context_; -}; - - -} // namespace google_breakpad - - -#endif // PROCESSOR_STACKWALKER_X86_H__ diff --git a/toolkit/airbag/airbag/src/processor/testdata/minidump2.dmp b/toolkit/airbag/airbag/src/processor/testdata/minidump2.dmp deleted file mode 100755 index 1a6feee7cc1f..000000000000 Binary files a/toolkit/airbag/airbag/src/processor/testdata/minidump2.dmp and /dev/null differ diff --git a/toolkit/airbag/airbag/src/processor/testdata/minidump2.dump.out b/toolkit/airbag/airbag/src/processor/testdata/minidump2.dump.out deleted file mode 100755 index d8816e5dca62..000000000000 --- a/toolkit/airbag/airbag/src/processor/testdata/minidump2.dump.out +++ /dev/null @@ -1,705 +0,0 @@ -MDRawHeader - signature = 0x504d444d - version = 0x5128a793 - stream_count = 9 - stream_directory_rva = 0x20 - checksum = 0x0 - time_date_stamp = 0x45d35f73 2007-02-14 19:13:55 - flags = 0x0 - -mDirectory[0] -MDRawDirectory - stream_type = 3 - location.data_size = 100 - location.rva = 0x184 - -mDirectory[1] -MDRawDirectory - stream_type = 4 - location.data_size = 1408 - location.rva = 0x1e8 - -mDirectory[2] -MDRawDirectory - stream_type = 5 - location.data_size = 52 - location.rva = 0x1505 - -mDirectory[3] -MDRawDirectory - stream_type = 6 - location.data_size = 168 - location.rva = 0xdc - -mDirectory[4] -MDRawDirectory - stream_type = 7 - location.data_size = 56 - location.rva = 0x8c - -mDirectory[5] -MDRawDirectory - stream_type = 15 - location.data_size = 24 - location.rva = 0xc4 - -mDirectory[6] -MDRawDirectory - stream_type = 1197932545 - location.data_size = 12 - location.rva = 0x14f9 - -mDirectory[7] -MDRawDirectory - stream_type = 0 - location.data_size = 0 - location.rva = 0x0 - -mDirectory[8] -MDRawDirectory - stream_type = 0 - location.data_size = 0 - location.rva = 0x0 - -Streams: - stream type 0x0 at index 8 - stream type 0x3 at index 0 - stream type 0x4 at index 1 - stream type 0x5 at index 2 - stream type 0x6 at index 3 - stream type 0x7 at index 4 - stream type 0xf at index 5 - stream type 0x47670001 at index 6 - -MinidumpThreadList - thread_count = 2 - -thread[0] -MDRawThread - thread_id = 0xbf4 - suspend_count = 0 - priority_class = 0x0 - priority = 0x0 - teb = 0x7ffdf000 - stack.start_of_memory_range = 0x12f31c - stack.memory.data_size = 0xce4 - stack.memory.rva = 0x1639 - thread_context.data_size = 0x2cc - thread_context.rva = 0xd94 - -MDRawContextX86 - context_flags = 0x1003f - dr0 = 0x0 - dr1 = 0x0 - dr2 = 0x0 - dr3 = 0x0 - dr6 = 0x0 - dr7 = 0x0 - float_save.control_word = 0xffff027f - float_save.status_word = 0xffff0000 - float_save.tag_word = 0xffffffff - float_save.error_offset = 0x0 - float_save.error_selector = 0x220000 - float_save.data_offset = 0x0 - float_save.data_selector = 0xffff0000 - float_save.register_area[80] = 0x0000000018b72200000118b72200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 - float_save.cr0_npx_state = 0x0 - gs = 0x0 - fs = 0x3b - es = 0x23 - ds = 0x23 - edi = 0x0 - esi = 0x7b8 - ebx = 0x7c883780 - edx = 0x7c97c0d8 - ecx = 0x7c80b46e - eax = 0x400000 - ebp = 0x12f384 - eip = 0x7c90eb94 - cs = 0x1b - eflags = 0x246 - esp = 0x12f320 - ss = 0x23 - extended_registers[512] = 0x7f0200000000220000000000000000000000000000000000801f0000ffff00000000000018b72200000100000000000018b72200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004509917c4e09917c38b622002400020024b42200020000009041917c0070fd7f0510907cccb22200000000009cb3220018ee907c7009917cc0e4977c6f3e917c623e917c08020000dcb62200b4b622001e000000000000000000000000000000000000002eb42200000000000f000000020000001e00200000fcfd7f2f63796764726976652f632f444f43554d457e312f4d4d454e544f7e312f4c4f43414c537e312f54656d7000000000000000000130b422000000004300000000000000001efcfd7f4509917c4e09917c5ad9000008b32200b4b62200 - -Stack -0x00000000c0e9907ccb25807cb8070000000000000000000034ff1200b0fe12008037887c140000000100000000000000000000001000000027e0907c2e39917c0050fd7f00f0fd7f000000000400000034f312006947c788d4f31200a89a837cf825807c0000000098f312003225807cb8070000ffffffff00000000e4f31200ff1d4000b8070000ffffffffa8fa12008037887c0e1c4000a8fa120000000000ff792a0f64f91200b01b400000004000b0fe12000040020070fa1200084042000000000080fa120080fa12004e30867ca8fa12000000000000000000000000000018000002100000e3ef907c0000000079d900000000000048f41200000014003207917c0500000078071400000014000000000020f412003207917ca05f140018ee907cfa00000074f61200000000009615917ceb06917cf00298000100000000000000384f14009615917ceb06917c7801140008000000404f14000000a659985f1400080000000000000018ee907c90fea700400698003815917c184f1400eb06917c00000000800000000000a65988f69f0090f51200a569917cf8f41200d95c878880f5120043ef907c480485000500000090f5120088fea700a8212400000000000000000080f512002469917cf8fbfd7fa821240008000000f500000000000000384d850078019800a8fa120004000000a05f140096d4917c00000000b0d4917c0000000008069800184f140000000000104f140000000000184f140000004000000000010040020063003a005c0074006500730074005f006100700070002e006500780065000000000000002f00000028000000184f1400780185007801140028000000000000000000140084f3120010000000d8f5120018ee907cf006917cffffffffeb06917ce619917c88e6a7003003000001030000ff1b917c0000980080e6a70080069800400698000000980080e6a70000000000000000000000000080e6a7000818000088e6a700d759927c78019800081800000210000000009800f8f31200280a0000dcf6120018ee907cf006917cffffffffeb06917c0859927c00009800080000005859927c00000000000001000000a659000000005a6202000010000068fe030001000000dffe03000000010000000100fffffe7f0100000001c0c27700008500000000002dc0c27700000000684aaf590000a659241a917c80c0977c0000000000000000cd5c927c0050fd7f0000a65900000100080000004550fd7f0000000000000000000000000050fd7fcd5c927c05000000d4f61200f45c927c80e4977c05000000010000000050fd7f18f712007009917cc0e4977c172e817cff2d817c000000000000a6590000a6590210000000f0fd7f05000000e8f612000806980064f81200a89a837c002e817cffffffffff2d817cc8242400dd8ea75901000000000000004cf712003608a9590000a65901000000000000000100000060f71200e407a9596cf7120000004000000000010040020063003a005c0074006500730074005f006100700070002e0065007800650000006d05917c905f140000000000440d020000000000604f14000c0000007801140000000000a04e1400d84d8700400687004509917c0800000000000000000000004000000078011400a8038700404f14000510907c000000000000000078011400980387000800000008000000c0e4977cd04d8700f835887c7801140010000000a0e7ae591600000030fd1200d39b917c44000000620000000000a65950e9ae59d8eaae59a80387000100000014040000000000000100000002000000f800a659c003870001000000780114009508917c0000a659091b917c020000000900000040000000a2fd12009cfd1200404f1400a2fd1200d04d8700640187000000000000000000d04d870010000000d84d8700384f1400a803870010000000c00300000000870074fb1200404f14006cfe120018ee907cf006917cffffffffeb06917ca09d400000008700000000000400000000000000ffffff3fc04d8700ccfd12009c4d400004000000fa19917cb84d870064018700c04d8700063440000400000018000000c04d870079d90000c0038700fa31400000000000c04d8700c04d87000000000001000000b0fe120082294000c04d87000000000000000000c04d870048fe12008cfe120000000000e224400040fe12008cfe1200c04d8700d84d8700b0fe12008600817c54fa1200d8f9120000000000160018005479420079d90000000000000757917c00000200a4f91200a4f91200a4f91200020000000200000000000000c4f912000000000079d9000014fb12004cfa120014fb1200005a917c00fa1200a0fb120001000000655a917ca405817c74c1977ce705817c00000000f4fd120098fb120000000000a0fb12000000000090fb12000000800070fa120000000000000000000000000016001800547942000000000001000000000000000000000000000000000000003308917ca89a837c0000807c0000807ce800807c2cfa12001fe2907c11fa877cffffffffe06f817c000000006cfa12001c0000000f000000e06f817c8fc60000f0f312000060817cc8fa1200a89a837c7039867cfffffffff0ff1200da36847ca8fa1200099b837cb0fa120000000000b0fa12000000000000000000000000009cfb1200b8fb1200d4fa1200bf37907c9cfb1200e0ff1200b8fb120070fb1200b0ff1200d837907ce0ff120084fb12008b37907c9cfb1200e0ff1200b8fb120070fb1200a89a837c010000009cfb1200e0ff12006078937c9cfb1200e0ff1200b8fb120070fb1200a89a837c280a00009cfb12000200000018ee907c9032917cffffffff8832917c3364917c68fb1200000087003207917c02000000dc31917c1232917c8132917c8832917c1e000000c01e2400080200003807917c54fb12003207917cc4fb120018ee907c9032917c0000130000d01200beb4800088fe1200faea907c00000000b8fb12009cfb1200b8fb1200050000c000000000000000009e4240000200000001000000450000003f0001000000000000000000000000000000000000000000000000007f02ffff0000ffffffffffff0000000000002200000000000000ffff0000000018b72200000118b7220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b0000002300000023000000280a000002000000c1ab807c58bc420094fe12004500000088fe12009e4240001b0000004602010084fe1200230000007f0200000000220000000000000000000000000000000000801f0000ffff00000000000018b72200000100000000000018b72200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004509917c4e09917c38b622002400020024b42200020000009041917c0070fd7f0510907cccb22200000000009cb3220018ee907c7009917cc0e4977c6f3e917c623e917c08020000dcb62200b4b622001e000000000000000000000000000000000000002eb42200000000000f000000020000001e00200000fcfd7f2f63796764726976652f632f444f43554d457e312f4d4d454e544f7e312f4c4f43414c537e312f54656d7000000000000000000130b422000000004300000000000000001efcfd7f4509917c4e09917c5ad9000008b32200b4b622004500000070ff120000424000b8278700dc31917c00000000004c870000000020040000000000000007000000000000004042400000000000000000002e000000000000000cff12007b434100010000000700000084434100004d87002e39917cffffffff24000000240000002700000000000000584d870004000000b1944000244c87002a0000002f000000c0fe1200004d8700584d87000000a659b0b9a859015d400015aa400000000000b4070000784e14000000000001000000f40b00000000000000000000bc070000b8070000f40b0000a8fa120000000000009c4000599c400094b240004f752a0fc0ff1200ec534000010000003039870050398700ff752a0f00002400a02024000050fd7f050000c00100000005000000000000000000240084ff1200acfa1200e0ff1200d06f4000a70b7a0f00000000f0ff1200d76f817c00002400a02024000050fd7f050000c0c8ff1200a8fa1200ffffffffa89a837ce06f817c0000000000000000000000004354400000000000 - -thread[1] -MDRawThread - thread_id = 0x11c0 - suspend_count = 0 - priority_class = 0x0 - priority = 0x0 - teb = 0x7ffde000 - stack.start_of_memory_range = 0x97f6e8 - stack.memory.data_size = 0x918 - stack.memory.rva = 0x231d - thread_context.data_size = 0x2cc - thread_context.rva = 0x1060 - -MDRawContextX86 - context_flags = 0x1003f - dr0 = 0x0 - dr1 = 0x0 - dr2 = 0x0 - dr3 = 0x0 - dr6 = 0x0 - dr7 = 0x0 - float_save.control_word = 0xffff027f - float_save.status_word = 0xffff0000 - float_save.tag_word = 0xffffffff - float_save.error_offset = 0x0 - float_save.error_selector = 0x870000 - float_save.data_offset = 0x0 - float_save.data_selector = 0xffff0000 - float_save.register_area[80] = 0x84fb120000001400320778071400000014000000f4fe1200a0fd120018eeb0fd12003815917c961534ff120034ff12000000e7712a0f2a0000005400ccfb120068514000584d540000002a000000f4fe - float_save.cr0_npx_state = 0x0 - gs = 0x0 - fs = 0x3b - es = 0x23 - ds = 0x23 - edi = 0x145b00 - esi = 0x145aa8 - ebx = 0x145ad0 - edx = 0x7c90eb94 - ecx = 0x7 - eax = 0xa80000 - ebp = 0x97f6fc - eip = 0x7c90eb94 - cs = 0x1b - eflags = 0x246 - esp = 0x97f6ec - ss = 0x23 - extended_registers[512] = 0x7f0200000000870000000000000000000000000000000000801f0000ccfb120084fb1200000014003207917c050000007807140000001400000000005cfb1200f4fe1200a0fd120018ee907c2d020000b0fd12003815917c9615917ceb06917c34ff120034ff12000000000060000000e7712a0f2a0000005400000000000000ccfb120068514000584d870034fc1200540000002a000000f4fe1200f8fe12002c2f4000584d87005e00000034fc12005400000000000000b0fe1200f4fe1200c0fe12005f21400034fc12002a0000003b762a0f91214000303132330000870038393a3b3c3d3e3f4041424300000000070000003bd11e2340061400b858101e5e03e0652e005c00320033003100650064003100780114002d0066003300380034002d0000000000390034002d0062003800350038002d0031003000984e1400350065003000330065003000360035002e0064006d0070000000907c08000000ffffffff8832917cbeb4807c780114001d00f40b784e14000401000044fd120050fd1200c01e240078011400bdb9807ca04e14007c80c2770000000008fd120078011400ecfc1200f0fc1200e6b9807cffffffff7c80c27708fd12001c00000024fd1200e92a867c7c80c277b45a887c8037887c2d0200000080c2770000c17780000000005003000010000020000000780114005cff12001648847c091b917c - -Stack -0x8000108020fa97009fd7907c0000000048f7970005000f0040061400000000004cf7970037b9807c00000000000000003103917c780114000000000061dc907cf1b8807c00000000ffffffff70f79700000000000000000054f797003082140001000000000000000200000000000000000000007cf7970020b9807c0e00000004000000006000000000a80078011400000000000882140092d5907c8b9b807c9c070000d0f89700780114009c07000038821400807f140020dea85910fa9700780114009807000088fb9700e07f14009c0700000000000078011400000000000882140000000000000000000000000078011400ba0300000000000000000000000000000000000000000000000000007801140000000000000000000000000000000000c0030000000000000000000000000000088214005c0057000600000078011400000000005c00730079007300740065006d0033000082140068011400000000000000000000821400d47f1400807f140070f8970061eea859e000a8000000a8001c4e000084f89700bdeea859e000a8000000a8001c4e0000a4f897005fefa8590000a8000000000006000000c4f89700e000a80060fe9700c8f897005abfa8590000a80000000000060000001c000000d47f1400807f1400380000006ce9907c88b9807cffffffff0000a80000000000807f140030fa97007fc3a859a0c4a859b0fb970060fe9700684f1400504500004c010400ca9610410000000000000000e0000e210b01070a00400000003a000000000000f1100000001000000000bf760000000000100000000200000500010005000100040000000000000000b00000000400009ba2000000001400285214000000000034fa97007801140034fa9700910e917c080614006d05917cc84d85005c4e8500684f140000000000b04800002852140078011400e00300003052140000000000000000000000000078011400c403000030821400380000000000000000000000000000000000000000000000000000003882140048050000780200003800000000100000ec000000b8470000400000000000000000000000000000000000140000000000807f140000000000000000000000000000000101a900000060fe9700dcff9700dcff97000050fd7f78fa970054fa9700ad9d917c8cfa9700c2066f7f0e000000000000001c01000078fa9700c84d850068fa970085ae807c78fc970024fc970083dba85978fc97008cfa9700800000008edba85914010000050000000100000096020000b8fc97003815917c9615917ceb06917c60fe970060fe9700c4fd9700d8fa9700000014003207917c21000000b80c14000000140030521400b0fa9700fffffffff4fc970018ee907c3807917cffffffff3207917cab06917ceb06917ccc4f140060fe9700684f1400e0004000e4fa9700a863917c74fb970018ee907c3808917cffffffff3308917c5b2c817c872c817c00000000f4fb9700000000000000000054fd970018ee907c4006140064fd97003815917c00e0fd7feb06917c684f140038821400780114000050fd7facfb970000000000000004000000000090fe97000000000018fb970050531400508b1400a89a837cffe9907cf60d817ca807000000000000ffe9907cf60d817c08000000000000000000000000000000585314003cfc97003882140000000000160e817cc4fd970060fe970058531400208f1400588b1400460f917c50531400208f1400780114003082140000000000b8fc970078011400b8fc9700910e917c080614006d05917c3882140060fe97000000000000000000960200003082140078011400ffe9907c38821400a807000000000000780114005853140058fc9700505314001000000000000000160e817c784e8500c4fd9700388214000000000024010000f00c00001000000044fc970000000000c7e2907ce721807cffffffffe8f69700388214001809000098fc9700acfc9700d2e2a859ffffffffe8f697003882140018090000c4fc97003882140060fe9700c4fd9700ccfc97004ee3a859ffffffffe8f69700000000003882140018090000e0fc9700f4fc970093b2a859ffffffffe8f69700000000003882140018090000c4fd970060fe9700a85a140078fd9700a5b3a85960fe9700c4fd9700684f1400e8f697000000000018090000000000000200000080fd9700c4fd970060fe970000000000f40b000000000000000000000000000000f0fd7f000000001cf3120000000000e40c000039160000cc020000940d00000000000000000000000000000000000002000000ac4f14006010000098fd97005eb7a8593916000000000000684f1400784e85000000000084ff9700d4fe97007bb9a85960fe9700c4fd9700684f14003849140084ff9700010000000000000008ff9700f40b0000090000000000000020000000200000006c0000008c000000380000001e000000c4000000dc000000a80000008401000064000000b801000030000000e801000080050000e8010000680700000000000068070000680700000000000005150000340000002915000039150000fc1600001d23000068070000600300008a070000c80a0000310a00002c130000f91400000c000000352c000000000000ffffffff5c0f0000c84d8500784e8500884e85000000000000000000000000004c010000fc39a6590000000002000000050000000100000000008500280a000001000001cc0200009c0000000b00000050000000040000000010000000000000000000000001000000000000000000000000000034ff970078baa859384914005c0f0000c84d850001000000884e8500684f140008ff970064ff970000000000a8070000b0fe1200f40b00009cfb120000000000b8fb12000000000000000000ae20140000000000884e8500784e8500c84d8500a8fa120011204000ffffffff5c0f0000a80700000000000078ff970064ff970000000000adbf807c2025807cecff97000100000084ff970003000000c0110000f40b0000f40b0000a8fa120000000000010067470c0000006cff9700bc070000ffffffff000000006c1a4000f40b000000fa12000000000000004000a09d4000b0fe120083b6807cb0fe120000004000a09d4000b0fe120000e0fd7f00069c86c0ff9700d8863f86ffffffffa89a837c90b6807c000000000000000000000000301a4000b0fe120000000000 - -MinidumpModuleList - module_count = 13 - -module[0] -MDRawModule - base_of_image = 0x400000 - size_of_image = 0x2d000 - checksum = 0x0 - time_date_stamp = 0x45d35f6c - module_name_rva = 0x78a - version_info.signature = 0x0 - version_info.struct_version = 0x0 - version_info.file_version = 0x0:0x0 - version_info.product_version = 0x0:0x0 - version_info.file_flags_mask = 0x0 - version_info.file_flags = 0x0 - version_info.file_os = 0x0 - version_info.file_type = 0x0 - version_info.file_subtype = 0x0 - version_info.file_date = 0x0:0x0 - cv_record.data_size = 40 - cv_record.rva = 0x132c - misc_record.data_size = 0 - misc_record.rva = 0x0 - (code_file) = "c:\test_app.exe" - (code_identifier) = "45D35F6C2d000" - (cv_record).cv_signature = 0x53445352 - (cv_record).signature = 5a9832e5-2872-41c1-838e-d98914e9b7ff - (cv_record).age = 1 - (cv_record).pdb_file_name = "c:\test_app.pdb" - (misc_record) = (null) - (debug_file) = "c:\test_app.pdb" - (debug_identifier) = "5A9832E5287241C1838ED98914E9B7FF1" - (version) = "" - -module[1] -MDRawModule - base_of_image = 0x7c900000 - size_of_image = 0xb0000 - checksum = 0xaf2f7 - time_date_stamp = 0x411096b4 - module_name_rva = 0x7ae - version_info.signature = 0xfeef04bd - version_info.struct_version = 0x10000 - version_info.file_version = 0x50001:0xa280884 - version_info.product_version = 0x50001:0xa280884 - version_info.file_flags_mask = 0x3f - version_info.file_flags = 0x0 - version_info.file_os = 0x40004 - version_info.file_type = 0x2 - version_info.file_subtype = 0x0 - version_info.file_date = 0x0:0x0 - cv_record.data_size = 34 - cv_record.rva = 0x1354 - misc_record.data_size = 0 - misc_record.rva = 0x0 - (code_file) = "C:\WINDOWS\system32\ntdll.dll" - (code_identifier) = "411096B4b0000" - (cv_record).cv_signature = 0x53445352 - (cv_record).signature = 36515fb5-d043-45e4-91f6-72fa2e2878c0 - (cv_record).age = 2 - (cv_record).pdb_file_name = "ntdll.pdb" - (misc_record) = (null) - (debug_file) = "ntdll.pdb" - (debug_identifier) = "36515FB5D04345E491F672FA2E2878C02" - (version) = "5.1.2600.2180" - -module[2] -MDRawModule - base_of_image = 0x7c800000 - size_of_image = 0xf4000 - checksum = 0xf724d - time_date_stamp = 0x44ab9a84 - module_name_rva = 0x7ee - version_info.signature = 0xfeef04bd - version_info.struct_version = 0x10000 - version_info.file_version = 0x50001:0xa280b81 - version_info.product_version = 0x50001:0xa280b81 - version_info.file_flags_mask = 0x3f - version_info.file_flags = 0x0 - version_info.file_os = 0x40004 - version_info.file_type = 0x2 - version_info.file_subtype = 0x0 - version_info.file_date = 0x0:0x0 - cv_record.data_size = 37 - cv_record.rva = 0x1376 - misc_record.data_size = 0 - misc_record.rva = 0x0 - (code_file) = "C:\WINDOWS\system32\kernel32.dll" - (code_identifier) = "44AB9A84f4000" - (cv_record).cv_signature = 0x53445352 - (cv_record).signature = bce8785c-57b4-4245-a669-896b6a19b954 - (cv_record).age = 2 - (cv_record).pdb_file_name = "kernel32.pdb" - (misc_record) = (null) - (debug_file) = "kernel32.pdb" - (debug_identifier) = "BCE8785C57B44245A669896B6A19B9542" - (version) = "5.1.2600.2945" - -module[3] -MDRawModule - base_of_image = 0x774e0000 - size_of_image = 0x13d000 - checksum = 0x13dc6b - time_date_stamp = 0x42e5be93 - module_name_rva = 0x834 - version_info.signature = 0xfeef04bd - version_info.struct_version = 0x10000 - version_info.file_version = 0x50001:0xa280aa6 - version_info.product_version = 0x50001:0xa280aa6 - version_info.file_flags_mask = 0x3f - version_info.file_flags = 0x0 - version_info.file_os = 0x40004 - version_info.file_type = 0x2 - version_info.file_subtype = 0x0 - version_info.file_date = 0x0:0x0 - cv_record.data_size = 34 - cv_record.rva = 0x139b - misc_record.data_size = 0 - misc_record.rva = 0x0 - (code_file) = "C:\WINDOWS\system32\ole32.dll" - (code_identifier) = "42E5BE9313d000" - (cv_record).cv_signature = 0x53445352 - (cv_record).signature = 683b65b2-46f4-4187-96d2-ee6d4c55eb11 - (cv_record).age = 2 - (cv_record).pdb_file_name = "ole32.pdb" - (misc_record) = (null) - (debug_file) = "ole32.pdb" - (debug_identifier) = "683B65B246F4418796D2EE6D4C55EB112" - (version) = "5.1.2600.2726" - -module[4] -MDRawModule - base_of_image = 0x77dd0000 - size_of_image = 0x9b000 - checksum = 0xa0de4 - time_date_stamp = 0x411096a7 - module_name_rva = 0x874 - version_info.signature = 0xfeef04bd - version_info.struct_version = 0x10000 - version_info.file_version = 0x50001:0xa280884 - version_info.product_version = 0x50001:0xa280884 - version_info.file_flags_mask = 0x3f - version_info.file_flags = 0x0 - version_info.file_os = 0x40004 - version_info.file_type = 0x2 - version_info.file_subtype = 0x0 - version_info.file_date = 0x0:0x0 - cv_record.data_size = 37 - cv_record.rva = 0x13bd - misc_record.data_size = 0 - misc_record.rva = 0x0 - (code_file) = "C:\WINDOWS\system32\advapi32.dll" - (code_identifier) = "411096A79b000" - (cv_record).cv_signature = 0x53445352 - (cv_record).signature = 455d6c5f-184d-45bb-b5c5-f30f82975114 - (cv_record).age = 2 - (cv_record).pdb_file_name = "advapi32.pdb" - (misc_record) = (null) - (debug_file) = "advapi32.pdb" - (debug_identifier) = "455D6C5F184D45BBB5C5F30F829751142" - (version) = "5.1.2600.2180" - -module[5] -MDRawModule - base_of_image = 0x77e70000 - size_of_image = 0x91000 - checksum = 0x9c482 - time_date_stamp = 0x411096ae - module_name_rva = 0x8ba - version_info.signature = 0xfeef04bd - version_info.struct_version = 0x10000 - version_info.file_version = 0x50001:0xa280884 - version_info.product_version = 0x50001:0xa280884 - version_info.file_flags_mask = 0x3f - version_info.file_flags = 0x0 - version_info.file_os = 0x40004 - version_info.file_type = 0x2 - version_info.file_subtype = 0x0 - version_info.file_date = 0x0:0x0 - cv_record.data_size = 35 - cv_record.rva = 0x13e2 - misc_record.data_size = 0 - misc_record.rva = 0x0 - (code_file) = "C:\WINDOWS\system32\rpcrt4.dll" - (code_identifier) = "411096AE91000" - (cv_record).cv_signature = 0x53445352 - (cv_record).signature = bea45a72-1da1-41da-a3ba-86b3a2031153 - (cv_record).age = 2 - (cv_record).pdb_file_name = "rpcrt4.pdb" - (misc_record) = (null) - (debug_file) = "rpcrt4.pdb" - (debug_identifier) = "BEA45A721DA141DAA3BA86B3A20311532" - (version) = "5.1.2600.2180" - -module[6] -MDRawModule - base_of_image = 0x77f10000 - size_of_image = 0x47000 - checksum = 0x4d0d0 - time_date_stamp = 0x43b34feb - module_name_rva = 0x8fc - version_info.signature = 0xfeef04bd - version_info.struct_version = 0x10000 - version_info.file_version = 0x50001:0xa280b02 - version_info.product_version = 0x50001:0xa280b02 - version_info.file_flags_mask = 0x3f - version_info.file_flags = 0x0 - version_info.file_os = 0x40004 - version_info.file_type = 0x2 - version_info.file_subtype = 0x0 - version_info.file_date = 0x0:0x0 - cv_record.data_size = 34 - cv_record.rva = 0x1405 - misc_record.data_size = 0 - misc_record.rva = 0x0 - (code_file) = "C:\WINDOWS\system32\gdi32.dll" - (code_identifier) = "43B34FEB47000" - (cv_record).cv_signature = 0x53445352 - (cv_record).signature = c0ea66be-00a6-4bd7-aef7-9e443a91869c - (cv_record).age = 2 - (cv_record).pdb_file_name = "gdi32.pdb" - (misc_record) = (null) - (debug_file) = "gdi32.pdb" - (debug_identifier) = "C0EA66BE00A64BD7AEF79E443A91869C2" - (version) = "5.1.2600.2818" - -module[7] -MDRawModule - base_of_image = 0x77d40000 - size_of_image = 0x90000 - checksum = 0x9505c - time_date_stamp = 0x42260159 - module_name_rva = 0x93c - version_info.signature = 0xfeef04bd - version_info.struct_version = 0x10000 - version_info.file_version = 0x50001:0xa280a3e - version_info.product_version = 0x50001:0xa280a3e - version_info.file_flags_mask = 0x3f - version_info.file_flags = 0x0 - version_info.file_os = 0x40004 - version_info.file_type = 0x2 - version_info.file_subtype = 0x0 - version_info.file_date = 0x0:0x0 - cv_record.data_size = 35 - cv_record.rva = 0x1427 - misc_record.data_size = 0 - misc_record.rva = 0x0 - (code_file) = "C:\WINDOWS\system32\user32.dll" - (code_identifier) = "4226015990000" - (cv_record).cv_signature = 0x53445352 - (cv_record).signature = ee2b714d-83a3-4c9d-8802-7621272f8326 - (cv_record).age = 2 - (cv_record).pdb_file_name = "user32.pdb" - (misc_record) = (null) - (debug_file) = "user32.pdb" - (debug_identifier) = "EE2B714D83A34C9D88027621272F83262" - (version) = "5.1.2600.2622" - -module[8] -MDRawModule - base_of_image = 0x77c10000 - size_of_image = 0x58000 - checksum = 0x57cd3 - time_date_stamp = 0x41109752 - module_name_rva = 0x97e - version_info.signature = 0xfeef04bd - version_info.struct_version = 0x10000 - version_info.file_version = 0x70000:0xa280884 - version_info.product_version = 0x60001:0x21be0884 - version_info.file_flags_mask = 0x3f - version_info.file_flags = 0x0 - version_info.file_os = 0x40004 - version_info.file_type = 0x1 - version_info.file_subtype = 0x0 - version_info.file_date = 0x0:0x0 - cv_record.data_size = 35 - cv_record.rva = 0x144a - misc_record.data_size = 0 - misc_record.rva = 0x0 - (code_file) = "C:\WINDOWS\system32\msvcrt.dll" - (code_identifier) = "4110975258000" - (cv_record).cv_signature = 0x53445352 - (cv_record).signature = a678f3c3-0ded-426b-8390-32b996987e38 - (cv_record).age = 1 - (cv_record).pdb_file_name = "msvcrt.pdb" - (misc_record) = (null) - (debug_file) = "msvcrt.pdb" - (debug_identifier) = "A678F3C30DED426B839032B996987E381" - (version) = "7.0.2600.2180" - -module[9] -MDRawModule - base_of_image = 0x76390000 - size_of_image = 0x1d000 - checksum = 0x2a024 - time_date_stamp = 0x411096ae - module_name_rva = 0x9c0 - version_info.signature = 0xfeef04bd - version_info.struct_version = 0x10000 - version_info.file_version = 0x50001:0xa280884 - version_info.product_version = 0x50001:0xa280884 - version_info.file_flags_mask = 0x3f - version_info.file_flags = 0x0 - version_info.file_os = 0x40004 - version_info.file_type = 0x2 - version_info.file_subtype = 0x0 - version_info.file_date = 0x0:0x0 - cv_record.data_size = 34 - cv_record.rva = 0x146d - misc_record.data_size = 0 - misc_record.rva = 0x0 - (code_file) = "C:\WINDOWS\system32\imm32.dll" - (code_identifier) = "411096AE1d000" - (cv_record).cv_signature = 0x53445352 - (cv_record).signature = 2c17a49c-251b-4c8e-b9e2-ad13d7d9ea16 - (cv_record).age = 2 - (cv_record).pdb_file_name = "imm32.pdb" - (misc_record) = (null) - (debug_file) = "imm32.pdb" - (debug_identifier) = "2C17A49C251B4C8EB9E2AD13D7D9EA162" - (version) = "5.1.2600.2180" - -module[10] -MDRawModule - base_of_image = 0x59a60000 - size_of_image = 0xa1000 - checksum = 0xa8824 - time_date_stamp = 0x4110969a - module_name_rva = 0xa00 - version_info.signature = 0xfeef04bd - version_info.struct_version = 0x10000 - version_info.file_version = 0x50001:0xa280884 - version_info.product_version = 0x50001:0xa280884 - version_info.file_flags_mask = 0x3f - version_info.file_flags = 0x0 - version_info.file_os = 0x40004 - version_info.file_type = 0x2 - version_info.file_subtype = 0x0 - version_info.file_date = 0x0:0x0 - cv_record.data_size = 36 - cv_record.rva = 0x148f - misc_record.data_size = 0 - misc_record.rva = 0x0 - (code_file) = "C:\WINDOWS\system32\dbghelp.dll" - (code_identifier) = "4110969Aa1000" - (cv_record).cv_signature = 0x53445352 - (cv_record).signature = 39559573-e21b-46f2-8e28-6923be9e6a76 - (cv_record).age = 1 - (cv_record).pdb_file_name = "dbghelp.pdb" - (misc_record) = (null) - (debug_file) = "dbghelp.pdb" - (debug_identifier) = "39559573E21B46F28E286923BE9E6A761" - (version) = "5.1.2600.2180" - -module[11] -MDRawModule - base_of_image = 0x77c00000 - size_of_image = 0x8000 - checksum = 0x11d78 - time_date_stamp = 0x411096b7 - module_name_rva = 0xa44 - version_info.signature = 0xfeef04bd - version_info.struct_version = 0x10000 - version_info.file_version = 0x50001:0xa280884 - version_info.product_version = 0x50001:0xa280884 - version_info.file_flags_mask = 0x3f - version_info.file_flags = 0x0 - version_info.file_os = 0x40004 - version_info.file_type = 0x2 - version_info.file_subtype = 0x0 - version_info.file_date = 0x0:0x0 - cv_record.data_size = 36 - cv_record.rva = 0x14b3 - misc_record.data_size = 0 - misc_record.rva = 0x0 - (code_file) = "C:\WINDOWS\system32\version.dll" - (code_identifier) = "411096B78000" - (cv_record).cv_signature = 0x53445352 - (cv_record).signature = 180a90c4-0384-463e-82dd-c45b2c8ab76e - (cv_record).age = 2 - (cv_record).pdb_file_name = "version.pdb" - (misc_record) = (null) - (debug_file) = "version.pdb" - (debug_identifier) = "180A90C40384463E82DDC45B2C8AB76E2" - (version) = "5.1.2600.2180" - -module[12] -MDRawModule - base_of_image = 0x76bf0000 - size_of_image = 0xb000 - checksum = 0xa29b - time_date_stamp = 0x411096ca - module_name_rva = 0xa88 - version_info.signature = 0xfeef04bd - version_info.struct_version = 0x10000 - version_info.file_version = 0x50001:0xa280884 - version_info.product_version = 0x50001:0xa280884 - version_info.file_flags_mask = 0x3f - version_info.file_flags = 0x0 - version_info.file_os = 0x40004 - version_info.file_type = 0x2 - version_info.file_subtype = 0x0 - version_info.file_date = 0x0:0x0 - cv_record.data_size = 34 - cv_record.rva = 0x14d7 - misc_record.data_size = 0 - misc_record.rva = 0x0 - (code_file) = "C:\WINDOWS\system32\psapi.dll" - (code_identifier) = "411096CAb000" - (cv_record).cv_signature = 0x53445352 - (cv_record).signature = a5c3a1f9-689f-43d8-ad22-8a0929388970 - (cv_record).age = 2 - (cv_record).pdb_file_name = "psapi.pdb" - (misc_record) = (null) - (debug_file) = "psapi.pdb" - (debug_identifier) = "A5C3A1F9689F43D8AD228A09293889702" - (version) = "5.1.2600.2180" - -MinidumpMemoryList - region_count = 3 - -region[0] -MDMemoryDescriptor - start_of_memory_range = 0x7c90eb14 - memory.data_size = 0x100 - memory.rva = 0x1539 -Memory -0xff83c4ec890424c744240401000000895c2408c74424100000000054e877000000c208009090909090558bec83ec508944240c64a1180000008b80a4010000890424c744240400000000c744240800000000c74424100000000054e8380000008b04248be55dc3908da424000000008d490090909090908bd40f349090909090c38da424000000008d64240090909090908d542408cd2ec3558bec9c81ecd00200008985dcfdffff898dd8fdffff8b45088b4d0489480c8d852cfdffff8988b80000008998a40000008990a800000089b0a000000089b89c0000008d4d0c8988c40000008b4d008988b40000008b4dfc8988c00000008c88bc0000008c989800 - -region[1] -MDMemoryDescriptor - start_of_memory_range = 0x12f31c - memory.data_size = 0xce4 - memory.rva = 0x1639 -Memory -0x00000000c0e9907ccb25807cb8070000000000000000000034ff1200b0fe12008037887c140000000100000000000000000000001000000027e0907c2e39917c0050fd7f00f0fd7f000000000400000034f312006947c788d4f31200a89a837cf825807c0000000098f312003225807cb8070000ffffffff00000000e4f31200ff1d4000b8070000ffffffffa8fa12008037887c0e1c4000a8fa120000000000ff792a0f64f91200b01b400000004000b0fe12000040020070fa1200084042000000000080fa120080fa12004e30867ca8fa12000000000000000000000000000018000002100000e3ef907c0000000079d900000000000048f41200000014003207917c0500000078071400000014000000000020f412003207917ca05f140018ee907cfa00000074f61200000000009615917ceb06917cf00298000100000000000000384f14009615917ceb06917c7801140008000000404f14000000a659985f1400080000000000000018ee907c90fea700400698003815917c184f1400eb06917c00000000800000000000a65988f69f0090f51200a569917cf8f41200d95c878880f5120043ef907c480485000500000090f5120088fea700a8212400000000000000000080f512002469917cf8fbfd7fa821240008000000f500000000000000384d850078019800a8fa120004000000a05f140096d4917c00000000b0d4917c0000000008069800184f140000000000104f140000000000184f140000004000000000010040020063003a005c0074006500730074005f006100700070002e006500780065000000000000002f00000028000000184f1400780185007801140028000000000000000000140084f3120010000000d8f5120018ee907cf006917cffffffffeb06917ce619917c88e6a7003003000001030000ff1b917c0000980080e6a70080069800400698000000980080e6a70000000000000000000000000080e6a7000818000088e6a700d759927c78019800081800000210000000009800f8f31200280a0000dcf6120018ee907cf006917cffffffffeb06917c0859927c00009800080000005859927c00000000000001000000a659000000005a6202000010000068fe030001000000dffe03000000010000000100fffffe7f0100000001c0c27700008500000000002dc0c27700000000684aaf590000a659241a917c80c0977c0000000000000000cd5c927c0050fd7f0000a65900000100080000004550fd7f0000000000000000000000000050fd7fcd5c927c05000000d4f61200f45c927c80e4977c05000000010000000050fd7f18f712007009917cc0e4977c172e817cff2d817c000000000000a6590000a6590210000000f0fd7f05000000e8f612000806980064f81200a89a837c002e817cffffffffff2d817cc8242400dd8ea75901000000000000004cf712003608a9590000a65901000000000000000100000060f71200e407a9596cf7120000004000000000010040020063003a005c0074006500730074005f006100700070002e0065007800650000006d05917c905f140000000000440d020000000000604f14000c0000007801140000000000a04e1400d84d8700400687004509917c0800000000000000000000004000000078011400a8038700404f14000510907c000000000000000078011400980387000800000008000000c0e4977cd04d8700f835887c7801140010000000a0e7ae591600000030fd1200d39b917c44000000620000000000a65950e9ae59d8eaae59a80387000100000014040000000000000100000002000000f800a659c003870001000000780114009508917c0000a659091b917c020000000900000040000000a2fd12009cfd1200404f1400a2fd1200d04d8700640187000000000000000000d04d870010000000d84d8700384f1400a803870010000000c00300000000870074fb1200404f14006cfe120018ee907cf006917cffffffffeb06917ca09d400000008700000000000400000000000000ffffff3fc04d8700ccfd12009c4d400004000000fa19917cb84d870064018700c04d8700063440000400000018000000c04d870079d90000c0038700fa31400000000000c04d8700c04d87000000000001000000b0fe120082294000c04d87000000000000000000c04d870048fe12008cfe120000000000e224400040fe12008cfe1200c04d8700d84d8700b0fe12008600817c54fa1200d8f9120000000000160018005479420079d90000000000000757917c00000200a4f91200a4f91200a4f91200020000000200000000000000c4f912000000000079d9000014fb12004cfa120014fb1200005a917c00fa1200a0fb120001000000655a917ca405817c74c1977ce705817c00000000f4fd120098fb120000000000a0fb12000000000090fb12000000800070fa120000000000000000000000000016001800547942000000000001000000000000000000000000000000000000003308917ca89a837c0000807c0000807ce800807c2cfa12001fe2907c11fa877cffffffffe06f817c000000006cfa12001c0000000f000000e06f817c8fc60000f0f312000060817cc8fa1200a89a837c7039867cfffffffff0ff1200da36847ca8fa1200099b837cb0fa120000000000b0fa12000000000000000000000000009cfb1200b8fb1200d4fa1200bf37907c9cfb1200e0ff1200b8fb120070fb1200b0ff1200d837907ce0ff120084fb12008b37907c9cfb1200e0ff1200b8fb120070fb1200a89a837c010000009cfb1200e0ff12006078937c9cfb1200e0ff1200b8fb120070fb1200a89a837c280a00009cfb12000200000018ee907c9032917cffffffff8832917c3364917c68fb1200000087003207917c02000000dc31917c1232917c8132917c8832917c1e000000c01e2400080200003807917c54fb12003207917cc4fb120018ee907c9032917c0000130000d01200beb4800088fe1200faea907c00000000b8fb12009cfb1200b8fb1200050000c000000000000000009e4240000200000001000000450000003f0001000000000000000000000000000000000000000000000000007f02ffff0000ffffffffffff0000000000002200000000000000ffff0000000018b72200000118b7220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b0000002300000023000000280a000002000000c1ab807c58bc420094fe12004500000088fe12009e4240001b0000004602010084fe1200230000007f0200000000220000000000000000000000000000000000801f0000ffff00000000000018b72200000100000000000018b72200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004509917c4e09917c38b622002400020024b42200020000009041917c0070fd7f0510907cccb22200000000009cb3220018ee907c7009917cc0e4977c6f3e917c623e917c08020000dcb62200b4b622001e000000000000000000000000000000000000002eb42200000000000f000000020000001e00200000fcfd7f2f63796764726976652f632f444f43554d457e312f4d4d454e544f7e312f4c4f43414c537e312f54656d7000000000000000000130b422000000004300000000000000001efcfd7f4509917c4e09917c5ad9000008b32200b4b622004500000070ff120000424000b8278700dc31917c00000000004c870000000020040000000000000007000000000000004042400000000000000000002e000000000000000cff12007b434100010000000700000084434100004d87002e39917cffffffff24000000240000002700000000000000584d870004000000b1944000244c87002a0000002f000000c0fe1200004d8700584d87000000a659b0b9a859015d400015aa400000000000b4070000784e14000000000001000000f40b00000000000000000000bc070000b8070000f40b0000a8fa120000000000009c4000599c400094b240004f752a0fc0ff1200ec534000010000003039870050398700ff752a0f00002400a02024000050fd7f050000c00100000005000000000000000000240084ff1200acfa1200e0ff1200d06f4000a70b7a0f00000000f0ff1200d76f817c00002400a02024000050fd7f050000c0c8ff1200a8fa1200ffffffffa89a837ce06f817c0000000000000000000000004354400000000000 - -region[2] -MDMemoryDescriptor - start_of_memory_range = 0x97f6e8 - memory.data_size = 0x918 - memory.rva = 0x231d -Memory -0x8000108020fa97009fd7907c0000000048f7970005000f0040061400000000004cf7970037b9807c00000000000000003103917c780114000000000061dc907cf1b8807c00000000ffffffff70f79700000000000000000054f797003082140001000000000000000200000000000000000000007cf7970020b9807c0e00000004000000006000000000a80078011400000000000882140092d5907c8b9b807c9c070000d0f89700780114009c07000038821400807f140020dea85910fa9700780114009807000088fb9700e07f14009c0700000000000078011400000000000882140000000000000000000000000078011400ba0300000000000000000000000000000000000000000000000000007801140000000000000000000000000000000000c0030000000000000000000000000000088214005c0057000600000078011400000000005c00730079007300740065006d0033000082140068011400000000000000000000821400d47f1400807f140070f8970061eea859e000a8000000a8001c4e000084f89700bdeea859e000a8000000a8001c4e0000a4f897005fefa8590000a8000000000006000000c4f89700e000a80060fe9700c8f897005abfa8590000a80000000000060000001c000000d47f1400807f1400380000006ce9907c88b9807cffffffff0000a80000000000807f140030fa97007fc3a859a0c4a859b0fb970060fe9700684f1400504500004c010400ca9610410000000000000000e0000e210b01070a00400000003a000000000000f1100000001000000000bf760000000000100000000200000500010005000100040000000000000000b00000000400009ba2000000001400285214000000000034fa97007801140034fa9700910e917c080614006d05917cc84d85005c4e8500684f140000000000b04800002852140078011400e00300003052140000000000000000000000000078011400c403000030821400380000000000000000000000000000000000000000000000000000003882140048050000780200003800000000100000ec000000b8470000400000000000000000000000000000000000140000000000807f140000000000000000000000000000000101a900000060fe9700dcff9700dcff97000050fd7f78fa970054fa9700ad9d917c8cfa9700c2066f7f0e000000000000001c01000078fa9700c84d850068fa970085ae807c78fc970024fc970083dba85978fc97008cfa9700800000008edba85914010000050000000100000096020000b8fc97003815917c9615917ceb06917c60fe970060fe9700c4fd9700d8fa9700000014003207917c21000000b80c14000000140030521400b0fa9700fffffffff4fc970018ee907c3807917cffffffff3207917cab06917ceb06917ccc4f140060fe9700684f1400e0004000e4fa9700a863917c74fb970018ee907c3808917cffffffff3308917c5b2c817c872c817c00000000f4fb9700000000000000000054fd970018ee907c4006140064fd97003815917c00e0fd7feb06917c684f140038821400780114000050fd7facfb970000000000000004000000000090fe97000000000018fb970050531400508b1400a89a837cffe9907cf60d817ca807000000000000ffe9907cf60d817c08000000000000000000000000000000585314003cfc97003882140000000000160e817cc4fd970060fe970058531400208f1400588b1400460f917c50531400208f1400780114003082140000000000b8fc970078011400b8fc9700910e917c080614006d05917c3882140060fe97000000000000000000960200003082140078011400ffe9907c38821400a807000000000000780114005853140058fc9700505314001000000000000000160e817c784e8500c4fd9700388214000000000024010000f00c00001000000044fc970000000000c7e2907ce721807cffffffffe8f69700388214001809000098fc9700acfc9700d2e2a859ffffffffe8f697003882140018090000c4fc97003882140060fe9700c4fd9700ccfc97004ee3a859ffffffffe8f69700000000003882140018090000e0fc9700f4fc970093b2a859ffffffffe8f69700000000003882140018090000c4fd970060fe9700a85a140078fd9700a5b3a85960fe9700c4fd9700684f1400e8f697000000000018090000000000000200000080fd9700c4fd970060fe970000000000f40b000000000000000000000000000000f0fd7f000000001cf3120000000000e40c000039160000cc020000940d00000000000000000000000000000000000002000000ac4f14006010000098fd97005eb7a8593916000000000000684f1400784e85000000000084ff9700d4fe97007bb9a85960fe9700c4fd9700684f14003849140084ff9700010000000000000008ff9700f40b0000090000000000000020000000200000006c0000008c000000380000001e000000c4000000dc000000a80000008401000064000000b801000030000000e801000080050000e8010000680700000000000068070000680700000000000005150000340000002915000039150000fc1600001d23000068070000600300008a070000c80a0000310a00002c130000f91400000c000000352c000000000000ffffffff5c0f0000c84d8500784e8500884e85000000000000000000000000004c010000fc39a6590000000002000000050000000100000000008500280a000001000001cc0200009c0000000b00000050000000040000000010000000000000000000000001000000000000000000000000000034ff970078baa859384914005c0f0000c84d850001000000884e8500684f140008ff970064ff970000000000a8070000b0fe1200f40b00009cfb120000000000b8fb12000000000000000000ae20140000000000884e8500784e8500c84d8500a8fa120011204000ffffffff5c0f0000a80700000000000078ff970064ff970000000000adbf807c2025807cecff97000100000084ff970003000000c0110000f40b0000f40b0000a8fa120000000000010067470c0000006cff9700bc070000ffffffff000000006c1a4000f40b000000fa12000000000000004000a09d4000b0fe120083b6807cb0fe120000004000a09d4000b0fe120000e0fd7f00069c86c0ff9700d8863f86ffffffffa89a837c90b6807c000000000000000000000000301a4000b0fe120000000000 - -MDException - thread_id = 0xbf4 - exception_record.exception_code = 0xc0000005 - exception_record.exception_flags = 0x0 - exception_record.exception_record = 0x0 - exception_record.exception_address = 0x40429e - exception_record.number_parameters = 2 - exception_record.exception_information[ 0] = 0x1 - exception_record.exception_information[ 1] = 0x45 - thread_context.data_size = 716 - thread_context.rva = 0xac8 - -MDRawContextX86 - context_flags = 0x1003f - dr0 = 0x0 - dr1 = 0x0 - dr2 = 0x0 - dr3 = 0x0 - dr6 = 0x0 - dr7 = 0x0 - float_save.control_word = 0xffff027f - float_save.status_word = 0xffff0000 - float_save.tag_word = 0xffffffff - float_save.error_offset = 0x0 - float_save.error_selector = 0x220000 - float_save.data_offset = 0x0 - float_save.data_selector = 0xffff0000 - float_save.register_area[80] = 0x0000000018b72200000118b72200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 - float_save.cr0_npx_state = 0x0 - gs = 0x0 - fs = 0x3b - es = 0x23 - ds = 0x23 - edi = 0xa28 - esi = 0x2 - ebx = 0x7c80abc1 - edx = 0x42bc58 - ecx = 0x12fe94 - eax = 0x45 - ebp = 0x12fe88 - eip = 0x40429e - cs = 0x1b - eflags = 0x10246 - esp = 0x12fe84 - ss = 0x23 - extended_registers[512] = 0x7f0200000000220000000000000000000000000000000000801f0000ffff00000000000018b72200000100000000000018b72200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004509917c4e09917c38b622002400020024b42200020000009041917c0070fd7f0510907cccb22200000000009cb3220018ee907c7009917cc0e4977c6f3e917c623e917c08020000dcb62200b4b622001e000000000000000000000000000000000000002eb42200000000000f000000020000001e00200000fcfd7f2f63796764726976652f632f444f43554d457e312f4d4d454e544f7e312f4c4f43414c537e312f54656d7000000000000000000130b422000000004300000000000000001efcfd7f4509917c4e09917c5ad9000008b32200b4b62200 - -MDRawSystemInfo - processor_architecture = 0 - processor_level = 6 - processor_revision = 0xd08 - number_of_processors = 1 - product_type = 1 - major_version = 5 - minor_version = 1 - build_number = 2600 - platform_id = 2 - csd_version_rva = 0x768 - suite_mask = 0x100 - cpu.x86_cpu_info.vendor_id[0] = 0x756e6547 - cpu.x86_cpu_info.vendor_id[1] = 0x49656e69 - cpu.x86_cpu_info.vendor_id[2] = 0x6c65746e - cpu.x86_cpu_info.version_information = 0x6d8 - cpu.x86_cpu_info.feature_information = 0xafe9fbff - cpu.x86_cpu_info.amd_extended_cpu_features = 0xffffffff - (csd_version) = "Service Pack 2" - (cpu_vendor) = "GenuineIntel" - -MDRawMiscInfo - size_of_info = 24 - flags1 = 0x3 - process_id = 0xf5c - process_create_time = 0x45d35f73 - process_user_time = 0x0 - process_kernel_time = 0x0 - -MDRawBreakpadInfo - validity = 0x3 - dump_thread_id = 0x11c0 - requesting_thread_id = 0xbf4 - diff --git a/toolkit/airbag/airbag/src/processor/testdata/minidump2.stackwalk.machine_readable.out b/toolkit/airbag/airbag/src/processor/testdata/minidump2.stackwalk.machine_readable.out deleted file mode 100644 index e1589534cb1a..000000000000 --- a/toolkit/airbag/airbag/src/processor/testdata/minidump2.stackwalk.machine_readable.out +++ /dev/null @@ -1,21 +0,0 @@ -OS|Windows NT|5.1.2600 Service Pack 2 -CPU|x86|GenuineIntel family 6 model 13 stepping 8|1 -Crash|EXCEPTION_ACCESS_VIOLATION|0x45|0 -Module|test_app.exe||test_app.pdb|5A9832E5287241C1838ED98914E9B7FF1|0x00400000|0x0042cfff|1 -Module|dbghelp.dll|5.1.2600.2180|dbghelp.pdb|39559573E21B46F28E286923BE9E6A761|0x59a60000|0x59b00fff|0 -Module|imm32.dll|5.1.2600.2180|imm32.pdb|2C17A49C251B4C8EB9E2AD13D7D9EA162|0x76390000|0x763acfff|0 -Module|psapi.dll|5.1.2600.2180|psapi.pdb|A5C3A1F9689F43D8AD228A09293889702|0x76bf0000|0x76bfafff|0 -Module|ole32.dll|5.1.2600.2726|ole32.pdb|683B65B246F4418796D2EE6D4C55EB112|0x774e0000|0x7761cfff|0 -Module|version.dll|5.1.2600.2180|version.pdb|180A90C40384463E82DDC45B2C8AB76E2|0x77c00000|0x77c07fff|0 -Module|msvcrt.dll|7.0.2600.2180|msvcrt.pdb|A678F3C30DED426B839032B996987E381|0x77c10000|0x77c67fff|0 -Module|user32.dll|5.1.2600.2622|user32.pdb|EE2B714D83A34C9D88027621272F83262|0x77d40000|0x77dcffff|0 -Module|advapi32.dll|5.1.2600.2180|advapi32.pdb|455D6C5F184D45BBB5C5F30F829751142|0x77dd0000|0x77e6afff|0 -Module|rpcrt4.dll|5.1.2600.2180|rpcrt4.pdb|BEA45A721DA141DAA3BA86B3A20311532|0x77e70000|0x77f00fff|0 -Module|gdi32.dll|5.1.2600.2818|gdi32.pdb|C0EA66BE00A64BD7AEF79E443A91869C2|0x77f10000|0x77f56fff|0 -Module|kernel32.dll|5.1.2600.2945|kernel32.pdb|BCE8785C57B44245A669896B6A19B9542|0x7c800000|0x7c8f3fff|0 -Module|ntdll.dll|5.1.2600.2180|ntdll.pdb|36515FB5D04345E491F672FA2E2878C02|0x7c900000|0x7c9affff|0 - -0|0|test_app.exe|`anonymous namespace'::CrashFunction|c:\test_app.cc|58|0x3 -0|1|test_app.exe|main|c:\test_app.cc|65|0x4 -0|2|test_app.exe|__tmainCRTStartup|f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c|327|0x11 -0|3|kernel32.dll|BaseProcessStart|||0x22 diff --git a/toolkit/airbag/airbag/src/processor/testdata/minidump2.stackwalk.out b/toolkit/airbag/airbag/src/processor/testdata/minidump2.stackwalk.out deleted file mode 100755 index 21b425de352a..000000000000 --- a/toolkit/airbag/airbag/src/processor/testdata/minidump2.stackwalk.out +++ /dev/null @@ -1,35 +0,0 @@ -Operating system: Windows NT - 5.1.2600 Service Pack 2 -CPU: x86 - GenuineIntel family 6 model 13 stepping 8 - 1 CPU - -Crash reason: EXCEPTION_ACCESS_VIOLATION -Crash address: 0x45 - -Thread 0 (crashed) - 0 test_app.exe!`anonymous namespace'::CrashFunction [test_app.cc : 58 + 0x3] - eip = 0x0040429e esp = 0x0012fe84 ebp = 0x0012fe88 ebx = 0x7c80abc1 - esi = 0x00000002 edi = 0x00000a28 eax = 0x00000045 ecx = 0x0012fe94 - edx = 0x0042bc58 efl = 0x00010246 - 1 test_app.exe!main [test_app.cc : 65 + 0x4] - eip = 0x00404200 esp = 0x0012fe90 ebp = 0x0012ff70 - 2 test_app.exe!__tmainCRTStartup [crt0.c : 327 + 0x11] - eip = 0x004053ec esp = 0x0012ff78 ebp = 0x0012ffc0 - 3 kernel32.dll!BaseProcessStart + 0x22 - eip = 0x7c816fd7 esp = 0x0012ffc8 ebp = 0x0012fff0 - -Loaded modules: -0x00400000 - 0x0042cfff test_app.exe ??? (main) -0x59a60000 - 0x59b00fff dbghelp.dll 5.1.2600.2180 -0x76390000 - 0x763acfff imm32.dll 5.1.2600.2180 -0x76bf0000 - 0x76bfafff psapi.dll 5.1.2600.2180 -0x774e0000 - 0x7761cfff ole32.dll 5.1.2600.2726 -0x77c00000 - 0x77c07fff version.dll 5.1.2600.2180 -0x77c10000 - 0x77c67fff msvcrt.dll 7.0.2600.2180 -0x77d40000 - 0x77dcffff user32.dll 5.1.2600.2622 -0x77dd0000 - 0x77e6afff advapi32.dll 5.1.2600.2180 -0x77e70000 - 0x77f00fff rpcrt4.dll 5.1.2600.2180 -0x77f10000 - 0x77f56fff gdi32.dll 5.1.2600.2818 -0x7c800000 - 0x7c8f3fff kernel32.dll 5.1.2600.2945 -0x7c900000 - 0x7c9affff ntdll.dll 5.1.2600.2180 diff --git a/toolkit/airbag/airbag/src/processor/testdata/module1.out b/toolkit/airbag/airbag/src/processor/testdata/module1.out deleted file mode 100755 index 856878286477..000000000000 --- a/toolkit/airbag/airbag/src/processor/testdata/module1.out +++ /dev/null @@ -1,19 +0,0 @@ -MODULE windows x86 111111111111111111111111111111111 module1.pdb -FILE 1 file1_1.cc -FILE 2 file1_2.cc -FILE 3 file1_3.cc -FUNC 1000 c 0 Function1_1 -1000 4 44 1 -1004 4 45 1 -1008 4 46 1 -FUNC 1100 8 4 Function1_2 -1100 4 65 2 -1104 4 66 2 -FUNC 1200 100 8 Function1_3 -FUNC 1300 100 c Function1_4 -FUNC 2000 0 0 Test_Zero_Size_Function_Is_Ignored -2000 4 88 2 -STACK WIN 4 1000 c 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = -STACK WIN 4 1100 8 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = -STACK WIN 4 1100 100 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = -STACK WIN 4 1300 100 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = diff --git a/toolkit/airbag/airbag/src/processor/testdata/module2.out b/toolkit/airbag/airbag/src/processor/testdata/module2.out deleted file mode 100755 index 265401c1b2fe..000000000000 --- a/toolkit/airbag/airbag/src/processor/testdata/module2.out +++ /dev/null @@ -1,17 +0,0 @@ -MODULE windows x86 222222222 module2.pdb -FILE 1 file2_1.cc -FILE 2 file2_2.cc -FILE 3 file2_3.cc -FUNC 2000 c 4 Function2_1 -1000 4 54 1 -1004 4 55 1 -1008 4 56 1 -PUBLIC 2160 0 Public2_1 -FUNC 2170 14 4 Function2_2 -2170 6 10 2 -2176 4 12 2 -217a 6 13 2 -2180 4 21 2 -PUBLIC 21a0 0 Public2_2 -STACK WIN 4 2000 c 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = -STACK WIN 4 2170 14 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = diff --git a/toolkit/airbag/airbag/src/processor/testdata/module3_bad.out b/toolkit/airbag/airbag/src/processor/testdata/module3_bad.out deleted file mode 100755 index bb77248678cb..000000000000 --- a/toolkit/airbag/airbag/src/processor/testdata/module3_bad.out +++ /dev/null @@ -1,3 +0,0 @@ -MODULE windows x86 333333333333333333333333333333333 module3.pdb -FILE 1 file1.cc -FUNC 1000 diff --git a/toolkit/airbag/airbag/src/processor/testdata/module4_bad.out b/toolkit/airbag/airbag/src/processor/testdata/module4_bad.out deleted file mode 100644 index d01fb2cc8c2a..000000000000 --- a/toolkit/airbag/airbag/src/processor/testdata/module4_bad.out +++ /dev/null @@ -1,5 +0,0 @@ -MODULE windows x86 444444444444444444444444444444444 module4.pdb -FILE 1 file4_1.cc -FILE 2 file4_2.cc -1000 4 44 1 -1004 4 45 1 diff --git a/toolkit/airbag/airbag/src/processor/testdata/symbols/kernel32.pdb/BCE8785C57B44245A669896B6A19B9542/kernel32.sym b/toolkit/airbag/airbag/src/processor/testdata/symbols/kernel32.pdb/BCE8785C57B44245A669896B6A19B9542/kernel32.sym deleted file mode 100755 index b813dbce94e9..000000000000 --- a/toolkit/airbag/airbag/src/processor/testdata/symbols/kernel32.pdb/BCE8785C57B44245A669896B6A19B9542/kernel32.sym +++ /dev/null @@ -1,5787 +0,0 @@ -MODULE windows x86 BCE8785C57B44245A669896B6A19B9542 kernel32.pdb -PUBLIC b5ae c BaseDllInitialize -PUBLIC 9b47 4 CloseHandle -PUBLIC 17826 0 BaseDllInitializeMemoryManager -PUBLIC 55709 10 EnumResourceNamesW -PUBLIC be41 4 BaseDllMapResourceIdA -PUBLIC 98f4 8 BasepMapModuleHandle -PUBLIC 936b 4 BaseSetLastNTError -PUBLIC 92b0 4 SetLastError -PUBLIC 30769 0 GetLastError -PUBLIC b722 0 ConsoleApp -PUBLIC 29d7a 18 SetUpConsoleInfo -PUBLIC 1b069 0 InitExeName -PUBLIC 17860 0 InitializeCtrlHandling -PUBLIC 29f30 4 SetUpHandles -PUBLIC 1dc03 8 SetStdHandle -PUBLIC 12f39 4 GetStdHandle -PUBLIC 17889 4 BaseDllInitializeIniFileMappings -PUBLIC 17923 0 NlsServerInitialize -PUBLIC 180a6 0 NlsProcessInitialize -PUBLIC 1795e 0 AllocTables -PUBLIC 179ea 0 GetUnicodeFileInfo -PUBLIC 16e70 c GetLocaleFileInfo -PUBLIC 18a21 0 GetDefaultSortkeyFileInfo -PUBLIC 17cb5 0 GetDefaultSortTablesFileInfo -PUBLIC 1839b 8 GetSortTablesFileInfo -PUBLIC 998d 8 LocalAlloc -PUBLIC 992f 4 LocalFree -PUBLIC 1625 20 DeviceIoControl -PUBLIC 32eb1 4 LocalUnlock -PUBLIC 32e1d 4 LocalLock -PUBLIC a03b 4 ResetEvent -PUBLIC a017 4 SetEvent -PUBLIC 55921 4 SetLocalTime -PUBLIC a35e 18 CompareStringW -PUBLIC 55a0e 4 LocalFlags -PUBLIC 55b09 4 LocalHandle -PUBLIC 30927 c LocalReAlloc -PUBLIC 30bd3 c InternalFindAtom -PUBLIC 37923 0 wcscpy -PUBLIC 33107 14 InternalGetAtomName -PUBLIC ffb1 c InternalAddAtom -PUBLIC 326c1 4 AddAtomW -PUBLIC ab78 4 BaseDllMapResourceIdW -PUBLIC 2d9b2 0 wcslen -PUBLIC 330e7 c GetAtomNameW -PUBLIC a9cc 8 lstrcmpW -PUBLIC ba64 8 lstrcpyW -PUBLIC bbce c FindResourceW -PUBLIC e6dc 18 SearchPathW -PUBLIC 1021c 10 BaseCreateStack -PUBLIC 55bb1 0 wcscat -PUBLIC 30b7d 8 InternalDeleteAtom -PUBLIC 2c86d 0 CloseProfileUserMapping -PUBLIC ddfe 1c DuplicateHandle -PUBLIC a996 8 lstrcmpiW -PUBLIC b64c 8 BaseThreadStart -PUBLIC 2520 8 WaitForSingleObject -PUBLIC 1042c 1c CreateRemoteThread -PUBLIC 98eb 0 GetCurrentThread -PUBLIC 9766 4 InterlockedIncrement -PUBLIC 977a 4 InterlockedDecrement -PUBLIC 978e 8 InterlockedExchange -PUBLIC 97a2 c InterlockedCompareExchange -PUBLIC 97b6 8 InterlockedExchangeAdd -PUBLIC 97c6 c MulDiv -PUBLIC 10659 8 BaseThreadStartThunk -PUBLIC 10665 8 BaseProcessStartThunk -PUBLIC 10672 4 SwitchToFiber -PUBLIC 106fa 18 _ResourceCallEnumLangRoutine -PUBLIC 1071e 14 _ResourceCallEnumNameRoutine -PUBLIC 1073e 10 _ResourceCallEnumTypeRoutine -PUBLIC 2ff92 0 BaseFiberStart -PUBLIC 103a3 14 BaseInitializeContext -PUBLIC 55bbc 4 ResetAccessDate -PUBLIC 55bee 4 ComputeRemainingSize -PUBLIC 55c24 8 ComputeRequestSize -PUBLIC 55c57 c ReportTransfer -PUBLIC 55c83 8 BackupReadBuffer -PUBLIC 55cd4 c BackupReadStream -PUBLIC 55df2 4 BackupTestRestartStream -PUBLIC 55eb4 8 BasepIsDataAttribute -PUBLIC 55eef 18 BackupSeek -PUBLIC 5604f c BackupWriteHeader -PUBLIC 560f8 c BackupWriteSparse -PUBLIC 561d4 c BackupWriteStream -PUBLIC 5627e c BackupWriteAlternateData -PUBLIC 56381 4 BackupAlloc -PUBLIC 563b1 4 BackupFree -PUBLIC 563d6 8 GrowBuffer -PUBLIC 5643b 4 FreeBuffer -PUBLIC 5645f 4 FreeContext -PUBLIC 564b8 4 AllocContext -PUBLIC 56519 c BackupGetSparseMap -PUBLIC 5669e c BackupReadData -PUBLIC 5676b c BackupReadAlternateData -PUBLIC 569ec c BackupReadEaData -PUBLIC 56ada c BackupReadObjectId -PUBLIC 56b94 c BackupReadReparseData -PUBLIC 56cc7 c BackupReadSecurityData -PUBLIC 56ddf 1c BackupRead -PUBLIC 57012 8 BackupWriteBuffer -PUBLIC 570a4 c BackupWriteEaData -PUBLIC 570ef c BackupWriteReparseData -PUBLIC 5714f c BackupWriteObjectId -PUBLIC 571c9 c BackupWriteSecurityData -PUBLIC 572ae c BackupWriteLinkData -PUBLIC 573fe 1c BackupWrite -PUBLIC 37bfc 0 NotifySoundSentry -PUBLIC 37a77 8 Beep -PUBLIC 575f7 4 BaseValidateNetbiosName -PUBLIC 57665 4 BaseValidateDnsNames -PUBLIC 576da 10 BasepGetMultiValueAddr -PUBLIC 5773b c BaseGetMultiValueIndex -PUBLIC 577c2 c BaseRemoveMultiValue -PUBLIC 5786b c BaseAddMultiValue -PUBLIC 202af 10 BasepGetNameFromReg -PUBLIC 578bb c BaseSetNameInReg -PUBLIC 5795d 10 BaseSetMultiNameInReg -PUBLIC 579f7 c BaseCreateMultiValue -PUBLIC 57aa8 c BaseAddMultiNameInReg -PUBLIC 57bae c BaseRemoveMultiNameFromReg -PUBLIC 57c97 4 BaseSetNetbiosName -PUBLIC 57cd4 4 BaseSetDnsName -PUBLIC 57da5 4 BaseSetDnsDomain -PUBLIC 57e41 4 BaseSetAltNetBiosName -PUBLIC 57e85 4 BaseSetAltDnsFQHostname -PUBLIC 57eb6 4 BaseIsAltDnsFQHostname -PUBLIC 57f59 4 BaseRemoveAltNetBiosName -PUBLIC 57f8a 8 BaseEnumAltDnsFQHostnames -PUBLIC 57fdd 8 BaseParseDnsName -PUBLIC 31893 10 GetNameFromValue -PUBLIC 316c7 8 GetComputerNameW -PUBLIC 5808d 4 SetComputerNameW -PUBLIC 201f1 c GetComputerNameExW -PUBLIC 581b3 8 SetComputerNameExW -PUBLIC 216a4 8 GetComputerNameA -PUBLIC 58234 4 SetComputerNameA -PUBLIC 582a7 c GetComputerNameExA -PUBLIC 5834c 8 SetComputerNameExA -PUBLIC 583a3 10 EnumerateLocalComputerNamesW -PUBLIC 58523 10 EnumerateLocalComputerNamesA -PUBLIC 2ceb2 c DnsHostnameToComputerNameW -PUBLIC 585cf c DnsHostnameToComputerNameA -PUBLIC 5866b 10 BasepGetComputerNameFromNtPath -PUBLIC 58bc3 8 BaseMultiByteToWideCharWithAlloc -PUBLIC 58c3e 4 BaseConvertCharFree -PUBLIC 58c69 4 BaseIsNetBiosNameInUse -PUBLIC 58e0a 8 AddLocalAlternateComputerNameW -PUBLIC 58f26 8 AddLocalAlternateComputerNameA -PUBLIC 58f6f 8 RemoveLocalAlternateComputerNameW -PUBLIC 59050 8 RemoveLocalAlternateComputerNameA -PUBLIC 59099 8 SetLocalPrimaryComputerNameW -PUBLIC 592af 8 SetLocalPrimaryComputerNameA -PUBLIC 592f8 8 LZCopy -PUBLIC 593ae 8 CopyLZFile -PUBLIC b852 10 GetFullPathNameW -PUBLIC b877 8 GetCurrentDirectoryW -PUBLIC 30b14 0 GetLogicalDrives -PUBLIC f272 4 CheckForSameCurdir -PUBLIC 138fc 10 GetFullPathNameA -PUBLIC 34ffe 8 GetCurrentDirectoryA -PUBLIC 360dd 4 SetCurrentDirectoryA -PUBLIC f2ee 4 SetCurrentDirectoryW -PUBLIC 176b 4 GetSystemTime -PUBLIC 17e5 4 GetSystemTimeAsFileTime -PUBLIC 593be 4 SetSystemTime -PUBLIC 929c 0 GetTickCount -PUBLIC e7ec 8 FileTimeToSystemTime -PUBLIC 10b1c 8 SystemTimeToFileTime -PUBLIC e866 8 FileTimeToLocalFileTime -PUBLIC 35524 8 LocalFileTimeToFileTime -PUBLIC 3065d c FileTimeToDosDateTime -PUBLIC 3214e c DosDateTimeToFileTime -PUBLIC 10ad9 8 CompareFileTime -PUBLIC 350bf 4 GetTimeZoneInformation -PUBLIC 5945e 4 SetTimeZoneInformation -PUBLIC 2d36f c GetSystemTimeAdjustment -PUBLIC 59584 8 SetSystemTimeAdjustment -PUBLIC 2e9c1 c SystemTimeToTzSpecificLocalTime -PUBLIC 595c1 c TzSpecificLocalTimeToSystemTime -PUBLIC 5983e 8 CalcClientTimeZoneIdAndBias -PUBLIC a7d4 4 GetLocalTime -PUBLIC 59a31 4 SetClientTimeZoneInformation -PUBLIC 13093 0 IsDebuggerPresent -PUBLIC 59b1e 8 CheckRemoteDebuggerPresent -PUBLIC 59b72 0 DebugBreak -PUBLIC 59b7c 0 CreateDBWinMutex -PUBLIC 59d78 4 OutputDebugStringA -PUBLIC 5a0bd 4 ProcessIdToHandle -PUBLIC 5a123 4 DebugActiveProcess -PUBLIC 5a176 4 DebugBreakProcess -PUBLIC 5a19d 4 DebugSetProcessKillOnExit -PUBLIC 5a1e8 c GetThreadSelectorEntry -PUBLIC 5a231 c SaveThreadHandle -PUBLIC 5a28f 8 SaveProcessHandle -PUBLIC 5a2eb 4 MarkThreadHandle -PUBLIC 5a31b 4 MarkProcessHandle -PUBLIC 5a351 8 RemoveHandles -PUBLIC 5a3c6 4 CloseAllProcessHandles -PUBLIC 5a42d 4 OutputDebugStringW -PUBLIC 5a480 8 WaitForDebugEvent -PUBLIC 5a565 c ContinueDebugEvent -PUBLIC 5a5a9 4 DebugActiveProcessStop -PUBLIC 36f5b 4 RemoveDirectoryW -PUBLIC 323d2 8 CreateDirectoryW -PUBLIC 5a5f2 c CreateDirectoryExW -PUBLIC 5b219 4 RemoveDirectoryA -PUBLIC 217ac 8 CreateDirectoryA -PUBLIC 5b23b c CreateDirectoryExA -PUBLIC 2af8f 4 InitAtomTable -PUBLIC 30cce 0 InternalInitAtomTable -PUBLIC 360a9 4 GlobalAddAtomA -PUBLIC 360c3 4 GlobalFindAtomA -PUBLIC 30bbb 4 GlobalDeleteAtom -PUBLIC 5b28b c GlobalGetAtomNameA -PUBLIC 1006c 4 GlobalAddAtomW -PUBLIC 34e97 4 GlobalFindAtomW -PUBLIC 2c3be c GlobalGetAtomNameW -PUBLIC 354ed 4 AddAtomA -PUBLIC 30cfe 4 FindAtomA -PUBLIC 32695 4 DeleteAtom -PUBLIC 5b2ab c GetAtomNameA -PUBLIC 2f827 4 FindAtomW -PUBLIC f726 c BaseDllGetApplicationName -PUBLIC f763 c BaseDllGetVariableName -PUBLIC 1ee95 10 BaseDllGetVariableValue -PUBLIC f88c 14 BaseDllAppendBufferToResultBuffer -PUBLIC f6da 8 BaseDllIniFileNameLength -PUBLIC f7a0 c BaseDllFindIniFileNameMapping -PUBLIC 1c858 0 BaseDllFlushRegistryCache -PUBLIC 1c8a6 8 BaseDllFindVarNameMapping -PUBLIC 5b2cb 8 BaseDllCheckKeyNotEmpty -PUBLIC 1e361 4 BaseDllOpenIniFileOnDisk -PUBLIC 1e6e1 4 BaseDllCloseIniFileOnDisk -PUBLIC 35889 4 BaseDllCalculateDeleteLength -PUBLIC 1e891 8 BaseDllAdvanceTextPointer -PUBLIC 1f18a 14 BaseDllModifyMappedFile -PUBLIC 5b355 1c BaseDllCheckInitFromIniFile -PUBLIC 3331f 0 OpenProfileUserMapping -PUBLIC f460 28 BaseDllCaptureIniFileParameters -PUBLIC f928 4 BaseDllAppendNullToResultBuffer -PUBLIC f851 10 BaseDllAppendStringToResultBuffer -PUBLIC 1c8db 14 BaseDllOpenMappingTarget -PUBLIC 5b435 4 BaseDllReadApplicationNames -PUBLIC 1b42d 8 BaseDllReadVariableNames -PUBLIC 1cac2 10 BaseDllReadVariableValue -PUBLIC 5b592 8 BaseDllReadApplicationVariables -PUBLIC 2bb93 10 BaseDllWriteVariableValue -PUBLIC 32dd3 4 BaseDllReadSectionNames -PUBLIC 1e793 4 BaseDllFindSection -PUBLIC 1e9c5 4 BaseDllFindKeyword -PUBLIC 5b71c 10 QueryWin31IniFilesMappedToRegistry -PUBLIC 2dc81 8 BaseDllDeleteApplicationVariables -PUBLIC 2dc43 8 BaseDllWriteApplicationVariables -PUBLIC 358ed 4 BaseDllReadKeywordNames -PUBLIC 1ea7d 4 BaseDllReadKeywordValue -PUBLIC 1ecd2 4 BaseDllReadSection -PUBLIC 5b828 4 BaseDllWriteSection -PUBLIC 1f021 8 BaseDllWriteKeywordValue -PUBLIC 1c7f4 4 BaseDllReadWriteIniFileViaMapping -PUBLIC 1e291 4 BaseDllReadWriteIniFileOnDisk -PUBLIC f331 20 BaseDllReadWriteIniFile -PUBLIC 32b56 18 GetPrivateProfileStringA -PUBLIC 35d54 10 WritePrivateProfileStringA -PUBLIC 35f21 10 GetPrivateProfileSectionA -PUBLIC 5ba7c c WritePrivateProfileSectionA -PUBLIC f95d 18 GetPrivateProfileStringW -PUBLIC 1ee4c 10 WritePrivateProfileStringW -PUBLIC 1edbd 10 GetPrivateProfileSectionW -PUBLIC 5bac3 c WritePrivateProfileSectionW -PUBLIC 32da7 c GetPrivateProfileSectionNamesA -PUBLIC 5bb0a c GetPrivateProfileSectionNamesW -PUBLIC 5bb2b 14 GetPrivateProfileStructA -PUBLIC 5bc95 14 GetPrivateProfileStructW -PUBLIC 5be23 14 WritePrivateProfileStructA -PUBLIC 5bf65 14 WritePrivateProfileStructW -PUBLIC 21495 14 GetProfileStringA -PUBLIC 5c0b9 c WriteProfileStringA -PUBLIC 5c0d7 c GetProfileSectionA -PUBLIC 5c0f5 8 WriteProfileSectionA -PUBLIC 213f8 14 GetProfileStringW -PUBLIC 332b1 c WriteProfileStringW -PUBLIC 5c110 c GetProfileSectionW -PUBLIC 5c12e 8 WriteProfileSectionW -PUBLIC 36434 10 GetPrivateProfileIntA -PUBLIC 32730 10 GetPrivateProfileIntW -PUBLIC 364a9 c GetProfileIntA -PUBLIC 2f89a c GetProfileIntW -PUBLIC 21f1e c DefineDosDeviceW -PUBLIC 5c149 8 IsGlobalDeviceMap -PUBLIC 5c269 10 FindSymbolicLinkEntry -PUBLIC 21d8d c QueryDosDeviceW -PUBLIC 5c2c5 c DefineDosDeviceA -PUBLIC 5c36c c QueryDosDeviceA -PUBLIC 31385 10 CreateIoCompletionPort -PUBLIC 126f2 10 PostQueuedCompletionStatus -PUBLIC a71d 14 GetQueuedCompletionStatus -PUBLIC 315c4 10 GetOverlappedResult -PUBLIC ac4d 0 GetErrorMode -PUBLIC ac0f 4 SetErrorMode -PUBLIC ef3a 8 FindNextFileW -PUBLIC edd7 4 FindClose -PUBLIC 5c46c 8 BaseFindFirstDevice -PUBLIC 34bef c FindFirstChangeNotificationW -PUBLIC 32113 4 FindNextChangeNotification -PUBLIC 3162f 20 ReadDirectoryChangesW -PUBLIC ee81 4 BasepInitializeFindFileHandle -PUBLIC 34eb1 8 FindNextFileA -PUBLIC ea7d 18 FindFirstFileExW -PUBLIC 5c4ab c FindFirstChangeNotificationA -PUBLIC 137d9 8 FindFirstFileA -PUBLIC eee1 8 FindFirstFileW -PUBLIC 5c512 18 FindFirstFileExA -PUBLIC 180e 14 ReadFile -PUBLIC 10d87 14 WriteFile -PUBLIC 32044 4 SetEndOfFile -PUBLIC 10b8e 10 SetFilePointer -PUBLIC 21057 14 SetFilePointerEx -PUBLIC 10c6d 8 GetFileInformationByHandle -PUBLIC 31c45 10 GetFileTime -PUBLIC 31cb8 10 SetFileTime -PUBLIC 12641 4 FlushFileBuffers -PUBLIC 32361 14 LockFile -PUBLIC 2f569 18 LockFileEx -PUBLIC 322fb 14 UnlockFileEx -PUBLIC 10a09 8 GetFileSizeEx -PUBLIC 5c64e c BasepIoCompletion -PUBLIC 2bd84 c BasepIoCompletionSimple -PUBLIC 2bcfb 14 ReadFileEx -PUBLIC 5c701 14 WriteFileEx -PUBLIC 300da 4 CancelIo -PUBLIC 2de51 14 ReadFileScatter -PUBLIC 2dda5 14 WriteFileGather -PUBLIC 5c7a1 c SetFileValidData -PUBLIC 5c7f7 8 SetFileShortNameW -PUBLIC 5c8c4 8 SetFileShortNameA -PUBLIC 10e51 4 GetFileType -PUBLIC 322bc 14 UnlockFile -PUBLIC 10a77 8 GetFileSize -PUBLIC bada c OpenFileMappingW -PUBLIC b896 18 MapViewOfFileEx -PUBLIC 35971 8 FlushViewOfFile -PUBLIC b974 4 UnmapViewOfFile -PUBLIC 938e 18 CreateFileMappingW -PUBLIC bb76 c OpenFileMappingA -PUBLIC b905 14 MapViewOfFile -PUBLIC 945c 18 CreateFileMappingA -PUBLIC 110f5 c GetFileAttributesExW -PUBLIC 31f31 4 DeleteFileW -PUBLIC 5c8e9 34 BasepMoveFileCopyProgress -PUBLIC 5c94f 10 BasepNotifyTrackingService -PUBLIC 5cbc1 10 BasepMoveFileDelayed -PUBLIC 5cf6b 20 BasepOpenFileForMove -PUBLIC 5d0e9 c PrivMoveFileIdentityW -PUBLIC 5d371 8 GetCompressedFileSizeW -PUBLIC 314d5 8 SetFileAttributesW -PUBLIC b74c 4 GetFileAttributesW -PUBLIC 137b1 c GetFileAttributesExA -PUBLIC 31eab 4 DeleteFileA -PUBLIC 1f72e 14 MoveFileWithProgressW -PUBLIC 5d499 8 GetCompressedFileSizeA -PUBLIC 12782 8 SetFileAttributesA -PUBLIC 1153c 4 GetFileAttributesA -PUBLIC 35eae 14 MoveFileWithProgressA -PUBLIC 21261 8 MoveFileW -PUBLIC 3565b c MoveFileExW -PUBLIC 35e8f 8 MoveFileA -PUBLIC 5d4c3 c MoveFileExA -PUBLIC 21950 4 BasepOfShareToWin32Share -PUBLIC 5d4e3 14 LoadDuplicateEncryptionInfoFile -PUBLIC 10978 8 BaseIsThisAConsoleName -PUBLIC 5d539 20 CopyNameGraftNow -PUBLIC 284bd 14 BasepProcessNameGrafting -PUBLIC 5d9a1 8 BasepChecksum -PUBLIC 2879d 8 BasepRemoteFile -PUBLIC 5d9e0 8 BasepCreateDispositionToWin32 -PUBLIC 5da30 0 CheckAllowDecryptedRemoteDestinationPolicy -PUBLIC 10760 1c CreateFileW -PUBLIC 3719a 20 BasepCopyFileCallback -PUBLIC 5dadd 8 BaseMarkFileForDelete -PUBLIC 5db55 8 CopyReparsePoint -PUBLIC 5dc16 24 BasepOpenRestartableFile -PUBLIC 5de71 1c BasepCopyCompression -PUBLIC 285c6 38 BasepCopyEncryption -PUBLIC 1a24 1c CreateFileA -PUBLIC 21982 c OpenFile -PUBLIC 5e021 28 BasepCopySecurityInformation -PUBLIC 27bdb 38 BaseCopyStream -PUBLIC 36c3c 18 ReplaceFileW -PUBLIC 27613 24 BasepCopyFileExW -PUBLIC 27b32 18 CopyFileExW -PUBLIC 2005f 18 PrivCopyFileExW -PUBLIC 5e307 18 ReplaceFileA -PUBLIC 286ee c CopyFileA -PUBLIC 2f873 c CopyFileW -PUBLIC 5e3c4 18 CopyFileExA -PUBLIC 5e41d 10 GetFirmwareEnvironmentVariableW -PUBLIC 5e4ac 10 SetFirmwareEnvironmentVariableW -PUBLIC 5e534 10 GetFirmwareEnvironmentVariableA -PUBLIC 5e5c7 10 SetFirmwareEnvironmentVariableA -PUBLIC 5e65a 4 RegisterWowBaseHandlers -PUBLIC fd2d 8 GlobalAlloc -PUBLIC 123b9 c GlobalReAlloc -PUBLIC ff19 4 GlobalLock -PUBLIC 34cb9 4 GlobalHandle -PUBLIC fe82 4 GlobalUnlock -PUBLIC 34da1 4 GlobalSize -PUBLIC 36772 4 GlobalFlags -PUBLIC fc2f 4 GlobalFree -PUBLIC 5e670 4 LocalCompact -PUBLIC 5e686 4 GlobalFix -PUBLIC 5e6a0 4 GlobalUnfix -PUBLIC 5e6ba 4 GlobalWire -PUBLIC 5e6ca 4 GlobalUnWire -PUBLIC 310f2 4 GlobalMemoryStatus -PUBLIC 9a72 14 VirtualAllocEx -PUBLIC 9b02 10 VirtualFreeEx -PUBLIC 1a5d 14 VirtualProtectEx -PUBLIC b9a0 10 VirtualQueryEx -PUBLIC 2b13f 8 VirtualLock -PUBLIC 5e6da 8 VirtualUnlock -PUBLIC 355bc c FlushInstructionCache -PUBLIC 5e712 c AllocateUserPhysicalPages -PUBLIC 5e740 c FreeUserPhysicalPages -PUBLIC 5e76e c MapUserPhysicalPages -PUBLIC 5e79c c MapUserPhysicalPagesScatter -PUBLIC 1f992 4 GlobalMemoryStatusEx -PUBLIC 5e7ca 18 GetWriteWatch -PUBLIC 5e803 8 ResetWriteWatch -PUBLIC 9a51 10 VirtualAlloc -PUBLIC 9ae4 c VirtualFree -PUBLIC 1ad0 10 VirtualProtect -PUBLIC b9d1 c VirtualQuery -PUBLIC 2e18c c SetHandleInformation -PUBLIC 2bdb5 8 GetHandleInformation -PUBLIC 1d07e 0 SetFileApisToOEM -PUBLIC 365f6 0 SetFileApisToANSI -PUBLIC 3594f 0 AreFileApisANSI -PUBLIC 17443 0 BaseProcessInitPostImport -PUBLIC 934b 0 BaseGetNamedObjectDirectory -PUBLIC b5c3 c _BaseDllInitialize -PUBLIC 5e830 8 _lopen -PUBLIC 365a5 8 _lcreat -PUBLIC 353ce c _lread -PUBLIC 38ae7 c _lwrite -PUBLIC 34e64 4 _lclose -PUBLIC 35406 c _llseek -PUBLIC 30d74 8 lstrcmpA -PUBLIC baa1 8 lstrcmpiA -PUBLIC be01 8 lstrcpyA -PUBLIC 10111 c lstrcpynA -PUBLIC 34d41 8 lstrcatA -PUBLIC bdb6 4 lstrlenA -PUBLIC b9ef c lstrcpynW -PUBLIC 10f32 8 lstrcatW -PUBLIC 9a09 4 lstrlenW -PUBLIC 325bc 4 LocalSize -PUBLIC 5e882 8 LocalShrink -PUBLIC 12bb6 c HeapCreate -PUBLIC 10ef8 4 HeapDestroy -PUBLIC 5e898 10 HeapExtend -PUBLIC 5e8c9 10 HeapCreateTagsW -PUBLIC 5e8da 14 HeapQueryTagW -PUBLIC 5e8eb c HeapSummary -PUBLIC 5e947 14 HeapUsage -PUBLIC 5e9bb c HeapValidate -PUBLIC abc1 0 GetProcessHeap -PUBLIC 5e9db 8 GetProcessHeaps -PUBLIC 3611e 8 HeapCompact -PUBLIC 5e9ec 4 HeapLock -PUBLIC 5ea06 4 HeapUnlock -PUBLIC 5ea20 8 HeapWalk -PUBLIC 39469 10 HeapSetInformation -PUBLIC 5eb25 14 HeapQueryInformation -PUBLIC 5eb58 14 GetMailslotInfo -PUBLIC 2cdd8 8 SetMailslotInfo -PUBLIC 2ccdc 10 CreateMailslotW -PUBLIC 2cc8b 10 CreateMailslotA -PUBLIC 34932 c CreateVirtualBuffer -PUBLIC 5ebf4 8 ExtendVirtualBuffer -PUBLIC 5ec4e 4 TrimVirtualBuffer -PUBLIC 34b69 4 FreeVirtualBuffer -PUBLIC 5ec71 c VirtualBufferExceptionHandler -PUBLIC 349d8 20 BaseDllFormatMessage -PUBLIC 2f7a0 1c FormatMessageA -PUBLIC 34b8f 1c FormatMessageW -PUBLIC abde 4 FreeLibrary -PUBLIC c170 8 FreeLibraryAndExitThread -PUBLIC 11296 4 DisableThreadLibraryCalls -PUBLIC 5ecb0 4 SetDllDirectoryW -PUBLIC 5ed46 4 SetDllDirectoryA -PUBLIC 5edd7 8 GetDllDirectoryW -PUBLIC e477 4 GetModuleHandleForUnicodeString -PUBLIC 1fcff c BasepGetModuleHandleExParameterValidation -PUBLIC e4b9 10 BasepGetModuleHandleExW -PUBLIC 111da 0 GetVersion -PUBLIC ae65 4 GetVersionExW -PUBLIC 1fb26 10 VerifyVersionInfoW -PUBLIC 5ee46 10 VerifyVersionInfoA -PUBLIC 9f81 4 BaseDllFreeResourceId -PUBLIC 5eee3 c ReturnMem16Data -PUBLIC 5eef0 1c UTRegister -PUBLIC 14c3c c BasepLoadLibraryAsDataFile -PUBLIC 1af1 c LoadLibraryExW -PUBLIC 5ef47 8 GetDllDirectoryA -PUBLIC b3d5 c GetModuleFileNameW -PUBLIC b4cf c GetModuleFileNameA -PUBLIC e43d 4 GetModuleHandleW -PUBLIC 5efe6 c GetModuleHandleExA -PUBLIC 1fcc1 c GetModuleHandleExW -PUBLIC ada0 8 GetProcAddress -PUBLIC 12ade 4 GetVersionExA -PUBLIC be89 c FindResourceA -PUBLIC 35f78 10 FindResourceExA -PUBLIC 9fb5 8 LoadResource -PUBLIC bc69 8 SizeofResource -PUBLIC 5f03c c EnumResourceTypesA -PUBLIC 5f229 10 EnumResourceNamesA -PUBLIC 2e000 14 EnumResourceLanguagesA -PUBLIC ac88 10 FindResourceExW -PUBLIC 5f449 c EnumResourceTypesW -PUBLIC 5f631 14 EnumResourceLanguagesW -PUBLIC ae4b 4 LoadLibraryW -PUBLIC 1d4f c LoadLibraryExA -PUBLIC b6a1 4 GetModuleHandleA -PUBLIC 1d77 4 LoadLibraryA -PUBLIC 3145b 8 ConnectNamedPipe -PUBLIC 1269f 4 DisconnectNamedPipe -PUBLIC 5f781 c NpGetUserNamep -PUBLIC 313ec 10 SetNamedPipeHandleState -PUBLIC 5f88a 14 GetNamedPipeInfo -PUBLIC 5f90f 18 PeekNamedPipe -PUBLIC 312e5 1c TransactNamedPipe -PUBLIC 2c664 8 WaitNamedPipeW -PUBLIC 2f0d4 20 CreateNamedPipeW -PUBLIC 5fa85 1c GetNamedPipeHandleStateW -PUBLIC 5fb7f 1c CallNamedPipeW -PUBLIC 5fc39 8 WaitNamedPipeA -PUBLIC 5fc74 20 CreateNamedPipeA -PUBLIC 5fceb 1c GetNamedPipeHandleStateA -PUBLIC 5fdce 1c CallNamedPipeA -PUBLIC 5fe41 4 GetNumaHighestNodeNumber -PUBLIC 5fe8c 8 GetNumaProcessorNode -PUBLIC 5ff19 8 GetNumaNodeProcessorMask -PUBLIC 5ff7e c GetNumaProcessorMap -PUBLIC 5ffc4 c GetNumaAvailableMemory -PUBLIC 6000a 8 GetNumaAvailableMemoryNode -PUBLIC 600d2 10 NumaVirtualQueryNode -PUBLIC f182 8 IsThisARootDirectory -PUBLIC 31db9 8 GetSystemDirectoryW -PUBLIC ad29 8 GetSystemWindowsDirectoryW -PUBLIC ad7b 8 GetWindowsDirectoryW -PUBLIC b2d0 4 GetDriveTypeW -PUBLIC 112d5 c BasepGetTempPathW -PUBLIC 359b7 10 GetTempFileNameW -PUBLIC 301af 14 GetDiskFreeSpaceW -PUBLIC 12803 10 GetDiskFreeSpaceExW -PUBLIC f9e5 20 GetVolumeInformationW -PUBLIC 2c2d3 8 GetLogicalDriveStringsA -PUBLIC 603cf 8 GetLogicalDriveStringsW -PUBLIC 60499 8 SetVolumeLabelW -PUBLIC 60811 14 CheckNameLegalDOS8Dot3W -PUBLIC 14eea 8 GetSystemDirectoryA -PUBLIC 212f1 8 GetSystemWindowsDirectoryA -PUBLIC 21363 8 GetWindowsDirectoryA -PUBLIC 214e3 4 GetDriveTypeA -PUBLIC 217ea 18 SearchPathA -PUBLIC 30789 8 GetTempPathW -PUBLIC 608ff 10 GetTempFileNameA -PUBLIC 302ed 14 GetDiskFreeSpaceA -PUBLIC 3039b 10 GetDiskFreeSpaceExA -PUBLIC 21ba5 20 GetVolumeInformationA -PUBLIC 609ed 8 SetVolumeLabelA -PUBLIC 60a51 14 CheckNameLegalDOS8Dot3A -PUBLIC 35dca 8 GetTempPathA -PUBLIC a427 4 QueryPerformanceCounter -PUBLIC 2fa46 4 QueryPerformanceFrequency -PUBLIC 1e0c7 10 CreatePipe -PUBLIC 35340 4 GetSystemPowerStatus -PUBLIC 60aab 8 SetSystemPowerState -PUBLIC 392b5 4 SetThreadExecutionState -PUBLIC 60af4 4 RequestWakeupLatency -PUBLIC 60b1c 8 GetDevicePowerState -PUBLIC 60b60 0 IsSystemResumeAutomatic -PUBLIC 60b6f 4 RequestDeviceWakeup -PUBLIC 60b97 4 CancelDeviceWakeupRequest -PUBLIC 60bbf 8 SetMessageWaitingIndicator -PUBLIC 2f3a4 4 BasepIsSetupInvokedByWinLogon -PUBLIC 1a1cf 8 BasepIsImageVersionOk -PUBLIC 1500c 0 IsShimInfrastructureDisabled -PUBLIC 1930f 1c BasepCheckBadapp -PUBLIC 16f8e 4 RegisterWaitForInputIdle -PUBLIC 2dfa0 c StuffStdHandle -PUBLIC 60bd3 c BasepReplaceProcessThreadTokens -PUBLIC 309e1 c OpenProcess -PUBLIC 1cd34 4 _ExitProcess -PUBLIC 1cdda 4 ExitProcess -PUBLIC 1e16 8 TerminateProcess -PUBLIC 1ae17 8 GetExitCodeProcess -PUBLIC 1e50 4 GetStartupInfoW -PUBLIC 1eee 4 GetStartupInfoA -PUBLIC 12f1d 0 GetCommandLineA -PUBLIC 16f83 0 GetCommandLineW -PUBLIC 1df77 4 FreeEnvironmentStringsA -PUBLIC 12f08 0 GetEnvironmentStringsW -PUBLIC 1cf5b 0 GetEnvironmentStrings -PUBLIC 14af2 c GetEnvironmentVariableA -PUBLIC 33478 8 SetEnvironmentVariableA -PUBLIC f0f4 c GetEnvironmentVariableW -PUBLIC 101be 8 SetEnvironmentVariableW -PUBLIC 329d9 c ExpandEnvironmentStringsA -PUBLIC 305f6 c ExpandEnvironmentStringsW -PUBLIC 9920 0 GetCurrentProcessId -PUBLIC 60c75 4 GetProcessId -PUBLIC 21cc 14 ReadProcessMemory -PUBLIC 220f 14 WriteProcessMemory -PUBLIC 60caa 8 FatalAppExitW -PUBLIC 60cf8 8 FatalAppExitA -PUBLIC 60d46 4 FatalExit -PUBLIC ae2a 4 IsProcessorFeaturePresent -PUBLIC 60d58 10 BuildSubSysCommandLine -PUBLIC 60e13 4 GetPriorityClass -PUBLIC 9e01 8 IsBadReadPtr -PUBLIC 3593f 8 IsBadHugeReadPtr -PUBLIC 9e79 8 IsBadWritePtr -PUBLIC bf9d 8 IsBadHugeWritePtr -PUBLIC bccf 4 IsBadCodePtr -PUBLIC 32259 8 IsBadStringPtrA -PUBLIC a5dc 8 IsBadStringPtrW -PUBLIC 2c8ed 8 SetProcessShutdownParameters -PUBLIC 60e79 8 GetProcessShutdownParameters -PUBLIC 60ee8 4 BasepIsRealtimeAllowed -PUBLIC 60f22 c GetSystemTimes -PUBLIC 352d9 14 GetProcessTimes -PUBLIC 21765 c GetProcessAffinityMask -PUBLIC 61068 c GetProcessWorkingSetSize -PUBLIC 303d0 c SetProcessWorkingSetSize -PUBLIC 12c23 4 GetProcessVersion -PUBLIC 610b0 8 SetProcessAffinityMask -PUBLIC 610e0 8 SetProcessPriorityBoost -PUBLIC 6111b 8 GetProcessPriorityBoost -PUBLIC 61155 8 GetProcessIoCounters -PUBLIC 61186 8 GetProcessHandleCount -PUBLIC 611c0 8 GetSystemRegistryQuota -PUBLIC 6120a c BasepSaveAppCertRegistryValue -PUBLIC 15199 8 IsWow64Process -PUBLIC 194dd 4 BasepIsProcessAllowed -PUBLIC 19805 18 BasepCheckWinSaferRestrictions -PUBLIC 19513 30 CreateProcessInternalW -PUBLIC 2332 28 CreateProcessW -PUBLIC 12cb0 c GetSystemInfoInternal -PUBLIC 12d56 4 GetSystemInfo -PUBLIC 37945 4 GetNativeSystemInfo -PUBLIC 2c338 8 SetPriorityClass -PUBLIC 61351 18 BasepConfigureAppCertDlls -PUBLIC 1ddd6 30 CreateProcessInternalA -PUBLIC 2367 28 CreateProcessA -PUBLIC 6136d 8 WinExec -PUBLIC 6147e 8 LoadModule -PUBLIC 3965a 4 CreateMemoryResourceNotification -PUBLIC 395d8 8 QueryMemoryResourceNotification -PUBLIC 2c1e7 c DosPathToSessionPathW -PUBLIC 12f89 8 ProcessIdToSessionId -PUBLIC 132ee 0 WTSGetActiveConsoleSessionId -PUBLIC 61799 c DosPathToSessionPathA -PUBLIC 92ea c BaseFormatObjectAttributes -PUBLIC 2470 8 BaseFormatTimeOut -PUBLIC 16fb4 4 BaseProcessStart -PUBLIC 61901 c BaseFreeThreadStack -PUBLIC e0df 4 BasepEndOfDirName -PUBLIC 176db c BasepLocateExeLdrEntry -PUBLIC 61933 4 BasepUnicodeStringToOemSize -PUBLIC 6195c 4 BasepUnicodeStringToAnsiSize -PUBLIC 30445 8 BasepAcquirePrivilegeEx -PUBLIC 3053e 4 BasepReleasePrivilege -PUBLIC e275 c BasepComputeProcessPath -PUBLIC df9e 8 BaseComputeProcessDllPath -PUBLIC 31d8e 0 BaseComputeProcessSearchPath -PUBLIC e074 4 Basep8BitStringToStaticUnicodeString -PUBLIC 114f8 8 Basep8BitStringToDynamicUnicodeString -PUBLIC 1a2ce 34 BasePushProcessParameters -PUBLIC 9ef1 4 InitializeCriticalSection -PUBLIC b829 8 InitializeCriticalSectionAndSpinCount -PUBLIC 13140 c OpenEventW -PUBLIC 2c05e 4 PulseEvent -PUBLIC 10086 10 CreateSemaphoreW -PUBLIC 2e30f c OpenSemaphoreW -PUBLIC bfad c ReleaseSemaphore -PUBLIC e8b7 c CreateMutexW -PUBLIC e995 c OpenMutexW -PUBLIC 24a7 4 ReleaseMutex -PUBLIC 2540 c WaitForSingleObjectEx -PUBLIC 36696 10 SignalObjectAndWait -PUBLIC 952a 14 WaitForMultipleObjectsEx -PUBLIC 239c 8 SleepEx -PUBLIC 2fb52 c CreateWaitableTimerW -PUBLIC 61985 c OpenWaitableTimerW -PUBLIC 95f9 18 SetWaitableTimer -PUBLIC 2cc09 4 CancelWaitableTimer -PUBLIC a6a9 10 CreateEventW -PUBLIC 1320c c OpenEventA -PUBLIC 12e1d 10 CreateSemaphoreA -PUBLIC 2ca47 c OpenSemaphoreA -PUBLIC e93f c CreateMutexA -PUBLIC ea1b c OpenMutexA -PUBLIC a05d 10 WaitForMultipleObjects -PUBLIC 2442 4 Sleep -PUBLIC 61a81 c CreateWaitableTimerA -PUBLIC 61af0 c OpenWaitableTimerA -PUBLIC 308ad 10 CreateEventA -PUBLIC 33609 0 StringCopyExWorkerW(unsigned short *,unsigned int,unsigned int,unsigned short const *,unsigned short * *,unsigned int *,unsigned long) -PUBLIC 61b64 0 StringLengthWorkerW(unsigned short const *,unsigned int,unsigned int *) -PUBLIC 1746c 0 IsTerminalServerCompatible -PUBLIC 17499 0 IsTSAppCompatEnabled -PUBLIC f1fa 0 IsSystemLUID -PUBLIC 17459 0 InitializeTermsrvFpns -PUBLIC 1efce 0 TermsrvAppInstallMode -PUBLIC 61ba2 4 SetTermsrvAppInstallMode -PUBLIC 61d3f c TermsrvGetSyncTime -PUBLIC 61ffd c TermsrvPutSyncTime -PUBLIC 6240a 8 TermsrvCheckIniSync -PUBLIC 62473 4 TermsrvDoesFileExist -PUBLIC 624ba c TermsrvIniSyncLoop -PUBLIC 17f41 8 GetPerUserWindowsDirectory -PUBLIC 6277d 18 StringCbCopyExW -PUBLIC 627db 1c StringCatExWorkerW -PUBLIC 6297f 18 StringCbCatExW -PUBLIC 1ebb1 4 TermsrvSyncUserIniFile -PUBLIC 629dd 10 StringVPrintfWorkerW -PUBLIC 12980 c BaseCreateThreadPoolThread -PUBLIC 2fc00 c OpenThread -PUBLIC c108 8 SetThreadPriority -PUBLIC a793 4 GetThreadPriority -PUBLIC 62a30 8 SetThreadPriorityBoost -PUBLIC 62a6b 8 GetThreadPriorityBoost -PUBLIC c058 4 ExitThread -PUBLIC 1ce03 8 TerminateThread -PUBLIC 21435 8 GetExitCodeThread -PUBLIC 9728 0 GetCurrentThreadId -PUBLIC 3970d 8 GetThreadContext -PUBLIC 62aa5 8 SetThreadContext -PUBLIC 39732 4 SuspendThread -PUBLIC 328f7 4 ResumeThread -PUBLIC 12a09 10 RaiseException -PUBLIC 62ad0 8 FillUEFInfo -PUBLIC 4479d 4 SetUnhandledExceptionFilter -PUBLIC 62b4f 4 BasepCheckForReadOnlyResource -PUBLIC 12d9f 0 TlsAlloc -PUBLIC 9740 4 TlsGetValue -PUBLIC 9bc5 8 TlsSetValue -PUBLIC 136d7 4 TlsFree -PUBLIC 62c9c 14 GetThreadTimes -PUBLIC 62d09 8 GetThreadIOPendingFlag -PUBLIC 2fa7a 8 SetThreadAffinityMask -PUBLIC 2c0e6 c BaseDispatchAPC -PUBLIC 2c082 c QueueUserAPC -PUBLIC 62d48 8 SetThreadIdealProcessor -PUBLIC 2ffcf 14 CreateFiberEx -PUBLIC 2fe84 4 DeleteFiber -PUBLIC 2ff16 4 ConvertThreadToFiber -PUBLIC 2fed7 0 ConvertFiberToThread -PUBLIC 32992 0 SwitchToThread -PUBLIC 211cd 18 RegisterWaitForSingleObject -PUBLIC 2b086 14 RegisterWaitForSingleObjectEx -PUBLIC 2bff8 4 UnregisterWait -PUBLIC 30062 8 UnregisterWaitEx -PUBLIC 30a62 c QueueUserWorkItem -PUBLIC 2c02c c BindIoCompletionCallback -PUBLIC 2cba2 0 BasepCreateDefaultTimerQueue -PUBLIC 2bfd6 0 CreateTimerQueue -PUBLIC 2117d 1c CreateTimerQueueTimer -PUBLIC 12723 10 ChangeTimerQueueTimer -PUBLIC 21130 c DeleteTimerQueueTimer -PUBLIC 62d7c 8 DeleteTimerQueueEx -PUBLIC 2b26e 18 SetTimerQueueTimer -PUBLIC 62dc3 4 DeleteTimerQueue -PUBLIC 62df0 8 CancelTimerQueueTimer -PUBLIC 62e34 0 StringCchPrintfW -PUBLIC 10637 18 CreateThread -PUBLIC c1e0 4 BaseExitThreadPoolThread -PUBLIC 62e62 4 UnhandledExceptionFilter -PUBLIC 2ffaf c CreateFiber -PUBLIC 63999 8 Heap32ListFirst -PUBLIC 63a47 8 Heap32ListNext -PUBLIC 63ade c Heap32First -PUBLIC 63bf8 4 Heap32Next -PUBLIC 63d24 14 Toolhelp32ReadProcessMemory -PUBLIC 63d64 8 Process32FirstW -PUBLIC 63e1d 8 Process32First -PUBLIC 63eef 8 Process32NextW -PUBLIC 63f90 8 Process32Next -PUBLIC 64062 8 Thread32First -PUBLIC 64116 8 Thread32Next -PUBLIC 641af 8 Module32FirstW -PUBLIC 64268 8 Module32First -PUBLIC 6434c 8 Module32NextW -PUBLIC 643ed 8 Module32Next -PUBLIC 644c8 14 ThpCreateRawSnap -PUBLIC 64679 18 ThpAllocateSnapshotSection -PUBLIC 6481c c ThpCopyAnsiToUnicode -PUBLIC 64858 18 ThpProcessToSnap -PUBLIC 64b47 8 CreateToolhelp32Snapshot -PUBLIC 64bcf 8 GetExpandedNameA -PUBLIC 64c7c 8 GetExpandedNameW -PUBLIC 64d93 4 ConvertWin32FHToDos -PUBLIC 64e03 4 ConvertDosFHToWin32 -PUBLIC 64e2a 4 LZInit -PUBLIC 64f85 14 LZCreateFileW -PUBLIC 65053 c LZOpenFileA -PUBLIC 65114 c LZOpenFileW -PUBLIC 651ab c LZSeek -PUBLIC 65236 c LZRead -PUBLIC 65444 4 LZCloseFile -PUBLIC 654bb 4 LZClose -PUBLIC 6557c c ClearCommError -PUBLIC 656c7 c SetupComm -PUBLIC 6578e 8 EscapeCommFunction -PUBLIC 6588a 8 GetCommMask -PUBLIC 65913 8 GetCommModemStatus -PUBLIC 6599c 8 GetCommProperties -PUBLIC 65a54 8 GetCommState -PUBLIC 22128 8 GetCommTimeouts -PUBLIC 65d02 8 PurgeComm -PUBLIC 65d8c 4 SetCommBreak -PUBLIC 65da4 8 SetCommMask -PUBLIC 65e43 8 SetCommState -PUBLIC 6614b 8 SetCommTimeouts -PUBLIC 661f6 8 TransmitCommChar -PUBLIC 66280 c WaitCommEvent -PUBLIC 663c8 8 GetFriendlyUi -PUBLIC 6677d c CommConfigDialogW -PUBLIC 66871 c CommConfigDialogA -PUBLIC 66949 c GetDefaultCommConfigW -PUBLIC 66a41 c GetDefaultCommConfigA -PUBLIC 66b19 c SetDefaultCommConfigW -PUBLIC 66c11 c SetDefaultCommConfigA -PUBLIC 66cf1 4 ClearCommBreak -PUBLIC 66d09 c GetCommConfig -PUBLIC 66eab c SetCommConfig -PUBLIC 66f43 4 GetNextVDMCommand -PUBLIC 67695 8 ExitVDM -PUBLIC 67714 8 SetVDMCurrentDirectories -PUBLIC 67849 8 GetVDMCurrentDirectories -PUBLIC 2f609 4 CmdBatNotification -PUBLIC 679a9 4 RegisterWowExec -PUBLIC 67a01 c GetVDMConfigValue -PUBLIC 67a4a 10 BaseUpdateVDMEntry -PUBLIC 28b87 8 BaseIsDosApplication -PUBLIC 1ae5e 8 BaseCheckForVDM -PUBLIC 67b2e 8 BaseDestroyVDMEnvironment -PUBLIC 67b70 8 BaseGetEnvNameType_U -PUBLIC 1143f 4 SkipPathTypeIndicator_U -PUBLIC 1f5a6 8 IsShortName_U -PUBLIC 132f9 8 IsLongName_U -PUBLIC 67bcc 8 GetBinaryTypeW -PUBLIC 67e19 4 VDMOperationStarted -PUBLIC 67e35 14 BaseGetVDMKeyword -PUBLIC 1146a 10 FindLFNorSFN_U -PUBLIC 6802b 8 GetBinaryTypeA -PUBLIC 1f26e c GetShortPathNameW -PUBLIC 680be c BaseCreateVDMEnvironment -PUBLIC 13353 c GetLongPathNameW -PUBLIC 28c38 24 BaseCheckVDMp -PUBLIC 68509 24 BaseCheckVDM -PUBLIC 35bb0 c GetShortPathNameA -PUBLIC 68586 c GetLongPathNameA -PUBLIC 687a1 14 BaseGetVdmConfigInfo -PUBLIC 2cf9b c FindNextVolumeW -PUBLIC 2cf60 4 FindVolumeClose -PUBLIC 68abf 10 FindNextVolumeMountPointHelper -PUBLIC 68db1 c FindFirstVolumeMountPointW -PUBLIC 68f11 8 IsThisAVolumeName -PUBLIC 6905d c FindNextVolumeMountPointW -PUBLIC 357d5 4 FindCloseChangeNotification -PUBLIC 2080d c GetVolumeNameForRoot -PUBLIC 31b99 10 BasepGetVolumeNameFromReparsePoint -PUBLIC 20799 10 BasepGetVolumeNameForVolumeMountPoint -PUBLIC 1fb88 c GetVolumeNameForVolumeMountPointW -PUBLIC 6907b 8 SetVolumeNameForRoot -PUBLIC 69218 c NotifyMountMgr -PUBLIC 69395 8 SetVolumeMountPointW -PUBLIC 69778 4 DeleteVolumeNameForRoot -PUBLIC 69930 4 DeleteVolumeMountPointW -PUBLIC 2e61c c GetVolumePathNameW -PUBLIC 20d14 10 GetVolumePathNamesForVolumeNameW -PUBLIC 2d2af 8 FindFirstVolumeW -PUBLIC 69bff c FindNextVolumeA -PUBLIC 69d19 c FindFirstVolumeMountPointA -PUBLIC 69e49 c FindNextVolumeMountPointA -PUBLIC 69f61 c GetVolumeNameForVolumeMountPointA -PUBLIC 6a091 8 SetVolumeMountPointA -PUBLIC 6a0de 4 DeleteVolumeMountPointA -PUBLIC 2e8b2 c GetVolumePathNameA -PUBLIC 6a100 10 GetVolumePathNamesForVolumeNameA -PUBLIC 6a259 8 FindFirstVolumeA -PUBLIC 6aebf c BuildCommDCBAndTimeoutsA -PUBLIC 6aeed 8 BuildCommDCBA -PUBLIC 6af1f c BuildCommDCBAndTimeoutsW -PUBLIC 6af79 8 BuildCommDCBW -PUBLIC 6afd0 18 BasepDoTapeOperation -PUBLIC 6b046 18 SetTapePosition -PUBLIC 6b08c 14 GetTapePosition -PUBLIC 6b0e8 c PrepareTape -PUBLIC 6b11b c EraseTape -PUBLIC 6b14e 10 CreateTapePartition -PUBLIC 6b188 10 WriteTapemark -PUBLIC 6b1c2 10 GetTapeParameters -PUBLIC 6b21e c SetTapeParameters -PUBLIC 6b25f 4 GetTapeStatus -PUBLIC 2cb03 8 CreateJobObjectW -PUBLIC 6b280 c OpenJobObjectW -PUBLIC 2e44a 8 AssignProcessToJobObject -PUBLIC 6b2f7 8 TerminateJobObject -PUBLIC 2afc9 14 QueryInformationJobObject -PUBLIC 2ca9f 10 SetInformationJobObject -PUBLIC 6b324 c IsProcessInJob -PUBLIC 6b35e c CreateJobSet -PUBLIC 6b38c 8 CreateJobObjectA -PUBLIC 6b3f8 c OpenJobObjectA -PUBLIC 6b46c c CreateHardLinkW -PUBLIC 6b629 c CreateHardLinkA -PUBLIC 6b683 4 GetHandleContext -PUBLIC 2146c 8 GetSystemWow64DirectoryW -PUBLIC 6b694 0 CreateSocketHandle -PUBLIC 1301e 18 BasepSxsActivationContextNotification -PUBLIC 6b6a3 10 BasepSxsSuitableManifestCallback -PUBLIC 17190 c BasepSxsFindSuitableManifestResourceFor -PUBLIC 2bf01 4 AddRefActCtx -PUBLIC 1305f 4 ReleaseActCtx -PUBLIC 6b6fb 4 ZombifyActCtx -PUBLIC a644 8 ActivateActCtx -PUBLIC a675 8 DeactivateActCtx -PUBLIC 300a9 4 GetCurrentActCtx -PUBLIC 967c 10 BasepAllocateActivationContextActivationBlock -PUBLIC 6b723 4 BasepFreeActivationContextActivationBlock -PUBLIC 130a6 4 BasepSxsCloseHandles -PUBLIC 15350 14 BasepSxsCreateResourceStream -PUBLIC 6b761 8 BasepSxsOverrideStreamToMessageStream -PUBLIC 1530d 4 BasepSxsIsStatusFileNotFoundEtc -PUBLIC 19aaa 4 BasepSxsIsStatusResourceNotFound -PUBLIC 1a9d9 8 BasepSxsGetProcessImageBaseAddress -PUBLIC 15229 10 BasepSxsCreateFileStream -PUBLIC 162db 1c QueryActCtxW -PUBLIC 1529b 3c BasepSxsCreateStreams -PUBLIC 1a86f 28 BasepSxsCreateProcessCsrMessage -PUBLIC 15921 c BasepCreateActCtx -PUBLIC 1545c 4 CreateActCtxW -PUBLIC 11210 c BasepProbeForDllManifest -PUBLIC 6b7a5 4 CreateActCtxA -PUBLIC 2fe16 c BasepFindActCtxSection_FillOutReturnData -PUBLIC 30e9a c BasepFindActCtxSection_CheckAndConvertParameters -PUBLIC 2fd92 14 BasepFindActCtxSectionString -PUBLIC 6bb0f 14 FindActCtxSectionStringA -PUBLIC 2fd4c 14 FindActCtxSectionStringW -PUBLIC 30f21 14 FindActCtxSectionGuid -PUBLIC 38653 14 BasepQueryModuleData -PUBLIC 3835a 14 BaseQueryModuleData -PUBLIC 1612f 4 CsrBasepCreateActCtx -PUBLIC 6bb65 4 SetComPlusPackageInstallStatus -PUBLIC 6bba2 0 GetComPlusPackageInstallStatus -PUBLIC 6bbcf 4 BasepShimCacheWrite -PUBLIC 16763 c BasepCheckStringPrefixUnicode -PUBLIC 16602 4 BasepInitUserTempPath -PUBLIC 1aa2c 0 BasepShimCacheInitTempDirs -PUBLIC 169ea c BasepShimCacheQueryFileInformation -PUBLIC 1691d 8 BasepIsRemovableMedia -PUBLIC 2b335 c BasepShimCacheInit -PUBLIC 16473 10 BasepShimCacheSearch -PUBLIC 1697f c BasepShimCacheUpdateLRUIndex -PUBLIC 2c59b c BasepShimCacheRemoveEntry -PUBLIC 2f70b 1c BasepShimCacheAllocateEntry -PUBLIC 2f695 10 BasepShimCacheUpdate -PUBLIC 1642c 8 BasepBitMapCountBits -PUBLIC 168bb c BasepBitMapSetBit -PUBLIC 16396 4 BasepShimCacheCheckIntegrity -PUBLIC 165e9 0 BasepShimCacheUnlock -PUBLIC 16b75 4 BasepCheckCacheExcludeList -PUBLIC 164cd 0 BaseInitAppcompatCache -PUBLIC 2b553 8 BasepShimCacheRead -PUBLIC 16662 14 BasepShimCacheCheckBypass -PUBLIC 16879 10 BasepShimCacheLookup -PUBLIC 16562 8 BasepShimCacheLock -PUBLIC 167d7 10 BaseCheckAppcompatCache -PUBLIC 15120 c BaseUpdateAppcompatCache -PUBLIC 6bc3f 0 BaseFlushAppcompatCache -PUBLIC 6bcc1 0 BaseDumpAppcompatCache -PUBLIC 2b38d 0 BaseInitAppcompatCacheSupport -PUBLIC 6be06 0 BaseCleanupAppcompatCache -PUBLIC 6be8a 4 BaseCleanupAppcompatCacheSupport -PUBLIC 1204d c StringCopyWorkerW -PUBLIC 6bec2 0 FreeOne(_RESNAME *) -PUBLIC 6bf37 0 FreeData(_UPDATEDATA *) -PUBLIC 6c041 0 AddStringOrID(unsigned short const *,_UPDATEDATA *) -PUBLIC 6c1ad 0 DeleteResourceFromList(_UPDATEDATA *,_RESTYPE *,_RESNAME *,int,int,int) -PUBLIC 6c317 0 InsertResourceIntoLangList(_UPDATEDATA *,MY_STRING *,MY_STRING *,_RESTYPE *,_RESNAME *,int,int,int,void *) -PUBLIC 6c414 0 FilePos(int) -PUBLIC 6c42e 0 MuMoveFilePos(int,unsigned long) -PUBLIC 6c449 0 MuWrite(int,void *,unsigned long) -PUBLIC 6c470 0 MuRead(int,unsigned char *,unsigned long) -PUBLIC 6c497 0 MuCopy(int,int,unsigned long) -PUBLIC 6c536 0 SetResdata(_IMAGE_RESOURCE_DATA_ENTRY *,unsigned long,unsigned long) -PUBLIC 6c55d 0 SetRestab(_IMAGE_RESOURCE_DIRECTORY *,long,unsigned short,unsigned short) -PUBLIC 6c592 0 FindSection(_IMAGE_SECTION_HEADER *,_IMAGE_SECTION_HEADER *,char *) -PUBLIC 6c5e7 0 AssignResourceToSection(_RESNAME * *,unsigned long,unsigned long,long,long *) -PUBLIC 6c62a 0 WriteResSection(_UPDATEDATA *,int,unsigned long,unsigned long,_RESNAME *) -PUBLIC 6c7a6 0 PatchDebug<_IMAGE_NT_HEADERS>(int,int,_IMAGE_SECTION_HEADER *,_IMAGE_SECTION_HEADER *,_IMAGE_SECTION_HEADER *,_IMAGE_SECTION_HEADER *,_IMAGE_NT_HEADERS *,_IMAGE_NT_HEADERS *,unsigned long,unsigned long *) -PUBLIC 6c922 0 PatchDebug<_IMAGE_NT_HEADERS64>(int,int,_IMAGE_SECTION_HEADER *,_IMAGE_SECTION_HEADER *,_IMAGE_SECTION_HEADER *,_IMAGE_SECTION_HEADER *,_IMAGE_NT_HEADERS64 *,_IMAGE_NT_HEADERS64 *,unsigned long,unsigned long *) -PUBLIC 6ca9e 0 PatchRVAs<_IMAGE_NT_HEADERS>(int,int,_IMAGE_SECTION_HEADER *,unsigned long,_IMAGE_NT_HEADERS *,unsigned long) -PUBLIC 6cc38 0 PatchRVAs<_IMAGE_NT_HEADERS64>(int,int,_IMAGE_SECTION_HEADER *,unsigned long,_IMAGE_NT_HEADERS64 *,unsigned long) -PUBLIC 6cdd5 0 PEWriteResource<_IMAGE_NT_HEADERS>(int,int,unsigned long,_UPDATEDATA *,_IMAGE_NT_HEADERS *) -PUBLIC 6df34 0 PEWriteResource<_IMAGE_NT_HEADERS64>(int,int,unsigned long,_UPDATEDATA *,_IMAGE_NT_HEADERS64 *) -PUBLIC 335b7 0 StringCchCopyW(unsigned short *,unsigned int,unsigned short const *) -PUBLIC 6f093 0 AddResource(MY_STRING *,MY_STRING *,unsigned short,_UPDATEDATA *,void *,unsigned long) -PUBLIC 6f3ef 0 PEWriteResFile(int,int,unsigned long,_UPDATEDATA *) -PUBLIC 6f49a 0 WriteResFile(void *,unsigned short *) -PUBLIC 6f5a3 18 UpdateResourceW -PUBLIC 6f6aa 18 UpdateResourceA -PUBLIC 6f774 8 EndUpdateResourceW -PUBLIC 6f949 8 EndUpdateResourceA -PUBLIC 6f959 0 EnumLangsFunc(void *,unsigned short *,unsigned short *,unsigned short,long) -PUBLIC 6fa8d 0 EnumNamesFunc(void *,unsigned short *,unsigned short *,long) -PUBLIC 6fab4 0 EnumTypesFunc(void *,unsigned short *,long) -PUBLIC 6fad8 8 BeginUpdateResourceW -PUBLIC 6fc7b 8 BeginUpdateResourceA -PUBLIC 6fcdc 0 __report_gsfailure -PUBLIC 6fdca 0 __security_init_cookie_ex -PUBLIC 189fc 0 __security_init_cookie -PUBLIC 9702 0 __security_check_cookie -PUBLIC 6fe51 8 GetCurrentExeName -PUBLIC 6febb c GetExeName -PUBLIC 6ff39 18 GetConsoleAliasInternal -PUBLIC 70086 10 GetConsoleAliasW -PUBLIC 700b2 10 GetConsoleAliasA -PUBLIC 700dc 8 GetConsoleAliasesLengthInternal -PUBLIC 701a1 4 GetConsoleAliasesLengthW -PUBLIC 701b9 4 GetConsoleAliasesLengthA -PUBLIC 701d1 4 GetConsoleAliasExesLengthInternal -PUBLIC 70245 0 GetConsoleAliasExesLengthW -PUBLIC 70252 0 GetConsoleAliasExesLengthA -PUBLIC 7025f 10 GetConsoleAliasesInternal -PUBLIC 703c9 c GetConsoleAliasesW -PUBLIC 703e7 c GetConsoleAliasesA -PUBLIC 70405 c GetConsoleAliasExesInternal -PUBLIC 70531 8 GetConsoleAliasExesW -PUBLIC 7054c 8 GetConsoleAliasExesA -PUBLIC 70567 8 ExpungeConsoleCommandHistoryInternal -PUBLIC 7060f 4 ExpungeConsoleCommandHistoryW -PUBLIC 70627 4 ExpungeConsoleCommandHistoryA -PUBLIC 7063f c SetConsoleNumberOfCommandsInternal -PUBLIC 7070a 8 SetConsoleNumberOfCommandsW -PUBLIC 70725 8 SetConsoleNumberOfCommandsA -PUBLIC 70740 8 GetConsoleCommandHistoryLengthInternal -PUBLIC 707ed 4 GetConsoleCommandHistoryLengthW -PUBLIC 70805 4 GetConsoleCommandHistoryLengthA -PUBLIC 7081d 10 GetConsoleCommandHistoryInternal -PUBLIC 70989 c GetConsoleCommandHistoryW -PUBLIC 709a7 c GetConsoleCommandHistoryA -PUBLIC 709c5 4 SetConsoleCommandHistoryMode -PUBLIC 1ba6a c GetConsoleTitleInternal -PUBLIC 70a39 8 GetConsoleTitleA -PUBLIC 1ba3c 8 GetConsoleTitleW -PUBLIC 2da09 c SetConsoleTitleInternal -PUBLIC 70a61 4 SetConsoleTitleA -PUBLIC 2d9bd 4 SetConsoleTitleW -PUBLIC 70ad1 8 GetConsoleInputExeNameW -PUBLIC 1b355 4 SetConsoleInputExeNameW -PUBLIC 70b61 18 AddConsoleAliasInternal -PUBLIC 70c81 c AddConsoleAliasW -PUBLIC 70cbf c AddConsoleAliasA -PUBLIC 70cfc 8 GetConsoleInputExeNameA -PUBLIC 70da8 4 SetConsoleInputExeNameA -PUBLIC 1b10f 10 SetUpAppName -PUBLIC 29ee3 8 ParseReserved -PUBLIC 1aff3 4 GetConsoleLangId -PUBLIC 1afd5 0 SetTEBLangID -PUBLIC 18c64 c ConnectConsoleInternal -PUBLIC 70e05 2c AllocConsoleInternal -PUBLIC 71011 0 FreeConsoleInternal -PUBLIC 7108d 0 FreeConsole -PUBLIC 710e1 4 PropRoutine -PUBLIC 71191 10 AttachConsoleInternal -PUBLIC b6d7 8 ConDllInitialize -PUBLIC 71311 0 AllocConsole -PUBLIC 714f9 4 AttachConsole -PUBLIC 715f9 0 GetConsoleInputWaitHandle -PUBLIC 1ce32 14 WriteConsoleInternal -PUBLIC 1cf25 14 WriteConsoleA -PUBLIC 35484 14 WriteConsoleW -PUBLIC 1dc7e 4 CloseConsoleHandle -PUBLIC 1dd4d 10 DuplicateConsoleHandle -PUBLIC 71604 8 GetConsoleHandleInformation -PUBLIC 716c9 c SetConsoleHandleInformation -PUBLIC 1aeaa 4 VerifyConsoleIoHandle -PUBLIC 1ff5b 10 OpenConsoleWInternal -PUBLIC 10fe1 10 OpenConsoleW -PUBLIC 71749 20 ReadConsoleInternal -PUBLIC 71a1d 14 ReadConsoleA -PUBLIC 71a6c 14 ReadConsoleW -PUBLIC 71ac2 2c RegisterConsoleVDM -PUBLIC 71c19 c GetConsoleHardwareState -PUBLIC 71ce9 c SetConsoleHardwareState -PUBLIC 37c53 4 GetConsoleDisplayMode -PUBLIC 71d69 10 SetConsoleKeyShortcuts -PUBLIC 71e30 4 SetConsoleMenuClose -PUBLIC 71ea4 10 WriteConsoleInputVDMA -PUBLIC 71ec7 10 WriteConsoleInputVDMW -PUBLIC 71eea 8 SetConsoleCursor -PUBLIC 71f64 8 ShowConsoleCursor -PUBLIC 71fbf c ConsoleMenuControl -PUBLIC 72020 c SetConsolePaletteInternal -PUBLIC 720a0 c SetConsoleDisplayMode -PUBLIC 721c9 c SetConsolePalette -PUBLIC 72269 18 WriteConsoleInputInternal -PUBLIC 723c5 10 WriteConsoleInputA -PUBLIC 723e8 10 WriteConsoleInputW -PUBLIC 7240b 18 CopyRectangle -PUBLIC 7254f 18 ReadConsoleOutputInternal -PUBLIC 727e1 14 ReadConsoleOutputW -PUBLIC 72805 14 ReadConsoleOutputA -PUBLIC 72829 18 WriteConsoleOutputInternal -PUBLIC 72b21 14 WriteConsoleOutputW -PUBLIC 72b45 14 WriteConsoleOutputA -PUBLIC 72b69 1c ReadConsoleOutputString -PUBLIC 72cd9 14 ReadConsoleOutputCharacterA -PUBLIC 72cff 14 ReadConsoleOutputCharacterW -PUBLIC 72d25 14 ReadConsoleOutputAttribute -PUBLIC 72d4b 1c WriteConsoleOutputString -PUBLIC 72ea5 14 WriteConsoleOutputCharacterA -PUBLIC 72ecb 14 WriteConsoleOutputCharacterW -PUBLIC 72ef1 14 WriteConsoleOutputAttribute -PUBLIC 72f17 18 FillConsoleOutput -PUBLIC 72ff9 14 FillConsoleOutputCharacterA -PUBLIC 73020 14 FillConsoleOutputCharacterW -PUBLIC 73044 14 FillConsoleOutputAttribute -PUBLIC 73068 14 CreateConsoleScreenBuffer -PUBLIC 73215 8 InvalidateConsoleDIBits -PUBLIC 732e1 18 GetConsoleInput -PUBLIC 7348d 10 PeekConsoleInputA -PUBLIC 734b0 10 PeekConsoleInputW -PUBLIC 734d3 10 ReadConsoleInputA -PUBLIC 734f6 10 ReadConsoleInputW -PUBLIC 73519 14 ReadConsoleInputExA -PUBLIC 7353d 14 ReadConsoleInputExW -PUBLIC 73561 8 GetConsoleCursorInfo -PUBLIC 73629 4 GetConsoleSelectionInfo -PUBLIC 736e1 4 GetNumberOfConsoleMouseButtons -PUBLIC 73799 10 GetConsoleFontInfo -PUBLIC 738c1 8 GetConsoleFontSize -PUBLIC 7394f c GetCurrentConsoleFont -PUBLIC 1b1f0 8 SetConsoleMode -PUBLIC 73a21 8 GenerateConsoleCtrlEvent -PUBLIC 73aa8 4 SetConsoleActiveScreenBuffer -PUBLIC 73b1c 4 FlushConsoleInputBuffer -PUBLIC 73b90 8 SetConsoleScreenBufferSize -PUBLIC 73c0a 8 SetConsoleCursorPosition -PUBLIC 73c84 8 SetConsoleCursorInfo -PUBLIC 73d51 c SetConsoleWindowInfo -PUBLIC 73e21 18 ScrollConsoleScreenBufferInternal -PUBLIC 73f21 14 ScrollConsoleScreenBufferA -PUBLIC 73f45 14 ScrollConsoleScreenBufferW -PUBLIC 73f69 8 SetConsoleTextAttribute -PUBLIC 73fe5 8 SetConsoleFont -PUBLIC 7405f 4 SetConsoleIcon -PUBLIC 740d3 0 GetConsoleCP -PUBLIC 74143 4 SetConsoleCP -PUBLIC 1b18f 0 GetConsoleOutputCP -PUBLIC 741fe 4 SetConsoleOutputCPInternal -PUBLIC 74261 4 SetConsoleOutputCP -PUBLIC 74294 8 GetConsoleKeyboardLayoutNameWorker -PUBLIC 74329 4 GetConsoleKeyboardLayoutNameA -PUBLIC 74341 4 GetConsoleKeyboardLayoutNameW -PUBLIC 74359 0 GetConsoleWindow -PUBLIC 743c5 8 GetConsoleProcessList -PUBLIC 1af14 8 GetConsoleMode -PUBLIC 74501 0 GetNumberOfConsoleFonts -PUBLIC 7456d 8 GetNumberOfConsoleInputEvents -PUBLIC 74631 4 GetLargestConsoleWindowSize -PUBLIC 1bc2b 8 GetConsoleScreenBufferInfo -PUBLIC 746b9 10 SetConsoleLocalEUDC -PUBLIC 7477f c SetConsoleCursorMode -PUBLIC 747ff c GetConsoleCursorMode -PUBLIC 748c9 4 RegisterConsoleOS2 -PUBLIC 7493d 4 SetConsoleOS2OemFormat -PUBLIC 749b1 14 RegisterConsoleIMEInternal -PUBLIC 74ab9 8 RegisterConsoleIME -PUBLIC 74b12 4 UnregisterConsoleIMEInternal -PUBLIC 74b86 0 UnregisterConsoleIME -PUBLIC 74b97 c MyRegOpenKey -PUBLIC 74be9 10 MyRegQueryValue -PUBLIC 74c8e 8 GetCommandLineString -PUBLIC 74e13 4 ConsoleIMERoutine -PUBLIC 74f87 8 GetConsoleNlsMode -PUBLIC 750d9 8 SetConsoleNlsMode -PUBLIC 751a3 c GetConsoleCharType -PUBLIC 75271 4 DefaultHandler -PUBLIC 1b5c6 4 SetCtrlHandler -PUBLIC 2000c 4 RemoveCtrlHandler -PUBLIC 1b58b 8 SetConsoleCtrlHandler -PUBLIC 75280 4 CtrlRoutine -PUBLIC 75489 0 SetLastConsoleEventActiveInternal -PUBLIC 754d3 0 SetLastConsoleEventActive -PUBLIC 754e4 8 VDMConsoleOperation -PUBLIC 38211 10 EnumCalendarInfoA -PUBLIC 75749 10 EnumCalendarInfoExA -PUBLIC 7576c c EnumTimeFormatsA -PUBLIC 7578a c EnumDateFormatsA -PUBLIC 757aa c EnumDateFormatsExA -PUBLIC 757ca c EnumSystemLanguageGroupsA -PUBLIC 757e8 10 EnumLanguageGroupLocalesA -PUBLIC 75809 c EnumUILanguagesA -PUBLIC 37ce1 8 EnumSystemLocalesA -PUBLIC 75827 8 EnumSystemCodePagesA -PUBLIC 75842 14 GetGeoInfoA -PUBLIC a459 8 NlsGetACPFromLocale -PUBLIC cf52 18 NlsAnsiToUnicode -PUBLIC d239 14 NlsUnicodeToAnsi -PUBLIC 380ef c NlsEnumUnicodeToAnsi -PUBLIC 38063 24 NlsDispatchAnsiEnumProc -PUBLIC d077 18 CompareStringA -PUBLIC 38de8 18 LCMapStringA -PUBLIC d262 10 GetLocaleInfoA -PUBLIC 758cb c SetLocaleInfoA -PUBLIC 7596b 18 GetCalendarInfoA -PUBLIC 75ad6 10 SetCalendarInfoA -PUBLIC 3632d 18 GetTimeFormatA -PUBLIC 361ee 18 GetDateFormatA -PUBLIC 2ec56 18 GetNumberFormatA -PUBLIC 75b79 18 GetCurrencyFormatA -PUBLIC 38a0c 14 GetStringTypeA -PUBLIC 75eb1 14 FoldStringA -PUBLIC 76047 c GetCPInfoExA -PUBLIC 760cf 14 GetStringTypeExA -PUBLIC a490 10 GetStringTypeW -PUBLIC 760df 3c FindJamoDifference -PUBLIC bfef 14 GetStringTypeExW -PUBLIC af4f 1c LongCompareStringW -PUBLIC 763c9 0 NlsResetProcessLocale -PUBLIC 763ef 8 IsValidLanguageGroup -PUBLIC 1c48b 8 IsValidLocale -PUBLIC 764fb 4 IsValidUILanguage -PUBLIC a415 0 GetThreadLocale -PUBLIC 13038 0 GetSystemDefaultUILanguage -PUBLIC 13070 0 GetUserDefaultUILanguage -PUBLIC 127b2 0 GetSystemDefaultLangID -PUBLIC bf3d 0 GetSystemDefaultLCID -PUBLIC 9f10 0 GetUserDefaultLCID -PUBLIC 7668d c SetCurrentUserRegValue -PUBLIC 76734 1c SetMultipleUserInfoInRegistry -PUBLIC 769f2 1c SetMultipleUserInfo -PUBLIC 39200 c GetTwoDigitYearInfo -PUBLIC 76a53 c SetTwoDigitYearInfo -PUBLIC 76c59 10 GetNativeLanguageName -PUBLIC 383cf 4 ConvertDefaultLocale -PUBLIC 1bbba 4 SetThreadLocale -PUBLIC bf64 0 GetUserDefaultLangID -PUBLIC 2f041 c VerLanguageNameW -PUBLIC 2efb9 c VerLanguageNameA -PUBLIC 11562 10 GetLocaleInfoW -PUBLIC 39020 18 GetCalendarInfoW -PUBLIC 76d1b 10 SetCalendarInfoW -PUBLIC 76e34 c SetUserInfo -PUBLIC 1b258 4 SetThreadUILanguage -PUBLIC 76e73 c SetLocaleInfoW -PUBLIC 77cf7 10 CreateRegKey -PUBLIC 1bcfe 10 OpenRegKey -PUBLIC 15047 14 QueryRegValue -PUBLIC 77df0 10 SetRegValue -PUBLIC 1734f 10 MapSection -PUBLIC 77e24 4 UnMapSection -PUBLIC 17f7d 18 GetNlsSectionName -PUBLIC 77e43 c GetCodePageDLLPathName -PUBLIC 2ae21 8 GetNTFileName -PUBLIC 2ac6c c CreateNlsSecurityDescriptor -PUBLIC 2b95b 8 AppendAccessAllowedACE -PUBLIC 2b883 0 CreateNlsObjectDirectory -PUBLIC 172de 14 OpenSection -PUBLIC 2ad98 8 OpenDataFile -PUBLIC 77f87 8 CreateSectionTemp -PUBLIC 77fec 10 Internal_EnumSystemLanguageGroups -PUBLIC 782c6 14 Internal_EnumLanguageGroupLocales -PUBLIC 2a8fa 10 Internal_EnumUILanguages -PUBLIC 37cfc c Internal_EnumSystemLocales -PUBLIC 7849b c Internal_EnumSystemCodePages -PUBLIC 38234 18 Internal_EnumCalendarInfo -PUBLIC 38958 38 EnumDateTime -PUBLIC 786e5 c EnumSystemLanguageGroupsW -PUBLIC 78703 10 EnumLanguageGroupLocalesW -PUBLIC 2a8dc c EnumUILanguagesW -PUBLIC 78724 8 EnumSystemLocalesW -PUBLIC 7873f 8 EnumSystemCodePagesW -PUBLIC 7875a 10 EnumCalendarInfoW -PUBLIC 7877d 10 EnumCalendarInfoExW -PUBLIC 388dc 10 Internal_EnumTimeFormats -PUBLIC 38801 14 Internal_EnumDateFormats -PUBLIC 388be c EnumTimeFormatsW -PUBLIC 387e1 c EnumDateFormatsW -PUBLIC 787a0 c EnumDateFormatsExW -PUBLIC 787c0 8 GetGeoLCID -PUBLIC 78847 14 GetGeoInfoW -PUBLIC 78bd9 c EnumSystemGeoID -PUBLIC 3798e 4 GetUserGeoID -PUBLIC 78c5c 4 SetUserGeoID -PUBLIC 78db1 10 FoldCZone -PUBLIC 78e32 10 FoldDigits -PUBLIC 78eb3 10 FoldCZone_Digits -PUBLIC 78f7b 10 FoldLigatures -PUBLIC 790a7 10 FoldPreComposed -PUBLIC 791d2 10 FoldComposite -PUBLIC ce53 18 MapCase -PUBLIC 2d4ad 1c MapSortKey -PUBLIC 79269 18 MapNormalization -PUBLIC 374eb 18 MapHalfKana -PUBLIC 37787 18 MapFullKana -PUBLIC 794fb 1c MapTraditionalSimplified -PUBLIC 79636 14 FoldStringW -PUBLIC 37693 18 MapKanaWidth -PUBLIC cca8 18 LCMapStringW -PUBLIC 110cb 4 IsValidCodePage -PUBLIC 9915 0 GetACP -PUBLIC 797c3 4 SetCPGlobal -PUBLIC 127a7 0 GetOEMCP -PUBLIC b7dc 4 IsDBCSLeadByte -PUBLIC 2f540 10 GetWCCompSB -PUBLIC 797df 1c GetWCCompMB -PUBLIC 79866 14 GetWCCompSBErr -PUBLIC 798c1 1c GetWCCompMBErr -PUBLIC a1fb 18 GetMBNoDefault -PUBLIC bd19 20 GetMBDefault -PUBLIC 32cf3 1c GetMBCompSB -PUBLIC 7998a 24 GetMBCompMB -PUBLIC 7a064 0 GetMacCodePage -PUBLIC cfd4 18 SpecialMBToWC -PUBLIC 12e76 8 GetCPInfo -PUBLIC 7a1cd c GetCPInfoExW -PUBLIC 7a4ce 8 IsDBCSLeadByteEx -PUBLIC 9bf8 18 MultiByteToWideChar -PUBLIC 32c7b 20 GetMBDefaultComp -PUBLIC a0d4 20 WideCharToMultiByte -PUBLIC 7a6b5 0 GetXPSP2ResModuleHandle -PUBLIC 7a6e2 0 GetXPSP3ResModuleHandle -PUBLIC 35819 0 NlsGetCacheUpdateCount -PUBLIC 34474 c IsValidSeparatorString -PUBLIC 7a712 c IsValidGroupingString -PUBLIC 336f6 8 IsValidCalendarType -PUBLIC 33735 8 IsValidCalendarTypeStr -PUBLIC 7a773 0 GetPreComposedChar -PUBLIC 2f440 4 GetCompositeChars -PUBLIC 7a7f3 4 InsertPreComposedForm -PUBLIC 37834 8 InsertFullWidthPreComposedForm -PUBLIC 2f40d 0 InsertCompositeForm -PUBLIC 7a850 8 NlsConvertIntegerToHexStringW -PUBLIC 124d1 8 NlsConvertStringToIntegerW -PUBLIC 121de 0 NlsStrCpyW -PUBLIC 1bdd2 0 NlsStrCatW -PUBLIC a2d4 0 NlsStrLenW -PUBLIC 7a8b2 0 NlsStrEqualW -PUBLIC 7a962 4 NlsStrNEqualW -PUBLIC 7aa41 4 GetDefaultSortkeySize -PUBLIC 7aa6b 4 GetLinguistLangSize -PUBLIC 7aa95 10 ValidateLCType -PUBLIC 2ee51 14 GetStringTableEntry -PUBLIC 7ad9c 0 NlsIsDll -PUBLIC 2c16a 0 UpdateUserInfoCache -PUBLIC 12544 c NlsStringIsInRange -PUBLIC 2a5c3 10 GetUserInfoFromRegistry -PUBLIC 12090 1c GetUserInfo -PUBLIC 14f5c 14 NlsConvertIntegerToString -PUBLIC 397f8 4 ValidateLocale -PUBLIC 384db c GetCPFileNameFromRegistry -PUBLIC 3440e 4 IsValidNumberFormat -PUBLIC 7adfe 4 IsValidCurrencyFormat -PUBLIC 7ae7f 20 GetRegIntValue -PUBLIC 7af62 8 ConvertGroupingStringToInt -PUBLIC 7afd9 1c GetGroupingValue -PUBLIC 3472b 20 GetNumberString -PUBLIC 3465d 20 ParseNumber -PUBLIC 7b04e 20 ParseCurrency -PUBLIC 344bc 18 GetNumberFormatW -PUBLIC 7b6ca 18 GetCurrencyFormatW -PUBLIC 3414d 4 IsValidTime -PUBLIC 339dc 4 IsValidDate -PUBLIC 7bad3 18 GetCalendarYear -PUBLIC 7bb6e c GetAbsoluteDate -PUBLIC 7bc59 4 GetAdvanceHijriDate -PUBLIC 7be1b 4 DaysUpToHijriYear -PUBLIC 7be83 c IsValidDateForHebrew -PUBLIC 335d4 18 StringCchCopyExW -PUBLIC 33ec8 14 ParseTime -PUBLIC 7bf4d 8 GetHijriDate -PUBLIC 7c04f 8 GetHebrewDate -PUBLIC 7c86f c NumberToHebrewLetter -PUBLIC 33fd3 18 GetTimeFormatW -PUBLIC 33a4a 20 ParseDate -PUBLIC 33775 18 GetDateFormatW -PUBLIC c0ed 0 NlsThreadCleanup -PUBLIC 17fc1 0 InitKoreanWeights -PUBLIC 1805b c NlsDllInitialize -PUBLIC 38617 4 IsCPHashNodeLoaded -PUBLIC 7caa9 0 GetGeoFileInfo -PUBLIC a557 0 GetCTypeFileInfo -PUBLIC 7cb54 8 LoadCodePageAsDLL -PUBLIC 188fc 14 MakeCPHashNode -PUBLIC 16ea9 10 MakeLocHashNode -PUBLIC 336b6 8 GetCalendar -PUBLIC 7cc2b 4 IsValidSortId -PUBLIC 7cd42 0 GetLanguageExceptionInfo -PUBLIC 7cdc6 4 FindLanguageExceptionPointers -PUBLIC 7ce1e 4 CopyLanguageExceptionInfo -PUBLIC 184dc c FindExceptionPointers -PUBLIC 7ceb0 8 CopyExceptionInfo -PUBLIC 7cf53 4 WaitOnEvent -PUBLIC 183fe 8 GetSortkeyFileInfo -PUBLIC 3996f 8 GetCodePageFileInfo -PUBLIC 1831e 10 MakeLangHashNode -PUBLIC d1ae 0 GetCPHashNode -PUBLIC 150c2 0 GetLocHashNode -PUBLIC 7cf85 8 CreateAndCopyLanguageExceptions -PUBLIC 7d1b9 4 GetLinguisticLanguageInfo -PUBLIC 18297 10 GetLanguageFileInfo -PUBLIC 7d246 0 GetLangHashNode -PUBLIC 7d340 c UpdateJamoState -PUBLIC 7d3aa 14 GetJamoComposition -PUBLIC 7d4ae 18 MapOldHangulSortKey -PUBLIC 17210 0 NlsIsInteractiveUserProcess -PUBLIC 7d5b4 0 NlsCheckForInteractiveUser -PUBLIC 2a25d 4 NlsGetCacheBuffer -PUBLIC 2a41a 0 NlsInvalidateCache -PUBLIC 7d659 4 NlsFlushProcessCache -PUBLIC 2a855 10 NlsQueryCurrentUserInfo -PUBLIC 11fff 18 NlsGetCurrentUserNlsInfo -PUBLIC 2a532 4 NlsGetUserLocale -PUBLIC 7d6b7 c CsrBasepNlsSetUserInfo -PUBLIC 16ff1 8 CsrBasepNlsGetUserInfo -PUBLIC 7d765 1c CsrBasepNlsSetMultipleUserInfo -PUBLIC 7d9c9 0 CsrBasepNlsUpdateCacheCount -PUBLIC 7da0e c UTFCPInfo -PUBLIC 7da7f 10 UTF7ToUnicode -PUBLIC 31054 14 UTF8ToUnicode -PUBLIC 7dc45 10 UnicodeToUTF7 -PUBLIC 21523 10 UnicodeToUTF8 -PUBLIC 30f99 18 UTFToUnicode -PUBLIC 215f5 20 UnicodeToUTF -PUBLIC 2ad39 c CsrBasepNlsCreateSection -PUBLIC 7dead 8 DelayLoadFailureHook -PUBLIC 7debd 4 FindDll -PUBLIC 7dfad 8 LookupHandlerByName -PUBLIC 7e036 8 LookupHandlerByOrdinal -PUBLIC 7e07f 8 LookupHandler -PUBLIC 7e0cb 14 GetSSIDForAdapter -PUBLIC 7e0ef 18 GetSignalStrengthForAdapter -PUBLIC ddf5 0 GetCurrentProcess -PUBLIC 7e27b 4 ntohs -PUBLIC 7e299 c WSAEnumProtocolsW -PUBLIC 7e2bd 24 WSAIoctl -PUBLIC 7e313 4 GetActivePwrScheme -PUBLIC 7e34b 28 WinStationSendMessageW -PUBLIC 7e362 8 ReadPwrScheme -PUBLIC 7e39e 18 SdbQueryData -PUBLIC 14ae7 4 FreeEnvironmentStringsW -PUBLIC 7e3a9 c mixerGetID -PUBLIC 7e536 18 SetupDiGetDeviceInterfaceDetailA -PUBLIC cc97 4 LockResource -PUBLIC 7e848 8 DnsRecordCompare -PUBLIC 7e878 10 DnsRecordSetCompare -PUBLIC 260c2 4 DnsApiAlloc -PUBLIC 7e8b2 c DnsRecordSetCopyEx -PUBLIC 7e98d 4 DnsApiFree -PUBLIC 7e9e7 0 LZStart -PUBLIC 7ea57 c SfpInstallCatalog -PUBLIC 7ea62 8 SfpDeleteCatalog -PUBLIC 7eb14 10 pSetupConcatenatePaths -PUBLIC 7eb60 c SetActivePwrScheme -PUBLIC 7ec59 0 IsPwrShutdownAllowed -PUBLIC 7ece6 10 UrlMkSetSessionOption -PUBLIC 7f052 0 ldap_search_init_pageW -PUBLIC 7f078 8 DnsFreeConfigStructure -PUBLIC 7f0c5 c DnsSetConfigDword -PUBLIC 7f1f1 10 WZCProviderDeleteWirelessProfile -PUBLIC 7f1fe 0 LZDone -PUBLIC 7f215 8 SetConsoleMaximumWindowSize -PUBLIC 7f23b 1c MprAdminConnectionEnum -PUBLIC 7f251 8 NPCancelConnectionForCSCAgent -PUBLIC 7f6a5 5c LocalEnrollNoDS -PUBLIC 328ec 0 memmove -PUBLIC 2cf55 c RtlDnsHostNameToComputerName -PUBLIC 11fc7 0 wcsncpy -PUBLIC 7f853 0 wcschr -PUBLIC 29f14 0 wcsstr -PUBLIC a0c9 0 _allmul -PUBLIC 7f85e 0 DbgBreakPoint -PUBLIC 7f869 0 DbgPrint -PUBLIC 24c6 0 _SEH_prolog -PUBLIC 2501 0 _SEH_epilog -PUBLIC 39aa8 0 _except_handler3 -PUBLIC 39b8e 4 _seh_longjmp_unwind -PUBLIC 7f874 4 DbgUiDebugActiveProcess -PUBLIC 7f87f 0 DbgUiConnectToDbg -PUBLIC 7f88a 4 DbgUiIssueRemoteBreakin -PUBLIC 7f895 14 NtSetInformationDebugObject -PUBLIC 7f8a0 0 DbgUiGetThreadDebugObject -PUBLIC 7f8ab 8 DbgUiConvertStateChangeStructure -PUBLIC 7f8b6 8 DbgUiWaitStateChange -PUBLIC 7f8c1 8 DbgUiContinue -PUBLIC 7f8cc 4 DbgUiStopDebugging -PUBLIC 7f8d7 0 strncpy -PUBLIC 7f8e2 8 RtlFlushSecureMemoryCache -PUBLIC de84 0 _global_unwind2 -PUBLIC dedf 0 _local_unwind2 -PUBLIC df3f 0 _NLG_Return2 -PUBLIC df4f 0 _abnormal_termination -PUBLIC df72 0 _NLG_Notify1 -PUBLIC df7b 0 _NLG_Notify -PUBLIC df91 0 _NLG_Dispatch2 -PUBLIC 7f8ed 18 NtQueryVirtualMemory -PUBLIC 18045 4 LdrSetDllManifestProber -PUBLIC 18050 8 RtlSetThreadPoolStartFunc -PUBLIC 1017b 4 RtlEncodePointer -PUBLIC 39493 10 RtlSetHeapInformation -PUBLIC 7f8f8 14 RtlQueryHeapInformation -PUBLIC abd3 4 LdrUnloadDll -PUBLIC 14e44 4 LdrUnloadAlternateResourceModule -PUBLIC 112bb 4 LdrDisableThreadCalloutsForDll -PUBLIC e46c 10 LdrGetDllHandle -PUBLIC b4c4 8 LdrUnlockLoaderLock -PUBLIC 2129a 8 LdrAddRefDll -PUBLIC b3ca c LdrLockLoaderLock -PUBLIC 17779 c LdrEnumerateLoadedModules -PUBLIC 14e0f 8 LdrLoadAlternateResourceModule -PUBLIC e069 10 LdrLoadDll -PUBLIC ad95 10 LdrGetProcedureAddress -PUBLIC 9f9f 10 LdrFindResource_U -PUBLIC 9faa 10 LdrAccessResource -PUBLIC 1126d 10 LdrFindResourceDirectory_U -PUBLIC 1cdf8 0 LdrShutdownProcess -PUBLIC 7f903 8 NtTerminateProcess -PUBLIC 1a204 18 LdrQueryImageFileExecutionOptions -PUBLIC 7f90e 0 wcsncmp -PUBLIC c0d1 0 LdrShutdownThread -PUBLIC 10186 4 RtlDecodePointer -PUBLIC 2c053 c RtlSetIoCompletionCallback -PUBLIC 7f919 28 RtlApplicationVerifierStop -PUBLIC 7f924 0 _alloca_probe -PUBLIC 19a62 0 DbgPrintEx -PUBLIC 15451 4 LdrDestroyOutOfProcessImage -PUBLIC 162a8 14 LdrAccessOutOfProcessResource -PUBLIC 15446 14 LdrFindCreateProcessManifest -PUBLIC 15345 10 LdrCreateOutOfProcessImage -PUBLIC 16912 0 _allshl -PUBLIC 7f92f 4 RtlUnhandledExceptionFilter -PUBLIC 7f93a 0 wcspbrk -PUBLIC 7f945 0 _wcslwr -PUBLIC 37a6c 0 _wtol -PUBLIC 7f950 0 _strlwr -PUBLIC 7f95b 0 _ValidateEH3RN -PUBLIC 7fb82 10 RtlUnwind -PUBLIC 7fb8d c InitGlobalBuffers -PUBLIC 7fc40 0 InitGlobalBuffersEx -PUBLIC 7fc57 4 FreeGlobalBuffers -PUBLIC 7fca5 c lz_CopyFile -PUBLIC 7fd63 c ExpandOrCopyFile -PUBLIC 7fe21 4 ExtractFileNameW -PUBLIC 7fe56 4 ExtractFileName -PUBLIC 7fea2 4 ExtractExtensionW -PUBLIC 7fed7 4 ExtractExtension -PUBLIC 7ff1d 4 MakeCompressedNameW -PUBLIC 7ff89 4 MakeCompressedName -PUBLIC 7fff3 8 MakeExpandedName -PUBLIC 800fc 8 CopyDateTimeStamp -PUBLIC 80146 c GetHdr -PUBLIC 801f9 4 IsCompressed -PUBLIC 80246 18 LZDecode -PUBLIC 804ad c ReadInBuf -PUBLIC 80527 c WriteOutBuf -PUBLIC 80579 4 LZIsCharLowerA -PUBLIC 805dc 4 LZIsCharUpperA -PUBLIC 8063f 4 LZCharNextA -STACK WIN 4 b5ae 16 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9b47 66 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17826 35 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 55709 1f7 c 0 10 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 558b4 e 0 0 10 8 4c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 be41 c7 c 0 4 8 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39bc8 e 0 0 4 8 3c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 98f4 2b 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 936b 1e 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9371 14 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 92b0 32 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 92b6 28 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 92b7 26 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30769 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b722 20 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 29d7a 164 a 0 18 0 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 29d83 157 1 0 18 4 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 29d84 155 0 0 18 8 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 29dc5 8e 0 0 18 c 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 1b069 a1 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b078 90 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b079 82 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 17860 24 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 29f30 6f 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 29f36 65 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1dc03 54 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12f39 52 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12f3f 48 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17889 5c 1d 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1789f 42 7 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 178a6 38 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17923 98 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1792a 8f 0 0 0 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 180a6 23c 9 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 180af 231 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 180c5 21a 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1795e 89 3 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 17961 85 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1798a 5a 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 179ea 212 8 0 0 0 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17a3c 1bd 0 0 0 4 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17a49 1af 0 0 0 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 16e70 85 8 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 18a21 a1 e 0 0 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 18a2f 91 0 0 0 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 18a68 57 0 0 0 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17cb5 257 8 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17e09 89 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1839b d3 1b 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 183b2 b8 4 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 183b6 b3 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 998d 16b c 0 8 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39e42 e 0 0 8 8 2c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 992f 10b c 0 4 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39ea2 e 0 0 4 8 28 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39eca e 0 0 4 8 28 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1625 129 c 0 20 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1717 4 0 0 20 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32eb1 ba c 0 4 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39f0b e 0 0 4 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32e1d bb c 0 4 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39f69 e 0 0 4 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a03b 23 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a017 25 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55921 e8 8 0 4 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5595c a5 0 0 4 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5595d a3 0 0 4 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a35e b91 19 0 18 0 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a36a b81 d 0 18 4 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 132 - ^ = -STACK WIN 4 a36b b7f c 0 18 8 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 132 - ^ = -STACK WIN 4 a377 b72 0 0 18 c 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 132 - ^ = -STACK WIN 4 55a0e e0 c 0 4 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55abf e 0 0 4 8 2c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55b09 8b c 0 4 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55b65 e 0 0 4 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30927 209 c 0 c 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3a7c5 e 0 0 c 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30bd3 142 c 0 c 8 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3a824 e 0 0 c 8 3c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3a86a 19 0 0 c 8 3c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 33107 18f f 0 14 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 33110 182 6 0 14 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 33116 17b 0 0 14 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 3312f 14d 0 0 14 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 ffb1 12d c 0 c 8 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3a94d e 0 0 c 8 3c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3a995 19 0 0 c 8 3c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 326c1 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ab78 ff c 0 4 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3a9c6 e 0 0 4 8 38 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 330e7 1b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a9cc 64 a 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a9d2 5a 4 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 a9d6 55 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 ba64 39 c 0 8 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3aa01 4 0 0 8 8 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 bbce b2 c 0 c 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3aa1d e 0 0 c 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e6dc 185 c 0 18 0 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e6e8 175 0 0 18 4 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 e701 13c 0 0 18 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 e73a ed 0 0 18 c 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 1021c 1ba 9 0 10 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10225 1ad 0 0 10 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1026f 15c 0 0 10 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30b7d 3b 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c86d 29 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2c87c 16 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ddfe d3 c 0 1c 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3aad0 4 0 0 1c 8 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a996 65 a 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a99c 5b 4 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 a9a0 56 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 b64c 63 c 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3ab10 11 0 0 8 8 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2520 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1042c 301 17 0 1c 8 420 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3abe7 7a 0 0 1c 8 420 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 98eb 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2ff92 18 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 103a3 9e 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55bbc 2d 7 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55bee 31 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55c24 2e 8 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55c2c 22 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55c57 27 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55c83 4c b 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55c89 42 5 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 55c8d 3d 1 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 55c8e 3b 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 55cd4 119 15 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55cdc 10d d 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 55cdd 10b c 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 55ce9 fe 0 0 c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 55df2 bd 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55df8 b3 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55e53 15 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55eb4 36 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55eef 15b 12 0 18 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55efb 14b 6 0 18 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 55f01 144 0 0 18 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5604f a4 18 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5605a 95 d 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 5605e 90 9 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 56067 86 0 0 c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 560f8 d7 9 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56100 cb 1 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 56101 c9 0 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 5618d 3c 0 0 c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 561d4 a5 16 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 561dd 98 d 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 561de 94 c 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 561ea 87 0 0 c c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 5627e fe 16 0 c 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56287 f1 d 0 c 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 56288 ef c 0 c 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 56294 e2 0 0 c c 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 56381 2b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 563b1 20 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 563d6 60 10 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 563df 53 7 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 563e6 4b 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 56407 24 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5643b 1f 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56441 15 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5645f 54 a 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56465 4a 4 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 56469 45 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 56471 3c 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 564b8 5c 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 564be 52 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 564cf 16 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56519 180 e 0 c 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56522 173 5 0 c 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 56523 171 4 0 c 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 56527 16c 0 0 c c 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 5669e c8 9 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 566a6 bc 1 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 566a7 ba 0 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 5676b 27b 15 0 c 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56774 26e c 0 c 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 5677f 262 1 0 c 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 56780 260 0 0 c c 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 569ec e9 15 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 569f4 dd d 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 569f5 db c 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 56a01 ce 0 0 c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 56ada b5 15 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56ae2 a9 d 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 56ae3 a7 c 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 56aef 9a 0 0 c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 56b94 12e 8 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56b9c 122 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56bba 102 0 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56cc7 113 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56cdf f6 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56cea ea 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56ddf 22e 19 0 1c 0 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 56df1 2a 7 0 1c 4 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 56df2 28 6 0 1c 8 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 56df8 21 0 0 1c c 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 57012 8d 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57018 83 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5704b 45 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5704f 40 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 570a4 46 8 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 570ac 16 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 570ef 5b 8 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 570f7 16 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57112 2c 0 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5714f 75 e 0 c 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5715d 5e 0 0 c 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57177 35 0 0 c 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 571c9 e0 a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 571cf d6 4 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 571d3 d1 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 572ae 14b 9 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 572b7 13e 0 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 572df 115 0 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 573fe 1f4 1c 0 1c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5740d 1b2 d 0 1c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 57411 1ad 9 0 1c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 5741a 1a3 0 0 1c c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 37bfc 52 13 0 0 0 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 37a77 1c7 13 0 8 0 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 37a80 1ba a 0 8 4 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 37a8a 1af 0 0 8 8 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 575f7 69 b 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 575fd 5f 5 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 575fe 5d 4 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 57602 58 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 57665 70 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5766b 66 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 576a6 2a 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 576da 5c c 0 10 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 576e1 51 5 0 10 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 576e2 4f 4 0 10 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 576e6 4a 0 0 10 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 5773b 82 15 0 c 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57748 71 8 0 c 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 57749 6f 7 0 c 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 57750 67 0 0 c c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 577c2 a4 e 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 577cb 97 5 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 577cc 95 4 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 577d0 90 0 0 c c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 5786b 4b 11 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57871 41 b 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 57878 37 4 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5787c 32 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 202af 1e8 22 0 10 0 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 202c3 1cb e 0 10 4 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 202c4 1c9 d 0 10 8 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 202d1 1bb 0 0 10 c c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 578bb 9d 10 0 c 0 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 578c4 90 7 0 c 4 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 578cb 88 0 0 c 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5795d 95 a 0 10 0 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57966 88 1 0 10 4 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57967 86 0 0 10 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 579f7 ac 9 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 579fe a1 2 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 579ff 9d 1 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 57a00 9b 0 0 c c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 57aa8 101 9 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57ab0 f5 1 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 57ab1 f3 0 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 57ae7 93 0 0 c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 57bae e4 a 0 c 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57bb7 d7 1 0 c 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 57bb8 d5 0 0 c 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 57be2 a8 0 0 c c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 57c97 38 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57cd4 b4 9 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57cdd 54 0 0 4 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57d07 29 0 0 4 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57da5 80 b 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57dab 76 5 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 57daf 71 1 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 57db0 6f 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 57e41 3f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57e85 2c 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57eb6 9e a 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57ebe 92 2 0 4 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 57ebf 8e 1 0 4 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 57ec0 8c 0 0 4 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 57f59 2c 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57f8a 4e a 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57f90 44 4 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57f94 3f 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57fdd a7 7 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 57fe4 9c 0 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 57ff3 8c 0 0 8 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 57ff4 8a 0 0 8 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 31893 136 22 0 10 0 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 318a7 119 e 0 10 4 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 318ab 114 a 0 10 8 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 318b5 109 0 0 10 c a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 316c7 20b 13 0 8 0 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 316d8 139 2 0 8 4 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 68 - ^ = -STACK WIN 4 316d9 137 1 0 8 8 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 68 - ^ = -STACK WIN 4 316da 135 0 0 8 c 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 68 - ^ = -STACK WIN 4 5808d 121 15 0 4 0 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5809a 110 8 0 4 4 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 580a1 108 1 0 4 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 580a2 106 0 0 4 c 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 201f1 25b a 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 201fb 22d 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 2020a 210 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 20210 209 0 0 c c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 581b3 7c 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 581b9 72 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 581cc 5e 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 216a4 105 a 0 8 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 216ad f8 1 0 8 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 216ae f6 0 0 8 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 21702 84 0 0 8 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 58234 6e 8 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5827c 17 0 0 4 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 582a7 a0 b 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 582ad 96 5 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 582ae 94 4 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 582b2 8f 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5834c 52 8 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 58380 1a 0 0 8 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 583a3 17b 7 0 10 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 583aa 170 0 0 10 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 583d0 143 0 0 10 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 58523 a7 b 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 58529 9d 5 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5852a 9b 4 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5852e 96 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2ceb2 ae 1c 0 c 0 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2cec0 97 e 0 c 4 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 64 - ^ = -STACK WIN 4 2cec4 92 a 0 c 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 64 - ^ = -STACK WIN 4 2cece 87 0 0 c c 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 64 - ^ = -STACK WIN 4 585cf 97 18 0 c 0 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 585dd 76 a 0 c 4 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 585e7 6b 0 0 c 8 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5866b 476 1c 0 10 0 68c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5867c 2f7 b 0 10 4 68c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1684 - ^ = -STACK WIN 4 58680 2f2 7 0 10 8 68c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1684 - ^ = -STACK WIN 4 58687 2ea 0 0 10 c 68c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1684 - ^ = -STACK WIN 4 58bc3 76 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 58be8 4d 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 58c3e 26 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 58c69 19c b 0 4 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 58c72 18f 2 0 4 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 58c73 18d 1 0 4 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 58c74 18b 0 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 58e0a 117 a 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 58e12 10b 2 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 58e13 109 1 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 58e14 107 0 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 58f26 44 6 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 58f3c 2a 0 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 58f6f dc 8 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 58f76 d1 1 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 58f77 cf 0 0 8 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 58f91 af 0 0 8 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 59050 44 6 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 59066 2a 0 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 59099 211 d 0 8 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 590a2 6d 4 0 8 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 590a6 68 0 0 8 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 592af 44 6 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 592c5 2a 0 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 592f8 b1 11 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 592fe a7 b 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 592ff a5 a 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 59309 9a 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 593ae b 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b852 20 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b877 1a 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30b14 3a 8 0 0 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f272 79 9 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f27a 6d 1 0 4 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f27b 6b 0 0 4 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 138fc 172 d 0 10 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 13905 165 4 0 10 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 13909 160 0 0 10 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34ffe 96 12 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35006 8a a 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 35010 7f 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 360dd 63 a 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 360e3 59 4 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 360e7 54 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 360f4 46 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 f2ee 40 7 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 176b 75 8 0 4 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17e5 24 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 593be 9b 40 0 4 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 593ed 68 11 0 4 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 593fe 53 0 0 4 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 929c f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e7ec 82 8 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10b1c 77 8 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e866 5d 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e88c 22 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35524 5d 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3554a 22 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3065d 96 8 0 c 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3214e 8e 8 0 c 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10ad9 3b 11 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10aea 26 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 350bf 166 15 0 4 0 b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 350d0 14c 4 0 4 4 b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 350d4 147 0 0 4 8 b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5945e 121 2c 0 4 0 b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5946f eb 1b 0 4 4 b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5948a cf 0 0 4 8 b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2d36f 46 8 0 c 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 59584 38 b 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5958f 29 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2e9c1 2e7 1d 0 c 0 188 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2e9d2 29a c 0 c 4 188 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2e9de 28d 0 0 c 8 188 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 595c1 278 15 0 c 0 180 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 595d2 25e 4 0 c 4 180 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 392 - ^ = -STACK WIN 4 595d6 259 0 0 c 8 180 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 392 - ^ = -STACK WIN 4 5961c 20f 0 0 c c 180 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 392 - ^ = -STACK WIN 4 5983e 1ee 13 0 8 0 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 59847 1d2 a 0 8 4 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 88 - ^ = -STACK WIN 4 59848 1d0 9 0 8 8 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 88 - ^ = -STACK WIN 4 59851 1c6 0 0 8 c 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 88 - ^ = -STACK WIN 4 a7d4 b7 8 0 4 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a810 67 0 0 4 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a811 61 0 0 4 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 59a31 e8 1b 0 4 0 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 59a42 ce a 0 4 4 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 59a4b c4 1 0 4 8 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 59a4c c2 0 0 4 c c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 13093 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 59b1e 4f a 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 59b28 41 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 59b72 5 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 59b7c 1ea 11 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 59b8a 1c5 3 0 0 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 84 - ^ = -STACK WIN 4 59b8d 1c1 0 0 0 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 84 - ^ = -STACK WIN 4 59c2c fa 0 0 0 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 84 - ^ = -STACK WIN 4 59d78 2ab 17 0 4 8 244 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 59dd6 4 0 0 4 8 244 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 59f9f 14 0 0 4 8 244 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a0bd 61 8 0 4 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a0d4 46 0 0 4 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a123 4e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a13c 31 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a14b 21 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a176 22 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a19d 46 6 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a1e8 44 8 0 c 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a231 59 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a28f 57 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a2eb 2b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a31b 31 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a351 70 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a357 66 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a358 64 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a3c6 62 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a3cc 58 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a3cd 56 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a42d 4e 9 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a436 35 0 0 4 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a480 e0 9 0 8 0 68 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a489 42 0 0 8 4 68 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a565 3f c 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a56d 33 4 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a571 2e 0 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a5a9 44 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a5af 3a 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a5be 1a 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 36f5b 460 9 0 4 0 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 36f64 e3 0 0 4 4 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 96 - ^ = -STACK WIN 4 36f9d 98 0 0 4 8 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 96 - ^ = -STACK WIN 4 36f9e 96 0 0 4 c 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 96 - ^ = -STACK WIN 4 323d2 146 a 0 8 0 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 323db 139 1 0 8 4 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 323dc 137 0 0 8 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a5f2 c22 1d 0 c 0 2c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5a60f bfc 0 0 c 4 2c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 716 - ^ = -STACK WIN 4 5a689 b7e 0 0 c 8 2c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 716 - ^ = -STACK WIN 4 5a690 b76 0 0 c c 2c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 716 - ^ = -STACK WIN 4 5b219 1d 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 217ac 20 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b23b 4b 8 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b243 3f 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2af8f 2c 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30cce 1c 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 360a9 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 360c3 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30bbb 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b28b 1b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1006c 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34e97 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c3be 1b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 354ed 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30cfe 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32695 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b2ab 1b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f827 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f726 59 7 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f72c 4f 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f72d 4d 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f763 59 7 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f769 4f 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f76a 4d 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ee95 e2 7 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ee9b d8 1 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ee9c d6 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f88c 181 13 0 14 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f893 176 c 0 14 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 f897 171 8 0 14 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 f89f 168 0 0 14 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 f6da 63 b 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f6e5 54 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 f7a0 124 22 0 c 0 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f7b1 10a 11 0 c 4 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 f7b5 105 d 0 c 8 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 f7c2 f7 0 0 c c 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 1c858 6a 3 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c85b 66 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 331f9 23 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c8a6 35 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1c8ac 27 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1c8ad 25 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b2cb 85 1b 0 8 0 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b315 2f 0 0 8 4 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e361 460 b 0 4 0 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e36a 453 2 0 4 4 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 1e36b 451 1 0 4 8 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 1e36c 44f 0 0 4 c 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 1e6e1 119 d 0 4 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e6ed 109 1 0 4 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 1e6ee 107 0 0 4 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 1e708 8c 0 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 35889 29 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e891 362 7 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e8a8 100 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e8b6 f1 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f18a 112 10 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f193 105 7 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f19a fd 0 0 14 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b355 db 5 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b36b c1 0 0 1c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b36c bf 0 0 1c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3331f 98 a 0 0 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 33328 8d 1 0 0 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 33329 8b 0 0 0 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f460 3a2 12 0 28 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f46c 392 6 0 28 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 f46d 390 5 0 28 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 f472 38a 0 0 28 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 f928 18 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f851 47 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1c8db 3b1 28 0 14 0 84 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1c8fb 388 8 0 14 4 84 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 140 - ^ = -STACK WIN 4 1c8fc 386 7 0 14 8 84 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 140 - ^ = -STACK WIN 4 1c903 37e 0 0 14 c 84 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 140 - ^ = -STACK WIN 4 5b435 158 1f 0 4 0 21c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b446 44 e 0 4 4 21c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 548 - ^ = -STACK WIN 4 5b44a 3f a 0 4 8 21c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 548 - ^ = -STACK WIN 4 5b454 34 0 0 4 c 21c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 548 - ^ = -STACK WIN 4 1b42d 157 1f 0 8 0 21c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b43e 46 e 0 8 4 21c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 548 - ^ = -STACK WIN 4 1b442 41 a 0 8 8 21c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 548 - ^ = -STACK WIN 4 1b44c 36 0 0 8 c 21c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 548 - ^ = -STACK WIN 4 1cac2 217 1e 0 10 0 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1cad0 200 10 0 10 4 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 64 - ^ = -STACK WIN 4 1cad4 1fb c 0 10 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 64 - ^ = -STACK WIN 4 1cae0 1ee 0 0 10 c 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 64 - ^ = -STACK WIN 4 5b592 185 1f 0 8 0 220 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b5a3 5e e 0 8 4 220 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 552 - ^ = -STACK WIN 4 5b5a7 59 a 0 8 8 220 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 552 - ^ = -STACK WIN 4 5b5b1 4e 0 0 8 c 220 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 552 - ^ = -STACK WIN 4 2bb93 14d 1e 0 10 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2bba1 136 10 0 10 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 2bba5 131 c 0 10 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 2bbb1 124 0 0 10 c 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 32dd3 40 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32dd9 36 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e793 fa e 0 4 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e79c ed 5 0 4 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1e79d eb 4 0 4 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1e7a1 e6 0 0 4 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1e9c5 fa e 0 4 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e9ce ed 5 0 4 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1e9cf eb 4 0 4 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1e9d3 e6 0 0 4 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 5b71c 107 10 0 10 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b72b f4 1 0 10 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b72c f1 0 0 10 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2dc81 13a 16 0 8 0 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2dc92 120 5 0 8 4 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 544 - ^ = -STACK WIN 4 2dc96 11b 1 0 8 8 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 544 - ^ = -STACK WIN 4 2dc97 119 0 0 8 c 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 544 - ^ = -STACK WIN 4 2dc43 3de c 0 8 8 5c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3bde2 e 0 0 8 8 5c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 358ed 48 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 358f3 3e 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ea7d 155 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ea83 14b 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ecd2 12f 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ecd8 125 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ecea 112 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b828 24f b 0 4 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5b831 242 2 0 4 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 5b832 240 1 0 4 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 5b833 23e 0 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 1f021 325 e 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f02a 318 5 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 1f02b 316 4 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 1f02f 311 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 1c7f4 af c 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1c7fa a5 6 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1c800 9e 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e291 166 c 0 4 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3c06f 15 0 0 4 8 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f331 225 26 0 20 0 cc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f34c 201 b 0 20 4 cc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 f34d 1ff a 0 20 8 cc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 f357 1f4 0 0 20 c cc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 32b56 f5 f 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32b5c eb 9 0 18 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 32b60 e6 5 0 18 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 32b65 e0 0 0 18 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 35d54 4b 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35f21 7d b 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35f27 73 5 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 35f28 71 4 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 35f2c 6c 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5ba7c 42 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f95d d2 d 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f963 c8 7 0 18 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 f969 c1 1 0 18 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 f96a bd 0 0 18 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1ee4c 4b 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1edbd 81 b 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1edc3 77 5 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1edc4 75 4 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1edc8 70 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5bac3 42 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32da7 1c 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5bb0a 1c 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5bb2b 164 37 0 14 0 11c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5bb62 124 0 0 14 4 11c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 292 - ^ = -STACK WIN 4 5bb76 10c 0 0 14 8 11c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 292 - ^ = -STACK WIN 4 5bb77 10a 0 0 14 c 11c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 292 - ^ = -STACK WIN 4 5bc95 185 2d 0 14 0 220 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5bcb5 15c d 0 14 4 220 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 552 - ^ = -STACK WIN 4 5bcc2 14e 0 0 14 8 220 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 552 - ^ = -STACK WIN 4 5bcef 11d 0 0 14 c 220 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 552 - ^ = -STACK WIN 4 5be23 13d 18 0 14 0 118 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5be3a 11d 1 0 14 4 118 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5be3b 11b 0 0 14 8 118 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5bf65 14f 18 0 14 0 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5bf7c 12f 1 0 14 4 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5bf7d 12d 0 0 14 8 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21495 1f 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c0b9 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c0d7 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c0f5 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 213f8 1f 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 332b1 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c110 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c12e 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 36434 83 2f 0 10 0 108 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32730 ce 2f 0 10 0 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3277e 67 0 0 10 4 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 364a9 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f89a 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21f1e 2b9 39 0 c 0 f4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21f3c 292 1b 0 c 4 f4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 252 - ^ = -STACK WIN 4 21f50 27d 7 0 c 8 f4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 252 - ^ = -STACK WIN 4 21f57 275 0 0 c c f4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 252 - ^ = -STACK WIN 4 5c149 100 c 0 8 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c223 1e 0 0 8 8 38 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c269 57 d 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c26f 4d 7 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5c275 46 1 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5c276 44 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 21d8d 5b9 f 0 c 8 98 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3c77a 2c 0 0 c 8 98 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c2c5 a2 11 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c2ce 95 8 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 5c2cf 93 7 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 5c2d6 8b 0 0 c c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 5c36c fb d 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c379 ea 0 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c3ce 93 0 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31385 8e 9 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3138e 81 0 0 10 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 126f2 30 6 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 126f8 26 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a71d 74 8 0 14 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 315c4 67 6 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 315ca 5d 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ac4d 37 6 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ac0f 3e 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ac16 33 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ef3a 1bb c 0 8 8 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f049 e 0 0 8 8 3c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 edd7 db c 0 4 8 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3c85e e 0 0 4 8 34 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c46c 3a 9 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c475 2d 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34bef ec 9 0 c 0 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34bf8 df 0 0 c 4 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34c1f ac 0 0 c 8 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32113 3a 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32119 30 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3162f 107 15 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31638 fa c 0 20 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 31639 f8 b 0 20 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 31644 ec 0 0 20 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 ee81 6d 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ee87 63 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ee88 5f 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34eb1 10a 12 0 8 0 268 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34ec2 f0 1 0 8 4 268 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 624 - ^ = -STACK WIN 4 34ec3 ee 0 0 8 8 268 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 624 - ^ = -STACK WIN 4 34eea c0 0 0 8 c 268 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 624 - ^ = -STACK WIN 4 ea7d 4d7 1d 0 18 0 2cc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ea92 4b9 8 0 18 4 2cc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 724 - ^ = -STACK WIN 4 ea99 4b1 1 0 18 8 2cc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 724 - ^ = -STACK WIN 4 ea9a 4af 0 0 18 c 2cc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 724 - ^ = -STACK WIN 4 5c4ab 62 8 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c4b3 56 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 137d9 139 18 0 8 0 26c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 137ea 11f 7 0 8 4 26c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 137f1 117 0 0 8 8 26c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 eee1 1a 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c512 137 1c 0 18 0 268 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c523 11d b 0 18 4 268 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 624 - ^ = -STACK WIN 4 5c524 11b a 0 18 8 268 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 624 - ^ = -STACK WIN 4 5c52e 110 0 0 18 c 268 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 624 - ^ = -STACK WIN 4 180e 1cd c 0 14 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 18ef e 0 0 14 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1921 4 0 0 14 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10d87 140 c 0 14 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3cac5 4 0 0 14 8 28 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32044 98 9 0 4 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3204d 8b 0 0 4 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3207f 4f 0 0 4 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10b8e 122 8 0 10 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10bae ef 0 0 10 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10baf ed 0 0 10 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21057 e3 9 0 14 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21060 d6 0 0 14 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10c6d 11d 22 0 8 0 c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10c7e 103 11 0 8 4 c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 200 - ^ = -STACK WIN 4 10c8f f1 0 0 8 8 c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 200 - ^ = -STACK WIN 4 10c99 d6 0 0 8 c c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 200 - ^ = -STACK WIN 4 31c45 7c 8 0 10 0 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31cb8 88 8 0 10 0 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31cd2 10 0 0 10 4 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12641 6d 7 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32361 8a 8 0 14 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3237e 5f 0 0 14 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f569 aa 8 0 18 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f5ad 41 0 0 18 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 322fb 6f 8 0 14 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10a09 40 8 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c64e 96 c 0 c 8 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c6de b 0 0 c 8 34 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2bd84 33 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2bd8a 29 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2bcfb 9b 13 0 14 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2bd0d 85 1 0 14 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 2bd0e 83 0 0 14 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 5c701 9b 13 0 14 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c713 85 1 0 14 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 5c714 83 0 0 14 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 300da 29 7 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2de51 9c c 0 14 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2dda5 99 c 0 14 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c7a1 51 7 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c7f7 c8 7 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c82d 8d 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c82e 8b 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c8c4 20 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10e51 de 9 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10e5a d1 0 0 4 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 322bc 67 12 0 14 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 322ce 51 0 0 14 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10a77 3d 7 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 bada c8 9 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 bae3 bb 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 bb47 3c 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b896 86 7 0 18 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35971 44 8 0 8 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b974 50 d 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b97a 46 7 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b981 3e 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 938e 153 d 0 18 0 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 939a 143 1 0 18 4 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 939b 141 0 0 18 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 9402 1d 0 0 18 c 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 bb76 6f c 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 bb82 5f 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b905 1f 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 945c 73 8 0 18 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9464 67 0 0 18 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 110f5 f3 e 0 c 0 64 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 11102 e2 1 0 c 4 64 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 11103 e0 0 0 c 8 64 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31f31 25a 9 0 4 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31f3a 11e 0 0 4 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 84 - ^ = -STACK WIN 4 31f73 d3 0 0 4 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 84 - ^ = -STACK WIN 4 31f7a cb 0 0 4 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 84 - ^ = -STACK WIN 4 5c8e9 61 11 0 34 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5c8ef 57 b 0 34 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5c8f3 52 7 0 34 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5c8fa 4a 0 0 34 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5c94f 258 17 0 10 8 1b8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5cbad 1 0 0 10 8 1b8 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5cbc1 2a4 22 0 10 0 c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5cbd2 28a 11 0 10 4 c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 200 - ^ = -STACK WIN 4 5cbd6 285 d 0 10 8 c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 200 - ^ = -STACK WIN 4 5cbe3 277 0 0 10 c c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 200 - ^ = -STACK WIN 4 5cf6b 163 c 0 20 8 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d0d4 1 0 0 20 8 40 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d0e9 267 f 0 c 8 d8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d2ff 39 0 0 c 8 d8 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d371 123 11 0 8 0 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d382 109 0 0 8 4 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d3bb cb 0 0 8 8 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 314d5 151 9 0 8 0 64 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 314de d0 0 0 8 4 64 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 108 - ^ = -STACK WIN 4 31513 89 0 0 8 8 64 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 108 - ^ = -STACK WIN 4 3151a 81 0 0 8 c 64 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 108 - ^ = -STACK WIN 4 b74c ba 9 0 4 0 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b755 ad 0 0 4 4 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b77c 79 0 0 4 8 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 137b1 23 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31eab 1d 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f72e 537 f 0 14 8 ac 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f951 3c 0 0 14 8 ac 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d499 25 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12782 20 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1153c 22 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35eae 72 8 0 14 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35ee1 2d 0 0 14 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35ee2 2b 0 0 14 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21261 1a 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3565b 1b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35e8f 1a 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d4c3 1b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21950 36 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d4e3 33 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10978 109 c 0 8 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3d377 4 0 0 8 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d539 44d f 0 20 8 b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d93e 4d 0 0 20 8 b0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 284bd 53 8 0 14 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 284c5 33 0 0 14 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d9a1 3a 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d9a7 30 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d9b9 14 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2879d 55 d 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 287aa 44 0 0 8 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5d9e0 4b 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5da30 85 17 0 0 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5da4a 5c 0 0 0 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10760 424 8 0 1c 0 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10788 3c2 0 0 1c 4 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1078c 3bd 0 0 1c 8 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3719a 9f 10 0 20 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 371a5 7a 5 0 20 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 371a6 78 4 0 20 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 371aa 73 0 0 20 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 5dadd 73 8 0 8 0 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5db0a 42 0 0 8 4 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5db13 23 0 0 8 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5db55 bc a 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5db5d b0 2 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 5db5e ae 1 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 5db5f ac 0 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 5dc16 23e c 0 24 8 60 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5de3f 1a 0 0 24 8 60 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5de71 198 c 0 1c 8 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e00f 1 0 0 1c 8 3c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 285c6 2c4 c 0 38 8 8c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3d7a4 10 0 0 38 8 8c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1a24 34 5 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21982 446 17 0 c 8 114 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3d9cf 10 0 0 c 8 114 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e021 292 9 0 28 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e02a 266 0 0 28 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e089 1f5 0 0 28 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 27bdb 1c8d 17 0 38 8 6bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3e895 11 0 0 38 8 6bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3eadf ab 0 0 38 8 6bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 36c3c f7e 17 0 18 8 3fc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3f743 134 0 0 18 8 3fc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 27613 d49 17 0 24 8 3c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3ffbd 3e 0 0 24 8 3c4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 27b32 6d c 0 18 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 27b99 1d 0 0 18 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2005f 89 c 0 18 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 200d1 1d 0 0 18 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e307 b8 a 0 18 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e310 ab 1 0 18 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 5e311 a9 0 0 18 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 5e34f 5f 0 0 18 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 286ee 57 8 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 286f6 4b 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f873 22 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e3c4 54 8 0 18 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e3cc 48 0 0 18 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e41d 8a 1a 0 10 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e433 6b 4 0 10 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 5e437 66 0 0 10 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 5e446 25 0 0 10 c 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 5e4ac 83 1a 0 10 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e4c2 64 4 0 10 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 5e4c6 5f 0 0 10 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 5e4d5 25 0 0 10 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 5e534 8e 10 0 10 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e53d 81 7 0 10 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e544 79 0 0 10 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e5c7 8e 10 0 10 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e5d0 81 7 0 10 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e5d7 79 0 0 10 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e65a 11 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 fd2d 17d c 0 8 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40019 e 0 0 8 8 2c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 123b9 319 c 0 c 8 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 401f7 e 0 0 c 8 34 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ff19 d2 c 0 4 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40258 e 0 0 4 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34cb9 8b c 0 4 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 4029c e 0 0 4 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 fe82 b1 c 0 4 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 402de e 0 0 4 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34da1 f6 c 0 4 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40327 e 0 0 4 8 2c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 36772 e9 c 0 4 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 403bd e 0 0 4 8 2c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 fc2f 11b c 0 4 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40414 e 0 0 4 8 28 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 4043c e 0 0 4 8 28 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e670 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5e686 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e6a0 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e6ba b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e6ca b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 310f2 1c6 e 0 4 0 18c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 310fe 1b6 2 0 4 4 18c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 404 - ^ = -STACK WIN 4 310ff 1b4 1 0 4 8 18c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 404 - ^ = -STACK WIN 4 31100 1b2 0 0 4 c 18c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 404 - ^ = -STACK WIN 4 9a72 7d c 0 14 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 404b7 e 0 0 14 8 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9b02 82 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9b18 5e 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9b1f 56 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1a5d 6e d 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1a63 64 7 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1a6a 5c 0 0 14 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b9a0 32 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2b13f 33 9 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2b148 26 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e6da 33 9 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e6e3 26 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 355bc 2b 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 355c2 21 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e712 29 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e740 29 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e76e 29 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e79c 29 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f992 16f c 0 4 0 184 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f99e 15f 0 0 4 4 184 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f9ac 141 0 0 4 8 184 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e7ca 34 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e803 28 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9a51 1c 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9ae4 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ad0 1c 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b9d1 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2e18c aa 7 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2e193 9f 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2bdb5 8b 6 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1d07e 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 365f6 b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3594f 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 17443 11 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 934b d6 e 0 0 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9359 c6 0 0 0 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 177c7 96 0 0 0 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b5c3 409 19 0 c 0 420 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b5d7 3ec 5 0 c 4 420 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1064 - ^ = -STACK WIN 4 b5d8 3ea 4 0 c 8 420 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1064 - ^ = -STACK WIN 4 b5dc 3e5 0 0 c c 420 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1064 - ^ = -STACK WIN 4 5e830 4d 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e836 43 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 365a5 2e 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 353ce 29 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 38ae7 3d 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34e64 18 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35406 36 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30d74 8b b 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30d7a 81 5 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 30d7e 7c 1 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 30d7f 7a 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 baa1 6c a 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 baa7 62 4 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 baab 5d 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 be01 3e c 0 8 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 407a9 4 0 0 8 8 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10111 65 c 0 c 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 407c5 4 0 0 c 8 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34d41 5a c 0 8 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 407e1 4 0 0 8 8 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 bdb6 3e c 0 4 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 407fd 4 0 0 4 8 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b9ef 6c c 0 c 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40817 4 0 0 c 8 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10f32 39 c 0 8 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40833 4 0 0 8 8 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9a09 3b c 0 4 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 4084f 4 0 0 4 8 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 325bc f6 c 0 4 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40892 e 0 0 4 8 2c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e882 11 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12bb6 69 1d 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12bd3 48 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10ef8 22 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e898 2c 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e8c9 c 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e8da c 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e8eb 57 9 0 c 0 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e8f4 4a 0 0 c 4 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e947 6f 6 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e94d 65 0 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e976 b 0 0 14 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e9bb 1b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 abc1 d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5e9db c 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3611e c 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5e9ec 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ea06 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ea20 100 9 0 8 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ea29 f3 0 0 8 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ea9d 74 0 0 8 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39469 2b 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5eb25 2e 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5eb58 97 8 0 14 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5eba8 43 0 0 14 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2cdd8 5b 8 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ccdc 122 8 0 10 0 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2cd12 dd 0 0 10 4 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2cd13 db 0 0 10 8 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2cc8b 66 8 0 10 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2cc93 5a 0 0 10 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34932 a4 f 0 c 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3493b 97 6 0 c 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 34941 90 0 0 c 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 34976 5d 0 0 c c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 5ebf4 55 a 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ebfd 48 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ebfe 46 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ec4e 1e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34b69 1a 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ec71 3a 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 349d8 29d c 0 20 8 64 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40a26 16 0 0 20 8 64 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f7a0 191 c 0 1c 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f7ac 181 0 0 1c 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 2f7b9 12c 0 0 1c 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 2f7ca 118 0 0 1c c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 34b8f 25 5 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 abde 58 d 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 abe4 4e 7 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 abeb 46 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 c170 29 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 11296 24 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1129c 1a 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ecb0 91 8 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ecfc 41 0 0 4 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ed46 8c 8 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ed8d 41 0 0 4 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5edd7 6a 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5eddd 60 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5edde 5e 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5ee15 1d 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 e477 a3 c 0 4 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40b63 e 0 0 4 8 2c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1fcff 64 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e4b9 26a 17 0 10 8 46c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40c62 17 0 0 10 8 46c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 111da 31 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ae65 4a c 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ae6b 21 6 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ae71 1a 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1fb26 52 14 0 10 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ee46 98 16 0 10 0 120 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9f81 31 7 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5eee3 8 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5eef0 3b 5 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 14c3c 1d2 1f 0 c 0 238 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 14c50 1b5 b 0 c 4 238 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 576 - ^ = -STACK WIN 4 14c5a 1aa 1 0 c 8 238 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 576 - ^ = -STACK WIN 4 14c5b 1a8 0 0 c c 238 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 576 - ^ = -STACK WIN 4 1af1 1fe c 0 c 8 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1c8c e 0 0 c 8 44 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ef47 9a e 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ef53 8a 2 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 5ef54 88 1 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 5ef55 86 0 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 b3d5 146 c 0 c 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40cf3 e 0 0 c 8 38 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40d2a e 0 0 c 8 38 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b4cf cc 9 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b4d8 bf 0 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b503 86 0 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e43d 34 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5efe6 51 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5efec 47 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1fcc1 39 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1fcc7 2f 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ada0 76 9 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ada8 6a 1 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 ada9 68 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 12ade 106 1a 0 4 0 130 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12aef 27 9 0 4 4 130 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12af8 1d 0 0 4 8 130 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 be89 b2 c 0 c 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40d78 e 0 0 c 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35f78 b6 c 0 10 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40da4 e 0 0 10 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9fb5 5f c 0 8 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40dd0 e 0 0 8 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 bc69 5f c 0 8 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40e00 e 0 0 8 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f03c 1ce c 0 c 8 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f1bf e 0 0 c 8 50 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f229 203 c 0 10 8 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f3e0 e 0 0 10 8 54 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2e000 136 c 0 14 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40e66 e 0 0 14 8 38 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ac88 b6 c 0 10 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40e92 e 0 0 10 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f449 1cb c 0 c 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f5c9 e 0 0 c 8 4c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f631 130 c 0 14 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f72a e 0 0 14 8 38 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ae4b 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1d4f 23 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b6a1 31 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1d77 9a b 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1d81 8c 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1d82 8a 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1dcf 3c 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 3145b 88 d 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31463 7c 5 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 31464 7a 4 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 31468 75 0 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 1269f 52 8 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 126a7 46 0 0 4 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f781 db c 0 c 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f78d cb 0 0 c 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f7e8 64 0 0 c 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 313ec d5 e 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 313fa c3 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31439 78 0 0 10 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f88a 80 8 0 14 0 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f90f 13f c 0 18 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5f9fa 4 0 0 18 8 28 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5fa2d 1e 0 0 18 8 28 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 312e5 119 c 0 1c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40faa 4 0 0 1c 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 40fe6 4 0 0 1c 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c664 30b 8 0 8 0 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c686 2db 0 0 8 4 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c6b1 2ad 0 0 8 8 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f0d4 295 12 0 20 0 5c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f0e0 285 6 0 20 4 5c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 100 - ^ = -STACK WIN 4 2f0e5 27f 1 0 20 8 5c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 100 - ^ = -STACK WIN 4 2f0e6 27d 0 0 20 c 5c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 100 - ^ = -STACK WIN 4 5fa85 f5 11 0 1c 0 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5fa8e e8 8 0 1c 4 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 72 - ^ = -STACK WIN 4 5fa8f e6 7 0 1c 8 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 72 - ^ = -STACK WIN 4 5fa96 de 0 0 1c c 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 72 - ^ = -STACK WIN 4 5fb7f a1 c 0 1c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5fc02 9 0 0 1c 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5fc39 36 7 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5fc51 1a 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5fc74 72 8 0 20 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5fc7c 66 0 0 20 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5fceb de b 0 1c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5fcf4 d1 2 0 1c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 5fcf5 cf 1 0 1c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 5fcf6 cd 0 0 1c c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 5fdce 6e 8 0 1c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5fdd6 62 0 0 1c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5fe41 46 8 0 4 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5fe8c 88 b 0 8 0 8c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5fed6 2f 0 0 8 4 8c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ff19 60 b 0 8 0 8c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ff7e 41 9 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ff87 25 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ffc4 41 9 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 5ffcd 25 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6000a 60 b 0 8 0 8c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6006f 5e 9 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6007b 4e 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6008a 3d 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 600d2 2f8 c 0 10 0 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 600db 2eb 3 0 10 4 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 600de 2e7 0 0 10 8 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 6013a 28a 0 0 10 c 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 f182 110 1b 0 8 0 654 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f193 f6 a 0 8 4 654 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f19d eb 0 0 8 8 654 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31db9 55 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31ddd 2a 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ad29 4d 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ad46 2a 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ad7b 24 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b2d0 3aa 18 0 4 0 480 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b2e1 37f 7 0 4 4 480 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1160 - ^ = -STACK WIN 4 b2e7 378 1 0 4 8 480 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1160 - ^ = -STACK WIN 4 b2e8 376 0 0 4 c 480 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1160 - ^ = -STACK WIN 4 112d5 1d5 c 0 c 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 11419 21 0 0 c 8 38 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 359b7 29d 26 0 10 0 ec 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 359cf 27c e 0 10 4 ec 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 244 - ^ = -STACK WIN 4 359dc 26e 1 0 10 8 ec 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 244 - ^ = -STACK WIN 4 359dd 26c 0 0 10 c ec 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 244 - ^ = -STACK WIN 4 301af 196 c 0 14 0 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 301bb 186 0 0 14 4 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 301e5 152 0 0 14 8 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 12803 1c9 c 0 10 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1280f 1b9 0 0 10 4 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 84 - ^ = -STACK WIN 4 12839 185 0 0 10 8 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 84 - ^ = -STACK WIN 4 1283d 180 0 0 10 c 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 84 - ^ = -STACK WIN 4 f9e5 37d c 0 20 8 6c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 4171b 4 0 0 20 8 6c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 41748 48 0 0 20 8 6c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c2d3 8f e 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c2dc 7a 5 0 8 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 2c2dd 78 4 0 8 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 2c2e1 73 0 0 8 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 603cf bc 1c 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 603e3 91 8 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 603ea 89 1 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 603eb 87 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 60499 35e 17 0 8 8 274 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 607cb 30 0 0 8 8 274 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60811 e9 1c 0 14 0 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60822 cf b 0 14 4 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 60826 ca 7 0 14 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 6082d c2 0 0 14 c 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 14eea 6e 8 0 8 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 212f1 6e 8 0 8 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21363 24 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 214e3 2b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 217ea 213 a 0 18 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 217f3 206 1 0 18 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 217f4 204 0 0 18 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30789 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 608ff e9 9 0 10 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60908 dc 0 0 10 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 302ed 36 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3039b 33 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21ba5 1d5 c 0 20 8 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 418d1 3f 0 0 20 8 54 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 609ed 5f 7 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60a02 46 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60a51 55 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35dca 172 11 0 8 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35dd6 162 5 0 8 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 35ddb 15c 0 0 8 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 35e0c 11d 0 0 8 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 a427 40 7 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fa46 42 8 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fa4e 36 0 0 4 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e0c7 19e 31 0 10 0 148 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e0df 17d 19 0 10 4 148 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 336 - ^ = -STACK WIN 4 1e0e9 172 f 0 10 8 148 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 336 - ^ = -STACK WIN 4 1e0f8 162 0 0 10 c 148 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 336 - ^ = -STACK WIN 4 35340 bd f 0 4 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3534e a6 1 0 4 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 3534f a4 0 0 4 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 35370 e 0 0 4 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 60aab 44 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 392b5 27 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60af4 23 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60b1c 3f 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60b60 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 60b6f 23 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60b97 23 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60bbf f 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2f3a4 86 8 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f3aa 7c 2 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2f3ab 7a 1 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2f3ac 78 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1a1cf 35 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1500c 90 e 0 0 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1501a 7b 0 0 0 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ac85 28 0 0 0 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1930f 29e 1a 0 1c 0 248 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 19376 228 0 0 1c 4 248 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 19377 226 0 0 1c 8 248 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 16f8e 11 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2dfa0 41 6 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60bd3 95 7 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60bd9 8b 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60bda 87 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 309e1 5f 12 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 309f3 3a 0 0 c 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1cd34 82 17 0 4 8 e0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 41b32 7 0 0 4 8 e0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e16 35 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ae17 4a 9 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ae20 3d 0 0 8 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e50 97 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1eee 2bc c 0 4 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21af 7 0 0 4 8 28 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12f1d 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 16f83 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1df77 23 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12f08 10 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1cf5b b6 9 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1cf64 ab 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 14af2 1d1 9 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 14afb 1c4 0 0 c 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 14b23 192 0 0 c 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 14b42 177 0 0 c c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 33478 b4 10 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 33481 a7 7 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 33488 9f 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f0f4 a5 11 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f105 90 0 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 f132 59 0 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 101be 59 9 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 101c7 4c 0 0 8 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 329d9 159 15 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 329e2 14c c 0 c 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 329e3 14a b 0 c 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 329ee 13e 0 0 c c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 305f6 6d 9 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 305ff 48 0 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9920 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 60c75 30 8 0 4 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21cc 3c 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 220f 10c 16 0 14 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 221a fd b 0 14 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 221e f8 7 0 14 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 2225 f0 0 0 14 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 60caa 49 8 0 8 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60cf8 49 8 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60d00 3d 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60d46 e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ae2a 1c 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60d58 aa 9 0 10 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60d61 9d 0 0 10 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60dbf 29 0 0 10 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60e13 61 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9e01 6f c 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 41c56 4 0 0 8 8 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3593f b 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9e79 73 c 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 41c70 4 0 0 8 8 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 bf9d b 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 bccf 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32259 57 c 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 41c8a 4 0 0 8 8 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a5dc 5d c 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 41ca4 4 0 0 8 8 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c8ed 62 13 0 8 0 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60e79 6a 15 0 8 0 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60e8a 50 4 0 8 4 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60e8e 4b 0 0 8 8 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60ee8 35 6 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60f22 141 19 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 60f36 129 5 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 60f37 127 4 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 60f3b 122 0 0 c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 352d9 68 8 0 14 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21765 48 8 0 c 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61068 43 9 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61071 36 0 0 c 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 303d0 72 f 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 303de 60 1 0 c 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 303df 5c 0 0 c 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 303e9 30 0 0 c c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 12c23 13f c 0 4 8 60 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 41dcc 10 0 0 4 8 60 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 610b0 2b 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 610e0 36 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6111b 35 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61155 2c 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61186 35 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 611c0 45 8 0 8 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6120a 12b 9 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61212 11f 1 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61213 11d 0 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 15199 40 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1519f 36 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 194dd 314 b 0 4 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 194e6 307 2 0 4 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 194e7 305 1 0 4 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 194e8 303 0 0 4 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 19805 8b9 26 0 18 0 1d8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1981c 899 f 0 18 4 1d8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 480 - ^ = -STACK WIN 4 1981d 897 e 0 18 8 1d8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 480 - ^ = -STACK WIN 4 1982b 888 0 0 18 c 1d8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 480 - ^ = -STACK WIN 4 19513 218e 17 0 30 8 a18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 43025 4 0 0 30 8 a18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1e017 2eb 0 0 30 8 a18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2332 30 5 0 28 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12cb0 e7 a 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12cb6 dd 4 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12cba d8 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12d56 44 9 0 4 0 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12d5f 37 0 0 4 4 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 37945 44 9 0 4 0 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3794e 37 0 0 4 4 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c338 91 c 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c341 84 3 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2c344 80 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2c373 33 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 61351 17 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ddd6 33f f 0 30 8 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 43374 14 0 0 30 8 a8 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 434b2 17 0 0 30 8 a8 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 434e5 60 0 0 30 8 a8 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2367 30 5 0 28 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6136d ec b 0 8 0 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61376 df 2 0 8 4 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 92 - ^ = -STACK WIN 4 61377 dd 1 0 8 8 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 92 - ^ = -STACK WIN 4 61378 db 0 0 8 c 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 92 - ^ = -STACK WIN 4 6147e 2fa f 0 8 8 b4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61723 e 0 0 8 8 b4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3965a 77 c 0 4 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39666 67 0 0 4 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 395d8 57 c 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 395e4 47 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c1e7 127 c 0 c 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 435d2 e 0 0 c 8 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12f89 ac 9 0 8 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12f92 9f 0 0 8 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 12fa9 7d 0 0 8 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 12faa 7b 0 0 8 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 132ee 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 61799 148 c 0 c 8 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 617fd e 0 0 c 8 34 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 92ea 6d c 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 92f0 63 6 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 92f6 5c 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2470 32 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 16fb4 4f c 0 4 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 436ca 11 0 0 4 8 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61901 2d 6 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e0df 33 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e0e5 29 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 176db 28 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61933 24 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6195c 24 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30445 1c1 e 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30450 1b2 3 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 30453 1ae 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 3047d 17d 0 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 3053e 73 10 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30544 69 a 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 30545 67 9 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 3054e 5d 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 e275 3c7 c 0 c 8 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 437f5 10 0 0 c 8 54 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 438be 4a 0 0 c 8 54 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 df9e f2 13 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 dfac db 5 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 dfb0 d6 1 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 dfb1 d4 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 31d8e f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e074 67 8 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e07c 5b 0 0 4 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 114f8 5c 7 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1a2ce 6aa 17 0 34 8 2d0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1a834 36 0 0 34 8 2d0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9ef1 1d 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b829 28 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b82f 1e 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 13140 b3 9 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 13149 a6 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c05e 25 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10086 a7 f 0 10 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1008f 9a 6 0 10 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10095 93 0 0 10 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2e30f b3 9 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2e318 a6 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 bfad 29 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e8b7 a4 f 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e8c0 97 6 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e8c6 90 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e995 b3 9 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e99e a6 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 24a7 25 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2540 e6 c 0 c 8 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2610 b 0 0 c 8 44 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 36696 e9 c 0 10 8 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 36759 b 0 0 10 8 44 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 952a 188 c 0 14 8 74 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 951a b 0 0 14 8 74 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 239c 98 c 0 8 8 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2432 b 0 0 8 8 3c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fb52 72 8 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61985 72 8 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 619fc 6b c 0 c 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61a61 b 0 0 c 8 2c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 95f9 93 f 0 18 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9600 88 8 0 18 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 9604 83 4 0 18 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 9608 7e 0 0 18 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 2cc09 25 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a6a9 ae b 0 10 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a6b2 a1 2 0 10 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 a6b3 9f 1 0 10 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 a6b4 9d 0 0 10 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 1320c 6f c 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 13218 5f 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12e1d 6d 8 0 10 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12e25 61 0 0 10 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ca47 6f c 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ca53 5f 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e93f 6a 8 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 e947 5e 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ea1b 6f c 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ea27 5f 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a05d 1c 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2442 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61a81 6a 8 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61a89 5e 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61af0 6f c 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61afc 5f 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 308ad 6d 8 0 10 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 308b5 61 0 0 10 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 33609 19f 16 0 1c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 33614 190 b 0 1c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 33615 18e a 0 1c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 3361f 183 0 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 61b64 39 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61b6a 2f 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1746c 23 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 17499 ef 15 0 0 0 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 174a6 e0 8 0 0 4 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 174a7 de 7 0 0 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 174ae d6 0 0 0 c 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 f1fa 76 18 0 0 0 4c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17459 10e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 43ee5 e5 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1efce 12 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 61ba2 162 11 0 4 0 d4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61bb3 148 0 0 4 4 d4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 220 - ^ = -STACK WIN 4 61bec 107 0 0 4 8 d4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 220 - ^ = -STACK WIN 4 61bed 103 0 0 4 c d4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 220 - ^ = -STACK WIN 4 61d3f 2b9 1f 0 c 0 26c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 61d53 29c b 0 c 4 26c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 628 - ^ = -STACK WIN 4 61d5e 290 0 0 c 8 26c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 628 - ^ = -STACK WIN 4 61dee 1c7 0 0 c c 26c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 628 - ^ = -STACK WIN 4 61ffd 408 1a 0 c 0 280 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62017 3e5 0 0 c 4 280 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 620a4 353 0 0 c 8 280 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6240a 64 9 0 8 0 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62413 3d 0 0 8 4 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62473 42 8 0 4 0 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 624ba 2be 27 0 c 0 22c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 624d1 29e 10 0 c 4 22c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 564 - ^ = -STACK WIN 4 624d4 29a d 0 c 8 22c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 564 - ^ = -STACK WIN 4 624e1 28c 0 0 c c 22c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 564 - ^ = -STACK WIN 4 17f41 141 13 0 8 0 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17f52 127 2 0 8 4 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 17f53 125 1 0 8 8 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 17f54 123 0 0 8 c 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 6277d 59 b 0 18 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62788 4a 0 0 18 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 627db 19f b 0 1c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 627e4 192 2 0 1c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 627e5 190 1 0 1c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 627e6 18e 0 0 1c c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 6297f 59 b 0 18 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6298a 4a 0 0 18 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ebb1 4ac 21 0 4 0 2c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ebc2 492 10 0 4 4 2c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 720 - ^ = -STACK WIN 4 1ebc3 490 f 0 4 8 2c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 720 - ^ = -STACK WIN 4 1ebd2 480 0 0 4 c 2c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 720 - ^ = -STACK WIN 4 629dd 4e 9 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 629e6 41 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 629f4 30 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 629f5 2e 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 12980 8e c 0 c 8 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 129f9 b 0 0 c 8 34 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fc00 5f 12 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fc12 3a 0 0 c 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 c108 4b 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a793 44 8 0 4 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62a30 36 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62a6b 35 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 c058 9f c 0 4 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 44733 c 0 0 4 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ce03 35 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21435 38 8 0 8 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9728 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3970d 26 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62aa5 26 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39732 28 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 328f7 28 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12a09 58 16 0 10 0 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12a1f 3e 0 0 10 4 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12a4b 6 0 0 10 8 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62ad0 7a 9 0 8 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62ad9 6d 0 0 8 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62af6 4b 0 0 8 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 4479d a2 15 0 4 0 21c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 447ae 88 4 0 4 4 21c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 447b2 81 0 0 4 8 21c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62b4f a8 c 0 4 8 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62be6 4 0 0 4 8 54 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62c19 7e e 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62c25 69 2 0 4 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 62c26 67 1 0 4 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 62c27 65 0 0 4 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 12d9f 10b c 0 0 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 448d9 a 0 0 0 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9740 4f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9bc5 a7 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9bcb 9d 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9bcc 9b 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 136d7 cc c 0 4 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 13771 7 0 0 4 8 28 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62c9c 68 8 0 14 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62d09 3a 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fa7a 53 9 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fa83 46 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c0e6 6f c 0 c 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c151 14 0 0 c 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c082 71 c 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c08e 1e 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62d48 2f 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62d4e 25 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ffcf b8 8 0 14 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ffe2 97 0 0 14 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fe84 73 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fe8b 68 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ff16 6f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fed7 40 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 32992 13 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 211cd 86 7 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 211d3 6d 1 0 18 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 211d4 6b 0 0 18 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2b086 82 7 0 14 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2b08d 68 0 0 14 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2bff8 39 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30062 42 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30a62 29 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c02c 28 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2cba2 8e a 0 0 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2cbaa 6e 2 0 0 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 2cbab 6c 1 0 0 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 2cbac 6a 0 0 0 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 2bfd6 23 6 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2117d 56 9 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21186 49 0 0 1c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12723 43 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 21130 4d 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62d7c 42 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2b26e 57 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62dc3 28 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62df0 3f 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62e34 29 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10637 22 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 c1e0 e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 62e62 97d 17 0 4 8 684 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63421 4 0 0 4 8 684 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6362b 4 0 0 4 8 684 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 636d3 4 0 0 4 8 684 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ffaf 1b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63999 a9 b 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 639a2 9c 2 0 8 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 639a3 9a 1 0 8 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 639a4 98 0 0 8 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 63a47 92 a 0 8 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63a50 85 1 0 8 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63a51 83 0 0 8 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63ade 115 c 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63ae5 10a 5 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 63ae6 108 4 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 63aea 103 0 0 c c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 63bf8 127 d 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63bfe 11d 7 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 63bff 11b 6 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 63c05 114 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 63d24 3b 6 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63d2a 31 0 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63d3d 1d 0 0 14 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63d64 b4 b 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63d6d a7 2 0 8 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 63d6e a5 1 0 8 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 63d6f a3 0 0 8 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 63e1d cd 11 0 8 0 230 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63e2e b3 0 0 8 4 230 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63eef 9c a 0 8 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63ef8 8f 1 0 8 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63ef9 8d 0 0 8 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63f90 cd 11 0 8 0 230 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 63fa1 b3 0 0 8 4 230 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64062 af b 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6406b a2 2 0 8 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 6406c a0 1 0 8 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 6406d 9e 0 0 8 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 64116 94 a 0 8 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6411f 87 1 0 8 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64120 85 0 0 8 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 641af b4 b 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 641b8 a7 2 0 8 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 641b9 a5 1 0 8 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 641ba a3 0 0 8 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 64268 df 15 0 8 0 42c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64279 c5 4 0 8 4 42c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6427d c0 0 0 8 8 42c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6434c 9c a 0 8 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64355 8f 1 0 8 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64356 8d 0 0 8 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 643ed d6 15 0 8 0 42c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 643fe bc 4 0 8 4 42c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64402 b7 0 0 8 8 42c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 644c8 195 c 0 14 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6452a e 0 0 14 8 2c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64679 19e e 0 18 0 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64685 18e 2 0 18 4 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 92 - ^ = -STACK WIN 4 64686 18c 1 0 18 8 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 92 - ^ = -STACK WIN 4 64687 18a 0 0 18 c 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 92 - ^ = -STACK WIN 4 6481c 37 8 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64858 2c5 9 0 18 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64861 2b8 0 0 18 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6489e 24c 0 0 18 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64b47 83 9 0 8 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64b50 76 0 0 8 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64bcf a8 20 0 8 0 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64be7 87 8 0 8 4 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 64beb 82 4 0 8 8 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 64bef 7d 0 0 8 c a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 64c7c 112 17 0 8 0 11c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64c93 f2 0 0 8 4 11c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64cf5 8c 0 0 8 8 11c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64d93 6b d 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64da0 5a 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64dc2 37 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64e03 22 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64e2a 156 11 0 4 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64e38 13f 3 0 4 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64e3b 13b 0 0 4 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64f85 c9 7 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 64f8b bf 1 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 64f8c bd 0 0 14 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 64fba 8e 0 0 14 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 65053 bc 11 0 c 0 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65064 a2 0 0 c 4 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 276 - ^ = -STACK WIN 4 6508f 73 0 0 c 8 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 276 - ^ = -STACK WIN 4 65090 71 0 0 c c 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 276 - ^ = -STACK WIN 4 65114 92 17 0 c 0 118 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6512b 72 0 0 c 4 118 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 651ab 86 b 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 651b6 77 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 651f5 32 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65236 209 13 0 c 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65248 1f3 1 0 c 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 65249 1f1 0 0 c 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 652a3 9b 0 0 c c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 65444 72 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6544a 68 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6547f 32 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 654bb 72 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 654c1 68 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 654f6 32 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65532 45 10 0 18 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6553b 38 7 0 18 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65542 2e 0 0 18 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6557c 146 a 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65585 139 1 0 c 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 65586 137 0 0 c 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 655ad 10f 0 0 c c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 656c7 c2 d 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 656d3 b2 1 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 656d4 b0 0 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6578e f7 11 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65799 c4 6 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 6579e be 1 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 6579f bc 0 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 6588a 84 9 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65892 78 1 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 65893 76 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 658aa 5e 0 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 65913 84 9 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6591b 78 1 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 6591c 76 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 65933 5e 0 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 6599c b3 15 0 8 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 659a5 a6 c 0 8 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 659b0 9a 1 0 8 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 659b1 98 0 0 8 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 65a54 2a9 d 0 8 0 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65a5d 29c 4 0 8 4 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65a61 297 0 0 8 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 22128 9e a 0 8 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 22131 91 1 0 8 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 22132 8f 0 0 8 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65d02 85 9 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65d0a 79 1 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 65d0b 77 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 65d22 5f 0 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 65d8c 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65da4 9a 8 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65dac 8e 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65dc4 74 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65e43 303 b 0 8 0 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 65e4c 2ec 2 0 8 4 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 80 - ^ = -STACK WIN 4 65e4d 2ea 1 0 8 8 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 80 - ^ = -STACK WIN 4 65e4e 2e8 0 0 8 c 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 80 - ^ = -STACK WIN 4 6614b a6 f 0 8 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66159 94 1 0 8 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 6615a 92 0 0 8 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 6618c 5f 0 0 8 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 661f6 85 9 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 661fe 79 1 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 661ff 77 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 66216 5f 0 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 66280 d4 10 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6628b c5 5 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66290 bf 0 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66359 6a 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6636c 53 0 0 18 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66370 4e 0 0 18 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 663c8 2ec f 0 8 8 94 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6665c 1c 0 0 8 8 94 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66682 b 0 0 8 8 94 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6677d ba c 0 c 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66801 3b 0 0 c 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66871 bc c 0 c 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66918 1a 0 0 c 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66949 ba c 0 c 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 669cd 3b 0 0 c 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66a41 bc c 0 c 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66ae8 1a 0 0 c 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66b19 ba c 0 c 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66b9d 3b 0 0 c 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66c11 c3 c 0 c 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66cbf 1a 0 0 c 8 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66cf1 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66d09 19d b 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66d12 190 2 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 66d13 18e 1 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 66d14 18c 0 0 c c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 66eab 93 a 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 66eb3 87 2 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 66eb4 85 1 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 66eb5 83 0 0 c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 66f43 71c 17 0 4 8 ec 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67093 11 0 0 4 8 ec 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 675f4 11 0 0 4 8 ec 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67695 7a 13 0 8 0 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67714 114 17 0 8 8 e4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 677e9 11 0 0 8 8 e4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67849 145 17 0 8 8 e4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67941 11 0 0 8 8 e4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f609 58 13 0 4 0 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 679a9 53 13 0 4 0 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67a01 44 7 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67a4a df 16 0 10 0 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67a5b c5 5 0 10 4 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 67a5c c3 4 0 10 8 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 67a60 be 0 0 10 c c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 28b87 ad 21 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 28b95 9b 13 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 28ba8 87 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ae5e 85 15 0 8 0 cc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ae6f 6b 4 0 8 4 cc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ae73 66 0 0 8 8 cc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67b2e 3d 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67b70 57 c 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67b77 4c 5 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 67b7b 47 1 0 8 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 67b7c 45 0 0 8 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 1143f 60 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 11445 56 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f5a6 197 11 0 8 0 128 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f5b7 179 0 0 8 4 128 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f5ca 15f 0 0 8 8 128 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 132f9 54 c 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 13304 45 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 13305 43 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67bcc 231 f 0 8 8 9c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67dd6 2c 0 0 8 8 9c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67e19 17 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67e35 17e c 0 14 0 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67e3e 171 3 0 14 4 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 67e41 16d 0 0 14 8 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1146a 90 a 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 11470 86 4 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 11474 81 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6802b 8e 9 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 68034 81 0 0 8 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f26e 432 17 0 c 8 2b4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1f571 50 0 0 c 8 2b4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 680be 42e c 0 c 8 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 68496 4a 0 0 c 8 50 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 13353 406 17 0 c 8 2ac 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1366c 45 0 0 c 8 2ac 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 28c38 1099 17 0 24 8 2e4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 29b93 127 0 0 24 8 2e4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 68509 78 6 0 24 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6850f 6c 0 0 24 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 68538 3b 0 0 24 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35bb0 1fe 17 0 c 8 254 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 44db3 55 0 0 c 8 254 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 68586 1fe 17 0 c 8 254 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 68734 55 0 0 c 8 254 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 687a1 2ab 1c 0 14 0 118 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 687bd 286 0 0 14 4 118 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 288 - ^ = -STACK WIN 4 68828 217 0 0 14 8 118 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 288 - ^ = -STACK WIN 4 68867 1d7 0 0 14 c 118 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 288 - ^ = -STACK WIN 4 2cf9b 28d f 0 c 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2cfa8 27c 2 0 c 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 2cfa9 27a 1 0 c 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 2cfaa 278 0 0 c c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 2cf60 23 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 68abf 2ed 11 0 10 0 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 68ac8 2e0 8 0 10 4 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 96 - ^ = -STACK WIN 4 68acf 2d8 1 0 10 8 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 96 - ^ = -STACK WIN 4 68ad0 2d6 0 0 10 c 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 96 - ^ = -STACK WIN 4 68db1 10d 9 0 c 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 68dba 100 0 0 c 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 68e39 80 0 0 c 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 68f11 148 8 0 8 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 68f3e 115 0 0 8 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 68f75 dd 0 0 8 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6905d 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 357d5 b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2080d 5f7 11 0 c 0 24c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2081e 5dd 0 0 c 4 24c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2083d 5b0 0 0 c 8 24c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31b99 1f2 7 0 10 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31ba0 1e7 0 0 10 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 31bcf 1ac 0 0 10 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 31bd0 1aa 0 0 10 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 20799 e2 e 0 10 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 207a1 d6 6 0 10 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 207a7 cf 0 0 10 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 207d8 7d 0 0 10 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 1fb88 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6907b 199 9 0 8 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 69084 18c 0 0 8 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 690b9 156 0 0 8 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 690ba 154 0 0 8 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 69218 17a 9 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 69221 16d 0 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 692b0 da 0 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 69395 3de 16 0 8 0 230 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 693a6 3c4 5 0 8 4 230 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 568 - ^ = -STACK WIN 4 693aa 3bf 1 0 8 8 230 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 568 - ^ = -STACK WIN 4 693ab 3bd 0 0 8 c 230 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 568 - ^ = -STACK WIN 4 69778 1b3 9 0 4 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 69781 1a6 0 0 4 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 697b6 170 0 0 4 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 697b7 16e 0 0 4 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 69930 2ca 9 0 4 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 69939 2bd 0 0 4 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 69983 271 0 0 4 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2e61c 39d a 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2e625 390 1 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 2e626 38e 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 2e63e 372 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 20d14 3ab b 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 20d1d 39e 2 0 10 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 20d1e 39c 1 0 10 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 20d1f 39a 0 0 10 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 2d2af 13d 9 0 8 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2d2b8 130 0 0 8 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 2d2de 106 0 0 8 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 2d2df 104 0 0 8 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 69bff fd c 0 c 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 69ce0 21 0 0 c 8 38 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 69d19 111 c 0 c 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 69e0e 21 0 0 c 8 38 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 69e49 fd c 0 c 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 69f2a 21 0 0 c 8 38 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 69f61 10f c 0 c 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a054 21 0 0 c 8 38 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a091 48 8 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a099 3c 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a0de 1d 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2e8b2 10f c 0 c 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 453fe 21 0 0 c 8 38 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a100 13c c 0 10 8 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a220 21 0 0 10 8 3c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a259 fc c 0 8 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a339 21 0 0 8 8 38 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a371 172 a 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a37a 167 1 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 6a37b 165 0 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 6a4e8 11 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6a4fe c7 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6a5ca 3e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6a60d a4 10 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a613 9a a 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 6a614 98 9 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 6a61b 90 2 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 6a6b6 d0 10 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a6bc c6 a 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 6a6bd c4 9 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 6a6c4 bc 2 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 6a78b 66 8 0 18 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a7b8 33 0 0 18 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a7fb 60c e 0 8 0 94 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6a807 5fc 2 0 8 4 94 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 6a808 5fa 1 0 8 8 94 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 6a809 5f8 0 0 8 c 94 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 6aebf 29 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6aeed 2d 8 0 8 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6af1f 55 8 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6af53 1d 0 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6af79 52 8 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6afad 1a 0 0 8 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6afd0 71 9 0 18 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6afd8 65 1 0 18 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 6afd9 63 0 0 18 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 6aff2 49 0 0 18 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 6b046 41 8 0 18 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b08c 57 8 0 14 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b0e8 2e 7 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b11b 2e 7 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b14e 35 8 0 10 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b188 35 8 0 10 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b1c2 57 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b21e 3c 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b25f 1c 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2cb03 69 8 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b280 72 8 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2e44a 28 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2e450 1e 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b2f7 28 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b2fd 1e 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2afc9 cc e 0 14 0 70 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2afd6 bb 1 0 14 4 70 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2afd7 b9 0 0 14 8 70 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ca9f 111 f 0 10 0 78 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2caac 100 2 0 10 4 78 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 128 - ^ = -STACK WIN 4 2caad fe 1 0 10 8 78 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 128 - ^ = -STACK WIN 4 2caae fc 0 0 10 c 78 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 128 - ^ = -STACK WIN 4 6b324 35 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b35e 29 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b38c 67 8 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b394 5b 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b3f8 6f c 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b404 5f 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b46c 19d c 0 c 8 5c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b5b5 48 0 0 c 8 5c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b629 55 8 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b631 49 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b683 c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2146c c 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6b694 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1301e 22 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b6a3 53 6 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b6a9 49 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17190 c4 13 0 c 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1719f b1 4 0 c 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 171a2 ad 1 0 c 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 171a3 a9 0 0 c c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 2bf01 c 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1305f c 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b6fb 23 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a644 35 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a675 38 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 300a9 33 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 300af 29 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 967c 12f c 0 10 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9684 123 4 0 10 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9688 11e 0 0 10 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b723 39 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b729 2f 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 130a6 42 e 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 130ac 38 8 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 130b4 2f 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 15350 124 16 0 14 0 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1535e 10d 8 0 14 4 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 88 - ^ = -STACK WIN 4 15362 108 4 0 14 8 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 88 - ^ = -STACK WIN 4 15366 103 0 0 14 c 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 88 - ^ = -STACK WIN 4 6b761 3f 9 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b76a 32 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1530d 47 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 19aaa 33 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1a9d9 3a 8 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 15229 170 e 0 10 0 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 15232 163 5 0 10 4 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 64 - ^ = -STACK WIN 4 15233 15f 4 0 10 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 64 - ^ = -STACK WIN 4 15237 15a 0 0 10 c 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 64 - ^ = -STACK WIN 4 162db ef b 0 1c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 162e2 e4 4 0 1c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 162e6 df 0 0 1c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 1529b af 8 0 3c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 152a1 a5 2 0 3c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 152a2 a3 1 0 3c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 152a3 a1 0 0 3c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1a86f 227 21 0 28 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1a878 21a 18 0 28 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 1a879 216 17 0 28 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 1a890 1fe 0 0 28 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 15921 ab5 45 0 c 0 3dc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 15958 a75 e 0 c 4 3dc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 996 - ^ = -STACK WIN 4 15965 a67 1 0 c 8 3dc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 996 - ^ = -STACK WIN 4 15966 a65 0 0 c c 3dc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 996 - ^ = -STACK WIN 4 1545c 910 17 0 4 8 2e0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 45f23 e 0 0 4 8 2e0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 11210 83 9 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 11219 76 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1123b 57 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b7a5 32f 1d 0 4 0 254 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6b7bd 2c9 5 0 4 4 254 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 604 - ^ = -STACK WIN 4 6b7be 2c7 4 0 4 8 254 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 604 - ^ = -STACK WIN 4 6b7c2 2c2 0 0 4 c 254 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 604 - ^ = -STACK WIN 4 2fe16 84 3e 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fe54 1f 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30e9a a7 9 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30ea1 9c 2 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 30ea2 9a 1 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 30ea3 98 0 0 c c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 2fd92 73 9 0 14 0 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fd9b 66 0 0 14 4 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fdb4 2a 0 0 14 8 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bb0f 51 9 0 14 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bb17 45 1 0 14 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bb18 43 0 0 14 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fd4c 41 8 0 14 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2fd54 35 0 0 14 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30f21 73 9 0 14 0 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30f2a 66 0 0 14 4 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30f43 2a 0 0 14 8 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 38653 18e 2e 0 14 0 e4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 38667 171 1a 0 14 4 e4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 236 - ^ = -STACK WIN 4 3866b 16c 16 0 14 8 e4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 236 - ^ = -STACK WIN 4 38681 155 0 0 14 c e4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 236 - ^ = -STACK WIN 4 3835a 3f 6 0 14 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1612f 113 1f 0 4 0 d8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 16147 f2 7 0 4 4 d8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1614e e8 0 0 4 8 d8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bb65 38 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bba2 28 6 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bbcf 6b 8 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bbd7 5f 0 0 4 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bc0c 29 0 0 4 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 16763 87 16 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 16772 74 7 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 16778 6d 1 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 16779 6b 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 16602 5b 13 0 4 0 20c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 16613 41 2 0 4 4 20c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 532 - ^ = -STACK WIN 4 16614 3d 1 0 4 8 20c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 532 - ^ = -STACK WIN 4 16615 3b 0 0 4 c 20c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 532 - ^ = -STACK WIN 4 1aa2c ff 13 0 0 0 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1aa3d e7 2 0 0 4 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 1aa3e e4 1 0 0 8 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 1aa3f e0 0 0 0 c 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 169ea 5c 9 0 c 0 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 169f3 4f 0 0 c 4 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1691d 5c 8 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2b335 67 e 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2b33e 5a 5 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2b33f 57 4 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2b343 50 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 16473 5f 10 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 16479 47 a 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1647a 45 9 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 16483 3b 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1697f 66 7 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 16996 47 0 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1699b 39 0 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c59b 87 c 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2c5a6 78 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2c5a7 76 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2c5be 5a 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2f70b 90 6 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f711 86 0 0 1c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f737 5f 0 0 1c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f695 bd 8 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f6ca 81 0 0 10 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f6ce 7b 0 0 10 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1642c 42 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1643c 2d 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 16440 28 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 168bb 52 11 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 168c3 46 9 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 168c4 44 8 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 168cc 3b 0 0 c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 16396 91 a 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1639f 5c 1 0 4 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 163a0 5a 0 0 4 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 163bf 3a 0 0 4 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 165e9 13 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 16b75 415 21 0 4 0 4a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 16b8c 3f5 a 0 4 4 4a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1200 - ^ = -STACK WIN 4 16b95 3eb 1 0 4 8 4a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1200 - ^ = -STACK WIN 4 16b96 3e9 0 0 4 c 4a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1200 - ^ = -STACK WIN 4 164cd c4 c 0 0 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 46631 e 0 0 0 8 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2b553 b8 8 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2b55b ac 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 2b57d 86 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 2b57e 82 0 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 16662 f2 b 0 14 0 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1666b e5 2 0 14 4 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 1666c e3 1 0 14 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 1666d e1 0 0 14 c 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 16879 b7 f 0 10 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 16884 a8 4 0 10 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 16888 a3 0 0 10 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 16a5c 79 0 0 10 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 16562 8d c 0 8 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 46678 4 0 0 8 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 167d7 9a c 0 10 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 466a9 4 0 0 10 8 28 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 15120 a1 c 0 c 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 466d4 4 0 0 c 8 28 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bc3f 63 c 0 0 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bc8a 4 0 0 0 8 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bcc1 a9 8 0 0 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bcc9 9f 0 0 0 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bcf0 77 0 0 0 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2b38d 214 e 0 0 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2b39b 1ff 0 0 0 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 2b3dd 1b6 0 0 0 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 2b3de 1b4 0 0 0 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 6be06 7f 3 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6be09 7b 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6be41 42 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6be8a 33 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1204d 44 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12061 1c 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bec2 70 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bec8 66 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bec9 64 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bf37 105 b 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6bf3d fb 5 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 6bf3e f9 4 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 6bf42 f4 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 6c041 167 10 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c04f 155 2 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 6c050 153 1 0 8 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 6c051 151 0 0 8 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 6c1ad 165 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c1c9 df 0 0 18 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c1cd da 0 0 18 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c317 f8 6 0 24 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c31d ee 0 0 24 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 6c34d bd 0 0 24 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 6c351 b6 0 0 24 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 6c414 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c42e 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c449 22 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c470 22 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c497 9a c 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c4a2 83 1 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 6c4a3 81 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 6c4d1 52 0 0 c c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 6c536 22 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c55d 30 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c592 50 7 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c598 42 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c599 40 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c5e7 3e 1a 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c601 20 0 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c62a 17b 15 0 14 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c639 168 6 0 14 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 6c63e 162 1 0 14 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 6c63f 15e 0 0 14 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 6c7a6 177 d 0 28 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c7ad 16c 6 0 28 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c7b3 165 0 0 28 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c922 177 d 0 28 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c929 16c 6 0 28 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6c92f 165 0 0 28 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6ca9e 195 10 0 18 0 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6caa7 188 7 0 18 4 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 80 - ^ = -STACK WIN 4 6caae 180 0 0 18 8 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 80 - ^ = -STACK WIN 4 6cabd 170 0 0 18 c 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 80 - ^ = -STACK WIN 4 6cc38 198 10 0 18 0 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6cc41 18b 7 0 18 4 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 80 - ^ = -STACK WIN 4 6cc48 183 0 0 18 8 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 80 - ^ = -STACK WIN 4 6cc57 173 0 0 18 c 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 80 - ^ = -STACK WIN 4 6cdd5 115c 1b 0 14 0 254 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6cde9 1144 7 0 14 4 254 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 604 - ^ = -STACK WIN 4 6cded 113f 3 0 14 8 254 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 604 - ^ = -STACK WIN 4 6cdf0 113b 0 0 14 c 254 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 604 - ^ = -STACK WIN 4 6df34 115c 1b 0 14 0 274 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6df48 1144 7 0 14 4 274 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 636 - ^ = -STACK WIN 4 6df4c 113f 3 0 14 8 274 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 636 - ^ = -STACK WIN 4 6df4f 113b 0 0 14 c 274 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 636 - ^ = -STACK WIN 4 335b7 1d 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6f093 357 13 0 18 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6f09f 347 7 0 18 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 6f0a2 343 4 0 18 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 6f0a6 33e 0 0 18 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 6f3ef a6 c 0 10 0 f8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6f3fb 96 0 0 10 4 f8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6f49a 104 19 0 8 0 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6f4a8 ed b 0 8 4 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 96 - ^ = -STACK WIN 4 6f4a9 eb a 0 8 8 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 96 - ^ = -STACK WIN 4 6f4b3 e0 0 0 8 c 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 96 - ^ = -STACK WIN 4 6f5a3 102 8 0 18 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6f5aa f7 1 0 18 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 6f5ab f5 0 0 18 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 6f602 9d 0 0 18 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 6f6aa c5 1a 0 18 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6f6bc af 8 0 18 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 6f6bd ad 7 0 18 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 6f6c4 a5 0 0 18 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 6f774 1c7 16 0 8 0 220 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6f785 1ad 5 0 8 4 220 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 552 - ^ = -STACK WIN 4 6f786 1ab 4 0 8 8 220 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 552 - ^ = -STACK WIN 4 6f78a 1a6 0 0 8 c 220 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 552 - ^ = -STACK WIN 4 6f949 b 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6f959 12f 7 0 14 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6f97d 107 0 0 14 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6f9f0 92 0 0 14 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6fa8d 22 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6fab4 1f 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6fad8 19e 8 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6fae0 192 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6fb1d 153 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6fc7b 61 8 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6fc83 55 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6fcdc e9 c 0 0 4 330 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6fdca 66 c 0 4 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6fe04 4 0 0 4 8 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 189fc 28 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6fe51 65 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6fe6d 44 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6fe6e 42 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6febb 5f c 0 c 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6ff09 4 0 0 c 8 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6ff39 148 15 0 18 0 ac 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6ff4a 12e 4 0 18 4 ac 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 6ff4e 129 0 0 18 8 ac 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70086 27 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 700b2 25 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 700dc c0 13 0 8 0 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 700ed a6 2 0 8 4 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 700ee a4 1 0 8 8 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 700ef a2 0 0 8 c a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 701a1 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 701b9 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 701d1 6f 13 0 4 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70245 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 70252 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7025f 149 17 0 10 8 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70362 4 0 0 10 8 c4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 703c9 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 703e7 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70405 10c 17 0 c 8 c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 704cb 4 0 0 c 8 c0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70531 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7054c 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70567 a3 19 0 8 0 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70578 89 8 0 8 4 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 70579 87 7 0 8 8 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 70580 7f 0 0 8 c a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 7060f 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70627 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7063f c6 13 0 c 0 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70650 ac 2 0 c 4 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 70651 aa 1 0 c 8 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 70652 a8 0 0 c c a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 7070a 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70725 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70740 a8 19 0 8 0 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70751 8e 8 0 8 4 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 70752 8c 7 0 8 8 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 70759 84 0 0 8 c a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 707ed 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70805 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7081d 150 17 0 10 8 c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70927 4 0 0 10 8 c8 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70989 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 709a7 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 709c5 6f 13 0 4 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ba6a 111 17 0 c 8 c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 4677c 4 0 0 c 8 c0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70a39 23 9 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70a42 16 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ba3c 29 9 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ba45 1c 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2da09 a0 12 0 c 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2da1a 86 1 0 c 4 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2da1b 84 0 0 c 8 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70a61 4f c 0 4 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70a99 4 0 0 4 8 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2d9bd 4b c 0 4 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 467de 4 0 0 4 8 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70ad1 75 c 0 8 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70b3f c 0 0 8 8 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b355 6e c 0 4 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b3c1 c 0 0 4 8 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70b61 11b 1c 0 18 0 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70b72 101 b 0 18 4 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 70b73 ff a 0 18 8 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 70b7d f4 0 0 18 c a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 70c81 39 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70cbf 38 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70cfc a7 13 0 8 0 214 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70d0d 8d 2 0 8 4 214 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 540 - ^ = -STACK WIN 4 70d0e 8b 1 0 8 8 214 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 540 - ^ = -STACK WIN 4 70d0f 89 0 0 8 c 214 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 540 - ^ = -STACK WIN 4 70da8 58 8 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70db0 4c 0 0 4 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b10f 77 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b132 4f 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b13a 46 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 29ee3 70 d 0 8 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 29ef0 5f 0 0 8 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 46833 26 0 0 8 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1aff3 81 17 0 4 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 4687c 4 0 0 4 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1afd5 1f 6 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 18c64 9a b 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 18c6b 8f 4 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 18c6f 8a 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70e05 1ef 17 0 2c 8 e0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 70fe7 12 0 0 2c 8 e0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71011 77 13 0 0 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7108d 4f 4 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 71090 4b 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 71091 49 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 710e1 93 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 710e8 88 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71107 68 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71191 164 17 0 10 8 d0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 712e3 17 0 0 10 8 d0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b6d7 228 16 0 8 0 640 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 b6ec 20a 1 0 8 4 640 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1608 - ^ = -STACK WIN 4 b6ed 208 0 0 8 8 640 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1608 - ^ = -STACK WIN 4 71311 1cd 17 0 0 8 480 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 714d7 c 0 0 0 8 480 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 714f9 e9 17 0 4 8 128 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 715db c 0 0 4 8 128 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 715f9 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1ce32 125 17 0 14 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 468d9 4 0 0 14 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 468e9 4 0 0 14 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1cf25 1c 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 35484 1c 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1dc7e 6f 13 0 4 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1dd4d 9b 1c 0 10 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71604 a3 17 0 8 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71674 4 0 0 8 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 716c9 7b 13 0 c 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1aeaa 73 13 0 4 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1ff5b 82 13 0 10 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 10fe1 95 c 0 10 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 46968 4 0 0 10 8 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71749 29c 17 0 20 8 d8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7189d 11 0 0 20 8 d8 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7199c 4 0 0 20 8 d8 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71a1d 4a 16 0 14 0 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71a2b 33 8 0 14 4 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 92 - ^ = -STACK WIN 4 71a2f 2e 4 0 14 8 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 92 - ^ = -STACK WIN 4 71a33 29 0 0 14 c 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 92 - ^ = -STACK WIN 4 71a6c 51 1c 0 14 0 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71a7a 3a e 0 14 4 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 96 - ^ = -STACK WIN 4 71a7e 35 a 0 14 8 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 96 - ^ = -STACK WIN 4 71a88 2a 0 0 14 c 58 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 96 - ^ = -STACK WIN 4 71ac2 139 17 0 2c 8 c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71be9 4 0 0 2c 8 c8 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71c19 ae 17 0 c 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71ca8 4 0 0 c 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71ce9 7b 13 0 c 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 37c53 9a 17 0 4 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 469a3 4 0 0 4 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71d69 c2 19 0 10 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71d7a a8 8 0 10 4 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 172 - ^ = -STACK WIN 4 71d7e a3 4 0 10 8 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 172 - ^ = -STACK WIN 4 71d82 9e 0 0 10 c a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 172 - ^ = -STACK WIN 4 71e30 6f 13 0 4 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71ea4 1e 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71ec7 1e 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71eea 75 13 0 8 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71f64 56 13 0 8 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 71fbf 5c 13 0 c 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72020 7b 13 0 c 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 720a0 107 17 0 c 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72188 4 0 0 c 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 721c9 78 8 0 c 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72269 12b 17 0 18 8 c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7236f 4 0 0 18 8 c0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7237f 4 0 0 18 8 c0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 723c5 1e 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 723e8 1e 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7240b 13f 26 0 18 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72420 126 11 0 18 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 72421 124 10 0 18 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 72431 113 0 0 18 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 7254f 272 17 0 18 8 d4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72787 4 0 0 18 8 d4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 727e1 1f 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72805 1f 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72829 2d8 17 0 18 8 e8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72aa3 4 0 0 18 8 e8 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72b21 1f 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72b45 1f 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72b69 151 17 0 1c 8 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72c86 4 0 0 1c 8 c4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72cd9 21 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72cff 21 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72d25 21 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72d4b 126 17 0 1c 8 c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72e4c 4 0 0 1c 8 c0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72e5c 4 0 0 1c 8 c0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72ea5 21 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72ecb 21 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72ef1 21 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72f17 c3 17 0 18 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72fbb 4 0 0 18 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 72ff9 22 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73020 1f 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73044 1f 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73068 172 17 0 14 8 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7314a 4 0 0 14 8 c4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 731c9 4 0 0 14 8 c4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73215 af 17 0 8 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 732a4 4 0 0 8 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 732e1 17b 17 0 18 8 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73326 4 0 0 18 8 c4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73432 4 0 0 18 8 c4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7348d 1e 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 734b0 1e 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 734d3 1e 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 734f6 1e 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73519 1f 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7353d 1f 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73561 ad 17 0 8 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 735db 4 0 0 8 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73629 9c 17 0 4 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73692 4 0 0 4 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 736e1 9a 17 0 4 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73748 4 0 0 4 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73799 107 17 0 10 8 c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73854 4 0 0 10 8 c0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 738c1 89 13 0 8 0 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7394f b5 17 0 c 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 739d1 4 0 0 c 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b1f0 75 13 0 8 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73a21 82 18 0 8 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73aa8 6f 13 0 4 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73b1c 6f 13 0 4 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73b90 75 13 0 8 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73c0a 75 13 0 8 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73c84 ac 17 0 8 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73d11 4 0 0 8 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73d51 b5 17 0 c 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73de7 4 0 0 c 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73e21 e1 17 0 18 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73ee3 4 0 0 18 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73f21 1f 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73f45 1f 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73f69 77 13 0 8 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 73fe5 75 13 0 8 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7405f 6f 13 0 4 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 740d3 6b 13 0 0 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74143 b6 15 0 4 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74154 9c 4 0 4 4 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74158 97 0 0 4 8 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b18f 6e 13 0 0 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 741fe 5e 13 0 4 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74261 2e 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74294 90 12 0 8 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 742a5 76 1 0 8 4 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 742a6 74 0 0 8 8 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74329 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74341 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74359 67 13 0 0 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 743c5 11c 17 0 8 8 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74497 4 0 0 8 8 c4 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1af14 a3 17 0 8 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 469dd 4 0 0 8 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74501 67 13 0 0 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7456d a3 17 0 8 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 745dd 4 0 0 8 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74631 83 13 0 4 0 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1bc2b e4 17 0 8 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 469fe 4 0 0 8 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 746b9 c1 19 0 10 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 746ca a7 8 0 10 4 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 172 - ^ = -STACK WIN 4 746ce a2 4 0 10 8 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 172 - ^ = -STACK WIN 4 746d2 9d 0 0 10 c a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 172 - ^ = -STACK WIN 4 7477f 7b 13 0 c 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 747ff ae 17 0 c 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7487a 4 0 0 c 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 748c9 6f 13 0 4 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7493d 6f 13 0 4 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 749b1 e8 17 0 14 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74a7a 4 0 0 14 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74ab9 54 8 0 8 0 44 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74b12 6f 13 0 4 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74b86 c 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 74b97 4d 8 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74be9 a0 b 0 10 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74bf2 93 2 0 10 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 74bf3 91 1 0 10 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 74bf4 8f 0 0 10 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 74c8e bd 11 0 8 0 408 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74c9f a3 0 0 8 4 408 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74e13 13d 11 0 4 0 4b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74e24 123 0 0 4 4 4b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74e74 79 0 0 4 8 4b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 74f87 135 17 0 8 8 c0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7507d 4 0 0 8 8 c0 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 750d9 c5 15 0 8 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 750ea ab 4 0 8 4 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 750ee a6 0 0 8 8 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 751a3 ac 17 0 c 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7521c 4 0 0 c 8 bc 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75271 b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b5c6 ca 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b616 17 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b61d f 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2000c 78 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 20012 3d 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b58b 39 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b591 2f 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b592 2d 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75280 1cc c 0 4 8 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75348 4 0 0 4 8 7c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 753b9 c 0 0 4 8 7c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75454 c 0 0 4 8 7c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75489 45 13 0 0 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 754d3 f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 754e4 242 17 0 8 8 c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 756a5 4 0 0 8 8 c8 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $ebp = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 38211 1e 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75749 1e 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7576c 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7578a 1b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 757aa 1b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 757ca 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 757e8 1c 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75809 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 37ce1 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75827 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75842 84 16 0 14 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75853 6a 5 0 14 4 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 172 - ^ = -STACK WIN 4 75857 65 1 0 14 8 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 172 - ^ = -STACK WIN 4 75858 63 0 0 14 c a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 172 - ^ = -STACK WIN 4 a459 b3 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 d21d 15 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 cf52 136 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 cf63 111 0 0 18 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 cf7e f4 0 0 18 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 d239 24 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 380ef d7 c 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 380f9 c9 2 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 380fa c7 1 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 380fb c5 0 0 c c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 38063 f7 a 0 24 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3806c ea 1 0 24 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 3806d e8 0 0 24 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 380a9 65 0 0 24 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 d077 1a3 1e 0 18 0 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 d088 189 d 0 18 4 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 544 - ^ = -STACK WIN 4 d08f 181 6 0 18 8 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 544 - ^ = -STACK WIN 4 d095 17a 0 0 18 c 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 544 - ^ = -STACK WIN 4 38de8 204 19 0 18 0 214 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 38df9 1ea 8 0 18 4 214 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 540 - ^ = -STACK WIN 4 38dfd 1e5 4 0 18 8 214 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 540 - ^ = -STACK WIN 4 38e01 1e0 0 0 18 c 214 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 540 - ^ = -STACK WIN 4 d262 16c 1d 0 10 0 108 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 d277 14e 8 0 10 4 108 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 272 - ^ = -STACK WIN 4 d27e 146 1 0 10 8 108 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 272 - ^ = -STACK WIN 4 d27f 144 0 0 10 c 108 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 272 - ^ = -STACK WIN 4 758cb 9b 11 0 c 0 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 758dc 81 0 0 c 4 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75925 34 0 0 c 8 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7596b 166 21 0 18 0 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75981 47 b 0 18 4 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 276 - ^ = -STACK WIN 4 7598b 3c 1 0 18 8 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 276 - ^ = -STACK WIN 4 7598c 3a 0 0 18 c 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 276 - ^ = -STACK WIN 4 75ad6 9e 11 0 10 0 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75ae7 84 0 0 10 4 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75b30 37 0 0 10 8 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3632d 1a7 19 0 18 0 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3633e 18d 8 0 18 4 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 544 - ^ = -STACK WIN 4 36342 188 4 0 18 8 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 544 - ^ = -STACK WIN 4 36346 183 0 0 18 c 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 544 - ^ = -STACK WIN 4 361ee 1ea 19 0 18 0 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 361ff 1d0 8 0 18 4 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 544 - ^ = -STACK WIN 4 36203 1cb 4 0 18 8 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 544 - ^ = -STACK WIN 4 36207 1c6 0 0 18 c 218 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 544 - ^ = -STACK WIN 4 2ec56 2cc 16 0 18 0 234 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ec67 2b2 5 0 18 4 234 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 572 - ^ = -STACK WIN 4 2ec68 2b0 4 0 18 8 234 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 572 - ^ = -STACK WIN 4 2ec6c 2ab 0 0 18 c 234 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 572 - ^ = -STACK WIN 4 75b79 333 16 0 18 0 23c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75b8a 319 5 0 18 4 23c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 580 - ^ = -STACK WIN 4 75b8b 317 4 0 18 8 23c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 580 - ^ = -STACK WIN 4 75b8f 312 0 0 18 c 23c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 580 - ^ = -STACK WIN 4 38a0c ad 15 0 14 0 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 38a1d 93 4 0 14 4 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 38a21 8e 0 0 14 8 10c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75eb1 191 21 0 14 0 210 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 75ec5 174 d 0 14 4 210 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 536 - ^ = -STACK WIN 4 75ec6 172 c 0 14 8 210 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 536 - ^ = -STACK WIN 4 75ed2 165 0 0 14 c 210 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 536 - ^ = -STACK WIN 4 76047 83 11 0 c 0 224 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76058 69 0 0 c 4 224 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7606e 4f 0 0 c 8 224 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 760cf b 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a490 196 8 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a496 18c 2 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 a497 18a 1 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 a498 188 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 760df 2e5 11 0 3c 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 760eb 2d5 5 0 3c 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 760ef 2cb 1 0 3c 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 760f0 2c9 0 0 3c c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 bfef 93 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 af4f 12e7 1d 0 1c 0 98 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 af64 12ce 8 0 1c 4 98 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 160 - ^ = -STACK WIN 4 af68 12c9 4 0 1c 8 98 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 160 - ^ = -STACK WIN 4 af6c 12c4 0 0 1c c 98 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 160 - ^ = -STACK WIN 4 763c9 21 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 763ef 107 1e 0 8 0 424 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76400 6b d 0 8 4 424 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1068 - ^ = -STACK WIN 4 7640d 5d 0 0 8 8 424 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1068 - ^ = -STACK WIN 4 1c48b 263 26 0 8 0 648 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1c4a3 ad e 0 8 4 648 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1616 - ^ = -STACK WIN 4 1c4ad a2 4 0 8 8 648 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1616 - ^ = -STACK WIN 4 1c4b1 9d 0 0 8 c 648 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1616 - ^ = -STACK WIN 4 764fb fe 18 0 4 0 140 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7650c e4 7 0 4 4 140 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76513 dc 0 0 4 8 140 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a415 d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 13038 2d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 13070 2a 6 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 127b2 7 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 bf3d 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9f10 e2 6 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7668d a2 9 0 c 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76696 95 0 0 c 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76734 2b9 6 0 1c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7676f 27a 0 0 1c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 769f2 5c 5 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39200 157 15 0 c 0 43c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39211 13d 4 0 c 4 43c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39215 138 0 0 c 8 43c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76a53 195 1d 0 c 0 210 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76a6b 174 5 0 c 4 210 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 536 - ^ = -STACK WIN 4 76a6f 16f 1 0 c 8 210 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 536 - ^ = -STACK WIN 4 76a70 16d 0 0 c c 210 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 536 - ^ = -STACK WIN 4 76c59 b2 8 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76c5f a8 2 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 76c60 a6 1 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 76c61 a4 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 383cf 49 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1bbba ac b 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1bbc5 9d 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 bf64 5 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2f041 131 11 0 c 0 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f052 117 0 0 c 4 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 2f06a ef 0 0 c 8 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 2f06b eb 0 0 c c a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 176 - ^ = -STACK WIN 4 2efb9 83 f 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2efc2 76 6 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2efc8 6f 0 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 11562 17bb 2f 0 10 0 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1157f ee5 12 0 10 4 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 196 - ^ = -STACK WIN 4 11582 19a f 0 10 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 196 - ^ = -STACK WIN 4 11591 18a 0 0 10 c bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 196 - ^ = -STACK WIN 4 39020 385 39 0 18 0 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39045 c8 14 0 18 4 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 39046 c6 13 0 18 8 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 39059 b2 0 0 18 c c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 76d1b 114 13 0 10 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76d2d fe 1 0 10 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76d2e fc 0 0 10 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76e34 3a 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76e3a 30 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b258 159 f 0 4 0 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b266 142 1 0 4 4 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1b267 140 0 0 4 8 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76e73 e22 23 0 c 0 570 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 76e84 d6c 12 0 c 4 570 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1400 - ^ = -STACK WIN 4 76e92 9ea 4 0 c 8 570 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1400 - ^ = -STACK WIN 4 76e96 9e5 0 0 c c 570 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1400 - ^ = -STACK WIN 4 77cf7 f4 1d 0 10 0 428 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 77d0b d7 9 0 10 4 428 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1072 - ^ = -STACK WIN 4 77d0f d2 5 0 10 8 428 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1072 - ^ = -STACK WIN 4 77d14 cc 0 0 10 c 428 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1072 - ^ = -STACK WIN 4 1bcfe f4 1c 0 10 0 428 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1bd12 d7 8 0 10 4 428 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1072 - ^ = -STACK WIN 4 1bd16 d2 4 0 10 8 428 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1072 - ^ = -STACK WIN 4 1bd1a cd 0 0 10 c 428 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1072 - ^ = -STACK WIN 4 15047 f9 7 0 14 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1505b e1 0 0 14 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1505c df 0 0 14 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 77df0 2f 7 0 10 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1734f 4a a 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17358 3d 1 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17359 3b 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 77e24 1a 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17f7d 3f 9 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17f86 32 0 0 18 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 77e43 13f 16 0 c 0 2a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 77e54 125 5 0 c 4 2a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 684 - ^ = -STACK WIN 4 77e58 120 1 0 c 8 2a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 684 - ^ = -STACK WIN 4 77e59 11e 0 0 c c 2a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 684 - ^ = -STACK WIN 4 2ae21 8d 1d 0 8 0 40c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ae3a 64 4 0 8 4 40c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ae3e 5f 0 0 8 8 40c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ac6c c8 10 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ac7a b1 2 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 2ac7b af 1 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 2ac7c ab 0 0 c c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 2b95b af 10 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2b969 98 2 0 8 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 2b96a 96 1 0 8 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 2b96b 94 0 0 8 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 2b883 c6 15 0 0 0 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2b8c4 7b 0 0 0 4 a8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 172de 74 10 0 14 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 172ea 64 4 0 14 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 172ee 5f 0 0 14 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ad98 b5 9 0 8 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ada1 a8 0 0 8 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2adb4 90 0 0 8 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 77f87 60 9 0 8 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 77f90 53 0 0 8 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 77fec 2d5 1d 0 10 0 440 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 77ffd 2bb c 0 10 4 440 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1096 - ^ = -STACK WIN 4 78008 2af 1 0 10 8 440 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1096 - ^ = -STACK WIN 4 78009 2ad 0 0 10 c 440 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1096 - ^ = -STACK WIN 4 782c6 19a 15 0 14 0 e3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 782d7 15b 4 0 14 4 e3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 3652 - ^ = -STACK WIN 4 782db 156 0 0 14 8 e3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 3652 - ^ = -STACK WIN 4 7838b a2 0 0 14 c e3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 3652 - ^ = -STACK WIN 4 2a8fa 221 12 0 10 0 430 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2a90b 1f9 1 0 10 4 430 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2a90c 1f7 0 0 10 8 430 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 37cfc 3ad 22 0 c 0 468 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 37d14 38c a 0 c 4 468 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1136 - ^ = -STACK WIN 4 37d1d 382 1 0 c 8 468 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1136 - ^ = -STACK WIN 4 37d1e 380 0 0 c c 468 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1136 - ^ = -STACK WIN 4 7849b 22b 1d 0 c 0 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 784ac 211 c 0 c 4 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 784ad 20f b 0 c 8 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 784b8 203 0 0 c c 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 38234 726 22 0 18 0 dc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 38248 709 e 0 18 4 dc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 228 - ^ = -STACK WIN 4 38249 707 d 0 18 8 dc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 228 - ^ = -STACK WIN 4 38256 6f9 0 0 18 c dc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 228 - ^ = -STACK WIN 4 38958 2ac 33 0 38 0 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 38970 28b 1b 0 38 4 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 3897a 280 11 0 38 8 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 3898b 26c 0 0 38 c c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 204 - ^ = -STACK WIN 4 786e5 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78703 1c 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2a8dc 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78724 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7873f 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7875a 1e 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7877d 1e 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 388dc df f 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 388e7 d0 4 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 388eb cb 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 38801 15f c 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3880c 150 1 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 3880d 14e 0 0 14 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 388be 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 387e1 1b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 787a0 1b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 787c0 82 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 787e7 29 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 787f2 1d 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78847 389 16 0 14 0 ac 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78858 343 5 0 14 4 ac 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 180 - ^ = -STACK WIN 4 78859 341 4 0 14 8 ac 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 180 - ^ = -STACK WIN 4 7885d 33c 0 0 14 c ac 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 180 - ^ = -STACK WIN 4 78bd9 7e 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78bdf 74 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78c22 30 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3798e da 18 0 4 0 280 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3799f c0 7 0 4 4 280 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 379a6 b8 0 0 4 8 280 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78c5c 150 12 0 4 0 148 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78c6d 136 1 0 4 4 148 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 336 - ^ = -STACK WIN 4 78c6e 134 0 0 4 8 148 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 336 - ^ = -STACK WIN 4 78cb4 ea 0 0 4 c 148 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 336 - ^ = -STACK WIN 4 78db1 7c 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78dd9 4c 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78ddd 47 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78e32 7c 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78e5a 4c 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78e5e 47 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78eb3 c3 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78ef0 7e 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78ef3 7a 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78f7b 127 e 0 10 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 78f88 116 1 0 10 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 78f89 114 0 0 10 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 78fac f0 0 0 10 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 790a7 126 11 0 10 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 790b5 114 3 0 10 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 790b8 110 0 0 10 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 791d2 92 18 0 10 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 791e0 7b a 0 10 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 791e4 76 6 0 10 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 791ea 6f 0 0 10 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 ce53 73 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ce77 40 0 0 18 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ce7b 3b 0 0 18 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2d4ad 1ced 29 0 1c 0 de4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2d4c1 1cd0 15 0 1c 4 de4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 3564 - ^ = -STACK WIN 4 2d4d5 1cbb 1 0 1c 8 de4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 3564 - ^ = -STACK WIN 4 2d4d6 1cb9 0 0 1c c de4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 3564 - ^ = -STACK WIN 4 79269 289 7 0 18 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 79270 27e 0 0 18 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7928e 25e 0 0 18 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 374eb 220 1f 0 18 0 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 374fc 206 e 0 18 4 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3750a 1f7 0 0 18 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 37787 e9 23 0 18 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3779d ca d 0 18 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 377aa bc 0 0 18 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 377d2 55 0 0 18 c 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 794fb 136 5 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7952d ff 0 0 1c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7952e fd 0 0 1c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 79636 188 d 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 79641 179 2 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 79642 177 1 0 14 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 79643 175 0 0 14 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 37693 2ef a 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3769c 2e2 1 0 18 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 3769d 2e0 0 0 18 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 4acfb 1c3 0 0 18 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 cca8 3d3 13 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 ccb4 3c3 7 0 18 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 ccba 3bc 1 0 18 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 ccbb 3ba 0 0 18 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 110cb 48 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 110d1 3e 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9915 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 797c3 17 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 127a7 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b7dc 39 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f540 24 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 797df 82 5 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 79866 56 c 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 79872 46 0 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 798c1 c4 13 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 798cf 67 5 0 1c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 798d0 65 4 0 1c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 798d4 60 0 0 1c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 a1fb 2a0 13 0 18 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a20c 2c 2 0 18 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 a20d 2a 1 0 18 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 a20e 28 0 0 18 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 bd19 4ee 19 0 20 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 bd30 70 2 0 20 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 bd31 6e 1 0 20 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 bd32 48d 0 0 20 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 32cf3 1c3 1b 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32d04 1ae a 0 1c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 32d07 1aa 7 0 1c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 32d0e 1a2 0 0 1c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7998a 6d1 c 0 24 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 79991 6c6 5 0 24 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 79992 6c4 4 0 24 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 79996 6bf 0 0 24 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 7a064 158 19 0 0 0 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a07d 138 0 0 0 4 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a095 11b 0 0 0 8 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 cfd4 281 1c 0 18 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 cfe8 264 8 0 18 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 cfec 25f 4 0 18 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 cff0 25a 0 0 18 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 12e76 244 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12e7c 23a 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12e96 212 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a1cd 2fc 10 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a1d3 2f2 a 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7a1dd 2e7 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7a21d 2a6 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7a4ce 1e2 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a4d4 1d8 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a58b 81 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9bf8 87b 15 0 18 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 9c0c 85e 1 0 18 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 9c0d 85c 0 0 18 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 9c38 81d 0 0 18 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 32c7b 10b f 0 20 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 32c84 41 6 0 20 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 32c85 3f 5 0 20 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 32c8a 39 0 0 20 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 a0d4 3c5 6 0 20 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a0da 3bb 0 0 20 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a0f1 387 0 0 20 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a6b5 1b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7a6e2 1b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 35819 c 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 34474 45 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a712 5c 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 336f6 3a 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 33735 3b 7 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a773 7b e 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7a779 74 8 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 7a77a 72 7 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 7a781 6a 0 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 2f440 58 1c 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f44b 3b 11 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f45c 29 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a7f3 58 9 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a7fa 4d 2 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a81b 23 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 37834 11f 15 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3783c 113 d 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 3783d 111 c 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 3783e 10f b 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 2f40d 7a d 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2f416 6f 4 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 2f417 6d 3 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 2f418 6b 2 0 0 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 7a850 5d 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a856 53 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a874 2c 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 124d1 109 c 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 124d7 ff 6 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 124dc f9 1 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 124dd f7 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 121de fc 3 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 121e1 f8 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1bdd2 1bc 9 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1bdd5 1b8 6 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1bddb 1b1 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a2d4 85 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a2dc 7c 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7a8b2 ab 3 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7a8b5 a7 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7a962 da 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a968 cc 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7a969 ca 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7aa41 25 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7aa6b 25 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7aa95 302 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ee51 3c6 d 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ee57 3bc 7 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2ee5d 3b5 1 0 14 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2ee5e 3b3 0 0 14 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7ad9c 5d 6 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ad9f 59 3 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ada0 57 2 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2c16a 58 4 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2c16d 54 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2c16e 52 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12544 32 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2a5c3 13c 15 0 10 0 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2a5d4 bf 4 0 10 4 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 2a5d8 ba 0 0 10 8 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 2a615 6f 0 0 10 c 228 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 560 - ^ = -STACK WIN 4 12090 cb b 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12096 c1 5 0 1c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1209a bc 1 0 1c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1209b ba 0 0 1c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 14f5c 92 27 0 14 0 40c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 14f83 62 0 0 14 4 40c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 14fbe 16 0 0 14 8 40c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 397f8 1e2 19 0 4 0 644 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39826 1a4 0 0 4 4 644 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39827 1a2 0 0 4 8 644 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 384db f1 15 0 c 0 29c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 384ec d7 4 0 c 4 29c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 676 - ^ = -STACK WIN 4 384f0 d2 0 0 c 8 29c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 676 - ^ = -STACK WIN 4 38518 a3 0 0 c c 29c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 676 - ^ = -STACK WIN 4 3440e 61 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34414 57 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7adfe 7c 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ae04 72 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ae7f de 2d 0 20 0 b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ae9b b9 11 0 20 4 b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 184 - ^ = -STACK WIN 4 7ae9f b4 d 0 20 8 b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 184 - ^ = -STACK WIN 4 7aeac a6 0 0 20 c b0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 184 - ^ = -STACK WIN 4 7af62 72 7 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7afd9 70 1b 0 1c 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7aff4 4c 0 0 1c 4 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3472b 390 15 0 20 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34740 377 0 0 20 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34777 347 0 0 20 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3465d 1d3 43 0 20 0 b8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 34695 182 b 0 20 4 b8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 192 - ^ = -STACK WIN 4 3469c 17a 4 0 20 8 b8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 192 - ^ = -STACK WIN 4 346a0 175 0 0 20 c b8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 192 - ^ = -STACK WIN 4 7b04e 66c 43 0 20 0 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7b086 1c3 b 0 20 4 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 196 - ^ = -STACK WIN 4 7b08d 3aa 4 0 20 8 bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 196 - ^ = -STACK WIN 4 7b091 1b6 0 0 20 c bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 196 - ^ = -STACK WIN 4 344bc 388 3c 0 18 0 378 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 344ea fe e 0 18 4 378 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 896 - ^ = -STACK WIN 4 344f7 f0 1 0 18 8 378 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 896 - ^ = -STACK WIN 4 344f8 ee 0 0 18 c 378 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 896 - ^ = -STACK WIN 4 7b6ca 404 3c 0 18 0 420 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7b6f8 fe e 0 18 4 420 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1064 - ^ = -STACK WIN 4 7b705 f0 1 0 18 8 420 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1064 - ^ = -STACK WIN 4 7b706 ee 0 0 18 c 420 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1064 - ^ = -STACK WIN 4 3414d 30 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 339dc 69 9 0 4 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 339e5 5c 0 0 4 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7bad3 96 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7bb13 4e 0 0 18 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7bb6e e6 f 0 c 0 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7bb7b d5 2 0 c 4 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 7bb7c d3 1 0 c 8 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 7bb7d cf 0 0 c c 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 7bc59 17d e 0 4 0 274 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7bc65 168 2 0 4 4 274 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 636 - ^ = -STACK WIN 4 7bc66 166 1 0 4 8 274 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 636 - ^ = -STACK WIN 4 7bc67 164 0 0 4 c 274 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 636 - ^ = -STACK WIN 4 7be1b 63 a 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7be24 56 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7be25 52 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7be83 c5 1d 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7bef3 35 0 0 c 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 335d4 33 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 33ec8 a54 4c 0 14 0 508 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 33eef a20 25 0 14 4 508 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1296 - ^ = -STACK WIN 4 33efe a10 16 0 14 8 508 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1296 - ^ = -STACK WIN 4 33f14 9f9 0 0 14 c 508 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1296 - ^ = -STACK WIN 4 7bf4d fd 18 0 8 0 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7bf56 f0 f 0 8 4 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 7bf64 dd 1 0 8 8 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 7bf65 d7 0 0 8 c 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 7c04f 1d2 11 0 8 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7c058 1c5 8 0 8 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 7c059 1c3 7 0 8 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 7c060 1bb 0 0 8 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 7c86f 235 18 0 c 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7c887 1f0 0 0 c 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 7c8a5 1ce 0 0 c 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 7c8a6 1cc 0 0 c c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 44 - ^ = -STACK WIN 4 33fd3 1f2 25 0 18 0 2bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 33fea 17a e 0 18 4 2bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 708 - ^ = -STACK WIN 4 33ff4 16f 4 0 18 8 2bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 708 - ^ = -STACK WIN 4 33ff8 16a 0 0 18 c 2bc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 708 - ^ = -STACK WIN 4 33a4a 8c9 30 0 20 0 258 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 33a6c 50 e 0 20 4 258 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 608 - ^ = -STACK WIN 4 33a70 4b a 0 20 8 258 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 608 - ^ = -STACK WIN 4 33a7a 578 0 0 20 c 258 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 608 - ^ = -STACK WIN 4 33775 3fb 38 0 18 0 2d8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 3379f 308 e 0 18 4 2d8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 736 - ^ = -STACK WIN 4 337a3 303 a 0 18 8 2d8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 736 - ^ = -STACK WIN 4 337ad 2f8 0 0 18 c 2d8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 736 - ^ = -STACK WIN 4 c0ed 74 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 17fc1 82 9 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 17fc8 7a 2 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 17fc9 78 1 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 17fca 76 0 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1805b 46 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 38617 37 9 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 38620 13 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7caa9 a6 9 0 0 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7cab1 9c 1 0 0 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7cab2 98 0 0 0 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a557 9b e 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 a565 8b 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17395 78 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7cb54 b5 1a 0 8 0 404 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7cb6d 93 1 0 8 4 404 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1036 - ^ = -STACK WIN 4 7cb6e 8f 0 0 8 8 404 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1036 - ^ = -STACK WIN 4 7cba2 57 0 0 8 c 404 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 1036 - ^ = -STACK WIN 4 188fc 146 7 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 18902 13c 1 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 18903 13a 0 0 14 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1892c 10c 0 0 14 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 16ea9 130 f 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 16eb6 11f 2 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 16eb7 11d 1 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 16eb8 11b 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 336b6 9d e 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 336c4 8b 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 336d0 7d 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 336dd 6f 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7cc2b 112 17 0 4 0 428 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7cc42 f2 0 0 4 4 428 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7cc60 d0 0 0 4 8 428 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7cd42 7f 7 0 0 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7cdc6 53 17 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7cdcc 49 11 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7cdd4 40 9 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7cddd 36 0 0 4 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7ce1e 8d e 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ce30 76 0 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ce35 70 0 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 184dc db 12 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 184e6 cd 8 0 c 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 184e9 c9 5 0 c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 18504 ad 0 0 c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 7ceb0 9e d 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7cebb 8f 2 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7cebc 8d 1 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7cebd 8b 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7cf53 2d 7 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 183fe 1fb 15 0 8 0 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1840f 1e1 4 0 8 4 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 172 - ^ = -STACK WIN 4 18413 1dc 0 0 8 8 a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 172 - ^ = -STACK WIN 4 1844e 196 0 0 8 c a4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 172 - ^ = -STACK WIN 4 3996f 176 1c 0 8 0 a0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 39980 15c b 0 8 4 a0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 168 - ^ = -STACK WIN 4 39984 157 7 0 8 8 a0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 168 - ^ = -STACK WIN 4 3998b 14f 0 0 8 c a0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 168 - ^ = -STACK WIN 4 1831e 16a b 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 18328 15c 1 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 18329 15a 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 d1ae 89 1e 0 0 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 d1b6 7f 16 0 0 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 d1c9 69 3 0 0 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 150c2 d6 20 0 0 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 150ca 9c 18 0 0 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 150cb 9a 17 0 0 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 150df 85 3 0 0 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 7cf85 204 16 0 8 0 a0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7cf96 1ea 5 0 8 4 a0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 168 - ^ = -STACK WIN 4 7cf9a 1e5 1 0 8 8 a0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 168 - ^ = -STACK WIN 4 7cf9b 1e3 0 0 8 c a0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 168 - ^ = -STACK WIN 4 7d1b9 88 8 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 18297 9a e 0 10 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 182a5 88 0 0 10 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7d246 f5 24 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7d24f a2 1b 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 7d250 a0 1a 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 7d267 88 3 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 7d340 65 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7d3aa ff 1d 0 14 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7d3bd e8 a 0 14 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 7d3be e6 9 0 14 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 7d3c7 dc 0 0 14 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 7d4ae 101 e 0 18 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7d4b7 f4 5 0 18 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 7d4b8 f2 4 0 18 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 7d4bc ed 0 0 18 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 17210 6e a 0 0 0 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17219 63 1 0 0 4 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 1721a 5f 0 0 0 8 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7d5b4 a0 a 0 0 0 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7d5bd 95 1 0 0 4 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 72 - ^ = -STACK WIN 4 7d5be 93 0 0 0 8 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 72 - ^ = -STACK WIN 4 7d615 23 0 0 0 c 40 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 72 - ^ = -STACK WIN 4 2a25d 2a9 b 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2a268 26e 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2a41a 113 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7d659 5a 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7d65f 50 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7d690 1c 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2a855 82 14 0 10 0 21c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2a869 65 0 0 10 4 21c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 11fff 23f 9 0 18 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 12006 234 2 0 18 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 12007 232 1 0 18 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 12008 230 0 0 18 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 2a532 8e 13 0 4 0 ac 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2a543 74 2 0 4 4 ac 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 180 - ^ = -STACK WIN 4 2a544 70 1 0 4 8 ac 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 180 - ^ = -STACK WIN 4 2a545 6e 0 0 4 c ac 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 180 - ^ = -STACK WIN 4 7d6b7 a9 15 0 c 0 c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7d6c8 8f 4 0 c 4 c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 208 - ^ = -STACK WIN 4 7d6cc 8a 0 0 c 8 c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 208 - ^ = -STACK WIN 4 7d700 40 0 0 c c c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 208 - ^ = -STACK WIN 4 16ff1 9a 16 0 8 0 c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 17002 80 5 0 8 4 c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 208 - ^ = -STACK WIN 4 17003 7e 4 0 8 8 c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 208 - ^ = -STACK WIN 4 17007 79 0 0 8 c c8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 208 - ^ = -STACK WIN 4 7d765 25f 2b 0 1c 0 dc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7d77f 12f 11 0 1c 4 dc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 228 - ^ = -STACK WIN 4 7d78c 121 4 0 1c 8 dc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 228 - ^ = -STACK WIN 4 7d790 11c 0 0 1c c dc 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 228 - ^ = -STACK WIN 4 7d9c9 40 21 0 0 0 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7da0e 6c 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7da14 62 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7da47 15 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7da7f 13e b 0 10 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7da86 12e 4 0 10 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 7da89 12a 1 0 10 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 7da8a 128 0 0 10 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 31054 21d 13 0 14 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 31060 20d 7 0 14 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 31064 208 3 0 14 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 31067 204 0 0 14 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 7dc45 196 16 0 10 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7dc4c 17a f 0 10 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 7dc52 173 9 0 10 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 7dc5b 169 0 0 10 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 21523 2c6 d 0 10 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2152e 2b7 2 0 10 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 2152f 2b5 1 0 10 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 21530 2b3 0 0 10 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 30f99 bb 9 0 18 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 30fa0 b0 2 0 18 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 30fa1 ae 1 0 18 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 30fa2 ac 0 0 18 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 215f5 a1 13 0 20 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 215fc 96 c 0 20 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 215fd 94 b 0 20 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 21608 88 0 0 20 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 2ad39 5a 17 0 c 0 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 2ad50 3a 0 0 c 4 c4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7dead b 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7debd e1 1a 0 4 0 118 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7df16 75 0 0 4 4 118 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7df17 73 0 0 4 8 118 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7dfad 84 13 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7dfc0 6d 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7dfcd 5b 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e036 44 c 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e041 35 1 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7e042 31 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7e04a 28 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7e07f 47 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e085 3d 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e0cb 1f e 0 14 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e0ef 1f e 0 18 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e113 1f e 0 18 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e137 1f e 0 14 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e15b b 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e16b f 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e17f f 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e193 f 0 0 28 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e1a7 f 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e1bb f 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e1cf f 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ddf5 4 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e1e3 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e1ec 8 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e1f9 15 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e213 15 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e22d 15 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e247 2f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e27b 19 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e299 d 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e2ab d 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e2bd d 0 0 24 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e2cf 14 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e2e8 4 0 0 2c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e2f1 10 5 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e306 8 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e313 5 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e31d 18 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e33a c 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e34b 5 0 0 28 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e355 8 0 0 28 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e362 5 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e36c c 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e37d 6 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e388 6 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e393 6 0 0 20 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e39e 6 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14ae7 6 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e3a9 6 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e3b4 6 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e3bf 6 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e3ca 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e3e8 8 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e3f5 21 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e41b 1b 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e43b 6 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e446 11 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e45c 8 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e469 c 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e47a a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e489 8 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e496 5 0 0 20 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e4a0 c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e4b1 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e4be c 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e4cf c 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e4e0 c 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e4f1 1d 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e513 1e 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e536 c 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e547 e 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e55a c 0 0 28 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e56b 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e593 8 0 0 28 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e5a0 17 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e5bc 8 0 0 34 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e5c9 5 0 0 28 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e5d3 5 0 0 24 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e5dd 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e5f5 a 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e604 c 0 0 30 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e615 d 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e627 14 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e640 14 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e659 8 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e666 14 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e67f 18 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e69c 8 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e6a9 8 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e6b6 8 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e6c3 6 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e6ed 18 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e728 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 cc97 c 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e735 8 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e742 c 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e753 f 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e767 10 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e77c 12 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e793 14 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e7ac c 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e7bd 1b 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e7dd 10 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e7f2 6 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e7fd 6 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e808 14 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e821 15 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e83b 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e848 5 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e878 5 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e88d 5 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 260c2 5 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e897 c 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e8a8 5 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e8b2 5 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e8bc 14 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e8d5 14 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e8ee 14 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e907 15 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e90d b 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e921 1f 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e945 c 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e956 14 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e96f 19 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e975 f 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e98d 3 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e995 14 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e9ae 8 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e9bb 1a 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7e9da 8 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e9e7 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7e9f0 14 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ea09 14 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ea22 19 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ea40 8 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ea4d 5 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ea57 6 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ea62 6 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ea6d 6 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ea78 6 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ea83 6 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ea8e 6 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ea99 6 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eaa4 6 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eaaf 12 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7eac6 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eacf c 0 0 20 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eae0 d 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eaf2 d 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eb04 b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eb14 23 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7eb3c d 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eb4e d 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eb60 5 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eb6a 8 0 0 38 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eb77 5 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eb81 6 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eb8c 8 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ebbe 8 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ebcb 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ebd8 8 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ebe5 8 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ebf2 8 0 0 24 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ebff 8 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ec0c 8 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ec19 3 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ec21 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ec2e 19 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ec34 f 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ec4c 8 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ec59 3 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ec61 15 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ec7b 18 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ec98 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eca1 19 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ecbf 8 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eccc 8 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ecd9 8 0 0 24 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ece6 8 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ed3f 3 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ed47 8 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ed54 5 0 0 38 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ed69 10 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ed7e 15 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ed98 8 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eda5 8 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7edb2 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7edbf 8 0 0 2c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7edcc 8 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7edd9 8 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ede6 8 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7edf3 14 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ee0c 14 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ee25 19 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ee2b f 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ee43 19 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ee49 f 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ee61 6 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ee6c 8 0 0 20 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ee79 8 0 0 20 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ee86 8 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ee93 8 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eea0 8 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eead 6 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eeb8 8 0 0 24 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eec5 8 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eed2 8 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eedf 8 0 0 20 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eeec 14 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ef05 14 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ef1e 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ef29 14 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ef42 14 5 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ef5b 1b 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ef61 11 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ef7b 14 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ef94 7 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7efa0 7 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7efac 7 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7efb8 7 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7efc4 7 0 0 28 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7efd0 7 0 0 20 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7efdc 6 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7efe7 6 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7eff2 12 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f009 12 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f020 19 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f03e f 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f052 3 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f05a 3 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f062 6 0 0 2c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f06d 6 0 0 30 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f078 3 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f093 18 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f0b0 6 0 0 20 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f0bb 5 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f0c5 6 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f0f5 3 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f0fd 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f108 18 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f125 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f132 5 0 0 2c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f13c 6 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f147 6 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f152 6 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f17e 18 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f19b c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f1ac 6 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f1d0 6 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f1db 6 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f1e6 6 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f1f1 6 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f1fe 1 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f204 c 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f215 6 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f220 16 5 0 20 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f23b 6 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f246 6 0 0 24 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f251 6 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f25c 18 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f279 18 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f296 27 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f2c2 6 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f2cd 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f2da 6 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f2e5 8 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f309 30 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f317 1b 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f31a 15 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f33e 3a 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f356 1b 0 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f359 15 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f37d 3e 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f399 1b 0 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f39c 15 0 0 14 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f3c0 7 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f3cc 7 0 0 24 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f3d8 1b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f3f8 1b 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f418 16 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f433 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f44e 16 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f469 16 5 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f484 16 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f49f 6 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f4aa 6 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f4b5 6 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f4c0 6 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f4cb 16 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f4e6 17 5 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f502 6 0 0 24 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f50d 6 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f518 19 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f51e f 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f536 6 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f541 16 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f55c 6 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f567 16 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f582 16 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f59d c 0 0 24 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f5ae 6 0 0 1c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f5b9 6 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f5c4 6 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f5cf 6 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f5da 6 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f5e5 6 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f5f0 6 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f5fb 6 0 0 20 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f606 f 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f61a f 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f62e d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f640 10 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f655 f 0 0 18 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f669 f 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f67d f 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f691 f 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f6a5 8 0 0 5c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f6b2 c 0 0 2c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f6c3 6 0 0 28 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f6ce 6 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f6d9 5 0 0 30 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f6e3 13 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f6fb 12 5 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f712 1a 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f731 8 0 0 20 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f73e 22 5 0 30 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f765 18 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f782 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f78f 20 5 0 24 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f7b4 16 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f7cf 20 5 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f7f4 16 5 0 20 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f80f 15 5 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f829 18 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f846 8 0 0 14 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f95b 222 a 0 4 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7f964 217 1 0 4 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 7f965 215 0 0 4 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 7f994 1e5 0 0 4 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 7fb8d ae 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fb93 a0 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fbdd 55 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fc40 12 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7fc57 49 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fc5d 3f 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fca5 b9 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fcab af 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7fcdd 7c 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7fceb 6d 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7fd63 b9 13 0 c 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fd71 a2 5 0 c 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 7fd72 a0 4 0 c 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 7fd76 9b 0 0 c c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 7fe21 30 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fe56 47 a 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fe5c 3d 4 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fe60 38 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fea2 30 5 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fed7 41 6 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fedd 37 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ff1d 5a 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ff23 50 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ff24 4e 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ff89 65 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7ff8f 5b 1 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7ff90 57 0 0 4 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 7fff3 104 a 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fff9 fa 4 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 7fffd f5 0 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 800fc 45 8 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 80146 ae 16 0 c 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 80154 97 8 0 c 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 80158 92 4 0 c 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 8015c 8d 0 0 c c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 801f9 3f 12 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 80207 28 4 0 4 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 8020b 22 0 0 4 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 80246 262 c 0 18 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 8024d 257 5 0 18 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 8024e 255 4 0 18 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 80252 250 0 0 18 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 804ad 75 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 804b3 6b 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 80527 4d 7 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 8052d 43 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 8052e 41 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 80579 5e 7 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 805dc 5e 7 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 8063f 2f e 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 4 8064d 1d 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 4 + .cbParams + = -STACK WIN 0 17826 35 0 0 0 0 0 0 0 0 -STACK WIN 0 558b4 e 0 0 0 0 0 0 0 0 -STACK WIN 0 39bc8 e 0 0 0 0 0 0 0 0 -STACK WIN 0 30769 a 0 0 0 0 0 0 0 0 -STACK WIN 0 b722 20 0 0 0 0 0 0 0 0 -STACK WIN 0 1b069 a1 0 0 0 0 0 0 0 0 -STACK WIN 0 17860 24 0 0 0 0 0 0 0 0 -STACK WIN 0 1795e 89 3 0 0 0 0 0 0 0 -STACK WIN 0 39e42 e 0 0 0 0 0 0 0 0 -STACK WIN 0 39ea2 e 0 0 0 0 0 0 0 0 -STACK WIN 0 39eca e 0 0 0 0 0 0 0 0 -STACK WIN 0 1717 4 0 0 0 0 0 0 0 0 -STACK WIN 0 39f0b e 0 0 0 0 0 0 0 0 -STACK WIN 0 39f69 e 0 0 0 0 0 0 0 0 -STACK WIN 0 55abf e 0 0 0 0 0 0 0 0 -STACK WIN 0 55b65 e 0 0 0 0 0 0 0 0 -STACK WIN 0 3a7c5 e 0 0 0 0 0 0 0 0 -STACK WIN 0 3a824 e 0 0 0 0 0 0 0 0 -STACK WIN 0 3a86a 19 0 0 0 0 0 0 0 0 -STACK WIN 0 3a94d e 0 0 0 0 0 0 0 0 -STACK WIN 0 3a995 19 0 0 0 0 0 0 0 0 -STACK WIN 0 3a9c6 e 0 0 0 0 0 0 0 0 -STACK WIN 0 3aa01 4 0 0 0 0 0 0 0 0 -STACK WIN 0 3aa1d e 0 0 0 0 0 0 0 0 -STACK WIN 0 2c86d 29 0 0 0 0 0 0 0 0 -STACK WIN 0 3aad0 4 0 0 0 0 0 0 0 0 -STACK WIN 0 3ab10 11 0 0 0 0 0 0 0 0 -STACK WIN 0 3abe7 7a 0 0 0 0 0 0 0 0 -STACK WIN 0 98eb 4 0 0 0 0 0 0 0 0 -STACK WIN 0 9766 11 0 0 4 0 0 0 0 0 -STACK WIN 0 977a 11 0 0 4 0 0 0 0 0 -STACK WIN 0 978e 13 0 0 8 0 0 0 0 0 -STACK WIN 0 97a2 13 0 0 c 0 0 0 0 0 -STACK WIN 0 97b6 f 0 0 8 0 0 0 0 0 -STACK WIN 0 97c6 120 0 0 c 0 0 0 0 0 -STACK WIN 0 2ff92 18 0 0 0 0 0 0 0 0 -STACK WIN 0 929c f 0 0 0 0 0 0 0 0 -STACK WIN 0 13093 e 0 0 0 0 0 0 0 0 -STACK WIN 0 59b72 5 0 0 0 0 0 0 0 0 -STACK WIN 0 59dd6 4 0 0 0 0 0 0 0 0 -STACK WIN 0 59f9f 14 0 0 0 0 0 0 0 0 -STACK WIN 0 30cce 1c 0 0 0 0 0 0 0 0 -STACK WIN 0 1c858 6a 3 0 0 0 0 0 0 0 -STACK WIN 0 3bde2 e 0 0 0 0 0 0 0 0 -STACK WIN 0 3c06f 15 0 0 0 0 0 0 0 0 -STACK WIN 0 5c223 1e 0 0 0 0 0 0 0 0 -STACK WIN 0 3c77a 2c 0 0 0 0 0 0 0 0 -STACK WIN 0 f049 e 0 0 0 0 0 0 0 0 -STACK WIN 0 3c85e e 0 0 0 0 0 0 0 0 -STACK WIN 0 18ef e 0 0 0 0 0 0 0 0 -STACK WIN 0 1921 4 0 0 0 0 0 0 0 0 -STACK WIN 0 3cac5 4 0 0 0 0 0 0 0 0 -STACK WIN 0 5c6de b 0 0 0 0 0 0 0 0 -STACK WIN 0 5cbad 1 0 0 0 0 0 0 0 0 -STACK WIN 0 5d0d4 1 0 0 0 0 0 0 0 0 -STACK WIN 0 5d2ff 39 0 0 0 0 0 0 0 0 -STACK WIN 0 1f951 3c 0 0 0 0 0 0 0 0 -STACK WIN 0 3d377 4 0 0 0 0 0 0 0 0 -STACK WIN 0 5d93e 4d 0 0 0 0 0 0 0 0 -STACK WIN 0 5de3f 1a 0 0 0 0 0 0 0 0 -STACK WIN 0 5e00f 1 0 0 0 0 0 0 0 0 -STACK WIN 0 3d7a4 10 0 0 0 0 0 0 0 0 -STACK WIN 0 3d9cf 10 0 0 0 0 0 0 0 0 -STACK WIN 0 3e895 11 0 0 0 0 0 0 0 0 -STACK WIN 0 3eadf ab 0 0 0 0 0 0 0 0 -STACK WIN 0 3f743 134 0 0 0 0 0 0 0 0 -STACK WIN 0 3ffbd 3e 0 0 0 0 0 0 0 0 -STACK WIN 0 27b99 1d 0 0 0 0 0 0 0 0 -STACK WIN 0 200d1 1d 0 0 0 0 0 0 0 0 -STACK WIN 0 40019 e 0 0 0 0 0 0 0 0 -STACK WIN 0 401f7 e 0 0 0 0 0 0 0 0 -STACK WIN 0 40258 e 0 0 0 0 0 0 0 0 -STACK WIN 0 4029c e 0 0 0 0 0 0 0 0 -STACK WIN 0 402de e 0 0 0 0 0 0 0 0 -STACK WIN 0 40327 e 0 0 0 0 0 0 0 0 -STACK WIN 0 403bd e 0 0 0 0 0 0 0 0 -STACK WIN 0 40414 e 0 0 0 0 0 0 0 0 -STACK WIN 0 4043c e 0 0 0 0 0 0 0 0 -STACK WIN 0 5e670 11 0 0 4 0 0 0 0 0 -STACK WIN 0 404b7 e 0 0 0 0 0 0 0 0 -STACK WIN 0 1d07e 8 0 0 0 0 0 0 0 0 -STACK WIN 0 365f6 b 0 0 0 0 0 0 0 0 -STACK WIN 0 3594f 6 0 0 0 0 0 0 0 0 -STACK WIN 0 17443 11 0 0 0 0 0 0 0 0 -STACK WIN 0 407a9 4 0 0 0 0 0 0 0 0 -STACK WIN 0 407c5 4 0 0 0 0 0 0 0 0 -STACK WIN 0 407e1 4 0 0 0 0 0 0 0 0 -STACK WIN 0 407fd 4 0 0 0 0 0 0 0 0 -STACK WIN 0 40817 4 0 0 0 0 0 0 0 0 -STACK WIN 0 40833 4 0 0 0 0 0 0 0 0 -STACK WIN 0 4084f 4 0 0 0 0 0 0 0 0 -STACK WIN 0 40892 e 0 0 0 0 0 0 0 0 -STACK WIN 0 5e882 11 0 0 8 0 0 0 0 0 -STACK WIN 0 abc1 d 0 0 0 0 0 0 0 0 -STACK WIN 0 40a26 16 0 0 0 0 0 0 0 0 -STACK WIN 0 40b63 e 0 0 0 0 0 0 0 0 -STACK WIN 0 40c62 17 0 0 0 0 0 0 0 0 -STACK WIN 0 111da 31 0 0 0 0 0 0 0 0 -STACK WIN 0 5eee3 8 0 0 c 0 0 0 0 0 -STACK WIN 0 1c8c e 0 0 0 0 0 0 0 0 -STACK WIN 0 40cf3 e 0 0 0 0 0 0 0 0 -STACK WIN 0 40d2a e 0 0 0 0 0 0 0 0 -STACK WIN 0 40d78 e 0 0 0 0 0 0 0 0 -STACK WIN 0 40da4 e 0 0 0 0 0 0 0 0 -STACK WIN 0 40dd0 e 0 0 0 0 0 0 0 0 -STACK WIN 0 40e00 e 0 0 0 0 0 0 0 0 -STACK WIN 0 5f1bf e 0 0 0 0 0 0 0 0 -STACK WIN 0 5f3e0 e 0 0 0 0 0 0 0 0 -STACK WIN 0 40e66 e 0 0 0 0 0 0 0 0 -STACK WIN 0 40e92 e 0 0 0 0 0 0 0 0 -STACK WIN 0 5f5c9 e 0 0 0 0 0 0 0 0 -STACK WIN 0 5f72a e 0 0 0 0 0 0 0 0 -STACK WIN 0 5f9fa 4 0 0 0 0 0 0 0 0 -STACK WIN 0 5fa2d 1e 0 0 0 0 0 0 0 0 -STACK WIN 0 40faa 4 0 0 0 0 0 0 0 0 -STACK WIN 0 40fe6 4 0 0 0 0 0 0 0 0 -STACK WIN 0 5fc02 9 0 0 0 0 0 0 0 0 -STACK WIN 0 11419 21 0 0 0 0 0 0 0 0 -STACK WIN 0 4171b 4 0 0 0 0 0 0 0 0 -STACK WIN 0 41748 48 0 0 0 0 0 0 0 0 -STACK WIN 0 607cb 30 0 0 0 0 0 0 0 0 -STACK WIN 0 418d1 3f 0 0 0 0 0 0 0 0 -STACK WIN 0 60b60 a 0 0 0 0 0 0 0 0 -STACK WIN 0 60bbf f 0 0 8 0 0 0 0 0 -STACK WIN 0 41b32 7 0 0 0 0 0 0 0 0 -STACK WIN 0 21af 7 0 0 0 0 0 0 0 0 -STACK WIN 0 12f1d 6 0 0 0 0 0 0 0 0 -STACK WIN 0 16f83 6 0 0 0 0 0 0 0 0 -STACK WIN 0 12f08 10 0 0 0 0 0 0 0 0 -STACK WIN 0 9920 a 0 0 0 0 0 0 0 0 -STACK WIN 0 41c56 4 0 0 0 0 0 0 0 0 -STACK WIN 0 41c70 4 0 0 0 0 0 0 0 0 -STACK WIN 0 41c8a 4 0 0 0 0 0 0 0 0 -STACK WIN 0 41ca4 4 0 0 0 0 0 0 0 0 -STACK WIN 0 41dcc 10 0 0 0 0 0 0 0 0 -STACK WIN 0 43025 4 0 0 0 0 0 0 0 0 -STACK WIN 0 1e017 2eb 0 0 0 0 0 0 0 0 -STACK WIN 0 43374 14 0 0 0 0 0 0 0 0 -STACK WIN 0 434b2 17 0 0 0 0 0 0 0 0 -STACK WIN 0 434e5 60 0 0 0 0 0 0 0 0 -STACK WIN 0 61723 e 0 0 0 0 0 0 0 0 -STACK WIN 0 435d2 e 0 0 0 0 0 0 0 0 -STACK WIN 0 132ee 6 0 0 0 0 0 0 0 0 -STACK WIN 0 617fd e 0 0 0 0 0 0 0 0 -STACK WIN 0 436ca 11 0 0 0 0 0 0 0 0 -STACK WIN 0 437f5 10 0 0 0 0 0 0 0 0 -STACK WIN 0 438be 4a 0 0 0 0 0 0 0 0 -STACK WIN 0 31d8e f 0 0 0 0 0 0 0 0 -STACK WIN 0 1a834 36 0 0 0 0 0 0 0 0 -STACK WIN 0 2610 b 0 0 0 0 0 0 0 0 -STACK WIN 0 36759 b 0 0 0 0 0 0 0 0 -STACK WIN 0 951a b 0 0 0 0 0 0 0 0 -STACK WIN 0 2432 b 0 0 0 0 0 0 0 0 -STACK WIN 0 61a61 b 0 0 0 0 0 0 0 0 -STACK WIN 0 1746c 23 0 0 0 0 0 0 0 0 -STACK WIN 0 17459 10e 0 0 0 0 0 0 0 0 -STACK WIN 0 1efce 12 0 0 0 0 0 0 0 0 -STACK WIN 0 129f9 b 0 0 0 0 0 0 0 0 -STACK WIN 0 44733 c 0 0 0 0 0 0 0 0 -STACK WIN 0 9728 a 0 0 0 0 0 0 0 0 -STACK WIN 0 62be6 4 0 0 0 0 0 0 0 0 -STACK WIN 0 448d9 a 0 0 0 0 0 0 0 0 -STACK WIN 0 13771 7 0 0 0 0 0 0 0 0 -STACK WIN 0 2c151 14 0 0 0 0 0 0 0 0 -STACK WIN 0 2fed7 40 0 0 0 0 0 0 0 0 -STACK WIN 0 32992 13 0 0 0 0 0 0 0 0 -STACK WIN 0 63421 4 0 0 0 0 0 0 0 0 -STACK WIN 0 6362b 4 0 0 0 0 0 0 0 0 -STACK WIN 0 636d3 4 0 0 0 0 0 0 0 0 -STACK WIN 0 6452a e 0 0 0 0 0 0 0 0 -STACK WIN 0 6665c 1c 0 0 0 0 0 0 0 0 -STACK WIN 0 66682 b 0 0 0 0 0 0 0 0 -STACK WIN 0 66801 3b 0 0 0 0 0 0 0 0 -STACK WIN 0 66918 1a 0 0 0 0 0 0 0 0 -STACK WIN 0 669cd 3b 0 0 0 0 0 0 0 0 -STACK WIN 0 66ae8 1a 0 0 0 0 0 0 0 0 -STACK WIN 0 66b9d 3b 0 0 0 0 0 0 0 0 -STACK WIN 0 66cbf 1a 0 0 0 0 0 0 0 0 -STACK WIN 0 67093 11 0 0 0 0 0 0 0 0 -STACK WIN 0 675f4 11 0 0 0 0 0 0 0 0 -STACK WIN 0 677e9 11 0 0 0 0 0 0 0 0 -STACK WIN 0 67941 11 0 0 0 0 0 0 0 0 -STACK WIN 0 67dd6 2c 0 0 0 0 0 0 0 0 -STACK WIN 0 1f571 50 0 0 0 0 0 0 0 0 -STACK WIN 0 68496 4a 0 0 0 0 0 0 0 0 -STACK WIN 0 1366c 45 0 0 0 0 0 0 0 0 -STACK WIN 0 29b93 127 0 0 0 0 0 0 0 0 -STACK WIN 0 44db3 55 0 0 0 0 0 0 0 0 -STACK WIN 0 68734 55 0 0 0 0 0 0 0 0 -STACK WIN 0 69ce0 21 0 0 0 0 0 0 0 0 -STACK WIN 0 69e0e 21 0 0 0 0 0 0 0 0 -STACK WIN 0 69f2a 21 0 0 0 0 0 0 0 0 -STACK WIN 0 6a054 21 0 0 0 0 0 0 0 0 -STACK WIN 0 453fe 21 0 0 0 0 0 0 0 0 -STACK WIN 0 6a220 21 0 0 0 0 0 0 0 0 -STACK WIN 0 6a339 21 0 0 0 0 0 0 0 0 -STACK WIN 0 6a4e8 11 0 0 0 0 0 0 0 0 -STACK WIN 0 6a4fe c7 0 0 0 0 0 0 0 0 -STACK WIN 0 6a5ca 3e 0 0 0 0 0 0 0 0 -STACK WIN 0 6b5b5 48 0 0 0 0 0 0 0 0 -STACK WIN 0 6b683 c 0 0 4 0 0 0 0 0 -STACK WIN 0 2146c c 0 0 8 0 0 0 0 0 -STACK WIN 0 6b694 a 0 0 0 0 0 0 0 0 -STACK WIN 0 45f23 e 0 0 0 0 0 0 0 0 -STACK WIN 0 165e9 13 0 0 0 0 0 0 0 0 -STACK WIN 0 46631 e 0 0 0 0 0 0 0 0 -STACK WIN 0 46678 4 0 0 0 0 0 0 0 0 -STACK WIN 0 466a9 4 0 0 0 0 0 0 0 0 -STACK WIN 0 466d4 4 0 0 0 0 0 0 0 0 -STACK WIN 0 6bc8a 4 0 0 0 0 0 0 0 0 -STACK WIN 0 6be06 7f 3 0 0 0 0 0 0 0 -STACK WIN 0 6fe04 4 0 0 0 0 0 0 0 0 -STACK WIN 0 189fc 28 0 0 0 0 0 0 0 0 -STACK WIN 0 6ff09 4 0 0 0 0 0 0 0 0 -STACK WIN 0 70245 8 0 0 0 0 0 0 0 0 -STACK WIN 0 70252 8 0 0 0 0 0 0 0 0 -STACK WIN 0 70362 4 0 0 0 0 0 0 0 0 -STACK WIN 0 704cb 4 0 0 0 0 0 0 0 0 -STACK WIN 0 70927 4 0 0 0 0 0 0 0 0 -STACK WIN 0 4677c 4 0 0 0 0 0 0 0 0 -STACK WIN 0 70a99 4 0 0 0 0 0 0 0 0 -STACK WIN 0 467de 4 0 0 0 0 0 0 0 0 -STACK WIN 0 70b3f c 0 0 0 0 0 0 0 0 -STACK WIN 0 1b3c1 c 0 0 0 0 0 0 0 0 -STACK WIN 0 4687c 4 0 0 0 0 0 0 0 0 -STACK WIN 0 70fe7 12 0 0 0 0 0 0 0 0 -STACK WIN 0 7108d 4f 4 0 0 0 0 0 0 0 -STACK WIN 0 712e3 17 0 0 0 0 0 0 0 0 -STACK WIN 0 714d7 c 0 0 0 0 0 0 0 0 -STACK WIN 0 715db c 0 0 0 0 0 0 0 0 -STACK WIN 0 715f9 6 0 0 0 0 0 0 0 0 -STACK WIN 0 468d9 4 0 0 0 0 0 0 0 0 -STACK WIN 0 468e9 4 0 0 0 0 0 0 0 0 -STACK WIN 0 71674 4 0 0 0 0 0 0 0 0 -STACK WIN 0 46968 4 0 0 0 0 0 0 0 0 -STACK WIN 0 7189d 11 0 0 0 0 0 0 0 0 -STACK WIN 0 7199c 4 0 0 0 0 0 0 0 0 -STACK WIN 0 71be9 4 0 0 0 0 0 0 0 0 -STACK WIN 0 71ca8 4 0 0 0 0 0 0 0 0 -STACK WIN 0 469a3 4 0 0 0 0 0 0 0 0 -STACK WIN 0 72188 4 0 0 0 0 0 0 0 0 -STACK WIN 0 7236f 4 0 0 0 0 0 0 0 0 -STACK WIN 0 7237f 4 0 0 0 0 0 0 0 0 -STACK WIN 0 72787 4 0 0 0 0 0 0 0 0 -STACK WIN 0 72aa3 4 0 0 0 0 0 0 0 0 -STACK WIN 0 72c86 4 0 0 0 0 0 0 0 0 -STACK WIN 0 72e4c 4 0 0 0 0 0 0 0 0 -STACK WIN 0 72e5c 4 0 0 0 0 0 0 0 0 -STACK WIN 0 72fbb 4 0 0 0 0 0 0 0 0 -STACK WIN 0 7314a 4 0 0 0 0 0 0 0 0 -STACK WIN 0 731c9 4 0 0 0 0 0 0 0 0 -STACK WIN 0 732a4 4 0 0 0 0 0 0 0 0 -STACK WIN 0 73326 4 0 0 0 0 0 0 0 0 -STACK WIN 0 73432 4 0 0 0 0 0 0 0 0 -STACK WIN 0 735db 4 0 0 0 0 0 0 0 0 -STACK WIN 0 73692 4 0 0 0 0 0 0 0 0 -STACK WIN 0 73748 4 0 0 0 0 0 0 0 0 -STACK WIN 0 73854 4 0 0 0 0 0 0 0 0 -STACK WIN 0 739d1 4 0 0 0 0 0 0 0 0 -STACK WIN 0 73d11 4 0 0 0 0 0 0 0 0 -STACK WIN 0 73de7 4 0 0 0 0 0 0 0 0 -STACK WIN 0 73ee3 4 0 0 0 0 0 0 0 0 -STACK WIN 0 74497 4 0 0 0 0 0 0 0 0 -STACK WIN 0 469dd 4 0 0 0 0 0 0 0 0 -STACK WIN 0 745dd 4 0 0 0 0 0 0 0 0 -STACK WIN 0 469fe 4 0 0 0 0 0 0 0 0 -STACK WIN 0 7487a 4 0 0 0 0 0 0 0 0 -STACK WIN 0 74a7a 4 0 0 0 0 0 0 0 0 -STACK WIN 0 74b86 c 0 0 0 0 0 0 0 0 -STACK WIN 0 7507d 4 0 0 0 0 0 0 0 0 -STACK WIN 0 7521c 4 0 0 0 0 0 0 0 0 -STACK WIN 0 75271 b 0 0 4 0 0 0 0 0 -STACK WIN 0 75348 4 0 0 0 0 0 0 0 0 -STACK WIN 0 753b9 c 0 0 0 0 0 0 0 0 -STACK WIN 0 75454 c 0 0 0 0 0 0 0 0 -STACK WIN 0 754d3 f 0 0 0 0 0 0 0 0 -STACK WIN 0 756a5 4 0 0 0 0 0 0 0 0 -STACK WIN 0 763c9 21 0 0 0 0 0 0 0 0 -STACK WIN 0 a415 d 0 0 0 0 0 0 0 0 -STACK WIN 0 13038 2d 0 0 0 0 0 0 0 0 -STACK WIN 0 127b2 7 0 0 0 0 0 0 0 0 -STACK WIN 0 bf3d 6 0 0 0 0 0 0 0 0 -STACK WIN 0 bf64 5 0 0 0 0 0 0 0 0 -STACK WIN 0 9915 6 0 0 0 0 0 0 0 0 -STACK WIN 0 127a7 6 0 0 0 0 0 0 0 0 -STACK WIN 0 7a6b5 1b 0 0 0 0 0 0 0 0 -STACK WIN 0 7a6e2 1b 0 0 0 0 0 0 0 0 -STACK WIN 0 35819 c 0 0 0 0 0 0 0 0 -STACK WIN 0 7a773 7b e 0 0 0 0 0 0 0 -STACK WIN 0 121de fc 3 0 0 0 0 0 0 0 -STACK WIN 0 1bdd2 1bc 9 0 0 0 0 0 0 0 -STACK WIN 0 a2d4 85 2 0 0 0 0 0 0 0 -STACK WIN 0 7a8b2 ab 3 0 0 0 0 0 0 0 -STACK WIN 0 7ad9c 5d 6 0 0 0 0 0 0 0 -STACK WIN 0 2c16a 58 4 0 0 0 0 0 0 0 -STACK WIN 0 c0ed 74 0 0 0 0 0 0 0 0 -STACK WIN 0 17fc1 82 9 0 0 0 0 0 0 0 -STACK WIN 0 2a41a 113 0 0 0 0 0 0 0 0 -STACK WIN 0 7e16b f 0 0 c 0 0 0 0 0 -STACK WIN 0 7e17f f 0 0 14 0 0 0 0 0 -STACK WIN 0 7e193 f 0 0 28 0 0 0 0 0 -STACK WIN 0 7e1a7 f 0 0 4 0 0 0 0 0 -STACK WIN 0 7e1bb f 0 0 8 0 0 0 0 0 -STACK WIN 0 7e1cf f 0 0 10 0 0 0 0 0 -STACK WIN 0 ddf5 4 0 0 0 0 0 0 0 0 -STACK WIN 0 7e1e3 4 0 0 0 0 0 0 0 0 -STACK WIN 0 7e1ec 8 0 0 8 0 0 0 0 0 -STACK WIN 0 7e299 d 0 0 c 0 0 0 0 0 -STACK WIN 0 7e2ab d 0 0 18 0 0 0 0 0 -STACK WIN 0 7e2bd d 0 0 24 0 0 0 0 0 -STACK WIN 0 7e2e8 4 0 0 10 0 0 0 0 0 -STACK WIN 0 7e306 8 0 0 c 0 0 0 0 0 -STACK WIN 0 7e313 5 0 0 4 0 0 0 0 0 -STACK WIN 0 7e33a c 0 0 18 0 0 0 0 0 -STACK WIN 0 7e34b 5 0 0 28 0 0 0 0 0 -STACK WIN 0 7e355 8 0 0 28 0 0 0 0 0 -STACK WIN 0 7e362 5 0 0 8 0 0 0 0 0 -STACK WIN 0 7e36c c 0 0 14 0 0 0 0 0 -STACK WIN 0 7e37d 6 0 0 18 0 0 0 0 0 -STACK WIN 0 7e388 6 0 0 14 0 0 0 0 0 -STACK WIN 0 7e393 6 0 0 20 0 0 0 0 0 -STACK WIN 0 7e39e 6 0 0 18 0 0 0 0 0 -STACK WIN 0 14ae7 6 0 0 4 0 0 0 0 0 -STACK WIN 0 7e3a9 6 0 0 c 0 0 0 0 0 -STACK WIN 0 7e3b4 6 0 0 10 0 0 0 0 0 -STACK WIN 0 7e3bf 6 0 0 14 0 0 0 0 0 -STACK WIN 0 7e3e8 8 0 0 10 0 0 0 0 0 -STACK WIN 0 7e43b 6 0 0 4 0 0 0 0 0 -STACK WIN 0 7e45c 8 0 0 14 0 0 0 0 0 -STACK WIN 0 7e469 c 0 0 1c 0 0 0 0 0 -STACK WIN 0 7e47a a 0 0 0 0 0 0 0 0 -STACK WIN 0 7e489 8 0 0 10 0 0 0 0 0 -STACK WIN 0 7e496 5 0 0 20 0 0 0 0 0 -STACK WIN 0 7e4a0 c 0 0 4 0 0 0 0 0 -STACK WIN 0 7e4b1 8 0 0 4 0 0 0 0 0 -STACK WIN 0 7e4be c 0 0 8 0 0 0 0 0 -STACK WIN 0 7e4cf c 0 0 c 0 0 0 0 0 -STACK WIN 0 7e4e0 c 0 0 14 0 0 0 0 0 -STACK WIN 0 7e536 c 0 0 18 0 0 0 0 0 -STACK WIN 0 7e547 e 0 0 8 0 0 0 0 0 -STACK WIN 0 7e55a c 0 0 28 0 0 0 0 0 -STACK WIN 0 7e56b 8 0 0 4 0 0 0 0 0 -STACK WIN 0 7e593 8 0 0 28 0 0 0 0 0 -STACK WIN 0 7e5bc 8 0 0 34 0 0 0 0 0 -STACK WIN 0 7e5c9 5 0 0 28 0 0 0 0 0 -STACK WIN 0 7e5d3 5 0 0 24 0 0 0 0 0 -STACK WIN 0 7e5f5 a 0 0 14 0 0 0 0 0 -STACK WIN 0 7e604 c 0 0 30 0 0 0 0 0 -STACK WIN 0 7e615 d 0 0 4 0 0 0 0 0 -STACK WIN 0 7e659 8 0 0 14 0 0 0 0 0 -STACK WIN 0 7e69c 8 0 0 1c 0 0 0 0 0 -STACK WIN 0 7e6a9 8 0 0 14 0 0 0 0 0 -STACK WIN 0 7e6b6 8 0 0 1c 0 0 0 0 0 -STACK WIN 0 7e6c3 6 0 0 8 0 0 0 0 0 -STACK WIN 0 7e728 8 0 0 4 0 0 0 0 0 -STACK WIN 0 7e735 8 0 0 8 0 0 0 0 0 -STACK WIN 0 7e7f2 6 0 0 c 0 0 0 0 0 -STACK WIN 0 7e7fd 6 0 0 10 0 0 0 0 0 -STACK WIN 0 7e83b 8 0 0 4 0 0 0 0 0 -STACK WIN 0 7e848 5 0 0 8 0 0 0 0 0 -STACK WIN 0 7e878 5 0 0 10 0 0 0 0 0 -STACK WIN 0 7e88d 5 0 0 18 0 0 0 0 0 -STACK WIN 0 260c2 5 0 0 4 0 0 0 0 0 -STACK WIN 0 7e8a8 5 0 0 14 0 0 0 0 0 -STACK WIN 0 7e8b2 5 0 0 c 0 0 0 0 0 -STACK WIN 0 7e98d 3 0 0 4 0 0 0 0 0 -STACK WIN 0 7e9ae 8 0 0 8 0 0 0 0 0 -STACK WIN 0 7e9da 8 0 0 10 0 0 0 0 0 -STACK WIN 0 7e9e7 4 0 0 0 0 0 0 0 0 -STACK WIN 0 7ea40 8 0 0 1c 0 0 0 0 0 -STACK WIN 0 7ea4d 5 0 0 1c 0 0 0 0 0 -STACK WIN 0 7ea57 6 0 0 c 0 0 0 0 0 -STACK WIN 0 7ea62 6 0 0 8 0 0 0 0 0 -STACK WIN 0 7ea6d 6 0 0 10 0 0 0 0 0 -STACK WIN 0 7ea78 6 0 0 18 0 0 0 0 0 -STACK WIN 0 7ea83 6 0 0 4 0 0 0 0 0 -STACK WIN 0 7ea8e 6 0 0 c 0 0 0 0 0 -STACK WIN 0 7ea99 6 0 0 1c 0 0 0 0 0 -STACK WIN 0 7eaa4 6 0 0 14 0 0 0 0 0 -STACK WIN 0 7eac6 4 0 0 0 0 0 0 0 0 -STACK WIN 0 7eacf c 0 0 20 0 0 0 0 0 -STACK WIN 0 7eae0 d 0 0 1c 0 0 0 0 0 -STACK WIN 0 7eaf2 d 0 0 10 0 0 0 0 0 -STACK WIN 0 7eb04 b 0 0 0 0 0 0 0 0 -STACK WIN 0 7eb3c d 0 0 14 0 0 0 0 0 -STACK WIN 0 7eb4e d 0 0 c 0 0 0 0 0 -STACK WIN 0 7eb60 5 0 0 c 0 0 0 0 0 -STACK WIN 0 7eb6a 8 0 0 38 0 0 0 0 0 -STACK WIN 0 7eb77 5 0 0 14 0 0 0 0 0 -STACK WIN 0 7eb81 6 0 0 10 0 0 0 0 0 -STACK WIN 0 7eb8c 8 0 0 1c 0 0 0 0 0 -STACK WIN 0 7ebbe 8 0 0 18 0 0 0 0 0 -STACK WIN 0 7ebcb 8 0 0 4 0 0 0 0 0 -STACK WIN 0 7ebd8 8 0 0 14 0 0 0 0 0 -STACK WIN 0 7ebe5 8 0 0 10 0 0 0 0 0 -STACK WIN 0 7ebf2 8 0 0 24 0 0 0 0 0 -STACK WIN 0 7ebff 8 0 0 8 0 0 0 0 0 -STACK WIN 0 7ec0c 8 0 0 c 0 0 0 0 0 -STACK WIN 0 7ec19 3 0 0 18 0 0 0 0 0 -STACK WIN 0 7ec21 8 0 0 4 0 0 0 0 0 -STACK WIN 0 7ec4c 8 0 0 8 0 0 0 0 0 -STACK WIN 0 7ec59 3 0 0 0 0 0 0 0 0 -STACK WIN 0 7ec98 4 0 0 0 0 0 0 0 0 -STACK WIN 0 7ecbf 8 0 0 c 0 0 0 0 0 -STACK WIN 0 7eccc 8 0 0 18 0 0 0 0 0 -STACK WIN 0 7ecd9 8 0 0 24 0 0 0 0 0 -STACK WIN 0 7ece6 8 0 0 10 0 0 0 0 0 -STACK WIN 0 7ed3f 3 0 0 10 0 0 0 0 0 -STACK WIN 0 7ed47 8 0 0 1c 0 0 0 0 0 -STACK WIN 0 7ed54 5 0 0 38 0 0 0 0 0 -STACK WIN 0 7ed98 8 0 0 8 0 0 0 0 0 -STACK WIN 0 7eda5 8 0 0 c 0 0 0 0 0 -STACK WIN 0 7edb2 8 0 0 4 0 0 0 0 0 -STACK WIN 0 7edbf 8 0 0 2c 0 0 0 0 0 -STACK WIN 0 7edcc 8 0 0 14 0 0 0 0 0 -STACK WIN 0 7edd9 8 0 0 8 0 0 0 0 0 -STACK WIN 0 7ede6 8 0 0 10 0 0 0 0 0 -STACK WIN 0 7ee61 6 0 0 10 0 0 0 0 0 -STACK WIN 0 7ee6c 8 0 0 20 0 0 0 0 0 -STACK WIN 0 7ee79 8 0 0 20 0 0 0 0 0 -STACK WIN 0 7ee86 8 0 0 10 0 0 0 0 0 -STACK WIN 0 7ee93 8 0 0 c 0 0 0 0 0 -STACK WIN 0 7eea0 8 0 0 1c 0 0 0 0 0 -STACK WIN 0 7eead 6 0 0 4 0 0 0 0 0 -STACK WIN 0 7eeb8 8 0 0 24 0 0 0 0 0 -STACK WIN 0 7eec5 8 0 0 18 0 0 0 0 0 -STACK WIN 0 7eed2 8 0 0 14 0 0 0 0 0 -STACK WIN 0 7eedf 8 0 0 20 0 0 0 0 0 -STACK WIN 0 7ef1e 6 0 0 0 0 0 0 0 0 -STACK WIN 0 7ef94 7 0 0 4 0 0 0 0 0 -STACK WIN 0 7efa0 7 0 0 c 0 0 0 0 0 -STACK WIN 0 7efac 7 0 0 8 0 0 0 0 0 -STACK WIN 0 7efb8 7 0 0 10 0 0 0 0 0 -STACK WIN 0 7efc4 7 0 0 28 0 0 0 0 0 -STACK WIN 0 7efd0 7 0 0 20 0 0 0 0 0 -STACK WIN 0 7efdc 6 0 0 4 0 0 0 0 0 -STACK WIN 0 7efe7 6 0 0 18 0 0 0 0 0 -STACK WIN 0 7f052 3 0 0 0 0 0 0 0 0 -STACK WIN 0 7f05a 3 0 0 c 0 0 0 0 0 -STACK WIN 0 7f062 6 0 0 2c 0 0 0 0 0 -STACK WIN 0 7f06d 6 0 0 30 0 0 0 0 0 -STACK WIN 0 7f078 3 0 0 8 0 0 0 0 0 -STACK WIN 0 7f0b0 6 0 0 20 0 0 0 0 0 -STACK WIN 0 7f0bb 5 0 0 4 0 0 0 0 0 -STACK WIN 0 7f0c5 6 0 0 c 0 0 0 0 0 -STACK WIN 0 7f0f5 3 0 0 14 0 0 0 0 0 -STACK WIN 0 7f0fd 6 0 0 0 0 0 0 0 0 -STACK WIN 0 7f125 8 0 0 4 0 0 0 0 0 -STACK WIN 0 7f132 5 0 0 2c 0 0 0 0 0 -STACK WIN 0 7f13c 6 0 0 10 0 0 0 0 0 -STACK WIN 0 7f147 6 0 0 8 0 0 0 0 0 -STACK WIN 0 7f152 6 0 0 14 0 0 0 0 0 -STACK WIN 0 7f19b c 0 0 4 0 0 0 0 0 -STACK WIN 0 7f1ac 6 0 0 c 0 0 0 0 0 -STACK WIN 0 7f1d0 6 0 0 4 0 0 0 0 0 -STACK WIN 0 7f1db 6 0 0 4 0 0 0 0 0 -STACK WIN 0 7f1e6 6 0 0 4 0 0 0 0 0 -STACK WIN 0 7f1f1 6 0 0 10 0 0 0 0 0 -STACK WIN 0 7f1fe 1 0 0 0 0 0 0 0 0 -STACK WIN 0 7f204 c 0 0 10 0 0 0 0 0 -STACK WIN 0 7f215 6 0 0 8 0 0 0 0 0 -STACK WIN 0 7f23b 6 0 0 1c 0 0 0 0 0 -STACK WIN 0 7f246 6 0 0 24 0 0 0 0 0 -STACK WIN 0 7f251 6 0 0 8 0 0 0 0 0 -STACK WIN 0 7f2c2 6 0 0 10 0 0 0 0 0 -STACK WIN 0 7f2cd 8 0 0 4 0 0 0 0 0 -STACK WIN 0 7f2da 6 0 0 10 0 0 0 0 0 -STACK WIN 0 7f2e5 8 0 0 c 0 0 0 0 0 -STACK WIN 0 7f3c0 7 0 0 1c 0 0 0 0 0 -STACK WIN 0 7f3cc 7 0 0 24 0 0 0 0 0 -STACK WIN 0 7f49f 6 0 0 4 0 0 0 0 0 -STACK WIN 0 7f4aa 6 0 0 18 0 0 0 0 0 -STACK WIN 0 7f4b5 6 0 0 1c 0 0 0 0 0 -STACK WIN 0 7f4c0 6 0 0 8 0 0 0 0 0 -STACK WIN 0 7f502 6 0 0 24 0 0 0 0 0 -STACK WIN 0 7f50d 6 0 0 c 0 0 0 0 0 -STACK WIN 0 7f536 6 0 0 14 0 0 0 0 0 -STACK WIN 0 7f55c 6 0 0 10 0 0 0 0 0 -STACK WIN 0 7f59d c 0 0 24 0 0 0 0 0 -STACK WIN 0 7f5ae 6 0 0 1c 0 0 0 0 0 -STACK WIN 0 7f5b9 6 0 0 c 0 0 0 0 0 -STACK WIN 0 7f5c4 6 0 0 10 0 0 0 0 0 -STACK WIN 0 7f5cf 6 0 0 4 0 0 0 0 0 -STACK WIN 0 7f5da 6 0 0 8 0 0 0 0 0 -STACK WIN 0 7f5e5 6 0 0 14 0 0 0 0 0 -STACK WIN 0 7f5f0 6 0 0 18 0 0 0 0 0 -STACK WIN 0 7f5fb 6 0 0 20 0 0 0 0 0 -STACK WIN 0 7f606 f 0 0 10 0 0 0 0 0 -STACK WIN 0 7f61a f 0 0 14 0 0 0 0 0 -STACK WIN 0 7f62e d 0 0 0 0 0 0 0 0 -STACK WIN 0 7f640 10 0 0 4 0 0 0 0 0 -STACK WIN 0 7f655 f 0 0 18 0 0 0 0 0 -STACK WIN 0 7f669 f 0 0 c 0 0 0 0 0 -STACK WIN 0 7f67d f 0 0 4 0 0 0 0 0 -STACK WIN 0 7f691 f 0 0 8 0 0 0 0 0 -STACK WIN 0 7f6a5 8 0 0 5c 0 0 0 0 0 -STACK WIN 0 7f6b2 c 0 0 2c 0 0 0 0 0 -STACK WIN 0 7f6c3 6 0 0 28 0 0 0 0 0 -STACK WIN 0 7f6ce 6 0 0 c 0 0 0 0 0 -STACK WIN 0 7f6d9 5 0 0 30 0 0 0 0 0 -STACK WIN 0 7f731 8 0 0 20 0 0 0 0 0 -STACK WIN 0 7f782 8 0 0 4 0 0 0 0 0 -STACK WIN 0 7f846 8 0 0 14 0 0 0 0 0 -STACK WIN 0 39aa8 e6 a 0 c 1c 0 0 0 1 -STACK WIN 0 dedf 70 3 0 8 c 0 0 0 0 -STACK WIN 0 df4f 23 0 0 0 0 0 0 0 0 -STACK WIN 0 7fc40 12 0 0 0 0 0 0 0 0 diff --git a/toolkit/airbag/airbag/src/processor/testdata/symbols/test_app.pdb/5A9832E5287241C1838ED98914E9B7FF1/test_app.sym b/toolkit/airbag/airbag/src/processor/testdata/symbols/test_app.pdb/5A9832E5287241C1838ED98914E9B7FF1/test_app.sym deleted file mode 100644 index 6815ce81db35..000000000000 --- a/toolkit/airbag/airbag/src/processor/testdata/symbols/test_app.pdb/5A9832E5287241C1838ED98914E9B7FF1/test_app.sym +++ /dev/null @@ -1,22151 +0,0 @@ -MODULE windows x86 5A9832E5287241C1838ED98914E9B7FF1 test_app.pdb -FILE 1 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h -FILE 2 c:\program files\microsoft visual studio 8\vc\include\typeinfo -FILE 3 c:\breakpad\trunk\src\common\windows\guid_string.h -FILE 4 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcdce.h -FILE 5 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winreg.h -FILE 6 c:\program files\microsoft visual studio 8\vc\platformsdk\include\objidl.h -FILE 7 c:\program files\microsoft visual studio 8\vc\platformsdk\include\wtypes.h -FILE 8 c:\program files\microsoft visual studio 8\vc\platformsdk\include\tvout.h -FILE 9 c:\program files\microsoft visual studio 8\vc\include\malloc.h -FILE 10 c:\program files\microsoft visual studio 8\vc\platformsdk\include\pshpack2.h -FILE 11 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h -FILE 12 c:\breakpad\trunk\src\client\windows\handler\exception_handler.cc -FILE 13 c:\program files\microsoft visual studio 8\vc\platformsdk\include\urlmon.h -FILE 14 c:\program files\microsoft visual studio 8\vc\platformsdk\include\wincon.h -FILE 15 c:\program files\microsoft visual studio 8\vc\platformsdk\include\imm.h -FILE 16 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcdcep.h -FILE 17 c:\program files\microsoft visual studio 8\vc\include\xstring -FILE 18 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winver.h -FILE 19 c:\program files\microsoft visual studio 8\vc\include\xmemory -FILE 20 c:\program files\microsoft visual studio 8\vc\include\new -FILE 21 c:\program files\microsoft visual studio 8\vc\platformsdk\include\pshpack4.h -FILE 22 c:\program files\microsoft visual studio 8\vc\platformsdk\include\reason.h -FILE 23 c:\program files\microsoft visual studio 8\vc\include\vector -FILE 24 c:\program files\microsoft visual studio 8\vc\include\memory -FILE 25 c:\program files\microsoft visual studio 8\vc\include\wtime.inl -FILE 26 c:\program files\microsoft visual studio 8\vc\include\iterator -FILE 27 c:\program files\microsoft visual studio 8\vc\platformsdk\include\propidl.h -FILE 28 c:\program files\microsoft visual studio 8\vc\platformsdk\include\pshpack1.h -FILE 29 c:\program files\microsoft visual studio 8\vc\platformsdk\include\specstrings.h -FILE 30 c:\program files\microsoft visual studio 8\vc\platformsdk\include\basetsd.h -FILE 31 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winerror.h -FILE 32 c:\program files\microsoft visual studio 8\vc\include\assert.h -FILE 33 c:\program files\microsoft visual studio 8\vc\platformsdk\include\poppack.h -FILE 34 c:\program files\microsoft visual studio 8\vc\include\cstdio -FILE 35 c:\program files\microsoft visual studio 8\vc\include\stdio.h -FILE 36 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcnterr.h -FILE 37 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcasync.h -FILE 38 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcnsi.h -FILE 39 c:\program files\microsoft visual studio 8\vc\include\stdlib.h -FILE 40 c:\program files\microsoft visual studio 8\vc\platformsdk\include\servprov.h -FILE 41 c:\program files\microsoft visual studio 8\vc\include\limits.h -FILE 42 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcndr.h -FILE 43 c:\breakpad\trunk\src\client\windows\handler\exception_handler.h -FILE 44 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcnsip.h -FILE 45 c:\program files\microsoft visual studio 8\vc\platformsdk\include\dbghelp.h -FILE 46 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnetwk.h -FILE 47 c:\program files\microsoft visual studio 8\vc\include\share.h -FILE 48 c:\program files\microsoft visual studio 8\vc\platformsdk\include\pshpack8.h -FILE 49 c:\program files\microsoft visual studio 8\vc\platformsdk\include\stralign.h -FILE 50 c:\breakpad\trunk\src\google_breakpad\common\minidump_format.h -FILE 51 c:\breakpad\trunk\src\google_breakpad\common\breakpad_types.h -FILE 52 c:\program files\microsoft visual studio 8\vc\include\xdebug -FILE 53 c:\program files\microsoft visual studio 8\vc\include\stdarg.h -FILE 54 c:\program files\microsoft visual studio 8\vc\platformsdk\include\windef.h -FILE 55 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsvc.h -FILE 56 c:\program files\microsoft visual studio 8\vc\platformsdk\include\wingdi.h -FILE 57 c:\program files\microsoft visual studio 8\vc\include\xlocinfo -FILE 58 c:\program files\microsoft visual studio 8\vc\include\xlocinfo.h -FILE 59 c:\program files\microsoft visual studio 8\vc\platformsdk\include\oleidl.h -FILE 60 c:\program files\microsoft visual studio 8\vc\include\locale.h -FILE 61 c:\program files\microsoft visual studio 8\vc\include\string -FILE 62 c:\program files\microsoft visual studio 8\vc\include\istream -FILE 63 c:\breakpad\trunk\src\common\windows\string_utils-inl.h -FILE 64 c:\program files\microsoft visual studio 8\vc\include\ostream -FILE 65 c:\program files\microsoft visual studio 8\vc\include\xutility -FILE 66 c:\program files\microsoft visual studio 8\vc\include\wchar.h -FILE 67 c:\program files\microsoft visual studio 8\vc\include\utility -FILE 68 c:\program files\microsoft visual studio 8\vc\include\ios -FILE 69 c:\program files\microsoft visual studio 8\vc\include\xlocnum -FILE 70 c:\program files\microsoft visual studio 8\vc\include\iosfwd -FILE 71 c:\program files\microsoft visual studio 8\vc\include\swprintf.inl -FILE 72 c:\program files\microsoft visual studio 8\vc\platformsdk\include\guiddef.h -FILE 73 c:\program files\microsoft visual studio 8\vc\include\cwchar -FILE 74 c:\program files\microsoft visual studio 8\vc\include\climits -FILE 75 c:\program files\microsoft visual studio 8\vc\include\crtdbg.h -FILE 76 c:\program files\microsoft visual studio 8\vc\include\cstdlib -FILE 77 c:\program files\microsoft visual studio 8\vc\include\streambuf -FILE 78 c:\program files\microsoft visual studio 8\vc\include\xiosbase -FILE 79 c:\program files\microsoft visual studio 8\vc\include\xlocale -FILE 80 c:\program files\microsoft visual studio 8\vc\include\cstring -FILE 81 c:\program files\microsoft visual studio 8\vc\platformsdk\include\mcx.h -FILE 82 c:\program files\microsoft visual studio 8\vc\include\stdexcept -FILE 83 c:\program files\microsoft visual studio 8\vc\include\exception -FILE 84 c:\program files\microsoft visual studio 8\vc\include\xstddef -FILE 85 c:\program files\microsoft visual studio 8\vc\platformsdk\include\objbase.h -FILE 86 c:\program files\microsoft visual studio 8\vc\include\cstddef -FILE 87 c:\program files\microsoft visual studio 8\vc\platformsdk\include\unknwn.h -FILE 88 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpc.h -FILE 89 c:\program files\microsoft visual studio 8\vc\include\stddef.h -FILE 90 c:\program files\microsoft visual studio 8\vc\include\cassert -FILE 91 c:\program files\microsoft visual studio 8\vc\platformsdk\include\ole2.h -FILE 92 c:\program files\microsoft visual studio 8\vc\platformsdk\include\windows.h -FILE 93 c:\program files\microsoft visual studio 8\vc\include\yvals.h -FILE 94 c:\program files\microsoft visual studio 8\vc\platformsdk\include\oleauto.h -FILE 95 c:\program files\microsoft visual studio 8\vc\include\excpt.h -FILE 96 c:\program files\microsoft visual studio 8\vc\include\use_ansi.h -FILE 97 c:\program files\microsoft visual studio 8\vc\platformsdk\include\cguid.h -FILE 98 c:\program files\microsoft visual studio 8\vc\include\crtdefs.h -FILE 99 c:\program files\microsoft visual studio 8\vc\platformsdk\include\msxml.h -FILE 100 c:\program files\microsoft visual studio 8\vc\platformsdk\include\oaidl.h -FILE 101 c:\program files\microsoft visual studio 8\vc\include\sal.h -FILE 102 c:\program files\microsoft visual studio 8\vc\include\vadefs.h -FILE 103 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnt.h -FILE 104 c:\program files\microsoft visual studio 8\vc\include\ctype.h -FILE 105 c:\program files\microsoft visual studio 8\vc\include\eh.h -FILE 106 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnls.h -FILE 107 c:\program files\microsoft visual studio 8\vc\include\string.h -FILE 108 c:\program files\microsoft visual studio 8\vc\include\ctype.h -FILE 109 c:\program files\microsoft visual studio 8\vc\include\xutility -FILE 110 c:\program files\microsoft visual studio 8\vc\include\utility -FILE 111 c:\program files\microsoft visual studio 8\vc\include\iosfwd -FILE 112 c:\program files\microsoft visual studio 8\vc\include\cwchar -FILE 113 c:\program files\microsoft visual studio 8\vc\include\crtdbg.h -FILE 114 c:\program files\microsoft visual studio 8\vc\include\stdexcept -FILE 115 c:\program files\microsoft visual studio 8\vc\include\exception -FILE 116 c:\program files\microsoft visual studio 8\vc\include\xstddef -FILE 117 c:\program files\microsoft visual studio 8\vc\include\cstddef -FILE 118 c:\program files\microsoft visual studio 8\vc\include\stddef.h -FILE 119 c:\program files\microsoft visual studio 8\vc\include\eh.h -FILE 120 c:\program files\microsoft visual studio 8\vc\include\streambuf -FILE 121 c:\program files\microsoft visual studio 8\vc\include\xiosbase -FILE 122 c:\program files\microsoft visual studio 8\vc\include\xlocale -FILE 123 c:\program files\microsoft visual studio 8\vc\include\cstring -FILE 124 c:\program files\microsoft visual studio 8\vc\include\string.h -FILE 125 c:\program files\microsoft visual studio 8\vc\include\typeinfo -FILE 126 c:\breakpad\trunk\src\common\windows\guid_string.cc -FILE 127 c:\breakpad\trunk\src\common\windows\string_utils-inl.h -FILE 128 c:\program files\microsoft visual studio 8\vc\include\stdarg.h -FILE 129 c:\program files\microsoft visual studio 8\vc\include\string -FILE 130 c:\program files\microsoft visual studio 8\vc\include\istream -FILE 131 c:\program files\microsoft visual studio 8\vc\include\ostream -FILE 132 c:\program files\microsoft visual studio 8\vc\include\ios -FILE 133 c:\program files\microsoft visual studio 8\vc\include\xlocnum -FILE 134 c:\program files\microsoft visual studio 8\vc\include\climits -FILE 135 c:\program files\microsoft visual studio 8\vc\include\yvals.h -FILE 136 c:\program files\microsoft visual studio 8\vc\include\use_ansi.h -FILE 137 c:\program files\microsoft visual studio 8\vc\include\cstdlib -FILE 138 c:\program files\microsoft visual studio 8\vc\include\stdlib.h -FILE 139 c:\program files\microsoft visual studio 8\vc\include\malloc.h -FILE 140 c:\breakpad\trunk\src\common\windows\guid_string.h -FILE 141 c:\program files\microsoft visual studio 8\vc\platformsdk\include\guiddef.h -FILE 142 c:\program files\microsoft visual studio 8\vc\include\share.h -FILE 143 c:\program files\microsoft visual studio 8\vc\include\xstring -FILE 144 c:\program files\microsoft visual studio 8\vc\include\xmemory -FILE 145 c:\program files\microsoft visual studio 8\vc\include\new -FILE 146 c:\program files\microsoft visual studio 8\vc\include\locale.h -FILE 147 c:\program files\microsoft visual studio 8\vc\include\swprintf.inl -FILE 148 c:\program files\microsoft visual studio 8\vc\include\limits.h -FILE 149 c:\program files\microsoft visual studio 8\vc\include\wchar.h -FILE 150 c:\program files\microsoft visual studio 8\vc\include\cstdio -FILE 151 c:\program files\microsoft visual studio 8\vc\include\crtdefs.h -FILE 152 c:\program files\microsoft visual studio 8\vc\include\stdio.h -FILE 153 c:\program files\microsoft visual studio 8\vc\include\wtime.inl -FILE 154 c:\program files\microsoft visual studio 8\vc\include\sal.h -FILE 155 c:\program files\microsoft visual studio 8\vc\include\xdebug -FILE 156 c:\program files\microsoft visual studio 8\vc\include\vadefs.h -FILE 157 c:\program files\microsoft visual studio 8\vc\include\xlocinfo -FILE 158 c:\program files\microsoft visual studio 8\vc\include\xlocinfo.h -FILE 159 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnetwk.h -FILE 160 c:\program files\microsoft visual studio 8\vc\platformsdk\include\urlmon.h -FILE 161 c:\program files\microsoft visual studio 8\vc\platformsdk\include\pshpack8.h -FILE 162 c:\program files\microsoft visual studio 8\vc\platformsdk\include\cderr.h -FILE 163 c:\program files\microsoft visual studio 8\vc\platformsdk\include\shellapi.h -FILE 164 c:\program files\microsoft visual studio 8\vc\platformsdk\include\dde.h -FILE 165 c:\program files\microsoft visual studio 8\vc\include\vector -FILE 166 c:\program files\microsoft visual studio 8\vc\include\stdio.h -FILE 167 c:\program files\microsoft visual studio 8\vc\include\memory -FILE 168 c:\program files\microsoft visual studio 8\vc\include\iterator -FILE 169 c:\program files\microsoft visual studio 8\vc\include\malloc.h -FILE 170 c:\program files\microsoft visual studio 8\vc\include\stdarg.h -FILE 171 c:\program files\microsoft visual studio 8\vc\platformsdk\include\windef.h -FILE 172 c:\program files\microsoft visual studio 8\vc\platformsdk\include\wingdi.h -FILE 173 c:\program files\microsoft visual studio 8\vc\platformsdk\include\imm.h -FILE 174 c:\program files\microsoft visual studio 8\vc\platformsdk\include\mmsystem.h -FILE 175 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winioctl.h -FILE 176 c:\program files\microsoft visual studio 8\vc\platformsdk\include\guiddef.h -FILE 177 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsmcrd.h -FILE 178 c:\test_app.cc -FILE 179 c:\program files\microsoft visual studio 8\vc\platformsdk\include\oaidl.h -FILE 180 c:\program files\microsoft visual studio 8\vc\platformsdk\include\nb30.h -FILE 181 c:\program files\microsoft visual studio 8\vc\include\xstring -FILE 182 c:\program files\microsoft visual studio 8\vc\include\xmemory -FILE 183 c:\program files\microsoft visual studio 8\vc\include\new -FILE 184 c:\program files\microsoft visual studio 8\vc\platformsdk\include\oleidl.h -FILE 185 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnls.h -FILE 186 c:\breakpad\trunk\src\google_breakpad\common\minidump_format.h -FILE 187 c:\program files\microsoft visual studio 8\vc\include\string.h -FILE 188 c:\breakpad\trunk\src\google_breakpad\common\breakpad_types.h -FILE 189 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnt.h -FILE 190 c:\program files\microsoft visual studio 8\vc\include\ctype.h -FILE 191 c:\program files\microsoft visual studio 8\vc\include\wtime.inl -FILE 192 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winbase.h -FILE 193 c:\program files\microsoft visual studio 8\vc\platformsdk\include\propidl.h -FILE 194 c:\breakpad\trunk\src\client\windows\handler\exception_handler.h -FILE 195 c:\program files\microsoft visual studio 8\vc\include\stdlib.h -FILE 196 c:\program files\microsoft visual studio 8\vc\include\swprintf.inl -FILE 197 c:\program files\microsoft visual studio 8\vc\include\limits.h -FILE 198 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winreg.h -FILE 199 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpc.h -FILE 200 c:\program files\microsoft visual studio 8\vc\platformsdk\include\ole2.h -FILE 201 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winscard.h -FILE 202 c:\program files\microsoft visual studio 8\vc\platformsdk\include\objbase.h -FILE 203 c:\program files\microsoft visual studio 8\vc\platformsdk\include\wtypes.h -FILE 204 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcndr.h -FILE 205 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcdce.h -FILE 206 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcnsip.h -FILE 207 c:\program files\microsoft visual studio 8\vc\include\share.h -FILE 208 c:\program files\microsoft visual studio 8\vc\platformsdk\include\tvout.h -FILE 209 c:\program files\microsoft visual studio 8\vc\include\use_ansi.h -FILE 210 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winefs.h -FILE 211 c:\program files\microsoft visual studio 8\vc\platformsdk\include\pshpack2.h -FILE 212 c:\program files\microsoft visual studio 8\vc\platformsdk\include\commdlg.h -FILE 213 c:\program files\microsoft visual studio 8\vc\platformsdk\include\unknwn.h -FILE 214 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h -FILE 215 c:\program files\microsoft visual studio 8\vc\platformsdk\include\stralign.h -FILE 216 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winuser.h -FILE 217 c:\program files\microsoft visual studio 8\vc\platformsdk\include\servprov.h -FILE 218 c:\program files\microsoft visual studio 8\vc\include\xdebug -FILE 219 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsvc.h -FILE 220 c:\program files\microsoft visual studio 8\vc\platformsdk\include\wincon.h -FILE 221 c:\program files\microsoft visual studio 8\vc\include\xlocinfo -FILE 222 c:\program files\microsoft visual studio 8\vc\include\xlocinfo.h -FILE 223 c:\program files\microsoft visual studio 8\vc\include\locale.h -FILE 224 c:\program files\microsoft visual studio 8\vc\platformsdk\include\cguid.h -FILE 225 c:\program files\microsoft visual studio 8\vc\include\string -FILE 226 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winver.h -FILE 227 c:\program files\microsoft visual studio 8\vc\include\istream -FILE 228 c:\program files\microsoft visual studio 8\vc\include\ostream -FILE 229 c:\program files\microsoft visual studio 8\vc\include\xutility -FILE 230 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winperf.h -FILE 231 c:\program files\microsoft visual studio 8\vc\platformsdk\include\pshpack4.h -FILE 232 c:\program files\microsoft visual studio 8\vc\include\utility -FILE 233 c:\program files\microsoft visual studio 8\vc\include\ios -FILE 234 c:\program files\microsoft visual studio 8\vc\include\xlocnum -FILE 235 c:\program files\microsoft visual studio 8\vc\include\crtdbg.h -FILE 236 c:\program files\microsoft visual studio 8\vc\include\iosfwd -FILE 237 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcdcep.h -FILE 238 c:\program files\microsoft visual studio 8\vc\include\cwchar -FILE 239 c:\program files\microsoft visual studio 8\vc\include\climits -FILE 240 c:\program files\microsoft visual studio 8\vc\include\wchar.h -FILE 241 c:\program files\microsoft visual studio 8\vc\include\cstdlib -FILE 242 c:\program files\microsoft visual studio 8\vc\platformsdk\include\mcx.h -FILE 243 c:\program files\microsoft visual studio 8\vc\include\streambuf -FILE 244 c:\program files\microsoft visual studio 8\vc\include\xiosbase -FILE 245 c:\program files\microsoft visual studio 8\vc\platformsdk\include\reason.h -FILE 246 c:\program files\microsoft visual studio 8\vc\include\xlocale -FILE 247 c:\program files\microsoft visual studio 8\vc\platformsdk\include\dlgs.h -FILE 248 c:\program files\microsoft visual studio 8\vc\include\cstring -FILE 249 c:\program files\microsoft visual studio 8\vc\include\stdexcept -FILE 250 c:\program files\microsoft visual studio 8\vc\platformsdk\include\pshpack1.h -FILE 251 c:\program files\microsoft visual studio 8\vc\include\exception -FILE 252 c:\program files\microsoft visual studio 8\vc\include\xstddef -FILE 253 c:\program files\microsoft visual studio 8\vc\platformsdk\include\specstrings.h -FILE 254 c:\program files\microsoft visual studio 8\vc\include\cstddef -FILE 255 c:\program files\microsoft visual studio 8\vc\platformsdk\include\basetsd.h -FILE 256 c:\program files\microsoft visual studio 8\vc\include\stddef.h -FILE 257 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winerror.h -FILE 258 c:\program files\microsoft visual studio 8\vc\platformsdk\include\wincrypt.h -FILE 259 c:\program files\microsoft visual studio 8\vc\platformsdk\include\poppack.h -FILE 260 c:\program files\microsoft visual studio 8\vc\platformsdk\include\winspool.h -FILE 261 c:\program files\microsoft visual studio 8\vc\platformsdk\include\oleauto.h -FILE 262 c:\program files\microsoft visual studio 8\vc\platformsdk\include\prsht.h -FILE 263 c:\program files\microsoft visual studio 8\vc\platformsdk\include\objidl.h -FILE 264 c:\program files\microsoft visual studio 8\vc\include\cstdio -FILE 265 c:\program files\microsoft visual studio 8\vc\include\yvals.h -FILE 266 c:\program files\microsoft visual studio 8\vc\include\eh.h -FILE 267 c:\program files\microsoft visual studio 8\vc\platformsdk\include\lzexpand.h -FILE 268 c:\program files\microsoft visual studio 8\vc\platformsdk\include\ddeml.h -FILE 269 c:\program files\microsoft visual studio 8\vc\include\crtdefs.h -FILE 270 c:\program files\microsoft visual studio 8\vc\include\sal.h -FILE 271 c:\program files\microsoft visual studio 8\vc\include\vadefs.h -FILE 272 c:\program files\microsoft visual studio 8\vc\platformsdk\include\dbghelp.h -FILE 273 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcnterr.h -FILE 274 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcasync.h -FILE 275 c:\program files\microsoft visual studio 8\vc\platformsdk\include\rpcnsi.h -FILE 276 c:\program files\microsoft visual studio 8\vc\include\typeinfo -FILE 277 c:\program files\microsoft visual studio 8\vc\platformsdk\include\windows.h -FILE 278 c:\program files\microsoft visual studio 8\vc\include\excpt.h -FILE 279 c:\program files\microsoft visual studio 8\vc\platformsdk\include\msxml.h -FILE 280 f:\sp\vctools\crt_bld\self_x86\crt\src\xdebug -FILE 281 f:\sp\vctools\crt_bld\self_x86\crt\src\streambuf -FILE 282 f:\sp\vctools\crt_bld\self_x86\crt\src\xiosbase -FILE 283 f:\sp\vctools\crt_bld\self_x86\crt\src\xlocale -FILE 284 f:\sp\vctools\crt_bld\self_x86\crt\src\cstring -FILE 285 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 286 f:\sp\vctools\crt_bld\self_x86\crt\src\xlocinfo -FILE 287 f:\sp\vctools\crt_bld\self_x86\crt\src\xlocinfo.h -FILE 288 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 289 f:\sp\vctools\crt_bld\self_x86\crt\src\share.h -FILE 290 f:\sp\vctools\crt_bld\self_x86\crt\src\use_ansi.h -FILE 291 f:\sp\vctools\crt_bld\self_x86\crt\src\string.cpp -FILE 292 f:\sp\vctools\crt_bld\self_x86\crt\src\typeinfo -FILE 293 f:\sp\vctools\crt_bld\self_x86\crt\src\xutility -FILE 294 f:\sp\vctools\crt_bld\self_x86\crt\src\utility -FILE 295 f:\sp\vctools\crt_bld\self_x86\crt\src\iosfwd -FILE 296 f:\sp\vctools\crt_bld\self_x86\crt\src\cwchar -FILE 297 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 298 f:\sp\vctools\crt_bld\self_x86\crt\src\stdexcept -FILE 299 f:\sp\vctools\crt_bld\self_x86\crt\src\exception -FILE 300 f:\sp\vctools\crt_bld\self_x86\crt\src\xstddef -FILE 301 f:\sp\vctools\crt_bld\self_x86\crt\src\cstddef -FILE 302 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 303 f:\sp\vctools\crt_bld\self_x86\crt\src\istream -FILE 304 f:\sp\vctools\crt_bld\self_x86\crt\src\ostream -FILE 305 f:\sp\vctools\crt_bld\self_x86\crt\src\ios -FILE 306 f:\sp\vctools\crt_bld\self_x86\crt\src\xlocnum -FILE 307 f:\sp\vctools\crt_bld\self_x86\crt\src\eh.h -FILE 308 f:\sp\vctools\crt_bld\self_x86\crt\src\cstdlib -FILE 309 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 310 f:\sp\vctools\crt_bld\self_x86\crt\src\climits -FILE 311 f:\sp\vctools\crt_bld\self_x86\crt\src\yvals.h -FILE 312 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 313 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 314 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 315 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 316 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 317 f:\sp\vctools\crt_bld\self_x86\crt\src\cstdio -FILE 318 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 319 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 320 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 321 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 322 f:\sp\public\sdk\inc\ddbanned.h -FILE 323 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 324 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 325 f:\sp\vctools\crt_bld\self_x86\crt\src\xstring -FILE 326 f:\sp\vctools\crt_bld\self_x86\crt\src\xmemory -FILE 327 f:\sp\vctools\crt_bld\self_x86\crt\src\new -FILE 328 f:\sp\public\sdk\inc\reason.h -FILE 329 f:\sp\public\sdk\inc\wincon.h -FILE 330 f:\sp\public\sdk\inc\pshpack2.h -FILE 331 f:\sp\public\sdk\inc\mcx.h -FILE 332 f:\sp\public\sdk\inc\winuser.h -FILE 333 f:\sp\public\sdk\inc\winnls.h -FILE 334 f:\sp\public\sdk\inc\guiddef.h -FILE 335 f:\sp\public\sdk\inc\specstrings.h -FILE 336 f:\sp\public\sdk\inc\basetsd.h -FILE 337 f:\sp\public\sdk\inc\stralign.h -FILE 338 f:\sp\public\sdk\inc\tvout.h -FILE 339 f:\sp\public\sdk\inc\winsvc.h -FILE 340 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 341 f:\sp\public\sdk\inc\wingdi.h -FILE 342 f:\sp\public\sdk\inc\pshpack4.h -FILE 343 f:\sp\public\sdk\inc\poppack.h -FILE 344 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h -FILE 345 f:\sp\public\sdk\inc\winnetwk.h -FILE 346 f:\sp\public\sdk\inc\imm.h -FILE 347 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 348 f:\sp\public\sdk\inc\windef.h -FILE 349 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 350 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\tran\i386\cpu_disp.c -FILE 351 f:\sp\public\sdk\inc\pshpack1.h -FILE 352 f:\sp\public\sdk\inc\winver.h -FILE 353 f:\sp\public\sdk\inc\windows.h -FILE 354 f:\sp\public\sdk\inc\winnt.h -FILE 355 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 356 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 357 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 358 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 359 f:\sp\public\sdk\inc\ddbanned.h -FILE 360 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 361 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 362 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 363 f:\sp\public\sdk\inc\winreg.h -FILE 364 f:\sp\public\sdk\inc\winbase.h -FILE 365 f:\sp\public\sdk\inc\winerror.h -FILE 366 f:\sp\public\sdk\inc\pshpack8.h -FILE 367 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 368 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 369 f:\sp\public\sdk\inc\reason.h -FILE 370 f:\sp\public\sdk\inc\wincon.h -FILE 371 f:\sp\public\sdk\inc\pshpack2.h -FILE 372 f:\sp\public\sdk\inc\mcx.h -FILE 373 f:\sp\public\sdk\inc\winuser.h -FILE 374 f:\sp\public\sdk\inc\winnls.h -FILE 375 f:\sp\public\sdk\inc\guiddef.h -FILE 376 f:\sp\public\sdk\inc\specstrings.h -FILE 377 f:\sp\public\sdk\inc\basetsd.h -FILE 378 f:\sp\public\sdk\inc\stralign.h -FILE 379 f:\sp\public\sdk\inc\tvout.h -FILE 380 f:\sp\public\sdk\inc\winsvc.h -FILE 381 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 382 f:\sp\public\sdk\inc\wingdi.h -FILE 383 f:\sp\public\sdk\inc\pshpack4.h -FILE 384 f:\sp\public\sdk\inc\poppack.h -FILE 385 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h -FILE 386 f:\sp\public\sdk\inc\winnetwk.h -FILE 387 f:\sp\public\sdk\inc\imm.h -FILE 388 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 389 f:\sp\public\sdk\inc\windef.h -FILE 390 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 391 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\tran\i386\mathfcns.c -FILE 392 f:\sp\public\sdk\inc\pshpack1.h -FILE 393 f:\sp\public\sdk\inc\winver.h -FILE 394 f:\sp\public\sdk\inc\windows.h -FILE 395 f:\sp\public\sdk\inc\winnt.h -FILE 396 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 397 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 398 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 399 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 400 f:\sp\public\sdk\inc\ddbanned.h -FILE 401 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 402 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 403 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 404 f:\sp\public\sdk\inc\winreg.h -FILE 405 f:\sp\public\sdk\inc\winbase.h -FILE 406 f:\sp\public\sdk\inc\winerror.h -FILE 407 f:\sp\public\sdk\inc\pshpack8.h -FILE 408 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 409 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 410 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 411 f:\sp\public\sdk\inc\winreg.h -FILE 412 f:\sp\public\sdk\inc\winbase.h -FILE 413 f:\sp\public\sdk\inc\winerror.h -FILE 414 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 415 f:\sp\public\sdk\inc\windef.h -FILE 416 f:\sp\vctools\crt_bld\self_x86\crt\src\ctime.h -FILE 417 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 418 f:\sp\vctools\crt_bld\self_x86\crt\src\time.h -FILE 419 f:\sp\public\sdk\inc\pshpack8.h -FILE 420 f:\sp\public\sdk\inc\reason.h -FILE 421 f:\sp\public\sdk\inc\wincon.h -FILE 422 f:\sp\vctools\crt_bld\self_x86\crt\src\time.inl -FILE 423 f:\sp\public\sdk\inc\pshpack2.h -FILE 424 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 425 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 426 f:\sp\public\sdk\inc\mcx.h -FILE 427 f:\sp\public\sdk\inc\winuser.h -FILE 428 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 429 f:\sp\public\sdk\inc\winnls.h -FILE 430 f:\sp\public\sdk\inc\guiddef.h -FILE 431 f:\sp\public\sdk\inc\stralign.h -FILE 432 f:\sp\public\sdk\inc\winnt.h -FILE 433 f:\sp\public\sdk\inc\specstrings.h -FILE 434 f:\sp\public\sdk\inc\basetsd.h -FILE 435 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 436 f:\sp\public\sdk\inc\tvout.h -FILE 437 f:\sp\public\sdk\inc\winsvc.h -FILE 438 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 439 f:\sp\public\sdk\inc\wingdi.h -FILE 440 f:\sp\vctools\crt_bld\self_x86\crt\src\tzset.c -FILE 441 f:\sp\public\sdk\inc\pshpack4.h -FILE 442 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 443 f:\sp\public\sdk\inc\poppack.h -FILE 444 f:\sp\public\sdk\inc\winnetwk.h -FILE 445 f:\sp\public\sdk\inc\imm.h -FILE 446 f:\sp\public\sdk\inc\ddbanned.h -FILE 447 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 448 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 449 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 450 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 451 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 452 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 453 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 454 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 455 f:\sp\public\sdk\inc\windows.h -FILE 456 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 457 f:\sp\public\sdk\inc\pshpack1.h -FILE 458 f:\sp\public\sdk\inc\winver.h -FILE 459 f:\sp\vctools\crt_bld\self_x86\crt\src\time.inl -FILE 460 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 461 f:\sp\public\sdk\inc\winnt.h -FILE 462 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 463 f:\sp\public\sdk\inc\winreg.h -FILE 464 f:\sp\public\sdk\inc\winbase.h -FILE 465 f:\sp\public\sdk\inc\winerror.h -FILE 466 f:\sp\public\sdk\inc\pshpack8.h -FILE 467 f:\sp\public\sdk\inc\reason.h -FILE 468 f:\sp\public\sdk\inc\wincon.h -FILE 469 f:\sp\public\sdk\inc\pshpack2.h -FILE 470 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 471 f:\sp\public\sdk\inc\mcx.h -FILE 472 f:\sp\public\sdk\inc\winuser.h -FILE 473 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 474 f:\sp\public\sdk\inc\winnls.h -FILE 475 f:\sp\public\sdk\inc\guiddef.h -FILE 476 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 477 f:\sp\public\sdk\inc\stralign.h -FILE 478 f:\sp\public\sdk\inc\specstrings.h -FILE 479 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 480 f:\sp\public\sdk\inc\basetsd.h -FILE 481 f:\sp\public\sdk\inc\windows.h -FILE 482 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 483 f:\sp\public\sdk\inc\tvout.h -FILE 484 f:\sp\public\sdk\inc\winsvc.h -FILE 485 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 486 f:\sp\public\sdk\inc\wingdi.h -FILE 487 f:\sp\vctools\crt_bld\self_x86\crt\src\timeset.c -FILE 488 f:\sp\public\sdk\inc\pshpack4.h -FILE 489 f:\sp\public\sdk\inc\poppack.h -FILE 490 f:\sp\public\sdk\inc\winnetwk.h -FILE 491 f:\sp\public\sdk\inc\imm.h -FILE 492 f:\sp\public\sdk\inc\ddbanned.h -FILE 493 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 494 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 495 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 496 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 497 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 498 f:\sp\public\sdk\inc\windef.h -FILE 499 f:\sp\public\sdk\inc\pshpack1.h -FILE 500 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 501 f:\sp\vctools\crt_bld\self_x86\crt\src\time.h -FILE 502 f:\sp\public\sdk\inc\winver.h -FILE 503 f:\sp\public\sdk\inc\wincon.h -FILE 504 f:\sp\vctools\crt_bld\self_x86\crt\src\time.h -FILE 505 f:\sp\public\sdk\inc\imm.h -FILE 506 f:\sp\public\sdk\inc\winbase.h -FILE 507 f:\sp\public\sdk\inc\wingdi.h -FILE 508 f:\sp\public\sdk\inc\winver.h -FILE 509 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 510 f:\sp\public\sdk\inc\windows.h -FILE 511 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 512 f:\sp\public\sdk\inc\pshpack2.h -FILE 513 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 514 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 515 f:\sp\public\sdk\inc\reason.h -FILE 516 f:\sp\vctools\crt_bld\self_x86\crt\src\strftime.c -FILE 517 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 518 f:\sp\public\sdk\inc\specstrings.h -FILE 519 f:\sp\public\sdk\inc\basetsd.h -FILE 520 f:\sp\public\sdk\inc\pshpack4.h -FILE 521 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 522 f:\sp\public\sdk\inc\winnetwk.h -FILE 523 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 524 f:\sp\public\sdk\inc\stralign.h -FILE 525 f:\sp\vctools\crt_bld\self_x86\crt\src\time.inl -FILE 526 f:\sp\public\sdk\inc\poppack.h -FILE 527 f:\sp\public\sdk\inc\winsvc.h -FILE 528 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 529 f:\sp\public\sdk\inc\windef.h -FILE 530 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 531 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 532 f:\sp\public\sdk\inc\winuser.h -FILE 533 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 534 f:\sp\public\sdk\inc\mcx.h -FILE 535 f:\sp\public\sdk\inc\pshpack8.h -FILE 536 f:\sp\public\sdk\inc\guiddef.h -FILE 537 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 538 f:\sp\public\sdk\inc\winnt.h -FILE 539 f:\sp\public\sdk\inc\winnls.h -FILE 540 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 541 f:\sp\public\sdk\inc\pshpack1.h -FILE 542 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 543 f:\sp\public\sdk\inc\winerror.h -FILE 544 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 545 f:\sp\public\sdk\inc\winreg.h -FILE 546 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 547 f:\sp\public\sdk\inc\ddbanned.h -FILE 548 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 549 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 550 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 551 f:\sp\public\sdk\inc\tvout.h -FILE 552 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 553 f:\sp\public\sdk\inc\poppack.h -FILE 554 f:\sp\public\sdk\inc\winnetwk.h -FILE 555 f:\sp\public\sdk\inc\imm.h -FILE 556 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 557 f:\sp\public\sdk\inc\windef.h -FILE 558 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 559 f:\sp\public\sdk\inc\pshpack1.h -FILE 560 f:\sp\public\sdk\inc\winver.h -FILE 561 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 562 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 563 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 564 f:\sp\public\sdk\inc\winnt.h -FILE 565 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 566 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 567 f:\sp\public\sdk\inc\winreg.h -FILE 568 f:\sp\vctools\crt_bld\self_x86\crt\src\days.c -FILE 569 f:\sp\public\sdk\inc\winbase.h -FILE 570 f:\sp\public\sdk\inc\winerror.h -FILE 571 f:\sp\public\sdk\inc\pshpack8.h -FILE 572 f:\sp\public\sdk\inc\reason.h -FILE 573 f:\sp\public\sdk\inc\wincon.h -FILE 574 f:\sp\public\sdk\inc\ddbanned.h -FILE 575 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 576 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 577 f:\sp\public\sdk\inc\pshpack2.h -FILE 578 f:\sp\public\sdk\inc\mcx.h -FILE 579 f:\sp\public\sdk\inc\winuser.h -FILE 580 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 581 f:\sp\public\sdk\inc\winnls.h -FILE 582 f:\sp\public\sdk\inc\guiddef.h -FILE 583 f:\sp\public\sdk\inc\windows.h -FILE 584 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 585 f:\sp\public\sdk\inc\specstrings.h -FILE 586 f:\sp\public\sdk\inc\basetsd.h -FILE 587 f:\sp\public\sdk\inc\stralign.h -FILE 588 f:\sp\public\sdk\inc\tvout.h -FILE 589 f:\sp\public\sdk\inc\winsvc.h -FILE 590 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 591 f:\sp\public\sdk\inc\wingdi.h -FILE 592 f:\sp\public\sdk\inc\pshpack4.h -FILE 593 f:\sp\public\sdk\inc\wincon.h -FILE 594 f:\sp\public\sdk\inc\imm.h -FILE 595 f:\sp\public\sdk\inc\winbase.h -FILE 596 f:\sp\public\sdk\inc\wingdi.h -FILE 597 f:\sp\public\sdk\inc\winver.h -FILE 598 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 599 f:\sp\public\sdk\inc\windows.h -FILE 600 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 601 f:\sp\public\sdk\inc\pshpack2.h -FILE 602 f:\sp\public\sdk\inc\reason.h -FILE 603 f:\sp\vctools\crt_bld\self_x86\crt\src\strnicol.c -FILE 604 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 605 f:\sp\public\sdk\inc\specstrings.h -FILE 606 f:\sp\public\sdk\inc\basetsd.h -FILE 607 f:\sp\public\sdk\inc\pshpack4.h -FILE 608 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 609 f:\sp\public\sdk\inc\winnetwk.h -FILE 610 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 611 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 612 f:\sp\public\sdk\inc\stralign.h -FILE 613 f:\sp\public\sdk\inc\poppack.h -FILE 614 f:\sp\public\sdk\inc\winsvc.h -FILE 615 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 616 f:\sp\public\sdk\inc\windef.h -FILE 617 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 618 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 619 f:\sp\public\sdk\inc\winuser.h -FILE 620 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 621 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 622 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 623 f:\sp\public\sdk\inc\mcx.h -FILE 624 f:\sp\public\sdk\inc\pshpack8.h -FILE 625 f:\sp\public\sdk\inc\guiddef.h -FILE 626 f:\sp\public\sdk\inc\winnt.h -FILE 627 f:\sp\public\sdk\inc\winnls.h -FILE 628 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 629 f:\sp\public\sdk\inc\pshpack1.h -FILE 630 f:\sp\public\sdk\inc\winerror.h -FILE 631 f:\sp\public\sdk\inc\winreg.h -FILE 632 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 633 f:\sp\public\sdk\inc\ddbanned.h -FILE 634 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 635 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 636 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 637 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 638 f:\sp\public\sdk\inc\tvout.h -FILE 639 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 640 f:\sp\public\sdk\inc\mcx.h -FILE 641 f:\sp\public\sdk\inc\pshpack8.h -FILE 642 f:\sp\public\sdk\inc\winnt.h -FILE 643 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 644 f:\sp\public\sdk\inc\specstrings.h -FILE 645 f:\sp\public\sdk\inc\basetsd.h -FILE 646 f:\sp\public\sdk\inc\winnls.h -FILE 647 f:\sp\public\sdk\inc\pshpack1.h -FILE 648 f:\sp\public\sdk\inc\winerror.h -FILE 649 f:\sp\public\sdk\inc\winreg.h -FILE 650 f:\sp\vctools\crt_bld\self_x86\crt\src\strnicmp.c -FILE 651 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 652 f:\sp\public\sdk\inc\tvout.h -FILE 653 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 654 f:\sp\public\sdk\inc\wincon.h -FILE 655 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 656 f:\sp\public\sdk\inc\imm.h -FILE 657 f:\sp\public\sdk\inc\guiddef.h -FILE 658 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 659 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 660 f:\sp\public\sdk\inc\winbase.h -FILE 661 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 662 f:\sp\public\sdk\inc\wingdi.h -FILE 663 f:\sp\public\sdk\inc\windows.h -FILE 664 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 665 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 666 f:\sp\public\sdk\inc\winver.h -FILE 667 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 668 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 669 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 670 f:\sp\public\sdk\inc\pshpack2.h -FILE 671 f:\sp\public\sdk\inc\reason.h -FILE 672 f:\sp\public\sdk\inc\pshpack4.h -FILE 673 f:\sp\public\sdk\inc\winnetwk.h -FILE 674 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 675 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 676 f:\sp\public\sdk\inc\stralign.h -FILE 677 f:\sp\public\sdk\inc\windef.h -FILE 678 f:\sp\public\sdk\inc\poppack.h -FILE 679 f:\sp\public\sdk\inc\winsvc.h -FILE 680 f:\sp\public\sdk\inc\ddbanned.h -FILE 681 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 682 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 683 f:\sp\public\sdk\inc\winuser.h -FILE 684 f:\sp\public\sdk\inc\mcx.h -FILE 685 f:\sp\public\sdk\inc\pshpack8.h -FILE 686 f:\sp\public\sdk\inc\winnt.h -FILE 687 f:\sp\public\sdk\inc\specstrings.h -FILE 688 f:\sp\public\sdk\inc\basetsd.h -FILE 689 f:\sp\public\sdk\inc\winnls.h -FILE 690 f:\sp\public\sdk\inc\pshpack1.h -FILE 691 f:\sp\public\sdk\inc\winerror.h -FILE 692 f:\sp\public\sdk\inc\winreg.h -FILE 693 f:\sp\vctools\crt_bld\self_x86\crt\src\stricmp.c -FILE 694 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 695 f:\sp\public\sdk\inc\tvout.h -FILE 696 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 697 f:\sp\public\sdk\inc\wincon.h -FILE 698 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 699 f:\sp\public\sdk\inc\imm.h -FILE 700 f:\sp\public\sdk\inc\guiddef.h -FILE 701 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 702 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 703 f:\sp\public\sdk\inc\winbase.h -FILE 704 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 705 f:\sp\public\sdk\inc\wingdi.h -FILE 706 f:\sp\public\sdk\inc\windows.h -FILE 707 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 708 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 709 f:\sp\public\sdk\inc\winver.h -FILE 710 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 711 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 712 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 713 f:\sp\public\sdk\inc\pshpack2.h -FILE 714 f:\sp\public\sdk\inc\reason.h -FILE 715 f:\sp\public\sdk\inc\pshpack4.h -FILE 716 f:\sp\public\sdk\inc\winnetwk.h -FILE 717 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 718 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 719 f:\sp\public\sdk\inc\stralign.h -FILE 720 f:\sp\public\sdk\inc\windef.h -FILE 721 f:\sp\public\sdk\inc\poppack.h -FILE 722 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 723 f:\sp\public\sdk\inc\winsvc.h -FILE 724 f:\sp\public\sdk\inc\ddbanned.h -FILE 725 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 726 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 727 f:\sp\public\sdk\inc\winuser.h -FILE 728 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 729 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 730 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 731 f:\sp\vctools\crt_bld\self_x86\crt\src\wcslen.c -FILE 732 f:\sp\public\sdk\inc\ddbanned.h -FILE 733 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 734 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 735 f:\sp\public\sdk\inc\winnt.h -FILE 736 f:\sp\public\sdk\inc\pshpack4.h -FILE 737 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 738 f:\sp\public\sdk\inc\poppack.h -FILE 739 f:\sp\vctools\crt_bld\self_x86\crt\src\tcsncpy_s.inl -FILE 740 f:\sp\public\sdk\inc\winnetwk.h -FILE 741 f:\sp\public\sdk\inc\imm.h -FILE 742 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 743 f:\sp\public\sdk\inc\pshpack1.h -FILE 744 f:\sp\public\sdk\inc\winver.h -FILE 745 f:\sp\vctools\crt_bld\self_x86\crt\src\internal_securecrt.h -FILE 746 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 747 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 748 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 749 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 750 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 751 f:\sp\public\sdk\inc\guiddef.h -FILE 752 f:\sp\public\sdk\inc\windows.h -FILE 753 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 754 f:\sp\public\sdk\inc\specstrings.h -FILE 755 f:\sp\public\sdk\inc\basetsd.h -FILE 756 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 757 f:\sp\public\sdk\inc\winreg.h -FILE 758 f:\sp\vctools\crt_bld\self_x86\crt\src\strncpy_s.c -FILE 759 f:\sp\public\sdk\inc\winbase.h -FILE 760 f:\sp\public\sdk\inc\winerror.h -FILE 761 f:\sp\public\sdk\inc\pshpack8.h -FILE 762 f:\sp\public\sdk\inc\reason.h -FILE 763 f:\sp\public\sdk\inc\wincon.h -FILE 764 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 765 f:\sp\public\sdk\inc\ddbanned.h -FILE 766 f:\sp\public\sdk\inc\windef.h -FILE 767 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 768 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 769 f:\sp\public\sdk\inc\pshpack2.h -FILE 770 f:\sp\public\sdk\inc\mcx.h -FILE 771 f:\sp\public\sdk\inc\winuser.h -FILE 772 f:\sp\public\sdk\inc\winnls.h -FILE 773 f:\sp\public\sdk\inc\stralign.h -FILE 774 f:\sp\public\sdk\inc\tvout.h -FILE 775 f:\sp\public\sdk\inc\winsvc.h -FILE 776 f:\sp\public\sdk\inc\wingdi.h -FILE 777 f:\sp\public\sdk\inc\winnt.h -FILE 778 f:\sp\public\sdk\inc\pshpack4.h -FILE 779 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 780 f:\sp\public\sdk\inc\poppack.h -FILE 781 f:\sp\vctools\crt_bld\self_x86\crt\src\tcscpy_s.inl -FILE 782 f:\sp\public\sdk\inc\winnetwk.h -FILE 783 f:\sp\public\sdk\inc\imm.h -FILE 784 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 785 f:\sp\public\sdk\inc\pshpack1.h -FILE 786 f:\sp\public\sdk\inc\winver.h -FILE 787 f:\sp\vctools\crt_bld\self_x86\crt\src\internal_securecrt.h -FILE 788 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 789 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 790 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 791 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 792 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 793 f:\sp\public\sdk\inc\guiddef.h -FILE 794 f:\sp\public\sdk\inc\windows.h -FILE 795 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 796 f:\sp\public\sdk\inc\specstrings.h -FILE 797 f:\sp\public\sdk\inc\basetsd.h -FILE 798 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 799 f:\sp\public\sdk\inc\winreg.h -FILE 800 f:\sp\vctools\crt_bld\self_x86\crt\src\strcpy_s.c -FILE 801 f:\sp\public\sdk\inc\winbase.h -FILE 802 f:\sp\public\sdk\inc\winerror.h -FILE 803 f:\sp\public\sdk\inc\pshpack8.h -FILE 804 f:\sp\public\sdk\inc\reason.h -FILE 805 f:\sp\public\sdk\inc\wincon.h -FILE 806 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 807 f:\sp\public\sdk\inc\ddbanned.h -FILE 808 f:\sp\public\sdk\inc\windef.h -FILE 809 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 810 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 811 f:\sp\public\sdk\inc\pshpack2.h -FILE 812 f:\sp\public\sdk\inc\mcx.h -FILE 813 f:\sp\public\sdk\inc\winuser.h -FILE 814 f:\sp\public\sdk\inc\winnls.h -FILE 815 f:\sp\public\sdk\inc\stralign.h -FILE 816 f:\sp\public\sdk\inc\tvout.h -FILE 817 f:\sp\public\sdk\inc\winsvc.h -FILE 818 f:\sp\public\sdk\inc\wingdi.h -FILE 819 f:\sp\public\sdk\inc\winnt.h -FILE 820 f:\sp\public\sdk\inc\pshpack4.h -FILE 821 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 822 f:\sp\public\sdk\inc\poppack.h -FILE 823 f:\sp\vctools\crt_bld\self_x86\crt\src\tcscat_s.inl -FILE 824 f:\sp\public\sdk\inc\winnetwk.h -FILE 825 f:\sp\public\sdk\inc\imm.h -FILE 826 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 827 f:\sp\public\sdk\inc\pshpack1.h -FILE 828 f:\sp\public\sdk\inc\winver.h -FILE 829 f:\sp\vctools\crt_bld\self_x86\crt\src\internal_securecrt.h -FILE 830 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 831 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 832 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 833 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 834 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 835 f:\sp\public\sdk\inc\guiddef.h -FILE 836 f:\sp\public\sdk\inc\windows.h -FILE 837 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 838 f:\sp\public\sdk\inc\specstrings.h -FILE 839 f:\sp\public\sdk\inc\basetsd.h -FILE 840 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 841 f:\sp\public\sdk\inc\winreg.h -FILE 842 f:\sp\vctools\crt_bld\self_x86\crt\src\strcat_s.c -FILE 843 f:\sp\public\sdk\inc\winbase.h -FILE 844 f:\sp\public\sdk\inc\winerror.h -FILE 845 f:\sp\public\sdk\inc\pshpack8.h -FILE 846 f:\sp\public\sdk\inc\reason.h -FILE 847 f:\sp\public\sdk\inc\wincon.h -FILE 848 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 849 f:\sp\public\sdk\inc\ddbanned.h -FILE 850 f:\sp\public\sdk\inc\windef.h -FILE 851 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 852 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 853 f:\sp\public\sdk\inc\pshpack2.h -FILE 854 f:\sp\public\sdk\inc\mcx.h -FILE 855 f:\sp\public\sdk\inc\winuser.h -FILE 856 f:\sp\public\sdk\inc\winnls.h -FILE 857 f:\sp\public\sdk\inc\stralign.h -FILE 858 f:\sp\public\sdk\inc\tvout.h -FILE 859 f:\sp\public\sdk\inc\winsvc.h -FILE 860 f:\sp\public\sdk\inc\wingdi.h -FILE 861 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 862 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 863 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 864 f:\sp\vctools\crt_bld\self_x86\crt\src\strlen_s.c -FILE 865 f:\sp\public\sdk\inc\ddbanned.h -FILE 866 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 867 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 868 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\strpbrk.asm -FILE 869 F:\SP\vctools\crt_bld\SELF_X86\crt\src\Intel\STRSPN.ASM -FILE 870 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 871 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\_strnicm.asm -FILE 872 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 873 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 874 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 875 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 876 f:\sp\vctools\crt_bld\self_x86\crt\src\intel\strncmp.c -FILE 877 f:\sp\public\sdk\inc\ddbanned.h -FILE 878 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 879 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 880 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\strlen.asm -FILE 881 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 882 f:\sp\public\sdk\inc\pshpack2.h -FILE 883 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 884 f:\sp\public\sdk\inc\mcx.h -FILE 885 f:\sp\public\sdk\inc\winuser.h -FILE 886 f:\sp\public\sdk\inc\winnls.h -FILE 887 f:\sp\public\sdk\inc\stralign.h -FILE 888 f:\sp\public\sdk\inc\tvout.h -FILE 889 f:\sp\public\sdk\inc\winsvc.h -FILE 890 f:\sp\public\sdk\inc\wingdi.h -FILE 891 f:\sp\public\sdk\inc\winnt.h -FILE 892 f:\sp\public\sdk\inc\pshpack4.h -FILE 893 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 894 f:\sp\public\sdk\inc\poppack.h -FILE 895 f:\sp\public\sdk\inc\winnetwk.h -FILE 896 f:\sp\public\sdk\inc\imm.h -FILE 897 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 898 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 899 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 900 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 901 f:\sp\vctools\crt_bld\self_x86\crt\src\strdup.c -FILE 902 f:\sp\public\sdk\inc\pshpack1.h -FILE 903 f:\sp\public\sdk\inc\winver.h -FILE 904 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 905 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 906 f:\sp\public\sdk\inc\guiddef.h -FILE 907 f:\sp\public\sdk\inc\windows.h -FILE 908 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 909 f:\sp\public\sdk\inc\specstrings.h -FILE 910 f:\sp\public\sdk\inc\basetsd.h -FILE 911 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 912 f:\sp\public\sdk\inc\winreg.h -FILE 913 f:\sp\public\sdk\inc\ddbanned.h -FILE 914 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 915 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 916 f:\sp\public\sdk\inc\winbase.h -FILE 917 f:\sp\public\sdk\inc\winerror.h -FILE 918 f:\sp\public\sdk\inc\pshpack8.h -FILE 919 f:\sp\public\sdk\inc\reason.h -FILE 920 f:\sp\public\sdk\inc\wincon.h -FILE 921 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 922 f:\sp\public\sdk\inc\windef.h -FILE 923 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\strcspn.asm -FILE 924 F:\SP\vctools\crt_bld\SELF_X86\crt\src\Intel\STRSPN.ASM -FILE 925 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 926 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\strcmp.asm -FILE 927 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 928 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\strchr.asm -FILE 929 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 930 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memset.c -FILE 931 f:\sp\public\sdk\inc\ddbanned.h -FILE 932 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 933 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 934 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\memset.asm -FILE 935 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 936 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 937 f:\sp\public\sdk\inc\poppack.h -FILE 938 f:\sp\public\sdk\inc\winnetwk.h -FILE 939 f:\sp\public\sdk\inc\imm.h -FILE 940 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 941 f:\sp\public\sdk\inc\pshpack1.h -FILE 942 f:\sp\public\sdk\inc\winver.h -FILE 943 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 944 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 945 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 946 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 947 f:\sp\public\sdk\inc\guiddef.h -FILE 948 f:\sp\public\sdk\inc\windows.h -FILE 949 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 950 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 951 f:\sp\public\sdk\inc\specstrings.h -FILE 952 f:\sp\public\sdk\inc\basetsd.h -FILE 953 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 954 f:\sp\public\sdk\inc\winreg.h -FILE 955 f:\sp\vctools\crt_bld\self_x86\crt\src\memmove_s.c -FILE 956 f:\sp\public\sdk\inc\winbase.h -FILE 957 f:\sp\public\sdk\inc\winerror.h -FILE 958 f:\sp\public\sdk\inc\pshpack8.h -FILE 959 f:\sp\public\sdk\inc\reason.h -FILE 960 f:\sp\public\sdk\inc\wincon.h -FILE 961 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 962 f:\sp\public\sdk\inc\windef.h -FILE 963 f:\sp\public\sdk\inc\ddbanned.h -FILE 964 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 965 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 966 f:\sp\public\sdk\inc\pshpack2.h -FILE 967 f:\sp\public\sdk\inc\mcx.h -FILE 968 f:\sp\public\sdk\inc\winuser.h -FILE 969 f:\sp\public\sdk\inc\winnls.h -FILE 970 f:\sp\public\sdk\inc\stralign.h -FILE 971 f:\sp\public\sdk\inc\tvout.h -FILE 972 f:\sp\public\sdk\inc\winsvc.h -FILE 973 f:\sp\public\sdk\inc\wingdi.h -FILE 974 f:\sp\public\sdk\inc\winnt.h -FILE 975 f:\sp\public\sdk\inc\pshpack4.h -FILE 976 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\memmove.asm -FILE 977 F:\SP\vctools\crt_bld\SELF_X86\crt\src\Intel\MEMCPY.ASM -FILE 978 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 979 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\string\i386\memcmp.c -FILE 980 f:\sp\public\sdk\inc\ddbanned.h -FILE 981 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 982 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 983 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 984 f:\sp\public\sdk\inc\poppack.h -FILE 985 f:\sp\public\sdk\inc\winnetwk.h -FILE 986 f:\sp\public\sdk\inc\imm.h -FILE 987 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 988 f:\sp\public\sdk\inc\pshpack1.h -FILE 989 f:\sp\public\sdk\inc\winver.h -FILE 990 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 991 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 992 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 993 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 994 f:\sp\public\sdk\inc\guiddef.h -FILE 995 f:\sp\public\sdk\inc\windows.h -FILE 996 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 997 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 998 f:\sp\public\sdk\inc\specstrings.h -FILE 999 f:\sp\public\sdk\inc\basetsd.h -FILE 1000 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1001 f:\sp\public\sdk\inc\winreg.h -FILE 1002 f:\sp\vctools\crt_bld\self_x86\crt\src\memcpy_s.c -FILE 1003 f:\sp\public\sdk\inc\winbase.h -FILE 1004 f:\sp\public\sdk\inc\winerror.h -FILE 1005 f:\sp\public\sdk\inc\pshpack8.h -FILE 1006 f:\sp\public\sdk\inc\reason.h -FILE 1007 f:\sp\public\sdk\inc\wincon.h -FILE 1008 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1009 f:\sp\public\sdk\inc\windef.h -FILE 1010 f:\sp\public\sdk\inc\ddbanned.h -FILE 1011 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1012 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1013 f:\sp\public\sdk\inc\pshpack2.h -FILE 1014 f:\sp\public\sdk\inc\mcx.h -FILE 1015 f:\sp\public\sdk\inc\winuser.h -FILE 1016 f:\sp\public\sdk\inc\winnls.h -FILE 1017 f:\sp\public\sdk\inc\stralign.h -FILE 1018 f:\sp\public\sdk\inc\tvout.h -FILE 1019 f:\sp\public\sdk\inc\winsvc.h -FILE 1020 f:\sp\public\sdk\inc\wingdi.h -FILE 1021 f:\sp\public\sdk\inc\winnt.h -FILE 1022 f:\sp\public\sdk\inc\pshpack4.h -FILE 1023 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memcpy.c -FILE 1024 f:\sp\public\sdk\inc\ddbanned.h -FILE 1025 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 1026 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 1027 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\memcpy.asm -FILE 1028 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 1029 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1030 f:\sp\public\sdk\inc\wincon.h -FILE 1031 f:\sp\public\sdk\inc\imm.h -FILE 1032 f:\sp\public\sdk\inc\winbase.h -FILE 1033 f:\sp\public\sdk\inc\wingdi.h -FILE 1034 f:\sp\public\sdk\inc\winver.h -FILE 1035 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1036 f:\sp\public\sdk\inc\windows.h -FILE 1037 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1038 f:\sp\public\sdk\inc\pshpack2.h -FILE 1039 f:\sp\public\sdk\inc\reason.h -FILE 1040 f:\sp\vctools\crt_bld\self_x86\crt\src\woutputs.c -FILE 1041 f:\sp\vctools\crt_bld\self_x86\crt\src\fltintrn.h -FILE 1042 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1043 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1044 f:\sp\public\sdk\inc\specstrings.h -FILE 1045 f:\sp\public\sdk\inc\basetsd.h -FILE 1046 f:\sp\public\sdk\inc\pshpack4.h -FILE 1047 f:\sp\public\sdk\inc\winnetwk.h -FILE 1048 f:\sp\public\sdk\inc\stralign.h -FILE 1049 f:\sp\public\sdk\inc\poppack.h -FILE 1050 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1051 f:\sp\public\sdk\inc\winsvc.h -FILE 1052 f:\sp\public\sdk\inc\windef.h -FILE 1053 f:\sp\vctools\crt_bld\self_x86\crt\src\output.c -FILE 1054 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1055 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1056 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1057 f:\sp\public\sdk\inc\winuser.h -FILE 1058 f:\sp\public\sdk\inc\mcx.h -FILE 1059 f:\sp\public\sdk\inc\pshpack8.h -FILE 1060 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1061 f:\sp\public\sdk\inc\guiddef.h -FILE 1062 f:\sp\public\sdk\inc\winnt.h -FILE 1063 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1064 f:\sp\public\sdk\inc\winnls.h -FILE 1065 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1066 f:\sp\public\sdk\inc\pshpack1.h -FILE 1067 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 1068 f:\sp\public\sdk\inc\winerror.h -FILE 1069 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1070 f:\sp\vctools\crt_bld\self_x86\crt\src\cvt.h -FILE 1071 f:\sp\vctools\crt_bld\self_x86\crt\src\conio.h -FILE 1072 f:\sp\public\sdk\inc\winreg.h -FILE 1073 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1074 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1075 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1076 f:\sp\public\sdk\inc\ddbanned.h -FILE 1077 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1078 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1079 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1080 f:\sp\public\sdk\inc\tvout.h -FILE 1081 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1082 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 1083 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 1084 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1085 f:\sp\public\sdk\inc\wincon.h -FILE 1086 f:\sp\public\sdk\inc\imm.h -FILE 1087 f:\sp\public\sdk\inc\winbase.h -FILE 1088 f:\sp\public\sdk\inc\wingdi.h -FILE 1089 f:\sp\public\sdk\inc\winver.h -FILE 1090 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1091 f:\sp\public\sdk\inc\windows.h -FILE 1092 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1093 f:\sp\public\sdk\inc\pshpack2.h -FILE 1094 f:\sp\public\sdk\inc\reason.h -FILE 1095 f:\sp\vctools\crt_bld\self_x86\crt\src\woutputp.c -FILE 1096 f:\sp\vctools\crt_bld\self_x86\crt\src\fltintrn.h -FILE 1097 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1098 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1099 f:\sp\public\sdk\inc\specstrings.h -FILE 1100 f:\sp\public\sdk\inc\basetsd.h -FILE 1101 f:\sp\public\sdk\inc\pshpack4.h -FILE 1102 f:\sp\public\sdk\inc\winnetwk.h -FILE 1103 f:\sp\public\sdk\inc\stralign.h -FILE 1104 f:\sp\public\sdk\inc\poppack.h -FILE 1105 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1106 f:\sp\public\sdk\inc\winsvc.h -FILE 1107 f:\sp\public\sdk\inc\windef.h -FILE 1108 f:\sp\vctools\crt_bld\self_x86\crt\src\output.c -FILE 1109 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1110 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1111 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1112 f:\sp\public\sdk\inc\winuser.h -FILE 1113 f:\sp\public\sdk\inc\mcx.h -FILE 1114 f:\sp\public\sdk\inc\pshpack8.h -FILE 1115 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1116 f:\sp\public\sdk\inc\guiddef.h -FILE 1117 f:\sp\public\sdk\inc\winnt.h -FILE 1118 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1119 f:\sp\public\sdk\inc\winnls.h -FILE 1120 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1121 f:\sp\public\sdk\inc\pshpack1.h -FILE 1122 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 1123 f:\sp\public\sdk\inc\winerror.h -FILE 1124 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1125 f:\sp\vctools\crt_bld\self_x86\crt\src\cvt.h -FILE 1126 f:\sp\vctools\crt_bld\self_x86\crt\src\conio.h -FILE 1127 f:\sp\public\sdk\inc\winreg.h -FILE 1128 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1129 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1130 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1131 f:\sp\public\sdk\inc\ddbanned.h -FILE 1132 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1133 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1134 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1135 f:\sp\public\sdk\inc\tvout.h -FILE 1136 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1137 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 1138 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 1139 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1140 f:\sp\public\sdk\inc\wincon.h -FILE 1141 f:\sp\public\sdk\inc\imm.h -FILE 1142 f:\sp\public\sdk\inc\winbase.h -FILE 1143 f:\sp\public\sdk\inc\wingdi.h -FILE 1144 f:\sp\public\sdk\inc\winver.h -FILE 1145 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1146 f:\sp\public\sdk\inc\windows.h -FILE 1147 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1148 f:\sp\public\sdk\inc\pshpack2.h -FILE 1149 f:\sp\public\sdk\inc\reason.h -FILE 1150 f:\sp\vctools\crt_bld\self_x86\crt\src\woutput.c -FILE 1151 f:\sp\vctools\crt_bld\self_x86\crt\src\fltintrn.h -FILE 1152 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1153 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1154 f:\sp\public\sdk\inc\specstrings.h -FILE 1155 f:\sp\public\sdk\inc\basetsd.h -FILE 1156 f:\sp\public\sdk\inc\pshpack4.h -FILE 1157 f:\sp\public\sdk\inc\winnetwk.h -FILE 1158 f:\sp\public\sdk\inc\stralign.h -FILE 1159 f:\sp\public\sdk\inc\poppack.h -FILE 1160 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1161 f:\sp\public\sdk\inc\winsvc.h -FILE 1162 f:\sp\public\sdk\inc\windef.h -FILE 1163 f:\sp\vctools\crt_bld\self_x86\crt\src\output.c -FILE 1164 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1165 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1166 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1167 f:\sp\public\sdk\inc\winuser.h -FILE 1168 f:\sp\public\sdk\inc\mcx.h -FILE 1169 f:\sp\public\sdk\inc\pshpack8.h -FILE 1170 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1171 f:\sp\public\sdk\inc\guiddef.h -FILE 1172 f:\sp\public\sdk\inc\winnt.h -FILE 1173 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1174 f:\sp\public\sdk\inc\winnls.h -FILE 1175 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1176 f:\sp\public\sdk\inc\pshpack1.h -FILE 1177 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 1178 f:\sp\public\sdk\inc\winerror.h -FILE 1179 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1180 f:\sp\vctools\crt_bld\self_x86\crt\src\cvt.h -FILE 1181 f:\sp\vctools\crt_bld\self_x86\crt\src\conio.h -FILE 1182 f:\sp\public\sdk\inc\winreg.h -FILE 1183 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1184 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1185 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1186 f:\sp\public\sdk\inc\ddbanned.h -FILE 1187 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1188 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1189 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1190 f:\sp\public\sdk\inc\tvout.h -FILE 1191 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1192 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 1193 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 1194 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1195 f:\sp\public\sdk\inc\wincon.h -FILE 1196 f:\sp\public\sdk\inc\imm.h -FILE 1197 f:\sp\public\sdk\inc\winbase.h -FILE 1198 f:\sp\public\sdk\inc\wingdi.h -FILE 1199 f:\sp\public\sdk\inc\winver.h -FILE 1200 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1201 f:\sp\public\sdk\inc\windows.h -FILE 1202 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1203 f:\sp\public\sdk\inc\pshpack2.h -FILE 1204 f:\sp\public\sdk\inc\reason.h -FILE 1205 f:\sp\vctools\crt_bld\self_x86\crt\src\fltintrn.h -FILE 1206 f:\sp\vctools\crt_bld\self_x86\crt\src\outputs.c -FILE 1207 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1208 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1209 f:\sp\public\sdk\inc\specstrings.h -FILE 1210 f:\sp\public\sdk\inc\basetsd.h -FILE 1211 f:\sp\public\sdk\inc\pshpack4.h -FILE 1212 f:\sp\public\sdk\inc\winnetwk.h -FILE 1213 f:\sp\public\sdk\inc\stralign.h -FILE 1214 f:\sp\public\sdk\inc\poppack.h -FILE 1215 f:\sp\public\sdk\inc\winsvc.h -FILE 1216 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1217 f:\sp\public\sdk\inc\windef.h -FILE 1218 f:\sp\vctools\crt_bld\self_x86\crt\src\output.c -FILE 1219 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1220 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1221 f:\sp\public\sdk\inc\winuser.h -FILE 1222 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1223 f:\sp\public\sdk\inc\mcx.h -FILE 1224 f:\sp\public\sdk\inc\pshpack8.h -FILE 1225 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1226 f:\sp\public\sdk\inc\guiddef.h -FILE 1227 f:\sp\public\sdk\inc\winnt.h -FILE 1228 f:\sp\public\sdk\inc\winnls.h -FILE 1229 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1230 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1231 f:\sp\public\sdk\inc\pshpack1.h -FILE 1232 f:\sp\public\sdk\inc\winerror.h -FILE 1233 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1234 f:\sp\vctools\crt_bld\self_x86\crt\src\cvt.h -FILE 1235 f:\sp\vctools\crt_bld\self_x86\crt\src\conio.h -FILE 1236 f:\sp\public\sdk\inc\winreg.h -FILE 1237 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1238 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1239 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1240 f:\sp\public\sdk\inc\ddbanned.h -FILE 1241 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1242 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1243 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1244 f:\sp\public\sdk\inc\tvout.h -FILE 1245 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1246 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 1247 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1248 f:\sp\public\sdk\inc\wincon.h -FILE 1249 f:\sp\public\sdk\inc\imm.h -FILE 1250 f:\sp\public\sdk\inc\winbase.h -FILE 1251 f:\sp\public\sdk\inc\wingdi.h -FILE 1252 f:\sp\public\sdk\inc\winver.h -FILE 1253 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1254 f:\sp\public\sdk\inc\windows.h -FILE 1255 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1256 f:\sp\public\sdk\inc\pshpack2.h -FILE 1257 f:\sp\public\sdk\inc\reason.h -FILE 1258 f:\sp\vctools\crt_bld\self_x86\crt\src\fltintrn.h -FILE 1259 f:\sp\vctools\crt_bld\self_x86\crt\src\outputp.c -FILE 1260 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1261 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1262 f:\sp\public\sdk\inc\specstrings.h -FILE 1263 f:\sp\public\sdk\inc\basetsd.h -FILE 1264 f:\sp\public\sdk\inc\pshpack4.h -FILE 1265 f:\sp\public\sdk\inc\winnetwk.h -FILE 1266 f:\sp\public\sdk\inc\stralign.h -FILE 1267 f:\sp\public\sdk\inc\poppack.h -FILE 1268 f:\sp\public\sdk\inc\winsvc.h -FILE 1269 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1270 f:\sp\public\sdk\inc\windef.h -FILE 1271 f:\sp\vctools\crt_bld\self_x86\crt\src\output.c -FILE 1272 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1273 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1274 f:\sp\public\sdk\inc\winuser.h -FILE 1275 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1276 f:\sp\public\sdk\inc\mcx.h -FILE 1277 f:\sp\public\sdk\inc\pshpack8.h -FILE 1278 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1279 f:\sp\public\sdk\inc\guiddef.h -FILE 1280 f:\sp\public\sdk\inc\winnt.h -FILE 1281 f:\sp\public\sdk\inc\winnls.h -FILE 1282 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1283 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1284 f:\sp\public\sdk\inc\pshpack1.h -FILE 1285 f:\sp\public\sdk\inc\winerror.h -FILE 1286 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1287 f:\sp\vctools\crt_bld\self_x86\crt\src\cvt.h -FILE 1288 f:\sp\vctools\crt_bld\self_x86\crt\src\conio.h -FILE 1289 f:\sp\public\sdk\inc\winreg.h -FILE 1290 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1291 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1292 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1293 f:\sp\public\sdk\inc\ddbanned.h -FILE 1294 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1295 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1296 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1297 f:\sp\public\sdk\inc\tvout.h -FILE 1298 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1299 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 1300 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1301 f:\sp\public\sdk\inc\wincon.h -FILE 1302 f:\sp\public\sdk\inc\imm.h -FILE 1303 f:\sp\public\sdk\inc\winbase.h -FILE 1304 f:\sp\public\sdk\inc\wingdi.h -FILE 1305 f:\sp\public\sdk\inc\winver.h -FILE 1306 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1307 f:\sp\public\sdk\inc\windows.h -FILE 1308 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1309 f:\sp\public\sdk\inc\pshpack2.h -FILE 1310 f:\sp\public\sdk\inc\reason.h -FILE 1311 f:\sp\vctools\crt_bld\self_x86\crt\src\fltintrn.h -FILE 1312 f:\sp\vctools\crt_bld\self_x86\crt\src\output.c -FILE 1313 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1314 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1315 f:\sp\public\sdk\inc\specstrings.h -FILE 1316 f:\sp\public\sdk\inc\basetsd.h -FILE 1317 f:\sp\public\sdk\inc\pshpack4.h -FILE 1318 f:\sp\public\sdk\inc\winnetwk.h -FILE 1319 f:\sp\public\sdk\inc\stralign.h -FILE 1320 f:\sp\public\sdk\inc\poppack.h -FILE 1321 f:\sp\public\sdk\inc\winsvc.h -FILE 1322 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1323 f:\sp\public\sdk\inc\windef.h -FILE 1324 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1325 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1326 f:\sp\public\sdk\inc\winuser.h -FILE 1327 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1328 f:\sp\public\sdk\inc\mcx.h -FILE 1329 f:\sp\public\sdk\inc\pshpack8.h -FILE 1330 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1331 f:\sp\public\sdk\inc\guiddef.h -FILE 1332 f:\sp\public\sdk\inc\winnt.h -FILE 1333 f:\sp\public\sdk\inc\winnls.h -FILE 1334 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1335 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1336 f:\sp\public\sdk\inc\pshpack1.h -FILE 1337 f:\sp\public\sdk\inc\winerror.h -FILE 1338 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1339 f:\sp\vctools\crt_bld\self_x86\crt\src\cvt.h -FILE 1340 f:\sp\vctools\crt_bld\self_x86\crt\src\conio.h -FILE 1341 f:\sp\public\sdk\inc\winreg.h -FILE 1342 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1343 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1344 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1345 f:\sp\public\sdk\inc\ddbanned.h -FILE 1346 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1347 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1348 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1349 f:\sp\public\sdk\inc\tvout.h -FILE 1350 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1351 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 1352 f:\sp\public\sdk\inc\stralign.h -FILE 1353 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1354 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1355 f:\sp\public\sdk\inc\tvout.h -FILE 1356 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1357 f:\sp\public\sdk\inc\windows.h -FILE 1358 f:\sp\public\sdk\inc\winsvc.h -FILE 1359 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1360 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1361 f:\sp\public\sdk\inc\wingdi.h -FILE 1362 f:\sp\public\sdk\inc\pshpack4.h -FILE 1363 f:\sp\public\sdk\inc\poppack.h -FILE 1364 f:\sp\public\sdk\inc\winnetwk.h -FILE 1365 f:\sp\public\sdk\inc\imm.h -FILE 1366 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1367 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1368 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 1369 f:\sp\public\sdk\inc\windef.h -FILE 1370 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1371 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1372 f:\sp\public\sdk\inc\pshpack1.h -FILE 1373 f:\sp\public\sdk\inc\winver.h -FILE 1374 f:\sp\vctools\crt_bld\self_x86\crt\src\vswprnc.c -FILE 1375 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1376 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1377 f:\sp\public\sdk\inc\winnt.h -FILE 1378 f:\sp\public\sdk\inc\winreg.h -FILE 1379 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1380 f:\sp\vctools\crt_bld\self_x86\crt\src\vswprint.c -FILE 1381 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1382 f:\sp\public\sdk\inc\winbase.h -FILE 1383 f:\sp\public\sdk\inc\winerror.h -FILE 1384 f:\sp\public\sdk\inc\ddbanned.h -FILE 1385 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1386 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1387 f:\sp\public\sdk\inc\pshpack8.h -FILE 1388 f:\sp\public\sdk\inc\guiddef.h -FILE 1389 f:\sp\public\sdk\inc\specstrings.h -FILE 1390 f:\sp\public\sdk\inc\basetsd.h -FILE 1391 f:\sp\public\sdk\inc\reason.h -FILE 1392 f:\sp\public\sdk\inc\wincon.h -FILE 1393 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 1394 f:\sp\public\sdk\inc\pshpack2.h -FILE 1395 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1396 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1397 f:\sp\public\sdk\inc\mcx.h -FILE 1398 f:\sp\public\sdk\inc\winuser.h -FILE 1399 f:\sp\public\sdk\inc\winnls.h -FILE 1400 f:\sp\public\sdk\inc\pshpack1.h -FILE 1401 f:\sp\public\sdk\inc\winver.h -FILE 1402 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1403 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1404 f:\sp\public\sdk\inc\winnt.h -FILE 1405 f:\sp\public\sdk\inc\winreg.h -FILE 1406 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1407 f:\sp\public\sdk\inc\winbase.h -FILE 1408 f:\sp\public\sdk\inc\winerror.h -FILE 1409 f:\sp\public\sdk\inc\pshpack8.h -FILE 1410 f:\sp\public\sdk\inc\guiddef.h -FILE 1411 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1412 f:\sp\public\sdk\inc\specstrings.h -FILE 1413 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1414 f:\sp\public\sdk\inc\basetsd.h -FILE 1415 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1416 f:\sp\public\sdk\inc\reason.h -FILE 1417 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 1418 f:\sp\public\sdk\inc\wincon.h -FILE 1419 f:\sp\public\sdk\inc\pshpack2.h -FILE 1420 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1421 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1422 f:\sp\public\sdk\inc\mcx.h -FILE 1423 f:\sp\public\sdk\inc\winuser.h -FILE 1424 f:\sp\public\sdk\inc\winnls.h -FILE 1425 f:\sp\vctools\crt_bld\self_x86\crt\src\vswprint.c -FILE 1426 f:\sp\public\sdk\inc\stralign.h -FILE 1427 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1428 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1429 f:\sp\public\sdk\inc\tvout.h -FILE 1430 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1431 f:\sp\public\sdk\inc\windows.h -FILE 1432 f:\sp\public\sdk\inc\winsvc.h -FILE 1433 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1434 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1435 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1436 f:\sp\public\sdk\inc\wingdi.h -FILE 1437 f:\sp\public\sdk\inc\pshpack4.h -FILE 1438 f:\sp\public\sdk\inc\poppack.h -FILE 1439 f:\sp\public\sdk\inc\ddbanned.h -FILE 1440 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1441 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1442 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 1443 f:\sp\public\sdk\inc\winnetwk.h -FILE 1444 f:\sp\public\sdk\inc\imm.h -FILE 1445 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1446 f:\sp\public\sdk\inc\windef.h -FILE 1447 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1448 f:\sp\public\sdk\inc\windef.h -FILE 1449 f:\sp\public\sdk\inc\pshpack1.h -FILE 1450 f:\sp\public\sdk\inc\winver.h -FILE 1451 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1452 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1453 f:\sp\public\sdk\inc\winnt.h -FILE 1454 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1455 f:\sp\public\sdk\inc\winreg.h -FILE 1456 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1457 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1458 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1459 f:\sp\public\sdk\inc\winbase.h -FILE 1460 f:\sp\public\sdk\inc\winerror.h -FILE 1461 f:\sp\public\sdk\inc\pshpack8.h -FILE 1462 f:\sp\vctools\crt_bld\self_x86\crt\src\vfprintf.c -FILE 1463 f:\sp\public\sdk\inc\reason.h -FILE 1464 f:\sp\public\sdk\inc\wincon.h -FILE 1465 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1466 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1467 f:\sp\public\sdk\inc\pshpack2.h -FILE 1468 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1469 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 1470 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1471 f:\sp\public\sdk\inc\mcx.h -FILE 1472 f:\sp\public\sdk\inc\winuser.h -FILE 1473 f:\sp\public\sdk\inc\winnls.h -FILE 1474 f:\sp\public\sdk\inc\guiddef.h -FILE 1475 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1476 f:\sp\public\sdk\inc\windows.h -FILE 1477 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1478 f:\sp\public\sdk\inc\specstrings.h -FILE 1479 f:\sp\public\sdk\inc\basetsd.h -FILE 1480 f:\sp\public\sdk\inc\stralign.h -FILE 1481 f:\sp\public\sdk\inc\tvout.h -FILE 1482 f:\sp\public\sdk\inc\ddbanned.h -FILE 1483 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1484 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1485 f:\sp\public\sdk\inc\winsvc.h -FILE 1486 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1487 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1488 f:\sp\public\sdk\inc\wingdi.h -FILE 1489 f:\sp\public\sdk\inc\pshpack4.h -FILE 1490 f:\sp\public\sdk\inc\poppack.h -FILE 1491 f:\sp\public\sdk\inc\winnetwk.h -FILE 1492 f:\sp\public\sdk\inc\imm.h -FILE 1493 f:\sp\public\sdk\inc\windef.h -FILE 1494 f:\sp\public\sdk\inc\pshpack1.h -FILE 1495 f:\sp\public\sdk\inc\winver.h -FILE 1496 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1497 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1498 f:\sp\public\sdk\inc\winnt.h -FILE 1499 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1500 f:\sp\public\sdk\inc\winreg.h -FILE 1501 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1502 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1503 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1504 f:\sp\public\sdk\inc\winbase.h -FILE 1505 f:\sp\public\sdk\inc\winerror.h -FILE 1506 f:\sp\public\sdk\inc\pshpack8.h -FILE 1507 f:\sp\vctools\crt_bld\self_x86\crt\src\vprintf.c -FILE 1508 f:\sp\public\sdk\inc\reason.h -FILE 1509 f:\sp\public\sdk\inc\wincon.h -FILE 1510 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 1511 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1512 f:\sp\public\sdk\inc\pshpack2.h -FILE 1513 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1514 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1515 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1516 f:\sp\public\sdk\inc\mcx.h -FILE 1517 f:\sp\public\sdk\inc\winuser.h -FILE 1518 f:\sp\public\sdk\inc\winnls.h -FILE 1519 f:\sp\public\sdk\inc\guiddef.h -FILE 1520 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1521 f:\sp\public\sdk\inc\windows.h -FILE 1522 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1523 f:\sp\public\sdk\inc\specstrings.h -FILE 1524 f:\sp\public\sdk\inc\basetsd.h -FILE 1525 f:\sp\public\sdk\inc\stralign.h -FILE 1526 f:\sp\public\sdk\inc\tvout.h -FILE 1527 f:\sp\public\sdk\inc\ddbanned.h -FILE 1528 f:\sp\public\sdk\inc\winsvc.h -FILE 1529 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1530 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1531 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1532 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1533 f:\sp\public\sdk\inc\wingdi.h -FILE 1534 f:\sp\public\sdk\inc\pshpack4.h -FILE 1535 f:\sp\public\sdk\inc\poppack.h -FILE 1536 f:\sp\public\sdk\inc\winnetwk.h -FILE 1537 f:\sp\public\sdk\inc\imm.h -FILE 1538 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1539 f:\sp\public\sdk\inc\pshpack1.h -FILE 1540 f:\sp\public\sdk\inc\winver.h -FILE 1541 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1542 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1543 f:\sp\public\sdk\inc\winnt.h -FILE 1544 f:\sp\public\sdk\inc\winreg.h -FILE 1545 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1546 f:\sp\public\sdk\inc\winbase.h -FILE 1547 f:\sp\public\sdk\inc\winerror.h -FILE 1548 f:\sp\public\sdk\inc\pshpack8.h -FILE 1549 f:\sp\public\sdk\inc\guiddef.h -FILE 1550 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1551 f:\sp\public\sdk\inc\specstrings.h -FILE 1552 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1553 f:\sp\public\sdk\inc\basetsd.h -FILE 1554 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1555 f:\sp\public\sdk\inc\reason.h -FILE 1556 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 1557 f:\sp\public\sdk\inc\wincon.h -FILE 1558 f:\sp\public\sdk\inc\pshpack2.h -FILE 1559 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1560 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1561 f:\sp\public\sdk\inc\mcx.h -FILE 1562 f:\sp\public\sdk\inc\winuser.h -FILE 1563 f:\sp\public\sdk\inc\winnls.h -FILE 1564 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.c -FILE 1565 f:\sp\public\sdk\inc\stralign.h -FILE 1566 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1567 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1568 f:\sp\public\sdk\inc\tvout.h -FILE 1569 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1570 f:\sp\public\sdk\inc\windows.h -FILE 1571 f:\sp\public\sdk\inc\winsvc.h -FILE 1572 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1573 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1574 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1575 f:\sp\public\sdk\inc\wingdi.h -FILE 1576 f:\sp\public\sdk\inc\pshpack4.h -FILE 1577 f:\sp\public\sdk\inc\poppack.h -FILE 1578 f:\sp\public\sdk\inc\ddbanned.h -FILE 1579 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1580 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1581 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 1582 f:\sp\public\sdk\inc\winnetwk.h -FILE 1583 f:\sp\public\sdk\inc\imm.h -FILE 1584 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1585 f:\sp\public\sdk\inc\windef.h -FILE 1586 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1587 f:\sp\public\sdk\inc\windef.h -FILE 1588 f:\sp\public\sdk\inc\pshpack1.h -FILE 1589 f:\sp\public\sdk\inc\winver.h -FILE 1590 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1591 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1592 f:\sp\public\sdk\inc\winnt.h -FILE 1593 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1594 f:\sp\public\sdk\inc\winreg.h -FILE 1595 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1596 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1597 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1598 f:\sp\public\sdk\inc\winbase.h -FILE 1599 f:\sp\public\sdk\inc\winerror.h -FILE 1600 f:\sp\public\sdk\inc\pshpack8.h -FILE 1601 f:\sp\vctools\crt_bld\self_x86\crt\src\printf.c -FILE 1602 f:\sp\public\sdk\inc\reason.h -FILE 1603 f:\sp\public\sdk\inc\wincon.h -FILE 1604 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1605 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1606 f:\sp\public\sdk\inc\pshpack2.h -FILE 1607 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1608 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 1609 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1610 f:\sp\public\sdk\inc\mcx.h -FILE 1611 f:\sp\public\sdk\inc\winuser.h -FILE 1612 f:\sp\public\sdk\inc\winnls.h -FILE 1613 f:\sp\public\sdk\inc\guiddef.h -FILE 1614 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1615 f:\sp\public\sdk\inc\windows.h -FILE 1616 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1617 f:\sp\public\sdk\inc\specstrings.h -FILE 1618 f:\sp\public\sdk\inc\basetsd.h -FILE 1619 f:\sp\public\sdk\inc\stralign.h -FILE 1620 f:\sp\public\sdk\inc\tvout.h -FILE 1621 f:\sp\public\sdk\inc\ddbanned.h -FILE 1622 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1623 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1624 f:\sp\public\sdk\inc\winsvc.h -FILE 1625 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1626 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1627 f:\sp\vctools\crt_bld\self_x86\crt\src\process.h -FILE 1628 f:\sp\public\sdk\inc\wingdi.h -FILE 1629 f:\sp\public\sdk\inc\pshpack4.h -FILE 1630 f:\sp\public\sdk\inc\poppack.h -FILE 1631 f:\sp\public\sdk\inc\winnetwk.h -FILE 1632 f:\sp\public\sdk\inc\imm.h -FILE 1633 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1634 f:\sp\public\sdk\inc\windef.h -FILE 1635 f:\sp\public\sdk\inc\pshpack1.h -FILE 1636 f:\sp\public\sdk\inc\winver.h -FILE 1637 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1638 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1639 f:\sp\public\sdk\inc\winnt.h -FILE 1640 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1641 f:\sp\public\sdk\inc\winreg.h -FILE 1642 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1643 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1644 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1645 f:\sp\public\sdk\inc\winbase.h -FILE 1646 f:\sp\public\sdk\inc\winerror.h -FILE 1647 f:\sp\public\sdk\inc\pshpack8.h -FILE 1648 f:\sp\vctools\crt_bld\self_x86\crt\src\fprintf.c -FILE 1649 f:\sp\public\sdk\inc\reason.h -FILE 1650 f:\sp\public\sdk\inc\wincon.h -FILE 1651 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1652 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1653 f:\sp\public\sdk\inc\pshpack2.h -FILE 1654 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1655 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 1656 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1657 f:\sp\public\sdk\inc\mcx.h -FILE 1658 f:\sp\public\sdk\inc\winuser.h -FILE 1659 f:\sp\public\sdk\inc\winnls.h -FILE 1660 f:\sp\public\sdk\inc\guiddef.h -FILE 1661 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1662 f:\sp\public\sdk\inc\windows.h -FILE 1663 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1664 f:\sp\public\sdk\inc\specstrings.h -FILE 1665 f:\sp\public\sdk\inc\basetsd.h -FILE 1666 f:\sp\public\sdk\inc\stralign.h -FILE 1667 f:\sp\public\sdk\inc\tvout.h -FILE 1668 f:\sp\public\sdk\inc\ddbanned.h -FILE 1669 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1670 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1671 f:\sp\public\sdk\inc\winsvc.h -FILE 1672 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1673 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1674 f:\sp\public\sdk\inc\wingdi.h -FILE 1675 f:\sp\public\sdk\inc\pshpack4.h -FILE 1676 f:\sp\public\sdk\inc\poppack.h -FILE 1677 f:\sp\public\sdk\inc\winnetwk.h -FILE 1678 f:\sp\public\sdk\inc\imm.h -FILE 1679 f:\sp\public\sdk\inc\pshpack1.h -FILE 1680 f:\sp\public\sdk\inc\winver.h -FILE 1681 f:\sp\public\sdk\inc\winnt.h -FILE 1682 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1683 f:\sp\public\sdk\inc\winreg.h -FILE 1684 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1685 f:\sp\public\sdk\inc\winbase.h -FILE 1686 f:\sp\public\sdk\inc\winerror.h -FILE 1687 f:\sp\public\sdk\inc\pshpack8.h -FILE 1688 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 1689 f:\sp\public\sdk\inc\reason.h -FILE 1690 f:\sp\public\sdk\inc\wincon.h -FILE 1691 f:\sp\public\sdk\inc\pshpack2.h -FILE 1692 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1693 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1694 f:\sp\public\sdk\inc\mcx.h -FILE 1695 f:\sp\public\sdk\inc\winuser.h -FILE 1696 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1697 f:\sp\public\sdk\inc\winnls.h -FILE 1698 f:\sp\public\sdk\inc\guiddef.h -FILE 1699 f:\sp\public\sdk\inc\windows.h -FILE 1700 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1701 f:\sp\public\sdk\inc\specstrings.h -FILE 1702 f:\sp\public\sdk\inc\basetsd.h -FILE 1703 f:\sp\public\sdk\inc\stralign.h -FILE 1704 f:\sp\vctools\crt_bld\self_x86\crt\src\fflush.c -FILE 1705 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 1706 f:\sp\vctools\crt_bld\self_x86\crt\src\io.h -FILE 1707 f:\sp\public\sdk\inc\tvout.h -FILE 1708 f:\sp\public\sdk\inc\winsvc.h -FILE 1709 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1710 f:\sp\public\sdk\inc\wingdi.h -FILE 1711 f:\sp\public\sdk\inc\pshpack4.h -FILE 1712 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1713 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1714 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1715 f:\sp\public\sdk\inc\poppack.h -FILE 1716 f:\sp\public\sdk\inc\ddbanned.h -FILE 1717 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1718 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1719 f:\sp\public\sdk\inc\winnetwk.h -FILE 1720 f:\sp\public\sdk\inc\imm.h -FILE 1721 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1722 f:\sp\public\sdk\inc\windef.h -FILE 1723 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1724 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1725 f:\sp\public\sdk\inc\pshpack8.h -FILE 1726 f:\sp\public\sdk\inc\reason.h -FILE 1727 f:\sp\public\sdk\inc\wincon.h -FILE 1728 f:\sp\public\sdk\inc\pshpack2.h -FILE 1729 f:\sp\public\sdk\inc\mcx.h -FILE 1730 f:\sp\public\sdk\inc\winuser.h -FILE 1731 f:\sp\public\sdk\inc\winnls.h -FILE 1732 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1733 f:\sp\public\sdk\inc\windef.h -FILE 1734 f:\sp\public\sdk\inc\stralign.h -FILE 1735 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 1736 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1737 f:\sp\public\sdk\inc\tvout.h -FILE 1738 f:\sp\public\sdk\inc\winsvc.h -FILE 1739 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1740 f:\sp\public\sdk\inc\wingdi.h -FILE 1741 f:\sp\public\sdk\inc\pshpack4.h -FILE 1742 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1743 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1744 f:\sp\public\sdk\inc\poppack.h -FILE 1745 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1746 f:\sp\public\sdk\inc\winnt.h -FILE 1747 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1748 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1749 f:\sp\public\sdk\inc\winnetwk.h -FILE 1750 f:\sp\public\sdk\inc\imm.h -FILE 1751 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1752 f:\sp\vctools\crt_bld\self_x86\crt\src\fclose.c -FILE 1753 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1754 f:\sp\public\sdk\inc\pshpack1.h -FILE 1755 f:\sp\public\sdk\inc\winver.h -FILE 1756 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1757 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1758 f:\sp\public\sdk\inc\guiddef.h -FILE 1759 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1760 f:\sp\public\sdk\inc\ddbanned.h -FILE 1761 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1762 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1763 f:\sp\public\sdk\inc\specstrings.h -FILE 1764 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1765 f:\sp\public\sdk\inc\basetsd.h -FILE 1766 f:\sp\public\sdk\inc\windows.h -FILE 1767 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1768 f:\sp\vctools\crt_bld\self_x86\crt\src\io.h -FILE 1769 f:\sp\public\sdk\inc\winreg.h -FILE 1770 f:\sp\public\sdk\inc\winbase.h -FILE 1771 f:\sp\public\sdk\inc\winerror.h -FILE 1772 f:\sp\public\sdk\inc\poppack.h -FILE 1773 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 1774 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1775 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1776 f:\sp\public\sdk\inc\winnetwk.h -FILE 1777 f:\sp\public\sdk\inc\imm.h -FILE 1778 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1779 f:\sp\public\sdk\inc\windef.h -FILE 1780 f:\sp\public\sdk\inc\pshpack1.h -FILE 1781 f:\sp\public\sdk\inc\winver.h -FILE 1782 f:\sp\public\sdk\inc\windows.h -FILE 1783 f:\sp\public\sdk\inc\winnt.h -FILE 1784 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1785 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1786 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1787 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1788 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1789 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1790 f:\sp\public\sdk\inc\winreg.h -FILE 1791 f:\sp\public\sdk\inc\winbase.h -FILE 1792 f:\sp\vctools\crt_bld\self_x86\crt\src\closeall.c -FILE 1793 f:\sp\public\sdk\inc\winerror.h -FILE 1794 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1795 f:\sp\public\sdk\inc\pshpack8.h -FILE 1796 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1797 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1798 f:\sp\public\sdk\inc\reason.h -FILE 1799 f:\sp\public\sdk\inc\wincon.h -FILE 1800 f:\sp\public\sdk\inc\ddbanned.h -FILE 1801 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1802 f:\sp\public\sdk\inc\pshpack2.h -FILE 1803 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1804 f:\sp\public\sdk\inc\mcx.h -FILE 1805 f:\sp\public\sdk\inc\winuser.h -FILE 1806 f:\sp\public\sdk\inc\winnls.h -FILE 1807 f:\sp\public\sdk\inc\guiddef.h -FILE 1808 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1809 f:\sp\public\sdk\inc\specstrings.h -FILE 1810 f:\sp\public\sdk\inc\basetsd.h -FILE 1811 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1812 f:\sp\public\sdk\inc\stralign.h -FILE 1813 f:\sp\public\sdk\inc\tvout.h -FILE 1814 f:\sp\public\sdk\inc\winsvc.h -FILE 1815 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1816 f:\sp\public\sdk\inc\wingdi.h -FILE 1817 f:\sp\public\sdk\inc\pshpack4.h -FILE 1818 f:\sp\public\sdk\inc\pshpack8.h -FILE 1819 f:\sp\public\sdk\inc\reason.h -FILE 1820 f:\sp\public\sdk\inc\wincon.h -FILE 1821 f:\sp\public\sdk\inc\pshpack2.h -FILE 1822 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1823 f:\sp\public\sdk\inc\mcx.h -FILE 1824 f:\sp\public\sdk\inc\winuser.h -FILE 1825 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1826 f:\sp\public\sdk\inc\winnls.h -FILE 1827 f:\sp\public\sdk\inc\guiddef.h -FILE 1828 f:\sp\public\sdk\inc\windows.h -FILE 1829 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1830 f:\sp\public\sdk\inc\specstrings.h -FILE 1831 f:\sp\public\sdk\inc\basetsd.h -FILE 1832 f:\sp\public\sdk\inc\stralign.h -FILE 1833 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 1834 f:\sp\vctools\crt_bld\self_x86\crt\src\io.h -FILE 1835 f:\sp\public\sdk\inc\tvout.h -FILE 1836 f:\sp\public\sdk\inc\winsvc.h -FILE 1837 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1838 f:\sp\public\sdk\inc\wingdi.h -FILE 1839 f:\sp\public\sdk\inc\pshpack4.h -FILE 1840 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1841 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1842 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1843 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1844 f:\sp\public\sdk\inc\poppack.h -FILE 1845 f:\sp\public\sdk\inc\winnetwk.h -FILE 1846 f:\sp\public\sdk\inc\imm.h -FILE 1847 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1848 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1849 f:\sp\public\sdk\inc\windef.h -FILE 1850 f:\sp\vctools\crt_bld\self_x86\crt\src\_sftbuf.c -FILE 1851 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1852 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1853 f:\sp\public\sdk\inc\pshpack1.h -FILE 1854 f:\sp\public\sdk\inc\winver.h -FILE 1855 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1856 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1857 f:\sp\public\sdk\inc\ddbanned.h -FILE 1858 f:\sp\public\sdk\inc\winnt.h -FILE 1859 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1860 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1861 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1862 f:\sp\public\sdk\inc\winreg.h -FILE 1863 f:\sp\public\sdk\inc\winbase.h -FILE 1864 f:\sp\public\sdk\inc\winerror.h -FILE 1865 f:\sp\public\sdk\inc\pshpack1.h -FILE 1866 f:\sp\public\sdk\inc\winver.h -FILE 1867 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1868 f:\sp\public\sdk\inc\winnt.h -FILE 1869 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1870 f:\sp\public\sdk\inc\winreg.h -FILE 1871 f:\sp\public\sdk\inc\winbase.h -FILE 1872 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 1873 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1874 f:\sp\public\sdk\inc\winerror.h -FILE 1875 f:\sp\public\sdk\inc\pshpack8.h -FILE 1876 f:\sp\public\sdk\inc\reason.h -FILE 1877 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1878 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1879 f:\sp\public\sdk\inc\wincon.h -FILE 1880 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1881 f:\sp\public\sdk\inc\pshpack2.h -FILE 1882 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1883 f:\sp\public\sdk\inc\mcx.h -FILE 1884 f:\sp\public\sdk\inc\winuser.h -FILE 1885 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1886 f:\sp\public\sdk\inc\winnls.h -FILE 1887 f:\sp\public\sdk\inc\guiddef.h -FILE 1888 f:\sp\public\sdk\inc\windows.h -FILE 1889 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1890 f:\sp\public\sdk\inc\specstrings.h -FILE 1891 f:\sp\public\sdk\inc\basetsd.h -FILE 1892 f:\sp\public\sdk\inc\stralign.h -FILE 1893 f:\sp\vctools\crt_bld\self_x86\crt\src\_getbuf.c -FILE 1894 f:\sp\public\sdk\inc\tvout.h -FILE 1895 f:\sp\public\sdk\inc\winsvc.h -FILE 1896 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1897 f:\sp\public\sdk\inc\wingdi.h -FILE 1898 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1899 f:\sp\public\sdk\inc\pshpack4.h -FILE 1900 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1901 f:\sp\public\sdk\inc\poppack.h -FILE 1902 f:\sp\public\sdk\inc\ddbanned.h -FILE 1903 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1904 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1905 f:\sp\public\sdk\inc\winnetwk.h -FILE 1906 f:\sp\public\sdk\inc\imm.h -FILE 1907 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1908 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1909 f:\sp\public\sdk\inc\windef.h -FILE 1910 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1911 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1912 f:\sp\public\sdk\inc\windef.h -FILE 1913 f:\sp\public\sdk\inc\pshpack1.h -FILE 1914 f:\sp\public\sdk\inc\winver.h -FILE 1915 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 1916 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1917 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1918 f:\sp\public\sdk\inc\winnt.h -FILE 1919 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1920 f:\sp\public\sdk\inc\winreg.h -FILE 1921 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1922 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1923 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1924 f:\sp\public\sdk\inc\winbase.h -FILE 1925 f:\sp\public\sdk\inc\winerror.h -FILE 1926 f:\sp\public\sdk\inc\pshpack8.h -FILE 1927 f:\sp\vctools\crt_bld\self_x86\crt\src\_freebuf.c -FILE 1928 f:\sp\public\sdk\inc\reason.h -FILE 1929 f:\sp\public\sdk\inc\wincon.h -FILE 1930 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1931 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1932 f:\sp\public\sdk\inc\pshpack2.h -FILE 1933 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1934 f:\sp\public\sdk\inc\mcx.h -FILE 1935 f:\sp\public\sdk\inc\winuser.h -FILE 1936 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1937 f:\sp\public\sdk\inc\winnls.h -FILE 1938 f:\sp\public\sdk\inc\guiddef.h -FILE 1939 f:\sp\public\sdk\inc\windows.h -FILE 1940 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1941 f:\sp\public\sdk\inc\specstrings.h -FILE 1942 f:\sp\public\sdk\inc\basetsd.h -FILE 1943 f:\sp\public\sdk\inc\stralign.h -FILE 1944 f:\sp\public\sdk\inc\tvout.h -FILE 1945 f:\sp\public\sdk\inc\ddbanned.h -FILE 1946 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1947 f:\sp\public\sdk\inc\winsvc.h -FILE 1948 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1949 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1950 f:\sp\public\sdk\inc\wingdi.h -FILE 1951 f:\sp\public\sdk\inc\pshpack4.h -FILE 1952 f:\sp\public\sdk\inc\poppack.h -FILE 1953 f:\sp\public\sdk\inc\winnetwk.h -FILE 1954 f:\sp\public\sdk\inc\imm.h -FILE 1955 f:\sp\public\sdk\inc\specstrings.h -FILE 1956 f:\sp\public\sdk\inc\basetsd.h -FILE 1957 f:\sp\public\sdk\inc\reason.h -FILE 1958 f:\sp\public\sdk\inc\wincon.h -FILE 1959 f:\sp\public\sdk\inc\pshpack2.h -FILE 1960 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1961 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1962 f:\sp\public\sdk\inc\mcx.h -FILE 1963 f:\sp\public\sdk\inc\winuser.h -FILE 1964 f:\sp\public\sdk\inc\winnls.h -FILE 1965 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1966 f:\sp\public\sdk\inc\stralign.h -FILE 1967 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1968 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1969 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1970 f:\sp\public\sdk\inc\windows.h -FILE 1971 f:\sp\public\sdk\inc\tvout.h -FILE 1972 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1973 f:\sp\public\sdk\inc\winsvc.h -FILE 1974 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 1975 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 1976 f:\sp\public\sdk\inc\wingdi.h -FILE 1977 f:\sp\vctools\crt_bld\self_x86\crt\src\io.h -FILE 1978 f:\sp\public\sdk\inc\pshpack4.h -FILE 1979 f:\sp\public\sdk\inc\poppack.h -FILE 1980 f:\sp\vctools\crt_bld\self_x86\crt\src\_flsbuf.c -FILE 1981 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 1982 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1983 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1984 f:\sp\public\sdk\inc\winnetwk.h -FILE 1985 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 1986 f:\sp\public\sdk\inc\imm.h -FILE 1987 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1988 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1989 f:\sp\vctools\crt_bld\self_x86\crt\src\_flswbuf.c -FILE 1990 f:\sp\public\sdk\inc\windef.h -FILE 1991 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1992 f:\sp\public\sdk\inc\pshpack1.h -FILE 1993 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1994 f:\sp\public\sdk\inc\winver.h -FILE 1995 f:\sp\public\sdk\inc\ddbanned.h -FILE 1996 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1997 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1998 f:\sp\public\sdk\inc\winnt.h -FILE 1999 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2000 f:\sp\public\sdk\inc\winreg.h -FILE 2001 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 2002 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 2003 f:\sp\public\sdk\inc\winbase.h -FILE 2004 f:\sp\public\sdk\inc\winerror.h -FILE 2005 f:\sp\public\sdk\inc\pshpack8.h -FILE 2006 f:\sp\public\sdk\inc\guiddef.h -FILE 2007 f:\sp\public\sdk\inc\basetsd.h -FILE 2008 f:\sp\public\sdk\inc\reason.h -FILE 2009 f:\sp\public\sdk\inc\wincon.h -FILE 2010 f:\sp\public\sdk\inc\pshpack2.h -FILE 2011 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2012 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2013 f:\sp\public\sdk\inc\mcx.h -FILE 2014 f:\sp\public\sdk\inc\winuser.h -FILE 2015 f:\sp\public\sdk\inc\winnls.h -FILE 2016 f:\sp\public\sdk\inc\stralign.h -FILE 2017 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2018 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2019 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2020 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2021 f:\sp\public\sdk\inc\tvout.h -FILE 2022 f:\sp\public\sdk\inc\windows.h -FILE 2023 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2024 f:\sp\public\sdk\inc\winsvc.h -FILE 2025 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 2026 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 2027 f:\sp\public\sdk\inc\wingdi.h -FILE 2028 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 2029 f:\sp\vctools\crt_bld\self_x86\crt\src\io.h -FILE 2030 f:\sp\public\sdk\inc\pshpack4.h -FILE 2031 f:\sp\public\sdk\inc\poppack.h -FILE 2032 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 2033 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2034 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2035 f:\sp\public\sdk\inc\winnetwk.h -FILE 2036 f:\sp\public\sdk\inc\imm.h -FILE 2037 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 2038 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2039 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2040 f:\sp\public\sdk\inc\windef.h -FILE 2041 f:\sp\vctools\crt_bld\self_x86\crt\src\_flsbuf.c -FILE 2042 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 2043 f:\sp\public\sdk\inc\pshpack1.h -FILE 2044 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 2045 f:\sp\public\sdk\inc\winver.h -FILE 2046 f:\sp\public\sdk\inc\ddbanned.h -FILE 2047 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2048 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2049 f:\sp\public\sdk\inc\winnt.h -FILE 2050 f:\sp\public\sdk\inc\winreg.h -FILE 2051 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2052 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 2053 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 2054 f:\sp\public\sdk\inc\winbase.h -FILE 2055 f:\sp\public\sdk\inc\winerror.h -FILE 2056 f:\sp\public\sdk\inc\pshpack8.h -FILE 2057 f:\sp\public\sdk\inc\guiddef.h -FILE 2058 f:\sp\public\sdk\inc\specstrings.h -FILE 2059 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 2060 f:\sp\public\sdk\inc\reason.h -FILE 2061 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2062 f:\sp\public\sdk\inc\wincon.h -FILE 2063 f:\sp\public\sdk\inc\pshpack2.h -FILE 2064 f:\sp\public\sdk\inc\mcx.h -FILE 2065 f:\sp\public\sdk\inc\winuser.h -FILE 2066 f:\sp\public\sdk\inc\winnls.h -FILE 2067 f:\sp\public\sdk\inc\guiddef.h -FILE 2068 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2069 f:\sp\public\sdk\inc\specstrings.h -FILE 2070 f:\sp\public\sdk\inc\basetsd.h -FILE 2071 f:\sp\public\sdk\inc\stralign.h -FILE 2072 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2073 f:\sp\public\sdk\inc\tvout.h -FILE 2074 f:\sp\public\sdk\inc\winsvc.h -FILE 2075 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2076 f:\sp\public\sdk\inc\wingdi.h -FILE 2077 f:\sp\public\sdk\inc\pshpack4.h -FILE 2078 f:\sp\public\sdk\inc\poppack.h -FILE 2079 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 2080 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 2081 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2082 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2083 f:\sp\public\sdk\inc\winnetwk.h -FILE 2084 f:\sp\public\sdk\inc\imm.h -FILE 2085 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2086 f:\sp\public\sdk\inc\windef.h -FILE 2087 f:\sp\vctools\crt_bld\self_x86\crt\src\_file.c -FILE 2088 f:\sp\public\sdk\inc\pshpack1.h -FILE 2089 f:\sp\public\sdk\inc\winver.h -FILE 2090 f:\sp\public\sdk\inc\windows.h -FILE 2091 f:\sp\public\sdk\inc\winnt.h -FILE 2092 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2093 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2094 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2095 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2096 f:\sp\public\sdk\inc\ddbanned.h -FILE 2097 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2098 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 2099 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2100 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 2101 f:\sp\public\sdk\inc\winreg.h -FILE 2102 f:\sp\public\sdk\inc\winbase.h -FILE 2103 f:\sp\public\sdk\inc\winerror.h -FILE 2104 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2105 f:\sp\public\sdk\inc\pshpack8.h -FILE 2106 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 2107 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2108 f:\sp\public\sdk\inc\windef.h -FILE 2109 f:\sp\public\sdk\inc\pshpack1.h -FILE 2110 f:\sp\public\sdk\inc\winver.h -FILE 2111 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2112 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2113 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2114 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2115 f:\sp\public\sdk\inc\winnt.h -FILE 2116 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2117 f:\sp\public\sdk\inc\winreg.h -FILE 2118 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 2119 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2120 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2121 f:\sp\public\sdk\inc\winbase.h -FILE 2122 f:\sp\public\sdk\inc\winerror.h -FILE 2123 f:\sp\public\sdk\inc\pshpack8.h -FILE 2124 f:\sp\vctools\crt_bld\self_x86\crt\src\fputwc.c -FILE 2125 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2126 f:\sp\public\sdk\inc\reason.h -FILE 2127 f:\sp\public\sdk\inc\wincon.h -FILE 2128 f:\sp\public\sdk\inc\pshpack2.h -FILE 2129 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 2130 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 2131 f:\sp\public\sdk\inc\mcx.h -FILE 2132 f:\sp\public\sdk\inc\winuser.h -FILE 2133 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 2134 f:\sp\public\sdk\inc\winnls.h -FILE 2135 f:\sp\public\sdk\inc\guiddef.h -FILE 2136 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 2137 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 2138 f:\sp\public\sdk\inc\stralign.h -FILE 2139 f:\sp\public\sdk\inc\specstrings.h -FILE 2140 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 2141 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2142 f:\sp\public\sdk\inc\basetsd.h -FILE 2143 f:\sp\public\sdk\inc\windows.h -FILE 2144 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2145 f:\sp\public\sdk\inc\tvout.h -FILE 2146 f:\sp\public\sdk\inc\ddbanned.h -FILE 2147 f:\sp\public\sdk\inc\winsvc.h -FILE 2148 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2149 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2150 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2151 f:\sp\public\sdk\inc\wingdi.h -FILE 2152 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2153 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2154 f:\sp\public\sdk\inc\pshpack4.h -FILE 2155 f:\sp\public\sdk\inc\poppack.h -FILE 2156 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 2157 f:\sp\public\sdk\inc\winnetwk.h -FILE 2158 f:\sp\public\sdk\inc\imm.h -FILE 2159 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2160 f:\sp\public\sdk\inc\poppack.h -FILE 2161 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 2162 f:\sp\public\sdk\inc\winnetwk.h -FILE 2163 f:\sp\public\sdk\inc\imm.h -FILE 2164 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2165 f:\sp\public\sdk\inc\windef.h -FILE 2166 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2167 f:\sp\public\sdk\inc\pshpack1.h -FILE 2168 f:\sp\public\sdk\inc\winver.h -FILE 2169 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2170 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2171 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2172 f:\sp\public\sdk\inc\winnt.h -FILE 2173 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2174 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2175 f:\sp\public\sdk\inc\winreg.h -FILE 2176 f:\sp\vctools\crt_bld\self_x86\crt\src\fileno.c -FILE 2177 f:\sp\public\sdk\inc\winbase.h -FILE 2178 f:\sp\public\sdk\inc\winerror.h -FILE 2179 f:\sp\public\sdk\inc\pshpack8.h -FILE 2180 f:\sp\public\sdk\inc\reason.h -FILE 2181 f:\sp\public\sdk\inc\wincon.h -FILE 2182 f:\sp\public\sdk\inc\ddbanned.h -FILE 2183 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2184 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2185 f:\sp\public\sdk\inc\pshpack2.h -FILE 2186 f:\sp\public\sdk\inc\mcx.h -FILE 2187 f:\sp\public\sdk\inc\winuser.h -FILE 2188 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2189 f:\sp\public\sdk\inc\winnls.h -FILE 2190 f:\sp\public\sdk\inc\guiddef.h -FILE 2191 f:\sp\public\sdk\inc\windows.h -FILE 2192 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2193 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 2194 f:\sp\public\sdk\inc\specstrings.h -FILE 2195 f:\sp\public\sdk\inc\basetsd.h -FILE 2196 f:\sp\public\sdk\inc\stralign.h -FILE 2197 f:\sp\public\sdk\inc\tvout.h -FILE 2198 f:\sp\public\sdk\inc\winsvc.h -FILE 2199 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2200 f:\sp\public\sdk\inc\wingdi.h -FILE 2201 f:\sp\public\sdk\inc\pshpack4.h -FILE 2202 f:\sp\public\sdk\inc\pshpack2.h -FILE 2203 f:\sp\public\sdk\inc\winreg.h -FILE 2204 f:\sp\public\sdk\inc\guiddef.h -FILE 2205 f:\sp\public\sdk\inc\windows.h -FILE 2206 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2207 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2208 f:\sp\public\sdk\inc\specstrings.h -FILE 2209 f:\sp\public\sdk\inc\basetsd.h -FILE 2210 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2211 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2212 f:\sp\public\sdk\inc\pshpack4.h -FILE 2213 f:\sp\public\sdk\inc\reason.h -FILE 2214 f:\sp\public\sdk\inc\wincon.h -FILE 2215 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2216 f:\sp\public\sdk\inc\poppack.h -FILE 2217 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2218 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 2219 f:\sp\public\sdk\inc\mcx.h -FILE 2220 f:\sp\public\sdk\inc\winuser.h -FILE 2221 f:\sp\public\sdk\inc\winnls.h -FILE 2222 f:\sp\public\sdk\inc\stralign.h -FILE 2223 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2224 f:\sp\public\sdk\inc\windef.h -FILE 2225 f:\sp\public\sdk\inc\tvout.h -FILE 2226 f:\sp\public\sdk\inc\winsvc.h -FILE 2227 f:\sp\vctools\crt_bld\self_x86\crt\src\tidtable.c -FILE 2228 f:\sp\public\sdk\inc\wingdi.h -FILE 2229 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2230 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2231 f:\sp\public\sdk\inc\winnt.h -FILE 2232 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2233 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2234 f:\sp\public\sdk\inc\winnetwk.h -FILE 2235 f:\sp\public\sdk\inc\imm.h -FILE 2236 f:\sp\public\sdk\inc\ddbanned.h -FILE 2237 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2238 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2239 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 2240 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2241 f:\sp\public\sdk\inc\winbase.h -FILE 2242 f:\sp\public\sdk\inc\winerror.h -FILE 2243 f:\sp\public\sdk\inc\pshpack1.h -FILE 2244 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 2245 f:\sp\vctools\crt_bld\self_x86\crt\src\memory.h -FILE 2246 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2247 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 2248 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 2249 f:\sp\public\sdk\inc\pshpack8.h -FILE 2250 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2251 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2252 f:\sp\public\sdk\inc\winver.h -FILE 2253 f:\sp\public\sdk\inc\pshpack4.h -FILE 2254 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 2255 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2256 f:\sp\public\sdk\inc\poppack.h -FILE 2257 f:\sp\public\sdk\inc\winnt.h -FILE 2258 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2259 f:\sp\public\sdk\inc\winnetwk.h -FILE 2260 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 2261 f:\sp\public\sdk\inc\imm.h -FILE 2262 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 2263 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2264 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2265 f:\sp\public\sdk\inc\pshpack1.h -FILE 2266 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2267 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2268 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2269 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2270 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2271 f:\sp\public\sdk\inc\winver.h -FILE 2272 f:\sp\public\sdk\inc\guiddef.h -FILE 2273 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2274 f:\sp\public\sdk\inc\specstrings.h -FILE 2275 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2276 f:\sp\public\sdk\inc\basetsd.h -FILE 2277 f:\sp\public\sdk\inc\windows.h -FILE 2278 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2279 f:\sp\public\sdk\inc\winreg.h -FILE 2280 f:\sp\vctools\crt_bld\self_x86\crt\src\stdenvp.c -FILE 2281 f:\sp\public\sdk\inc\winbase.h -FILE 2282 f:\sp\public\sdk\inc\winerror.h -FILE 2283 f:\sp\public\sdk\inc\pshpack8.h -FILE 2284 f:\sp\public\sdk\inc\reason.h -FILE 2285 f:\sp\public\sdk\inc\ddbanned.h -FILE 2286 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2287 f:\sp\public\sdk\inc\wincon.h -FILE 2288 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2289 f:\sp\public\sdk\inc\pshpack2.h -FILE 2290 f:\sp\public\sdk\inc\mcx.h -FILE 2291 f:\sp\public\sdk\inc\winuser.h -FILE 2292 f:\sp\public\sdk\inc\winnls.h -FILE 2293 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2294 f:\sp\public\sdk\inc\windef.h -FILE 2295 f:\sp\public\sdk\inc\stralign.h -FILE 2296 f:\sp\public\sdk\inc\tvout.h -FILE 2297 f:\sp\public\sdk\inc\winsvc.h -FILE 2298 f:\sp\public\sdk\inc\wingdi.h -FILE 2299 f:\sp\public\sdk\inc\poppack.h -FILE 2300 f:\sp\vctools\crt_bld\self_x86\crt\src\dos.h -FILE 2301 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2302 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 2303 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2304 f:\sp\public\sdk\inc\winnetwk.h -FILE 2305 f:\sp\public\sdk\inc\imm.h -FILE 2306 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2307 f:\sp\public\sdk\inc\windef.h -FILE 2308 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2309 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2310 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 2311 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 2312 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 2313 f:\sp\public\sdk\inc\pshpack1.h -FILE 2314 f:\sp\public\sdk\inc\winver.h -FILE 2315 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2316 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2317 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2318 f:\sp\public\sdk\inc\winnt.h -FILE 2319 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2320 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2321 f:\sp\public\sdk\inc\winreg.h -FILE 2322 f:\sp\vctools\crt_bld\self_x86\crt\src\stdargv.c -FILE 2323 f:\sp\public\sdk\inc\winbase.h -FILE 2324 f:\sp\public\sdk\inc\winerror.h -FILE 2325 f:\sp\public\sdk\inc\pshpack8.h -FILE 2326 f:\sp\public\sdk\inc\reason.h -FILE 2327 f:\sp\public\sdk\inc\wincon.h -FILE 2328 f:\sp\public\sdk\inc\ddbanned.h -FILE 2329 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2330 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2331 f:\sp\public\sdk\inc\pshpack2.h -FILE 2332 f:\sp\public\sdk\inc\mcx.h -FILE 2333 f:\sp\public\sdk\inc\winuser.h -FILE 2334 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2335 f:\sp\public\sdk\inc\winnls.h -FILE 2336 f:\sp\public\sdk\inc\guiddef.h -FILE 2337 f:\sp\public\sdk\inc\windows.h -FILE 2338 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2339 f:\sp\public\sdk\inc\specstrings.h -FILE 2340 f:\sp\public\sdk\inc\basetsd.h -FILE 2341 f:\sp\public\sdk\inc\stralign.h -FILE 2342 f:\sp\public\sdk\inc\tvout.h -FILE 2343 f:\sp\public\sdk\inc\winsvc.h -FILE 2344 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2345 f:\sp\public\sdk\inc\wingdi.h -FILE 2346 f:\sp\public\sdk\inc\pshpack4.h -FILE 2347 f:\sp\public\sdk\inc\reason.h -FILE 2348 f:\sp\public\sdk\inc\wincon.h -FILE 2349 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2350 f:\sp\public\sdk\inc\poppack.h -FILE 2351 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2352 f:\sp\public\sdk\inc\mcx.h -FILE 2353 f:\sp\public\sdk\inc\winuser.h -FILE 2354 f:\sp\public\sdk\inc\winnls.h -FILE 2355 f:\sp\public\sdk\inc\stralign.h -FILE 2356 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2357 f:\sp\public\sdk\inc\windef.h -FILE 2358 f:\sp\public\sdk\inc\tvout.h -FILE 2359 f:\sp\public\sdk\inc\winsvc.h -FILE 2360 f:\sp\public\sdk\inc\wingdi.h -FILE 2361 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2362 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2363 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2364 f:\sp\public\sdk\inc\winnt.h -FILE 2365 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2366 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2367 f:\sp\public\sdk\inc\winnetwk.h -FILE 2368 f:\sp\public\sdk\inc\imm.h -FILE 2369 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 2370 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2371 f:\sp\vctools\crt_bld\self_x86\crt\src\mlock.c -FILE 2372 f:\sp\public\sdk\inc\winbase.h -FILE 2373 f:\sp\public\sdk\inc\winerror.h -FILE 2374 f:\sp\public\sdk\inc\pshpack1.h -FILE 2375 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 2376 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2377 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 2378 f:\sp\public\sdk\inc\pshpack8.h -FILE 2379 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 2380 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 2381 f:\sp\public\sdk\inc\winver.h -FILE 2382 f:\sp\public\sdk\inc\ddbanned.h -FILE 2383 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2384 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2385 f:\sp\public\sdk\inc\pshpack2.h -FILE 2386 f:\sp\public\sdk\inc\winreg.h -FILE 2387 f:\sp\public\sdk\inc\guiddef.h -FILE 2388 f:\sp\public\sdk\inc\windows.h -FILE 2389 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2390 f:\sp\public\sdk\inc\specstrings.h -FILE 2391 f:\sp\public\sdk\inc\basetsd.h -FILE 2392 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2393 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 2394 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2395 f:\sp\public\sdk\inc\pshpack4.h -FILE 2396 f:\sp\public\sdk\inc\poppack.h -FILE 2397 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 2398 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 2399 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2400 f:\sp\public\sdk\inc\winnetwk.h -FILE 2401 f:\sp\public\sdk\inc\imm.h -FILE 2402 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2403 f:\sp\public\sdk\inc\windef.h -FILE 2404 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2405 f:\sp\public\sdk\inc\pshpack1.h -FILE 2406 f:\sp\public\sdk\inc\winver.h -FILE 2407 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2408 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2409 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2410 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 2411 f:\sp\public\sdk\inc\winnt.h -FILE 2412 f:\sp\vctools\crt_bld\self_x86\crt\src\cmsgs.h -FILE 2413 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2414 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2415 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2416 f:\sp\public\sdk\inc\winreg.h -FILE 2417 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2418 f:\sp\vctools\crt_bld\self_x86\crt\src\crt0msg.c -FILE 2419 f:\sp\public\sdk\inc\winbase.h -FILE 2420 f:\sp\public\sdk\inc\winerror.h -FILE 2421 f:\sp\public\sdk\inc\pshpack8.h -FILE 2422 f:\sp\public\sdk\inc\reason.h -FILE 2423 f:\sp\public\sdk\inc\wincon.h -FILE 2424 f:\sp\public\sdk\inc\ddbanned.h -FILE 2425 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2426 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2427 f:\sp\public\sdk\inc\pshpack2.h -FILE 2428 f:\sp\public\sdk\inc\mcx.h -FILE 2429 f:\sp\public\sdk\inc\winuser.h -FILE 2430 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2431 f:\sp\public\sdk\inc\winnls.h -FILE 2432 f:\sp\public\sdk\inc\guiddef.h -FILE 2433 f:\sp\public\sdk\inc\windows.h -FILE 2434 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 2435 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2436 f:\sp\public\sdk\inc\specstrings.h -FILE 2437 f:\sp\public\sdk\inc\basetsd.h -FILE 2438 f:\sp\public\sdk\inc\stralign.h -FILE 2439 f:\sp\public\sdk\inc\tvout.h -FILE 2440 f:\sp\public\sdk\inc\winsvc.h -FILE 2441 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2442 f:\sp\public\sdk\inc\wingdi.h -FILE 2443 f:\sp\public\sdk\inc\pshpack4.h -FILE 2444 f:\sp\public\sdk\inc\pshpack1.h -FILE 2445 f:\sp\public\sdk\inc\winver.h -FILE 2446 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2447 f:\sp\public\sdk\inc\winnt.h -FILE 2448 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2449 f:\sp\public\sdk\inc\winreg.h -FILE 2450 f:\sp\public\sdk\inc\winbase.h -FILE 2451 f:\sp\public\sdk\inc\winerror.h -FILE 2452 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 2453 f:\sp\public\sdk\inc\pshpack8.h -FILE 2454 f:\sp\public\sdk\inc\reason.h -FILE 2455 f:\sp\public\sdk\inc\wincon.h -FILE 2456 f:\sp\public\sdk\inc\pshpack2.h -FILE 2457 f:\sp\vctools\crt_bld\self_x86\crt\src\crt0init.c -FILE 2458 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2459 f:\sp\public\sdk\inc\mcx.h -FILE 2460 f:\sp\public\sdk\inc\winuser.h -FILE 2461 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2462 f:\sp\public\sdk\inc\winnls.h -FILE 2463 f:\sp\public\sdk\inc\guiddef.h -FILE 2464 f:\sp\public\sdk\inc\windows.h -FILE 2465 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2466 f:\sp\public\sdk\inc\specstrings.h -FILE 2467 f:\sp\public\sdk\inc\basetsd.h -FILE 2468 f:\sp\public\sdk\inc\stralign.h -FILE 2469 f:\sp\public\sdk\inc\tvout.h -FILE 2470 f:\sp\public\sdk\inc\winsvc.h -FILE 2471 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2472 f:\sp\public\sdk\inc\wingdi.h -FILE 2473 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 2474 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2475 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2476 f:\sp\public\sdk\inc\pshpack4.h -FILE 2477 f:\sp\public\sdk\inc\ddbanned.h -FILE 2478 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2479 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2480 f:\sp\public\sdk\inc\poppack.h -FILE 2481 f:\sp\public\sdk\inc\winnetwk.h -FILE 2482 f:\sp\public\sdk\inc\imm.h -FILE 2483 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2484 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2485 f:\sp\public\sdk\inc\windef.h -FILE 2486 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 2487 f:\sp\public\sdk\inc\poppack.h -FILE 2488 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 2489 f:\sp\public\sdk\inc\winnetwk.h -FILE 2490 f:\sp\public\sdk\inc\imm.h -FILE 2491 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2492 f:\sp\public\sdk\inc\windef.h -FILE 2493 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2494 f:\sp\public\sdk\inc\pshpack1.h -FILE 2495 f:\sp\public\sdk\inc\winver.h -FILE 2496 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2497 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2498 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2499 f:\sp\public\sdk\inc\winnt.h -FILE 2500 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2501 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2502 f:\sp\public\sdk\inc\winreg.h -FILE 2503 f:\sp\vctools\crt_bld\self_x86\crt\src\crt0fp.c -FILE 2504 f:\sp\public\sdk\inc\winbase.h -FILE 2505 f:\sp\public\sdk\inc\winerror.h -FILE 2506 f:\sp\public\sdk\inc\pshpack8.h -FILE 2507 f:\sp\public\sdk\inc\reason.h -FILE 2508 f:\sp\public\sdk\inc\wincon.h -FILE 2509 f:\sp\public\sdk\inc\ddbanned.h -FILE 2510 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2511 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2512 f:\sp\public\sdk\inc\pshpack2.h -FILE 2513 f:\sp\public\sdk\inc\mcx.h -FILE 2514 f:\sp\public\sdk\inc\winuser.h -FILE 2515 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2516 f:\sp\public\sdk\inc\winnls.h -FILE 2517 f:\sp\public\sdk\inc\guiddef.h -FILE 2518 f:\sp\public\sdk\inc\windows.h -FILE 2519 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2520 f:\sp\public\sdk\inc\specstrings.h -FILE 2521 f:\sp\public\sdk\inc\basetsd.h -FILE 2522 f:\sp\public\sdk\inc\stralign.h -FILE 2523 f:\sp\public\sdk\inc\tvout.h -FILE 2524 f:\sp\public\sdk\inc\winsvc.h -FILE 2525 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2526 f:\sp\public\sdk\inc\wingdi.h -FILE 2527 f:\sp\public\sdk\inc\pshpack4.h -FILE 2528 f:\sp\vctools\crt_bld\self_x86\crt\src\process.h -FILE 2529 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2530 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2531 f:\sp\public\sdk\inc\pshpack4.h -FILE 2532 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2533 f:\sp\public\sdk\inc\reason.h -FILE 2534 f:\sp\public\sdk\inc\wincon.h -FILE 2535 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2536 f:\sp\public\sdk\inc\poppack.h -FILE 2537 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 2538 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2539 f:\sp\public\sdk\inc\mcx.h -FILE 2540 f:\sp\public\sdk\inc\winuser.h -FILE 2541 f:\sp\public\sdk\inc\winnls.h -FILE 2542 f:\sp\public\sdk\inc\stralign.h -FILE 2543 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2544 f:\sp\public\sdk\inc\windef.h -FILE 2545 f:\sp\public\sdk\inc\tvout.h -FILE 2546 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2547 f:\sp\public\sdk\inc\winsvc.h -FILE 2548 f:\sp\public\sdk\inc\wingdi.h -FILE 2549 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 2550 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 2551 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2552 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2553 f:\sp\vctools\crt_bld\self_x86\crt\src\mbdata.h -FILE 2554 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 2555 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 2556 f:\sp\public\sdk\inc\winnt.h -FILE 2557 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2558 f:\sp\public\sdk\inc\winnetwk.h -FILE 2559 f:\sp\public\sdk\inc\imm.h -FILE 2560 f:\sp\vctools\crt_bld\self_x86\crt\src\crt0dat.c -FILE 2561 f:\sp\public\sdk\inc\winbase.h -FILE 2562 f:\sp\public\sdk\inc\winerror.h -FILE 2563 f:\sp\public\sdk\inc\pshpack1.h -FILE 2564 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 2565 f:\sp\public\sdk\inc\pshpack8.h -FILE 2566 f:\sp\public\sdk\inc\winver.h -FILE 2567 f:\sp\public\sdk\inc\ddbanned.h -FILE 2568 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2569 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2570 f:\sp\vctools\crt_bld\self_x86\crt\src\dos.h -FILE 2571 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2572 f:\sp\public\sdk\inc\pshpack2.h -FILE 2573 f:\sp\public\sdk\inc\winreg.h -FILE 2574 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2575 f:\sp\public\sdk\inc\guiddef.h -FILE 2576 f:\sp\public\sdk\inc\windows.h -FILE 2577 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2578 f:\sp\public\sdk\inc\specstrings.h -FILE 2579 f:\sp\public\sdk\inc\basetsd.h -FILE 2580 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2581 f:\sp\public\sdk\inc\tvout.h -FILE 2582 f:\sp\public\sdk\inc\winsvc.h -FILE 2583 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2584 f:\sp\public\sdk\inc\wingdi.h -FILE 2585 f:\sp\public\sdk\inc\pshpack4.h -FILE 2586 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2587 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 2588 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 2589 f:\sp\public\sdk\inc\poppack.h -FILE 2590 f:\sp\vctools\crt_bld\self_x86\crt\src\process.h -FILE 2591 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 2592 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 2593 f:\sp\public\sdk\inc\winnetwk.h -FILE 2594 f:\sp\public\sdk\inc\imm.h -FILE 2595 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2596 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2597 f:\sp\public\sdk\inc\windef.h -FILE 2598 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2599 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2600 f:\sp\vctools\crt_bld\self_x86\crt\src\dos.h -FILE 2601 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2602 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2603 f:\sp\public\sdk\inc\pshpack1.h -FILE 2604 f:\sp\public\sdk\inc\winver.h -FILE 2605 f:\sp\public\sdk\inc\winnt.h -FILE 2606 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2607 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 2608 f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c -FILE 2609 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2610 f:\sp\public\sdk\inc\winreg.h -FILE 2611 f:\sp\public\sdk\inc\winbase.h -FILE 2612 f:\sp\public\sdk\inc\winerror.h -FILE 2613 f:\sp\public\sdk\inc\ddbanned.h -FILE 2614 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2615 f:\sp\public\sdk\inc\pshpack8.h -FILE 2616 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2617 f:\sp\public\sdk\inc\reason.h -FILE 2618 f:\sp\public\sdk\inc\wincon.h -FILE 2619 f:\sp\public\sdk\inc\pshpack2.h -FILE 2620 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2621 f:\sp\public\sdk\inc\mcx.h -FILE 2622 f:\sp\public\sdk\inc\winuser.h -FILE 2623 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2624 f:\sp\public\sdk\inc\winnls.h -FILE 2625 f:\sp\public\sdk\inc\guiddef.h -FILE 2626 f:\sp\public\sdk\inc\windows.h -FILE 2627 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2628 f:\sp\public\sdk\inc\specstrings.h -FILE 2629 f:\sp\public\sdk\inc\basetsd.h -FILE 2630 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 2631 f:\sp\public\sdk\inc\stralign.h -FILE 2632 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\alloca16.asm -FILE 2633 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 2634 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\chkstk.asm -FILE 2635 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 2636 f:\sp\public\sdk\inc\wincon.h -FILE 2637 f:\sp\public\sdk\inc\imm.h -FILE 2638 f:\sp\public\sdk\inc\winbase.h -FILE 2639 f:\sp\public\sdk\inc\wingdi.h -FILE 2640 f:\sp\public\sdk\inc\winver.h -FILE 2641 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 2642 f:\sp\public\sdk\inc\windows.h -FILE 2643 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 2644 f:\sp\public\sdk\inc\pshpack2.h -FILE 2645 f:\sp\public\sdk\inc\reason.h -FILE 2646 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\rtc\initsect.cpp -FILE 2647 f:\sp\public\sdk\inc\specstrings.h -FILE 2648 f:\sp\public\sdk\inc\basetsd.h -FILE 2649 f:\sp\public\sdk\inc\pshpack4.h -FILE 2650 f:\sp\public\sdk\inc\winnetwk.h -FILE 2651 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 2652 f:\sp\public\sdk\inc\stralign.h -FILE 2653 f:\sp\public\sdk\inc\poppack.h -FILE 2654 f:\sp\public\sdk\inc\winsvc.h -FILE 2655 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 2656 f:\sp\public\sdk\inc\windef.h -FILE 2657 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 2658 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 2659 f:\sp\public\sdk\inc\winuser.h -FILE 2660 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 2661 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h -FILE 2662 f:\sp\public\sdk\inc\mcx.h -FILE 2663 f:\sp\public\sdk\inc\pshpack8.h -FILE 2664 f:\sp\public\sdk\inc\guiddef.h -FILE 2665 f:\sp\public\sdk\inc\winnt.h -FILE 2666 f:\sp\public\sdk\inc\winnls.h -FILE 2667 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 2668 f:\sp\public\sdk\inc\pshpack1.h -FILE 2669 f:\sp\public\sdk\inc\winerror.h -FILE 2670 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\rtcapi.h -FILE 2671 f:\sp\public\sdk\inc\winreg.h -FILE 2672 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 2673 f:\sp\public\sdk\inc\ddbanned.h -FILE 2674 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 2675 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 2676 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\rtcpriv.h -FILE 2677 f:\sp\public\sdk\inc\tvout.h -FILE 2678 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\malloc.h -FILE 2679 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 2680 f:\sp\public\sdk\inc\poppack.h -FILE 2681 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2682 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2683 f:\sp\public\sdk\inc\winnetwk.h -FILE 2684 f:\sp\public\sdk\inc\imm.h -FILE 2685 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2686 f:\sp\public\sdk\inc\windef.h -FILE 2687 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2688 f:\sp\public\sdk\inc\pshpack1.h -FILE 2689 f:\sp\public\sdk\inc\winver.h -FILE 2690 f:\sp\public\sdk\inc\windows.h -FILE 2691 f:\sp\public\sdk\inc\winnt.h -FILE 2692 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2693 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2694 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2695 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2696 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2697 f:\sp\public\sdk\inc\winreg.h -FILE 2698 f:\sp\public\sdk\inc\winbase.h -FILE 2699 f:\sp\vctools\crt_bld\self_x86\crt\src\wtombenv.c -FILE 2700 f:\sp\public\sdk\inc\winerror.h -FILE 2701 f:\sp\public\sdk\inc\pshpack8.h -FILE 2702 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2703 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2704 f:\sp\public\sdk\inc\reason.h -FILE 2705 f:\sp\public\sdk\inc\wincon.h -FILE 2706 f:\sp\public\sdk\inc\ddbanned.h -FILE 2707 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2708 f:\sp\public\sdk\inc\pshpack2.h -FILE 2709 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2710 f:\sp\public\sdk\inc\mcx.h -FILE 2711 f:\sp\public\sdk\inc\winuser.h -FILE 2712 f:\sp\public\sdk\inc\winnls.h -FILE 2713 f:\sp\public\sdk\inc\guiddef.h -FILE 2714 f:\sp\public\sdk\inc\specstrings.h -FILE 2715 f:\sp\public\sdk\inc\basetsd.h -FILE 2716 f:\sp\public\sdk\inc\stralign.h -FILE 2717 f:\sp\public\sdk\inc\tvout.h -FILE 2718 f:\sp\public\sdk\inc\winsvc.h -FILE 2719 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2720 f:\sp\public\sdk\inc\wingdi.h -FILE 2721 f:\sp\public\sdk\inc\pshpack4.h -FILE 2722 f:\sp\public\sdk\inc\winnt.h -FILE 2723 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2724 f:\sp\public\sdk\inc\winreg.h -FILE 2725 f:\sp\public\sdk\inc\winbase.h -FILE 2726 f:\sp\public\sdk\inc\winerror.h -FILE 2727 f:\sp\public\sdk\inc\pshpack8.h -FILE 2728 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2729 f:\sp\public\sdk\inc\reason.h -FILE 2730 f:\sp\public\sdk\inc\wincon.h -FILE 2731 f:\sp\vctools\crt_bld\self_x86\crt\src\float.h -FILE 2732 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2733 f:\sp\public\sdk\inc\pshpack2.h -FILE 2734 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2735 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2736 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2737 f:\sp\public\sdk\inc\mcx.h -FILE 2738 f:\sp\public\sdk\inc\winuser.h -FILE 2739 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2740 f:\sp\public\sdk\inc\winnls.h -FILE 2741 f:\sp\public\sdk\inc\guiddef.h -FILE 2742 f:\sp\public\sdk\inc\windows.h -FILE 2743 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2744 f:\sp\public\sdk\inc\specstrings.h -FILE 2745 f:\sp\public\sdk\inc\basetsd.h -FILE 2746 f:\sp\public\sdk\inc\stralign.h -FILE 2747 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2748 f:\sp\vctools\crt_bld\self_x86\crt\src\signal.h -FILE 2749 f:\sp\public\sdk\inc\tvout.h -FILE 2750 f:\sp\public\sdk\inc\winsvc.h -FILE 2751 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2752 f:\sp\vctools\crt_bld\self_x86\crt\src\winxfltr.c -FILE 2753 f:\sp\public\sdk\inc\wingdi.h -FILE 2754 f:\sp\public\sdk\inc\pshpack4.h -FILE 2755 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 2756 f:\sp\public\sdk\inc\poppack.h -FILE 2757 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2758 f:\sp\public\sdk\inc\winnetwk.h -FILE 2759 f:\sp\public\sdk\inc\imm.h -FILE 2760 f:\sp\public\sdk\inc\ddbanned.h -FILE 2761 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2762 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2763 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2764 f:\sp\public\sdk\inc\windef.h -FILE 2765 f:\sp\vctools\crt_bld\self_x86\crt\src\crtwrn.h -FILE 2766 f:\sp\public\sdk\inc\pshpack1.h -FILE 2767 f:\sp\public\sdk\inc\winver.h -FILE 2768 f:\sp\public\sdk\inc\winnetwk.h -FILE 2769 f:\sp\public\sdk\inc\imm.h -FILE 2770 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2771 f:\sp\public\sdk\inc\windef.h -FILE 2772 f:\sp\public\sdk\inc\pshpack1.h -FILE 2773 f:\sp\public\sdk\inc\winver.h -FILE 2774 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2775 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2776 f:\sp\public\sdk\inc\winnt.h -FILE 2777 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2778 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2779 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2780 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2781 f:\sp\public\sdk\inc\winreg.h -FILE 2782 f:\sp\public\sdk\inc\winbase.h -FILE 2783 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 2784 f:\sp\public\sdk\inc\winerror.h -FILE 2785 f:\sp\vctools\crt_bld\self_x86\crt\src\winsig.c -FILE 2786 f:\sp\public\sdk\inc\pshpack8.h -FILE 2787 f:\sp\public\sdk\inc\reason.h -FILE 2788 f:\sp\public\sdk\inc\wincon.h -FILE 2789 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2790 f:\sp\public\sdk\inc\pshpack2.h -FILE 2791 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2792 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2793 f:\sp\public\sdk\inc\mcx.h -FILE 2794 f:\sp\public\sdk\inc\winuser.h -FILE 2795 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2796 f:\sp\public\sdk\inc\winnls.h -FILE 2797 f:\sp\public\sdk\inc\guiddef.h -FILE 2798 f:\sp\public\sdk\inc\windows.h -FILE 2799 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2800 f:\sp\public\sdk\inc\specstrings.h -FILE 2801 f:\sp\public\sdk\inc\ddbanned.h -FILE 2802 f:\sp\public\sdk\inc\basetsd.h -FILE 2803 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2804 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2805 f:\sp\public\sdk\inc\stralign.h -FILE 2806 f:\sp\vctools\crt_bld\self_x86\crt\src\signal.h -FILE 2807 f:\sp\public\sdk\inc\tvout.h -FILE 2808 f:\sp\public\sdk\inc\winsvc.h -FILE 2809 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2810 f:\sp\public\sdk\inc\wingdi.h -FILE 2811 f:\sp\vctools\crt_bld\self_x86\crt\src\float.h -FILE 2812 f:\sp\vctools\crt_bld\self_x86\crt\src\crtwrn.h -FILE 2813 f:\sp\public\sdk\inc\pshpack4.h -FILE 2814 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 2815 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2816 f:\sp\public\sdk\inc\poppack.h -FILE 2817 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 2818 f:\sp\public\sdk\inc\wincon.h -FILE 2819 f:\sp\public\sdk\inc\imm.h -FILE 2820 f:\sp\public\sdk\inc\winbase.h -FILE 2821 f:\sp\public\sdk\inc\wingdi.h -FILE 2822 f:\sp\public\sdk\inc\winver.h -FILE 2823 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2824 f:\sp\public\sdk\inc\windows.h -FILE 2825 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2826 f:\sp\public\sdk\inc\pshpack2.h -FILE 2827 f:\sp\public\sdk\inc\reason.h -FILE 2828 f:\sp\vctools\crt_bld\self_x86\crt\src\w_str.c -FILE 2829 f:\sp\public\sdk\inc\specstrings.h -FILE 2830 f:\sp\public\sdk\inc\basetsd.h -FILE 2831 f:\sp\public\sdk\inc\pshpack4.h -FILE 2832 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 2833 f:\sp\public\sdk\inc\winnetwk.h -FILE 2834 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2835 f:\sp\public\sdk\inc\stralign.h -FILE 2836 f:\sp\public\sdk\inc\poppack.h -FILE 2837 f:\sp\public\sdk\inc\winsvc.h -FILE 2838 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2839 f:\sp\public\sdk\inc\windef.h -FILE 2840 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2841 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2842 f:\sp\public\sdk\inc\winuser.h -FILE 2843 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2844 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2845 f:\sp\public\sdk\inc\mcx.h -FILE 2846 f:\sp\public\sdk\inc\pshpack8.h -FILE 2847 f:\sp\public\sdk\inc\guiddef.h -FILE 2848 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2849 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2850 f:\sp\public\sdk\inc\winnt.h -FILE 2851 f:\sp\public\sdk\inc\winnls.h -FILE 2852 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2853 f:\sp\public\sdk\inc\pshpack1.h -FILE 2854 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2855 f:\sp\public\sdk\inc\winerror.h -FILE 2856 f:\sp\public\sdk\inc\winreg.h -FILE 2857 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2858 f:\sp\public\sdk\inc\ddbanned.h -FILE 2859 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2860 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2861 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2862 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2863 f:\sp\public\sdk\inc\tvout.h -FILE 2864 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2865 f:\sp\public\sdk\inc\wincon.h -FILE 2866 f:\sp\public\sdk\inc\imm.h -FILE 2867 f:\sp\public\sdk\inc\winbase.h -FILE 2868 f:\sp\public\sdk\inc\wingdi.h -FILE 2869 f:\sp\public\sdk\inc\winver.h -FILE 2870 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2871 f:\sp\public\sdk\inc\windows.h -FILE 2872 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2873 f:\sp\public\sdk\inc\pshpack2.h -FILE 2874 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 2875 f:\sp\public\sdk\inc\reason.h -FILE 2876 f:\sp\vctools\crt_bld\self_x86\crt\src\w_loc.c -FILE 2877 f:\sp\public\sdk\inc\specstrings.h -FILE 2878 f:\sp\public\sdk\inc\basetsd.h -FILE 2879 f:\sp\public\sdk\inc\pshpack4.h -FILE 2880 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2881 f:\sp\public\sdk\inc\winnetwk.h -FILE 2882 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2883 f:\sp\public\sdk\inc\stralign.h -FILE 2884 f:\sp\public\sdk\inc\poppack.h -FILE 2885 f:\sp\public\sdk\inc\winsvc.h -FILE 2886 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2887 f:\sp\public\sdk\inc\windef.h -FILE 2888 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2889 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2890 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2891 f:\sp\public\sdk\inc\winuser.h -FILE 2892 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2893 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2894 f:\sp\public\sdk\inc\mcx.h -FILE 2895 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 2896 f:\sp\public\sdk\inc\pshpack8.h -FILE 2897 f:\sp\public\sdk\inc\guiddef.h -FILE 2898 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2899 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2900 f:\sp\public\sdk\inc\winnt.h -FILE 2901 f:\sp\public\sdk\inc\winnls.h -FILE 2902 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2903 f:\sp\public\sdk\inc\pshpack1.h -FILE 2904 f:\sp\public\sdk\inc\winerror.h -FILE 2905 f:\sp\public\sdk\inc\winreg.h -FILE 2906 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2907 f:\sp\public\sdk\inc\ddbanned.h -FILE 2908 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2909 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2910 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2911 f:\sp\public\sdk\inc\tvout.h -FILE 2912 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2913 f:\sp\public\sdk\inc\poppack.h -FILE 2914 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2915 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2916 f:\sp\public\sdk\inc\winnetwk.h -FILE 2917 f:\sp\public\sdk\inc\imm.h -FILE 2918 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2919 f:\sp\public\sdk\inc\windef.h -FILE 2920 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2921 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 2922 f:\sp\public\sdk\inc\pshpack1.h -FILE 2923 f:\sp\public\sdk\inc\winver.h -FILE 2924 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2925 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2926 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2927 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2928 f:\sp\public\sdk\inc\winnt.h -FILE 2929 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 2930 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2931 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2932 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2933 f:\sp\public\sdk\inc\winreg.h -FILE 2934 f:\sp\vctools\crt_bld\self_x86\crt\src\convrtcp.c -FILE 2935 f:\sp\public\sdk\inc\winbase.h -FILE 2936 f:\sp\public\sdk\inc\winerror.h -FILE 2937 f:\sp\public\sdk\inc\pshpack8.h -FILE 2938 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 2939 f:\sp\public\sdk\inc\reason.h -FILE 2940 f:\sp\public\sdk\inc\wincon.h -FILE 2941 f:\sp\public\sdk\inc\ddbanned.h -FILE 2942 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2943 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2944 f:\sp\public\sdk\inc\pshpack2.h -FILE 2945 f:\sp\public\sdk\inc\mcx.h -FILE 2946 f:\sp\public\sdk\inc\winuser.h -FILE 2947 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2948 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 2949 f:\sp\public\sdk\inc\winnls.h -FILE 2950 f:\sp\public\sdk\inc\guiddef.h -FILE 2951 f:\sp\public\sdk\inc\windows.h -FILE 2952 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2953 f:\sp\public\sdk\inc\specstrings.h -FILE 2954 f:\sp\public\sdk\inc\basetsd.h -FILE 2955 f:\sp\public\sdk\inc\stralign.h -FILE 2956 f:\sp\public\sdk\inc\tvout.h -FILE 2957 f:\sp\public\sdk\inc\winsvc.h -FILE 2958 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2959 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2960 f:\sp\public\sdk\inc\wingdi.h -FILE 2961 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 2962 f:\sp\public\sdk\inc\pshpack4.h -FILE 2963 f:\sp\public\sdk\inc\winerror.h -FILE 2964 f:\sp\public\sdk\inc\pshpack8.h -FILE 2965 f:\sp\public\sdk\inc\reason.h -FILE 2966 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2967 f:\sp\public\sdk\inc\wincon.h -FILE 2968 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 2969 f:\sp\public\sdk\inc\pshpack2.h -FILE 2970 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2971 f:\sp\public\sdk\inc\mcx.h -FILE 2972 f:\sp\public\sdk\inc\winuser.h -FILE 2973 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2974 f:\sp\public\sdk\inc\winnls.h -FILE 2975 f:\sp\public\sdk\inc\guiddef.h -FILE 2976 f:\sp\public\sdk\inc\windows.h -FILE 2977 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 2978 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2979 f:\sp\public\sdk\inc\specstrings.h -FILE 2980 f:\sp\public\sdk\inc\basetsd.h -FILE 2981 f:\sp\public\sdk\inc\stralign.h -FILE 2982 f:\sp\public\sdk\inc\tvout.h -FILE 2983 f:\sp\public\sdk\inc\winsvc.h -FILE 2984 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2985 f:\sp\public\sdk\inc\wingdi.h -FILE 2986 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 2987 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 2988 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2989 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2990 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2991 f:\sp\public\sdk\inc\pshpack4.h -FILE 2992 f:\sp\public\sdk\inc\poppack.h -FILE 2993 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2994 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2995 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.c -FILE 2996 f:\sp\public\sdk\inc\winnetwk.h -FILE 2997 f:\sp\public\sdk\inc\imm.h -FILE 2998 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2999 f:\sp\public\sdk\inc\windef.h -FILE 3000 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3001 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3002 f:\sp\public\sdk\inc\pshpack1.h -FILE 3003 f:\sp\public\sdk\inc\ddbanned.h -FILE 3004 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3005 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3006 f:\sp\public\sdk\inc\winver.h -FILE 3007 f:\sp\public\sdk\inc\winnt.h -FILE 3008 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3009 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3010 f:\sp\public\sdk\inc\winreg.h -FILE 3011 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3012 f:\sp\public\sdk\inc\winbase.h -FILE 3013 f:\sp\public\sdk\inc\poppack.h -FILE 3014 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 3015 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 3016 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3017 f:\sp\public\sdk\inc\winnetwk.h -FILE 3018 f:\sp\public\sdk\inc\imm.h -FILE 3019 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3020 f:\sp\public\sdk\inc\windef.h -FILE 3021 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 3022 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3023 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3024 f:\sp\public\sdk\inc\pshpack1.h -FILE 3025 f:\sp\public\sdk\inc\winver.h -FILE 3026 f:\sp\public\sdk\inc\windows.h -FILE 3027 f:\sp\public\sdk\inc\winnt.h -FILE 3028 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3029 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 3030 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3031 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3032 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3033 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3034 f:\sp\public\sdk\inc\winreg.h -FILE 3035 f:\sp\public\sdk\inc\winbase.h -FILE 3036 f:\sp\vctools\crt_bld\self_x86\crt\src\setenv.c -FILE 3037 f:\sp\public\sdk\inc\winerror.h -FILE 3038 f:\sp\public\sdk\inc\pshpack8.h -FILE 3039 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3040 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3041 f:\sp\public\sdk\inc\reason.h -FILE 3042 f:\sp\public\sdk\inc\wincon.h -FILE 3043 f:\sp\public\sdk\inc\ddbanned.h -FILE 3044 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3045 f:\sp\public\sdk\inc\pshpack2.h -FILE 3046 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3047 f:\sp\public\sdk\inc\mcx.h -FILE 3048 f:\sp\public\sdk\inc\winuser.h -FILE 3049 f:\sp\public\sdk\inc\winnls.h -FILE 3050 f:\sp\public\sdk\inc\guiddef.h -FILE 3051 f:\sp\public\sdk\inc\specstrings.h -FILE 3052 f:\sp\public\sdk\inc\basetsd.h -FILE 3053 f:\sp\public\sdk\inc\stralign.h -FILE 3054 f:\sp\public\sdk\inc\tvout.h -FILE 3055 f:\sp\public\sdk\inc\winsvc.h -FILE 3056 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3057 f:\sp\public\sdk\inc\wingdi.h -FILE 3058 f:\sp\public\sdk\inc\pshpack4.h -FILE 3059 f:\sp\public\sdk\inc\poppack.h -FILE 3060 f:\sp\public\sdk\inc\winnetwk.h -FILE 3061 f:\sp\public\sdk\inc\imm.h -FILE 3062 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3063 f:\sp\public\sdk\inc\windef.h -FILE 3064 f:\sp\public\sdk\inc\pshpack1.h -FILE 3065 f:\sp\public\sdk\inc\winver.h -FILE 3066 f:\sp\public\sdk\inc\windows.h -FILE 3067 f:\sp\public\sdk\inc\winnt.h -FILE 3068 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3069 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3070 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3071 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3072 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3073 f:\sp\public\sdk\inc\winreg.h -FILE 3074 f:\sp\public\sdk\inc\winbase.h -FILE 3075 f:\sp\vctools\crt_bld\self_x86\crt\src\rand_s.c -FILE 3076 f:\sp\public\sdk\inc\winerror.h -FILE 3077 f:\sp\public\sdk\inc\pshpack8.h -FILE 3078 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3079 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3080 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3081 f:\sp\public\sdk\inc\reason.h -FILE 3082 f:\sp\public\sdk\inc\wincon.h -FILE 3083 f:\sp\public\sdk\inc\ddbanned.h -FILE 3084 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3085 f:\sp\public\sdk\inc\pshpack2.h -FILE 3086 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3087 f:\sp\public\sdk\inc\mcx.h -FILE 3088 f:\sp\public\sdk\inc\winuser.h -FILE 3089 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 3090 f:\sp\public\sdk\inc\winnls.h -FILE 3091 f:\sp\public\sdk\inc\guiddef.h -FILE 3092 f:\sp\public\sdk\inc\specstrings.h -FILE 3093 f:\sp\public\sdk\inc\basetsd.h -FILE 3094 f:\sp\public\sdk\inc\stralign.h -FILE 3095 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3096 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3097 f:\sp\public\sdk\inc\tvout.h -FILE 3098 f:\sp\public\sdk\inc\winsvc.h -FILE 3099 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3100 f:\sp\public\sdk\inc\wingdi.h -FILE 3101 f:\sp\public\sdk\inc\pshpack4.h -FILE 3102 f:\sp\public\sdk\inc\poppack.h -FILE 3103 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 3104 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3105 f:\sp\public\sdk\inc\winnetwk.h -FILE 3106 f:\sp\public\sdk\inc\imm.h -FILE 3107 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3108 f:\sp\public\sdk\inc\windef.h -FILE 3109 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3110 f:\sp\public\sdk\inc\pshpack1.h -FILE 3111 f:\sp\public\sdk\inc\winver.h -FILE 3112 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3113 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3114 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3115 f:\sp\public\sdk\inc\winnt.h -FILE 3116 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3117 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3118 f:\sp\public\sdk\inc\winreg.h -FILE 3119 f:\sp\vctools\crt_bld\self_x86\crt\src\purevirt.c -FILE 3120 f:\sp\public\sdk\inc\winbase.h -FILE 3121 f:\sp\public\sdk\inc\winerror.h -FILE 3122 f:\sp\public\sdk\inc\pshpack8.h -FILE 3123 f:\sp\public\sdk\inc\reason.h -FILE 3124 f:\sp\public\sdk\inc\wincon.h -FILE 3125 f:\sp\public\sdk\inc\ddbanned.h -FILE 3126 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3127 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3128 f:\sp\public\sdk\inc\pshpack2.h -FILE 3129 f:\sp\public\sdk\inc\mcx.h -FILE 3130 f:\sp\public\sdk\inc\winuser.h -FILE 3131 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3132 f:\sp\public\sdk\inc\winnls.h -FILE 3133 f:\sp\public\sdk\inc\guiddef.h -FILE 3134 f:\sp\public\sdk\inc\windows.h -FILE 3135 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3136 f:\sp\public\sdk\inc\specstrings.h -FILE 3137 f:\sp\public\sdk\inc\basetsd.h -FILE 3138 f:\sp\public\sdk\inc\stralign.h -FILE 3139 f:\sp\public\sdk\inc\tvout.h -FILE 3140 f:\sp\public\sdk\inc\winsvc.h -FILE 3141 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3142 f:\sp\public\sdk\inc\wingdi.h -FILE 3143 f:\sp\public\sdk\inc\pshpack4.h -FILE 3144 f:\sp\public\sdk\inc\poppack.h -FILE 3145 f:\sp\public\sdk\inc\winnetwk.h -FILE 3146 f:\sp\public\sdk\inc\imm.h -FILE 3147 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3148 f:\sp\public\sdk\inc\windef.h -FILE 3149 f:\sp\public\sdk\inc\pshpack1.h -FILE 3150 f:\sp\public\sdk\inc\winver.h -FILE 3151 f:\sp\public\sdk\inc\windows.h -FILE 3152 f:\sp\public\sdk\inc\winnt.h -FILE 3153 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3154 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3155 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3156 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3157 f:\sp\public\sdk\inc\winreg.h -FILE 3158 f:\sp\public\sdk\inc\winbase.h -FILE 3159 f:\sp\vctools\crt_bld\self_x86\crt\src\pesect.c -FILE 3160 f:\sp\public\sdk\inc\winerror.h -FILE 3161 f:\sp\public\sdk\inc\pshpack8.h -FILE 3162 f:\sp\public\sdk\inc\reason.h -FILE 3163 f:\sp\public\sdk\inc\wincon.h -FILE 3164 f:\sp\public\sdk\inc\ddbanned.h -FILE 3165 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3166 f:\sp\public\sdk\inc\pshpack2.h -FILE 3167 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3168 f:\sp\public\sdk\inc\mcx.h -FILE 3169 f:\sp\public\sdk\inc\winuser.h -FILE 3170 f:\sp\public\sdk\inc\winnls.h -FILE 3171 f:\sp\public\sdk\inc\guiddef.h -FILE 3172 f:\sp\public\sdk\inc\specstrings.h -FILE 3173 f:\sp\public\sdk\inc\basetsd.h -FILE 3174 f:\sp\public\sdk\inc\stralign.h -FILE 3175 f:\sp\public\sdk\inc\tvout.h -FILE 3176 f:\sp\public\sdk\inc\winsvc.h -FILE 3177 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3178 f:\sp\public\sdk\inc\wingdi.h -FILE 3179 f:\sp\public\sdk\inc\pshpack4.h -FILE 3180 f:\sp\public\sdk\inc\winerror.h -FILE 3181 f:\sp\public\sdk\inc\pshpack1.h -FILE 3182 f:\sp\public\sdk\inc\pshpack8.h -FILE 3183 f:\sp\public\sdk\inc\winver.h -FILE 3184 f:\sp\public\sdk\inc\pshpack2.h -FILE 3185 f:\sp\public\sdk\inc\winreg.h -FILE 3186 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3187 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3188 f:\sp\public\sdk\inc\guiddef.h -FILE 3189 f:\sp\public\sdk\inc\windows.h -FILE 3190 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3191 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 3192 f:\sp\public\sdk\inc\specstrings.h -FILE 3193 f:\sp\public\sdk\inc\basetsd.h -FILE 3194 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3195 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3196 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3197 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3198 f:\sp\public\sdk\inc\pshpack4.h -FILE 3199 f:\sp\public\sdk\inc\reason.h -FILE 3200 f:\sp\public\sdk\inc\wincon.h -FILE 3201 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3202 f:\sp\public\sdk\inc\poppack.h -FILE 3203 f:\sp\public\sdk\inc\mcx.h -FILE 3204 f:\sp\public\sdk\inc\winuser.h -FILE 3205 f:\sp\public\sdk\inc\winnls.h -FILE 3206 f:\sp\vctools\crt_bld\self_x86\crt\src\nlsdata2.c -FILE 3207 f:\sp\public\sdk\inc\stralign.h -FILE 3208 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3209 f:\sp\public\sdk\inc\windef.h -FILE 3210 f:\sp\public\sdk\inc\tvout.h -FILE 3211 f:\sp\public\sdk\inc\winsvc.h -FILE 3212 f:\sp\public\sdk\inc\wingdi.h -FILE 3213 f:\sp\public\sdk\inc\ddbanned.h -FILE 3214 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3215 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3216 f:\sp\public\sdk\inc\winnt.h -FILE 3217 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3218 f:\sp\public\sdk\inc\winnetwk.h -FILE 3219 f:\sp\public\sdk\inc\imm.h -FILE 3220 f:\sp\public\sdk\inc\winbase.h -FILE 3221 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3222 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3223 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3224 f:\sp\vctools\crt_bld\self_x86\crt\src\nlsdata1.c -FILE 3225 f:\sp\public\sdk\inc\ddbanned.h -FILE 3226 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3227 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3228 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3229 f:\sp\vctools\crt_bld\self_x86\crt\src\nlsint.h -FILE 3230 f:\sp\public\sdk\inc\reason.h -FILE 3231 f:\sp\public\sdk\inc\wincon.h -FILE 3232 f:\sp\public\sdk\inc\pshpack2.h -FILE 3233 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3234 f:\sp\public\sdk\inc\mcx.h -FILE 3235 f:\sp\public\sdk\inc\winuser.h -FILE 3236 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3237 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 3238 f:\sp\public\sdk\inc\winnls.h -FILE 3239 f:\sp\public\sdk\inc\guiddef.h -FILE 3240 f:\sp\public\sdk\inc\windows.h -FILE 3241 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3242 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3243 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3244 f:\sp\public\sdk\inc\specstrings.h -FILE 3245 f:\sp\public\sdk\inc\basetsd.h -FILE 3246 f:\sp\public\sdk\inc\stralign.h -FILE 3247 f:\sp\public\sdk\inc\tvout.h -FILE 3248 f:\sp\public\sdk\inc\winsvc.h -FILE 3249 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3250 f:\sp\public\sdk\inc\wingdi.h -FILE 3251 f:\sp\public\sdk\inc\pshpack4.h -FILE 3252 f:\sp\public\sdk\inc\poppack.h -FILE 3253 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 3254 f:\sp\public\sdk\inc\winnetwk.h -FILE 3255 f:\sp\public\sdk\inc\imm.h -FILE 3256 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3257 f:\sp\public\sdk\inc\windef.h -FILE 3258 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3259 f:\sp\vctools\crt_bld\self_x86\crt\src\onexit.c -FILE 3260 f:\sp\public\sdk\inc\pshpack1.h -FILE 3261 f:\sp\public\sdk\inc\winver.h -FILE 3262 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3263 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3264 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3265 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3266 f:\sp\public\sdk\inc\winnt.h -FILE 3267 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3268 f:\sp\public\sdk\inc\ddbanned.h -FILE 3269 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3270 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3271 f:\sp\public\sdk\inc\winreg.h -FILE 3272 f:\sp\public\sdk\inc\winbase.h -FILE 3273 f:\sp\public\sdk\inc\winerror.h -FILE 3274 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3275 f:\sp\public\sdk\inc\pshpack8.h -FILE 3276 f:\sp\public\sdk\inc\winbase.h -FILE 3277 f:\sp\public\sdk\inc\winerror.h -FILE 3278 f:\sp\public\sdk\inc\pshpack1.h -FILE 3279 f:\sp\public\sdk\inc\pshpack8.h -FILE 3280 f:\sp\public\sdk\inc\winver.h -FILE 3281 f:\sp\public\sdk\inc\pshpack2.h -FILE 3282 f:\sp\public\sdk\inc\winreg.h -FILE 3283 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3284 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3285 f:\sp\public\sdk\inc\guiddef.h -FILE 3286 f:\sp\public\sdk\inc\windows.h -FILE 3287 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3288 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3289 f:\sp\public\sdk\inc\specstrings.h -FILE 3290 f:\sp\public\sdk\inc\basetsd.h -FILE 3291 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3292 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3293 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3294 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3295 f:\sp\public\sdk\inc\pshpack4.h -FILE 3296 f:\sp\public\sdk\inc\reason.h -FILE 3297 f:\sp\public\sdk\inc\wincon.h -FILE 3298 f:\sp\public\sdk\inc\poppack.h -FILE 3299 f:\sp\public\sdk\inc\mcx.h -FILE 3300 f:\sp\public\sdk\inc\winuser.h -FILE 3301 f:\sp\public\sdk\inc\winnls.h -FILE 3302 f:\sp\vctools\crt_bld\self_x86\crt\src\lconv.c -FILE 3303 f:\sp\public\sdk\inc\stralign.h -FILE 3304 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3305 f:\sp\public\sdk\inc\windef.h -FILE 3306 f:\sp\public\sdk\inc\tvout.h -FILE 3307 f:\sp\public\sdk\inc\winsvc.h -FILE 3308 f:\sp\public\sdk\inc\wingdi.h -FILE 3309 f:\sp\public\sdk\inc\ddbanned.h -FILE 3310 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3311 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3312 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3313 f:\sp\public\sdk\inc\winnt.h -FILE 3314 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3315 f:\sp\public\sdk\inc\winnetwk.h -FILE 3316 f:\sp\public\sdk\inc\imm.h -FILE 3317 f:\sp\public\sdk\inc\guiddef.h -FILE 3318 f:\sp\public\sdk\inc\winnt.h -FILE 3319 f:\sp\public\sdk\inc\winnls.h -FILE 3320 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3321 f:\sp\public\sdk\inc\pshpack1.h -FILE 3322 f:\sp\public\sdk\inc\winerror.h -FILE 3323 f:\sp\public\sdk\inc\winreg.h -FILE 3324 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3325 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 3326 f:\sp\public\sdk\inc\tvout.h -FILE 3327 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3328 f:\sp\vctools\crt_bld\self_x86\crt\src\invarg.c -FILE 3329 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3330 f:\sp\public\sdk\inc\wincon.h -FILE 3331 f:\sp\public\sdk\inc\imm.h -FILE 3332 f:\sp\public\sdk\inc\winbase.h -FILE 3333 f:\sp\public\sdk\inc\wingdi.h -FILE 3334 f:\sp\public\sdk\inc\winver.h -FILE 3335 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3336 f:\sp\public\sdk\inc\windows.h -FILE 3337 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3338 f:\sp\public\sdk\inc\pshpack2.h -FILE 3339 f:\sp\public\sdk\inc\reason.h -FILE 3340 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 3341 f:\sp\public\sdk\inc\specstrings.h -FILE 3342 f:\sp\public\sdk\inc\basetsd.h -FILE 3343 f:\sp\public\sdk\inc\pshpack4.h -FILE 3344 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3345 f:\sp\public\sdk\inc\winnetwk.h -FILE 3346 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3347 f:\sp\public\sdk\inc\stralign.h -FILE 3348 f:\sp\public\sdk\inc\poppack.h -FILE 3349 f:\sp\public\sdk\inc\winsvc.h -FILE 3350 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3351 f:\sp\public\sdk\inc\windef.h -FILE 3352 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3353 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3354 f:\sp\public\sdk\inc\winuser.h -FILE 3355 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3356 f:\sp\public\sdk\inc\ddbanned.h -FILE 3357 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3358 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3359 f:\sp\public\sdk\inc\mcx.h -FILE 3360 f:\sp\public\sdk\inc\pshpack8.h -FILE 3361 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3362 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3363 f:\sp\public\sdk\inc\pshpack4.h -FILE 3364 f:\sp\public\sdk\inc\poppack.h -FILE 3365 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3366 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3367 f:\sp\public\sdk\inc\winnetwk.h -FILE 3368 f:\sp\public\sdk\inc\imm.h -FILE 3369 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3370 f:\sp\public\sdk\inc\windef.h -FILE 3371 f:\sp\public\sdk\inc\pshpack1.h -FILE 3372 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3373 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3374 f:\sp\public\sdk\inc\winver.h -FILE 3375 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3376 f:\sp\public\sdk\inc\winnt.h -FILE 3377 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3378 f:\sp\public\sdk\inc\winreg.h -FILE 3379 f:\sp\vctools\crt_bld\self_x86\crt\src\inittime.c -FILE 3380 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3381 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3382 f:\sp\public\sdk\inc\winbase.h -FILE 3383 f:\sp\public\sdk\inc\winerror.h -FILE 3384 f:\sp\public\sdk\inc\pshpack8.h -FILE 3385 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3386 f:\sp\public\sdk\inc\reason.h -FILE 3387 f:\sp\public\sdk\inc\ddbanned.h -FILE 3388 f:\sp\public\sdk\inc\wincon.h -FILE 3389 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3390 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3391 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3392 f:\sp\public\sdk\inc\pshpack2.h -FILE 3393 f:\sp\public\sdk\inc\mcx.h -FILE 3394 f:\sp\public\sdk\inc\winuser.h -FILE 3395 f:\sp\public\sdk\inc\winnls.h -FILE 3396 f:\sp\public\sdk\inc\guiddef.h -FILE 3397 f:\sp\public\sdk\inc\stralign.h -FILE 3398 f:\sp\public\sdk\inc\specstrings.h -FILE 3399 f:\sp\public\sdk\inc\basetsd.h -FILE 3400 f:\sp\public\sdk\inc\windows.h -FILE 3401 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3402 f:\sp\public\sdk\inc\tvout.h -FILE 3403 f:\sp\public\sdk\inc\winsvc.h -FILE 3404 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3405 f:\sp\public\sdk\inc\wingdi.h -FILE 3406 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3407 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3408 f:\sp\public\sdk\inc\pshpack4.h -FILE 3409 f:\sp\public\sdk\inc\poppack.h -FILE 3410 f:\sp\public\sdk\inc\winnt.h -FILE 3411 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3412 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3413 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3414 f:\sp\public\sdk\inc\winnetwk.h -FILE 3415 f:\sp\public\sdk\inc\imm.h -FILE 3416 f:\sp\public\sdk\inc\pshpack1.h -FILE 3417 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3418 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3419 f:\sp\public\sdk\inc\winver.h -FILE 3420 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3421 f:\sp\public\sdk\inc\guiddef.h -FILE 3422 f:\sp\public\sdk\inc\specstrings.h -FILE 3423 f:\sp\public\sdk\inc\basetsd.h -FILE 3424 f:\sp\public\sdk\inc\windows.h -FILE 3425 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3426 f:\sp\public\sdk\inc\winreg.h -FILE 3427 f:\sp\vctools\crt_bld\self_x86\crt\src\initnum.c -FILE 3428 f:\sp\vctools\crt_bld\self_x86\crt\src\nlsint.h -FILE 3429 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3430 f:\sp\public\sdk\inc\winbase.h -FILE 3431 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3432 f:\sp\public\sdk\inc\winerror.h -FILE 3433 f:\sp\public\sdk\inc\pshpack8.h -FILE 3434 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3435 f:\sp\public\sdk\inc\reason.h -FILE 3436 f:\sp\public\sdk\inc\ddbanned.h -FILE 3437 f:\sp\public\sdk\inc\wincon.h -FILE 3438 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3439 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3440 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3441 f:\sp\public\sdk\inc\pshpack2.h -FILE 3442 f:\sp\public\sdk\inc\mcx.h -FILE 3443 f:\sp\public\sdk\inc\winuser.h -FILE 3444 f:\sp\public\sdk\inc\winnls.h -FILE 3445 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3446 f:\sp\public\sdk\inc\windef.h -FILE 3447 f:\sp\public\sdk\inc\stralign.h -FILE 3448 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3449 f:\sp\public\sdk\inc\tvout.h -FILE 3450 f:\sp\public\sdk\inc\winsvc.h -FILE 3451 f:\sp\public\sdk\inc\wingdi.h -FILE 3452 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3453 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3454 f:\sp\public\sdk\inc\pshpack4.h -FILE 3455 f:\sp\public\sdk\inc\poppack.h -FILE 3456 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3457 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3458 f:\sp\public\sdk\inc\winnetwk.h -FILE 3459 f:\sp\public\sdk\inc\imm.h -FILE 3460 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3461 f:\sp\public\sdk\inc\windef.h -FILE 3462 f:\sp\public\sdk\inc\pshpack1.h -FILE 3463 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3464 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3465 f:\sp\public\sdk\inc\winver.h -FILE 3466 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3467 f:\sp\public\sdk\inc\winnt.h -FILE 3468 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3469 f:\sp\public\sdk\inc\winreg.h -FILE 3470 f:\sp\vctools\crt_bld\self_x86\crt\src\initmon.c -FILE 3471 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3472 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3473 f:\sp\public\sdk\inc\winbase.h -FILE 3474 f:\sp\public\sdk\inc\winerror.h -FILE 3475 f:\sp\public\sdk\inc\pshpack8.h -FILE 3476 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3477 f:\sp\public\sdk\inc\reason.h -FILE 3478 f:\sp\public\sdk\inc\ddbanned.h -FILE 3479 f:\sp\public\sdk\inc\wincon.h -FILE 3480 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3481 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3482 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3483 f:\sp\public\sdk\inc\pshpack2.h -FILE 3484 f:\sp\public\sdk\inc\mcx.h -FILE 3485 f:\sp\public\sdk\inc\winuser.h -FILE 3486 f:\sp\public\sdk\inc\winnls.h -FILE 3487 f:\sp\public\sdk\inc\guiddef.h -FILE 3488 f:\sp\public\sdk\inc\stralign.h -FILE 3489 f:\sp\public\sdk\inc\specstrings.h -FILE 3490 f:\sp\public\sdk\inc\basetsd.h -FILE 3491 f:\sp\public\sdk\inc\windows.h -FILE 3492 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3493 f:\sp\public\sdk\inc\tvout.h -FILE 3494 f:\sp\public\sdk\inc\winsvc.h -FILE 3495 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3496 f:\sp\public\sdk\inc\wingdi.h -FILE 3497 f:\sp\public\sdk\inc\winbase.h -FILE 3498 f:\sp\public\sdk\inc\winerror.h -FILE 3499 f:\sp\public\sdk\inc\pshpack1.h -FILE 3500 f:\sp\public\sdk\inc\pshpack8.h -FILE 3501 f:\sp\public\sdk\inc\winver.h -FILE 3502 f:\sp\public\sdk\inc\pshpack2.h -FILE 3503 f:\sp\public\sdk\inc\winreg.h -FILE 3504 f:\sp\public\sdk\inc\guiddef.h -FILE 3505 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 3506 f:\sp\public\sdk\inc\specstrings.h -FILE 3507 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3508 f:\sp\public\sdk\inc\basetsd.h -FILE 3509 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3510 f:\sp\public\sdk\inc\windows.h -FILE 3511 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3512 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3513 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3514 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3515 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3516 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3517 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3518 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3519 f:\sp\public\sdk\inc\pshpack4.h -FILE 3520 f:\sp\public\sdk\inc\reason.h -FILE 3521 f:\sp\public\sdk\inc\wincon.h -FILE 3522 f:\sp\public\sdk\inc\poppack.h -FILE 3523 f:\sp\vctools\crt_bld\self_x86\crt\src\inithelp.c -FILE 3524 f:\sp\public\sdk\inc\mcx.h -FILE 3525 f:\sp\public\sdk\inc\winuser.h -FILE 3526 f:\sp\public\sdk\inc\winnls.h -FILE 3527 f:\sp\public\sdk\inc\stralign.h -FILE 3528 f:\sp\public\sdk\inc\tvout.h -FILE 3529 f:\sp\public\sdk\inc\winsvc.h -FILE 3530 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3531 f:\sp\public\sdk\inc\wingdi.h -FILE 3532 f:\sp\public\sdk\inc\windef.h -FILE 3533 f:\sp\public\sdk\inc\ddbanned.h -FILE 3534 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3535 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3536 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3537 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3538 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3539 f:\sp\public\sdk\inc\winnetwk.h -FILE 3540 f:\sp\public\sdk\inc\imm.h -FILE 3541 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3542 f:\sp\public\sdk\inc\winnt.h -FILE 3543 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3544 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3545 f:\sp\public\sdk\inc\pshpack4.h -FILE 3546 f:\sp\public\sdk\inc\poppack.h -FILE 3547 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3548 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3549 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3550 f:\sp\public\sdk\inc\winnetwk.h -FILE 3551 f:\sp\public\sdk\inc\imm.h -FILE 3552 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3553 f:\sp\public\sdk\inc\windef.h -FILE 3554 f:\sp\public\sdk\inc\pshpack1.h -FILE 3555 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3556 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3557 f:\sp\public\sdk\inc\winver.h -FILE 3558 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3559 f:\sp\public\sdk\inc\winnt.h -FILE 3560 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3561 f:\sp\public\sdk\inc\winreg.h -FILE 3562 f:\sp\vctools\crt_bld\self_x86\crt\src\initctyp.c -FILE 3563 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 3564 f:\sp\public\sdk\inc\winbase.h -FILE 3565 f:\sp\public\sdk\inc\winerror.h -FILE 3566 f:\sp\public\sdk\inc\pshpack8.h -FILE 3567 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3568 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3569 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3570 f:\sp\public\sdk\inc\reason.h -FILE 3571 f:\sp\public\sdk\inc\ddbanned.h -FILE 3572 f:\sp\public\sdk\inc\wincon.h -FILE 3573 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3574 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3575 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3576 f:\sp\public\sdk\inc\pshpack2.h -FILE 3577 f:\sp\public\sdk\inc\mcx.h -FILE 3578 f:\sp\public\sdk\inc\winuser.h -FILE 3579 f:\sp\public\sdk\inc\winnls.h -FILE 3580 f:\sp\public\sdk\inc\guiddef.h -FILE 3581 f:\sp\public\sdk\inc\stralign.h -FILE 3582 f:\sp\public\sdk\inc\specstrings.h -FILE 3583 f:\sp\public\sdk\inc\basetsd.h -FILE 3584 f:\sp\public\sdk\inc\windows.h -FILE 3585 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3586 f:\sp\public\sdk\inc\tvout.h -FILE 3587 f:\sp\public\sdk\inc\winsvc.h -FILE 3588 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3589 f:\sp\public\sdk\inc\wingdi.h -FILE 3590 f:\sp\public\sdk\inc\poppack.h -FILE 3591 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 3592 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3593 f:\sp\public\sdk\inc\winnetwk.h -FILE 3594 f:\sp\public\sdk\inc\imm.h -FILE 3595 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3596 f:\sp\public\sdk\inc\windef.h -FILE 3597 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3598 f:\sp\public\sdk\inc\pshpack1.h -FILE 3599 f:\sp\public\sdk\inc\winver.h -FILE 3600 f:\sp\public\sdk\inc\windows.h -FILE 3601 f:\sp\public\sdk\inc\winnt.h -FILE 3602 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3603 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3604 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3605 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3606 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3607 f:\sp\public\sdk\inc\winreg.h -FILE 3608 f:\sp\public\sdk\inc\winbase.h -FILE 3609 f:\sp\vctools\crt_bld\self_x86\crt\src\initcrit.c -FILE 3610 f:\sp\public\sdk\inc\winerror.h -FILE 3611 f:\sp\public\sdk\inc\pshpack8.h -FILE 3612 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3613 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3614 f:\sp\public\sdk\inc\reason.h -FILE 3615 f:\sp\public\sdk\inc\wincon.h -FILE 3616 f:\sp\public\sdk\inc\ddbanned.h -FILE 3617 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3618 f:\sp\public\sdk\inc\pshpack2.h -FILE 3619 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3620 f:\sp\public\sdk\inc\mcx.h -FILE 3621 f:\sp\public\sdk\inc\winuser.h -FILE 3622 f:\sp\public\sdk\inc\winnls.h -FILE 3623 f:\sp\public\sdk\inc\guiddef.h -FILE 3624 f:\sp\public\sdk\inc\specstrings.h -FILE 3625 f:\sp\public\sdk\inc\basetsd.h -FILE 3626 f:\sp\public\sdk\inc\stralign.h -FILE 3627 f:\sp\public\sdk\inc\tvout.h -FILE 3628 f:\sp\public\sdk\inc\winsvc.h -FILE 3629 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3630 f:\sp\public\sdk\inc\wingdi.h -FILE 3631 f:\sp\public\sdk\inc\pshpack4.h -FILE 3632 f:\sp\public\sdk\inc\poppack.h -FILE 3633 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3634 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3635 f:\sp\public\sdk\inc\winnetwk.h -FILE 3636 f:\sp\public\sdk\inc\imm.h -FILE 3637 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3638 f:\sp\public\sdk\inc\windef.h -FILE 3639 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3640 f:\sp\public\sdk\inc\pshpack1.h -FILE 3641 f:\sp\public\sdk\inc\winver.h -FILE 3642 f:\sp\public\sdk\inc\windows.h -FILE 3643 f:\sp\public\sdk\inc\winnt.h -FILE 3644 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3645 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3646 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3647 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3648 f:\sp\public\sdk\inc\winreg.h -FILE 3649 f:\sp\public\sdk\inc\winbase.h -FILE 3650 f:\sp\vctools\crt_bld\self_x86\crt\src\initcoll.c -FILE 3651 f:\sp\public\sdk\inc\winerror.h -FILE 3652 f:\sp\public\sdk\inc\pshpack8.h -FILE 3653 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3654 f:\sp\public\sdk\inc\reason.h -FILE 3655 f:\sp\public\sdk\inc\wincon.h -FILE 3656 f:\sp\public\sdk\inc\ddbanned.h -FILE 3657 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3658 f:\sp\public\sdk\inc\pshpack2.h -FILE 3659 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3660 f:\sp\public\sdk\inc\mcx.h -FILE 3661 f:\sp\public\sdk\inc\winuser.h -FILE 3662 f:\sp\public\sdk\inc\winnls.h -FILE 3663 f:\sp\public\sdk\inc\guiddef.h -FILE 3664 f:\sp\public\sdk\inc\specstrings.h -FILE 3665 f:\sp\public\sdk\inc\basetsd.h -FILE 3666 f:\sp\public\sdk\inc\stralign.h -FILE 3667 f:\sp\public\sdk\inc\tvout.h -FILE 3668 f:\sp\public\sdk\inc\winsvc.h -FILE 3669 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3670 f:\sp\public\sdk\inc\wingdi.h -FILE 3671 f:\sp\public\sdk\inc\pshpack4.h -FILE 3672 f:\sp\public\sdk\inc\poppack.h -FILE 3673 f:\sp\public\sdk\inc\winnetwk.h -FILE 3674 f:\sp\public\sdk\inc\imm.h -FILE 3675 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3676 f:\sp\public\sdk\inc\windef.h -FILE 3677 f:\binaries.x86ret\vcboot\inc\mm3dnow.h -FILE 3678 f:\sp\public\sdk\inc\pshpack1.h -FILE 3679 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3680 f:\sp\public\sdk\inc\winver.h -FILE 3681 f:\sp\public\sdk\inc\windows.h -FILE 3682 f:\sp\public\sdk\inc\winnt.h -FILE 3683 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3684 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3685 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3686 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3687 f:\sp\public\sdk\inc\winreg.h -FILE 3688 f:\sp\public\sdk\inc\winbase.h -FILE 3689 f:\sp\vctools\crt_bld\self_x86\crt\src\gs_support.c -FILE 3690 f:\sp\public\sdk\inc\winerror.h -FILE 3691 f:\sp\public\sdk\inc\pshpack8.h -FILE 3692 f:\sp\vctools\crt_bld\self_x86\crt\src\intrin.h -FILE 3693 f:\sp\vctools\crt_bld\self_x86\crt\src\setjmp.h -FILE 3694 f:\sp\public\sdk\inc\reason.h -FILE 3695 f:\sp\public\sdk\inc\wincon.h -FILE 3696 f:\sp\public\sdk\inc\ddbanned.h -FILE 3697 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3698 f:\sp\public\sdk\inc\pshpack2.h -FILE 3699 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3700 f:\sp\public\sdk\inc\mcx.h -FILE 3701 f:\sp\public\sdk\inc\winuser.h -FILE 3702 f:\sp\public\sdk\inc\winnls.h -FILE 3703 f:\sp\public\sdk\inc\guiddef.h -FILE 3704 f:\sp\public\sdk\inc\specstrings.h -FILE 3705 f:\sp\public\sdk\inc\basetsd.h -FILE 3706 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 3707 f:\sp\public\sdk\inc\stralign.h -FILE 3708 f:\sp\public\sdk\inc\tvout.h -FILE 3709 f:\sp\public\sdk\inc\winsvc.h -FILE 3710 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3711 f:\sp\public\sdk\inc\wingdi.h -FILE 3712 f:\binaries.x86ret\vcboot\inc\emmintrin.h -FILE 3713 f:\binaries.x86ret\vcboot\inc\xmmintrin.h -FILE 3714 f:\binaries.x86ret\vcboot\inc\mmintrin.h -FILE 3715 f:\sp\public\sdk\inc\pshpack4.h -FILE 3716 f:\sp\public\sdk\inc\poppack.h -FILE 3717 f:\sp\public\sdk\inc\winnetwk.h -FILE 3718 f:\sp\public\sdk\inc\imm.h -FILE 3719 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3720 f:\sp\public\sdk\inc\windef.h -FILE 3721 f:\sp\public\sdk\inc\pshpack1.h -FILE 3722 f:\sp\public\sdk\inc\winver.h -FILE 3723 f:\sp\public\sdk\inc\windows.h -FILE 3724 f:\sp\public\sdk\inc\winnt.h -FILE 3725 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3726 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3727 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3728 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3729 f:\sp\public\sdk\inc\winreg.h -FILE 3730 f:\sp\public\sdk\inc\winbase.h -FILE 3731 f:\sp\vctools\crt_bld\self_x86\crt\src\gs_report.c -FILE 3732 f:\sp\public\sdk\inc\winerror.h -FILE 3733 f:\sp\public\sdk\inc\pshpack8.h -FILE 3734 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3735 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3736 f:\sp\public\sdk\inc\reason.h -FILE 3737 f:\sp\public\sdk\inc\wincon.h -FILE 3738 f:\sp\public\sdk\inc\ddbanned.h -FILE 3739 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3740 f:\sp\public\sdk\inc\pshpack2.h -FILE 3741 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3742 f:\sp\public\sdk\inc\mcx.h -FILE 3743 f:\sp\public\sdk\inc\winuser.h -FILE 3744 f:\sp\public\sdk\inc\winnls.h -FILE 3745 f:\sp\public\sdk\inc\guiddef.h -FILE 3746 f:\sp\public\sdk\inc\specstrings.h -FILE 3747 f:\sp\public\sdk\inc\basetsd.h -FILE 3748 f:\sp\public\sdk\inc\stralign.h -FILE 3749 f:\sp\public\sdk\inc\tvout.h -FILE 3750 f:\sp\public\sdk\inc\winsvc.h -FILE 3751 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3752 f:\sp\public\sdk\inc\wingdi.h -FILE 3753 f:\sp\public\sdk\inc\pshpack4.h -FILE 3754 f:\sp\public\sdk\inc\poppack.h -FILE 3755 f:\sp\public\sdk\inc\winnetwk.h -FILE 3756 f:\sp\public\sdk\inc\imm.h -FILE 3757 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3758 f:\sp\public\sdk\inc\windef.h -FILE 3759 f:\sp\public\sdk\inc\pshpack1.h -FILE 3760 f:\sp\public\sdk\inc\winver.h -FILE 3761 f:\sp\public\sdk\inc\windows.h -FILE 3762 f:\sp\public\sdk\inc\winnt.h -FILE 3763 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3764 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3765 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3766 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3767 f:\sp\public\sdk\inc\winreg.h -FILE 3768 f:\sp\public\sdk\inc\winbase.h -FILE 3769 f:\sp\vctools\crt_bld\self_x86\crt\src\gs_cookie.c -FILE 3770 f:\sp\public\sdk\inc\winerror.h -FILE 3771 f:\sp\public\sdk\inc\pshpack8.h -FILE 3772 f:\sp\public\sdk\inc\reason.h -FILE 3773 f:\sp\public\sdk\inc\wincon.h -FILE 3774 f:\sp\public\sdk\inc\ddbanned.h -FILE 3775 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3776 f:\sp\public\sdk\inc\pshpack2.h -FILE 3777 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3778 f:\sp\public\sdk\inc\mcx.h -FILE 3779 f:\sp\public\sdk\inc\winuser.h -FILE 3780 f:\sp\public\sdk\inc\winnls.h -FILE 3781 f:\sp\public\sdk\inc\guiddef.h -FILE 3782 f:\sp\public\sdk\inc\specstrings.h -FILE 3783 f:\sp\public\sdk\inc\basetsd.h -FILE 3784 f:\sp\public\sdk\inc\stralign.h -FILE 3785 f:\sp\public\sdk\inc\tvout.h -FILE 3786 f:\sp\public\sdk\inc\winsvc.h -FILE 3787 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3788 f:\sp\public\sdk\inc\wingdi.h -FILE 3789 f:\sp\public\sdk\inc\pshpack4.h -FILE 3790 f:\sp\public\sdk\inc\winerror.h -FILE 3791 f:\sp\public\sdk\inc\pshpack1.h -FILE 3792 f:\sp\public\sdk\inc\pshpack8.h -FILE 3793 f:\sp\public\sdk\inc\winver.h -FILE 3794 f:\sp\public\sdk\inc\pshpack2.h -FILE 3795 f:\sp\public\sdk\inc\winreg.h -FILE 3796 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3797 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3798 f:\sp\public\sdk\inc\guiddef.h -FILE 3799 f:\sp\public\sdk\inc\windows.h -FILE 3800 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3801 f:\sp\public\sdk\inc\specstrings.h -FILE 3802 f:\sp\public\sdk\inc\basetsd.h -FILE 3803 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3804 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3805 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3806 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3807 f:\sp\public\sdk\inc\pshpack4.h -FILE 3808 f:\sp\public\sdk\inc\reason.h -FILE 3809 f:\sp\public\sdk\inc\wincon.h -FILE 3810 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3811 f:\sp\public\sdk\inc\poppack.h -FILE 3812 f:\sp\public\sdk\inc\mcx.h -FILE 3813 f:\sp\public\sdk\inc\winuser.h -FILE 3814 f:\sp\public\sdk\inc\winnls.h -FILE 3815 f:\sp\vctools\crt_bld\self_x86\crt\src\glstatus.c -FILE 3816 f:\sp\public\sdk\inc\stralign.h -FILE 3817 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3818 f:\sp\public\sdk\inc\windef.h -FILE 3819 f:\sp\public\sdk\inc\tvout.h -FILE 3820 f:\sp\public\sdk\inc\winsvc.h -FILE 3821 f:\sp\public\sdk\inc\wingdi.h -FILE 3822 f:\sp\public\sdk\inc\ddbanned.h -FILE 3823 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3824 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3825 f:\sp\public\sdk\inc\winnt.h -FILE 3826 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3827 f:\sp\public\sdk\inc\winnetwk.h -FILE 3828 f:\sp\public\sdk\inc\imm.h -FILE 3829 f:\sp\public\sdk\inc\winbase.h -FILE 3830 f:\sp\public\sdk\inc\pshpack4.h -FILE 3831 f:\sp\public\sdk\inc\poppack.h -FILE 3832 f:\sp\public\sdk\inc\winnt.h -FILE 3833 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3834 f:\sp\public\sdk\inc\winnetwk.h -FILE 3835 f:\sp\public\sdk\inc\imm.h -FILE 3836 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3837 f:\sp\public\sdk\inc\pshpack1.h -FILE 3838 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3839 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3840 f:\sp\public\sdk\inc\winver.h -FILE 3841 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3842 f:\sp\public\sdk\inc\guiddef.h -FILE 3843 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3844 f:\sp\public\sdk\inc\specstrings.h -FILE 3845 f:\sp\public\sdk\inc\basetsd.h -FILE 3846 f:\sp\public\sdk\inc\windows.h -FILE 3847 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3848 f:\sp\public\sdk\inc\winreg.h -FILE 3849 f:\sp\vctools\crt_bld\self_x86\crt\src\getqloc.c -FILE 3850 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 3851 f:\sp\public\sdk\inc\winbase.h -FILE 3852 f:\sp\public\sdk\inc\winerror.h -FILE 3853 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3854 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3855 f:\sp\public\sdk\inc\pshpack8.h -FILE 3856 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3857 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3858 f:\sp\public\sdk\inc\reason.h -FILE 3859 f:\sp\public\sdk\inc\ddbanned.h -FILE 3860 f:\sp\public\sdk\inc\wincon.h -FILE 3861 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3862 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3863 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3864 f:\sp\public\sdk\inc\pshpack2.h -FILE 3865 f:\sp\public\sdk\inc\mcx.h -FILE 3866 f:\sp\public\sdk\inc\winuser.h -FILE 3867 f:\sp\public\sdk\inc\winnls.h -FILE 3868 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3869 f:\sp\public\sdk\inc\windef.h -FILE 3870 f:\sp\public\sdk\inc\stralign.h -FILE 3871 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3872 f:\sp\public\sdk\inc\tvout.h -FILE 3873 f:\sp\public\sdk\inc\winsvc.h -FILE 3874 f:\sp\public\sdk\inc\wingdi.h -FILE 3875 f:\sp\public\sdk\inc\reason.h -FILE 3876 f:\sp\public\sdk\inc\wincon.h -FILE 3877 f:\sp\public\sdk\inc\pshpack2.h -FILE 3878 f:\sp\public\sdk\inc\mcx.h -FILE 3879 f:\sp\public\sdk\inc\winuser.h -FILE 3880 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3881 f:\sp\public\sdk\inc\winnls.h -FILE 3882 f:\sp\public\sdk\inc\guiddef.h -FILE 3883 f:\sp\public\sdk\inc\windows.h -FILE 3884 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3885 f:\sp\public\sdk\inc\specstrings.h -FILE 3886 f:\sp\public\sdk\inc\basetsd.h -FILE 3887 f:\sp\public\sdk\inc\stralign.h -FILE 3888 f:\sp\public\sdk\inc\tvout.h -FILE 3889 f:\sp\public\sdk\inc\winsvc.h -FILE 3890 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3891 f:\sp\public\sdk\inc\wingdi.h -FILE 3892 f:\sp\public\sdk\inc\pshpack4.h -FILE 3893 f:\sp\public\sdk\inc\poppack.h -FILE 3894 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 3895 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3896 f:\sp\public\sdk\inc\winnetwk.h -FILE 3897 f:\sp\public\sdk\inc\imm.h -FILE 3898 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3899 f:\sp\public\sdk\inc\windef.h -FILE 3900 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 3901 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 3902 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3903 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3904 f:\sp\vctools\crt_bld\self_x86\crt\src\getenv.c -FILE 3905 f:\sp\public\sdk\inc\pshpack1.h -FILE 3906 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 3907 f:\sp\public\sdk\inc\winver.h -FILE 3908 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3909 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3910 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3911 f:\sp\public\sdk\inc\winnt.h -FILE 3912 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3913 f:\sp\public\sdk\inc\ddbanned.h -FILE 3914 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3915 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3916 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3917 f:\sp\public\sdk\inc\winreg.h -FILE 3918 f:\sp\public\sdk\inc\winbase.h -FILE 3919 f:\sp\public\sdk\inc\winerror.h -FILE 3920 f:\sp\public\sdk\inc\pshpack8.h -FILE 3921 f:\sp\public\sdk\inc\poppack.h -FILE 3922 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3923 f:\sp\public\sdk\inc\winnetwk.h -FILE 3924 f:\sp\public\sdk\inc\imm.h -FILE 3925 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3926 f:\sp\public\sdk\inc\windef.h -FILE 3927 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3928 f:\sp\public\sdk\inc\pshpack1.h -FILE 3929 f:\sp\public\sdk\inc\winver.h -FILE 3930 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3931 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3932 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3933 f:\sp\public\sdk\inc\winnt.h -FILE 3934 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3935 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3936 f:\sp\public\sdk\inc\winreg.h -FILE 3937 f:\sp\vctools\crt_bld\self_x86\crt\src\errmode.c -FILE 3938 f:\sp\public\sdk\inc\winbase.h -FILE 3939 f:\sp\public\sdk\inc\winerror.h -FILE 3940 f:\sp\public\sdk\inc\pshpack8.h -FILE 3941 f:\sp\public\sdk\inc\reason.h -FILE 3942 f:\sp\public\sdk\inc\wincon.h -FILE 3943 f:\sp\public\sdk\inc\ddbanned.h -FILE 3944 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3945 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3946 f:\sp\public\sdk\inc\pshpack2.h -FILE 3947 f:\sp\public\sdk\inc\mcx.h -FILE 3948 f:\sp\public\sdk\inc\winuser.h -FILE 3949 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3950 f:\sp\public\sdk\inc\winnls.h -FILE 3951 f:\sp\public\sdk\inc\guiddef.h -FILE 3952 f:\sp\public\sdk\inc\windows.h -FILE 3953 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3954 f:\sp\public\sdk\inc\specstrings.h -FILE 3955 f:\sp\public\sdk\inc\basetsd.h -FILE 3956 f:\sp\public\sdk\inc\stralign.h -FILE 3957 f:\sp\public\sdk\inc\tvout.h -FILE 3958 f:\sp\public\sdk\inc\winsvc.h -FILE 3959 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3960 f:\sp\public\sdk\inc\wingdi.h -FILE 3961 f:\sp\public\sdk\inc\pshpack4.h -FILE 3962 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3963 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3964 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3965 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3966 f:\sp\vctools\crt_bld\self_x86\crt\src\dbghook.c -FILE 3967 f:\sp\public\sdk\inc\ddbanned.h -FILE 3968 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3969 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3970 f:\sp\public\sdk\inc\poppack.h -FILE 3971 f:\sp\public\sdk\inc\winnetwk.h -FILE 3972 f:\sp\public\sdk\inc\imm.h -FILE 3973 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3974 f:\sp\public\sdk\inc\windef.h -FILE 3975 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3976 f:\sp\public\sdk\inc\pshpack1.h -FILE 3977 f:\sp\public\sdk\inc\winver.h -FILE 3978 f:\sp\public\sdk\inc\windows.h -FILE 3979 f:\sp\public\sdk\inc\winnt.h -FILE 3980 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3981 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3982 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3983 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3984 f:\sp\public\sdk\inc\winreg.h -FILE 3985 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 3986 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.c -FILE 3987 f:\sp\public\sdk\inc\winbase.h -FILE 3988 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 3989 f:\sp\public\sdk\inc\winerror.h -FILE 3990 f:\sp\public\sdk\inc\pshpack8.h -FILE 3991 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3992 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3993 f:\sp\public\sdk\inc\reason.h -FILE 3994 f:\sp\public\sdk\inc\wincon.h -FILE 3995 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3996 f:\sp\public\sdk\inc\ddbanned.h -FILE 3997 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3998 f:\sp\public\sdk\inc\pshpack2.h -FILE 3999 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4000 f:\sp\public\sdk\inc\mcx.h -FILE 4001 f:\sp\public\sdk\inc\winuser.h -FILE 4002 f:\sp\public\sdk\inc\winnls.h -FILE 4003 f:\sp\public\sdk\inc\guiddef.h -FILE 4004 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 4005 f:\sp\public\sdk\inc\specstrings.h -FILE 4006 f:\sp\public\sdk\inc\basetsd.h -FILE 4007 f:\sp\public\sdk\inc\stralign.h -FILE 4008 f:\sp\public\sdk\inc\tvout.h -FILE 4009 f:\sp\public\sdk\inc\winsvc.h -FILE 4010 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4011 f:\sp\public\sdk\inc\wingdi.h -FILE 4012 f:\sp\public\sdk\inc\pshpack4.h -FILE 4013 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4014 f:\sp\public\sdk\inc\mcx.h -FILE 4015 f:\sp\public\sdk\inc\winuser.h -FILE 4016 f:\sp\public\sdk\inc\winnls.h -FILE 4017 f:\sp\public\sdk\inc\stralign.h -FILE 4018 f:\sp\public\sdk\inc\tvout.h -FILE 4019 f:\sp\public\sdk\inc\winsvc.h -FILE 4020 f:\sp\public\sdk\inc\wingdi.h -FILE 4021 f:\sp\public\sdk\inc\pshpack4.h -FILE 4022 f:\sp\public\sdk\inc\winnt.h -FILE 4023 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4024 f:\sp\public\sdk\inc\poppack.h -FILE 4025 f:\sp\public\sdk\inc\winnetwk.h -FILE 4026 f:\sp\public\sdk\inc\imm.h -FILE 4027 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 4028 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 4029 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4030 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4031 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4032 f:\sp\public\sdk\inc\pshpack1.h -FILE 4033 f:\sp\vctools\crt_bld\self_x86\crt\src\crtmbox.c -FILE 4034 f:\sp\public\sdk\inc\winver.h -FILE 4035 f:\sp\public\sdk\inc\guiddef.h -FILE 4036 f:\sp\public\sdk\inc\windows.h -FILE 4037 f:\sp\public\sdk\inc\specstrings.h -FILE 4038 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4039 f:\sp\public\sdk\inc\basetsd.h -FILE 4040 f:\sp\public\sdk\inc\winreg.h -FILE 4041 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4042 f:\sp\public\sdk\inc\winbase.h -FILE 4043 f:\sp\public\sdk\inc\ddbanned.h -FILE 4044 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4045 f:\sp\public\sdk\inc\winerror.h -FILE 4046 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4047 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4048 f:\sp\public\sdk\inc\pshpack8.h -FILE 4049 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4050 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4051 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 4052 f:\sp\public\sdk\inc\reason.h -FILE 4053 f:\sp\public\sdk\inc\wincon.h -FILE 4054 f:\sp\public\sdk\inc\pshpack2.h -FILE 4055 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4056 f:\sp\public\sdk\inc\windef.h -FILE 4057 f:\sp\public\sdk\inc\poppack.h -FILE 4058 f:\sp\vctools\crt_bld\self_x86\crt\src\fltintrn.h -FILE 4059 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4060 f:\sp\public\sdk\inc\winnetwk.h -FILE 4061 f:\sp\public\sdk\inc\imm.h -FILE 4062 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4063 f:\sp\public\sdk\inc\windef.h -FILE 4064 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4065 f:\sp\public\sdk\inc\pshpack1.h -FILE 4066 f:\sp\public\sdk\inc\winver.h -FILE 4067 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4068 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4069 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4070 f:\sp\public\sdk\inc\winnt.h -FILE 4071 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4072 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4073 f:\sp\public\sdk\inc\winreg.h -FILE 4074 f:\sp\vctools\crt_bld\self_x86\crt\src\cmiscdat.c -FILE 4075 f:\sp\public\sdk\inc\winbase.h -FILE 4076 f:\sp\public\sdk\inc\winerror.h -FILE 4077 f:\sp\public\sdk\inc\pshpack8.h -FILE 4078 f:\sp\public\sdk\inc\reason.h -FILE 4079 f:\sp\public\sdk\inc\wincon.h -FILE 4080 f:\sp\public\sdk\inc\ddbanned.h -FILE 4081 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4082 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4083 f:\sp\public\sdk\inc\pshpack2.h -FILE 4084 f:\sp\public\sdk\inc\mcx.h -FILE 4085 f:\sp\public\sdk\inc\winuser.h -FILE 4086 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4087 f:\sp\public\sdk\inc\winnls.h -FILE 4088 f:\sp\public\sdk\inc\guiddef.h -FILE 4089 f:\sp\public\sdk\inc\windows.h -FILE 4090 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4091 f:\sp\public\sdk\inc\specstrings.h -FILE 4092 f:\sp\public\sdk\inc\basetsd.h -FILE 4093 f:\sp\public\sdk\inc\stralign.h -FILE 4094 f:\sp\public\sdk\inc\tvout.h -FILE 4095 f:\sp\public\sdk\inc\winsvc.h -FILE 4096 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4097 f:\sp\public\sdk\inc\wingdi.h -FILE 4098 f:\sp\public\sdk\inc\pshpack4.h -FILE 4099 f:\sp\public\sdk\inc\pshpack4.h -FILE 4100 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 4101 f:\sp\vctools\crt_bld\self_x86\crt\src\signal.h -FILE 4102 f:\sp\public\sdk\inc\poppack.h -FILE 4103 f:\sp\public\sdk\inc\winnetwk.h -FILE 4104 f:\sp\public\sdk\inc\imm.h -FILE 4105 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4106 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4107 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4108 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4109 f:\sp\public\sdk\inc\windef.h -FILE 4110 f:\sp\public\sdk\inc\pshpack1.h -FILE 4111 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4112 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4113 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4114 f:\sp\public\sdk\inc\winver.h -FILE 4115 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4116 f:\sp\public\sdk\inc\winnt.h -FILE 4117 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4118 f:\sp\public\sdk\inc\winreg.h -FILE 4119 f:\sp\vctools\crt_bld\self_x86\crt\src\abort.c -FILE 4120 f:\sp\public\sdk\inc\winbase.h -FILE 4121 f:\sp\public\sdk\inc\winerror.h -FILE 4122 f:\sp\public\sdk\inc\pshpack8.h -FILE 4123 f:\sp\public\sdk\inc\reason.h -FILE 4124 f:\sp\public\sdk\inc\ddbanned.h -FILE 4125 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4126 f:\sp\public\sdk\inc\wincon.h -FILE 4127 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4128 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4129 f:\sp\public\sdk\inc\pshpack2.h -FILE 4130 f:\sp\public\sdk\inc\mcx.h -FILE 4131 f:\sp\public\sdk\inc\winuser.h -FILE 4132 f:\sp\public\sdk\inc\winnls.h -FILE 4133 f:\sp\public\sdk\inc\guiddef.h -FILE 4134 f:\sp\public\sdk\inc\stralign.h -FILE 4135 f:\sp\public\sdk\inc\specstrings.h -FILE 4136 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4137 f:\sp\public\sdk\inc\basetsd.h -FILE 4138 f:\sp\public\sdk\inc\windows.h -FILE 4139 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4140 f:\sp\public\sdk\inc\tvout.h -FILE 4141 f:\sp\public\sdk\inc\winsvc.h -FILE 4142 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4143 f:\sp\public\sdk\inc\wingdi.h -FILE 4144 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 4145 f:\sp\public\sdk\inc\wincon.h -FILE 4146 f:\sp\public\sdk\inc\imm.h -FILE 4147 f:\sp\public\sdk\inc\winbase.h -FILE 4148 f:\sp\public\sdk\inc\wingdi.h -FILE 4149 f:\sp\public\sdk\inc\winver.h -FILE 4150 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4151 f:\sp\public\sdk\inc\windows.h -FILE 4152 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4153 f:\sp\public\sdk\inc\pshpack2.h -FILE 4154 f:\sp\public\sdk\inc\reason.h -FILE 4155 f:\sp\vctools\crt_bld\self_x86\crt\src\a_str.c -FILE 4156 f:\sp\public\sdk\inc\specstrings.h -FILE 4157 f:\sp\public\sdk\inc\basetsd.h -FILE 4158 f:\sp\public\sdk\inc\pshpack4.h -FILE 4159 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4160 f:\sp\public\sdk\inc\winnetwk.h -FILE 4161 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4162 f:\sp\public\sdk\inc\stralign.h -FILE 4163 f:\sp\public\sdk\inc\poppack.h -FILE 4164 f:\sp\public\sdk\inc\winsvc.h -FILE 4165 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4166 f:\sp\public\sdk\inc\windef.h -FILE 4167 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4168 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4169 f:\sp\public\sdk\inc\winuser.h -FILE 4170 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4171 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4172 f:\sp\public\sdk\inc\mcx.h -FILE 4173 f:\sp\public\sdk\inc\pshpack8.h -FILE 4174 f:\sp\public\sdk\inc\guiddef.h -FILE 4175 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4176 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4177 f:\sp\public\sdk\inc\winnt.h -FILE 4178 f:\sp\public\sdk\inc\winnls.h -FILE 4179 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4180 f:\sp\public\sdk\inc\pshpack1.h -FILE 4181 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 4182 f:\sp\public\sdk\inc\winerror.h -FILE 4183 f:\sp\public\sdk\inc\winreg.h -FILE 4184 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4185 f:\sp\public\sdk\inc\ddbanned.h -FILE 4186 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4187 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4188 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 4189 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4190 f:\sp\public\sdk\inc\tvout.h -FILE 4191 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4192 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 4193 f:\sp\public\sdk\inc\wincon.h -FILE 4194 f:\sp\public\sdk\inc\imm.h -FILE 4195 f:\sp\public\sdk\inc\winbase.h -FILE 4196 f:\sp\public\sdk\inc\wingdi.h -FILE 4197 f:\sp\public\sdk\inc\winver.h -FILE 4198 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4199 f:\sp\public\sdk\inc\windows.h -FILE 4200 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4201 f:\sp\public\sdk\inc\pshpack2.h -FILE 4202 f:\sp\public\sdk\inc\reason.h -FILE 4203 f:\sp\vctools\crt_bld\self_x86\crt\src\a_map.c -FILE 4204 f:\sp\public\sdk\inc\specstrings.h -FILE 4205 f:\sp\public\sdk\inc\basetsd.h -FILE 4206 f:\sp\public\sdk\inc\pshpack4.h -FILE 4207 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4208 f:\sp\public\sdk\inc\winnetwk.h -FILE 4209 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4210 f:\sp\public\sdk\inc\stralign.h -FILE 4211 f:\sp\public\sdk\inc\poppack.h -FILE 4212 f:\sp\public\sdk\inc\winsvc.h -FILE 4213 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4214 f:\sp\public\sdk\inc\windef.h -FILE 4215 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4216 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4217 f:\sp\public\sdk\inc\winuser.h -FILE 4218 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4219 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4220 f:\sp\public\sdk\inc\mcx.h -FILE 4221 f:\sp\public\sdk\inc\pshpack8.h -FILE 4222 f:\sp\public\sdk\inc\guiddef.h -FILE 4223 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4224 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4225 f:\sp\public\sdk\inc\winnt.h -FILE 4226 f:\sp\public\sdk\inc\winnls.h -FILE 4227 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4228 f:\sp\public\sdk\inc\pshpack1.h -FILE 4229 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 4230 f:\sp\public\sdk\inc\winerror.h -FILE 4231 f:\sp\public\sdk\inc\winreg.h -FILE 4232 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4233 f:\sp\public\sdk\inc\ddbanned.h -FILE 4234 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4235 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4236 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 4237 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4238 f:\sp\public\sdk\inc\tvout.h -FILE 4239 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4240 f:\sp\public\sdk\inc\wincon.h -FILE 4241 f:\sp\public\sdk\inc\imm.h -FILE 4242 f:\sp\public\sdk\inc\winbase.h -FILE 4243 f:\sp\public\sdk\inc\wingdi.h -FILE 4244 f:\sp\public\sdk\inc\winver.h -FILE 4245 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4246 f:\sp\public\sdk\inc\windows.h -FILE 4247 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4248 f:\sp\public\sdk\inc\pshpack2.h -FILE 4249 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4250 f:\sp\public\sdk\inc\reason.h -FILE 4251 f:\sp\vctools\crt_bld\self_x86\crt\src\a_loc.c -FILE 4252 f:\sp\public\sdk\inc\specstrings.h -FILE 4253 f:\sp\public\sdk\inc\basetsd.h -FILE 4254 f:\sp\public\sdk\inc\pshpack4.h -FILE 4255 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 4256 f:\sp\public\sdk\inc\winnetwk.h -FILE 4257 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4258 f:\sp\public\sdk\inc\stralign.h -FILE 4259 f:\sp\public\sdk\inc\poppack.h -FILE 4260 f:\sp\public\sdk\inc\winsvc.h -FILE 4261 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4262 f:\sp\public\sdk\inc\windef.h -FILE 4263 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4264 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4265 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 4266 f:\sp\public\sdk\inc\winuser.h -FILE 4267 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4268 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4269 f:\sp\public\sdk\inc\mcx.h -FILE 4270 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 4271 f:\sp\public\sdk\inc\pshpack8.h -FILE 4272 f:\sp\public\sdk\inc\guiddef.h -FILE 4273 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4274 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4275 f:\sp\public\sdk\inc\winnt.h -FILE 4276 f:\sp\public\sdk\inc\winnls.h -FILE 4277 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4278 f:\sp\public\sdk\inc\pshpack1.h -FILE 4279 f:\sp\public\sdk\inc\winerror.h -FILE 4280 f:\sp\public\sdk\inc\winreg.h -FILE 4281 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4282 f:\sp\public\sdk\inc\ddbanned.h -FILE 4283 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4284 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4285 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4286 f:\sp\public\sdk\inc\tvout.h -FILE 4287 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4288 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 4289 f:\sp\public\sdk\inc\poppack.h -FILE 4290 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4291 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4292 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4293 f:\sp\public\sdk\inc\winnetwk.h -FILE 4294 f:\sp\public\sdk\inc\imm.h -FILE 4295 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4296 f:\sp\public\sdk\inc\windef.h -FILE 4297 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4298 f:\sp\public\sdk\inc\pshpack1.h -FILE 4299 f:\sp\public\sdk\inc\winver.h -FILE 4300 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4301 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4302 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4303 f:\sp\public\sdk\inc\winnt.h -FILE 4304 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4305 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4306 f:\sp\public\sdk\inc\winreg.h -FILE 4307 f:\sp\vctools\crt_bld\self_x86\crt\src\a_env.c -FILE 4308 f:\sp\public\sdk\inc\winbase.h -FILE 4309 f:\sp\public\sdk\inc\winerror.h -FILE 4310 f:\sp\public\sdk\inc\pshpack8.h -FILE 4311 f:\sp\public\sdk\inc\reason.h -FILE 4312 f:\sp\public\sdk\inc\wincon.h -FILE 4313 f:\sp\public\sdk\inc\ddbanned.h -FILE 4314 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4315 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4316 f:\sp\public\sdk\inc\pshpack2.h -FILE 4317 f:\sp\public\sdk\inc\mcx.h -FILE 4318 f:\sp\public\sdk\inc\winuser.h -FILE 4319 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4320 f:\sp\public\sdk\inc\winnls.h -FILE 4321 f:\sp\public\sdk\inc\guiddef.h -FILE 4322 f:\sp\public\sdk\inc\windows.h -FILE 4323 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4324 f:\sp\public\sdk\inc\specstrings.h -FILE 4325 f:\sp\public\sdk\inc\basetsd.h -FILE 4326 f:\sp\public\sdk\inc\stralign.h -FILE 4327 f:\sp\public\sdk\inc\tvout.h -FILE 4328 f:\sp\public\sdk\inc\winsvc.h -FILE 4329 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4330 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 4331 f:\sp\public\sdk\inc\wingdi.h -FILE 4332 f:\sp\public\sdk\inc\pshpack4.h -FILE 4333 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 4334 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4335 f:\sp\public\sdk\inc\wincon.h -FILE 4336 f:\sp\public\sdk\inc\imm.h -FILE 4337 f:\sp\public\sdk\inc\winbase.h -FILE 4338 f:\sp\public\sdk\inc\wingdi.h -FILE 4339 f:\sp\public\sdk\inc\winver.h -FILE 4340 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4341 f:\sp\public\sdk\inc\windows.h -FILE 4342 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4343 f:\sp\public\sdk\inc\pshpack2.h -FILE 4344 f:\sp\public\sdk\inc\reason.h -FILE 4345 f:\sp\vctools\crt_bld\self_x86\crt\src\a_cmp.c -FILE 4346 f:\sp\public\sdk\inc\specstrings.h -FILE 4347 f:\sp\public\sdk\inc\basetsd.h -FILE 4348 f:\sp\public\sdk\inc\pshpack4.h -FILE 4349 f:\sp\public\sdk\inc\winnetwk.h -FILE 4350 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4351 f:\sp\public\sdk\inc\stralign.h -FILE 4352 f:\sp\public\sdk\inc\poppack.h -FILE 4353 f:\sp\public\sdk\inc\winsvc.h -FILE 4354 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4355 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4356 f:\sp\public\sdk\inc\windef.h -FILE 4357 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4358 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4359 f:\sp\public\sdk\inc\winuser.h -FILE 4360 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4361 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4362 f:\sp\public\sdk\inc\mcx.h -FILE 4363 f:\sp\public\sdk\inc\pshpack8.h -FILE 4364 f:\sp\public\sdk\inc\guiddef.h -FILE 4365 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4366 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4367 f:\sp\public\sdk\inc\winnt.h -FILE 4368 f:\sp\public\sdk\inc\winnls.h -FILE 4369 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4370 f:\sp\public\sdk\inc\pshpack1.h -FILE 4371 f:\sp\public\sdk\inc\winerror.h -FILE 4372 f:\sp\public\sdk\inc\winreg.h -FILE 4373 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4374 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 4375 f:\sp\public\sdk\inc\ddbanned.h -FILE 4376 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4377 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4378 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 4379 f:\sp\public\sdk\inc\tvout.h -FILE 4380 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4381 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\sehprolg4.asm -FILE 4382 f:\sp\public\sdk\inc\poppack.h -FILE 4383 f:\sp\public\sdk\inc\winnetwk.h -FILE 4384 f:\sp\public\sdk\inc\imm.h -FILE 4385 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4386 f:\sp\public\sdk\inc\windef.h -FILE 4387 f:\sp\public\sdk\inc\pshpack1.h -FILE 4388 f:\sp\public\sdk\inc\winver.h -FILE 4389 f:\sp\public\sdk\inc\windows.h -FILE 4390 f:\sp\public\sdk\inc\winnt.h -FILE 4391 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4392 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4393 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4394 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4395 f:\sp\public\sdk\inc\winreg.h -FILE 4396 f:\sp\public\sdk\inc\winbase.h -FILE 4397 f:\sp\vctools\crt_bld\self_x86\crt\src\intel\secchk.c -FILE 4398 f:\sp\public\sdk\inc\winerror.h -FILE 4399 f:\sp\public\sdk\inc\pshpack8.h -FILE 4400 f:\sp\vctools\crt_bld\self_x86\crt\src\process.h -FILE 4401 f:\sp\public\sdk\inc\reason.h -FILE 4402 f:\sp\public\sdk\inc\wincon.h -FILE 4403 f:\sp\public\sdk\inc\ddbanned.h -FILE 4404 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4405 f:\sp\public\sdk\inc\pshpack2.h -FILE 4406 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4407 f:\sp\public\sdk\inc\mcx.h -FILE 4408 f:\sp\public\sdk\inc\winuser.h -FILE 4409 f:\sp\public\sdk\inc\winnls.h -FILE 4410 f:\sp\public\sdk\inc\guiddef.h -FILE 4411 f:\sp\public\sdk\inc\specstrings.h -FILE 4412 f:\sp\public\sdk\inc\basetsd.h -FILE 4413 f:\sp\public\sdk\inc\stralign.h -FILE 4414 f:\sp\public\sdk\inc\tvout.h -FILE 4415 f:\sp\public\sdk\inc\winsvc.h -FILE 4416 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4417 f:\sp\public\sdk\inc\wingdi.h -FILE 4418 f:\sp\public\sdk\inc\pshpack4.h -FILE 4419 f:\sp\public\sdk\inc\poppack.h -FILE 4420 f:\sp\public\sdk\inc\winnetwk.h -FILE 4421 f:\sp\public\sdk\inc\imm.h -FILE 4422 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4423 f:\sp\public\sdk\inc\windef.h -FILE 4424 f:\sp\public\sdk\inc\pshpack1.h -FILE 4425 f:\sp\public\sdk\inc\winver.h -FILE 4426 f:\sp\public\sdk\inc\windows.h -FILE 4427 f:\sp\public\sdk\inc\winnt.h -FILE 4428 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4429 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4430 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4431 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4432 f:\sp\public\sdk\inc\winreg.h -FILE 4433 f:\sp\public\sdk\inc\winbase.h -FILE 4434 f:\sp\vctools\crt_bld\self_x86\crt\src\intel\loadcfg.c -FILE 4435 f:\sp\public\sdk\inc\winerror.h -FILE 4436 f:\sp\public\sdk\inc\pshpack8.h -FILE 4437 f:\sp\public\sdk\inc\reason.h -FILE 4438 f:\sp\public\sdk\inc\wincon.h -FILE 4439 f:\sp\public\sdk\inc\ddbanned.h -FILE 4440 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4441 f:\sp\public\sdk\inc\pshpack2.h -FILE 4442 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4443 f:\sp\public\sdk\inc\mcx.h -FILE 4444 f:\sp\public\sdk\inc\winuser.h -FILE 4445 f:\sp\public\sdk\inc\winnls.h -FILE 4446 f:\sp\public\sdk\inc\guiddef.h -FILE 4447 f:\sp\public\sdk\inc\specstrings.h -FILE 4448 f:\sp\public\sdk\inc\basetsd.h -FILE 4449 f:\sp\public\sdk\inc\stralign.h -FILE 4450 f:\sp\public\sdk\inc\tvout.h -FILE 4451 f:\sp\public\sdk\inc\winsvc.h -FILE 4452 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4453 f:\sp\public\sdk\inc\wingdi.h -FILE 4454 f:\sp\public\sdk\inc\pshpack4.h -FILE 4455 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup4.asm -FILE 4456 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\h\exsup.inc -FILE 4457 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup.asm -FILE 4458 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\h\pversion.inc -FILE 4459 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\h\cmacros.inc -FILE 4460 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\h\exsup.inc -FILE 4461 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\nlgsupp.asm -FILE 4462 f:\sp\public\sdk\inc\ntldr.h -FILE 4463 f:\sp\public\sdk\inc\ntpoapi.h -FILE 4464 f:\sp\public\sdk\inc\ntexapi.h -FILE 4465 f:\sp\public\sdk\inc\pshpack1.h -FILE 4466 f:\sp\public\sdk\inc\pshpack8.h -FILE 4467 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 4468 f:\sp\public\sdk\inc\ntdef.h -FILE 4469 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 4470 f:\sp\public\sdk\inc\mce.h -FILE 4471 f:\sp\public\sdk\inc\poppack.h -FILE 4472 f:\sp\public\sdk\inc\ntimage.h -FILE 4473 f:\sp\public\sdk\inc\pshpack2.h -FILE 4474 f:\sp\public\sdk\inc\ntpsapi.h -FILE 4475 f:\sp\public\sdk\inc\nti386.h -FILE 4476 f:\sp\public\sdk\inc\nt.h -FILE 4477 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 4478 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 4479 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 4480 f:\sp\public\sdk\inc\specstrings.h -FILE 4481 f:\sp\public\sdk\inc\basetsd.h -FILE 4482 f:\sp\public\sdk\inc\ntxcapi.h -FILE 4483 f:\sp\public\sdk\inc\guiddef.h -FILE 4484 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\misc\i386\chandler4.c -FILE 4485 f:\sp\public\sdk\inc\ntstatus.h -FILE 4486 f:\sp\public\sdk\inc\ntkeapi.h -FILE 4487 f:\sp\public\sdk\inc\ntconfig.h -FILE 4488 f:\sp\public\sdk\inc\ntregapi.h -FILE 4489 f:\sp\public\sdk\inc\ntmmapi.h -FILE 4490 f:\sp\public\sdk\inc\ntobapi.h -FILE 4491 f:\sp\public\sdk\inc\nxi386.h -FILE 4492 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\process.h -FILE 4493 f:\sp\public\sdk\inc\ntioapi.h -FILE 4494 f:\sp\public\sdk\inc\devioctl.h -FILE 4495 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 4496 f:\sp\public\sdk\inc\ntseapi.h -FILE 4497 f:\sp\public\sdk\inc\ddbanned.h -FILE 4498 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 4499 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 4500 f:\sp\public\sdk\inc\ntnls.h -FILE 4501 f:\sp\public\sdk\inc\ntelfapi.h -FILE 4502 f:\sp\public\sdk\inc\pshpack4.h -FILE 4503 f:\sp\public\sdk\inc\ntiolog.h -FILE 4504 f:\sp\public\sdk\inc\ntlpcapi.h -FILE 4505 f:\sp\public\sdk\inc\ntpnpapi.h -FILE 4506 f:\sp\public\sdk\inc\cfg.h -FILE 4507 f:\sp\public\sdk\inc\pebteb.h -FILE 4508 f:\sp\public\sdk\inc\wincon.h -FILE 4509 f:\sp\public\sdk\inc\imm.h -FILE 4510 f:\sp\public\sdk\inc\winbase.h -FILE 4511 f:\sp\public\sdk\inc\wingdi.h -FILE 4512 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4513 f:\sp\public\sdk\inc\winver.h -FILE 4514 f:\sp\public\sdk\inc\pshpack2.h -FILE 4515 f:\sp\public\sdk\inc\reason.h -FILE 4516 f:\sp\vctools\crt_bld\self_x86\crt\src\mbdata.h -FILE 4517 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4518 f:\sp\vctools\crt_bld\self_x86\crt\src\mbsnbico.c -FILE 4519 f:\sp\public\sdk\inc\specstrings.h -FILE 4520 f:\sp\public\sdk\inc\basetsd.h -FILE 4521 f:\sp\public\sdk\inc\pshpack4.h -FILE 4522 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4523 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 4524 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4525 f:\sp\public\sdk\inc\winnetwk.h -FILE 4526 f:\sp\public\sdk\inc\stralign.h -FILE 4527 f:\sp\public\sdk\inc\poppack.h -FILE 4528 f:\sp\public\sdk\inc\winsvc.h -FILE 4529 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4530 f:\sp\public\sdk\inc\windef.h -FILE 4531 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 4532 f:\sp\public\sdk\inc\winuser.h -FILE 4533 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4534 f:\sp\public\sdk\inc\windows.h -FILE 4535 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4536 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4537 f:\sp\public\sdk\inc\mcx.h -FILE 4538 f:\sp\public\sdk\inc\pshpack8.h -FILE 4539 f:\sp\public\sdk\inc\guiddef.h -FILE 4540 f:\sp\public\sdk\inc\winnt.h -FILE 4541 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4542 f:\sp\public\sdk\inc\winnls.h -FILE 4543 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4544 f:\sp\public\sdk\inc\pshpack1.h -FILE 4545 f:\sp\public\sdk\inc\winerror.h -FILE 4546 f:\sp\public\sdk\inc\winreg.h -FILE 4547 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4548 f:\sp\public\sdk\inc\ddbanned.h -FILE 4549 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4550 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4551 f:\sp\public\sdk\inc\tvout.h -FILE 4552 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4553 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4554 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4555 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 4556 f:\sp\public\sdk\inc\wincon.h -FILE 4557 f:\sp\public\sdk\inc\imm.h -FILE 4558 f:\sp\public\sdk\inc\winbase.h -FILE 4559 f:\sp\public\sdk\inc\wingdi.h -FILE 4560 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 4561 f:\sp\public\sdk\inc\winver.h -FILE 4562 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4563 f:\sp\public\sdk\inc\windows.h -FILE 4564 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4565 f:\sp\public\sdk\inc\pshpack2.h -FILE 4566 f:\sp\public\sdk\inc\reason.h -FILE 4567 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4568 f:\sp\vctools\crt_bld\self_x86\crt\src\mbschr.c -FILE 4569 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4570 f:\sp\public\sdk\inc\specstrings.h -FILE 4571 f:\sp\public\sdk\inc\basetsd.h -FILE 4572 f:\sp\public\sdk\inc\pshpack4.h -FILE 4573 f:\sp\public\sdk\inc\winnetwk.h -FILE 4574 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4575 f:\sp\public\sdk\inc\stralign.h -FILE 4576 f:\sp\public\sdk\inc\poppack.h -FILE 4577 f:\sp\public\sdk\inc\winsvc.h -FILE 4578 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4579 f:\sp\public\sdk\inc\windef.h -FILE 4580 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4581 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4582 f:\sp\public\sdk\inc\winuser.h -FILE 4583 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4584 f:\sp\public\sdk\inc\mcx.h -FILE 4585 f:\sp\public\sdk\inc\pshpack8.h -FILE 4586 f:\sp\public\sdk\inc\guiddef.h -FILE 4587 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 4588 f:\sp\public\sdk\inc\winnt.h -FILE 4589 f:\sp\public\sdk\inc\winnls.h -FILE 4590 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4591 f:\sp\public\sdk\inc\pshpack1.h -FILE 4592 f:\sp\public\sdk\inc\winerror.h -FILE 4593 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 4594 f:\sp\public\sdk\inc\winreg.h -FILE 4595 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4596 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4597 f:\sp\public\sdk\inc\ddbanned.h -FILE 4598 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4599 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4600 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4601 f:\sp\public\sdk\inc\tvout.h -FILE 4602 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4603 f:\sp\vctools\crt_bld\self_x86\crt\src\mbdata.h -FILE 4604 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 4605 f:\sp\public\sdk\inc\wincon.h -FILE 4606 f:\sp\public\sdk\inc\imm.h -FILE 4607 f:\sp\public\sdk\inc\winbase.h -FILE 4608 f:\sp\public\sdk\inc\wingdi.h -FILE 4609 f:\sp\public\sdk\inc\winver.h -FILE 4610 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 4611 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4612 f:\sp\public\sdk\inc\pshpack2.h -FILE 4613 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 4614 f:\sp\public\sdk\inc\reason.h -FILE 4615 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.c -FILE 4616 f:\sp\public\sdk\inc\specstrings.h -FILE 4617 f:\sp\public\sdk\inc\basetsd.h -FILE 4618 f:\sp\public\sdk\inc\pshpack4.h -FILE 4619 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4620 f:\sp\public\sdk\inc\winnetwk.h -FILE 4621 f:\sp\public\sdk\inc\stralign.h -FILE 4622 f:\sp\public\sdk\inc\poppack.h -FILE 4623 f:\sp\public\sdk\inc\winsvc.h -FILE 4624 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4625 f:\sp\public\sdk\inc\windef.h -FILE 4626 f:\sp\public\sdk\inc\winuser.h -FILE 4627 f:\sp\public\sdk\inc\windows.h -FILE 4628 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4629 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4630 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4631 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4632 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4633 f:\sp\public\sdk\inc\mcx.h -FILE 4634 f:\sp\public\sdk\inc\pshpack8.h -FILE 4635 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4636 f:\sp\public\sdk\inc\guiddef.h -FILE 4637 f:\sp\public\sdk\inc\winnt.h -FILE 4638 f:\sp\public\sdk\inc\winnls.h -FILE 4639 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4640 f:\sp\vctools\crt_bld\self_x86\crt\src\mbdata.h -FILE 4641 f:\sp\public\sdk\inc\pshpack1.h -FILE 4642 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 4643 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4644 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4645 f:\sp\public\sdk\inc\winerror.h -FILE 4646 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 4647 f:\sp\public\sdk\inc\winreg.h -FILE 4648 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4649 f:\sp\public\sdk\inc\ddbanned.h -FILE 4650 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 4651 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4652 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 4653 f:\sp\public\sdk\inc\tvout.h -FILE 4654 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4655 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4656 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4657 f:\sp\public\sdk\inc\wincon.h -FILE 4658 f:\sp\public\sdk\inc\imm.h -FILE 4659 f:\sp\public\sdk\inc\winbase.h -FILE 4660 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4661 f:\sp\public\sdk\inc\wingdi.h -FILE 4662 f:\sp\public\sdk\inc\windef.h -FILE 4663 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 4664 f:\sp\public\sdk\inc\winver.h -FILE 4665 f:\sp\public\sdk\inc\pshpack2.h -FILE 4666 f:\sp\public\sdk\inc\reason.h -FILE 4667 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4668 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4669 f:\sp\vctools\crt_bld\self_x86\crt\src\ismbbyte.c -FILE 4670 f:\sp\public\sdk\inc\winnt.h -FILE 4671 f:\sp\public\sdk\inc\specstrings.h -FILE 4672 f:\sp\public\sdk\inc\basetsd.h -FILE 4673 f:\sp\public\sdk\inc\pshpack4.h -FILE 4674 f:\sp\public\sdk\inc\winnetwk.h -FILE 4675 f:\sp\public\sdk\inc\stralign.h -FILE 4676 f:\sp\public\sdk\inc\poppack.h -FILE 4677 f:\sp\public\sdk\inc\winsvc.h -FILE 4678 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4679 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4680 f:\sp\public\sdk\inc\winuser.h -FILE 4681 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4682 f:\sp\public\sdk\inc\mcx.h -FILE 4683 f:\sp\public\sdk\inc\pshpack8.h -FILE 4684 f:\sp\public\sdk\inc\guiddef.h -FILE 4685 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4686 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 4687 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4688 f:\sp\public\sdk\inc\windows.h -FILE 4689 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4690 f:\sp\public\sdk\inc\winnls.h -FILE 4691 f:\sp\public\sdk\inc\pshpack1.h -FILE 4692 f:\sp\public\sdk\inc\winerror.h -FILE 4693 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4694 f:\sp\public\sdk\inc\winreg.h -FILE 4695 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4696 f:\sp\public\sdk\inc\ddbanned.h -FILE 4697 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4698 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4699 f:\sp\public\sdk\inc\tvout.h -FILE 4700 f:\sp\vctools\crt_bld\self_x86\crt\src\mbdata.h -FILE 4701 f:\sp\public\sdk\inc\winnetwk.h -FILE 4702 f:\sp\public\sdk\inc\imm.h -FILE 4703 f:\sp\vctools\crt_bld\self_x86\crt\src\io.h -FILE 4704 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4705 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 4706 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4707 f:\sp\public\sdk\inc\windef.h -FILE 4708 f:\sp\public\sdk\inc\pshpack1.h -FILE 4709 f:\sp\public\sdk\inc\winver.h -FILE 4710 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 4711 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4712 f:\sp\public\sdk\inc\winnt.h -FILE 4713 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4714 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4715 f:\sp\public\sdk\inc\winreg.h -FILE 4716 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4717 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4718 f:\sp\public\sdk\inc\winbase.h -FILE 4719 f:\sp\public\sdk\inc\winerror.h -FILE 4720 f:\sp\public\sdk\inc\pshpack8.h -FILE 4721 f:\sp\vctools\crt_bld\self_x86\crt\src\putwch.c -FILE 4722 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4723 f:\sp\public\sdk\inc\reason.h -FILE 4724 f:\sp\public\sdk\inc\wincon.h -FILE 4725 f:\sp\public\sdk\inc\pshpack2.h -FILE 4726 f:\sp\public\sdk\inc\mcx.h -FILE 4727 f:\sp\public\sdk\inc\winuser.h -FILE 4728 f:\sp\public\sdk\inc\winnls.h -FILE 4729 f:\sp\public\sdk\inc\guiddef.h -FILE 4730 f:\sp\public\sdk\inc\stralign.h -FILE 4731 f:\sp\public\sdk\inc\ddbanned.h -FILE 4732 f:\sp\public\sdk\inc\specstrings.h -FILE 4733 f:\sp\vctools\crt_bld\self_x86\crt\src\file2.h -FILE 4734 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4735 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4736 f:\sp\public\sdk\inc\basetsd.h -FILE 4737 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 4738 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4739 f:\sp\public\sdk\inc\windows.h -FILE 4740 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4741 f:\sp\public\sdk\inc\tvout.h -FILE 4742 f:\sp\public\sdk\inc\winsvc.h -FILE 4743 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4744 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4745 f:\sp\public\sdk\inc\wingdi.h -FILE 4746 f:\sp\public\sdk\inc\pshpack4.h -FILE 4747 f:\sp\vctools\crt_bld\self_x86\crt\src\conio.h -FILE 4748 f:\sp\public\sdk\inc\poppack.h -FILE 4749 f:\sp\public\sdk\inc\reason.h -FILE 4750 f:\sp\public\sdk\inc\wincon.h -FILE 4751 f:\sp\vctools\crt_bld\self_x86\crt\src\io.h -FILE 4752 f:\sp\public\sdk\inc\poppack.h -FILE 4753 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4754 f:\sp\public\sdk\inc\mcx.h -FILE 4755 f:\sp\public\sdk\inc\winuser.h -FILE 4756 f:\sp\public\sdk\inc\winnls.h -FILE 4757 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 4758 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4759 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4760 f:\sp\public\sdk\inc\stralign.h -FILE 4761 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4762 f:\sp\public\sdk\inc\windef.h -FILE 4763 f:\sp\public\sdk\inc\tvout.h -FILE 4764 f:\sp\public\sdk\inc\winsvc.h -FILE 4765 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 4766 f:\sp\public\sdk\inc\wingdi.h -FILE 4767 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4768 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4769 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4770 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4771 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4772 f:\sp\public\sdk\inc\winnt.h -FILE 4773 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4774 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4775 f:\sp\public\sdk\inc\winnetwk.h -FILE 4776 f:\sp\public\sdk\inc\imm.h -FILE 4777 f:\sp\vctools\crt_bld\self_x86\crt\src\write.c -FILE 4778 f:\sp\public\sdk\inc\winbase.h -FILE 4779 f:\sp\public\sdk\inc\winerror.h -FILE 4780 f:\sp\public\sdk\inc\pshpack1.h -FILE 4781 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4782 f:\sp\public\sdk\inc\pshpack8.h -FILE 4783 f:\sp\public\sdk\inc\winver.h -FILE 4784 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 4785 f:\sp\public\sdk\inc\ddbanned.h -FILE 4786 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4787 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4788 f:\sp\public\sdk\inc\pshpack2.h -FILE 4789 f:\sp\public\sdk\inc\winreg.h -FILE 4790 f:\sp\public\sdk\inc\guiddef.h -FILE 4791 f:\sp\public\sdk\inc\windows.h -FILE 4792 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4793 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 4794 f:\sp\public\sdk\inc\specstrings.h -FILE 4795 f:\sp\public\sdk\inc\basetsd.h -FILE 4796 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4797 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4798 f:\sp\public\sdk\inc\pshpack4.h -FILE 4799 f:\sp\public\sdk\inc\reason.h -FILE 4800 f:\sp\public\sdk\inc\wincon.h -FILE 4801 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4802 f:\sp\public\sdk\inc\poppack.h -FILE 4803 f:\sp\public\sdk\inc\mcx.h -FILE 4804 f:\sp\public\sdk\inc\winuser.h -FILE 4805 f:\sp\public\sdk\inc\winnls.h -FILE 4806 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4807 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4808 f:\sp\public\sdk\inc\stralign.h -FILE 4809 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4810 f:\sp\public\sdk\inc\windef.h -FILE 4811 f:\sp\public\sdk\inc\tvout.h -FILE 4812 f:\sp\public\sdk\inc\winsvc.h -FILE 4813 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 4814 f:\sp\public\sdk\inc\wingdi.h -FILE 4815 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4816 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4817 f:\sp\public\sdk\inc\winnt.h -FILE 4818 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4819 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4820 f:\sp\vctools\crt_bld\self_x86\crt\src\io.h -FILE 4821 f:\sp\public\sdk\inc\winnetwk.h -FILE 4822 f:\sp\public\sdk\inc\imm.h -FILE 4823 f:\sp\vctools\crt_bld\self_x86\crt\src\fcntl.h -FILE 4824 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 4825 f:\sp\vctools\crt_bld\self_x86\crt\src\osfinfo.c -FILE 4826 f:\sp\public\sdk\inc\winbase.h -FILE 4827 f:\sp\public\sdk\inc\winerror.h -FILE 4828 f:\sp\public\sdk\inc\pshpack1.h -FILE 4829 f:\sp\public\sdk\inc\pshpack8.h -FILE 4830 f:\sp\public\sdk\inc\winver.h -FILE 4831 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4832 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 4833 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4834 f:\sp\public\sdk\inc\ddbanned.h -FILE 4835 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4836 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4837 f:\sp\public\sdk\inc\pshpack2.h -FILE 4838 f:\sp\public\sdk\inc\winreg.h -FILE 4839 f:\sp\public\sdk\inc\guiddef.h -FILE 4840 f:\sp\public\sdk\inc\windows.h -FILE 4841 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4842 f:\sp\public\sdk\inc\specstrings.h -FILE 4843 f:\sp\public\sdk\inc\basetsd.h -FILE 4844 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4845 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4846 f:\sp\public\sdk\inc\pshpack4.h -FILE 4847 f:\sp\public\sdk\inc\reason.h -FILE 4848 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4849 f:\sp\public\sdk\inc\wincon.h -FILE 4850 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4851 f:\sp\public\sdk\inc\poppack.h -FILE 4852 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4853 f:\sp\public\sdk\inc\mcx.h -FILE 4854 f:\sp\public\sdk\inc\winuser.h -FILE 4855 f:\sp\public\sdk\inc\winnls.h -FILE 4856 f:\sp\public\sdk\inc\stralign.h -FILE 4857 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4858 f:\sp\public\sdk\inc\windef.h -FILE 4859 f:\sp\public\sdk\inc\tvout.h -FILE 4860 f:\sp\vctools\crt_bld\self_x86\crt\src\io.h -FILE 4861 f:\sp\public\sdk\inc\winsvc.h -FILE 4862 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4863 f:\sp\public\sdk\inc\wingdi.h -FILE 4864 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 4865 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4866 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4867 f:\sp\public\sdk\inc\winnt.h -FILE 4868 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4869 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4870 f:\sp\public\sdk\inc\winnetwk.h -FILE 4871 f:\sp\public\sdk\inc\imm.h -FILE 4872 f:\sp\vctools\crt_bld\self_x86\crt\src\lseeki64.c -FILE 4873 f:\sp\public\sdk\inc\winbase.h -FILE 4874 f:\sp\public\sdk\inc\winerror.h -FILE 4875 f:\sp\public\sdk\inc\pshpack1.h -FILE 4876 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 4877 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 4878 f:\sp\public\sdk\inc\pshpack8.h -FILE 4879 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4880 f:\sp\public\sdk\inc\winver.h -FILE 4881 f:\sp\public\sdk\inc\ddbanned.h -FILE 4882 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4883 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4884 f:\sp\public\sdk\inc\pshpack2.h -FILE 4885 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4886 f:\sp\public\sdk\inc\winreg.h -FILE 4887 f:\sp\public\sdk\inc\guiddef.h -FILE 4888 f:\sp\public\sdk\inc\windows.h -FILE 4889 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4890 f:\sp\public\sdk\inc\specstrings.h -FILE 4891 f:\sp\public\sdk\inc\basetsd.h -FILE 4892 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4893 f:\sp\public\sdk\inc\pshpack4.h -FILE 4894 f:\sp\public\sdk\inc\pshpack4.h -FILE 4895 f:\sp\public\sdk\inc\poppack.h -FILE 4896 f:\sp\vctools\crt_bld\self_x86\crt\src\io.h -FILE 4897 f:\sp\public\sdk\inc\winnetwk.h -FILE 4898 f:\sp\public\sdk\inc\imm.h -FILE 4899 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4900 f:\sp\public\sdk\inc\windef.h -FILE 4901 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4902 f:\sp\public\sdk\inc\pshpack1.h -FILE 4903 f:\sp\public\sdk\inc\winver.h -FILE 4904 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 4905 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4906 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4907 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4908 f:\sp\public\sdk\inc\winnt.h -FILE 4909 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4910 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4911 f:\sp\public\sdk\inc\winreg.h -FILE 4912 f:\sp\vctools\crt_bld\self_x86\crt\src\isatty.c -FILE 4913 f:\sp\public\sdk\inc\winbase.h -FILE 4914 f:\sp\public\sdk\inc\winerror.h -FILE 4915 f:\sp\public\sdk\inc\pshpack8.h -FILE 4916 f:\sp\public\sdk\inc\reason.h -FILE 4917 f:\sp\public\sdk\inc\wincon.h -FILE 4918 f:\sp\public\sdk\inc\ddbanned.h -FILE 4919 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4920 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4921 f:\sp\public\sdk\inc\pshpack2.h -FILE 4922 f:\sp\public\sdk\inc\mcx.h -FILE 4923 f:\sp\public\sdk\inc\winuser.h -FILE 4924 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4925 f:\sp\public\sdk\inc\winnls.h -FILE 4926 f:\sp\public\sdk\inc\guiddef.h -FILE 4927 f:\sp\public\sdk\inc\windows.h -FILE 4928 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4929 f:\sp\public\sdk\inc\specstrings.h -FILE 4930 f:\sp\public\sdk\inc\basetsd.h -FILE 4931 f:\sp\public\sdk\inc\stralign.h -FILE 4932 f:\sp\public\sdk\inc\tvout.h -FILE 4933 f:\sp\public\sdk\inc\winsvc.h -FILE 4934 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4935 f:\sp\public\sdk\inc\wingdi.h -FILE 4936 f:\sp\public\sdk\inc\poppack.h -FILE 4937 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 4938 f:\sp\public\sdk\inc\winnetwk.h -FILE 4939 f:\sp\public\sdk\inc\imm.h -FILE 4940 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4941 f:\sp\public\sdk\inc\windef.h -FILE 4942 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4943 f:\sp\public\sdk\inc\pshpack1.h -FILE 4944 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 4945 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 4946 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 4947 f:\sp\public\sdk\inc\winver.h -FILE 4948 f:\sp\public\sdk\inc\windows.h -FILE 4949 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4950 f:\sp\public\sdk\inc\winnt.h -FILE 4951 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4952 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4953 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4954 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4955 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4956 f:\sp\public\sdk\inc\winreg.h -FILE 4957 f:\sp\public\sdk\inc\winbase.h -FILE 4958 f:\sp\vctools\crt_bld\self_x86\crt\src\ioinit.c -FILE 4959 f:\sp\public\sdk\inc\winerror.h -FILE 4960 f:\sp\public\sdk\inc\pshpack8.h -FILE 4961 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4962 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4963 f:\sp\public\sdk\inc\reason.h -FILE 4964 f:\sp\public\sdk\inc\wincon.h -FILE 4965 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 4966 f:\sp\public\sdk\inc\ddbanned.h -FILE 4967 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4968 f:\sp\public\sdk\inc\pshpack2.h -FILE 4969 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4970 f:\sp\public\sdk\inc\mcx.h -FILE 4971 f:\sp\public\sdk\inc\winuser.h -FILE 4972 f:\sp\public\sdk\inc\winnls.h -FILE 4973 f:\sp\public\sdk\inc\guiddef.h -FILE 4974 f:\sp\public\sdk\inc\specstrings.h -FILE 4975 f:\sp\public\sdk\inc\basetsd.h -FILE 4976 f:\sp\public\sdk\inc\stralign.h -FILE 4977 f:\sp\public\sdk\inc\tvout.h -FILE 4978 f:\sp\public\sdk\inc\winsvc.h -FILE 4979 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4980 f:\sp\public\sdk\inc\wingdi.h -FILE 4981 f:\sp\public\sdk\inc\pshpack4.h -FILE 4982 f:\sp\public\sdk\inc\reason.h -FILE 4983 f:\sp\public\sdk\inc\wincon.h -FILE 4984 f:\sp\public\sdk\inc\pshpack2.h -FILE 4985 f:\sp\public\sdk\inc\mcx.h -FILE 4986 f:\sp\public\sdk\inc\winuser.h -FILE 4987 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4988 f:\sp\public\sdk\inc\winnls.h -FILE 4989 f:\sp\public\sdk\inc\guiddef.h -FILE 4990 f:\sp\public\sdk\inc\windows.h -FILE 4991 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4992 f:\sp\public\sdk\inc\specstrings.h -FILE 4993 f:\sp\public\sdk\inc\basetsd.h -FILE 4994 f:\sp\public\sdk\inc\stralign.h -FILE 4995 f:\sp\public\sdk\inc\tvout.h -FILE 4996 f:\sp\public\sdk\inc\winsvc.h -FILE 4997 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4998 f:\sp\public\sdk\inc\wingdi.h -FILE 4999 f:\sp\public\sdk\inc\pshpack4.h -FILE 5000 f:\sp\public\sdk\inc\poppack.h -FILE 5001 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 5002 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 5003 f:\sp\public\sdk\inc\winnetwk.h -FILE 5004 f:\sp\public\sdk\inc\imm.h -FILE 5005 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5006 f:\sp\public\sdk\inc\windef.h -FILE 5007 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 5008 f:\sp\vctools\crt_bld\self_x86\crt\src\initcon.c -FILE 5009 f:\sp\public\sdk\inc\pshpack1.h -FILE 5010 f:\sp\public\sdk\inc\winver.h -FILE 5011 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 5012 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5013 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5014 f:\sp\public\sdk\inc\winnt.h -FILE 5015 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5016 f:\sp\public\sdk\inc\ddbanned.h -FILE 5017 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5018 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5019 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 5020 f:\sp\public\sdk\inc\winreg.h -FILE 5021 f:\sp\public\sdk\inc\winbase.h -FILE 5022 f:\sp\public\sdk\inc\winerror.h -FILE 5023 f:\sp\public\sdk\inc\pshpack8.h -FILE 5024 f:\sp\public\sdk\inc\poppack.h -FILE 5025 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 5026 f:\sp\public\sdk\inc\winnetwk.h -FILE 5027 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 5028 f:\sp\public\sdk\inc\imm.h -FILE 5029 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5030 f:\sp\public\sdk\inc\windef.h -FILE 5031 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 5032 f:\sp\public\sdk\inc\pshpack1.h -FILE 5033 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 5034 f:\sp\public\sdk\inc\winver.h -FILE 5035 f:\sp\public\sdk\inc\windows.h -FILE 5036 f:\sp\public\sdk\inc\winnt.h -FILE 5037 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 5038 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5039 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5040 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5041 f:\sp\public\sdk\inc\winreg.h -FILE 5042 f:\sp\public\sdk\inc\winbase.h -FILE 5043 f:\sp\vctools\crt_bld\self_x86\crt\src\commit.c -FILE 5044 f:\sp\public\sdk\inc\winerror.h -FILE 5045 f:\sp\public\sdk\inc\pshpack8.h -FILE 5046 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 5047 f:\sp\public\sdk\inc\reason.h -FILE 5048 f:\sp\vctools\crt_bld\self_x86\crt\src\io.h -FILE 5049 f:\sp\public\sdk\inc\wincon.h -FILE 5050 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 5051 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 5052 f:\sp\public\sdk\inc\ddbanned.h -FILE 5053 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5054 f:\sp\public\sdk\inc\pshpack2.h -FILE 5055 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5056 f:\sp\public\sdk\inc\mcx.h -FILE 5057 f:\sp\public\sdk\inc\winuser.h -FILE 5058 f:\sp\public\sdk\inc\winnls.h -FILE 5059 f:\sp\public\sdk\inc\guiddef.h -FILE 5060 f:\sp\public\sdk\inc\specstrings.h -FILE 5061 f:\sp\public\sdk\inc\basetsd.h -FILE 5062 f:\sp\public\sdk\inc\stralign.h -FILE 5063 f:\sp\public\sdk\inc\tvout.h -FILE 5064 f:\sp\public\sdk\inc\winsvc.h -FILE 5065 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 5066 f:\sp\public\sdk\inc\wingdi.h -FILE 5067 f:\sp\public\sdk\inc\pshpack4.h -FILE 5068 f:\sp\public\sdk\inc\reason.h -FILE 5069 f:\sp\public\sdk\inc\wincon.h -FILE 5070 f:\sp\vctools\crt_bld\self_x86\crt\src\io.h -FILE 5071 f:\sp\public\sdk\inc\poppack.h -FILE 5072 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 5073 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 5074 f:\sp\public\sdk\inc\mcx.h -FILE 5075 f:\sp\public\sdk\inc\winuser.h -FILE 5076 f:\sp\public\sdk\inc\winnls.h -FILE 5077 f:\sp\public\sdk\inc\stralign.h -FILE 5078 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5079 f:\sp\public\sdk\inc\windef.h -FILE 5080 f:\sp\public\sdk\inc\tvout.h -FILE 5081 f:\sp\public\sdk\inc\winsvc.h -FILE 5082 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 5083 f:\sp\public\sdk\inc\wingdi.h -FILE 5084 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 5085 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 5086 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 5087 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 5088 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5089 f:\sp\public\sdk\inc\winnt.h -FILE 5090 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5091 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5092 f:\sp\public\sdk\inc\winnetwk.h -FILE 5093 f:\sp\public\sdk\inc\imm.h -FILE 5094 f:\sp\vctools\crt_bld\self_x86\crt\src\close.c -FILE 5095 f:\sp\public\sdk\inc\winbase.h -FILE 5096 f:\sp\public\sdk\inc\winerror.h -FILE 5097 f:\sp\public\sdk\inc\pshpack1.h -FILE 5098 f:\sp\public\sdk\inc\pshpack8.h -FILE 5099 f:\sp\public\sdk\inc\winver.h -FILE 5100 f:\sp\public\sdk\inc\ddbanned.h -FILE 5101 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5102 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5103 f:\sp\public\sdk\inc\pshpack2.h -FILE 5104 f:\sp\public\sdk\inc\winreg.h -FILE 5105 f:\sp\public\sdk\inc\guiddef.h -FILE 5106 f:\sp\public\sdk\inc\windows.h -FILE 5107 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 5108 f:\sp\public\sdk\inc\specstrings.h -FILE 5109 f:\sp\public\sdk\inc\basetsd.h -FILE 5110 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 5111 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 5112 f:\sp\public\sdk\inc\pshpack4.h -FILE 5113 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\ulldvrm.asm -FILE 5114 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 5115 F:\SP\vctools\crt_bld\SELF_X86\crt\src\mm.inc -FILE 5116 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\llmul.asm -FILE 5117 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 5118 F:\SP\vctools\crt_bld\SELF_X86\crt\src\mm.inc -FILE 5119 f:\sp\vctools\crt_bld\self_x86\crt\src\use_ansi.h -FILE 5120 f:\sp\vctools\crt_bld\self_x86\crt\src\new -FILE 5121 f:\sp\vctools\crt_bld\self_x86\crt\src\exception -FILE 5122 f:\sp\vctools\crt_bld\self_x86\crt\src\xstddef -FILE 5123 f:\sp\vctools\crt_bld\self_x86\crt\src\new.cpp -FILE 5124 f:\sp\vctools\crt_bld\self_x86\crt\src\cstddef -FILE 5125 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 5126 f:\sp\vctools\crt_bld\self_x86\crt\src\eh.h -FILE 5127 f:\sp\vctools\crt_bld\self_x86\crt\src\cstdlib -FILE 5128 f:\sp\vctools\crt_bld\self_x86\crt\src\yvals.h -FILE 5129 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5130 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 5131 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5132 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 5133 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 5134 f:\sp\public\sdk\inc\ddbanned.h -FILE 5135 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5136 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5137 f:\sp\public\sdk\inc\poppack.h -FILE 5138 f:\sp\public\sdk\inc\winnetwk.h -FILE 5139 f:\sp\public\sdk\inc\imm.h -FILE 5140 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5141 f:\sp\public\sdk\inc\windef.h -FILE 5142 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 5143 f:\sp\public\sdk\inc\pshpack1.h -FILE 5144 f:\sp\public\sdk\inc\winver.h -FILE 5145 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 5146 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5147 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5148 f:\sp\public\sdk\inc\winnt.h -FILE 5149 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5150 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 5151 f:\sp\public\sdk\inc\winreg.h -FILE 5152 f:\sp\vctools\crt_bld\self_x86\crt\src\_newmode.c -FILE 5153 f:\sp\public\sdk\inc\winbase.h -FILE 5154 f:\sp\public\sdk\inc\winerror.h -FILE 5155 f:\sp\public\sdk\inc\pshpack8.h -FILE 5156 f:\sp\public\sdk\inc\reason.h -FILE 5157 f:\sp\public\sdk\inc\wincon.h -FILE 5158 f:\sp\public\sdk\inc\ddbanned.h -FILE 5159 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5160 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5161 f:\sp\public\sdk\inc\pshpack2.h -FILE 5162 f:\sp\public\sdk\inc\mcx.h -FILE 5163 f:\sp\public\sdk\inc\winuser.h -FILE 5164 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 5165 f:\sp\public\sdk\inc\winnls.h -FILE 5166 f:\sp\public\sdk\inc\guiddef.h -FILE 5167 f:\sp\public\sdk\inc\windows.h -FILE 5168 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 5169 f:\sp\public\sdk\inc\specstrings.h -FILE 5170 f:\sp\public\sdk\inc\basetsd.h -FILE 5171 f:\sp\public\sdk\inc\stralign.h -FILE 5172 f:\sp\public\sdk\inc\tvout.h -FILE 5173 f:\sp\public\sdk\inc\winsvc.h -FILE 5174 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 5175 f:\sp\public\sdk\inc\wingdi.h -FILE 5176 f:\sp\public\sdk\inc\pshpack4.h -FILE 5177 f:\sp\vctools\crt_bld\self_x86\crt\src\new.h -FILE 5178 f:\sp\public\sdk\inc\winerror.h -FILE 5179 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcsup.h -FILE 5180 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 5181 f:\sp\public\sdk\inc\winreg.h -FILE 5182 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 5183 f:\sp\public\sdk\inc\tvout.h -FILE 5184 f:\sp\vctools\crt_bld\self_x86\crt\src\delete.cpp -FILE 5185 f:\sp\public\sdk\inc\wincon.h -FILE 5186 f:\sp\public\sdk\inc\imm.h -FILE 5187 f:\sp\public\sdk\inc\winbase.h -FILE 5188 f:\sp\public\sdk\inc\wingdi.h -FILE 5189 f:\sp\public\sdk\inc\winver.h -FILE 5190 f:\sp\public\sdk\inc\windows.h -FILE 5191 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 5192 f:\sp\public\sdk\inc\pshpack2.h -FILE 5193 f:\sp\public\sdk\inc\reason.h -FILE 5194 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 5195 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5196 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5197 f:\sp\public\sdk\inc\specstrings.h -FILE 5198 f:\sp\public\sdk\inc\basetsd.h -FILE 5199 f:\sp\public\sdk\inc\pshpack4.h -FILE 5200 f:\sp\public\sdk\inc\winnetwk.h -FILE 5201 f:\sp\public\sdk\inc\stralign.h -FILE 5202 f:\sp\public\sdk\inc\poppack.h -FILE 5203 f:\sp\public\sdk\inc\winsvc.h -FILE 5204 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5205 f:\sp\public\sdk\inc\windef.h -FILE 5206 f:\sp\public\sdk\inc\winuser.h -FILE 5207 f:\sp\public\sdk\inc\mcx.h -FILE 5208 f:\sp\public\sdk\inc\pshpack8.h -FILE 5209 f:\sp\public\sdk\inc\ddbanned.h -FILE 5210 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5211 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5212 f:\sp\public\sdk\inc\guiddef.h -FILE 5213 f:\sp\public\sdk\inc\winnt.h -FILE 5214 f:\sp\public\sdk\inc\winnls.h -FILE 5215 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5216 f:\sp\public\sdk\inc\pshpack1.h -FILE 5217 f:\sp\public\sdk\inc\tvout.h -FILE 5218 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 5219 f:\sp\vctools\crt_bld\self_x86\crt\src\process.h -FILE 5220 f:\sp\public\sdk\inc\wincon.h -FILE 5221 f:\sp\public\sdk\inc\imm.h -FILE 5222 f:\sp\public\sdk\inc\winbase.h -FILE 5223 f:\sp\public\sdk\inc\wingdi.h -FILE 5224 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 5225 f:\sp\public\sdk\inc\winver.h -FILE 5226 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 5227 f:\sp\public\sdk\inc\windows.h -FILE 5228 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 5229 f:\sp\public\sdk\inc\pshpack2.h -FILE 5230 f:\sp\vctools\crt_bld\self_x86\crt\src\handler.cpp -FILE 5231 f:\sp\public\sdk\inc\reason.h -FILE 5232 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 5233 f:\sp\public\sdk\inc\specstrings.h -FILE 5234 f:\sp\public\sdk\inc\basetsd.h -FILE 5235 f:\sp\public\sdk\inc\pshpack4.h -FILE 5236 f:\sp\public\sdk\inc\winnetwk.h -FILE 5237 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 5238 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5239 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5240 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 5241 f:\sp\public\sdk\inc\stralign.h -FILE 5242 f:\sp\public\sdk\inc\poppack.h -FILE 5243 f:\sp\public\sdk\inc\winsvc.h -FILE 5244 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5245 f:\sp\public\sdk\inc\windef.h -FILE 5246 f:\sp\public\sdk\inc\winuser.h -FILE 5247 f:\sp\public\sdk\inc\mcx.h -FILE 5248 f:\sp\public\sdk\inc\pshpack8.h -FILE 5249 f:\sp\public\sdk\inc\guiddef.h -FILE 5250 f:\sp\public\sdk\inc\winnt.h -FILE 5251 f:\sp\public\sdk\inc\winnls.h -FILE 5252 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5253 f:\sp\public\sdk\inc\pshpack1.h -FILE 5254 f:\sp\public\sdk\inc\winerror.h -FILE 5255 f:\sp\public\sdk\inc\ddbanned.h -FILE 5256 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5257 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5258 f:\sp\public\sdk\inc\winreg.h -FILE 5259 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 5260 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 5261 f:\sp\vctools\crt_bld\self_x86\crt\src\new.h -FILE 5262 f:\sp\public\sdk\inc\winsvc.h -FILE 5263 f:\sp\public\sdk\inc\wingdi.h -FILE 5264 f:\sp\public\sdk\inc\pshpack4.h -FILE 5265 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 5266 f:\sp\public\sdk\inc\poppack.h -FILE 5267 f:\sp\public\sdk\inc\winnt.h -FILE 5268 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5269 f:\sp\public\sdk\inc\winnetwk.h -FILE 5270 f:\sp\public\sdk\inc\imm.h -FILE 5271 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 5272 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 5273 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5274 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5275 f:\sp\public\sdk\inc\pshpack1.h -FILE 5276 f:\sp\public\sdk\inc\winver.h -FILE 5277 f:\sp\public\sdk\inc\guiddef.h -FILE 5278 f:\sp\public\sdk\inc\specstrings.h -FILE 5279 f:\sp\public\sdk\inc\basetsd.h -FILE 5280 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 5281 f:\sp\vctools\crt_bld\self_x86\crt\src\sbheap.c -FILE 5282 f:\sp\public\sdk\inc\windows.h -FILE 5283 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 5284 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 5285 f:\sp\public\sdk\inc\winreg.h -FILE 5286 f:\sp\public\sdk\inc\winbase.h -FILE 5287 f:\sp\public\sdk\inc\winerror.h -FILE 5288 f:\sp\public\sdk\inc\pshpack8.h -FILE 5289 f:\sp\public\sdk\inc\ddbanned.h -FILE 5290 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5291 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5292 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 5293 f:\sp\public\sdk\inc\reason.h -FILE 5294 f:\sp\public\sdk\inc\wincon.h -FILE 5295 f:\sp\public\sdk\inc\pshpack2.h -FILE 5296 f:\sp\public\sdk\inc\mcx.h -FILE 5297 f:\sp\public\sdk\inc\winuser.h -FILE 5298 f:\sp\public\sdk\inc\winnls.h -FILE 5299 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5300 f:\sp\public\sdk\inc\windef.h -FILE 5301 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 5302 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 5303 f:\sp\public\sdk\inc\stralign.h -FILE 5304 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 5305 f:\sp\public\sdk\inc\tvout.h -FILE 5306 f:\sp\public\sdk\inc\winver.h -FILE 5307 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcsup.h -FILE 5308 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 5309 f:\sp\public\sdk\inc\guiddef.h -FILE 5310 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 5311 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 5312 f:\sp\public\sdk\inc\specstrings.h -FILE 5313 f:\sp\public\sdk\inc\basetsd.h -FILE 5314 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 5315 f:\sp\public\sdk\inc\windows.h -FILE 5316 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 5317 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 5318 f:\sp\public\sdk\inc\winreg.h -FILE 5319 f:\sp\public\sdk\inc\winbase.h -FILE 5320 f:\sp\public\sdk\inc\winerror.h -FILE 5321 f:\sp\public\sdk\inc\pshpack8.h -FILE 5322 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 5323 f:\sp\public\sdk\inc\reason.h -FILE 5324 f:\sp\public\sdk\inc\wincon.h -FILE 5325 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 5326 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5327 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5328 f:\sp\public\sdk\inc\pshpack2.h -FILE 5329 f:\sp\public\sdk\inc\mcx.h -FILE 5330 f:\sp\public\sdk\inc\winuser.h -FILE 5331 f:\sp\public\sdk\inc\winnls.h -FILE 5332 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5333 f:\sp\public\sdk\inc\windef.h -FILE 5334 f:\sp\public\sdk\inc\stralign.h -FILE 5335 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 5336 f:\sp\public\sdk\inc\tvout.h -FILE 5337 f:\sp\public\sdk\inc\winsvc.h -FILE 5338 f:\sp\vctools\crt_bld\self_x86\crt\src\realloc.c -FILE 5339 f:\sp\public\sdk\inc\wingdi.h -FILE 5340 f:\sp\public\sdk\inc\pshpack4.h -FILE 5341 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 5342 f:\sp\public\sdk\inc\poppack.h -FILE 5343 f:\sp\public\sdk\inc\winnt.h -FILE 5344 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5345 f:\sp\public\sdk\inc\winnetwk.h -FILE 5346 f:\sp\public\sdk\inc\ddbanned.h -FILE 5347 f:\sp\public\sdk\inc\imm.h -FILE 5348 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5349 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5350 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 5351 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 5352 f:\sp\public\sdk\inc\pshpack1.h -FILE 5353 f:\sp\public\sdk\inc\pshpack2.h -FILE 5354 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 5355 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 5356 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 5357 f:\sp\public\sdk\inc\mcx.h -FILE 5358 f:\sp\public\sdk\inc\winuser.h -FILE 5359 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 5360 f:\sp\public\sdk\inc\winnls.h -FILE 5361 f:\sp\public\sdk\inc\guiddef.h -FILE 5362 f:\sp\public\sdk\inc\windows.h -FILE 5363 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 5364 f:\sp\public\sdk\inc\specstrings.h -FILE 5365 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 5366 f:\sp\public\sdk\inc\basetsd.h -FILE 5367 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 5368 f:\sp\public\sdk\inc\stralign.h -FILE 5369 f:\sp\public\sdk\inc\tvout.h -FILE 5370 f:\sp\public\sdk\inc\winsvc.h -FILE 5371 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 5372 f:\sp\public\sdk\inc\wingdi.h -FILE 5373 f:\sp\public\sdk\inc\pshpack4.h -FILE 5374 f:\sp\public\sdk\inc\poppack.h -FILE 5375 f:\sp\public\sdk\inc\winnetwk.h -FILE 5376 f:\sp\public\sdk\inc\imm.h -FILE 5377 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 5378 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5379 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5380 f:\sp\public\sdk\inc\windef.h -FILE 5381 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5382 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 5383 f:\sp\vctools\crt_bld\self_x86\crt\src\msize.c -FILE 5384 f:\sp\public\sdk\inc\pshpack1.h -FILE 5385 f:\sp\public\sdk\inc\winver.h -FILE 5386 f:\sp\public\sdk\inc\winnt.h -FILE 5387 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5388 f:\sp\public\sdk\inc\winreg.h -FILE 5389 f:\sp\public\sdk\inc\ddbanned.h -FILE 5390 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5391 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5392 f:\sp\public\sdk\inc\winbase.h -FILE 5393 f:\sp\public\sdk\inc\winerror.h -FILE 5394 f:\sp\public\sdk\inc\pshpack8.h -FILE 5395 f:\sp\public\sdk\inc\reason.h -FILE 5396 f:\sp\public\sdk\inc\wincon.h -FILE 5397 f:\sp\public\sdk\inc\pshpack2.h -FILE 5398 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 5399 f:\sp\public\sdk\inc\mcx.h -FILE 5400 f:\sp\public\sdk\inc\winuser.h -FILE 5401 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 5402 f:\sp\public\sdk\inc\winnls.h -FILE 5403 f:\sp\public\sdk\inc\guiddef.h -FILE 5404 f:\sp\public\sdk\inc\windows.h -FILE 5405 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 5406 f:\sp\public\sdk\inc\specstrings.h -FILE 5407 f:\sp\public\sdk\inc\basetsd.h -FILE 5408 f:\sp\public\sdk\inc\stralign.h -FILE 5409 f:\sp\public\sdk\inc\tvout.h -FILE 5410 f:\sp\public\sdk\inc\winsvc.h -FILE 5411 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 5412 f:\sp\public\sdk\inc\wingdi.h -FILE 5413 f:\sp\public\sdk\inc\pshpack4.h -FILE 5414 f:\sp\public\sdk\inc\poppack.h -FILE 5415 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 5416 f:\sp\public\sdk\inc\winnetwk.h -FILE 5417 f:\sp\public\sdk\inc\imm.h -FILE 5418 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 5419 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5420 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5421 f:\sp\public\sdk\inc\windef.h -FILE 5422 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5423 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 5424 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 5425 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.c -FILE 5426 f:\sp\public\sdk\inc\pshpack1.h -FILE 5427 f:\sp\public\sdk\inc\winver.h -FILE 5428 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcsup.h -FILE 5429 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 5430 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 5431 f:\sp\public\sdk\inc\winnt.h -FILE 5432 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 5433 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5434 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 5435 f:\sp\public\sdk\inc\winreg.h -FILE 5436 f:\sp\public\sdk\inc\ddbanned.h -FILE 5437 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5438 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5439 f:\sp\public\sdk\inc\winbase.h -FILE 5440 f:\sp\public\sdk\inc\winerror.h -FILE 5441 f:\sp\public\sdk\inc\pshpack8.h -FILE 5442 f:\sp\public\sdk\inc\reason.h -FILE 5443 f:\sp\public\sdk\inc\wincon.h -FILE 5444 f:\sp\public\sdk\inc\winver.h -FILE 5445 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 5446 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 5447 f:\sp\public\sdk\inc\winnt.h -FILE 5448 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 5449 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5450 f:\sp\public\sdk\inc\winreg.h -FILE 5451 f:\sp\public\sdk\inc\winbase.h -FILE 5452 f:\sp\public\sdk\inc\winerror.h -FILE 5453 f:\sp\public\sdk\inc\pshpack8.h -FILE 5454 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 5455 f:\sp\public\sdk\inc\reason.h -FILE 5456 f:\sp\public\sdk\inc\wincon.h -FILE 5457 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 5458 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5459 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5460 f:\sp\public\sdk\inc\pshpack2.h -FILE 5461 f:\sp\public\sdk\inc\mcx.h -FILE 5462 f:\sp\public\sdk\inc\winuser.h -FILE 5463 f:\sp\public\sdk\inc\winnls.h -FILE 5464 f:\sp\public\sdk\inc\guiddef.h -FILE 5465 f:\sp\public\sdk\inc\stralign.h -FILE 5466 f:\sp\public\sdk\inc\specstrings.h -FILE 5467 f:\sp\public\sdk\inc\basetsd.h -FILE 5468 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 5469 f:\sp\public\sdk\inc\windows.h -FILE 5470 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 5471 f:\sp\public\sdk\inc\tvout.h -FILE 5472 f:\sp\public\sdk\inc\winsvc.h -FILE 5473 f:\sp\vctools\crt_bld\self_x86\crt\src\heapinit.c -FILE 5474 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 5475 f:\sp\public\sdk\inc\wingdi.h -FILE 5476 f:\sp\public\sdk\inc\pshpack4.h -FILE 5477 f:\sp\public\sdk\inc\poppack.h -FILE 5478 f:\sp\public\sdk\inc\winnetwk.h -FILE 5479 f:\sp\public\sdk\inc\ddbanned.h -FILE 5480 f:\sp\public\sdk\inc\imm.h -FILE 5481 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5482 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5483 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5484 f:\sp\public\sdk\inc\windef.h -FILE 5485 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 5486 f:\sp\public\sdk\inc\pshpack1.h -FILE 5487 f:\sp\public\sdk\inc\pshpack2.h -FILE 5488 f:\sp\public\sdk\inc\mcx.h -FILE 5489 f:\sp\public\sdk\inc\winuser.h -FILE 5490 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 5491 f:\sp\public\sdk\inc\winnls.h -FILE 5492 f:\sp\public\sdk\inc\guiddef.h -FILE 5493 f:\sp\public\sdk\inc\windows.h -FILE 5494 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 5495 f:\sp\public\sdk\inc\specstrings.h -FILE 5496 f:\sp\public\sdk\inc\basetsd.h -FILE 5497 f:\sp\public\sdk\inc\stralign.h -FILE 5498 f:\sp\public\sdk\inc\tvout.h -FILE 5499 f:\sp\public\sdk\inc\winsvc.h -FILE 5500 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 5501 f:\sp\public\sdk\inc\wingdi.h -FILE 5502 f:\sp\public\sdk\inc\pshpack4.h -FILE 5503 f:\sp\public\sdk\inc\poppack.h -FILE 5504 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 5505 f:\sp\public\sdk\inc\winnetwk.h -FILE 5506 f:\sp\public\sdk\inc\imm.h -FILE 5507 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5508 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 5509 f:\sp\public\sdk\inc\windef.h -FILE 5510 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5511 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5512 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 5513 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 5514 f:\sp\public\sdk\inc\pshpack1.h -FILE 5515 f:\sp\vctools\crt_bld\self_x86\crt\src\free.c -FILE 5516 f:\sp\public\sdk\inc\winver.h -FILE 5517 f:\sp\public\sdk\inc\winnt.h -FILE 5518 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5519 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcsup.h -FILE 5520 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 5521 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 5522 f:\sp\public\sdk\inc\winreg.h -FILE 5523 f:\sp\public\sdk\inc\ddbanned.h -FILE 5524 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5525 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5526 f:\sp\public\sdk\inc\winbase.h -FILE 5527 f:\sp\public\sdk\inc\winerror.h -FILE 5528 f:\sp\public\sdk\inc\pshpack8.h -FILE 5529 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 5530 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 5531 f:\sp\public\sdk\inc\reason.h -FILE 5532 f:\sp\public\sdk\inc\wincon.h -FILE 5533 f:\sp\public\sdk\inc\pshpack2.h -FILE 5534 f:\sp\public\sdk\inc\mcx.h -FILE 5535 f:\sp\public\sdk\inc\winuser.h -FILE 5536 f:\sp\public\sdk\inc\winnls.h -FILE 5537 f:\sp\public\sdk\inc\guiddef.h -FILE 5538 f:\sp\public\sdk\inc\windows.h -FILE 5539 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 5540 f:\sp\public\sdk\inc\specstrings.h -FILE 5541 f:\sp\public\sdk\inc\basetsd.h -FILE 5542 f:\sp\public\sdk\inc\stralign.h -FILE 5543 f:\sp\public\sdk\inc\tvout.h -FILE 5544 f:\sp\public\sdk\inc\winsvc.h -FILE 5545 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 5546 f:\sp\public\sdk\inc\wingdi.h -FILE 5547 f:\sp\public\sdk\inc\pshpack4.h -FILE 5548 f:\sp\public\sdk\inc\poppack.h -FILE 5549 f:\sp\public\sdk\inc\winnetwk.h -FILE 5550 f:\sp\public\sdk\inc\imm.h -FILE 5551 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5552 f:\sp\public\sdk\inc\windef.h -FILE 5553 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 5554 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5555 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5556 f:\sp\public\sdk\inc\pshpack1.h -FILE 5557 f:\sp\vctools\crt_bld\self_x86\crt\src\crtheap.c -FILE 5558 f:\sp\public\sdk\inc\winver.h -FILE 5559 f:\sp\public\sdk\inc\winnt.h -FILE 5560 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5561 f:\sp\public\sdk\inc\winreg.h -FILE 5562 f:\sp\public\sdk\inc\ddbanned.h -FILE 5563 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5564 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5565 f:\sp\public\sdk\inc\winbase.h -FILE 5566 f:\sp\public\sdk\inc\winerror.h -FILE 5567 f:\sp\public\sdk\inc\pshpack8.h -FILE 5568 f:\sp\public\sdk\inc\reason.h -FILE 5569 f:\sp\public\sdk\inc\wincon.h -FILE 5570 f:\sp\public\sdk\inc\pshpack2.h -FILE 5571 f:\sp\public\sdk\inc\mcx.h -FILE 5572 f:\sp\public\sdk\inc\winuser.h -FILE 5573 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 5574 f:\sp\public\sdk\inc\winnls.h -FILE 5575 f:\sp\public\sdk\inc\stralign.h -FILE 5576 f:\sp\public\sdk\inc\tvout.h -FILE 5577 f:\sp\public\sdk\inc\winsvc.h -FILE 5578 f:\sp\public\sdk\inc\wingdi.h -FILE 5579 f:\sp\public\sdk\inc\winnt.h -FILE 5580 f:\sp\public\sdk\inc\pshpack4.h -FILE 5581 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 5582 f:\sp\public\sdk\inc\poppack.h -FILE 5583 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 5584 f:\sp\public\sdk\inc\winnetwk.h -FILE 5585 f:\sp\public\sdk\inc\imm.h -FILE 5586 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 5587 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 5588 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 5589 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 5590 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 5591 f:\sp\public\sdk\inc\pshpack1.h -FILE 5592 f:\sp\vctools\crt_bld\self_x86\crt\src\calloc.c -FILE 5593 f:\sp\public\sdk\inc\winver.h -FILE 5594 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 5595 f:\sp\public\sdk\inc\guiddef.h -FILE 5596 f:\sp\public\sdk\inc\windows.h -FILE 5597 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 5598 f:\sp\public\sdk\inc\specstrings.h -FILE 5599 f:\sp\public\sdk\inc\basetsd.h -FILE 5600 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcsup.h -FILE 5601 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 5602 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 5603 f:\sp\public\sdk\inc\winreg.h -FILE 5604 f:\sp\public\sdk\inc\ddbanned.h -FILE 5605 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 5606 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 5607 f:\sp\public\sdk\inc\winbase.h -FILE 5608 f:\sp\public\sdk\inc\winerror.h -FILE 5609 f:\sp\public\sdk\inc\pshpack8.h -FILE 5610 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 5611 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 5612 f:\sp\public\sdk\inc\reason.h -FILE 5613 f:\sp\public\sdk\inc\wincon.h -FILE 5614 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 5615 f:\sp\public\sdk\inc\windef.h -FILE 5616 f:\sp\public\sdk\inc\wincon.h -FILE 5617 f:\sp\public\sdk\inc\imm.h -FILE 5618 f:\sp\public\sdk\inc\winbase.h -FILE 5619 f:\sp\public\sdk\inc\wingdi.h -FILE 5620 f:\sp\public\sdk\inc\winver.h -FILE 5621 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehhooks.h -FILE 5622 f:\sp\public\sdk\inc\pshpack2.h -FILE 5623 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 5624 f:\sp\public\sdk\inc\reason.h -FILE 5625 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehassert.h -FILE 5626 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\setjmp.h -FILE 5627 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\i386\trnsctrl.cpp -FILE 5628 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\process.h -FILE 5629 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 5630 f:\sp\public\sdk\inc\specstrings.h -FILE 5631 f:\sp\public\sdk\inc\basetsd.h -FILE 5632 f:\sp\public\sdk\inc\pshpack4.h -FILE 5633 f:\sp\public\sdk\inc\winnetwk.h -FILE 5634 f:\sp\public\sdk\inc\stralign.h -FILE 5635 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\trnsctrl.h -FILE 5636 f:\sp\public\sdk\inc\poppack.h -FILE 5637 f:\sp\public\sdk\inc\winsvc.h -FILE 5638 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 5639 f:\sp\public\sdk\inc\windef.h -FILE 5640 f:\sp\public\sdk\inc\winuser.h -FILE 5641 f:\sp\public\sdk\inc\windows.h -FILE 5642 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 5643 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 5644 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 5645 f:\sp\public\sdk\inc\mcx.h -FILE 5646 f:\sp\public\sdk\inc\pshpack8.h -FILE 5647 f:\sp\public\sdk\inc\guiddef.h -FILE 5648 f:\sp\public\sdk\inc\winnt.h -FILE 5649 f:\sp\public\sdk\inc\winnls.h -FILE 5650 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 5651 f:\sp\public\sdk\inc\pshpack1.h -FILE 5652 f:\sp\public\sdk\inc\winerror.h -FILE 5653 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h -FILE 5654 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 5655 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 5656 f:\sp\public\sdk\inc\winreg.h -FILE 5657 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 5658 f:\sp\public\sdk\inc\ddbanned.h -FILE 5659 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 5660 f:\sp\public\sdk\inc\tvout.h -FILE 5661 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 5662 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h -FILE 5663 f:\sp\vctools\langapi\include\ehdata.h -FILE 5664 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h -FILE 5665 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\eh\i386\lowhelpr.asm -FILE 5666 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\h\cruntime.inc -FILE 5667 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\h\exsup.inc -FILE 5668 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\process.h -FILE 5669 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 5670 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 5671 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\i386\ehprolg3.c -FILE 5672 f:\sp\public\sdk\inc\ddbanned.h -FILE 5673 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 5674 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 5675 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehassert.h -FILE 5676 f:\sp\public\sdk\inc\wincon.h -FILE 5677 f:\sp\public\sdk\inc\imm.h -FILE 5678 f:\sp\public\sdk\inc\winbase.h -FILE 5679 f:\sp\public\sdk\inc\wingdi.h -FILE 5680 f:\sp\public\sdk\inc\winver.h -FILE 5681 f:\sp\public\sdk\inc\pshpack2.h -FILE 5682 f:\sp\public\sdk\inc\reason.h -FILE 5683 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\validate.cpp -FILE 5684 f:\sp\public\sdk\inc\specstrings.h -FILE 5685 f:\sp\public\sdk\inc\basetsd.h -FILE 5686 f:\sp\public\sdk\inc\pshpack4.h -FILE 5687 f:\sp\public\sdk\inc\winnetwk.h -FILE 5688 f:\sp\public\sdk\inc\stralign.h -FILE 5689 f:\sp\public\sdk\inc\poppack.h -FILE 5690 f:\sp\public\sdk\inc\winsvc.h -FILE 5691 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 5692 f:\sp\public\sdk\inc\windef.h -FILE 5693 f:\sp\public\sdk\inc\winuser.h -FILE 5694 f:\sp\public\sdk\inc\windows.h -FILE 5695 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 5696 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 5697 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 5698 f:\sp\public\sdk\inc\mcx.h -FILE 5699 f:\sp\public\sdk\inc\pshpack8.h -FILE 5700 f:\sp\public\sdk\inc\guiddef.h -FILE 5701 f:\sp\public\sdk\inc\winnt.h -FILE 5702 f:\sp\public\sdk\inc\winnls.h -FILE 5703 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 5704 f:\sp\public\sdk\inc\pshpack1.h -FILE 5705 f:\sp\public\sdk\inc\winerror.h -FILE 5706 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h -FILE 5707 f:\sp\public\sdk\inc\winreg.h -FILE 5708 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 5709 f:\sp\public\sdk\inc\ddbanned.h -FILE 5710 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 5711 f:\sp\public\sdk\inc\tvout.h -FILE 5712 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 5713 f:\sp\public\sdk\inc\wincon.h -FILE 5714 f:\sp\public\sdk\inc\imm.h -FILE 5715 f:\sp\public\sdk\inc\winbase.h -FILE 5716 f:\sp\public\sdk\inc\wingdi.h -FILE 5717 f:\sp\public\sdk\inc\winver.h -FILE 5718 f:\sp\public\sdk\inc\pshpack2.h -FILE 5719 f:\sp\public\sdk\inc\reason.h -FILE 5720 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h -FILE 5721 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\unhandld.cpp -FILE 5722 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h -FILE 5723 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 5724 f:\sp\public\sdk\inc\specstrings.h -FILE 5725 f:\sp\public\sdk\inc\basetsd.h -FILE 5726 f:\sp\public\sdk\inc\pshpack4.h -FILE 5727 f:\sp\public\sdk\inc\winnetwk.h -FILE 5728 f:\sp\public\sdk\inc\stralign.h -FILE 5729 f:\sp\public\sdk\inc\poppack.h -FILE 5730 f:\sp\public\sdk\inc\winsvc.h -FILE 5731 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 5732 f:\sp\public\sdk\inc\windef.h -FILE 5733 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehhooks.h -FILE 5734 f:\sp\public\sdk\inc\winuser.h -FILE 5735 f:\sp\public\sdk\inc\windows.h -FILE 5736 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 5737 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 5738 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 5739 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehassert.h -FILE 5740 f:\sp\public\sdk\inc\mcx.h -FILE 5741 f:\sp\public\sdk\inc\pshpack8.h -FILE 5742 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 5743 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 5744 f:\sp\public\sdk\inc\guiddef.h -FILE 5745 f:\sp\public\sdk\inc\winnt.h -FILE 5746 f:\sp\public\sdk\inc\winnls.h -FILE 5747 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 5748 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h -FILE 5749 f:\sp\public\sdk\inc\pshpack1.h -FILE 5750 f:\sp\public\sdk\inc\winerror.h -FILE 5751 f:\sp\vctools\langapi\include\ehdata.h -FILE 5752 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h -FILE 5753 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 5754 f:\sp\public\sdk\inc\winreg.h -FILE 5755 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 5756 f:\sp\public\sdk\inc\ddbanned.h -FILE 5757 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 5758 f:\sp\public\sdk\inc\tvout.h -FILE 5759 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 5760 f:\sp\public\sdk\inc\specstrings.h -FILE 5761 f:\sp\public\sdk\inc\basetsd.h -FILE 5762 f:\sp\public\sdk\inc\pshpack4.h -FILE 5763 f:\sp\public\sdk\inc\winnetwk.h -FILE 5764 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 5765 f:\sp\public\sdk\inc\stralign.h -FILE 5766 f:\sp\public\sdk\inc\poppack.h -FILE 5767 f:\sp\public\sdk\inc\winsvc.h -FILE 5768 f:\sp\public\sdk\inc\winuser.h -FILE 5769 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 5770 f:\sp\public\sdk\inc\windef.h -FILE 5771 f:\sp\vctools\langapi\undname\undname.cxx -FILE 5772 f:\sp\public\sdk\inc\mcx.h -FILE 5773 f:\sp\public\sdk\inc\pshpack8.h -FILE 5774 f:\sp\public\sdk\inc\guiddef.h -FILE 5775 f:\sp\vctools\langapi\undname\utf8.h -FILE 5776 f:\sp\public\sdk\inc\winnls.h -FILE 5777 f:\sp\public\sdk\inc\pshpack1.h -FILE 5778 f:\sp\public\sdk\inc\winnt.h -FILE 5779 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 5780 f:\sp\public\sdk\inc\winerror.h -FILE 5781 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\swprintf.inl -FILE 5782 f:\sp\vctools\langapi\undname\undname.hxx -FILE 5783 f:\sp\vctools\langapi\undname\undname.h -FILE 5784 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h -FILE 5785 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 5786 f:\sp\public\sdk\inc\winreg.h -FILE 5787 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 5788 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 5789 f:\sp\public\sdk\inc\tvout.h -FILE 5790 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdio.h -FILE 5791 f:\sp\public\sdk\inc\wincon.h -FILE 5792 f:\sp\public\sdk\inc\imm.h -FILE 5793 f:\sp\public\sdk\inc\winbase.h -FILE 5794 f:\sp\public\sdk\inc\wingdi.h -FILE 5795 f:\sp\public\sdk\inc\winver.h -FILE 5796 f:\sp\public\sdk\inc\pshpack2.h -FILE 5797 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h -FILE 5798 f:\sp\public\sdk\inc\windows.h -FILE 5799 f:\sp\public\sdk\inc\reason.h -FILE 5800 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 5801 f:\sp\public\sdk\inc\ddbanned.h -FILE 5802 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 5803 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 5804 f:\sp\vctools\langapi\undname\undname.inl -FILE 5805 f:\sp\public\sdk\inc\guiddef.h -FILE 5806 f:\sp\public\sdk\inc\winnt.h -FILE 5807 f:\sp\public\sdk\inc\winnls.h -FILE 5808 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 5809 f:\sp\public\sdk\inc\pshpack1.h -FILE 5810 f:\sp\public\sdk\inc\winerror.h -FILE 5811 f:\sp\public\sdk\inc\winreg.h -FILE 5812 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 5813 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h -FILE 5814 f:\sp\public\sdk\inc\tvout.h -FILE 5815 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\typname.cpp -FILE 5816 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 5817 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\cstddef -FILE 5818 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h -FILE 5819 f:\sp\public\sdk\inc\wincon.h -FILE 5820 f:\sp\public\sdk\inc\imm.h -FILE 5821 f:\sp\public\sdk\inc\winbase.h -FILE 5822 f:\sp\public\sdk\inc\wingdi.h -FILE 5823 f:\sp\public\sdk\inc\winver.h -FILE 5824 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 5825 f:\sp\public\sdk\inc\windows.h -FILE 5826 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 5827 f:\sp\public\sdk\inc\pshpack2.h -FILE 5828 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h -FILE 5829 f:\sp\public\sdk\inc\reason.h -FILE 5830 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h -FILE 5831 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\dbgint.h -FILE 5832 f:\sp\public\sdk\inc\specstrings.h -FILE 5833 f:\sp\public\sdk\inc\basetsd.h -FILE 5834 f:\sp\public\sdk\inc\pshpack4.h -FILE 5835 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\typeinfo.h -FILE 5836 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\typeinfo -FILE 5837 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\exception -FILE 5838 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\xstddef -FILE 5839 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h -FILE 5840 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\yvals.h -FILE 5841 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\use_ansi.h -FILE 5842 f:\sp\public\sdk\inc\winnetwk.h -FILE 5843 f:\sp\vctools\langapi\undname\undname.h -FILE 5844 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 5845 f:\sp\public\sdk\inc\stralign.h -FILE 5846 f:\sp\public\sdk\inc\poppack.h -FILE 5847 f:\sp\public\sdk\inc\winsvc.h -FILE 5848 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 5849 f:\sp\public\sdk\inc\windef.h -FILE 5850 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 5851 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 5852 f:\sp\public\sdk\inc\winuser.h -FILE 5853 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 5854 f:\sp\public\sdk\inc\ddbanned.h -FILE 5855 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 5856 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 5857 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\malloc.h -FILE 5858 f:\sp\public\sdk\inc\mcx.h -FILE 5859 f:\sp\public\sdk\inc\pshpack8.h -FILE 5860 f:\sp\public\sdk\inc\winnls.h -FILE 5861 f:\sp\public\sdk\inc\pshpack1.h -FILE 5862 f:\sp\public\sdk\inc\winnt.h -FILE 5863 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 5864 f:\sp\public\sdk\inc\winerror.h -FILE 5865 f:\sp\public\sdk\inc\winreg.h -FILE 5866 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 5867 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 5868 f:\sp\public\sdk\inc\tvout.h -FILE 5869 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\dbgint.h -FILE 5870 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 5871 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\cstddef -FILE 5872 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h -FILE 5873 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\typinfo.cpp -FILE 5874 f:\sp\public\sdk\inc\wincon.h -FILE 5875 f:\sp\public\sdk\inc\imm.h -FILE 5876 f:\sp\public\sdk\inc\winbase.h -FILE 5877 f:\sp\public\sdk\inc\wingdi.h -FILE 5878 f:\sp\public\sdk\inc\winver.h -FILE 5879 f:\sp\public\sdk\inc\pshpack2.h -FILE 5880 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h -FILE 5881 f:\sp\public\sdk\inc\reason.h -FILE 5882 f:\sp\public\sdk\inc\windows.h -FILE 5883 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 5884 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h -FILE 5885 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 5886 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 5887 f:\sp\public\sdk\inc\specstrings.h -FILE 5888 f:\sp\public\sdk\inc\basetsd.h -FILE 5889 f:\sp\public\sdk\inc\pshpack4.h -FILE 5890 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\typeinfo -FILE 5891 f:\sp\public\sdk\inc\winnetwk.h -FILE 5892 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\exception -FILE 5893 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\xstddef -FILE 5894 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h -FILE 5895 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\yvals.h -FILE 5896 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\use_ansi.h -FILE 5897 f:\sp\public\sdk\inc\stralign.h -FILE 5898 f:\sp\public\sdk\inc\poppack.h -FILE 5899 f:\sp\public\sdk\inc\winsvc.h -FILE 5900 f:\sp\public\sdk\inc\winuser.h -FILE 5901 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 5902 f:\sp\public\sdk\inc\windef.h -FILE 5903 f:\sp\vctools\langapi\undname\undname.h -FILE 5904 f:\sp\public\sdk\inc\ddbanned.h -FILE 5905 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\malloc.h -FILE 5906 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 5907 f:\sp\public\sdk\inc\mcx.h -FILE 5908 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 5909 f:\sp\public\sdk\inc\pshpack8.h -FILE 5910 f:\sp\public\sdk\inc\guiddef.h -FILE 5911 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h -FILE 5912 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\typeinfo -FILE 5913 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 5914 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\exception -FILE 5915 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\xstddef -FILE 5916 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\stdexcpt.cpp -FILE 5917 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\yvals.h -FILE 5918 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\use_ansi.h -FILE 5919 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h -FILE 5920 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 5921 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 5922 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 5923 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\cstddef -FILE 5924 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h -FILE 5925 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\malloc.h -FILE 5926 f:\sp\public\sdk\inc\ddbanned.h -FILE 5927 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 5928 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 5929 f:\sp\vctools\langapi\include\ehdata.h -FILE 5930 f:\sp\public\sdk\inc\wincon.h -FILE 5931 f:\sp\public\sdk\inc\imm.h -FILE 5932 f:\sp\public\sdk\inc\winbase.h -FILE 5933 f:\sp\public\sdk\inc\wingdi.h -FILE 5934 f:\sp\public\sdk\inc\winver.h -FILE 5935 f:\sp\public\sdk\inc\windows.h -FILE 5936 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 5937 f:\sp\public\sdk\inc\pshpack2.h -FILE 5938 f:\sp\public\sdk\inc\reason.h -FILE 5939 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\throw.cpp -FILE 5940 f:\sp\public\sdk\inc\specstrings.h -FILE 5941 f:\sp\public\sdk\inc\basetsd.h -FILE 5942 f:\sp\public\sdk\inc\pshpack4.h -FILE 5943 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h -FILE 5944 f:\sp\public\sdk\inc\winnetwk.h -FILE 5945 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h -FILE 5946 f:\sp\public\sdk\inc\stralign.h -FILE 5947 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 5948 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 5949 f:\sp\public\sdk\inc\poppack.h -FILE 5950 f:\sp\public\sdk\inc\winsvc.h -FILE 5951 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 5952 f:\sp\public\sdk\inc\windef.h -FILE 5953 f:\sp\public\sdk\inc\winuser.h -FILE 5954 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehhooks.h -FILE 5955 f:\sp\public\sdk\inc\mcx.h -FILE 5956 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehassert.h -FILE 5957 f:\sp\public\sdk\inc\pshpack8.h -FILE 5958 f:\sp\public\sdk\inc\guiddef.h -FILE 5959 f:\sp\public\sdk\inc\winnt.h -FILE 5960 f:\sp\public\sdk\inc\winnls.h -FILE 5961 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 5962 f:\sp\public\sdk\inc\pshpack1.h -FILE 5963 f:\sp\public\sdk\inc\winerror.h -FILE 5964 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h -FILE 5965 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 5966 f:\sp\public\sdk\inc\ddbanned.h -FILE 5967 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 5968 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 5969 f:\sp\public\sdk\inc\winreg.h -FILE 5970 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 5971 f:\sp\public\sdk\inc\tvout.h -FILE 5972 f:\sp\public\sdk\inc\poppack.h -FILE 5973 f:\sp\public\sdk\inc\winsvc.h -FILE 5974 f:\sp\public\sdk\inc\windows.h -FILE 5975 f:\sp\public\sdk\inc\winuser.h -FILE 5976 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 5977 f:\sp\public\sdk\inc\windef.h -FILE 5978 f:\sp\public\sdk\inc\mcx.h -FILE 5979 f:\sp\public\sdk\inc\pshpack8.h -FILE 5980 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h -FILE 5981 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 5982 f:\sp\public\sdk\inc\guiddef.h -FILE 5983 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\hooks.cpp -FILE 5984 f:\sp\public\sdk\inc\winnls.h -FILE 5985 f:\sp\public\sdk\inc\pshpack1.h -FILE 5986 f:\sp\public\sdk\inc\winnt.h -FILE 5987 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 5988 f:\sp\public\sdk\inc\winerror.h -FILE 5989 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h -FILE 5990 f:\sp\public\sdk\inc\winreg.h -FILE 5991 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 5992 f:\sp\public\sdk\inc\tvout.h -FILE 5993 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h -FILE 5994 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 5995 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h -FILE 5996 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 5997 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 5998 f:\sp\public\sdk\inc\wincon.h -FILE 5999 f:\sp\public\sdk\inc\imm.h -FILE 6000 f:\sp\public\sdk\inc\winbase.h -FILE 6001 f:\sp\public\sdk\inc\wingdi.h -FILE 6002 f:\sp\public\sdk\inc\winver.h -FILE 6003 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehhooks.h -FILE 6004 f:\sp\public\sdk\inc\pshpack2.h -FILE 6005 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 6006 f:\sp\public\sdk\inc\reason.h -FILE 6007 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehassert.h -FILE 6008 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 6009 f:\sp\public\sdk\inc\specstrings.h -FILE 6010 f:\sp\public\sdk\inc\basetsd.h -FILE 6011 f:\sp\public\sdk\inc\pshpack4.h -FILE 6012 f:\sp\public\sdk\inc\ddbanned.h -FILE 6013 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 6014 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 6015 f:\sp\public\sdk\inc\winnetwk.h -FILE 6016 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 6017 f:\sp\public\sdk\inc\stralign.h -FILE 6018 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 6019 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehassert.h -FILE 6020 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\malloc.h -FILE 6021 f:\sp\public\sdk\inc\wincon.h -FILE 6022 f:\sp\public\sdk\inc\imm.h -FILE 6023 f:\sp\public\sdk\inc\guiddef.h -FILE 6024 f:\sp\public\sdk\inc\winbase.h -FILE 6025 f:\sp\public\sdk\inc\wingdi.h -FILE 6026 f:\sp\vctools\langapi\include\ehdata.h -FILE 6027 f:\sp\public\sdk\inc\winver.h -FILE 6028 f:\sp\public\sdk\inc\winnt.h -FILE 6029 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 6030 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h -FILE 6031 f:\sp\public\sdk\inc\pshpack2.h -FILE 6032 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 6033 f:\sp\public\sdk\inc\reason.h -FILE 6034 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\frame.cpp -FILE 6035 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\exception -FILE 6036 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\typeinfo.h -FILE 6037 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\typeinfo -FILE 6038 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\xstddef -FILE 6039 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\yvals.h -FILE 6040 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\use_ansi.h -FILE 6041 f:\sp\public\sdk\inc\pshpack4.h -FILE 6042 f:\sp\public\sdk\inc\winnetwk.h -FILE 6043 f:\sp\public\sdk\inc\stralign.h -FILE 6044 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 6045 f:\sp\public\sdk\inc\poppack.h -FILE 6046 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h -FILE 6047 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 6048 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 6049 f:\sp\public\sdk\inc\winsvc.h -FILE 6050 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehstate.h -FILE 6051 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h -FILE 6052 f:\sp\public\sdk\inc\winuser.h -FILE 6053 f:\sp\public\sdk\inc\windows.h -FILE 6054 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 6055 f:\sp\public\sdk\inc\mcx.h -FILE 6056 f:\sp\public\sdk\inc\pshpack8.h -FILE 6057 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 6058 f:\sp\public\sdk\inc\specstrings.h -FILE 6059 f:\sp\public\sdk\inc\basetsd.h -FILE 6060 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehhooks.h -FILE 6061 f:\sp\public\sdk\inc\winnls.h -FILE 6062 f:\sp\public\sdk\inc\pshpack1.h -FILE 6063 f:\sp\public\sdk\inc\winerror.h -FILE 6064 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\trnsctrl.h -FILE 6065 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 6066 f:\sp\public\sdk\inc\winreg.h -FILE 6067 f:\sp\public\sdk\inc\ddbanned.h -FILE 6068 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 6069 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\cstddef -FILE 6070 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 6071 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h -FILE 6072 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 6073 f:\sp\public\sdk\inc\windef.h -FILE 6074 f:\sp\public\sdk\inc\tvout.h -FILE 6075 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 6076 f:\sp\public\sdk\inc\pshpack4.h -FILE 6077 f:\sp\public\sdk\inc\reason.h -FILE 6078 f:\sp\public\sdk\inc\wincon.h -FILE 6079 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 6080 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 6081 f:\sp\public\sdk\inc\poppack.h -FILE 6082 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 6083 f:\sp\public\sdk\inc\mcx.h -FILE 6084 f:\sp\public\sdk\inc\winuser.h -FILE 6085 f:\sp\public\sdk\inc\winnls.h -FILE 6086 f:\sp\public\sdk\inc\stralign.h -FILE 6087 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 6088 f:\sp\public\sdk\inc\windef.h -FILE 6089 f:\sp\public\sdk\inc\tvout.h -FILE 6090 f:\sp\public\sdk\inc\winsvc.h -FILE 6091 f:\sp\public\sdk\inc\wingdi.h -FILE 6092 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 6093 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6094 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6095 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 6096 f:\sp\public\sdk\inc\winnt.h -FILE 6097 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 6098 f:\sp\public\sdk\inc\winnetwk.h -FILE 6099 f:\sp\public\sdk\inc\imm.h -FILE 6100 f:\sp\vctools\crt_bld\self_x86\crt\src\dosmap.c -FILE 6101 f:\sp\public\sdk\inc\winbase.h -FILE 6102 f:\sp\public\sdk\inc\winerror.h -FILE 6103 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 6104 f:\sp\public\sdk\inc\pshpack1.h -FILE 6105 f:\sp\public\sdk\inc\pshpack8.h -FILE 6106 f:\sp\public\sdk\inc\winver.h -FILE 6107 f:\sp\public\sdk\inc\ddbanned.h -FILE 6108 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6109 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6110 f:\sp\public\sdk\inc\pshpack2.h -FILE 6111 f:\sp\public\sdk\inc\winreg.h -FILE 6112 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 6113 f:\sp\public\sdk\inc\guiddef.h -FILE 6114 f:\sp\public\sdk\inc\windows.h -FILE 6115 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 6116 f:\sp\public\sdk\inc\specstrings.h -FILE 6117 f:\sp\public\sdk\inc\basetsd.h -FILE 6118 f:\sp\public\sdk\inc\winver.h -FILE 6119 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 6120 f:\sp\public\sdk\inc\pshpack2.h -FILE 6121 f:\sp\public\sdk\inc\windows.h -FILE 6122 f:\sp\public\sdk\inc\reason.h -FILE 6123 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 6124 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 6125 f:\sp\public\sdk\inc\specstrings.h -FILE 6126 f:\sp\public\sdk\inc\basetsd.h -FILE 6127 f:\sp\public\sdk\inc\pshpack4.h -FILE 6128 f:\sp\vctools\crt_bld\self_x86\crt\src\wctomb.c -FILE 6129 f:\sp\public\sdk\inc\winnetwk.h -FILE 6130 f:\sp\public\sdk\inc\stralign.h -FILE 6131 f:\sp\public\sdk\inc\poppack.h -FILE 6132 f:\sp\public\sdk\inc\winsvc.h -FILE 6133 f:\sp\public\sdk\inc\winuser.h -FILE 6134 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 6135 f:\sp\public\sdk\inc\windef.h -FILE 6136 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 6137 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6138 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6139 f:\sp\public\sdk\inc\mcx.h -FILE 6140 f:\sp\public\sdk\inc\pshpack8.h -FILE 6141 f:\sp\public\sdk\inc\guiddef.h -FILE 6142 f:\sp\public\sdk\inc\winnls.h -FILE 6143 f:\sp\public\sdk\inc\pshpack1.h -FILE 6144 f:\sp\public\sdk\inc\winnt.h -FILE 6145 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 6146 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 6147 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 6148 f:\sp\public\sdk\inc\winerror.h -FILE 6149 f:\sp\public\sdk\inc\winreg.h -FILE 6150 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 6151 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 6152 f:\sp\public\sdk\inc\tvout.h -FILE 6153 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 6154 f:\sp\public\sdk\inc\ddbanned.h -FILE 6155 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 6156 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6157 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 6158 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6159 f:\sp\public\sdk\inc\wincon.h -FILE 6160 f:\sp\public\sdk\inc\imm.h -FILE 6161 f:\sp\public\sdk\inc\winbase.h -FILE 6162 f:\sp\public\sdk\inc\wingdi.h -FILE 6163 f:\sp\public\sdk\inc\winsvc.h -FILE 6164 f:\sp\public\sdk\inc\winuser.h -FILE 6165 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 6166 f:\sp\public\sdk\inc\mcx.h -FILE 6167 f:\sp\public\sdk\inc\pshpack8.h -FILE 6168 f:\sp\public\sdk\inc\guiddef.h -FILE 6169 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 6170 f:\sp\public\sdk\inc\windows.h -FILE 6171 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 6172 f:\sp\public\sdk\inc\winnls.h -FILE 6173 f:\sp\vctools\crt_bld\self_x86\crt\src\wcstol.c -FILE 6174 f:\sp\public\sdk\inc\pshpack1.h -FILE 6175 f:\sp\public\sdk\inc\winerror.h -FILE 6176 f:\sp\public\sdk\inc\winreg.h -FILE 6177 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 6178 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 6179 f:\sp\public\sdk\inc\tvout.h -FILE 6180 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 6181 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 6182 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6183 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6184 f:\sp\public\sdk\inc\wincon.h -FILE 6185 f:\sp\public\sdk\inc\imm.h -FILE 6186 f:\sp\public\sdk\inc\winbase.h -FILE 6187 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 6188 f:\sp\public\sdk\inc\wingdi.h -FILE 6189 f:\sp\public\sdk\inc\windef.h -FILE 6190 f:\sp\public\sdk\inc\winver.h -FILE 6191 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 6192 f:\sp\public\sdk\inc\pshpack2.h -FILE 6193 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 6194 f:\sp\public\sdk\inc\reason.h -FILE 6195 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 6196 f:\sp\public\sdk\inc\winnt.h -FILE 6197 f:\sp\public\sdk\inc\specstrings.h -FILE 6198 f:\sp\public\sdk\inc\basetsd.h -FILE 6199 f:\sp\public\sdk\inc\pshpack4.h -FILE 6200 f:\sp\public\sdk\inc\ddbanned.h -FILE 6201 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 6202 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6203 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 6204 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6205 f:\sp\public\sdk\inc\winnetwk.h -FILE 6206 f:\sp\public\sdk\inc\stralign.h -FILE 6207 f:\sp\public\sdk\inc\poppack.h -FILE 6208 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 6209 f:\sp\public\sdk\inc\mcx.h -FILE 6210 f:\sp\public\sdk\inc\pshpack8.h -FILE 6211 f:\sp\public\sdk\inc\guiddef.h -FILE 6212 f:\sp\public\sdk\inc\winnt.h -FILE 6213 f:\sp\public\sdk\inc\winnls.h -FILE 6214 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 6215 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 6216 f:\sp\public\sdk\inc\pshpack1.h -FILE 6217 f:\sp\public\sdk\inc\winerror.h -FILE 6218 f:\sp\vctools\crt_bld\self_x86\crt\src\tolower.c -FILE 6219 f:\sp\public\sdk\inc\winreg.h -FILE 6220 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 6221 f:\sp\public\sdk\inc\tvout.h -FILE 6222 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 6223 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 6224 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 6225 f:\sp\public\sdk\inc\wincon.h -FILE 6226 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 6227 f:\sp\public\sdk\inc\imm.h -FILE 6228 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6229 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6230 f:\sp\public\sdk\inc\winbase.h -FILE 6231 f:\sp\public\sdk\inc\wingdi.h -FILE 6232 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 6233 f:\sp\public\sdk\inc\winver.h -FILE 6234 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 6235 f:\sp\public\sdk\inc\windows.h -FILE 6236 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 6237 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 6238 f:\sp\public\sdk\inc\pshpack2.h -FILE 6239 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 6240 f:\sp\public\sdk\inc\reason.h -FILE 6241 f:\sp\public\sdk\inc\specstrings.h -FILE 6242 f:\sp\public\sdk\inc\basetsd.h -FILE 6243 f:\sp\public\sdk\inc\pshpack4.h -FILE 6244 f:\sp\public\sdk\inc\winnetwk.h -FILE 6245 f:\sp\public\sdk\inc\ddbanned.h -FILE 6246 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6247 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6248 f:\sp\public\sdk\inc\stralign.h -FILE 6249 f:\sp\public\sdk\inc\poppack.h -FILE 6250 f:\sp\public\sdk\inc\winsvc.h -FILE 6251 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 6252 f:\sp\public\sdk\inc\windef.h -FILE 6253 f:\sp\public\sdk\inc\winuser.h -FILE 6254 f:\sp\public\sdk\inc\winsvc.h -FILE 6255 f:\sp\public\sdk\inc\winuser.h -FILE 6256 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 6257 f:\sp\public\sdk\inc\mcx.h -FILE 6258 f:\sp\public\sdk\inc\pshpack8.h -FILE 6259 f:\sp\public\sdk\inc\guiddef.h -FILE 6260 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 6261 f:\sp\public\sdk\inc\windows.h -FILE 6262 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 6263 f:\sp\public\sdk\inc\winnls.h -FILE 6264 f:\sp\vctools\crt_bld\self_x86\crt\src\strtoq.c -FILE 6265 f:\sp\public\sdk\inc\pshpack1.h -FILE 6266 f:\sp\public\sdk\inc\winerror.h -FILE 6267 f:\sp\public\sdk\inc\winreg.h -FILE 6268 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 6269 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 6270 f:\sp\public\sdk\inc\tvout.h -FILE 6271 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 6272 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 6273 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6274 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6275 f:\sp\public\sdk\inc\wincon.h -FILE 6276 f:\sp\public\sdk\inc\imm.h -FILE 6277 f:\sp\public\sdk\inc\winbase.h -FILE 6278 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 6279 f:\sp\public\sdk\inc\wingdi.h -FILE 6280 f:\sp\public\sdk\inc\windef.h -FILE 6281 f:\sp\public\sdk\inc\winver.h -FILE 6282 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 6283 f:\sp\public\sdk\inc\pshpack2.h -FILE 6284 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 6285 f:\sp\public\sdk\inc\reason.h -FILE 6286 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 6287 f:\sp\public\sdk\inc\winnt.h -FILE 6288 f:\sp\public\sdk\inc\specstrings.h -FILE 6289 f:\sp\public\sdk\inc\basetsd.h -FILE 6290 f:\sp\public\sdk\inc\pshpack4.h -FILE 6291 f:\sp\public\sdk\inc\ddbanned.h -FILE 6292 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 6293 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6294 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 6295 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6296 f:\sp\public\sdk\inc\winnetwk.h -FILE 6297 f:\sp\public\sdk\inc\stralign.h -FILE 6298 f:\sp\public\sdk\inc\poppack.h -FILE 6299 f:\sp\public\sdk\inc\winsvc.h -FILE 6300 f:\sp\public\sdk\inc\winuser.h -FILE 6301 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 6302 f:\sp\public\sdk\inc\mcx.h -FILE 6303 f:\sp\public\sdk\inc\pshpack8.h -FILE 6304 f:\sp\public\sdk\inc\guiddef.h -FILE 6305 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 6306 f:\sp\public\sdk\inc\windows.h -FILE 6307 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 6308 f:\sp\public\sdk\inc\winnls.h -FILE 6309 f:\sp\vctools\crt_bld\self_x86\crt\src\strtol.c -FILE 6310 f:\sp\public\sdk\inc\pshpack1.h -FILE 6311 f:\sp\public\sdk\inc\winerror.h -FILE 6312 f:\sp\public\sdk\inc\winreg.h -FILE 6313 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 6314 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 6315 f:\sp\public\sdk\inc\tvout.h -FILE 6316 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 6317 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 6318 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6319 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6320 f:\sp\public\sdk\inc\wincon.h -FILE 6321 f:\sp\public\sdk\inc\imm.h -FILE 6322 f:\sp\public\sdk\inc\winbase.h -FILE 6323 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 6324 f:\sp\public\sdk\inc\wingdi.h -FILE 6325 f:\sp\public\sdk\inc\windef.h -FILE 6326 f:\sp\public\sdk\inc\winver.h -FILE 6327 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 6328 f:\sp\public\sdk\inc\pshpack2.h -FILE 6329 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 6330 f:\sp\public\sdk\inc\reason.h -FILE 6331 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 6332 f:\sp\public\sdk\inc\winnt.h -FILE 6333 f:\sp\public\sdk\inc\specstrings.h -FILE 6334 f:\sp\public\sdk\inc\basetsd.h -FILE 6335 f:\sp\public\sdk\inc\pshpack4.h -FILE 6336 f:\sp\public\sdk\inc\ddbanned.h -FILE 6337 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 6338 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6339 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 6340 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6341 f:\sp\public\sdk\inc\winnetwk.h -FILE 6342 f:\sp\public\sdk\inc\stralign.h -FILE 6343 f:\sp\public\sdk\inc\poppack.h -FILE 6344 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 6345 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 6346 f:\sp\public\sdk\inc\tvout.h -FILE 6347 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 6348 f:\sp\public\sdk\inc\wincon.h -FILE 6349 f:\sp\public\sdk\inc\imm.h -FILE 6350 f:\sp\public\sdk\inc\winbase.h -FILE 6351 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 6352 f:\sp\public\sdk\inc\wingdi.h -FILE 6353 f:\sp\public\sdk\inc\windef.h -FILE 6354 f:\sp\public\sdk\inc\winver.h -FILE 6355 f:\sp\vctools\crt_bld\self_x86\crt\src\mbtowc.c -FILE 6356 f:\sp\public\sdk\inc\pshpack2.h -FILE 6357 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 6358 f:\sp\public\sdk\inc\reason.h -FILE 6359 f:\sp\public\sdk\inc\winnt.h -FILE 6360 f:\sp\public\sdk\inc\specstrings.h -FILE 6361 f:\sp\public\sdk\inc\basetsd.h -FILE 6362 f:\sp\public\sdk\inc\pshpack4.h -FILE 6363 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 6364 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 6365 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6366 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6367 f:\sp\public\sdk\inc\winnetwk.h -FILE 6368 f:\sp\public\sdk\inc\stralign.h -FILE 6369 f:\sp\public\sdk\inc\poppack.h -FILE 6370 f:\sp\public\sdk\inc\winsvc.h -FILE 6371 f:\sp\public\sdk\inc\winuser.h -FILE 6372 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 6373 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 6374 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 6375 f:\sp\public\sdk\inc\mcx.h -FILE 6376 f:\sp\public\sdk\inc\pshpack8.h -FILE 6377 f:\sp\public\sdk\inc\guiddef.h -FILE 6378 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 6379 f:\sp\public\sdk\inc\windows.h -FILE 6380 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 6381 f:\sp\public\sdk\inc\winnls.h -FILE 6382 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 6383 f:\sp\public\sdk\inc\pshpack1.h -FILE 6384 f:\sp\public\sdk\inc\ddbanned.h -FILE 6385 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6386 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6387 f:\sp\public\sdk\inc\winerror.h -FILE 6388 f:\sp\public\sdk\inc\winreg.h -FILE 6389 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 6390 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 6391 f:\sp\public\sdk\inc\winreg.h -FILE 6392 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 6393 f:\sp\public\sdk\inc\tvout.h -FILE 6394 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 6395 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 6396 f:\sp\public\sdk\inc\wincon.h -FILE 6397 f:\sp\public\sdk\inc\imm.h -FILE 6398 f:\sp\public\sdk\inc\winbase.h -FILE 6399 f:\sp\vctools\crt_bld\self_x86\crt\src\isctype.c -FILE 6400 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 6401 f:\sp\public\sdk\inc\wingdi.h -FILE 6402 f:\sp\public\sdk\inc\windef.h -FILE 6403 f:\sp\public\sdk\inc\winver.h -FILE 6404 f:\sp\public\sdk\inc\pshpack2.h -FILE 6405 f:\sp\public\sdk\inc\reason.h -FILE 6406 f:\sp\public\sdk\inc\winnt.h -FILE 6407 f:\sp\public\sdk\inc\specstrings.h -FILE 6408 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 6409 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 6410 f:\sp\public\sdk\inc\basetsd.h -FILE 6411 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6412 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6413 f:\sp\public\sdk\inc\pshpack4.h -FILE 6414 f:\sp\public\sdk\inc\winnetwk.h -FILE 6415 f:\sp\public\sdk\inc\stralign.h -FILE 6416 f:\sp\public\sdk\inc\poppack.h -FILE 6417 f:\sp\public\sdk\inc\winsvc.h -FILE 6418 f:\sp\public\sdk\inc\winuser.h -FILE 6419 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 6420 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 6421 f:\sp\public\sdk\inc\mcx.h -FILE 6422 f:\sp\public\sdk\inc\pshpack8.h -FILE 6423 f:\sp\public\sdk\inc\guiddef.h -FILE 6424 f:\sp\public\sdk\inc\ddbanned.h -FILE 6425 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 6426 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 6427 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6428 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 6429 f:\sp\public\sdk\inc\windows.h -FILE 6430 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6431 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 6432 f:\sp\public\sdk\inc\winnls.h -FILE 6433 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 6434 f:\sp\public\sdk\inc\pshpack1.h -FILE 6435 f:\sp\public\sdk\inc\winerror.h -FILE 6436 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 6437 f:\sp\public\sdk\inc\winreg.h -FILE 6438 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 6439 f:\sp\public\sdk\inc\tvout.h -FILE 6440 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 6441 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 6442 f:\sp\public\sdk\inc\wincon.h -FILE 6443 f:\sp\public\sdk\inc\imm.h -FILE 6444 f:\sp\public\sdk\inc\winbase.h -FILE 6445 f:\sp\vctools\crt_bld\self_x86\crt\src\iswctype.c -FILE 6446 f:\sp\public\sdk\inc\wingdi.h -FILE 6447 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 6448 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 6449 f:\sp\public\sdk\inc\winver.h -FILE 6450 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 6451 f:\sp\public\sdk\inc\windows.h -FILE 6452 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 6453 f:\sp\public\sdk\inc\pshpack2.h -FILE 6454 f:\sp\public\sdk\inc\reason.h -FILE 6455 f:\sp\public\sdk\inc\specstrings.h -FILE 6456 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 6457 f:\sp\public\sdk\inc\basetsd.h -FILE 6458 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6459 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6460 f:\sp\public\sdk\inc\pshpack4.h -FILE 6461 f:\sp\public\sdk\inc\winnetwk.h -FILE 6462 f:\sp\public\sdk\inc\stralign.h -FILE 6463 f:\sp\public\sdk\inc\poppack.h -FILE 6464 f:\sp\public\sdk\inc\winsvc.h -FILE 6465 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 6466 f:\sp\public\sdk\inc\windef.h -FILE 6467 f:\sp\public\sdk\inc\winuser.h -FILE 6468 f:\sp\public\sdk\inc\mcx.h -FILE 6469 f:\sp\public\sdk\inc\pshpack8.h -FILE 6470 f:\sp\public\sdk\inc\guiddef.h -FILE 6471 f:\sp\public\sdk\inc\ddbanned.h -FILE 6472 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6473 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6474 f:\sp\public\sdk\inc\winnt.h -FILE 6475 f:\sp\public\sdk\inc\winnls.h -FILE 6476 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 6477 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 6478 f:\sp\public\sdk\inc\pshpack1.h -FILE 6479 f:\sp\public\sdk\inc\winerror.h -FILE 6480 f:\sp\public\sdk\inc\winsvc.h -FILE 6481 f:\sp\public\sdk\inc\winuser.h -FILE 6482 f:\sp\public\sdk\inc\mcx.h -FILE 6483 f:\sp\public\sdk\inc\pshpack8.h -FILE 6484 f:\sp\public\sdk\inc\guiddef.h -FILE 6485 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 6486 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 6487 f:\sp\public\sdk\inc\windows.h -FILE 6488 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 6489 f:\sp\public\sdk\inc\winnls.h -FILE 6490 f:\sp\vctools\crt_bld\self_x86\crt\src\_wctype.c -FILE 6491 f:\sp\public\sdk\inc\pshpack1.h -FILE 6492 f:\sp\public\sdk\inc\winerror.h -FILE 6493 f:\sp\public\sdk\inc\winreg.h -FILE 6494 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 6495 f:\sp\public\sdk\inc\tvout.h -FILE 6496 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 6497 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 6498 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 6499 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6500 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6501 f:\sp\public\sdk\inc\wincon.h -FILE 6502 f:\sp\public\sdk\inc\imm.h -FILE 6503 f:\sp\public\sdk\inc\winbase.h -FILE 6504 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 6505 f:\sp\public\sdk\inc\wingdi.h -FILE 6506 f:\sp\public\sdk\inc\windef.h -FILE 6507 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 6508 f:\sp\public\sdk\inc\winver.h -FILE 6509 f:\sp\public\sdk\inc\pshpack2.h -FILE 6510 f:\sp\public\sdk\inc\reason.h -FILE 6511 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 6512 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 6513 f:\sp\public\sdk\inc\winnt.h -FILE 6514 f:\sp\public\sdk\inc\specstrings.h -FILE 6515 f:\sp\public\sdk\inc\basetsd.h -FILE 6516 f:\sp\public\sdk\inc\pshpack4.h -FILE 6517 f:\sp\public\sdk\inc\ddbanned.h -FILE 6518 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6519 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6520 f:\sp\public\sdk\inc\winnetwk.h -FILE 6521 f:\sp\public\sdk\inc\stralign.h -FILE 6522 f:\sp\public\sdk\inc\poppack.h -FILE 6523 f:\sp\public\sdk\inc\mcx.h -FILE 6524 f:\sp\public\sdk\inc\pshpack8.h -FILE 6525 f:\sp\public\sdk\inc\guiddef.h -FILE 6526 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 6527 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 6528 f:\sp\public\sdk\inc\windows.h -FILE 6529 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 6530 f:\sp\public\sdk\inc\winnls.h -FILE 6531 f:\sp\public\sdk\inc\pshpack1.h -FILE 6532 f:\sp\public\sdk\inc\winerror.h -FILE 6533 f:\sp\public\sdk\inc\winreg.h -FILE 6534 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 6535 f:\sp\vctools\crt_bld\self_x86\crt\src\_ctype.c -FILE 6536 f:\sp\public\sdk\inc\tvout.h -FILE 6537 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 6538 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 6539 f:\sp\public\sdk\inc\wincon.h -FILE 6540 f:\sp\public\sdk\inc\imm.h -FILE 6541 f:\sp\public\sdk\inc\winbase.h -FILE 6542 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 6543 f:\sp\public\sdk\inc\wingdi.h -FILE 6544 f:\sp\public\sdk\inc\windef.h -FILE 6545 f:\sp\public\sdk\inc\winver.h -FILE 6546 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 6547 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6548 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6549 f:\sp\public\sdk\inc\pshpack2.h -FILE 6550 f:\sp\public\sdk\inc\reason.h -FILE 6551 f:\sp\public\sdk\inc\winnt.h -FILE 6552 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 6553 f:\sp\public\sdk\inc\specstrings.h -FILE 6554 f:\sp\public\sdk\inc\basetsd.h -FILE 6555 f:\sp\public\sdk\inc\pshpack4.h -FILE 6556 f:\sp\public\sdk\inc\winnetwk.h -FILE 6557 f:\sp\public\sdk\inc\stralign.h -FILE 6558 f:\sp\public\sdk\inc\poppack.h -FILE 6559 f:\sp\public\sdk\inc\winsvc.h -FILE 6560 f:\sp\public\sdk\inc\ddbanned.h -FILE 6561 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6562 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6563 f:\sp\public\sdk\inc\winuser.h -FILE 6564 f:\sp\public\sdk\inc\pshpack2.h -FILE 6565 f:\sp\public\sdk\inc\mcx.h -FILE 6566 f:\sp\public\sdk\inc\winuser.h -FILE 6567 f:\sp\public\sdk\inc\winnls.h -FILE 6568 f:\sp\public\sdk\inc\stralign.h -FILE 6569 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 6570 f:\sp\public\sdk\inc\windef.h -FILE 6571 f:\sp\public\sdk\inc\tvout.h -FILE 6572 f:\sp\public\sdk\inc\winsvc.h -FILE 6573 f:\sp\vctools\crt_bld\self_x86\crt\src\internal_securecrt.h -FILE 6574 f:\sp\public\sdk\inc\wingdi.h -FILE 6575 f:\sp\public\sdk\inc\pshpack4.h -FILE 6576 f:\sp\public\sdk\inc\poppack.h -FILE 6577 f:\sp\public\sdk\inc\winnt.h -FILE 6578 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 6579 f:\sp\public\sdk\inc\winnetwk.h -FILE 6580 f:\sp\public\sdk\inc\imm.h -FILE 6581 f:\sp\vctools\crt_bld\self_x86\crt\src\xtoa.c -FILE 6582 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 6583 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 6584 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6585 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6586 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 6587 f:\sp\vctools\crt_bld\self_x86\crt\src\xtoas.c -FILE 6588 f:\sp\public\sdk\inc\pshpack1.h -FILE 6589 f:\sp\public\sdk\inc\winver.h -FILE 6590 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 6591 f:\sp\public\sdk\inc\guiddef.h -FILE 6592 f:\sp\public\sdk\inc\specstrings.h -FILE 6593 f:\sp\public\sdk\inc\basetsd.h -FILE 6594 f:\sp\public\sdk\inc\winreg.h -FILE 6595 f:\sp\public\sdk\inc\ddbanned.h -FILE 6596 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 6597 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6598 f:\sp\public\sdk\inc\windows.h -FILE 6599 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6600 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 6601 f:\sp\public\sdk\inc\winbase.h -FILE 6602 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 6603 f:\sp\public\sdk\inc\winerror.h -FILE 6604 f:\sp\public\sdk\inc\pshpack8.h -FILE 6605 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 6606 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 6607 f:\sp\public\sdk\inc\reason.h -FILE 6608 f:\sp\public\sdk\inc\wincon.h -FILE 6609 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 6610 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 6611 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6612 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6613 f:\sp\vctools\crt_bld\self_x86\crt\src\wchtodig.c -FILE 6614 f:\sp\public\sdk\inc\ddbanned.h -FILE 6615 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6616 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6617 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 6618 f:\sp\public\sdk\inc\poppack.h -FILE 6619 f:\sp\public\sdk\inc\winnetwk.h -FILE 6620 f:\sp\public\sdk\inc\imm.h -FILE 6621 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 6622 f:\sp\public\sdk\inc\windef.h -FILE 6623 f:\sp\public\sdk\inc\pshpack1.h -FILE 6624 f:\sp\public\sdk\inc\winver.h -FILE 6625 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 6626 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 6627 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 6628 f:\sp\public\sdk\inc\winnt.h -FILE 6629 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 6630 f:\sp\public\sdk\inc\winreg.h -FILE 6631 f:\sp\vctools\crt_bld\self_x86\crt\src\atox.c -FILE 6632 f:\sp\public\sdk\inc\winbase.h -FILE 6633 f:\sp\public\sdk\inc\winerror.h -FILE 6634 f:\sp\public\sdk\inc\pshpack8.h -FILE 6635 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 6636 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 6637 f:\sp\public\sdk\inc\reason.h -FILE 6638 f:\sp\public\sdk\inc\wincon.h -FILE 6639 f:\sp\public\sdk\inc\ddbanned.h -FILE 6640 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 6641 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 6642 f:\sp\public\sdk\inc\pshpack2.h -FILE 6643 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 6644 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 6645 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 6646 f:\sp\public\sdk\inc\mcx.h -FILE 6647 f:\sp\public\sdk\inc\winuser.h -FILE 6648 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 6649 f:\sp\public\sdk\inc\winnls.h -FILE 6650 f:\sp\public\sdk\inc\guiddef.h -FILE 6651 f:\sp\public\sdk\inc\windows.h -FILE 6652 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 6653 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 6654 f:\sp\public\sdk\inc\specstrings.h -FILE 6655 f:\sp\public\sdk\inc\basetsd.h -FILE 6656 f:\sp\public\sdk\inc\stralign.h -FILE 6657 f:\sp\public\sdk\inc\tvout.h -FILE 6658 f:\sp\public\sdk\inc\winsvc.h -FILE 6659 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 6660 f:\sp\public\sdk\inc\wingdi.h -FILE 6661 f:\sp\public\sdk\inc\pshpack4.h -FUNC 1000 13 4 vswprintf -1000 0 50 71 -1000 12 51 71 -1012 1 52 71 -FUNC 1020 1b 10 wmemcpy_s -1020 0 1230 66 -1020 1b 1233 66 -FUNC 1040 1b 10 wmemmove_s -1040 0 1250 66 -1040 1b 1253 66 -FUNC 1060 19 4 std::bad_alloc::bad_alloc(char const *) -1060 13 371 83 -1073 6 372 83 -FUNC 1080 b 0 std::bad_alloc::~bad_alloc() -1080 6 380 83 -1086 5 381 83 -FUNC 1090 24 0 std::bad_alloc::`vector deleting destructor'(unsigned int) -FUNC 10c0 f 8 std::char_traits::assign(wchar_t &,wchar_t const &) -10c0 0 302 70 -10c0 e 303 70 -10ce 1 304 70 -FUNC 10d0 17 4 std::char_traits::length(wchar_t const *) -10d0 0 325 70 -10d0 16 327 70 -10e6 1 328 70 -FUNC 10f0 27 10 std::char_traits::_Copy_s(wchar_t *,unsigned int,wchar_t const *,unsigned int) -10f0 0 340 70 -10f0 23 343 70 -1113 3 344 70 -1116 1 345 70 -FUNC 1120 27 10 std::char_traits::_Move_s(wchar_t *,unsigned int,wchar_t const *,unsigned int) -1120 0 364 70 -1120 23 367 70 -1143 3 368 70 -1146 1 369 70 -FUNC 1150 d 8 std::char_traits::assign(char &,char const &) -1150 0 417 70 -1150 c 418 70 -115c 1 419 70 -FUNC 1160 13 4 std::char_traits::length(char const *) -1160 0 440 70 -1160 12 442 70 -1172 1 443 70 -FUNC 1180 21 10 std::char_traits::_Copy_s(char *,unsigned int,char const *,unsigned int) -1180 0 455 70 -1180 1d 458 70 -119d 3 459 70 -11a0 1 460 70 -FUNC 11b0 21 10 std::char_traits::_Move_s(char *,unsigned int,char const *,unsigned int) -11b0 0 479 70 -11b0 1d 482 70 -11cd 3 483 70 -11d0 1 484 70 -FUNC 11e0 7 0 std::_Iterator_base::_Iterator_base() -11e0 6 441 65 -11e6 1 442 65 -FUNC 11f0 6b 4 std::logic_error::logic_error(std::basic_string,std::allocator > const &) -11f0 56 27 82 -1246 15 28 82 -FUNC 1260 32 0 std::logic_error::~logic_error() -1260 9 31 82 -1269 29 32 82 -FUNC 12a0 e 0 std::logic_error::what() -12a0 0 35 82 -12a0 9 36 82 -12a9 1 37 82 -12aa 3 36 82 -12ad 1 37 82 -FUNC 12b0 47 0 std::logic_error::`scalar deleting destructor'(unsigned int) -FUNC 1300 19 4 std::length_error::length_error(std::basic_string,std::allocator > const &) -1300 13 106 82 -1313 6 107 82 -FUNC 1320 32 0 std::length_error::~length_error() -1320 3 110 82 -1323 2f 111 82 -FUNC 1360 47 0 std::length_error::`vector deleting destructor'(unsigned int) -FUNC 13b0 19 4 std::out_of_range::out_of_range(std::basic_string,std::allocator > const &) -13b0 13 130 82 -13c3 6 131 82 -FUNC 13d0 32 0 std::out_of_range::~out_of_range() -13d0 3 134 82 -13d3 2f 135 82 -FUNC 1410 47 0 std::out_of_range::`vector deleting destructor'(unsigned int) -FUNC 1460 19 4 std::out_of_range::out_of_range(std::out_of_range const &) -FUNC 1480 71 4 std::logic_error::logic_error(std::logic_error const &) -FUNC 1500 1b 8 google_breakpad::WindowsStringUtils::safe_swprintf(wchar_t *,unsigned int,wchar_t const *,...) -1500 0 94 63 -1500 1a 97 63 -151a 1 105 63 -FUNC 1520 35 0 google_breakpad::ExceptionHandler::set_dump_path(std::basic_string,std::allocator > const &) -1520 4 137 43 -1524 f 138 43 -1533 c 139 43 -153f 7 140 43 -1546 1 141 43 -1547 6 139 43 -154d 7 140 43 -1554 1 141 43 -FUNC 1560 20b 14 google_breakpad::ExceptionHandler::ExceptionHandler(std::basic_string,std::allocator > const &,bool (*)(void *,_EXCEPTION_POINTERS *,MDRawAssertionInfo *),bool (*)(wchar_t const *,wchar_t const *,void *,_EXCEPTION_POINTERS *,MDRawAssertionInfo *,bool),void *,bool) -1560 6d 75 12 -15cd 90 78 12 -165d 9 86 12 -1666 d 87 12 -1673 d 88 12 -1680 1e 96 12 -169e 11 98 12 -16af 7 99 12 -16b6 f 101 12 -16c5 a 104 12 -16cf 8 105 12 -16d7 7 106 12 -16de 7 107 12 -16e5 b 110 12 -16f0 8 114 12 -16f8 25 115 12 -171d d 117 12 -172a b 118 12 -1735 10 121 12 -1745 e 124 12 -1753 18 126 12 -FUNC 1770 274 0 google_breakpad::ExceptionHandler::~ExceptionHandler() -1770 e 128 12 -177e a 129 12 -1788 7 130 12 -178f a 133 12 -1799 b 134 12 -17a4 a 136 12 -17ae 9 139 12 -17b7 63 142 12 -181a 23 143 12 -183d 5 144 12 -1842 13 147 12 -1855 2b 149 12 -1880 2a 151 12 -18aa 17 152 12 -18c1 2c 153 12 -18ed 19 151 12 -1906 11 158 12 -1917 23 161 12 -193a 6 162 12 -1940 d 165 12 -194d f 169 12 -195c d 170 12 -1969 f 171 12 -1978 9 172 12 -1981 63 173 12 -FUNC 19f0 31 0 std::vector >::`scalar deleting destructor'(unsigned int) -FUNC 1a30 51 4 google_breakpad::ExceptionHandler::ExceptionHandlerThreadMain(void *) -1a30 13 176 12 -1a43 f 182 12 -1a52 1a 185 12 -1a6c 13 188 12 -1a7f 2 190 12 -FUNC 1a90 c7 4 google_breakpad::AutoExceptionHandler::AutoExceptionHandler() -1a90 7 204 12 -1a97 b 221 12 -1aa2 82 224 12 -1b24 d 225 12 -1b31 c 229 12 -1b3d e 231 12 -1b4b c 233 12 -FUNC 1b60 36 0 google_breakpad::AutoExceptionHandler::~AutoExceptionHandler() -1b60 0 235 12 -1b60 b 237 12 -1b6b d 239 12 -1b78 b 242 12 -1b83 7 243 12 -1b8a b 244 12 -1b95 1 245 12 -FUNC 1ba0 3 0 google_breakpad::AutoExceptionHandler::get_handler() -1ba0 3 247 12 -FUNC 1bb0 c4 4 google_breakpad::ExceptionHandler::HandleException(_EXCEPTION_POINTERS *) -1bb0 2b 254 12 -1bdb a 255 12 -1be5 f 262 12 -1bf4 1e 265 12 -1c12 5 273 12 -1c17 2 274 12 -1c19 7 283 12 -1c20 5 284 12 -1c25 2 285 12 -1c27 2 286 12 -1c29 37 290 12 -1c60 14 291 12 -FUNC 1c80 121 14 google_breakpad::ExceptionHandler::HandleInvalidParameter(wchar_t const *,wchar_t const *,wchar_t const *,unsigned int,unsigned int) -1c80 40 299 12 -1cc0 b7 319 12 -1d77 7 320 12 -1d7e 14 323 12 -1d92 2 324 12 -1d94 5 337 12 -1d99 8 345 12 -FUNC 1db0 81 8 google_breakpad::ExceptionHandler::WriteMinidumpOnHandlerThread(_EXCEPTION_POINTERS *,MDRawAssertionInfo *) -1db0 2 350 12 -1db2 d 351 12 -1dbf 6 354 12 -1dc5 2b 359 12 -1df0 f 362 12 -1dff 6 363 12 -1e05 26 370 12 -1e2b 3 372 12 -1e2e 3 373 12 -FUNC 1e40 1d 0 google_breakpad::ExceptionHandler::WriteMinidump() -1e40 3 375 12 -1e43 b 376 12 -1e4e b 377 12 -1e59 3 378 12 -1e5c 1 379 12 -FUNC 1e60 a2 4 google_breakpad::ExceptionHandler::WriteMinidump(std::basic_string,std::allocator > const &,bool (*)(wchar_t const *,wchar_t const *,void *,_EXCEPTION_POINTERS *,MDRawAssertionInfo *,bool),void *) -1e60 41 384 12 -1ea1 10 385 12 -1eb1 2a 386 12 -1edb 27 387 12 -FUNC 1f10 142 c google_breakpad::ExceptionHandler::WriteMinidumpWithException(unsigned long,_EXCEPTION_POINTERS *,MDRawAssertionInfo *) -1f10 0 392 12 -1f10 22 399 12 -1f32 7 466 12 -1f39 2 403 12 -1f3b e 404 12 -1f49 1f 411 12 -1f68 9 412 12 -1f71 8 414 12 -1f79 4 415 12 -1f7d 8 416 12 -1f85 8 426 12 -1f8d a 427 12 -1f97 34 440 12 -1fcb 8 441 12 -1fd3 8 442 12 -1fdb 4 443 12 -1fdf 8 444 12 -1fe7 30 454 12 -2017 c 456 12 -2023 7 460 12 -202a 1e 462 12 -2048 4 465 12 -204c 6 466 12 -FUNC 2060 138 0 google_breakpad::ExceptionHandler::UpdateNextID() -2060 38 468 12 -2098 b 470 12 -20a3 4a 471 12 -20ed 25 472 12 -2112 1c 477 12 -212e 31 478 12 -215f 14 479 12 -2173 25 480 12 -FUNC 21a0 3b 4 std::basic_string,std::allocator >::basic_string,std::allocator >(char const *) -21a0 0 650 17 -21a0 35 652 17 -21d5 6 653 17 -FUNC 21e0 25 4 std::basic_string,std::allocator >::basic_string,std::allocator >(std::basic_string,std::allocator > const &) -21e0 1 720 17 -21e1 4 721 17 -21e5 1a 722 17 -21ff 6 723 17 -FUNC 2210 26 0 std::basic_string,std::allocator >::~basic_string,std::allocator >() -2210 3 904 17 -2213 22 905 17 -2235 1 906 17 -FUNC 2240 e 0 std::basic_string,std::allocator >::c_str() -2240 0 1621 17 -2240 9 1622 17 -2249 1 1623 17 -224a 3 1622 17 -224d 1 1623 17 -FUNC 2250 4 0 std::basic_string,std::allocator >::size() -2250 0 1636 17 -2250 3 1637 17 -2253 1 1638 17 -FUNC 2260 11 0 std::basic_string,std::allocator >::basic_string,std::allocator >() -2260 0 564 17 -2260 10 565 17 -2270 1 566 17 -FUNC 2280 27 0 std::basic_string,std::allocator >::~basic_string,std::allocator >() -2280 3 904 17 -2283 23 905 17 -22a6 1 906 17 -FUNC 22b0 b 0 std::basic_string,std::allocator >::operator=(std::basic_string,std::allocator > const &) -22b0 0 914 17 -22b0 a 915 17 -22ba 1 916 17 -FUNC 22c0 24 4 std::basic_string,std::allocator >::operator=(wchar_t const *) -22c0 0 919 17 -22c0 21 920 17 -22e1 3 921 17 -FUNC 22f0 e 0 std::basic_string,std::allocator >::c_str() -22f0 0 1621 17 -22f0 9 1622 17 -22f9 1 1623 17 -22fa 3 1622 17 -22fd 1 1623 17 -FUNC 2300 c 0 std::vector >::vector >() -2300 0 457 23 -2300 b 458 23 -230b 1 459 23 -FUNC 2310 26 0 std::vector >::~vector >() -2310 0 545 23 -2310 25 546 23 -2335 1 547 23 -FUNC 2340 1d 0 std::vector >::begin() -2340 1 627 23 -2341 1b 628 23 -235c 1 629 23 -FUNC 2360 1d 0 std::vector >::end() -2360 1 637 23 -2361 1b 638 23 -237c 1 639 23 -FUNC 2380 13 0 std::vector >::size() -2380 0 702 23 -2380 9 703 23 -2389 1 704 23 -238a 8 703 23 -2392 1 704 23 -FUNC 23a0 23 0 std::vector >::empty() -23a0 0 712 23 -23a0 10 713 23 -23b0 1 714 23 -23b1 11 713 23 -23c2 1 714 23 -FUNC 23d0 56 0 std::vector >::at(unsigned int) -23d0 b 729 23 -23db 15 730 23 -23f0 5 731 23 -23f5 29 732 23 -241e 8 733 23 -FUNC 2430 47 0 std::vector >::back() -2430 c 776 23 -243c 32 777 23 -246e 9 778 23 -FUNC 2480 68 0 std::vector >::push_back(google_breakpad::ExceptionHandler * const &) -2480 10 786 23 -2490 24 787 23 -24b4 d 796 23 -24c1 6 801 23 -24c7 1b 800 23 -24e2 6 801 23 -FUNC 24f0 23 0 std::vector >::pop_back() -24f0 6 818 23 -24f6 15 819 23 -250b 6 822 23 -2511 2 824 23 -FUNC 2520 3f 8 std::vector >::erase(std::_Vector_iterator >) -2520 7 996 23 -2527 24 998 23 -254b 11 1001 23 -255c 3 1002 23 -FUNC 2560 20 0 std::_Vector_iterator >::operator*() -2560 0 325 23 -2560 1c 326 23 -257c 1 327 23 -257d 2 326 23 -257f 1 327 23 -FUNC 2580 20 0 std::_Vector_iterator >::operator++() -2580 0 335 23 -2580 1d 336 23 -259d 2 337 23 -259f 1 338 23 -FUNC 25a0 1d 0 std::_Vector_const_iterator >::operator!=(std::_Vector_const_iterator > const &) -25a0 0 202 23 -25a0 1c 203 23 -25bc 1 204 23 -FUNC 25c0 da c std::basic_string,std::allocator >::assign(std::basic_string,std::allocator > const &,unsigned int,unsigned int) -25c0 1 1038 17 -25c1 12 1039 17 -25d3 5 1040 17 -25d8 3 1041 17 -25db a 1042 17 -25e5 2 1043 17 -25e7 4 1045 17 -25eb 17 1046 17 -2602 5 1052 17 -2607 3 1053 17 -260a 21 1047 17 -262b b 1049 17 -2636 13 1047 17 -2649 5 1052 17 -264e 3 1053 17 -2651 7 1047 17 -2658 5 1052 17 -265d 3 1053 17 -2660 22 1049 17 -2682 10 1050 17 -2692 5 1052 17 -2697 3 1053 17 -FUNC 26a0 27 4 std::basic_string,std::allocator >::assign(char const *) -26a0 1 1069 17 -26a1 23 1070 17 -26c4 3 1071 17 -FUNC 26d0 4a 8 std::basic_string,std::allocator >::_Tidy(bool,unsigned int) -26d0 0 2066 17 -26d0 f 2067 17 -26df 6 2069 17 -26e5 a 2072 17 -26ef d 2073 17 -26fc a 2074 17 -2706 11 2077 17 -2717 3 2078 17 -FUNC 2720 e 0 std::basic_string,std::allocator >::_Myptr() -2720 0 2092 17 -2720 9 2093 17 -2729 1 2094 17 -272a 3 2093 17 -272d 1 2094 17 -FUNC 2730 5 4 std::_String_val >::_String_val >(std::allocator) -2730 2 471 17 -2732 3 472 17 -FUNC 2740 5 4 std::_String_val >::_String_val >(std::_String_val > const &) -2740 2 477 17 -2742 3 484 17 -FUNC 2750 3 0 std::allocator::allocator() -2750 2 120 19 -2752 1 122 19 -FUNC 2760 b 0 std::basic_string,std::allocator >::assign(std::basic_string,std::allocator > const &) -2760 0 1032 17 -2760 a 1033 17 -276a 1 1034 17 -FUNC 2770 ef c std::basic_string,std::allocator >::assign(std::basic_string,std::allocator > const &,unsigned int,unsigned int) -2770 1 1038 17 -2771 12 1039 17 -2783 5 1040 17 -2788 3 1041 17 -278b a 1042 17 -2795 2 1043 17 -2797 4 1045 17 -279b 17 1046 17 -27b2 5 1052 17 -27b7 3 1053 17 -27ba 24 1047 17 -27de b 1049 17 -27e9 13 1047 17 -27fc 5 1052 17 -2801 3 1053 17 -2804 9 1047 17 -280d 5 1052 17 -2812 3 1053 17 -2815 2f 1049 17 -2844 13 1050 17 -2857 5 1052 17 -285c 3 1053 17 -FUNC 2860 2b 4 std::basic_string,std::allocator >::assign(wchar_t const *) -2860 1 1069 17 -2861 27 1070 17 -2888 3 1071 17 -FUNC 2890 4f 8 std::basic_string,std::allocator >::_Tidy(bool,unsigned int) -2890 0 2066 17 -2890 f 2067 17 -289f 6 2069 17 -28a5 a 2072 17 -28af 10 2073 17 -28bf a 2074 17 -28c9 13 2077 17 -28dc 3 2078 17 -FUNC 28e0 e 0 std::basic_string,std::allocator >::_Myptr() -28e0 0 2092 17 -28e0 9 2093 17 -28e9 1 2094 17 -28ea 3 2093 17 -28ed 1 2094 17 -FUNC 28f0 5 4 std::_String_val >::_String_val >(std::allocator) -28f0 2 471 17 -28f2 3 472 17 -FUNC 2900 3 0 std::allocator::allocator() -2900 2 120 19 -2902 1 122 19 -FUNC 2910 13 0 std::vector >::capacity() -2910 0 621 23 -2910 9 622 23 -2919 1 623 23 -291a 8 622 23 -2922 1 623 23 -FUNC 2930 86 c std::vector >::insert(std::_Vector_iterator >,google_breakpad::ExceptionHandler * const &) -2930 3 852 23 -2933 3e 853 23 -2971 11 854 23 -2982 2a 855 23 -29ac a 856 23 -FUNC 29c0 23 0 std::vector >::_Buy(unsigned int) -29c0 0 1066 23 -29c0 8 1070 23 -29c8 5 1071 23 -29cd a 1074 23 -29d7 3 1075 23 -29da 6 1076 23 -29e0 2 1078 23 -29e2 1 1079 23 -FUNC 29f0 1 0 std::vector >::_Destroy(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *) -29f0 0 1082 23 -29f0 1 1084 23 -FUNC 2a00 26 0 std::vector >::_Tidy() -2a00 0 1087 23 -2a00 7 1088 23 -2a07 9 1096 23 -2a10 15 1098 23 -2a25 1 1099 23 -FUNC 2a30 23 0 std::vector >::_Ufill(google_breakpad::ExceptionHandler * *,unsigned int,google_breakpad::ExceptionHandler * const &) -2a30 0 1207 23 -2a30 1f 1208 23 -2a4f 3 1209 23 -2a52 1 1210 23 -FUNC 2a60 76 0 std::vector >::_Xran() -2a60 23 1218 23 -2a83 53 1219 23 -FUNC 2ae0 3 4 std::_Vector_val >::_Vector_val >(std::allocator) -2ae0 0 412 23 -2ae0 3 413 23 -FUNC 2af0 1 0 std::allocator::allocator() -2af0 0 120 19 -2af0 1 122 19 -FUNC 2b00 21 0 std::_Vector_iterator >::_Vector_iterator >(google_breakpad::ExceptionHandler * *,std::_Container_base const *) -2b00 1e 314 23 -2b1e 3 315 23 -FUNC 2b30 32 4 std::_Vector_iterator >::operator+(int) -2b30 1 367 23 -2b31 2 368 23 -2b33 26 369 23 -2b59 9 370 23 -FUNC 2b70 2f 0 std::_Vector_iterator >::operator-(int) -2b70 1 378 23 -2b71 2 379 23 -2b73 25 380 23 -2b98 7 381 23 -FUNC 2ba0 20 0 std::_Vector_const_iterator >::operator*() -2ba0 0 92 23 -2ba0 a 103 23 -2baa f 104 23 -2bb9 3 107 23 -2bbc 1 108 23 -2bbd 2 107 23 -2bbf 1 108 23 -FUNC 2bc0 20 0 std::_Vector_const_iterator >::operator++() -2bc0 0 116 23 -2bc0 a 117 23 -2bca f 118 23 -2bd9 4 119 23 -2bdd 2 120 23 -2bdf 1 121 23 -FUNC 2be0 1d 0 std::_Vector_const_iterator >::operator==(std::_Vector_const_iterator > const &) -2be0 0 190 23 -2be0 f 195 23 -2bef d 198 23 -2bfc 1 199 23 -FUNC 2c00 c1 8 std::basic_string,std::allocator >::assign(char const *,unsigned int) -2c00 5 1056 17 -2c05 2d 1057 17 -2c32 1a 1058 17 -2c4c 4 1066 17 -2c50 25 1060 17 -2c75 c 1062 17 -2c81 f 1060 17 -2c90 8 1065 17 -2c98 3 1066 17 -2c9b e 1062 17 -2ca9 10 1063 17 -2cb9 5 1065 17 -2cbe 3 1066 17 -FUNC 2cd0 83 8 std::basic_string,std::allocator >::erase(unsigned int,unsigned int) -2cd0 1 1240 17 -2cd1 d 1241 17 -2cde 5 1242 17 -2ce3 d 1243 17 -2cf0 2 1244 17 -2cf2 4 1245 17 -2cf6 3c 1248 17 -2d32 8 1249 17 -2d3a 12 1250 17 -2d4c 4 1252 17 -2d50 3 1253 17 -FUNC 2d60 1f 4 std::basic_string,std::allocator >::_Eos(unsigned int) -2d60 0 2030 17 -2d60 14 2031 17 -2d74 3 2032 17 -2d77 5 2031 17 -2d7c 3 2032 17 -FUNC 2d80 bc 8 std::basic_string,std::allocator >::_Grow(unsigned int,bool) -2d80 1 2036 17 -2d81 c 2037 17 -2d8d 5 2038 17 -2d92 7 2039 17 -2d99 c 2040 17 -2da5 a 2046 17 -2daf 3 2047 17 -2db2 d 2041 17 -2dbf 39 2043 17 -2df8 10 2046 17 -2e08 3 2047 17 -2e0b 4 2044 17 -2e0f b 2045 17 -2e1a c 2046 17 -2e26 3 2047 17 -2e29 6 2045 17 -2e2f a 2046 17 -2e39 3 2047 17 -FUNC 2e40 e 0 std::basic_string,std::allocator >::_Myptr() -2e40 0 2087 17 -2e40 9 2088 17 -2e49 1 2089 17 -2e4a 3 2088 17 -2e4d 1 2089 17 -FUNC 2e50 5 4 std::allocator::allocator(std::allocator const &) -2e50 2 124 19 -2e52 3 126 19 -FUNC 2e60 e 8 std::allocator::deallocate(char *,unsigned int) -2e60 0 140 19 -2e60 b 141 19 -2e6b 3 142 19 -FUNC 2e70 da 8 std::basic_string,std::allocator >::assign(wchar_t const *,unsigned int) -2e70 4 1056 17 -2e74 31 1057 17 -2ea5 1d 1058 17 -2ec2 3 1066 17 -2ec5 28 1060 17 -2eed d 1062 17 -2efa 10 1060 17 -2f0a a 1065 17 -2f14 3 1066 17 -2f17 18 1062 17 -2f2f 14 1063 17 -2f43 4 1065 17 -2f47 3 1066 17 -FUNC 2f50 97 8 std::basic_string,std::allocator >::erase(unsigned int,unsigned int) -2f50 1 1240 17 -2f51 d 1241 17 -2f5e 5 1242 17 -2f63 d 1243 17 -2f70 2 1244 17 -2f72 4 1245 17 -2f76 4d 1248 17 -2fc3 8 1249 17 -2fcb 15 1250 17 -2fe0 4 1252 17 -2fe4 3 1253 17 -FUNC 2ff0 4 0 std::basic_string,std::allocator >::size() -2ff0 0 1636 17 -2ff0 3 1637 17 -2ff3 1 1638 17 -FUNC 3000 23 4 std::basic_string,std::allocator >::_Eos(unsigned int) -3000 0 2030 17 -3000 16 2031 17 -3016 3 2032 17 -3019 7 2031 17 -3020 3 2032 17 -FUNC 3030 c7 8 std::basic_string,std::allocator >::_Grow(unsigned int,bool) -3030 1 2036 17 -3031 f 2037 17 -3040 5 2038 17 -3045 7 2039 17 -304c c 2040 17 -3058 a 2046 17 -3062 3 2047 17 -3065 d 2041 17 -3072 3c 2043 17 -30ae 12 2046 17 -30c0 3 2047 17 -30c3 4 2044 17 -30c7 b 2045 17 -30d2 d 2046 17 -30df 3 2047 17 -30e2 8 2045 17 -30ea a 2046 17 -30f4 3 2047 17 -FUNC 3100 e 0 std::basic_string,std::allocator >::_Myptr() -3100 0 2087 17 -3100 9 2088 17 -3109 1 2089 17 -310a 3 2088 17 -310d 1 2089 17 -FUNC 3110 5 4 std::allocator::allocator(std::allocator const &) -3110 2 124 19 -3112 3 126 19 -FUNC 3120 e 8 std::allocator::deallocate(wchar_t *,unsigned int) -3120 0 140 19 -3120 b 141 19 -312b 3 142 19 -FUNC 3130 6 0 std::vector >::max_size() -3130 0 707 23 -3130 5 708 23 -3135 1 709 23 -FUNC 3140 208 8 std::vector >::_Insert_n(std::_Vector_iterator >,unsigned int,google_breakpad::ExceptionHandler * const &) -3140 6 1117 23 -3146 2 1125 23 -3148 1c 1126 23 -3164 1c 1130 23 -3180 5 1131 23 -3185 1b 1132 23 -31a0 23 1135 23 -31c3 17 1136 23 -31da 19 1137 23 -31f3 7 1138 23 -31fa 25 1143 23 -321f 7 1144 23 -3226 1e 1145 23 -3244 13 1152 23 -3257 4 1153 23 -325b 9 1156 23 -3264 7 1163 23 -326b a 1164 23 -3275 3 1165 23 -3278 a 1204 23 -3282 13 1167 23 -3295 17 1170 23 -32ac 1a 1174 23 -32c6 7 1180 23 -32cd 16 1187 23 -32e3 a 1204 23 -32ed 2a 1193 23 -3317 e 1200 23 -3325 19 1202 23 -333e a 1204 23 -FUNC 3350 7c 0 std::vector >::_Xlen() -3350 29 1213 23 -3379 53 1214 23 -FUNC 33d0 1 0 std::allocator::allocator(std::allocator const &) -33d0 0 124 19 -33d0 1 126 19 -FUNC 33e0 8 0 std::allocator::deallocate(google_breakpad::ExceptionHandler * *,unsigned int) -33e0 0 140 19 -33e0 7 141 19 -33e7 1 142 19 -FUNC 33f0 56 0 std::allocator::allocate(unsigned int) -33f0 3 145 19 -33f3 16 146 19 -3409 4 147 19 -340d 39 146 19 -FUNC 3450 32 4 std::_Vector_iterator >::operator+=(int) -3450 0 361 23 -3450 2c 362 23 -347c 3 363 23 -347f 3 364 23 -FUNC 3490 28 0 std::_Vector_iterator >::operator-=(int) -3490 0 373 23 -3490 27 374 23 -34b7 1 375 23 -FUNC 34c0 19 0 std::_Vector_iterator >::operator-(std::_Vector_const_iterator > const &) -34c0 0 384 23 -34c0 18 385 23 -34d8 1 386 23 -FUNC 34e0 21 0 std::_Vector_const_iterator >::_Vector_const_iterator >(google_breakpad::ExceptionHandler * *,std::_Container_base const *) -34e0 0 77 23 -34e0 19 79 23 -34f9 2 80 23 -34fb 3 81 23 -34fe 3 82 23 -FUNC 3510 19 4 std::length_error::length_error(std::length_error const &) -FUNC 3530 7 0 std::_Ranit::_Ranit() -FUNC 3540 6 0 std::basic_string,std::allocator >::max_size() -3540 0 1641 17 -3540 5 1643 17 -3545 1 1644 17 -FUNC 3550 171 8 std::basic_string,std::allocator >::_Copy(unsigned int,unsigned int) -3550 30 2000 17 -3580 8 2001 17 -3588 5 2002 17 -358d 2 2003 17 -358f 2 2004 17 -3591 1f 2005 17 -35b0 3 2006 17 -35b3 2 2009 17 -35b5 18 2010 17 -35cd 2 2019 17 -35cf 30 2010 17 -35ff 3 2012 17 -3602 19 2014 17 -361b c 2019 17 -3627 7 2021 17 -362e 20 2022 17 -364e 12 2023 17 -3660 1c 2026 17 -367c 14 2027 17 -3690 15 2016 17 -36a5 1c 2017 17 -FUNC 36d0 39 4 std::basic_string,std::allocator >::_Inside(char const *) -36d0 1 2050 17 -36d1 2b 2052 17 -36fc 3 2055 17 -36ff 4 2056 17 -3703 3 2053 17 -3706 3 2056 17 -FUNC 3710 6 0 std::basic_string,std::allocator >::max_size() -3710 0 1641 17 -3710 5 1643 17 -3715 1 1644 17 -FUNC 3720 17b 8 std::basic_string,std::allocator >::_Copy(unsigned int,unsigned int) -3720 30 2000 17 -3750 8 2001 17 -3758 8 2002 17 -3760 2 2003 17 -3762 2 2004 17 -3764 1f 2005 17 -3783 3 2006 17 -3786 2 2009 17 -3788 1b 2010 17 -37a3 2 2019 17 -37a5 30 2010 17 -37d5 3 2012 17 -37d8 19 2014 17 -37f1 c 2019 17 -37fd 7 2021 17 -3804 24 2022 17 -3828 12 2023 17 -383a 20 2026 17 -385a 14 2027 17 -386e 17 2016 17 -3885 16 2017 17 -FUNC 38a0 3a 4 std::basic_string,std::allocator >::_Inside(wchar_t const *) -38a0 1 2050 17 -38a1 2c 2052 17 -38cd 3 2055 17 -38d0 4 2056 17 -38d4 3 2053 17 -38d7 3 2056 17 -FUNC 38e0 6 0 std::allocator::max_size() -38e0 0 165 19 -38e0 5 167 19 -38e5 1 168 19 -FUNC 38f0 32 4 std::_Vector_const_iterator >::operator+=(int) -38f0 0 146 23 -38f0 a 147 23 -38fa 1a 148 23 -3914 5 150 23 -3919 3 151 23 -391c 3 152 23 -391f 3 153 23 -FUNC 3930 19 0 std::_Vector_const_iterator >::operator-(std::_Vector_const_iterator > const &) -3930 0 173 23 -3930 f 178 23 -393f 9 181 23 -3948 1 182 23 -FUNC 3950 56 4 std::allocator::allocate(unsigned int) -3950 0 145 19 -3950 16 146 19 -3966 6 147 19 -396c 3a 146 19 -FUNC 39b0 4 0 std::allocator::max_size() -39b0 0 165 19 -39b0 3 167 19 -39b3 1 168 19 -FUNC 39c0 59 4 std::allocator::allocate(unsigned int) -39c0 0 145 19 -39c0 19 146 19 -39d9 6 147 19 -39df 3a 146 19 -FUNC 3a20 6 0 std::allocator::max_size() -3a20 0 165 19 -3a20 5 167 19 -3a25 1 168 19 -FUNC 3a30 21 10 std::_Traits_helper::copy_s >(char *,unsigned int,char const *,unsigned int) -3a30 0 581 70 -3a30 20 582 70 -3a50 1 583 70 -FUNC 3a60 27 10 std::_Traits_helper::copy_s >(wchar_t *,unsigned int,wchar_t const *,unsigned int) -3a60 0 581 70 -3a60 26 582 70 -3a86 1 583 70 -FUNC 3a90 24 0 stdext::unchecked_copy(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *) -3a90 0 3407 65 -3a90 23 3409 65 -3ab3 1 3410 65 -FUNC 3ac0 1 0 std::_Destroy_range >(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,std::allocator &) -3ac0 0 225 19 -3ac0 1 227 19 -FUNC 3ad0 15 0 stdext::unchecked_uninitialized_fill_n >(google_breakpad::ExceptionHandler * *,unsigned int,google_breakpad::ExceptionHandler * const &,std::allocator &) -3ad0 0 914 24 -3ad0 14 916 24 -3ae4 1 917 24 -FUNC 3af0 21 10 std::_Traits_helper::move_s >(char *,unsigned int,char const *,unsigned int) -3af0 0 608 70 -3af0 20 609 70 -3b10 1 610 70 -FUNC 3b20 27 10 std::_Traits_helper::move_s >(wchar_t *,unsigned int,wchar_t const *,unsigned int) -3b20 0 608 70 -3b20 26 609 70 -3b46 1 610 70 -FUNC 3b50 22 0 std::vector >::_Umove(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *) -3b50 0 1109 23 -3b50 21 1112 23 -3b71 1 1113 23 -FUNC 3b80 10 0 std::fill(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * const &) -3b80 0 2976 65 -3b80 f 2977 65 -3b8f 1 2978 65 -FUNC 3b90 25 0 stdext::_Unchecked_move_backward(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *) -3b90 0 3497 65 -3b90 24 3499 65 -3bb4 1 3500 65 -FUNC 3bc0 4f 0 std::_Allocate(unsigned int,google_breakpad::ExceptionHandler * *) -3bc0 0 37 19 -3bc0 f 40 19 -3bcf 2c 41 19 -3bfb 10 44 19 -3c0b 4 45 19 -FUNC 3c10 54 8 std::_Allocate(unsigned int,char *) -3c10 0 37 19 -3c10 b 38 19 -3c1b 2 39 19 -3c1d 9 44 19 -3c26 4 45 19 -3c2a c 40 19 -3c36 2e 41 19 -FUNC 3c70 57 8 std::_Allocate(unsigned int,wchar_t *) -3c70 0 37 19 -3c70 b 38 19 -3c7b 2 39 19 -3c7d c 44 19 -3c89 4 45 19 -3c8d c 40 19 -3c99 2e 41 19 -FUNC 3cd0 19 4 std::bad_alloc::bad_alloc(std::bad_alloc const &) -FUNC 3cf0 7 0 std::_Char_traits_cat >() -3cf0 1 568 70 -3cf1 4 570 70 -3cf5 2 571 70 -FUNC 3d00 21 14 std::_Traits_helper::copy_s >(char *,unsigned int,char const *,unsigned int,std::_Secure_char_traits_tag) -3d00 0 589 70 -3d00 20 590 70 -3d20 1 591 70 -FUNC 3d30 7 0 std::_Char_traits_cat >() -3d30 1 568 70 -3d31 4 570 70 -3d35 2 571 70 -FUNC 3d40 27 14 std::_Traits_helper::copy_s >(wchar_t *,unsigned int,wchar_t const *,unsigned int,std::_Secure_char_traits_tag) -3d40 0 589 70 -3d40 26 590 70 -3d66 1 591 70 -FUNC 3d70 3 0 std::_Checked_base(google_breakpad::ExceptionHandler * * &) -3d70 0 1009 65 -3d70 2 1011 65 -3d72 1 1012 65 -FUNC 3d80 1 0 std::_Iter_random(google_breakpad::ExceptionHandler * * const &,google_breakpad::ExceptionHandler * * const &) -3d80 0 839 65 -3d80 1 844 65 -FUNC 3d90 7 0 std::_Ptr_cat(google_breakpad::ExceptionHandler * * &,google_breakpad::ExceptionHandler * * &) -3d90 1 1329 65 -3d91 4 1331 65 -3d95 2 1332 65 -FUNC 3da0 15 4 std::_Copy_opt(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,std::random_access_iterator_tag,std::_Scalar_ptr_iterator_tag,std::_Range_checked_iterator_tag) -3da0 0 2288 65 -3da0 d 2300 65 -3dad 7 2301 65 -3db4 1 2302 65 -FUNC 3dc0 1 4 std::_Destroy_range >(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,std::allocator &,std::_Scalar_ptr_iterator_tag) -3dc0 0 242 19 -3dc0 1 243 19 -FUNC 3dd0 15 8 std::_Uninit_fill_n >(google_breakpad::ExceptionHandler * *,unsigned int,google_breakpad::ExceptionHandler * const &,std::allocator &,std::_Scalar_ptr_iterator_tag,std::_Range_checked_iterator_tag) -3dd0 0 415 24 -3dd0 14 416 24 -3de4 1 417 24 -FUNC 3df0 21 14 std::_Traits_helper::move_s >(char *,unsigned int,char const *,unsigned int,std::_Secure_char_traits_tag) -3df0 0 616 70 -3df0 20 617 70 -3e10 1 618 70 -FUNC 3e20 27 14 std::_Traits_helper::move_s >(wchar_t *,unsigned int,wchar_t const *,unsigned int,std::_Secure_char_traits_tag) -3e20 0 616 70 -3e20 26 617 70 -3e46 1 618 70 -FUNC 3e50 22 0 stdext::_Unchecked_uninitialized_move >(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,std::allocator &) -3e50 0 843 24 -3e50 21 845 24 -3e71 1 846 24 -FUNC 3e80 10 0 std::_Fill(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * const &) -3e80 0 2946 65 -3e80 6 2948 65 -3e86 9 2949 65 -3e8f 1 2950 65 -FUNC 3e90 7 0 std::_Move_cat(google_breakpad::ExceptionHandler * * const &) -3e90 1 1046 65 -3e91 4 1048 65 -3e95 2 1049 65 -FUNC 3ea0 25 c std::_Move_backward_opt(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,std::random_access_iterator_tag,std::_Undefined_move_tag,std::_Range_checked_iterator_tag) -3ea0 0 2546 65 -3ea0 24 2548 65 -3ec4 1 2549 65 -FUNC 3ed0 3 4 std::_Checked_base(google_breakpad::ExceptionHandler * * &,std::_Unchanged_checked_iterator_base_type_tag) -3ed0 0 992 65 -3ed0 2 993 65 -3ed2 1 994 65 -FUNC 3ee0 15 0 stdext::unchecked_fill_n(google_breakpad::ExceptionHandler * *,unsigned int,google_breakpad::ExceptionHandler * const &) -3ee0 0 3523 65 -3ee0 14 3524 65 -3ef4 1 3525 65 -FUNC 3f00 22 8 std::_Uninit_move,std::_Undefined_move_tag>(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,std::allocator &,std::_Undefined_move_tag,std::_Range_checked_iterator_tag) -3f00 0 205 24 -3f00 21 206 24 -3f21 1 207 24 -FUNC 3f30 13 0 std::_Copy_backward_opt(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,std::random_access_iterator_tag,std::_Scalar_ptr_iterator_tag,std::_Range_checked_iterator_tag) -3f30 0 2492 65 -3f30 10 2506 65 -3f40 2 2507 65 -3f42 1 2508 65 -FUNC 3f50 1 0 std::_Iter_cat(google_breakpad::ExceptionHandler * * const &) -3f50 0 798 65 -3f50 1 801 65 -FUNC 3f60 15 8 std::_Fill_n(google_breakpad::ExceptionHandler * *,unsigned int,google_breakpad::ExceptionHandler * const &,std::random_access_iterator_tag,std::_Range_checked_iterator_tag) -3f60 0 3040 65 -3f60 14 3044 65 -3f74 1 3045 65 -FUNC 3f80 22 0 stdext::unchecked_uninitialized_copy >(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,std::allocator &) -3f80 0 803 24 -3f80 21 805 24 -3fa1 1 806 24 -FUNC 3fb0 15 4 std::_Fill_n(google_breakpad::ExceptionHandler * *,unsigned int,google_breakpad::ExceptionHandler * const &,std::_Range_checked_iterator_tag) -3fb0 0 2986 65 -3fb0 5 2987 65 -3fb5 f 2988 65 -3fc4 1 2989 65 -FUNC 3fd0 15 4 std::_Uninit_copy >(google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,google_breakpad::ExceptionHandler * *,std::allocator &,std::_Scalar_ptr_iterator_tag,std::_Range_checked_iterator_tag) -3fd0 0 144 24 -3fd0 d 150 24 -3fdd 7 151 24 -3fe4 1 152 24 -FUNC 3ff0 13 4 vswprintf -3ff0 0 50 147 -3ff0 12 51 147 -4002 1 52 147 -FUNC 4010 ae 4 google_breakpad::GUIDString::GUIDToWString(_GUID *) -4010 12 43 126 -4022 51 51 126 -4073 3a 52 126 -40ad 11 53 126 -FUNC 40c0 ae 4 google_breakpad::GUIDString::GUIDToSymbolServerWString(_GUID *) -40c0 12 56 126 -40d2 51 64 126 -4123 3a 65 126 -415d 11 66 126 -FUNC 4170 40 4 std::basic_string,std::allocator >::basic_string,std::allocator >(wchar_t const *) -4170 0 650 143 -4170 3a 652 143 -41aa 6 653 143 -FUNC 41b0 86 8 main -41b0 13 63 178 -41c3 38 64 178 -41fb 5 65 178 -4200 d 66 178 -420d 1b 67 178 -4228 e 68 178 -FUNC 4240 41 18 `anonymous namespace'::callback -4240 3 45 178 -4243 8 46 178 -424b 11 47 178 -425c 2 48 178 -425e d 49 178 -426b 11 51 178 -427c 3 53 178 -427f 2 54 178 -FUNC 4290 18 0 `anonymous namespace'::CrashFunction -4290 4 56 178 -4294 7 57 178 -429b 9 58 178 -42a4 4 59 178 -FUNC 42ae 18 4 std::invalid_argument::invalid_argument(std::basic_string,std::allocator > const &) -42ae 12 82 298 -42c0 6 83 298 -FUNC 42c6 b 0 std::invalid_argument::~invalid_argument() -42c6 6 86 298 -42cc 5 87 298 -FUNC 42d1 22 0 std::invalid_argument::`vector deleting destructor'(unsigned int) -FUNC 42f3 3f 0 std::_String_base::_Xlen() -42f3 c 12 291 -42ff 33 13 291 -FUNC 4332 3f 0 std::_String_base::_Xran() -4332 c 17 291 -433e 33 18 291 -FUNC 4371 3f 0 std::_String_base::_Xinvarg() -4371 c 22 291 -437d 33 23 291 -FUNC 43b0 18 4 std::invalid_argument::invalid_argument(std::invalid_argument const &) -FUNC 43c8 af 4 printf -43c8 c 49 1601 -43d4 2b 54 1601 -43ff 14 58 1601 -4413 3 59 1601 -4416 10 61 1601 -4426 18 63 1601 -443e 11 65 1601 -444f c 68 1601 -445b 3 72 1601 -445e 6 73 1601 -4464 13 69 1601 -FUNC 4477 16 8 _printf_l -4477 0 80 1601 -4477 15 85 1601 -448c 1 86 1601 -FUNC 448d 16 8 _printf_s_l -448d 0 94 1601 -448d 15 99 1601 -44a2 1 100 1601 -FUNC 44a3 14 4 printf_s -44a3 0 106 1601 -44a3 13 111 1601 -44b6 1 112 1601 -FUNC 44b7 16 8 _printf_p_l -44b7 0 119 1601 -44b7 15 124 1601 -44cc 1 125 1601 -FUNC 44cd 14 4 _printf_p -44cd 0 131 1601 -44cd 13 136 1601 -44e0 1 137 1601 -FUNC 44e1 25 4 _set_printf_count_output -44e1 0 154 1601 -44e1 6 155 1601 -44e7 1e 156 1601 -4505 1 158 1601 -FUNC 4506 16 0 _get_printf_count_output -4506 0 167 1601 -4506 15 168 1601 -451b 1 169 1601 -FUNC 451c f 0 __security_check_cookie -451c 0 52 4397 -451c 6 55 4397 -4522 2 56 4397 -4524 2 57 4397 -4526 5 59 4397 -FUNC 452b 62 4 _flush -452b 2 142 1704 -452d 25 152 1704 -4552 16 154 1704 -4568 7 158 1704 -456f 6 159 1704 -4575 2 161 1704 -4577 4 162 1704 -457b 4 163 1704 -457f 3 167 1704 -4582 7 168 1704 -4589 3 170 1704 -458c 1 171 1704 -FUNC 458d 42 4 _fflush_nolock -458d 1 98 1704 -458e 8 102 1704 -4596 8 103 1704 -459e 1 116 1704 -459f b 106 1704 -45aa 4 108 1704 -45ae 1 116 1704 -45af 8 112 1704 -45b7 13 113 1704 -45ca 1 116 1704 -45cb 3 115 1704 -45ce 1 116 1704 -FUNC 45cf da 4 flsall -45cf c 228 1704 -45db 5 230 1704 -45e0 3 231 1704 -45e3 8 233 1704 -45eb 3 234 1704 -45ee 11 236 1704 -45ff 14 238 1704 -4613 9 246 1704 -461c 6 248 1704 -4622 10 254 1704 -4632 5 256 1704 -4637 c 262 1704 -4643 3 266 1704 -4646 2 268 1704 -4648 a 269 1704 -4652 c 275 1704 -465e 3 276 1704 -4661 8 281 1704 -4669 3 236 1704 -466c 5 281 1704 -4671 11 282 1704 -4682 c 288 1704 -468e 4 292 1704 -4692 3 293 1704 -4695 2 292 1704 -4697 3 295 1704 -469a 6 296 1704 -46a0 9 289 1704 -FUNC 46a9 53 4 fflush -46a9 c 57 1704 -46b5 7 62 1704 -46bc 9 63 1704 -46c5 9 65 1704 -46ce 3 67 1704 -46d1 c 68 1704 -46dd c 70 1704 -46e9 3 74 1704 -46ec 6 75 1704 -46f2 a 71 1704 -FUNC 46fc 9 0 _flushall -46fc 0 193 1704 -46fc 8 194 1704 -4704 1 195 1704 -FUNC 4705 6 0 __iob_func -4705 0 53 2087 -4705 5 54 2087 -470a 1 55 2087 -FUNC 470b b1 0 __initstdio -470b 0 113 2087 -470b d 122 2087 -4718 7 123 2087 -471f 4 124 2087 -4723 7 125 2087 -472a 13 134 2087 -473d 19 137 2087 -4756 4 138 2087 -475a 1 163 2087 -475b e 145 2087 -4769 11 146 2087 -477a b 148 2087 -4785 24 151 2087 -47a9 2 158 2087 -47ab d 148 2087 -47b8 3 162 2087 -47bb 1 163 2087 -FUNC 47bc 20 0 __endstdio -47bc 0 191 2087 -47bc 5 193 2087 -47c1 9 196 2087 -47ca 5 197 2087 -47cf c 198 2087 -47db 1 199 2087 -FUNC 47dc 3c 4 _lock_file -47dc 1 221 2087 -47dd 15 226 2087 -47f2 10 231 2087 -4802 9 233 2087 -480b 1 242 2087 -480c b 241 2087 -4817 1 242 2087 -FUNC 4818 2e 8 _lock_file2 -4818 0 264 2087 -4818 9 269 2087 -4821 9 274 2087 -482a c 276 2087 -4836 1 285 2087 -4837 e 284 2087 -4845 1 285 2087 -FUNC 4846 36 4 _unlock_file -4846 0 306 2087 -4846 14 311 2087 -485a 7 317 2087 -4861 f 318 2087 -4870 1 327 2087 -4871 a 326 2087 -487b 1 327 2087 -FUNC 487c 2a 8 _unlock_file2 -487c 0 349 2087 -487c 7 354 2087 -4883 d 360 2087 -4890 a 361 2087 -489a 1 370 2087 -489b a 369 2087 -48a5 1 370 2087 -FUNC 48a6 16 4 wcslen -48a6 0 41 731 -48a6 4 42 731 -48aa a 44 731 -48b4 7 46 731 -48bb 1 47 731 -FUNC 48bc 5 4 operator delete(void *) -48bc 0 20 5184 -48bc 5 23 5184 -FUNC 48c1 30 8 _JumpToContinuation(void *,EHRegistrationNode *) -48c1 5 77 5627 -48c6 9 84 5627 -48cf 7 93 5627 -48d6 2 94 5627 -48d8 6 95 5627 -48de 3 100 5627 -48e1 3 101 5627 -48e4 3 102 5627 -48e7 3 103 5627 -48ea 2 104 5627 -48ec 5 106 5627 -FUNC 48f1 7 8 _CallMemberFunction0(void *,void *) -48f1 0 118 5627 -48f1 1 120 5627 -48f2 1 121 5627 -48f3 3 122 5627 -48f6 2 123 5627 -FUNC 48f8 7 c _CallMemberFunction1(void *,void *,void *) -48f8 0 139 5627 -48f8 1 141 5627 -48f9 1 142 5627 -48fa 3 143 5627 -48fd 2 144 5627 -FUNC 48ff 7 10 _CallMemberFunction2(void *,void *,void *,int) -48ff 0 161 5627 -48ff 1 163 5627 -4900 1 164 5627 -4901 3 165 5627 -4904 2 166 5627 -FUNC 4906 52 8 _UnwindNestedFrames(EHRegistrationNode *,EHExceptionRecord *) -4906 8 218 5627 -490e 7 232 5627 -4915 3 233 5627 -4918 7 236 5627 -491f 10 237 5627 -492f f 241 5627 -493e 7 247 5627 -4945 3 248 5627 -4948 2 249 5627 -494a 7 250 5627 -4951 7 256 5627 -FUNC 4958 36 10 __CxxFrameHandler -4958 0 287 5627 -4958 1 295 5627 -4959 2 296 5627 -495b 3 297 5627 -495e 1 298 5627 -495f 1 299 5627 -4960 1 300 5627 -4961 1 301 5627 -4962 3 306 5627 -4965 1f 311 5627 -4984 1 316 5627 -4985 1 317 5627 -4986 1 318 5627 -4987 3 319 5627 -498a 2 320 5627 -498c 1 321 5627 -498d 1 322 5627 -FUNC 498e 36 10 __CxxFrameHandler3 -498e 0 341 5627 -498e 1 349 5627 -498f 2 350 5627 -4991 3 351 5627 -4994 1 352 5627 -4995 1 353 5627 -4996 1 354 5627 -4997 1 355 5627 -4998 3 360 5627 -499b 1f 365 5627 -49ba 1 370 5627 -49bb 1 371 5627 -49bc 1 372 5627 -49bd 3 373 5627 -49c0 2 374 5627 -49c2 1 375 5627 -49c3 1 376 5627 -FUNC 49c4 36 10 __CxxFrameHandler2 -49c4 0 391 5627 -49c4 1 399 5627 -49c5 2 400 5627 -49c7 3 401 5627 -49ca 1 402 5627 -49cb 1 403 5627 -49cc 1 404 5627 -49cd 1 405 5627 -49ce 3 410 5627 -49d1 1f 415 5627 -49f0 1 420 5627 -49f1 1 421 5627 -49f2 1 422 5627 -49f3 3 423 5627 -49f6 2 424 5627 -49f8 1 425 5627 -49f9 1 426 5627 -FUNC 49fa 1a 4 __CxxLongjmpUnwind -49fa 0 443 5627 -49fa 17 449 5627 -4a11 3 452 5627 -FUNC 4a14 30 10 CatchGuardHandler -4a14 1 545 5627 -4a15 1 551 5627 -4a16 e 557 5627 -4a24 1f 567 5627 -4a43 1 572 5627 -FUNC 4a44 d5 1c _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const *,int,EHRegistrationNode *) -4a44 7 637 5627 -4a4b 9 642 5627 -4a54 5 644 5627 -4a59 3 645 5627 -4a5c 2 646 5627 -4a5e 8 648 5627 -4a66 4 656 5627 -4a6a 7 657 5627 -4a71 d 658 5627 -4a7e 6 659 5627 -4a84 6 660 5627 -4a8a 6 661 5627 -4a90 6 662 5627 -4a96 4 663 5627 -4a9a 4 664 5627 -4a9e 4 669 5627 -4aa2 3 675 5627 -4aa5 3 676 5627 -4aa8 6 681 5627 -4aae 3 682 5627 -4ab1 3 683 5627 -4ab4 6 684 5627 -4aba 7 690 5627 -4ac1 6 692 5627 -4ac7 6 693 5627 -4acd e 697 5627 -4adb e 701 5627 -4ae9 4 707 5627 -4aed 6 715 5627 -4af3 7 724 5627 -4afa 2 725 5627 -4afc 3 726 5627 -4aff 2 727 5627 -4b01 7 728 5627 -4b08 2 731 5627 -4b0a 3 737 5627 -4b0d 6 738 5627 -4b13 3 744 5627 -4b16 3 745 5627 -FUNC 4b19 9d 10 TranslatorGuardHandler -4b19 5 770 5627 -4b1e 1 776 5627 -4b1f e 782 5627 -4b2d b 784 5627 -4b38 a 786 5627 -4b42 5 790 5627 -4b47 2 792 5627 -4b49 2a 796 5627 -4b73 9 798 5627 -4b7c b 802 5627 -4b87 1b 811 5627 -4ba2 3 818 5627 -4ba5 3 819 5627 -4ba8 3 820 5627 -4bab 3 821 5627 -4bae 2 822 5627 -4bb0 3 826 5627 -4bb3 3 828 5627 -FUNC 4bb6 73 14 _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,unsigned int *,unsigned int *) -4bb6 7 848 5627 -4bbd 6 849 5627 -4bc3 6 850 5627 -4bc9 2 851 5627 -4bcb 2 852 5627 -4bcd a 855 5627 -4bd7 1d 859 5627 -4bf4 3 860 5627 -4bf7 3 861 5627 -4bfa 3 862 5627 -4bfd 6 854 5627 -4c03 6 866 5627 -4c09 5 867 5627 -4c0e e 869 5627 -4c1c b 871 5627 -4c27 2 872 5627 -FUNC 4c29 28 8 _CreateFrameInfo -4c29 0 889 5627 -4c29 b 890 5627 -4c34 e 891 5627 -4c42 b 892 5627 -4c4d 3 893 5627 -4c50 1 894 5627 -FUNC 4c51 21 4 _IsExceptionObjectToBeDestroyed -4c51 0 907 5627 -4c51 d 910 5627 -4c5e 8 911 5627 -4c66 7 910 5627 -4c6d 1 915 5627 -4c6e 1 916 5627 -4c6f 2 912 5627 -4c71 1 916 5627 -FUNC 4c72 4c 4 _FindAndUnlinkFrame -4c72 1 926 5627 -4c73 11 927 5627 -4c84 f 928 5627 -4c93 1 944 5627 -4c94 d 931 5627 -4ca1 7 935 5627 -4ca8 9 933 5627 -4cb1 5 943 5627 -4cb6 7 936 5627 -4cbd 1 944 5627 -FUNC 4cbe 5e 14 _CallCatchBlock2(EHRegistrationNode *,_s_FuncInfo const *,void *,int,unsigned long) -4cbe 6 485 5627 -4cc4 e 493 5627 -4cd2 c 495 5627 -4cde 11 500 5627 -4cef 6 503 5627 -4cf5 3 504 5627 -4cf8 3 505 5627 -4cfb 6 506 5627 -4d01 e 512 5627 -4d0f 3 518 5627 -4d12 6 519 5627 -4d18 2 524 5627 -4d1a 2 525 5627 -FUNC 4d1c 4a 8 _CxxThrowException -4d1c 6 95 5939 -4d22 15 117 5939 -4d37 3 118 5939 -4d3a 9 134 5939 -4d43 5 136 5939 -4d48 7 138 5939 -4d4f 13 159 5939 -4d62 4 161 5939 -FUNC 4d66 19 0 std::bad_alloc::bad_alloc() -4d66 15 382 5121 -4d7b 4 383 5121 -FUNC 4d7f 6a 4 operator new(unsigned int) -4d7f 6 57 5123 -4d85 2 59 5123 -4d87 d 60 5123 -4d94 d 59 5123 -4da1 2 67 5123 -4da3 27 62 5123 -4dca 1f 63 5123 -FUNC 4de9 f 4 type_info::name(__type_info_node *) -4de9 0 44 5873 -4de9 c 45 5873 -4df5 3 46 5873 -FUNC 4df8 e 0 type_info::~type_info() -4df8 0 49 5873 -4df8 d 50 5873 -4e05 1 51 5873 -FUNC 4e06 1c 0 type_info::`scalar deleting destructor'(unsigned int) -FUNC 4e22 f 4 type_info::_name_internal_method(__type_info_node *) -4e22 0 54 5873 -4e22 c 55 5873 -4e2e 3 56 5873 -FUNC 4e31 8 0 type_info::_type_info_dtor_internal_method() -4e31 0 59 5873 -4e31 7 60 5873 -4e38 1 61 5873 -FUNC 4e39 1b 4 type_info::operator==(type_info const &) -4e39 0 89 5873 -4e39 18 90 5873 -4e51 3 91 5873 -FUNC 4e54 1c 4 type_info::operator!=(type_info const &) -4e54 0 98 5873 -4e54 19 99 5873 -4e6d 3 100 5873 -FUNC 4e70 1f 4 type_info::before(type_info const &) -4e70 0 103 5873 -4e70 1c 104 5873 -4e8c 3 105 5873 -FUNC 4e8f 4 0 type_info::raw_name() -4e8f 0 108 5873 -4e8f 3 109 5873 -4e92 1 110 5873 -FUNC 4e93 b 4 type_info::type_info(type_info const &) -4e93 8 113 5873 -4e9b 3 123 5873 -FUNC 4e9e 5 4 type_info::operator=(type_info const &) -4e9e 2 127 5873 -4ea0 3 135 5873 -FUNC 4ea3 11 0 std::exception::exception() -4ea3 2 68 5916 -4ea5 4 69 5916 -4ea9 a 70 5916 -4eb3 1 71 5916 -FUNC 4eb4 4e 4 std::exception::exception(char const * const &) -4eb4 1 77 5916 -4eb5 14 78 5916 -4ec9 9 80 5916 -4ed2 6 81 5916 -4ed8 9 82 5916 -4ee1 c 84 5916 -4eed 2 87 5916 -4eef 4 89 5916 -4ef3 7 91 5916 -4efa 8 92 5916 -FUNC 4f02 18 8 std::exception::exception(char const * const &,int) -4f02 2 98 5916 -4f04 c 99 5916 -4f10 7 100 5916 -4f17 3 101 5916 -FUNC 4f1a 58 4 std::exception::exception(std::exception const &) -4f1a 1 107 5916 -4f1b 13 108 5916 -4f2e 2 109 5916 -4f30 a 111 5916 -4f3a 9 113 5916 -4f43 6 114 5916 -4f49 9 115 5916 -4f52 d 117 5916 -4f5f 2 120 5916 -4f61 4 122 5916 -4f65 2 125 5916 -4f67 4 126 5916 -4f6b 7 127 5916 -FUNC 4f72 56 4 std::exception::operator=(std::exception const &) -4f72 1 133 5916 -4f73 c 134 5916 -4f7f 6 136 5916 -4f85 2 137 5916 -4f87 9 139 5916 -4f90 9 141 5916 -4f99 6 144 5916 -4f9f 9 146 5916 -4fa8 d 148 5916 -4fb5 2 151 5916 -4fb7 4 153 5916 -4fbb 2 156 5916 -4fbd 3 157 5916 -4fc0 5 159 5916 -4fc5 3 160 5916 -FUNC 4fc8 16 0 std::exception::~exception() -4fc8 0 167 5916 -4fc8 c 168 5916 -4fd4 9 169 5916 -4fdd 1 170 5916 -FUNC 4fde d 0 std::exception::what() -4fde 0 180 5916 -4fde 5 181 5916 -4fe3 2 182 5916 -4fe5 5 184 5916 -4fea 1 185 5916 -FUNC 4feb 19 4 std::bad_cast::bad_cast(char const *) -4feb 13 194 5916 -4ffe 6 195 5916 -FUNC 5004 18 4 std::bad_cast::bad_cast(std::bad_cast const &) -5004 12 199 5916 -5016 6 200 5916 -FUNC 501c b 0 std::bad_cast::~bad_cast() -501c 6 203 5916 -5022 5 204 5916 -FUNC 5027 19 4 std::bad_typeid::bad_typeid(char const *) -5027 13 229 5916 -503a 6 230 5916 -FUNC 5040 18 4 std::bad_typeid::bad_typeid(std::bad_typeid const &) -5040 12 234 5916 -5052 6 235 5916 -FUNC 5058 b 0 std::bad_typeid::~bad_typeid() -5058 6 238 5916 -505e 5 239 5916 -FUNC 5063 18 4 std::__non_rtti_object::__non_rtti_object(char const *) -5063 12 248 5916 -5075 6 249 5916 -FUNC 507b 18 4 std::__non_rtti_object::__non_rtti_object(std::__non_rtti_object const &) -507b 12 253 5916 -508d 6 254 5916 -FUNC 5093 b 0 std::__non_rtti_object::~__non_rtti_object() -5093 0 257 5916 -5093 b 258 5916 -FUNC 509e 1c 0 std::exception::`vector deleting destructor'(unsigned int) -FUNC 50ba 22 0 std::bad_cast::`vector deleting destructor'(unsigned int) -FUNC 50dc 22 0 std::bad_typeid::`scalar deleting destructor'(unsigned int) -FUNC 50fe 22 0 std::__non_rtti_object::`scalar deleting destructor'(unsigned int) -FUNC 5120 7b 10 memcpy_s -5120 4 47 1002 -5124 a 48 1002 -512e 4 51 1002 -5132 20 55 1002 -5152 a 56 1002 -515c f 67 1002 -516b 2 68 1002 -516d f 59 1002 -517c 5 61 1002 -5181 13 62 1002 -5194 5 64 1002 -5199 2 69 1002 -FUNC 519b 5b 10 memmove_s -519b 3 46 955 -519e 9 47 955 -51a7 2 50 955 -51a9 20 54 955 -51c9 5 55 955 -51ce 13 56 955 -51e1 f 58 955 -51f0 4 59 955 -51f4 2 60 955 -FUNC 51f6 a 4 _set_osplatform -51f6 a 385 2595 -FUNC 5200 a 4 _set_osver -5200 a 386 2595 -FUNC 520a a 4 _set_winver -520a a 387 2595 -FUNC 5214 a 4 _set_winmajor -5214 a 388 2595 -FUNC 521e a 4 _set_winminor -521e a 389 2595 -FUNC 5228 24 4 fast_error_exit -5228 0 375 2608 -5228 9 384 2608 -5231 5 386 2608 -5236 9 388 2608 -523f c 389 2608 -524b 1 390 2608 -FUNC 524c 41 0 check_managed_app -524c 0 413 2608 -524c b 418 2608 -5257 5 422 2608 -525c a 424 2608 -5266 2 425 2608 -5268 9 427 2608 -5271 2 428 2608 -5273 7 433 2608 -527a 2 434 2608 -527c d 437 2608 -5289 1 438 2608 -528a 2 419 2608 -528c 1 438 2608 -FUNC 528d 1b6 0 __tmainCRTStartup -528d c 203 2608 -5299 19 233 2608 -52b2 4 234 2608 -52b6 8 235 2608 -52be a 236 2608 -52c8 2 242 2608 -52ca 7 243 2608 -52d1 3 244 2608 -52d4 4 243 2608 -52d8 9 244 2608 -52e1 2 245 2608 -52e3 6 248 2608 -52e9 6 249 2608 -52ef 6 250 2608 -52f5 9 256 2608 -52fe 9 257 2608 -5307 8 258 2608 -530f 6 259 2608 -5315 d 260 2608 -5322 6 262 2608 -5328 5 263 2608 -532d 6 264 2608 -5333 6 265 2608 -5339 6 266 2608 -533f 8 271 2608 -5347 c 273 2608 -5353 8 274 2608 -535b 9 276 2608 -5364 8 277 2608 -536c 5 286 2608 -5371 4 294 2608 -5375 9 296 2608 -537e 8 297 2608 -5386 b 300 2608 -5391 a 303 2608 -539b 9 305 2608 -53a4 8 306 2608 -53ac 9 307 2608 -53b5 8 308 2608 -53bd 8 310 2608 -53c5 4 311 2608 -53c9 7 312 2608 -53d0 a 326 2608 -53da 18 327 2608 -53f2 6 330 2608 -53f8 6 331 2608 -53fe 5 333 2608 -5403 2 335 2608 -5405 17 336 2608 -541c 6 342 2608 -5422 6 344 2608 -5428 6 345 2608 -542e 5 347 2608 -5433 7 349 2608 -543a 3 351 2608 -543d 6 352 2608 -FUNC 5443 a 0 mainCRTStartup -5443 0 186 2608 -5443 5 193 2608 -5448 5 195 2608 -FUNC 544d a 4 _initp_misc_invarg -544d 0 38 3328 -544d 9 39 3328 -5456 1 40 3328 -FUNC 5457 fc 14 _invoke_watson -5457 1c 111 3328 -5473 6 128 3328 -5479 6 129 3328 -547f 6 130 3328 -5485 3 131 3328 -5488 3 132 3328 -548b 3 133 3328 -548e 7 134 3328 -5495 7 135 3328 -549c 4 136 3328 -54a0 4 137 3328 -54a4 4 138 3328 -54a8 4 139 3328 -54ac 1 140 3328 -54ad 6 141 3328 -54b3 6 147 3328 -54b9 19 148 3328 -54d2 3 150 3328 -54d5 13 163 3328 -54e8 6 168 3328 -54ee 13 169 3328 -5501 6 171 3328 -5507 a 174 3328 -5511 a 176 3328 -551b 8 180 3328 -5523 8 181 3328 -552b 12 184 3328 -553d 16 185 3328 -FUNC 5553 22 4 _set_invalid_parameter_handler -5553 1 207 3328 -5554 b 211 3328 -555f d 212 3328 -556c 5 214 3328 -5571 3 216 3328 -5574 1 217 3328 -FUNC 5575 d 0 _get_invalid_parameter_handler -5575 0 221 3328 -5575 c 225 3328 -5581 1 228 3328 -FUNC 5582 9 14 _invoke_watson(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int) -5582 3 266 3328 -5585 1 274 3328 -5586 5 273 3328 -FUNC 558b 24 14 _invalid_parameter -558b 3 70 3328 -558e b 77 3328 -5599 5 78 3328 -559e 1 89 3328 -559f 2 80 3328 -55a1 8 86 3328 -55a9 1 89 3328 -55aa 5 88 3328 -FUNC 55af 10 0 _invalid_parameter_noinfo -55af 0 98 3328 -55af f 99 3328 -55be 1 100 3328 -FUNC 55bf 9 14 _invalid_parameter(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int) -55bf 3 249 3328 -55c2 1 257 3328 -55c3 5 256 3328 -FUNC 55c8 96 8 _swprintf -55c8 7 122 1564 -55cf 24 128 1564 -55f3 8 133 1564 -55fb 6 138 1564 -5601 22 153 1564 -5623 1d 160 1564 -5640 18 161 1564 -5658 4 163 1564 -565c 2 171 1564 -FUNC 565e 1a c __swprintf_l -565e 0 181 1564 -565e 19 186 1564 -5677 1 188 1564 -FUNC 5678 1c c swprintf_s -5678 0 238 1564 -5678 1b 243 1564 -5693 1 244 1564 -FUNC 5694 1f 10 _snwprintf_s -5694 3 253 1564 -5697 1a 258 1564 -56b1 2 259 1564 -FUNC 56b3 1c c _swprintf_p -56b3 0 267 1564 -56b3 1b 272 1564 -56ce 1 273 1564 -FUNC 56cf 1d 10 _swprintf_s_l -56cf 3 282 1564 -56d2 18 287 1564 -56ea 2 288 1564 -FUNC 56ec 20 14 _snwprintf_s_l -56ec 3 298 1564 -56ef 1b 303 1564 -570a 2 304 1564 -FUNC 570c 1d 10 _swprintf_p_l -570c 3 313 1564 -570f 18 318 1564 -5727 2 319 1564 -FUNC 5729 11 4 _scwprintf -5729 0 347 1564 -5729 10 352 1564 -5739 1 353 1564 -FUNC 573a 11 4 _scwprintf_p -573a 0 359 1564 -573a 10 364 1564 -574a 1 365 1564 -FUNC 574b 16 8 _scwprintf_l -574b 0 372 1564 -574b 15 376 1564 -5760 1 377 1564 -FUNC 5761 16 8 _scwprintf_p_l -5761 0 384 1564 -5761 15 389 1564 -5776 1 390 1564 -FUNC 5777 14f 8 fprintf -5777 c 49 1648 -5783 5 53 1648 -5788 2e 55 1648 -57b6 c 56 1648 -57c2 3 61 1648 -57c5 7 63 1648 -57cc 3 64 1648 -57cf b0 66 1648 -587f 5 67 1648 -5884 8 69 1648 -588c 11 70 1648 -589d a 71 1648 -58a7 c 75 1648 -58b3 3 79 1648 -58b6 6 80 1648 -58bc a 76 1648 -FUNC 58c6 1a c _fprintf_l -58c6 0 88 1648 -58c6 19 93 1648 -58df 1 94 1648 -FUNC 58e0 1a c _fprintf_s_l -58e0 0 102 1648 -58e0 19 107 1648 -58f9 1 108 1648 -FUNC 58fa 18 8 fprintf_s -58fa 0 115 1648 -58fa 17 120 1648 -5911 1 121 1648 -FUNC 5912 1a c _fprintf_p_l -5912 0 129 1648 -5912 19 134 1648 -592b 1 135 1648 -FUNC 592c 18 8 _fprintf_p -592c 0 142 1648 -592c 17 147 1648 -5943 1 148 1648 -FUNC 5944 f6 18 _vswprintf_helper -5944 7 125 1380 -594b 28 130 1380 -5973 2f 133 1380 -59a2 15 143 1380 -59b7 7 146 1380 -59be 2 148 1380 -59c0 6 150 1380 -59c6 13 157 1380 -59d9 5 160 1380 -59de 2 162 1380 -59e0 41 171 1380 -5a21 5 172 1380 -5a26 12 175 1380 -5a38 2 183 1380 -FUNC 5a3a 27 10 _vswprintf_c -5a3a 0 241 1380 -5a3a 1f 242 1380 -5a59 7 243 1380 -5a60 1 244 1380 -FUNC 5a61 28 14 _vswprintf_c_l -5a61 3 253 1380 -5a64 1c 254 1380 -5a80 7 255 1380 -5a87 2 256 1380 -FUNC 5a89 87 14 _vswprintf_s_l -5a89 4 265 1380 -5a8d 25 269 1380 -5ab2 19 270 1380 -5acb 1a 272 1380 -5ae5 4 273 1380 -5ae9 3 275 1380 -5aec 5 278 1380 -5af1 1d 280 1380 -5b0e 2 288 1380 -FUNC 5b10 1b 10 vswprintf_s -5b10 0 296 1380 -5b10 1a 297 1380 -5b2a 1 298 1380 -FUNC 5b2b 107 18 _vsnwprintf_s_l -5b2b 5 308 1380 -5b30 27 313 1380 -5b57 13 314 1380 -5b6a 7 317 1380 -5b71 1b 319 1380 -5b8c 8 323 1380 -5b94 20 324 1380 -5bb4 5 325 1380 -5bb9 a 329 1380 -5bc3 7 331 1380 -5bca 2 333 1380 -5bcc 2 338 1380 -5bce 12 339 1380 -5be0 10 342 1380 -5bf0 a 344 1380 -5bfa a 346 1380 -5c04 2 348 1380 -5c06 4 352 1380 -5c0a 8 356 1380 -5c12 18 358 1380 -5c2a 6 360 1380 -5c30 2 366 1380 -FUNC 5c32 1e 14 _vsnwprintf_s -5c32 3 375 1380 -5c35 19 376 1380 -5c4e 2 377 1380 -FUNC 5c50 27 10 _vswprintf_p -5c50 0 385 1380 -5c50 1f 386 1380 -5c6f 7 387 1380 -5c76 1 388 1380 -FUNC 5c77 28 14 _vswprintf_p_l -5c77 3 397 1380 -5c7a 1c 398 1380 -5c96 7 399 1380 -5c9d 2 400 1380 -FUNC 5c9f 24 4 _amsg_exit -5c9f 0 446 2560 -5c9f 5 449 2560 -5ca4 9 450 2560 -5cad b 451 2560 -5cb8 a 452 2560 -5cc2 1 453 2560 -FUNC 5cc3 26 4 __crtCorExitProcess -5cc3 0 650 2560 -5cc3 b 654 2560 -5cce 4 655 2560 -5cd2 c 656 2560 -5cde 4 657 2560 -5ce2 6 658 2560 -5ce8 1 668 2560 -FUNC 5ce9 15 4 __crtExitProcess -5ce9 0 673 2560 -5ce9 a 674 2560 -5cf3 b 683 2560 -FUNC 5cfe 9 0 _lockexit -5cfe 0 733 2560 -5cfe 8 734 2560 -5d06 1 735 2560 -FUNC 5d07 9 0 _unlockexit -5d07 0 759 2560 -5d07 8 760 2560 -5d0f 1 761 2560 -FUNC 5d10 18 4 _initterm -5d10 3 841 2560 -5d13 2 855 2560 -5d15 6 853 2560 -5d1b 2 854 2560 -5d1d 3 855 2560 -5d20 7 848 2560 -5d27 1 857 2560 -FUNC 5d28 20 8 _initterm_e -5d28 1 890 2560 -5d29 c 899 2560 -5d35 6 904 2560 -5d3b 2 905 2560 -5d3d 3 906 2560 -5d40 7 899 2560 -5d47 1 910 2560 -FUNC 5d48 37 4 _get_osplatform -5d48 0 929 2560 -5d48 27 931 2560 -5d6f 1 939 2560 -5d70 9 934 2560 -5d79 2 936 2560 -5d7b 3 938 2560 -5d7e 1 939 2560 -FUNC 5d7f 3c 4 _get_osver -5d7f 0 958 2560 -5d7f 27 960 2560 -5da6 1 968 2560 -5da7 8 963 2560 -5daf 8 965 2560 -5db7 3 967 2560 -5dba 1 968 2560 -FUNC 5dbb 3c 4 _get_winver -5dbb 0 987 2560 -5dbb 27 989 2560 -5de2 1 997 2560 -5de3 8 992 2560 -5deb 8 994 2560 -5df3 3 996 2560 -5df6 1 997 2560 -FUNC 5df7 3c 4 _get_winmajor -5df7 0 1016 2560 -5df7 27 1018 2560 -5e1e 1 1026 2560 -5e1f 8 1021 2560 -5e27 8 1023 2560 -5e2f 3 1025 2560 -5e32 1 1026 2560 -FUNC 5e33 3c 4 _get_winminor -5e33 0 1045 2560 -5e33 27 1047 2560 -5e5a 1 1055 2560 -5e5b 8 1050 2560 -5e63 8 1052 2560 -5e6b 3 1054 2560 -5e6e 1 1055 2560 -FUNC 5e6f 37 4 _get_wpgmptr -5e6f 0 1074 2560 -5e6f 27 1076 2560 -5e96 1 1085 2560 -5e97 9 1080 2560 -5ea0 2 1082 2560 -5ea2 3 1084 2560 -5ea5 1 1085 2560 -FUNC 5ea6 37 4 _get_pgmptr -5ea6 0 1104 2560 -5ea6 27 1106 2560 -5ecd 1 1115 2560 -5ece 9 1110 2560 -5ed7 2 1112 2560 -5ed9 3 1114 2560 -5edc 1 1115 2560 -FUNC 5edd 92 4 _cinit -5edd 0 263 2560 -5edd 18 273 2560 -5ef5 b 275 2560 -5f00 5 277 2560 -5f05 f 283 2560 -5f14 4 284 2560 -5f18 4 285 2560 -5f1c a 288 2560 -5f26 20 293 2560 -5f46 1a 306 2560 -5f60 c 308 2560 -5f6c 2 312 2560 -5f6e 1 313 2560 -FUNC 5f6f e2 c doexit -5f6f c 499 2560 -5f7b 8 517 2560 -5f83 5 518 2560 -5f88 b 520 2560 -5f93 6 521 2560 -5f99 8 524 2560 -5fa1 5 526 2560 -5fa6 e 542 2560 -5fb4 12 543 2560 -5fc6 5 545 2560 -5fcb b 546 2560 -5fd6 10 551 2560 -5fe6 9 552 2560 -5fef 2 553 2560 -5ff1 10 558 2560 -6001 10 566 2560 -6011 c 584 2560 -601d 6 588 2560 -6023 6 592 2560 -6029 8 594 2560 -6031 8 596 2560 -6039 3 584 2560 -603c 6 585 2560 -6042 9 586 2560 -604b 6 597 2560 -FUNC 6051 11 4 exit -6051 0 397 2560 -6051 10 398 2560 -6061 1 399 2560 -FUNC 6062 11 4 _exit -6062 0 405 2560 -6062 10 406 2560 -6072 1 407 2560 -FUNC 6073 f 0 _cexit -6073 0 412 2560 -6073 e 413 2560 -6081 1 414 2560 -FUNC 6082 f 0 _c_exit -6082 0 419 2560 -6082 e 420 2560 -6090 1 421 2560 -FUNC 6091 4c 0 _init_pointers -6091 1 786 2560 -6092 7 787 2560 -6099 6 789 2560 -609f 6 790 2560 -60a5 6 791 2560 -60ab 6 792 2560 -60b1 6 793 2560 -60b7 6 794 2560 -60bd 6 795 2560 -60c3 6 796 2560 -60c9 13 799 2560 -60dc 1 800 2560 -FUNC 60e0 8b 4 strlen -60e0 0 54 880 -60e0 4 63 880 -60e4 6 64 880 -60ea 2 65 880 -60ec 2 69 880 -60ee 3 70 880 -60f1 2 71 880 -60f3 2 72 880 -60f5 6 73 880 -60fb 2 74 880 -60fd 13 76 880 -6110 2 81 880 -6112 5 82 880 -6117 2 83 880 -6119 3 84 880 -611c 2 85 880 -611e 3 86 880 -6121 5 87 880 -6126 2 88 880 -6128 3 90 880 -612b 2 91 880 -612d 2 92 880 -612f 2 93 880 -6131 2 94 880 -6133 5 95 880 -6138 2 96 880 -613a 5 97 880 -613f 2 98 880 -6141 2 99 880 -6143 3 103 880 -6146 4 104 880 -614a 2 105 880 -614c 1 106 880 -614d 3 108 880 -6150 4 109 880 -6154 2 110 880 -6156 1 111 880 -6157 3 113 880 -615a 4 114 880 -615e 2 115 880 -6160 1 116 880 -6161 3 118 880 -6164 4 119 880 -6168 2 120 880 -616a 1 121 880 -FUNC 616b 33 4 _EH_prolog3 -616b 0 93 5671 -616b 1 101 5671 -616c 7 103 5671 -6173 4 112 5671 -6177 4 113 5671 -617b 1 114 5671 -617c 1 115 5671 -617d 1 116 5671 -617e 2 117 5671 -6180 2 118 5671 -6182 5 131 5671 -6187 2 132 5671 -6189 1 133 5671 -618a 3 134 5671 -618d 7 135 5671 -6194 3 150 5671 -6197 6 151 5671 -619d 1 153 5671 -FUNC 619e 36 4 _EH_prolog3_catch -619e 0 206 5671 -619e 1 214 5671 -619f 7 216 5671 -61a6 4 225 5671 -61aa 4 226 5671 -61ae 1 228 5671 -61af 1 229 5671 -61b0 1 230 5671 -61b1 2 231 5671 -61b3 2 232 5671 -61b5 5 246 5671 -61ba 2 247 5671 -61bc 1 248 5671 -61bd 3 249 5671 -61c0 3 250 5671 -61c3 7 251 5671 -61ca 3 267 5671 -61cd 6 268 5671 -61d3 1 270 5671 -FUNC 61d4 36 4 _EH_prolog3_GS -61d4 0 322 5671 -61d4 1 330 5671 -61d5 7 332 5671 -61dc 4 341 5671 -61e0 4 342 5671 -61e4 1 344 5671 -61e5 1 345 5671 -61e6 1 346 5671 -61e7 2 347 5671 -61e9 2 348 5671 -61eb 5 362 5671 -61f0 2 363 5671 -61f2 1 364 5671 -61f3 3 365 5671 -61f6 3 366 5671 -61f9 7 367 5671 -6200 3 384 5671 -6203 6 385 5671 -6209 1 387 5671 -FUNC 620a 39 4 _EH_prolog3_catch_GS -620a 0 441 5671 -620a 1 449 5671 -620b 7 451 5671 -6212 4 460 5671 -6216 4 461 5671 -621a 1 463 5671 -621b 1 464 5671 -621c 1 465 5671 -621d 2 466 5671 -621f 2 467 5671 -6221 5 482 5671 -6226 2 483 5671 -6228 1 484 5671 -6229 3 485 5671 -622c 3 486 5671 -622f 3 487 5671 -6232 7 488 5671 -6239 3 505 5671 -623c 6 506 5671 -6242 1 508 5671 -FUNC 6243 14 0 _EH_epilog3 -6243 0 534 5671 -6243 3 537 5671 -6246 7 538 5671 -624d 1 539 5671 -624e 1 540 5671 -624f 1 541 5671 -6250 1 542 5671 -6251 1 543 5671 -6252 2 544 5671 -6254 1 545 5671 -6255 1 546 5671 -6256 1 547 5671 -FUNC 6257 f 0 _EH_epilog3_GS -6257 0 575 5671 -6257 3 578 5671 -625a 2 579 5671 -625c 5 580 5671 -6261 5 581 5671 -FUNC 6266 f 0 _EH_epilog3_catch_GS -6266 0 609 5671 -6266 3 612 5671 -6269 2 613 5671 -626b 5 614 5671 -6270 5 615 5671 -FUNC 6275 96 4 _stbuf -6275 1 59 1850 -6276 14 69 1850 -628a 2 70 1850 -628c c 73 1850 -6298 4 74 1850 -629c c 75 1850 -62a8 3 76 1850 -62ab 6 82 1850 -62b1 6 86 1850 -62b7 4 87 1850 -62bb 1e 91 1850 -62d9 3 93 1850 -62dc e 94 1850 -62ea 2 96 1850 -62ec 7 98 1850 -62f3 6 99 1850 -62f9 8 102 1850 -6301 5 104 1850 -6306 1 105 1850 -6307 3 78 1850 -630a 1 105 1850 -FUNC 630b 2f 8 _ftbuf -630b 0 138 1850 -630b 8 146 1850 -6313 c 148 1850 -631f 6 151 1850 -6325 7 152 1850 -632c 4 153 1850 -6330 9 154 1850 -6339 1 166 1850 -FUNC 633a 82 4 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *) -633a 0 261 1343 -633a f 262 1343 -6349 8 264 1343 -6351 5 265 1343 -6356 6 266 1343 -635c 1c 268 1343 -6378 21 269 1343 -6399 9 270 1343 -63a2 4 272 1343 -63a6 4 273 1343 -63aa 2 276 1343 -63ac a 278 1343 -63b6 6 280 1343 -FUNC 63bc e 0 _LocaleUpdate::~_LocaleUpdate() -63bc 0 282 1343 -63bc 6 283 1343 -63c2 7 284 1343 -63c9 1 285 1343 -FUNC 63ca 3 0 _LocaleUpdate::GetLocaleT() -63ca 2 287 1343 -63cc 1 289 1343 -FUNC 63cd 33 0 write_char -63cd 0 2433 1312 -63cd a 2434 1312 -63d7 2 2437 1312 -63d9 21 2442 1312 -63fa 2 2444 1312 -63fc 1 2447 1312 -63fd 2 2446 1312 -63ff 1 2447 1312 -FUNC 6400 24 c write_multi_char -6400 6 2498 1312 -6406 2 2501 1312 -6408 e 2500 1312 -6416 5 2501 1312 -641b 7 2499 1312 -6422 2 2504 1312 -FUNC 6424 4a 4 write_string -6424 0 2563 1312 -6424 12 2564 1312 -6436 6 2566 1312 -643c 2 2567 1312 -643e e 2570 1312 -644c 5 2571 1312 -6451 a 2573 1312 -645b 9 2574 1312 -6464 9 2569 1312 -646d 1 2579 1312 -FUNC 646e d 4 get_int_arg -646e 0 2602 1312 -646e c 2603 1312 -647a 1 2604 1312 -FUNC 647b 10 4 get_int64_arg -647b 0 2644 1312 -647b f 2645 1312 -648a 1 2646 1312 -FUNC 648b e 4 get_short_arg -648b 0 2671 1312 -648b d 2672 1312 -6498 1 2673 1312 -FUNC 6499 994 10 _output_l -6499 1b 975 1312 -64b4 45 1036 1312 -64f9 2d 1031 1312 -6526 b1 1033 1312 -65d7 8 1036 1312 -65df 26 1073 1312 -6605 1d 1075 1312 -6622 8 1076 1312 -662a 18 1131 1312 -6642 13 1173 1312 -6655 3 1174 1312 -6658 5 1175 1312 -665d 1f 1179 1312 -667c 4 1193 1312 -6680 5 1194 1312 -6685 4 1181 1312 -6689 5 1182 1312 -668e 4 1184 1312 -6692 5 1185 1312 -6697 7 1190 1312 -669e 5 1191 1312 -66a3 4 1187 1312 -66a7 5 1196 1312 -66ac 5 1200 1312 -66b1 9 1206 1312 -66ba b 1233 1312 -66c5 4 1235 1312 -66c9 3 1236 1312 -66cc 5 1239 1312 -66d1 10 1241 1312 -66e1 5 1243 1312 -66e6 3 1248 1312 -66e9 5 1249 1312 -66ee 5 1253 1312 -66f3 9 1259 1312 -66fc b 1284 1312 -6707 4 1285 1312 -670b 5 1287 1312 -6710 10 1289 1312 -6720 5 1291 1312 -6725 18 1295 1312 -673d 7 1362 1312 -6744 5 1363 1312 -6749 5 1301 1312 -674e 1 1303 1312 -674f a 1304 1312 -6759 5 1306 1312 -675e 4 1308 1312 -6762 5 1310 1312 -6767 4 1358 1312 -676b 5 1359 1312 -6770 c 1322 1312 -677c 2 1324 1312 -677e f 1325 1312 -678d a 1327 1312 -6797 2 1329 1312 -6799 a 1330 1312 -67a3 5 1332 1312 -67a8 30 1337 1312 -67d8 3 1352 1312 -67db 13 1158 1312 -67ee 11 1160 1312 -67ff 3 1161 1312 -6802 b 1163 1312 -680d b 1166 1312 -6818 5 1167 1312 -681d 32 1378 1312 -684f d 1716 1312 -685c 4 1724 1312 -6860 17 1749 1312 -6877 c 1750 1312 -6883 8 1381 1312 -688b 9 1385 1312 -6894 8 1561 1312 -689c 7 1562 1312 -68a3 d 1584 1312 -68b0 3 1589 1312 -68b3 15 1635 1312 -68c8 4 1636 1312 -68cc 8 1637 1312 -68d4 f 1639 1312 -68e3 1d 1378 1312 -6900 12 1448 1312 -6912 16 1467 1312 -6928 4 1470 1312 -692c 7 1471 1312 -6933 2 1472 1312 -6935 6 1499 1312 -693b 7 1500 1312 -6942 6 1503 1312 -6948 5 1506 1312 -694d 5 1523 1312 -6952 e 1541 1312 -6960 6 1546 1312 -6966 d 1548 1312 -6973 7 1549 1312 -697a 5 1550 1312 -697f 3 1551 1312 -6982 5 1553 1312 -6987 8 1543 1312 -698f 7 1544 1312 -6996 5 1557 1312 -699b 34 1378 1312 -69cf d 1908 1312 -69dc 9 1910 1312 -69e5 8 1668 1312 -69ed d 1688 1312 -69fa 6 1702 1312 -6a00 7 1703 1312 -6a07 2 1704 1312 -6a09 5 1706 1312 -6a0e 7 1708 1312 -6a15 5 1710 1312 -6a1a 4 1864 1312 -6a1e 7 1869 1312 -6a25 c 1933 1312 -6a31 8 1939 1312 -6a39 5 1958 1312 -6a3e 7 1751 1312 -6a45 9 1752 1312 -6a4e 5 1753 1312 -6a53 3 1754 1312 -6a56 9 1756 1312 -6a5f f 1759 1312 -6a6e 2 1760 1312 -6a70 13 1765 1312 -6a83 9 1767 1312 -6a8c e 1809 1312 -6a9a 27 1828 1312 -6ac1 13 1838 1312 -6ad4 15 1840 1312 -6ae9 a 1844 1312 -6af3 15 1846 1312 -6b08 5 1852 1312 -6b0d 7 1853 1312 -6b14 4 1854 1312 -6b18 1 1857 1312 -6b19 5 1859 1312 -6b1e 7 1877 1312 -6b25 3 1887 1312 -6b28 2 1888 1312 -6b2a 1a 1378 1312 -6b44 7 1892 1312 -6b4b 11 1897 1312 -6b5c c 1900 1312 -6b68 7 1901 1312 -6b6f 5 1903 1312 -6b74 5 1961 1312 -6b79 6 1987 1312 -6b7f 14 2026 1312 -6b93 2 2045 1312 -6b95 5 2051 1312 -6b9a 2 2071 1312 -6b9c 3 2074 1312 -6b9f 6 2080 1312 -6ba5 2 2099 1312 -6ba7 5 2105 1312 -6bac f 2128 1312 -6bbb 7 2129 1312 -6bc2 7 2130 1312 -6bc9 c 2136 1312 -6bd5 2 2142 1312 -6bd7 6 2148 1312 -6bdd 7 2149 1312 -6be4 2 2150 1312 -6be6 4 2151 1312 -6bea a 2152 1312 -6bf4 3 2153 1312 -6bf7 6 2157 1312 -6bfd 3 2158 1312 -6c00 6 2163 1312 -6c06 10 2165 1312 -6c16 10 2166 1312 -6c26 c 2168 1312 -6c32 3 2170 1312 -6c35 3 2172 1312 -6c38 2 2173 1312 -6c3a 8 2175 1312 -6c42 1 2176 1312 -6c43 19 2180 1312 -6c5c 9 2181 1312 -6c65 1 2182 1312 -6c66 2 2185 1312 -6c68 6 1640 1312 -6c6e 2 1641 1312 -6c70 4 1640 1312 -6c74 5 1642 1312 -6c79 2 1644 1312 -6c7b 4 1645 1312 -6c7f 8 1646 1312 -6c87 5 1647 1312 -6c8c 6 1648 1312 -6c92 1 1649 1312 -6c93 4 1648 1312 -6c97 6 1650 1312 -6c9d a 2201 1312 -6ca7 7 2204 1312 -6cae 6 2205 1312 -6cb4 4 2207 1312 -6cb8 2 2208 1312 -6cba 4 2210 1312 -6cbe 4 2212 1312 -6cc2 2 2213 1312 -6cc4 4 2215 1312 -6cc8 4 2217 1312 -6ccc 7 2218 1312 -6cd3 9 2224 1312 -6cdc 6 2228 1312 -6ce2 11 2230 1312 -6cf3 11 2234 1312 -6d04 d 2236 1312 -6d11 f 2238 1312 -6d20 d 2243 1312 -6d2d 3 2249 1312 -6d30 3 2250 1312 -6d33 1e 2252 1312 -6d51 9 2253 1312 -6d5a 18 2257 1312 -6d72 2 1690 1312 -6d74 4 2254 1312 -6d78 2 2259 1312 -6d7a d 2260 1312 -6d87 c 2290 1312 -6d93 f 2292 1312 -6da2 6 2297 1312 -6da8 8 2298 1312 -6db0 1e 2299 1312 -6dce 17 1163 1312 -6de5 10 2376 1312 -6df5 38 2377 1312 -FUNC 6e2d 3b 4 _get_errno_from_oserr -6e2d 0 119 6100 -6e2d 6 123 6100 -6e33 f 124 6100 -6e42 8 133 6100 -6e4a 3 134 6100 -6e4d 1 139 6100 -6e4e 7 125 6100 -6e55 1 139 6100 -6e56 11 135 6100 -6e67 1 139 6100 -FUNC 6e68 13 0 _errno -6e68 0 280 6100 -6e68 5 281 6100 -6e6d 4 282 6100 -6e71 5 283 6100 -6e76 1 288 6100 -6e77 3 285 6100 -6e7a 1 288 6100 -FUNC 6e7b 13 0 __doserrno -6e7b 0 293 6100 -6e7b 5 294 6100 -6e80 4 295 6100 -6e84 5 296 6100 -6e89 1 300 6100 -6e8a 3 298 6100 -6e8d 1 300 6100 -FUNC 6e8e 1e 4 _dosmaperr -6e8e 1 110 6100 -6e8f 9 111 6100 -6e98 13 113 6100 -6eab 1 114 6100 -FUNC 6eac 1b 4 _set_errno -6eac 0 157 6100 -6eac 5 158 6100 -6eb1 4 159 6100 -6eb5 3 161 6100 -6eb8 1 168 6100 -6eb9 b 165 6100 -6ec4 2 166 6100 -6ec6 1 168 6100 -FUNC 6ec7 2a 4 _get_errno -6ec7 1 187 6100 -6ec8 1b 189 6100 -6ee3 1 195 6100 -6ee4 9 193 6100 -6eed 3 194 6100 -6ef0 1 195 6100 -FUNC 6ef1 1b 4 _set_doserrno -6ef1 0 213 6100 -6ef1 5 214 6100 -6ef6 4 215 6100 -6efa 3 217 6100 -6efd 1 224 6100 -6efe b 221 6100 -6f09 2 222 6100 -6f0b 1 224 6100 -FUNC 6f0c 2a 4 _get_doserrno -6f0c 1 243 6100 -6f0d 1b 245 6100 -6f28 1 251 6100 -6f29 9 249 6100 -6f32 3 250 6100 -6f35 1 251 6100 -FUNC 6f38 45 0 _SEH_prolog4 -FUNC 6f7d 14 0 _SEH_epilog4 -FUNC 6fa0 24 0 ValidateLocalCookies -FUNC 6fd0 196 10 _except_handler4 -FUNC 7166 90 10 vprintf_helper -7166 c 47 1507 -7172 d 48 1507 -717f 2b 52 1507 -71aa 7 55 1507 -71b1 3 56 1507 -71b4 8 58 1507 -71bc 10 59 1507 -71cc a 60 1507 -71d6 c 63 1507 -71e2 3 67 1507 -71e5 6 68 1507 -71eb 3 63 1507 -71ee 8 64 1507 -FUNC 71f6 1a c _vprintf_l -71f6 0 75 1507 -71f6 19 76 1507 -720f 1 77 1507 -FUNC 7210 1a c _vprintf_s_l -7210 0 84 1507 -7210 19 85 1507 -7229 1 86 1507 -FUNC 722a 1a c _vprintf_p_l -722a 0 93 1507 -722a 19 94 1507 -7243 1 95 1507 -FUNC 7244 18 8 vprintf -7244 0 101 1507 -7244 17 102 1507 -725b 1 103 1507 -FUNC 725c 18 8 vprintf_s -725c 0 109 1507 -725c 17 110 1507 -7273 1 111 1507 -FUNC 7274 18 8 _vprintf_p -7274 0 117 1507 -7274 17 118 1507 -728b 1 119 1507 -FUNC 728c 104 0 __report_gsfailure -728c 9 140 3731 -7295 5 170 3731 -729a 6 171 3731 -72a0 6 172 3731 -72a6 6 173 3731 -72ac 6 174 3731 -72b2 6 175 3731 -72b8 7 176 3731 -72bf 7 177 3731 -72c6 7 178 3731 -72cd 7 179 3731 -72d4 7 180 3731 -72db 7 181 3731 -72e2 1 182 3731 -72e3 6 183 3731 -72e9 3 190 3731 -72ec 5 191 3731 -72f1 3 192 3731 -72f4 5 193 3731 -72f9 3 194 3731 -72fc 5 195 3731 -7301 6 201 3731 -7307 a 204 3731 -7311 a 206 3731 -731b a 285 3731 -7325 a 286 3731 -732f b 293 3731 -733a b 294 3731 -7345 b 297 3731 -7350 8 298 3731 -7358 8 302 3731 -7360 b 304 3731 -736b 9 313 3731 -7374 8 315 3731 -737c 12 319 3731 -738e 2 320 3731 -FUNC 7390 5c6 c _write_nolock -7390 22 95 4777 -73b2 2 106 4777 -73b4 11 108 4777 -73c5 7 109 4777 -73cc 2b 111 4777 -73f7 27 113 4777 -741e 10 116 4777 -742e 33 119 4777 -7461 6 122 4777 -7467 f 126 4777 -7476 1c 143 4777 -7492 5 146 4777 -7497 8 147 4777 -749f 14 148 4777 -74b3 16 152 4777 -74c9 6 153 4777 -74cf 4 157 4777 -74d3 16 160 4777 -74e9 9 153 4777 -74f2 b 163 4777 -74fd 9 164 4777 -7506 11 170 4777 -7517 18 171 4777 -752f 2 173 4777 -7531 14 174 4777 -7545 18 175 4777 -755d 4 181 4777 -7561 2e 205 4777 -758f 21 212 4777 -75b0 6 213 4777 -75b6 8 214 4777 -75be a 222 4777 -75c8 29 229 4777 -75f1 a 230 4777 -75fb 3 232 4777 -75fe 3 233 4777 -7601 2 238 4777 -7603 8 186 4777 -760b 3 191 4777 -760e 9 192 4777 -7617 f 193 4777 -7626 8 240 4777 -762e 13 242 4777 -7641 3 244 4777 -7644 6 251 4777 -764a 3 254 4777 -764d 14 255 4777 -7661 3 257 4777 -7664 12 258 4777 -7676 5 236 4777 -767b e 268 4777 -7689 12 277 4777 -769b f 278 4777 -76aa d 279 4777 -76b7 8 283 4777 -76bf 9 284 4777 -76c8 5 285 4777 -76cd 3 286 4777 -76d0 7 287 4777 -76d7 f 289 4777 -76e6 25 297 4777 -770b 6 299 4777 -7711 16 300 4777 -7727 f 308 4777 -7736 f 314 4777 -7745 b 315 4777 -7750 8 319 4777 -7758 c 320 4777 -7764 6 321 4777 -776a 4 322 4777 -776e c 323 4777 -777a f 325 4777 -7789 25 333 4777 -77ae 6 335 4777 -77b4 1a 336 4777 -77ce 5 344 4777 -77d3 f 359 4777 -77e2 13 361 4777 -77f5 8 365 4777 -77fd b 366 4777 -7808 6 367 4777 -780e a 369 4777 -7818 11 371 4777 -7829 2f 382 4777 -7858 4 384 4777 -785c 25 406 4777 -7881 3 407 4777 -7884 6 412 4777 -788a 9 409 4777 -7893 4 419 4777 -7897 15 423 4777 -78ac 2 428 4777 -78ae 1b 434 4777 -78c9 a 437 4777 -78d3 2 439 4777 -78d5 9 440 4777 -78de a 443 4777 -78e8 7 447 4777 -78ef 8 449 4777 -78f7 b 452 4777 -7902 2 455 4777 -7904 9 456 4777 -790d 2 457 4777 -790f 11 459 4777 -7920 4 460 4777 -7924 b 462 4777 -792f 7 463 4777 -7936 5 464 4777 -793b 5 469 4777 -7940 16 470 4777 -FUNC 7956 dc c _write -7956 c 61 4777 -7962 23 66 4777 -7985 2f 67 4777 -79b4 20 68 4777 -79d4 7 70 4777 -79db 3 72 4777 -79de 9 73 4777 -79e7 14 74 4777 -79fb 2 75 4777 -79fd b 76 4777 -7a08 7 77 4777 -7a0f 4 78 4777 -7a13 c 82 4777 -7a1f 3 86 4777 -7a22 6 87 4777 -7a28 a 83 4777 -FUNC 7a32 2d 4 _fileno -7a32 0 40 2176 -7a32 27 41 2176 -7a59 1 43 2176 -7a5a 4 42 2176 -7a5e 1 43 2176 -FUNC 7a5f e1 4 _commit -7a5f c 39 5043 -7a6b 1b 43 5043 -7a86 28 44 5043 -7aae 20 45 5043 -7ace 7 47 5043 -7ad5 3 48 5043 -7ad8 9 49 5043 -7ae1 14 51 5043 -7af5 9 52 5043 -7afe 2 54 5043 -7b00 3 55 5043 -7b03 5 59 5043 -7b08 a 62 5043 -7b12 b 66 5043 -7b1d 4 67 5043 -7b21 c 72 5043 -7b2d 3 75 5043 -7b30 6 76 5043 -7b36 a 73 5043 -FUNC 7b40 49 0 _mtinitlocks -7b40 2 137 2371 -7b42 7 144 2371 -7b49 11 145 2371 -7b5a 2 146 2371 -7b5c 15 148 2371 -7b71 6 144 2371 -7b77 5 157 2371 -7b7c d 158 2371 -FUNC 7b89 55 0 _mtdeletelocks -7b89 1 188 2371 -7b8a d 194 2371 -7b97 c 196 2371 -7ba3 3 200 2371 -7ba6 6 206 2371 -7bac f 207 2371 -7bbb 6 215 2371 -7bc1 c 217 2371 -7bcd 10 221 2371 -7bdd 1 224 2371 -FUNC 7bde 15 4 _unlock -7bde 3 371 2371 -7be1 10 375 2371 -7bf1 2 376 2371 -FUNC 7bf3 18 4 _lockerr_exit -7bf3 0 403 2371 -7bf3 c 404 2371 -7bff b 405 2371 -7c0a 1 406 2371 -FUNC 7c0b c3 4 _mtinitlocknum -7c0b c 259 2371 -7c17 6 261 2371 -7c1d a 269 2371 -7c27 5 270 2371 -7c2c 7 271 2371 -7c33 c 272 2371 -7c3f e 276 2371 -7c4d 4 277 2371 -7c51 e 279 2371 -7c5f b 280 2371 -7c6a 4 281 2371 -7c6e 8 284 2371 -7c76 3 285 2371 -7c79 4 287 2371 -7c7d 11 288 2371 -7c8e 7 289 2371 -7c95 b 290 2371 -7ca0 3 291 2371 -7ca3 2 292 2371 -7ca5 2 293 2371 -7ca7 2 296 2371 -7ca9 7 297 2371 -7cb0 c 300 2371 -7cbc 3 304 2371 -7cbf 6 305 2371 -7cc5 9 301 2371 -FUNC 7cce 31 4 _lock -7cce 3 333 2371 -7cd1 10 338 2371 -7ce1 b 340 2371 -7cec 8 341 2371 -7cf4 9 348 2371 -7cfd 2 349 2371 -FUNC 7cff 240 0 _ioinit -7cff c 111 4958 -7d0b 5 122 4958 -7d10 a 127 4958 -7d1a 7 128 4958 -7d21 f 137 4958 -7d30 6 139 4958 -7d36 5 142 4958 -7d3b 6 143 4958 -7d41 8 145 4958 -7d49 4 146 4958 -7d4d 3 147 4958 -7d50 4 148 4958 -7d54 3 149 4958 -7d57 4 151 4958 -7d5b 4 152 4958 -7d5f 4 153 4958 -7d63 13 145 4958 -7d76 15 161 4958 -7d8b 2 166 4958 -7d8d 3 172 4958 -7d90 6 173 4958 -7d96 b 179 4958 -7da1 5 185 4958 -7da6 f 191 4958 -7db5 9 204 4958 -7dbe 7 205 4958 -7dc5 8 207 4958 -7dcd 4 208 4958 -7dd1 3 209 4958 -7dd4 4 210 4958 -7dd8 4 211 4958 -7ddc 4 212 4958 -7de0 4 213 4958 -7de4 4 214 4958 -7de8 f 207 4958 -7df7 9 185 4958 -7e00 2 284 4958 -7e02 6 197 4958 -7e08 8 221 4958 -7e10 24 234 4958 -7e34 15 236 4958 -7e49 7 237 4958 -7e50 5 238 4958 -7e55 18 241 4958 -7e6d 3 243 4958 -7e70 d 221 4958 -7e7d 2 253 4958 -7e7f b 255 4958 -7e8a c 258 4958 -7e96 6 306 4958 -7e9c 4 262 4958 -7ea0 30 266 4958 -7ed0 2 271 4958 -7ed2 a 277 4958 -7edc 6 278 4958 -7ee2 5 279 4958 -7ee7 4 280 4958 -7eeb 14 284 4958 -7eff 3 286 4958 -7f02 2 288 4958 -7f04 4 297 4958 -7f08 6 298 4958 -7f0e a 253 4958 -7f18 c 313 4958 -7f24 4 315 4958 -7f28 7 128 4958 -7f2f a 129 4958 -7f39 6 316 4958 -FUNC 7f3f 4c 0 _ioterm -7f3f 2 341 4958 -7f41 5 345 4958 -7f46 6 347 4958 -7f4c 8 353 4958 -7f54 9 355 4958 -7f5d 11 356 4958 -7f6e 4 353 4958 -7f72 7 361 4958 -7f79 11 362 4958 -7f8a 1 365 4958 -FUNC 7f8b 21 4 wait_a_bit -7f8b 1 18 5557 -7f8c b 19 5557 -7f97 6 20 5557 -7f9d 8 21 5557 -7fa5 3 22 5557 -7fa8 3 23 5557 -7fab 1 24 5557 -FUNC 7fac 10 4 _set_malloc_crt_max_wait -7fac 0 32 5557 -7fac f 34 5557 -7fbb 1 36 5557 -FUNC 7fbc 40 4 _malloc_crt -7fbc 2 39 5557 -7fbe 2 40 5557 -7fc0 b 44 5557 -7fcb d 45 5557 -7fd8 18 46 5557 -7ff0 7 47 5557 -7ff7 4 50 5557 -7ffb 1 51 5557 -FUNC 7ffc 48 8 _calloc_crt -7ffc 2 54 5557 -7ffe 2 55 5557 -8000 14 61 5557 -8014 c 62 5557 -8020 18 63 5557 -8038 7 64 5557 -803f 4 67 5557 -8043 1 68 5557 -FUNC 8044 4b 8 _realloc_crt -8044 2 71 5557 -8046 2 72 5557 -8048 f 76 5557 -8057 14 77 5557 -806b 18 78 5557 -8083 7 79 5557 -808a 4 82 5557 -808e 1 83 5557 -FUNC 808f 50 c _recalloc_crt -808f 2 86 5557 -8091 2 87 5557 -8093 16 91 5557 -80a9 12 92 5557 -80bb 18 94 5557 -80d3 7 95 5557 -80da 4 100 5557 -80de 1 101 5557 -FUNC 80df 8 0 _malloc_crt_fastcall -80df 0 105 5557 -80df 7 106 5557 -80e6 1 107 5557 -FUNC 80e7 a 0 _calloc_crt_fastcall -80e7 0 110 5557 -80e7 9 111 5557 -80f0 1 112 5557 -FUNC 80f1 a 0 _realloc_crt_fastcall -80f1 0 115 5557 -80f1 9 116 5557 -80fa 1 117 5557 -FUNC 80fb 8e 4 free -80fb c 42 5515 -8107 7 47 5515 -810e 9 53 5515 -8117 8 57 5515 -811f 4 58 5515 -8123 e 60 5515 -8131 9 61 5515 -813a c 64 5515 -8146 6 68 5515 -814c 3 70 5515 -814f 2 106 5515 -8151 9 65 5515 -815a f 109 5515 -8169 4 110 5515 -816d 16 112 5515 -8183 6 115 5515 -FUNC 8189 9f 0 _fcloseall -8189 c 43 1792 -8195 5 44 1792 -819a 8 47 1792 -81a2 3 48 1792 -81a5 e 50 1792 -81b3 10 52 1792 -81c3 14 57 1792 -81d7 3 58 1792 -81da 5 63 1792 -81df 12 65 1792 -81f1 e 66 1792 -81ff 8 67 1792 -8207 3 50 1792 -820a c 73 1792 -8216 3 77 1792 -8219 6 78 1792 -821f 9 74 1792 -FUNC 8228 19 4 std::bad_exception::bad_exception(char const *) -8228 13 351 6035 -823b 6 352 6035 -FUNC 8241 b 0 std::bad_exception::~bad_exception() -8241 6 355 6035 -8247 5 356 6035 -FUNC 824c 22 0 std::bad_exception::`vector deleting destructor'(unsigned int) -FUNC 826e 5c c __TypeMatch -826e 2 999 6034 -8270 13 1001 6034 -8283 1b 1008 6034 -829e 4 1009 6034 -82a2 22 1023 6034 -82c4 5 1002 6034 -82c9 1 1024 6034 -FUNC 82ca 44 4 __FrameUnwindFilter -82ca 0 1035 6034 -82ca 6 1038 6034 -82d0 e 1040 6034 -82de 13 1076 6034 -82f1 e 1068 6034 -82ff c 1070 6034 -830b 2 1072 6034 -830d 1 1078 6034 -FUNC 830e e1 10 __FrameUnwindToState -830e c 1105 6034 -831a 1b 1112 6034 -8335 c 1114 6034 -8341 4 1115 6034 -8345 5 1119 6034 -834a f 1123 6034 -8359 f 1126 6034 -8368 7 1128 6034 -836f 6 1131 6034 -8375 3 1138 6034 -8378 12 1145 6034 -838a 6 1149 6034 -8390 d 1151 6034 -839d d 1153 6034 -83aa 3 1155 6034 -83ad 2 1156 6034 -83af c 1157 6034 -83bb a 1169 6034 -83c5 3 1176 6034 -83c8 6 1180 6034 -83ce 6 1157 6034 -83d4 e 1158 6034 -83e2 d 1159 6034 -FUNC 83ef 45 0 ExFilterRethrow -83ef 0 1533 6034 -83ef 2 1535 6034 -83f1 2f 1538 6034 -8420 e 1542 6034 -842e 2 1543 6034 -8430 1 1547 6034 -8431 2 1545 6034 -8433 1 1547 6034 -FUNC 8434 54 8 __DestructExceptionObject -8434 c 1791 6034 -8440 f 1794 6034 -844f e 1801 6034 -845d 4 1803 6034 -8461 9 1810 6034 -846a 7 1814 6034 -8471 6 1824 6034 -8477 c 1815 6034 -8483 5 1819 6034 -FUNC 8488 25 8 __AdjustPointer -8488 0 1842 6034 -8488 d 1843 6034 -8495 6 1845 6034 -849b 3 1850 6034 -849e e 1852 6034 -84ac 1 1856 6034 -FUNC 84ad 13 0 __uncaught_exception() -84ad 0 1867 6034 -84ad 12 1868 6034 -84bf 1 1869 6034 -FUNC 84c0 b3 8 __CxxRegisterExceptionObject -84c0 0 2077 6034 -84c0 14 2085 6034 -84d4 26 2087 6034 -84fa 6 2088 6034 -8500 b 2090 6034 -850b b 2093 6034 -8516 e 2094 6034 -8524 e 2095 6034 -8532 b 2096 6034 -853d 2 2097 6034 -853f 4 2098 6034 -8543 4 2099 6034 -8547 c 2101 6034 -8553 10 2102 6034 -8563 c 2103 6034 -856f 3 2104 6034 -8572 1 2105 6034 -FUNC 8573 4c 4 __CxxDetectRethrow -8573 0 2117 6034 -8573 6 2119 6034 -8579 2 2120 6034 -857b 2 2121 6034 -857d 2f 2122 6034 -85ac c 2123 6034 -85b8 3 2124 6034 -85bb 1 2127 6034 -85bc 2 2126 6034 -85be 1 2127 6034 -FUNC 85bf 139 8 __CxxUnregisterExceptionObject -85bf 1 2139 6034 -85c0 4 2143 6034 -85c4 d 2145 6034 -85d1 6 2146 6034 -85d7 85 2149 6034 -865c 14 2150 6034 -8670 5b 2152 6034 -86cb c 2153 6034 -86d7 e 2154 6034 -86e5 12 2155 6034 -86f7 1 2157 6034 -FUNC 86f8 4 0 __CxxQueryExceptionSize -86f8 0 2167 6034 -86f8 3 2168 6034 -86fb 1 2169 6034 -FUNC 86fc 32 8 __CxxCallUnwindDtor -86fc c 2189 6034 -8708 4 2190 6034 -870c 6 2192 6034 -8712 2 2193 6034 -8714 d 2194 6034 -8721 7 2197 6034 -8728 6 2198 6034 -FUNC 872e 33 8 __CxxCallUnwindDelDtor -872e c 2218 6034 -873a 4 2219 6034 -873e 7 2221 6034 -8745 2 2222 6034 -8747 d 2223 6034 -8754 7 2226 6034 -875b 6 2227 6034 -FUNC 8761 32 8 __CxxCallUnwindStdDelDtor -8761 c 2247 6034 -876d 4 2248 6034 -8771 6 2250 6034 -8777 2 2251 6034 -8779 d 2252 6034 -8786 7 2255 6034 -878d 6 2256 6034 -FUNC 8793 3b 14 __CxxCallUnwindVecDtor -8793 c 2282 6034 -879f 4 2283 6034 -87a3 f 2285 6034 -87b2 2 2286 6034 -87b4 d 2287 6034 -87c1 7 2290 6034 -87c8 6 2291 6034 -FUNC 87ce 79 4 IsInExceptionSpec -87ce 6 2302 6034 -87d4 9 2303 6034 -87dd 5 2307 6034 -87e2 f 2323 6034 -87f1 9 2326 6034 -87fa 2 2327 6034 -87fc 10 2328 6034 -880c 26 2335 6034 -8832 4 2337 6034 -8836 c 2323 6034 -8842 3 2343 6034 -8845 2 2344 6034 -FUNC 8847 49 4 CallUnexpected -8847 c 2379 6034 -8853 13 2380 6034 -8866 4 2383 6034 -886a 5 2384 6034 -886f 4 2391 6034 -8873 5 2392 6034 -8878 8 2388 6034 -8880 10 2390 6034 -FUNC 8890 30 0 Is_bad_exception_allowed -8890 2 2399 6034 -8892 8 2400 6034 -889a 1d 2402 6034 -88b7 4 2408 6034 -88bb 1 2409 6034 -88bc 4 2404 6034 -FUNC 88c0 82 8 _is_exception_typeof(type_info const &,_EXCEPTION_POINTERS *) -88c0 1 2416 6034 -88c1 e 2417 6034 -88cf 2 2419 6034 -88d1 9 2422 6034 -88da 2b 2423 6034 -8905 6 2432 6034 -890b 7 2433 6034 -8912 2 2445 6034 -8914 20 2446 6034 -8934 4 2439 6034 -8938 4 2454 6034 -893c 6 2455 6034 -FUNC 8942 19c 18 CallCatchBlock -8942 14 1431 6034 -8956 3 1437 6034 -8959 4 1439 6034 -895d 6 1443 6034 -8963 11 1447 6034 -8974 e 1451 6034 -8982 e 1452 6034 -8990 b 1454 6034 -899b e 1455 6034 -89a9 a 1457 6034 -89b3 3 1458 6034 -89b6 16 1463 6034 -89cc 12 1464 6034 -89de c 1465 6034 -89ea 3 1470 6034 -89ed 15 1471 6034 -8a02 3 1472 6034 -8a05 c 1474 6034 -8a11 11 1476 6034 -8a22 7 1478 6034 -8a29 d 1482 6034 -8a36 b 1486 6034 -8a41 13 1488 6034 -8a54 3 1517 6034 -8a57 6 1518 6034 -8a5d 5 1474 6034 -8a62 6 1488 6034 -8a68 6 1494 6034 -8a6e 9 1497 6034 -8a77 e 1500 6034 -8a85 e 1501 6034 -8a93 3f 1510 6034 -8ad2 c 1511 6034 -FUNC 8ade 17f 10 __BuildCatchObjectHelper -8ade c 1575 6034 -8aea 5 1576 6034 -8aef 2a 1582 6034 -8b19 2 1588 6034 -8b1b 3 1590 6034 -8b1e 2 1588 6034 -8b20 2 1592 6034 -8b22 4 1611 6034 -8b26 3 1614 6034 -8b29 4 1622 6034 -8b2d 4 1615 6034 -8b31 26 1622 6034 -8b57 5 1623 6034 -8b5c 11 1625 6034 -8b6d 5 1628 6034 -8b72 3 1629 6034 -8b75 6 1636 6034 -8b7b 4 1629 6034 -8b7f 20 1636 6034 -8b9f 12 1637 6034 -8bb1 10 1639 6034 -8bc1 4 1641 6034 -8bc5 2 1646 6034 -8bc7 5 1649 6034 -8bcc 18 1654 6034 -8be4 1e 1656 6034 -8c02 2 1660 6034 -8c04 25 1668 6034 -8c29 d 1672 6034 -8c36 2 1677 6034 -8c38 5 1678 6034 -8c3d 7 1681 6034 -8c44 5 1688 6034 -8c49 7 1682 6034 -8c50 5 1684 6034 -8c55 2 1584 6034 -8c57 6 1689 6034 -FUNC 8c5d 91 10 __BuildCatchObject -8c5d c 1712 6034 -8c69 b 1716 6034 -8c74 3 1718 6034 -8c77 2 1720 6034 -8c79 a 1739 6034 -8c83 4 1743 6034 -8c87 1a 1744 6034 -8ca1 1a 1756 6034 -8cbb 2 1757 6034 -8cbd 18 1750 6034 -8cd5 7 1762 6034 -8cdc 6 1769 6034 -8ce2 7 1763 6034 -8ce9 5 1765 6034 -FUNC 8cee 143 10 __CxxExceptionFilter -8cee 3 1973 6034 -8cf1 a 1985 6034 -8cfb 3 2065 6034 -8cfe 2a 1993 6034 -8d28 32 2008 6034 -8d5a 6 2010 6034 -8d60 c 2011 6034 -8d6c 6 2012 6034 -8d72 b 2013 6034 -8d7d f 2040 6034 -8d8c a 2041 6034 -8d96 2 2047 6034 -8d98 1b 2050 6034 -8db3 4 2042 6034 -8db7 2 2050 6034 -8db9 c 2052 6034 -8dc5 6 2053 6034 -8dcb 13 2054 6034 -8dde 2 2055 6034 -8de0 25 1995 6034 -8e05 6 1997 6034 -8e0b e 1999 6034 -8e19 4 2000 6034 -8e1d c 2004 6034 -8e29 6 2005 6034 -8e2f 2 2065 6034 -FUNC 8e31 6c 20 CatchIt -8e31 3 1217 6034 -8e34 6 1233 6034 -8e3a 10 1234 6034 -8e4a 4 1253 6034 -8e4e 6 1254 6034 -8e54 2 1255 6034 -8e56 8 1256 6034 -8e5e e 1259 6034 -8e6c 3 1265 6034 -8e6f 21 1273 6034 -8e90 4 1278 6034 -8e94 7 1280 6034 -8e9b 2 1286 6034 -FUNC 8e9d f2 20 FindHandlerForForeignException -8e9d 6 913 6034 -8ea3 10 920 6034 -8eb3 2a 926 6034 -8edd 23 934 6034 -8f00 e 940 6034 -8f0e 17 945 6034 -8f25 c 948 6034 -8f31 29 954 6034 -8f5a 33 974 6034 -8f8d 2 984 6034 -FUNC 8f8f 356 20 FindHandler -8f8f 6 569 6034 -8f95 20 632 6034 -8fb5 11 634 6034 -8fc6 42 637 6034 -9008 12 639 6034 -901a e 645 6034 -9028 b 646 6034 -9033 16 652 6034 -9049 2a 653 6034 -9073 12 659 6034 -9085 b 661 6034 -9090 5 662 6034 -9095 15 666 6034 -90aa 23 676 6034 -90cd 5 692 6034 -90d2 c 686 6034 -90de 30 688 6034 -910e 2b 698 6034 -9139 d 707 6034 -9146 19 715 6034 -915f c 718 6034 -916b 10 729 6034 -917b 6 735 6034 -9181 3 736 6034 -9184 7 737 6034 -918b 9 740 6034 -9194 2 741 6034 -9196 7 742 6034 -919d 23 750 6034 -91c0 d 737 6034 -91cd 2 676 6034 -91cf 33 774 6034 -9202 3 718 6034 -9205 6 795 6034 -920b a 804 6034 -9215 27 812 6034 -923c f 814 6034 -924b 5 840 6034 -9250 5 841 6034 -9255 b 843 6034 -9260 5 844 6034 -9265 d 846 6034 -9272 6 847 6034 -9278 2 848 6034 -927a 8 849 6034 -9282 14 851 6034 -9296 b 853 6034 -92a1 6 863 6034 -92a7 a 864 6034 -92b1 1c 866 6034 -92cd 16 877 6034 -92e3 2 880 6034 -FUNC 92e5 18 4 std::bad_exception::bad_exception(std::bad_exception const &) -FUNC 92fd e4 20 __InternalCxxFrameHandler -92fd 6 412 6034 -9303 3d 426 6034 -9340 6 432 6034 -9346 6 435 6034 -934c 10 440 6034 -935c 11 479 6034 -936d 2 482 6034 -936f 18 489 6034 -9387 19 499 6034 -93a0 1d 513 6034 -93bd 1c 524 6034 -93d9 6 533 6034 -93df 2 535 6034 -FUNC 93e1 6c 0 _use_encode_pointer -93e1 7 66 2227 -93e8 2 72 2227 -93ea 12 75 2227 -93fc 7 76 2227 -9403 5 78 2227 -9408 7 82 2227 -940f 5 85 2227 -9414 e 91 2227 -9422 1f 93 2227 -9441 4 95 2227 -9445 6 100 2227 -944b 2 101 2227 -FUNC 944d 6e 4 _encode_pointer -944d 1 120 2227 -944e 2b 129 2227 -9479 8 145 2227 -9481 d 133 2227 -948e d 135 2227 -949b c 138 2227 -94a7 4 148 2227 -94ab a 150 2227 -94b5 5 153 2227 -94ba 1 154 2227 -FUNC 94bb 9 0 _encoded_null -94bb 0 173 2227 -94bb 8 174 2227 -94c3 1 175 2227 -FUNC 94c4 6e 4 _decode_pointer -94c4 1 194 2227 -94c5 2b 203 2227 -94f0 8 219 2227 -94f8 d 207 2227 -9505 d 209 2227 -9512 c 212 2227 -951e 4 222 2227 -9522 a 224 2227 -952c 5 227 2227 -9531 1 228 2227 -FUNC 9532 9 4 __crtTlsAlloc -9532 0 240 2227 -9532 6 241 2227 -9538 3 242 2227 -FUNC 953b 15 4 __fls_getvalue -953b 0 258 2227 -953b 12 259 2227 -954d 3 260 2227 -FUNC 9550 6 0 __get_flsindex -9550 0 272 2227 -9550 5 273 2227 -9555 1 274 2227 -FUNC 9556 32 0 __set_flsgetvalue -9556 1 286 2227 -9557 e 288 2227 -9565 4 289 2227 -9569 e 291 2227 -9577 d 292 2227 -9584 3 294 2227 -9587 1 298 2227 -FUNC 9588 19 8 __fls_setvalue -9588 0 315 2227 -9588 16 316 2227 -959e 3 317 2227 -FUNC 95a1 3d 0 _mtterm -95a1 0 473 2227 -95a1 a 480 2227 -95ab f 481 2227 -95ba 7 482 2227 -95c1 a 485 2227 -95cb 7 486 2227 -95d2 7 487 2227 -95d9 5 494 2227 -FUNC 95de bf 8 _initptd -95de c 521 2227 -95ea e 522 2227 -95f8 a 524 2227 -9602 6 525 2227 -9608 4 527 2227 -960c 9 529 2227 -9615 16 532 2227 -962b 10 533 2227 -963b 3 540 2227 -963e 7 544 2227 -9645 7 545 2227 -964c 8 546 2227 -9654 7 547 2227 -965b 8 551 2227 -9663 4 552 2227 -9667 6 553 2227 -966d 4 561 2227 -9671 8 562 2227 -9679 9 563 2227 -9682 c 565 2227 -968e 6 568 2227 -9694 9 566 2227 -FUNC 969d 77 0 _getptd_noexit -969d 2 588 2227 -969f 6 592 2227 -96a5 15 600 2227 -96ba 14 608 2227 -96ce 19 610 2227 -96e7 a 616 2227 -96f1 6 618 2227 -96f7 6 619 2227 -96fd 2 621 2227 -96ff 7 627 2227 -9706 2 628 2227 -9708 8 633 2227 -9710 3 635 2227 -9713 1 636 2227 -FUNC 9714 18 0 _getptd -9714 1 657 2227 -9715 7 658 2227 -971c 4 659 2227 -9720 8 660 2227 -9728 3 662 2227 -972b 1 663 2227 -FUNC 972c 121 4 _freefls -972c c 691 2227 -9738 b 702 2227 -9743 7 703 2227 -974a 7 704 2227 -9751 7 706 2227 -9758 7 707 2227 -975f 7 709 2227 -9766 7 710 2227 -976d 7 712 2227 -9774 7 713 2227 -977b 7 715 2227 -9782 7 716 2227 -9789 7 718 2227 -9790 7 719 2227 -9797 a 721 2227 -97a1 7 722 2227 -97a8 8 724 2227 -97b0 4 725 2227 -97b4 1a 728 2227 -97ce 7 729 2227 -97d5 c 731 2227 -97e1 8 735 2227 -97e9 7 737 2227 -97f0 7 738 2227 -97f7 7 740 2227 -97fe 15 743 2227 -9813 7 744 2227 -981a c 747 2227 -9826 7 751 2227 -982d 8 754 2227 -9835 3 731 2227 -9838 9 732 2227 -9841 3 747 2227 -9844 9 748 2227 -FUNC 984d 69 4 _freeptd -984d 0 778 2227 -984d a 783 2227 -9857 1b 795 2227 -9872 13 796 2227 -9885 16 802 2227 -989b 7 804 2227 -98a2 a 807 2227 -98ac 9 811 2227 -98b5 1 813 2227 -FUNC 98b6 6 0 __threadid -98b6 0 837 2227 -98b6 6 838 2227 -FUNC 98bc 6 0 __threadhandle -98bc 0 844 2227 -98bc 6 845 2227 -FUNC 98c2 184 0 _mtinit -98c2 1 346 2227 -98c3 d 355 2227 -98d0 4 356 2227 -98d4 5 357 2227 -98d9 3 358 2227 -98dc 2 444 2227 -98de e 362 2227 -98ec d 365 2227 -98f9 d 368 2227 -9906 d 371 2227 -9913 2a 372 2227 -993d a 375 2227 -9947 1a 379 2227 -9961 25 388 2227 -9986 5 393 2227 -998b b 400 2227 -9996 10 401 2227 -99a6 10 402 2227 -99b6 18 403 2227 -99ce 7 410 2227 -99d5 2 412 2227 -99d7 1b 418 2227 -99f2 2 420 2227 -99f4 2d 428 2227 -9a21 a 438 2227 -9a2b 6 440 2227 -9a31 6 441 2227 -9a37 5 443 2227 -9a3c 5 430 2227 -9a41 4 389 2227 -9a45 1 444 2227 -FUNC 9a46 39 0 terminate() -9a46 c 94 5983 -9a52 8 107 5983 -9a5a 4 111 5983 -9a5e 4 116 5983 -9a62 2 120 5983 -9a64 2 121 5983 -9a66 7 122 5983 -9a6d 7 127 5983 -9a74 5 135 5983 -9a79 6 136 5983 -FUNC 9a7f 13 0 unexpected() -9a7f 0 149 5983 -9a7f 8 159 5983 -9a87 4 163 5983 -9a8b 2 167 5983 -9a8d 5 173 5983 -FUNC 9a92 37 0 _inconsistency() -9a92 c 187 5983 -9a9e c 196 5983 -9aaa 4 197 5983 -9aae 4 202 5983 -9ab2 2 203 5983 -9ab4 2 204 5983 -9ab6 7 205 5983 -9abd 7 211 5983 -9ac4 5 217 5983 -FUNC 9ac9 11 4 _initp_eh_hooks -9ac9 0 74 5983 -9ac9 10 80 5983 -9ad9 1 81 5983 -FUNC 9ae0 4c c _CallSettingFrame -9ae0 3 48 5665 -9ae3 3 57 5665 -9ae6 1 58 5665 -9ae7 1 59 5665 -9ae8 3 60 5665 -9aeb 3 61 5665 -9aee 3 62 5665 -9af1 3 63 5665 -9af4 1 64 5665 -9af5 3 65 5665 -9af8 3 66 5665 -9afb 3 67 5665 -9afe 5 68 5665 -9b03 1 69 5665 -9b04 1 70 5665 -9b05 2 71 5665 -9b07 1 73 5665 -9b08 1 74 5665 -9b09 2 75 5665 -9b0b 1 76 5665 -9b0c 3 77 5665 -9b0f 1 78 5665 -9b10 2 79 5665 -9b12 6 80 5665 -9b18 2 81 5665 -9b1a 5 82 5665 -9b1f 1 84 5665 -9b20 5 85 5665 -9b25 1 86 5665 -9b26 1 87 5665 -9b27 1 88 5665 -9b28 4 89 5665 -PUBLIC 9b07 0 _NLG_Return -FUNC 9b2c b9 4 _onexit_nolock -9b2c 5 104 3259 -9b31 b 107 3259 -9b3c 13 108 3259 -9b4f 16 112 3259 -9b65 d 122 3259 -9b72 d 127 3259 -9b7f 14 129 3259 -9b93 3 134 3259 -9b96 14 136 3259 -9baa 3 147 3259 -9bad f 149 3259 -9bbc e 156 3259 -9bca c 157 3259 -9bd6 7 159 3259 -9bdd 6 114 3259 -9be3 2 160 3259 -FUNC 9be5 2f 0 __onexitinit -9be5 1 205 3259 -9be6 b 208 3259 -9bf1 9 209 3259 -9bfa e 211 3259 -9c08 4 216 3259 -9c0c 1 221 3259 -9c0d 3 218 3259 -9c10 3 220 3259 -9c13 1 221 3259 -FUNC 9c14 3c 4 _onexit -9c14 c 85 3259 -9c20 5 88 3259 -9c25 4 90 3259 -9c29 c 91 3259 -9c35 c 93 3259 -9c41 3 97 3259 -9c44 6 98 3259 -9c4a 6 94 3259 -FUNC 9c50 12 4 atexit -9c50 0 165 3259 -9c50 11 166 3259 -9c61 1 167 3259 -FUNC 9c62 4f 4 V6_HeapAlloc -9c62 c 27 5425 -9c6e 4 28 5425 -9c72 b 29 5425 -9c7d 8 31 5425 -9c85 4 32 5425 -9c89 a 33 5425 -9c93 c 35 5425 -9c9f 3 39 5425 -9ca2 6 40 5425 -9ca8 9 36 5425 -FUNC 9cb1 75 4 _heap_alloc -9cb1 0 90 5425 -9cb1 9 95 5425 -9cba 5 96 5425 -9cbf 7 97 5425 -9cc6 c 98 5425 -9cd2 a 104 5425 -9cdc 18 105 5425 -9cf4 1 129 5425 -9cf5 a 107 5425 -9cff 9 108 5425 -9d08 2 109 5425 -9d0a 4 121 5425 -9d0e 1 122 5425 -9d0f 6 124 5425 -9d15 10 126 5425 -9d25 1 129 5425 -FUNC 9d26 c3 4 malloc -9d26 1 155 5425 -9d27 16 159 5425 -9d3d 65 163 5425 -9da2 4 168 5425 -9da6 b 172 5425 -9db1 b 179 5425 -9dbc 2 183 5425 -9dbe 7 174 5425 -9dc5 8 193 5425 -9dcd 5 195 5425 -9dd2 1 196 5425 -9dd3 7 185 5425 -9dda b 186 5425 -9de5 3 187 5425 -9de8 1 196 5425 -FUNC 9de9 a 4 _initp_heap_handler -9de9 0 31 5230 -9de9 9 32 5230 -9df2 1 33 5230 -FUNC 9df3 31 4 _set_new_handler(int (*)(unsigned int)) -9df3 1 53 5230 -9df4 7 57 5230 -9dfb b 59 5230 -9e06 b 60 5230 -9e11 f 63 5230 -9e20 3 65 5230 -9e23 1 66 5230 -FUNC 9e24 9 4 _set_new_handler(int) -9e24 0 86 5230 -9e24 8 89 5230 -9e2c 1 90 5230 -FUNC 9e2d d 0 _query_new_handler() -9e2d 0 110 5230 -9e2d c 111 5230 -9e39 1 112 5230 -FUNC 9e3a 22 4 _callnewh -9e3a 0 131 5230 -9e3a b 133 5230 -9e45 10 135 5230 -9e55 3 138 5230 -9e58 1 139 5230 -9e59 2 136 5230 -9e5b 1 139 5230 -FUNC 9e5c 22 18 _invoke_watson_if_error -9e5c 3 754 5850 -9e5f 6 755 5850 -9e65 17 759 5850 -9e7c 2 760 5850 -FUNC 9e7e 70 4 type_info::_Type_info_dtor(type_info *) -9e7e c 62 5815 -9e8a 8 63 5815 -9e92 4 64 5815 -9e96 a 65 5815 -9ea0 d 70 5815 -9ead 4 72 5815 -9eb1 4 74 5815 -9eb5 6 79 5815 -9ebb 7 80 5815 -9ec2 9 94 5815 -9ecb 4 101 5815 -9ecf c 103 5815 -9edb 6 107 5815 -9ee1 2 83 5815 -9ee3 2 72 5815 -9ee5 9 104 5815 -FUNC 9eee f5 8 type_info::_Name_base(type_info const *,__type_info_node *) -9eee c 109 5815 -9efa e 113 5815 -9f08 24 124 5815 -9f2c 7 125 5815 -9f33 16 132 5815 -9f49 2 133 5815 -9f4b 5 132 5815 -9f50 b 136 5815 -9f5b 5 142 5815 -9f60 a 149 5815 -9f6a 4 150 5815 -9f6e 11 157 5815 -9f7f 20 158 5815 -9f9f 5 159 5815 -9fa4 9 165 5815 -9fad 3 166 5815 -9fb0 2 167 5815 -9fb2 7 173 5815 -9fb9 9 180 5815 -9fc2 c 181 5815 -9fce 3 188 5815 -9fd1 6 189 5815 -9fd7 3 181 5815 -9fda 9 182 5815 -FUNC 9fe3 70 4 type_info::_Type_info_dtor_internal(type_info *) -9fe3 c 197 5815 -9fef 8 198 5815 -9ff7 4 199 5815 -9ffb a 200 5815 -a005 d 205 5815 -a012 4 207 5815 -a016 4 209 5815 -a01a 6 214 5815 -a020 7 215 5815 -a027 9 229 5815 -a030 4 236 5815 -a034 c 238 5815 -a040 6 242 5815 -a046 2 218 5815 -a048 2 207 5815 -a04a 9 239 5815 -FUNC a053 31 10 __unDNameHelper -a053 3 249 5815 -a056 7 250 5815 -a05d 7 252 5815 -a064 1e 260 5815 -a082 2 261 5815 -FUNC a084 eb 8 type_info::_Name_base_internal(type_info const *,__type_info_node *) -a084 c 265 5815 -a090 e 269 5815 -a09e 1a 273 5815 -a0b8 7 274 5815 -a0bf 16 281 5815 -a0d5 2 282 5815 -a0d7 5 281 5815 -a0dc b 285 5815 -a0e7 5 291 5815 -a0ec a 298 5815 -a0f6 4 299 5815 -a0fa 11 306 5815 -a10b 20 307 5815 -a12b 5 308 5815 -a130 9 314 5815 -a139 3 315 5815 -a13c 2 316 5815 -a13e 7 322 5815 -a145 9 329 5815 -a14e c 330 5815 -a15a 3 337 5815 -a15d 6 338 5815 -a163 3 330 5815 -a166 9 331 5815 -FUNC a16f 53 4 __clean_type_info_names_internal -a16f c 346 5815 -a17b 8 347 5815 -a183 4 348 5815 -a187 6 352 5815 -a18d 4 354 5815 -a191 3 356 5815 -a194 7 357 5815 -a19b 8 358 5815 -a1a3 4 354 5815 -a1a7 c 359 5815 -a1b3 6 363 5815 -a1b9 9 361 5815 -FUNC a1d0 88 8 strcmp -a1d0 0 65 926 -a1d0 4 73 926 -a1d4 4 74 926 -a1d8 6 76 926 -a1de 2 77 926 -a1e0 2 81 926 -a1e2 2 83 926 -a1e4 2 84 926 -a1e6 2 85 926 -a1e8 2 86 926 -a1ea 3 87 926 -a1ed 2 88 926 -a1ef 2 89 926 -a1f1 2 90 926 -a1f3 3 92 926 -a1f6 3 94 926 -a1f9 2 95 926 -a1fb 2 96 926 -a1fd 2 97 926 -a1ff 3 98 926 -a202 2 99 926 -a204 3 100 926 -a207 3 101 926 -a20a 2 102 926 -a20c 4 103 926 -a210 2 107 926 -a212 2 108 926 -a214 2 115 926 -a216 2 116 926 -a218 3 117 926 -a21b 1 118 926 -a21c 6 122 926 -a222 2 123 926 -a224 2 125 926 -a226 3 126 926 -a229 2 127 926 -a22b 2 128 926 -a22d 3 129 926 -a230 2 130 926 -a232 2 131 926 -a234 6 133 926 -a23a 2 134 926 -a23c 3 139 926 -a23f 3 140 926 -a242 2 141 926 -a244 2 142 926 -a246 2 143 926 -a248 2 144 926 -a24a 3 145 926 -a24d 2 146 926 -a24f 2 147 926 -a251 2 148 926 -a253 3 149 926 -a256 2 150 926 -FUNC a258 65 c strcpy_s -a258 0 13 781 -a258 30 18 781 -a288 c 19 781 -a294 2 21 781 -a296 d 23 781 -a2a3 4 27 781 -a2a7 2 29 781 -a2a9 e 30 781 -a2b7 5 33 781 -a2bc 1 34 781 -FUNC a2c0 7a c memset -a2c0 0 59 934 -a2c0 4 68 934 -a2c4 4 69 934 -a2c8 2 71 934 -a2ca 2 72 934 -a2cc 2 74 934 -a2ce 4 75 934 -a2d2 2 78 934 -a2d4 2 79 934 -a2d6 6 80 934 -a2dc 2 81 934 -a2de 7 82 934 -a2e5 2 83 934 -a2e7 5 85 934 -a2ec 1 91 934 -a2ed 2 92 934 -a2ef 3 94 934 -a2f2 2 95 934 -a2f4 2 97 934 -a2f6 3 98 934 -a2f9 2 99 934 -a2fb 2 101 934 -a2fd 2 103 934 -a2ff 3 104 934 -a302 3 105 934 -a305 2 106 934 -a307 2 110 934 -a309 3 111 934 -a30c 2 113 934 -a30e 2 115 934 -a310 3 117 934 -a313 2 119 934 -a315 2 122 934 -a317 3 123 934 -a31a 3 124 934 -a31d 2 125 934 -a31f 2 127 934 -a321 2 129 934 -a323 2 130 934 -a325 2 134 934 -a327 3 135 934 -a32a 3 137 934 -a32d 2 138 934 -a32f 4 142 934 -a333 1 143 934 -a334 1 145 934 -a335 4 148 934 -a339 1 150 934 -FUNC a340 365 c memcpy -a340 3 101 1027 -a343 1 113 1027 -a344 1 114 1027 -a345 3 116 1027 -a348 3 117 1027 -a34b 3 119 1027 -a34e 2 129 1027 -a350 2 131 1027 -a352 2 132 1027 -a354 2 134 1027 -a356 2 135 1027 -a358 2 137 1027 -a35a 6 138 1027 -a360 6 147 1027 -a366 2 148 1027 -a368 7 150 1027 -a36f 2 151 1027 -a371 1 153 1027 -a372 1 154 1027 -a373 3 155 1027 -a376 3 156 1027 -a379 2 157 1027 -a37b 1 158 1027 -a37c 1 159 1027 -a37d 2 160 1027 -a37f 1 163 1027 -a380 1 164 1027 -a381 1 165 1027 -a382 5 166 1027 -a387 6 179 1027 -a38d 2 180 1027 -a38f 3 182 1027 -a392 3 183 1027 -a395 3 185 1027 -a398 2 186 1027 -a39a 2 188 1027 -a39c 8 190 1027 -a3a4 2 208 1027 -a3a6 5 209 1027 -a3ab 3 211 1027 -a3ae 2 212 1027 -a3b0 3 214 1027 -a3b3 2 215 1027 -a3b5 7 217 1027 -a3bc 8 221 1027 -a3c4 14 225 1027 -a3d8 2 232 1027 -a3da 2 233 1027 -a3dc 2 235 1027 -a3de 3 236 1027 -a3e1 3 238 1027 -a3e4 3 239 1027 -a3e7 3 241 1027 -a3ea 3 242 1027 -a3ed 3 244 1027 -a3f0 3 245 1027 -a3f3 3 247 1027 -a3f6 2 248 1027 -a3f8 2 250 1027 -a3fa a 252 1027 -a404 2 256 1027 -a406 2 257 1027 -a408 2 259 1027 -a40a 3 260 1027 -a40d 3 262 1027 -a410 3 263 1027 -a413 3 265 1027 -a416 3 266 1027 -a419 3 268 1027 -a41c 2 269 1027 -a41e 2 271 1027 -a420 8 273 1027 -a428 2 277 1027 -a42a 2 278 1027 -a42c 2 280 1027 -a42e 3 281 1027 -a431 3 283 1027 -a434 3 284 1027 -a437 3 286 1027 -a43a 2 287 1027 -a43c 2 289 1027 -a43e 2a 291 1027 -a468 4 298 1027 -a46c 4 300 1027 -a470 4 302 1027 -a474 4 304 1027 -a478 4 306 1027 -a47c 4 308 1027 -a480 4 310 1027 -a484 4 312 1027 -a488 4 314 1027 -a48c 4 316 1027 -a490 4 318 1027 -a494 4 320 1027 -a498 4 322 1027 -a49c 4 324 1027 -a4a0 7 326 1027 -a4a7 2 328 1027 -a4a9 2 329 1027 -a4ab 19 331 1027 -a4c4 3 340 1027 -a4c7 1 341 1027 -a4c8 1 342 1027 -a4c9 3 344 1027 -a4cc 2 348 1027 -a4ce 2 350 1027 -a4d0 3 351 1027 -a4d3 1 352 1027 -a4d4 1 353 1027 -a4d5 3 354 1027 -a4d8 2 358 1027 -a4da 2 360 1027 -a4dc 3 361 1027 -a4df 3 362 1027 -a4e2 3 363 1027 -a4e5 1 364 1027 -a4e6 1 365 1027 -a4e7 5 366 1027 -a4ec 2 370 1027 -a4ee 2 372 1027 -a4f0 3 373 1027 -a4f3 3 374 1027 -a4f6 3 375 1027 -a4f9 3 376 1027 -a4fc 3 377 1027 -a4ff 1 378 1027 -a500 1 379 1027 -a501 3 380 1027 -a504 4 391 1027 -a508 4 392 1027 -a50c 6 397 1027 -a512 2 398 1027 -a514 3 400 1027 -a517 3 401 1027 -a51a 3 403 1027 -a51d 2 404 1027 -a51f 1 406 1027 -a520 2 407 1027 -a522 1 408 1027 -a523 9 410 1027 -a52c 2 414 1027 -a52e a 417 1027 -a538 2 422 1027 -a53a 5 423 1027 -a53f 3 425 1027 -a542 2 426 1027 -a544 3 428 1027 -a547 2 429 1027 -a549 7 431 1027 -a550 14 435 1027 -a564 3 442 1027 -a567 2 443 1027 -a569 3 445 1027 -a56c 3 446 1027 -a56f 3 448 1027 -a572 3 449 1027 -a575 3 451 1027 -a578 2 452 1027 -a57a 1 454 1027 -a57b 2 455 1027 -a57d 1 456 1027 -a57e a 458 1027 -a588 3 462 1027 -a58b 2 463 1027 -a58d 3 465 1027 -a590 3 466 1027 -a593 3 468 1027 -a596 3 469 1027 -a599 3 471 1027 -a59c 3 472 1027 -a59f 3 474 1027 -a5a2 2 475 1027 -a5a4 1 477 1027 -a5a5 2 478 1027 -a5a7 1 479 1027 -a5a8 8 481 1027 -a5b0 3 485 1027 -a5b3 2 486 1027 -a5b5 3 488 1027 -a5b8 3 489 1027 -a5bb 3 491 1027 -a5be 3 492 1027 -a5c1 3 494 1027 -a5c4 3 495 1027 -a5c7 3 497 1027 -a5ca 3 498 1027 -a5cd 3 500 1027 -a5d0 6 501 1027 -a5d6 1 503 1027 -a5d7 2 504 1027 -a5d9 1 505 1027 -a5da 2a 507 1027 -a604 4 516 1027 -a608 4 518 1027 -a60c 4 520 1027 -a610 4 522 1027 -a614 4 524 1027 -a618 4 526 1027 -a61c 4 528 1027 -a620 4 530 1027 -a624 4 532 1027 -a628 4 534 1027 -a62c 4 536 1027 -a630 4 538 1027 -a634 4 540 1027 -a638 4 542 1027 -a63c 7 544 1027 -a643 2 546 1027 -a645 2 547 1027 -a647 19 549 1027 -a660 3 558 1027 -a663 1 560 1027 -a664 1 561 1027 -a665 3 562 1027 -a668 3 566 1027 -a66b 3 568 1027 -a66e 3 569 1027 -a671 1 570 1027 -a672 1 571 1027 -a673 5 572 1027 -a678 3 576 1027 -a67b 3 578 1027 -a67e 3 579 1027 -a681 3 580 1027 -a684 3 581 1027 -a687 1 582 1027 -a688 1 583 1027 -a689 3 584 1027 -a68c 3 588 1027 -a68f 3 590 1027 -a692 3 591 1027 -a695 3 592 1027 -a698 3 593 1027 -a69b 3 594 1027 -a69e 3 595 1027 -a6a1 1 596 1027 -a6a2 1 597 1027 -a6a3 2 598 1027 -FUNC a6b0 365 c memmove -a6b0 3 101 977 -a6b3 1 113 977 -a6b4 1 114 977 -a6b5 3 116 977 -a6b8 3 117 977 -a6bb 3 119 977 -a6be 2 129 977 -a6c0 2 131 977 -a6c2 2 132 977 -a6c4 2 134 977 -a6c6 2 135 977 -a6c8 2 137 977 -a6ca 6 138 977 -a6d0 6 147 977 -a6d6 2 148 977 -a6d8 7 150 977 -a6df 2 151 977 -a6e1 1 153 977 -a6e2 1 154 977 -a6e3 3 155 977 -a6e6 3 156 977 -a6e9 2 157 977 -a6eb 1 158 977 -a6ec 1 159 977 -a6ed 2 160 977 -a6ef 1 163 977 -a6f0 1 164 977 -a6f1 1 165 977 -a6f2 5 166 977 -a6f7 6 179 977 -a6fd 2 180 977 -a6ff 3 182 977 -a702 3 183 977 -a705 3 185 977 -a708 2 186 977 -a70a 2 188 977 -a70c 8 190 977 -a714 2 208 977 -a716 5 209 977 -a71b 3 211 977 -a71e 2 212 977 -a720 3 214 977 -a723 2 215 977 -a725 7 217 977 -a72c 8 221 977 -a734 14 225 977 -a748 2 232 977 -a74a 2 233 977 -a74c 2 235 977 -a74e 3 236 977 -a751 3 238 977 -a754 3 239 977 -a757 3 241 977 -a75a 3 242 977 -a75d 3 244 977 -a760 3 245 977 -a763 3 247 977 -a766 2 248 977 -a768 2 250 977 -a76a a 252 977 -a774 2 256 977 -a776 2 257 977 -a778 2 259 977 -a77a 3 260 977 -a77d 3 262 977 -a780 3 263 977 -a783 3 265 977 -a786 3 266 977 -a789 3 268 977 -a78c 2 269 977 -a78e 2 271 977 -a790 8 273 977 -a798 2 277 977 -a79a 2 278 977 -a79c 2 280 977 -a79e 3 281 977 -a7a1 3 283 977 -a7a4 3 284 977 -a7a7 3 286 977 -a7aa 2 287 977 -a7ac 2 289 977 -a7ae 2a 291 977 -a7d8 4 298 977 -a7dc 4 300 977 -a7e0 4 302 977 -a7e4 4 304 977 -a7e8 4 306 977 -a7ec 4 308 977 -a7f0 4 310 977 -a7f4 4 312 977 -a7f8 4 314 977 -a7fc 4 316 977 -a800 4 318 977 -a804 4 320 977 -a808 4 322 977 -a80c 4 324 977 -a810 7 326 977 -a817 2 328 977 -a819 2 329 977 -a81b 19 331 977 -a834 3 340 977 -a837 1 341 977 -a838 1 342 977 -a839 3 344 977 -a83c 2 348 977 -a83e 2 350 977 -a840 3 351 977 -a843 1 352 977 -a844 1 353 977 -a845 3 354 977 -a848 2 358 977 -a84a 2 360 977 -a84c 3 361 977 -a84f 3 362 977 -a852 3 363 977 -a855 1 364 977 -a856 1 365 977 -a857 5 366 977 -a85c 2 370 977 -a85e 2 372 977 -a860 3 373 977 -a863 3 374 977 -a866 3 375 977 -a869 3 376 977 -a86c 3 377 977 -a86f 1 378 977 -a870 1 379 977 -a871 3 380 977 -a874 4 391 977 -a878 4 392 977 -a87c 6 397 977 -a882 2 398 977 -a884 3 400 977 -a887 3 401 977 -a88a 3 403 977 -a88d 2 404 977 -a88f 1 406 977 -a890 2 407 977 -a892 1 408 977 -a893 9 410 977 -a89c 2 414 977 -a89e a 417 977 -a8a8 2 422 977 -a8aa 5 423 977 -a8af 3 425 977 -a8b2 2 426 977 -a8b4 3 428 977 -a8b7 2 429 977 -a8b9 7 431 977 -a8c0 14 435 977 -a8d4 3 442 977 -a8d7 2 443 977 -a8d9 3 445 977 -a8dc 3 446 977 -a8df 3 448 977 -a8e2 3 449 977 -a8e5 3 451 977 -a8e8 2 452 977 -a8ea 1 454 977 -a8eb 2 455 977 -a8ed 1 456 977 -a8ee a 458 977 -a8f8 3 462 977 -a8fb 2 463 977 -a8fd 3 465 977 -a900 3 466 977 -a903 3 468 977 -a906 3 469 977 -a909 3 471 977 -a90c 3 472 977 -a90f 3 474 977 -a912 2 475 977 -a914 1 477 977 -a915 2 478 977 -a917 1 479 977 -a918 8 481 977 -a920 3 485 977 -a923 2 486 977 -a925 3 488 977 -a928 3 489 977 -a92b 3 491 977 -a92e 3 492 977 -a931 3 494 977 -a934 3 495 977 -a937 3 497 977 -a93a 3 498 977 -a93d 3 500 977 -a940 6 501 977 -a946 1 503 977 -a947 2 504 977 -a949 1 505 977 -a94a 2a 507 977 -a974 4 516 977 -a978 4 518 977 -a97c 4 520 977 -a980 4 522 977 -a984 4 524 977 -a988 4 526 977 -a98c 4 528 977 -a990 4 530 977 -a994 4 532 977 -a998 4 534 977 -a99c 4 536 977 -a9a0 4 538 977 -a9a4 4 540 977 -a9a8 4 542 977 -a9ac 7 544 977 -a9b3 2 546 977 -a9b5 2 547 977 -a9b7 19 549 977 -a9d0 3 558 977 -a9d3 1 560 977 -a9d4 1 561 977 -a9d5 3 562 977 -a9d8 3 566 977 -a9db 3 568 977 -a9de 3 569 977 -a9e1 1 570 977 -a9e2 1 571 977 -a9e3 5 572 977 -a9e8 3 576 977 -a9eb 3 578 977 -a9ee 3 579 977 -a9f1 3 580 977 -a9f4 3 581 977 -a9f7 1 582 977 -a9f8 1 583 977 -a9f9 3 584 977 -a9fc 3 588 977 -a9ff 3 590 977 -aa02 3 591 977 -aa05 3 592 977 -aa08 3 593 977 -aa0b 3 594 977 -aa0e 3 595 977 -aa11 1 596 977 -aa12 1 597 977 -aa13 2 598 977 -FUNC aa15 3d 4 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) -aa15 0 67 5721 -aa15 33 68 5721 -aa48 5 69 5721 -aa4d 2 72 5721 -aa4f 3 73 5721 -FUNC aa52 e 0 __CxxSetUnhandledExceptionFilter -aa52 0 86 5721 -aa52 b 89 5721 -aa5d 2 90 5721 -aa5f 1 91 5721 -FUNC aa60 1a0 4 _NMSG_WRITE -aa60 2 174 2418 -aa62 a 178 2418 -aa6c f 179 2418 -aa7b a 182 2418 -aa85 2a 203 2418 -aaaf c 215 2418 -aabb 2a 224 2418 -aae5 1e 227 2418 -ab03 26 228 2418 -ab29 d 231 2418 -ab36 b 233 2418 -ab41 2f 234 2418 -ab70 20 237 2418 -ab90 22 238 2418 -abb2 15 242 2418 -abc7 a 205 2418 -abd1 9 206 2418 -abda 24 212 2418 -abfe 2 245 2418 -FUNC ac00 20 4 _GET_RTERRMSG -ac00 0 268 2418 -ac00 2 271 2418 -ac02 13 272 2418 -ac15 2 275 2418 -ac17 1 276 2418 -ac18 7 273 2418 -ac1f 1 276 2418 -FUNC ac20 39 0 _FF_MSGBANNER -ac20 0 141 2418 -ac20 22 145 2418 -ac42 a 147 2418 -ac4c c 148 2418 -ac58 1 150 2418 -FUNC ac59 1 4 _initp_misc_winxfltr -ac59 0 105 2752 -ac59 1 106 2752 -FUNC ac5a 32 4 xcptlookup -ac5a 0 410 2752 -ac5a b 411 2752 -ac65 14 418 2752 -ac79 e 425 2752 -ac87 2 428 2752 -ac89 2 426 2752 -ac8b 1 429 2752 -FUNC ac8c 15e 8 _XcptFilter -ac8c 6 206 2752 -ac92 7 213 2752 -ac99 8 214 2752 -aca1 34 219 2752 -acd5 2 221 2752 -acd7 2 225 2752 -acd9 3 227 2752 -acdc 7 234 2752 -ace3 7 235 2752 -acea 5 243 2752 -acef 4 248 2752 -acf3 8 249 2752 -acfb 3 255 2752 -acfe 6 259 2752 -ad04 6 273 2752 -ad0a 6 274 2752 -ad10 c 283 2752 -ad1c 17 291 2752 -ad33 1e 294 2752 -ad51 3 291 2752 -ad54 c 321 2752 -ad60 9 323 2752 -ad69 7 325 2752 -ad70 9 327 2752 -ad79 7 329 2752 -ad80 9 331 2752 -ad89 7 333 2752 -ad90 9 335 2752 -ad99 7 337 2752 -ada0 9 339 2752 -ada9 7 341 2752 -adb0 9 343 2752 -adb9 7 345 2752 -adc0 7 347 2752 -adc7 8 356 2752 -adcf 3 361 2752 -add2 2 363 2752 -add4 4 368 2752 -add8 3 369 2752 -addb 7 375 2752 -ade2 6 377 2752 -ade8 2 379 2752 -FUNC adea 1b 8 __CppXcptFilter -adea 0 145 2752 -adea b 146 2752 -adf5 c 147 2752 -ae01 1 151 2752 -ae02 2 149 2752 -ae04 1 151 2752 -FUNC ae05 db 0 _setenvp -ae05 1 77 2280 -ae06 c 85 2280 -ae12 5 86 2280 -ae17 8 91 2280 -ae1f 4 98 2280 -ae23 8 99 2280 -ae2b 4 110 2280 -ae2f 1 111 2280 -ae30 11 112 2280 -ae41 15 117 2280 -ae56 2 118 2280 -ae58 9 121 2280 -ae61 9 123 2280 -ae6a 6 125 2280 -ae70 10 127 2280 -ae80 1c 133 2280 -ae9c 3 134 2280 -ae9f 6 121 2280 -aea5 b 138 2280 -aeb0 6 139 2280 -aeb6 2 142 2280 -aeb8 a 149 2280 -aec2 7 152 2280 -aec9 17 153 2280 -FUNC aee0 a 4 _set_pgmptr -aee0 a 334 2303 -FUNC aeea 198 c parse_cmdline -aeea 4 218 2322 -aeee 6 226 2322 -aef4 8 230 2322 -aefc 14 231 2322 -af10 3 250 2322 -af13 5 252 2322 -af18 5 254 2322 -af1d 9 255 2322 -af26 2 256 2322 -af28 2 258 2322 -af2a 4 259 2322 -af2e 8 260 2322 -af36 2 262 2322 -af38 f 264 2322 -af47 2 265 2322 -af49 6 266 2322 -af4f a 267 2322 -af59 1 268 2322 -af5a 1a 272 2322 -af74 4 277 2322 -af78 4 278 2322 -af7c 4 281 2322 -af80 9 286 2322 -af89 a 287 2322 -af93 3 288 2322 -af96 1 275 2322 -af97 2 276 2322 -af99 9 291 2322 -afa2 6 295 2322 -afa8 9 296 2322 -afb1 2 297 2322 -afb3 3 311 2322 -afb6 4 315 2322 -afba 1 318 2322 -afbb 1 319 2322 -afbc 5 316 2322 -afc1 5 321 2322 -afc6 5 324 2322 -afcb e 325 2322 -afd9 2 326 2322 -afdb 2 327 2322 -afdd d 329 2322 -afea 2 332 2322 -afec 5 336 2322 -aff1 4 337 2322 -aff5 4 338 2322 -aff9 6 339 2322 -afff 3 338 2322 -b002 14 343 2322 -b016 4 348 2322 -b01a 2 349 2322 -b01c 10 350 2322 -b02c b 351 2322 -b037 2 352 2322 -b039 a 354 2322 -b043 2 355 2322 -b045 a 356 2322 -b04f 1 357 2322 -b050 2 358 2322 -b052 5 361 2322 -b057 1 363 2322 -b058 5 372 2322 -b05d 4 376 2322 -b061 7 377 2322 -b068 2 378 2322 -b06a 8 379 2322 -b072 9 382 2322 -b07b 3 383 2322 -b07e 2 384 2322 -b080 2 385 2322 -FUNC b082 b9 0 _setargv -b082 7 88 2322 -b089 c 97 2322 -b095 5 98 2322 -b09a 18 104 2322 -b0b2 19 120 2322 -b0cb 11 127 2322 -b0dc 15 132 2322 -b0f1 a 136 2322 -b0fb 2 138 2322 -b0fd 8 140 2322 -b105 3 141 2322 -b108 2 142 2322 -b10a 13 149 2322 -b11d c 153 2322 -b129 6 157 2322 -b12f 4 172 2322 -b133 6 134 2322 -b139 2 173 2322 -FUNC b13b 135 0 __crtGetEnvironmentStringsA -b13b 2 43 4307 -b13d 1a 57 4307 -b157 8 59 4307 -b15f c 60 4307 -b16b b 62 4307 -b176 e 63 4307 -b184 9 68 4307 -b18d 4 71 4307 -b191 8 72 4307 -b199 7 73 4307 -b1a0 7 77 4307 -b1a7 7 78 4307 -b1ae 7 79 4307 -b1b5 1b 93 4307 -b1d0 13 97 4307 -b1e3 11 111 4307 -b1f4 a 113 4307 -b1fe 8 114 4307 -b206 7 99 4307 -b20d 4 100 4307 -b211 6 123 4307 -b217 2 152 4307 -b219 a 126 4307 -b223 6 127 4307 -b229 4 133 4307 -b22d 5 134 4307 -b232 5 135 4307 -b237 5 138 4307 -b23c d 140 4307 -b249 7 141 4307 -b250 5 142 4307 -b255 b 145 4307 -b260 7 147 4307 -b267 6 149 4307 -b26d 3 153 4307 -FUNC b270 24 0 _RTC_Initialize -FUNC b294 24 0 _RTC_Terminate -FUNC b2b8 5b 0 __heap_select -b2b8 6 70 5473 -b2be 23 143 5473 -b2e1 1b 144 5473 -b2fc d 145 5473 -b309 3 146 5473 -b30c 2 164 5473 -b30e 3 161 5473 -b311 2 164 5473 -FUNC b313 5a 4 _heap_init -b313 0 192 5473 -b313 20 199 5473 -b333 2 200 5473 -b335 1 240 5473 -b336 5 204 5473 -b33b a 206 5473 -b345 f 209 5473 -b354 c 211 5473 -b360 7 212 5473 -b367 2 213 5473 -b369 3 239 5473 -b36c 1 240 5473 -FUNC b36d 74 0 _heap_term -b36d 1 261 5473 -b36e c 264 5473 -b37a 1b 270 5473 -b395 f 273 5473 -b3a4 b 276 5473 -b3af d 278 5473 -b3bc 11 281 5473 -b3cd c 300 5473 -b3d9 7 301 5473 -b3e0 1 302 5473 -FUNC b3e1 6 0 _get_heap_handle -b3e1 0 320 5473 -b3e1 5 322 5473 -b3e6 1 323 5473 -FUNC b3e7 94 0 __security_init_cookie -b3e7 6 97 3689 -b3ed 21 114 3689 -b40e 7 116 3689 -b415 3 117 3689 -b418 a 127 3689 -b422 6 132 3689 -b428 8 135 3689 -b430 8 136 3689 -b438 8 137 3689 -b440 10 139 3689 -b450 2 144 3689 -b452 4 161 3689 -b456 7 163 3689 -b45d 4 166 3689 -b461 7 168 3689 -b468 6 172 3689 -b46e b 173 3689 -b479 2 175 3689 -FUNC b47b 8 4 _crt_debugger_hook -b47b 0 62 3966 -b47b 7 65 3966 -b482 1 66 3966 -FUNC b483 160 8 _flsbuf -b483 5 93 2041 -b488 c 104 2041 -b494 8 106 2041 -b49c b 107 2041 -b4a7 4 108 2041 -b4ab 8 109 2041 -b4b3 4 110 2041 -b4b7 b 111 2041 -b4c2 3 113 2041 -b4c5 6 124 2041 -b4cb b 126 2041 -b4d6 3 127 2041 -b4d9 8 128 2041 -b4e1 9 137 2041 -b4ea f 141 2041 -b4f9 25 151 2041 -b51e 7 153 2041 -b525 d 158 2041 -b532 5 162 2041 -b537 5 163 2041 -b53c 6 164 2041 -b542 7 166 2041 -b549 10 167 2041 -b559 2 168 2041 -b55b 6 131 2041 -b561 5 132 2041 -b566 2e 169 2041 -b594 12 171 2041 -b5a6 2 174 2041 -b5a8 8 179 2041 -b5b0 2 186 2041 -b5b2 3 187 2041 -b5b5 13 189 2041 -b5c8 5 201 2041 -b5cd 4 202 2041 -b5d1 5 203 2041 -b5d6 b 207 2041 -b5e1 2 212 2041 -FUNC b5e3 25 4 write_char -b5e3 0 2433 1163 -b5e3 a 2434 1163 -b5ed 2 2437 1163 -b5ef 12 2440 1163 -b601 3 2444 1163 -b604 1 2447 1163 -b605 2 2446 1163 -b607 1 2447 1163 -FUNC b608 25 c write_multi_char -b608 6 2498 1163 -b60e 2 2501 1163 -b610 e 2500 1163 -b61e 6 2501 1163 -b624 7 2499 1163 -b62b 2 2504 1163 -FUNC b62d 4f 4 write_string -b62d 0 2563 1163 -b62d 12 2564 1163 -b63f 6 2566 1163 -b645 2 2567 1163 -b647 11 2570 1163 -b658 6 2571 1163 -b65e a 2573 1163 -b668 a 2574 1163 -b672 9 2569 1163 -b67b 1 2579 1163 -FUNC b67c 910 10 _woutput_l -b67c 1b 975 1163 -b697 72 1031 1163 -b709 4 1036 1163 -b70d 2c 1073 1163 -b739 1a 1075 1163 -b753 8 1076 1163 -b75b 18 1131 1163 -b773 2 1171 1163 -b775 13 1173 1163 -b788 3 1174 1163 -b78b 5 1175 1163 -b790 1f 1179 1163 -b7af 4 1193 1163 -b7b3 5 1194 1163 -b7b8 4 1181 1163 -b7bc 5 1182 1163 -b7c1 4 1184 1163 -b7c5 5 1185 1163 -b7ca 7 1190 1163 -b7d1 5 1191 1163 -b7d6 3 1187 1163 -b7d9 5 1196 1163 -b7de 6 1200 1163 -b7e4 9 1206 1163 -b7ed b 1233 1163 -b7f8 4 1235 1163 -b7fc 3 1236 1163 -b7ff 5 1239 1163 -b804 10 1241 1163 -b814 5 1243 1163 -b819 4 1248 1163 -b81d 5 1249 1163 -b822 6 1253 1163 -b828 9 1259 1163 -b831 b 1284 1163 -b83c 4 1285 1163 -b840 5 1287 1163 -b845 10 1289 1163 -b855 5 1291 1163 -b85a 1b 1295 1163 -b875 7 1362 1163 -b87c 5 1363 1163 -b881 6 1301 1163 -b887 2 1303 1163 -b889 a 1304 1163 -b893 5 1306 1163 -b898 4 1308 1163 -b89c 5 1310 1163 -b8a1 4 1358 1163 -b8a5 5 1359 1163 -b8aa 10 1322 1163 -b8ba 3 1324 1163 -b8bd f 1325 1163 -b8cc d 1327 1163 -b8d9 3 1329 1163 -b8dc a 1330 1163 -b8e6 5 1332 1163 -b8eb 3c 1337 1163 -b927 4 1352 1163 -b92b 13 1166 1163 -b93e 5 1167 1163 -b943 32 1378 1163 -b975 d 1716 1163 -b982 4 1724 1163 -b986 18 1749 1163 -b99e c 1750 1163 -b9aa c 1381 1163 -b9b6 9 1383 1163 -b9bf 8 1564 1163 -b9c7 4 1565 1163 -b9cb d 1584 1163 -b9d8 3 1589 1163 -b9db 13 1610 1163 -b9ee 4 1611 1163 -b9f2 8 1612 1163 -b9fa 19 1614 1163 -ba13 13 1618 1163 -ba26 1 1620 1163 -ba27 9 1621 1163 -ba30 5 1622 1163 -ba35 1d 1378 1163 -ba52 9 1397 1163 -ba5b f 1415 1163 -ba6a 3 1420 1163 -ba6d 25 1430 1163 -ba92 3 1434 1163 -ba95 2 1436 1163 -ba97 4 1437 1163 -ba9b 6 1439 1163 -baa1 3 1440 1163 -baa4 5 1506 1163 -baa9 5 1523 1163 -baae e 1541 1163 -babc 6 1546 1163 -bac2 b 1548 1163 -bacd 7 1549 1163 -bad4 5 1550 1163 -bad9 4 1551 1163 -badd 5 1553 1163 -bae2 8 1543 1163 -baea 7 1544 1163 -baf1 5 1557 1163 -baf6 34 1378 1163 -bb2a d 1908 1163 -bb37 9 1910 1163 -bb40 8 1668 1163 -bb48 d 1688 1163 -bb55 6 1702 1163 -bb5b 7 1703 1163 -bb62 2 1704 1163 -bb64 5 1706 1163 -bb69 7 1708 1163 -bb70 5 1710 1163 -bb75 4 1864 1163 -bb79 7 1869 1163 -bb80 c 1933 1163 -bb8c 8 1939 1163 -bb94 5 1958 1163 -bb99 8 1751 1163 -bba1 9 1752 1163 -bbaa 5 1753 1163 -bbaf 3 1754 1163 -bbb2 9 1756 1163 -bbbb f 1759 1163 -bbca 2 1760 1163 -bbcc 13 1765 1163 -bbdf 7 1767 1163 -bbe6 e 1809 1163 -bbf4 27 1828 1163 -bc1b 14 1838 1163 -bc2f 15 1840 1163 -bc44 b 1844 1163 -bc4f 15 1846 1163 -bc64 5 1852 1163 -bc69 7 1853 1163 -bc70 4 1854 1163 -bc74 1 1857 1163 -bc75 5 1859 1163 -bc7a 7 1877 1163 -bc81 3 1887 1163 -bc84 2 1888 1163 -bc86 1a 1378 1163 -bca0 7 1892 1163 -bca7 11 1897 1163 -bcb8 10 1900 1163 -bcc8 3 1901 1163 -bccb 5 1903 1163 -bcd0 6 1961 1163 -bcd6 6 1987 1163 -bcdc 16 2026 1163 -bcf2 2 2045 1163 -bcf4 5 2051 1163 -bcf9 2 2071 1163 -bcfb 4 2074 1163 -bcff 6 2080 1163 -bd05 2 2099 1163 -bd07 5 2105 1163 -bd0c 10 2128 1163 -bd1c 7 2129 1163 -bd23 7 2130 1163 -bd2a c 2136 1163 -bd36 2 2142 1163 -bd38 6 2148 1163 -bd3e 7 2149 1163 -bd45 2 2150 1163 -bd47 4 2151 1163 -bd4b a 2152 1163 -bd55 3 2153 1163 -bd58 6 2157 1163 -bd5e 3 2158 1163 -bd61 6 2163 1163 -bd67 10 2165 1163 -bd77 10 2166 1163 -bd87 c 2168 1163 -bd93 3 2170 1163 -bd96 3 2172 1163 -bd99 2 2173 1163 -bd9b 8 2175 1163 -bda3 1 2176 1163 -bda4 19 2180 1163 -bdbd 9 2181 1163 -bdc6 1 2182 1163 -bdc7 2 2185 1163 -bdc9 4 1625 1163 -bdcd 8 1626 1163 -bdd5 c 1628 1163 -bde1 7 1629 1163 -bde8 2 1630 1163 -bdea 4 1629 1163 -bdee 8 1631 1163 -bdf6 a 2201 1163 -be00 7 2204 1163 -be07 6 2205 1163 -be0d 6 2207 1163 -be13 2 2208 1163 -be15 4 2210 1163 -be19 6 2212 1163 -be1f 2 2213 1163 -be21 4 2215 1163 -be25 6 2217 1163 -be2b 7 2218 1163 -be32 b 2224 1163 -be3d 6 2228 1163 -be43 11 2230 1163 -be54 11 2234 1163 -be65 d 2236 1163 -be72 f 2238 1163 -be81 a 2263 1163 -be8b 3 2267 1163 -be8e 3 2268 1163 -be91 3 2269 1163 -be94 1a 2276 1163 -beae 7 2278 1163 -beb5 e 2282 1163 -bec3 a 2283 1163 -becd 2 1690 1163 -becf 4 2279 1163 -bed3 2 2285 1163 -bed5 d 2286 1163 -bee2 c 2290 1163 -beee 11 2292 1163 -beff 6 2297 1163 -bf05 8 2298 1163 -bf0d 4 2299 1163 -bf11 1 2298 1163 -bf12 1b 1073 1163 -bf2d 17 1690 1163 -bf44 10 2376 1163 -bf54 38 2377 1163 -FUNC bf8c 97 10 _vswprintf_l -bf8c 7 125 1425 -bf93 24 130 1425 -bfb7 8 135 1425 -bfbf 29 155 1425 -bfe8 1d 166 1425 -c005 18 167 1425 -c01d 4 169 1425 -c021 2 183 1425 -FUNC c023 17 c _vswprintf -c023 0 192 1425 -c023 16 195 1425 -c039 1 197 1425 -FUNC c03a 5 10 __vswprintf_l -c03a 0 205 1425 -c03a 5 208 1425 -FUNC c03f 55 10 _vscwprintf_helper -c03f 7 430 1425 -c046 24 435 1425 -c06a 28 441 1425 -c092 2 443 1425 -FUNC c094 18 8 _vscwprintf -c094 0 449 1425 -c094 17 450 1425 -c0ab 1 451 1425 -FUNC c0ac 1a c _vscwprintf_l -c0ac 0 458 1425 -c0ac 19 459 1425 -c0c5 1 460 1425 -FUNC c0c6 18 8 _vscwprintf_p -c0c6 0 466 1425 -c0c6 17 467 1425 -c0dd 1 468 1425 -FUNC c0de 1a c _vscwprintf_p_l -c0de 0 475 1425 -c0de 19 476 1425 -c0f7 1 477 1425 -FUNC c0f8 14e 14 vfprintf_helper -c0f8 c 51 1462 -c104 5 54 1462 -c109 2e 56 1462 -c137 c 57 1462 -c143 3 60 1462 -c146 7 62 1462 -c14d 3 63 1462 -c150 b0 65 1462 -c200 5 66 1462 -c205 8 68 1462 -c20d 10 69 1462 -c21d a 70 1462 -c227 c 74 1462 -c233 3 78 1462 -c236 6 79 1462 -c23c a 75 1462 -FUNC c246 1e 10 _vfprintf_l -c246 0 87 1462 -c246 1d 88 1462 -c263 1 89 1462 -FUNC c264 1e 10 _vfprintf_s_l -c264 0 97 1462 -c264 1d 98 1462 -c281 1 99 1462 -FUNC c282 1e 10 _vfprintf_p_l -c282 0 107 1462 -c282 1d 108 1462 -c29f 1 109 1462 -FUNC c2a0 1c c vfprintf -c2a0 0 116 1462 -c2a0 1b 117 1462 -c2bb 1 118 1462 -FUNC c2bc 1c c vfprintf_s -c2bc 0 125 1462 -c2bc 1b 126 1462 -c2d7 1 127 1462 -FUNC c2d8 1c c _vfprintf_p -c2d8 0 134 1462 -c2d8 1b 135 1462 -c2f3 1 136 1462 -FUNC c2f4 25 4 write_char -c2f4 0 2433 1053 -c2f4 a 2434 1053 -c2fe 2 2437 1053 -c300 12 2440 1053 -c312 3 2444 1053 -c315 1 2447 1053 -c316 2 2446 1053 -c318 1 2447 1053 -FUNC c319 25 c write_multi_char -c319 6 2498 1053 -c31f 2 2501 1053 -c321 e 2500 1053 -c32f 6 2501 1053 -c335 7 2499 1053 -c33c 2 2504 1053 -FUNC c33e 4f 4 write_string -c33e 0 2563 1053 -c33e 12 2564 1053 -c350 6 2566 1053 -c356 2 2567 1053 -c358 11 2570 1053 -c369 6 2571 1053 -c36f a 2573 1053 -c379 a 2574 1053 -c383 9 2569 1053 -c38c 1 2579 1053 -FUNC c38d 91c 10 _woutput_s_l -c38d 29 975 1053 -c3b6 3 976 1053 -c3b9 f 1007 1053 -c3c8 24 2172 1053 -c3ec 2f 1031 1053 -c41b 18 1036 1053 -c433 2e 1073 1053 -c461 16 1078 1053 -c477 e 1079 1053 -c485 11 1124 1053 -c496 10 1131 1053 -c4a6 2 1171 1053 -c4a8 13 1173 1053 -c4bb 3 1174 1053 -c4be 5 1175 1053 -c4c3 1e 1179 1053 -c4e1 3 1193 1053 -c4e4 5 1194 1053 -c4e9 4 1181 1053 -c4ed 5 1182 1053 -c4f2 4 1184 1053 -c4f6 5 1185 1053 -c4fb 7 1190 1053 -c502 5 1191 1053 -c507 3 1187 1053 -c50a 5 1196 1053 -c50f 6 1200 1053 -c515 5 1206 1053 -c51a e 1233 1053 -c528 4 1235 1053 -c52c 3 1236 1053 -c52f 5 1239 1053 -c534 10 1241 1053 -c544 5 1243 1053 -c549 4 1248 1053 -c54d 5 1249 1053 -c552 6 1253 1053 -c558 5 1259 1053 -c55d e 1284 1053 -c56b 4 1285 1053 -c56f 5 1287 1053 -c574 10 1289 1053 -c584 5 1291 1053 -c589 1b 1295 1053 -c5a4 7 1362 1053 -c5ab 5 1363 1053 -c5b0 6 1301 1053 -c5b6 2 1303 1053 -c5b8 7 1304 1053 -c5bf 5 1306 1053 -c5c4 4 1308 1053 -c5c8 5 1310 1053 -c5cd 4 1358 1053 -c5d1 5 1359 1053 -c5d6 10 1322 1053 -c5e6 3 1324 1053 -c5e9 c 1325 1053 -c5f5 d 1327 1053 -c602 3 1329 1053 -c605 7 1330 1053 -c60c 5 1332 1053 -c611 3c 1337 1053 -c64d 4 1352 1053 -c651 14 1166 1053 -c665 5 1167 1053 -c66a 32 1378 1053 -c69c d 1716 1053 -c6a9 4 1724 1053 -c6ad 18 1749 1053 -c6c5 c 1750 1053 -c6d1 c 1381 1053 -c6dd 9 1383 1053 -c6e6 8 1564 1053 -c6ee 4 1565 1053 -c6f2 d 1584 1053 -c6ff 3 1589 1053 -c702 13 1610 1053 -c715 4 1611 1053 -c719 8 1612 1053 -c721 19 1614 1053 -c73a 13 1618 1053 -c74d 1 1620 1053 -c74e 9 1621 1053 -c757 5 1622 1053 -c75c 1e 1378 1053 -c77a 9 1397 1053 -c783 f 1415 1053 -c792 3 1420 1053 -c795 25 1430 1053 -c7ba 3 1434 1053 -c7bd 2 1436 1053 -c7bf 4 1437 1053 -c7c3 6 1439 1053 -c7c9 3 1440 1053 -c7cc 5 1506 1053 -c7d1 5 1523 1053 -c7d6 e 1541 1053 -c7e4 6 1546 1053 -c7ea b 1548 1053 -c7f5 7 1549 1053 -c7fc 5 1550 1053 -c801 4 1551 1053 -c805 5 1553 1053 -c80a 8 1543 1053 -c812 7 1544 1053 -c819 5 1557 1053 -c81e 34 1378 1053 -c852 9 1908 1053 -c85b 9 1910 1053 -c864 8 1668 1053 -c86c d 1688 1053 -c879 6 1702 1053 -c87f 7 1703 1053 -c886 2 1704 1053 -c888 5 1706 1053 -c88d 7 1708 1053 -c894 5 1710 1053 -c899 4 1864 1053 -c89d 7 1869 1053 -c8a4 c 1933 1053 -c8b0 8 1939 1053 -c8b8 5 1958 1053 -c8bd 8 1751 1053 -c8c5 9 1752 1053 -c8ce 5 1753 1053 -c8d3 3 1754 1053 -c8d6 9 1756 1053 -c8df f 1759 1053 -c8ee 3 1760 1053 -c8f1 15 1765 1053 -c906 7 1767 1053 -c90d e 1809 1053 -c91b 27 1828 1053 -c942 14 1838 1053 -c956 15 1840 1053 -c96b b 1844 1053 -c976 15 1846 1053 -c98b 5 1852 1053 -c990 7 1853 1053 -c997 4 1854 1053 -c99b 1 1857 1053 -c99c 5 1859 1053 -c9a1 3 1877 1053 -c9a4 7 1887 1053 -c9ab 2 1888 1053 -c9ad 1a 1378 1053 -c9c7 7 1892 1053 -c9ce 11 1897 1053 -c9df 10 1900 1053 -c9ef 3 1901 1053 -c9f2 5 1903 1053 -c9f7 6 1961 1053 -c9fd 6 1987 1053 -ca03 16 2026 1053 -ca19 2 2045 1053 -ca1b 5 2051 1053 -ca20 2 2071 1053 -ca22 4 2074 1053 -ca26 6 2080 1053 -ca2c 2 2099 1053 -ca2e 5 2105 1053 -ca33 10 2128 1053 -ca43 7 2129 1053 -ca4a 7 2130 1053 -ca51 c 2136 1053 -ca5d 2 2142 1053 -ca5f 6 2148 1053 -ca65 7 2149 1053 -ca6c 2 2150 1053 -ca6e 4 2151 1053 -ca72 a 2152 1053 -ca7c 3 2153 1053 -ca7f 6 2157 1053 -ca85 3 2158 1053 -ca88 6 2163 1053 -ca8e 10 2165 1053 -ca9e 10 2166 1053 -caae c 2168 1053 -caba 3 2170 1053 -cabd 3 2172 1053 -cac0 2 2173 1053 -cac2 8 2175 1053 -caca 1 2176 1053 -cacb 19 2180 1053 -cae4 9 2181 1053 -caed 1 2182 1053 -caee 2 2185 1053 -caf0 4 1625 1053 -caf4 8 1626 1053 -cafc c 1628 1053 -cb08 7 1629 1053 -cb0f 2 1630 1053 -cb11 4 1629 1053 -cb15 8 1631 1053 -cb1d a 2201 1053 -cb27 7 2204 1053 -cb2e 6 2205 1053 -cb34 6 2207 1053 -cb3a 2 2208 1053 -cb3c 4 2210 1053 -cb40 6 2212 1053 -cb46 2 2213 1053 -cb48 4 2215 1053 -cb4c 6 2217 1053 -cb52 7 2218 1053 -cb59 b 2224 1053 -cb64 6 2228 1053 -cb6a 11 2230 1053 -cb7b 11 2234 1053 -cb8c d 2236 1053 -cb99 f 2238 1053 -cba8 a 2263 1053 -cbb2 3 2267 1053 -cbb5 3 2268 1053 -cbb8 3 2269 1053 -cbbb 1a 2276 1053 -cbd5 7 2278 1053 -cbdc e 2282 1053 -cbea a 2283 1053 -cbf4 2 1690 1053 -cbf6 4 2279 1053 -cbfa 2 2285 1053 -cbfc d 2286 1053 -cc09 c 2290 1053 -cc15 11 2292 1053 -cc26 6 2297 1053 -cc2c 8 2298 1053 -cc34 16 2299 1053 -cc4a 7 1073 1053 -cc51 10 2310 1053 -cc61 10 2376 1053 -cc71 38 2377 1053 -FUNC cca9 154 10 _validate_param_reuseW -cca9 3 606 1108 -ccac 21 610 1108 -cccd 13 617 1108 -cce0 13 618 1108 -ccf3 10 620 1108 -cd03 4a 629 1108 -cd4d 54 632 1108 -cda1 2 633 1108 -cda3 1a 639 1108 -cdbd f 645 1108 -cdcc 23 626 1108 -cdef c 614 1108 -cdfb 2 646 1108 -FUNC cdfd 25 4 write_char -cdfd 0 2433 1108 -cdfd a 2434 1108 -ce07 2 2437 1108 -ce09 12 2440 1108 -ce1b 3 2444 1108 -ce1e 1 2447 1108 -ce1f 2 2446 1108 -ce21 1 2447 1108 -FUNC ce22 25 c write_multi_char -ce22 6 2498 1108 -ce28 2 2501 1108 -ce2a e 2500 1108 -ce38 6 2501 1108 -ce3e 7 2499 1108 -ce45 2 2504 1108 -FUNC ce47 4f 4 write_string -ce47 0 2563 1108 -ce47 12 2564 1108 -ce59 6 2566 1108 -ce5f 2 2567 1108 -ce61 11 2570 1108 -ce72 6 2571 1108 -ce78 a 2573 1108 -ce82 a 2574 1108 -ce8c 9 2569 1108 -ce95 1 2579 1108 -FUNC ce96 f60 10 _woutput_p_l -ce96 1b 975 1108 -ceb1 20 1013 1108 -ced1 28 2172 1108 -cef9 2c 1031 1108 -cf25 4 1036 1108 -cf29 3 1038 1108 -cf2c 3 1041 1108 -cf2f 3 1043 1108 -cf32 f 1046 1108 -cf41 44 1073 1108 -cf85 1a 1078 1108 -cf9f 11 1079 1108 -cfb0 16 1082 1108 -cfc6 6 1084 1108 -cfcc 1c 1087 1108 -cfe8 6 1089 1108 -cfee 16 1091 1108 -d004 7 1093 1108 -d00b 2 1095 1108 -d00d 7 1097 1108 -d014 6 1101 1108 -d01a c 1103 1108 -d026 7 1104 1108 -d02d f 1106 1108 -d03c 1d 1109 1108 -d059 8 1112 1108 -d061 5 1131 1108 -d066 3 1117 1108 -d069 7 1131 1108 -d070 9 1120 1108 -d079 b 1131 1108 -d084 24 1137 1108 -d0a8 5 1145 1108 -d0ad 2 1171 1108 -d0af 16 1173 1108 -d0c5 3 1174 1108 -d0c8 5 1175 1108 -d0cd 1f 1179 1108 -d0ec 7 1193 1108 -d0f3 5 1194 1108 -d0f8 7 1181 1108 -d0ff 5 1182 1108 -d104 7 1184 1108 -d10b 5 1185 1108 -d110 a 1190 1108 -d11a 5 1191 1108 -d11f 6 1187 1108 -d125 5 1196 1108 -d12a a 1200 1108 -d134 6 1203 1108 -d13a a 1206 1108 -d144 2 1209 1108 -d146 c 1211 1108 -d152 6 1212 1108 -d158 e 1214 1108 -d166 1c 1216 1108 -d182 8 1219 1108 -d18a 12 1221 1108 -d19c a 1274 1108 -d1a6 5 1275 1108 -d1ab c 1228 1108 -d1b7 b 1233 1108 -d1c2 7 1235 1108 -d1c9 3 1236 1108 -d1cc 5 1239 1108 -d1d1 10 1241 1108 -d1e1 5 1243 1108 -d1e6 4 1248 1108 -d1ea 5 1249 1108 -d1ef 6 1253 1108 -d1f5 6 1256 1108 -d1fb a 1259 1108 -d205 2 1262 1108 -d207 c 1264 1108 -d213 6 1265 1108 -d219 12 1267 1108 -d22b c 1280 1108 -d237 b 1284 1108 -d242 4 1285 1108 -d246 5 1287 1108 -d24b 22 1274 1108 -d26d 10 1289 1108 -d27d 5 1291 1108 -d282 1b 1295 1108 -d29d a 1362 1108 -d2a7 5 1363 1108 -d2ac 6 1301 1108 -d2b2 2 1303 1108 -d2b4 d 1304 1108 -d2c1 5 1306 1108 -d2c6 7 1308 1108 -d2cd 5 1310 1108 -d2d2 7 1358 1108 -d2d9 5 1359 1108 -d2de 10 1322 1108 -d2ee 3 1324 1108 -d2f1 12 1325 1108 -d303 d 1327 1108 -d310 3 1329 1108 -d313 d 1330 1108 -d320 5 1332 1108 -d325 24 1337 1108 -d349 4 1352 1108 -d34d 13 1166 1108 -d360 5 1167 1108 -d365 a 1342 1108 -d36f 5 1366 1108 -d374 36 1378 1108 -d3aa d 1716 1108 -d3b7 7 1724 1108 -d3be 14 1726 1108 -d3d2 9 1728 1108 -d3db 2a 1739 1108 -d405 b 1381 1108 -d410 9 1383 1108 -d419 b 1564 1108 -d424 7 1565 1108 -d42b d 1584 1108 -d438 b 1586 1108 -d443 a 1589 1108 -d44d 5 1592 1108 -d452 22 1378 1108 -d474 d 1394 1108 -d481 b 1397 1108 -d48c 2 1400 1108 -d48e 9 1402 1108 -d497 6 1404 1108 -d49d 24 1406 1108 -d4c1 5 1407 1108 -d4c6 d 1411 1108 -d4d3 c 1415 1108 -d4df 3 1420 1108 -d4e2 28 1430 1108 -d50a 7 1434 1108 -d511 2 1436 1108 -d513 7 1437 1108 -d51a 9 1439 1108 -d523 7 1440 1108 -d52a 5 1506 1108 -d52f 6 1520 1108 -d535 a 1523 1108 -d53f 2 1526 1108 -d541 9 1528 1108 -d54a 4 1530 1108 -d54e 6 1533 1108 -d554 c 1537 1108 -d560 b 1541 1108 -d56b 9 1546 1108 -d574 b 1548 1108 -d57f 7 1549 1108 -d586 5 1550 1108 -d58b 4 1551 1108 -d58f 5 1553 1108 -d594 8 1543 1108 -d59c 7 1544 1108 -d5a3 5 1557 1108 -d5a8 38 1378 1108 -d5e0 15 1908 1108 -d5f5 11 1910 1108 -d606 6 1665 1108 -d60c a 1668 1108 -d616 2 1671 1108 -d618 9 1673 1108 -d621 6 1675 1108 -d627 1f 1677 1108 -d646 5 1678 1108 -d64b c 1682 1108 -d657 d 1688 1108 -d664 9 1702 1108 -d66d 7 1703 1108 -d674 2 1704 1108 -d676 5 1706 1108 -d67b 7 1708 1108 -d682 5 1710 1108 -d687 7 1864 1108 -d68e 7 1869 1108 -d695 6 1910 1108 -d69b 9 1933 1108 -d6a4 a 1936 1108 -d6ae f 1939 1108 -d6bd 5 1942 1108 -d6c2 1a 1739 1108 -d6dc 21 1109 1108 -d6fd 17 1749 1108 -d714 9 1750 1108 -d71d 8 1751 1108 -d725 9 1752 1108 -d72e 5 1753 1108 -d733 3 1754 1108 -d736 a 1756 1108 -d740 f 1759 1108 -d74f 2 1760 1108 -d751 13 1765 1108 -d764 3 1767 1108 -d767 7 1806 1108 -d76e 9 1809 1108 -d777 2 1812 1108 -d779 a 1818 1108 -d783 6 1821 1108 -d789 16 1822 1108 -d79f 24 1828 1108 -d7c3 16 1838 1108 -d7d9 15 1840 1108 -d7ee b 1844 1108 -d7f9 15 1846 1108 -d80e 5 1852 1108 -d813 a 1853 1108 -d81d 4 1854 1108 -d821 1 1857 1108 -d822 5 1859 1108 -d827 7 1877 1108 -d82e 7 1887 1108 -d835 2 1888 1108 -d837 1a 1378 1108 -d851 7 1892 1108 -d858 14 1897 1108 -d86c 10 1900 1108 -d87c 3 1901 1108 -d87f 5 1903 1108 -d884 9 1944 1108 -d88d 28 1948 1108 -d8b5 5 1949 1108 -d8ba 7 1961 1108 -d8c1 4 1964 1108 -d8c5 6 1970 1108 -d8cb 9 1972 1108 -d8d4 28 1976 1108 -d8fc 5 1977 1108 -d901 c 1981 1108 -d90d 5 1987 1108 -d912 5 2019 1108 -d917 5 2020 1108 -d91c 6 2023 1108 -d922 b 2026 1108 -d92d 5 2029 1108 -d932 9 2031 1108 -d93b 4 2033 1108 -d93f 2 2036 1108 -d941 d 2040 1108 -d94e 5 2045 1108 -d953 6 2048 1108 -d959 b 2051 1108 -d964 5 2054 1108 -d969 9 2056 1108 -d972 4 2058 1108 -d976 2 2061 1108 -d978 d 2065 1108 -d985 2 2071 1108 -d987 5 2074 1108 -d98c 6 2077 1108 -d992 a 2080 1108 -d99c 2 2083 1108 -d99e 9 2085 1108 -d9a7 6 2087 1108 -d9ad 17 2089 1108 -d9c4 15 2114 1108 -d9d9 5 2115 1108 -d9de d 2094 1108 -d9eb 2 2099 1108 -d9ed 6 2102 1108 -d9f3 a 2105 1108 -d9fd 2 2108 1108 -d9ff 9 2110 1108 -da08 6 2112 1108 -da0e e 2119 1108 -da1c f 2128 1108 -da2b 7 2129 1108 -da32 c 2130 1108 -da3e c 2136 1108 -da4a 4 2142 1108 -da4e 6 2148 1108 -da54 7 2149 1108 -da5b 2 2150 1108 -da5d 1a 2114 1108 -da77 3 2151 1108 -da7a 10 2152 1108 -da8a 3 2153 1108 -da8d 7 2157 1108 -da94 3 2158 1108 -da97 6 2163 1108 -da9d 11 2165 1108 -daae 12 2166 1108 -dac0 d 2168 1108 -dacd 3 2170 1108 -dad0 b 2173 1108 -dadb 8 2175 1108 -dae3 1 2176 1108 -dae4 20 2180 1108 -db04 9 2181 1108 -db0d 1 2182 1108 -db0e 5 2185 1108 -db13 9 1594 1108 -db1c 9 1596 1108 -db25 c 1603 1108 -db31 c 1610 1108 -db3d 4 1611 1108 -db41 8 1612 1108 -db49 11 1614 1108 -db5a 13 1618 1108 -db6d 1 1620 1108 -db6e 9 1621 1108 -db77 2 1622 1108 -db79 19 1598 1108 -db92 5 1625 1108 -db97 8 1626 1108 -db9f c 1628 1108 -dbab 6 1629 1108 -dbb1 2 1630 1108 -dbb3 4 1629 1108 -dbb7 8 1631 1108 -dbbf 10 2189 1108 -dbcf a 2201 1108 -dbd9 a 2204 1108 -dbe3 6 2205 1108 -dbe9 6 2207 1108 -dbef 2 2208 1108 -dbf1 4 2210 1108 -dbf5 6 2212 1108 -dbfb 2 2213 1108 -dbfd 4 2215 1108 -dc01 6 2217 1108 -dc07 7 2218 1108 -dc0e b 2224 1108 -dc19 9 2228 1108 -dc22 11 2230 1108 -dc33 11 2234 1108 -dc44 13 2236 1108 -dc57 f 2238 1108 -dc66 a 2263 1108 -dc70 3 2267 1108 -dc73 3 2268 1108 -dc76 3 2269 1108 -dc79 1a 2276 1108 -dc93 7 2278 1108 -dc9a e 2282 1108 -dca8 a 2283 1108 -dcb2 2 2310 1108 -dcb4 4 2279 1108 -dcb8 2 2285 1108 -dcba d 2286 1108 -dcc7 f 2290 1108 -dcd6 11 2292 1108 -dce7 6 2297 1108 -dced 8 2298 1108 -dcf5 4 2299 1108 -dcf9 1 2298 1108 -dcfa 12 1073 1108 -dd0c c 2310 1108 -dd18 c 2314 1108 -dd24 10 2319 1108 -dd34 16 2321 1108 -dd4a 2 2360 1108 -dd4c 9 2361 1108 -dd55 6 2362 1108 -dd5b 2 2344 1108 -dd5d 3 2345 1108 -dd60 2 2346 1108 -dd62 2 2324 1108 -dd64 6 2325 1108 -dd6a 9 2319 1108 -dd73 13 1043 1108 -dd86 17 1121 1108 -dd9d f 1818 1108 -ddac 10 2376 1108 -ddbc 3a 2377 1108 -FUNC ddf6 1f 0 _initp_misc_cfltcvt_tab -ddf6 2 54 4074 -ddf8 8 56 4074 -de00 14 58 4074 -de14 1 60 4074 -FUNC de20 29 4 _ValidateImageBase -de20 0 44 3159 -de20 b 50 3159 -de2b 2 52 3159 -de2d 1 68 3159 -de2e 5 55 3159 -de33 6 56 3159 -de39 2 58 3159 -de3b d 62 3159 -de48 1 68 3159 -FUNC de50 42 8 _FindPESection -de50 0 92 3159 -de50 9 99 3159 -de59 19 108 3159 -de72 10 111 3159 -de82 a 108 3159 -de8c 5 123 3159 -de91 1 124 3159 -FUNC dea0 bb 4 _IsNonwritableInCurrentImage -dea0 33 149 3159 -ded3 7 156 3159 -deda f 164 3159 -dee9 2 166 3159 -deeb 8 174 3159 -def3 e 175 3159 -df01 2 176 3159 -df03 2 178 3159 -df05 12 185 3159 -df17 12 195 3159 -df29 17 187 3159 -df40 9 193 3159 -df49 12 195 3159 -FUNC df5b 19 4 _initp_misc_winsig -df5b 0 57 2785 -df5b 9 58 2785 -df64 5 59 2785 -df69 5 60 2785 -df6e 5 61 2785 -df73 1 62 2785 -FUNC df74 9b 4 ctrlevent_capture -df74 c 89 2785 -df80 9 94 2785 -df89 3 95 2785 -df8c 5 102 2785 -df91 5 103 2785 -df96 e 104 2785 -dfa4 7 105 2785 -dfab 2 107 2785 -dfad 5 108 2785 -dfb2 e 109 2785 -dfc0 7 110 2785 -dfc7 1 109 2785 -dfc8 9 113 2785 -dfd1 7 117 2785 -dfd8 c 120 2785 -dfe4 5 124 2785 -dfe9 4 128 2785 -dfed 2 120 2785 -dfef 8 121 2785 -dff7 6 130 2785 -dffd 7 131 2785 -e004 3 138 2785 -e007 8 139 2785 -FUNC e00f 34 4 siglookup -e00f 0 634 2785 -e00f b 635 2785 -e01a 15 645 2785 -e02f f 649 2785 -e03e 2 653 2785 -e040 2 658 2785 -e042 1 659 2785 -FUNC e043 d 0 __get_sigabrt -e043 0 676 2785 -e043 c 677 2785 -e04f 1 678 2785 -FUNC e050 9 0 __fpecode -e050 0 699 2785 -e050 8 700 2785 -e058 1 701 2785 -FUNC e059 9 0 __pxcptinfoptrs -e059 0 721 2785 -e059 8 722 2785 -e061 1 723 2785 -FUNC e062 23d 8 signal -e062 c 219 2785 -e06e 4 224 2785 -e072 3 230 2785 -e075 3 244 2785 -e078 12 230 2785 -e08a 2f 244 2785 -e0b9 13 327 2785 -e0cc 7 334 2785 -e0d3 8 335 2785 -e0db a 342 2785 -e0e5 17 346 2785 -e0fc 10 352 2785 -e10c 13 367 2785 -e11f 3 380 2785 -e122 e 382 2785 -e130 3 395 2785 -e133 17 401 2785 -e14a 5 390 2785 -e14f 5 401 2785 -e154 8 246 2785 -e15c 4 247 2785 -e160 12 254 2785 -e172 14 257 2785 -e186 6 259 2785 -e18c 2 261 2785 -e18e f 263 2785 -e19d a 264 2785 -e1a7 18 268 2785 -e1bf f 288 2785 -e1ce 4 289 2785 -e1d2 b 291 2785 -e1dd 2 293 2785 -e1df f 279 2785 -e1ee 4 280 2785 -e1f2 b 282 2785 -e1fd 2 284 2785 -e1ff f 296 2785 -e20e 4 297 2785 -e212 b 299 2785 -e21d 2 301 2785 -e21f f 271 2785 -e22e 4 272 2785 -e232 c 274 2785 -e23e c 305 2785 -e24a 9 309 2785 -e253 4 407 2785 -e257 3 305 2785 -e25a 9 306 2785 -e263 19 410 2785 -e27c 1a 419 2785 -e296 3 417 2785 -e299 6 423 2785 -FUNC e29f 1b0 4 raise -e29f c 452 2785 -e2ab 5 459 2785 -e2b0 3 460 2785 -e2b3 1f 462 2785 -e2d2 a 488 2785 -e2dc 4 489 2785 -e2e0 8 490 2785 -e2e8 a 465 2785 -e2f2 2 467 2785 -e2f4 11 492 2785 -e305 2 493 2785 -e307 f 462 2785 -e316 1c 500 2785 -e332 a 476 2785 -e33c 2 478 2785 -e33e a 470 2785 -e348 2 472 2785 -e34a a 481 2785 -e354 7 482 2785 -e35b a 502 2785 -e365 2 510 2785 -e367 4 509 2785 -e36b 6 510 2785 -e371 5 515 2785 -e376 7 520 2785 -e37d 5 527 2785 -e382 7 528 2785 -e389 5 530 2785 -e38e f 543 2785 -e39d 6 544 2785 -e3a3 3 545 2785 -e3a6 5 551 2785 -e3ab 6 552 2785 -e3b1 7 553 2785 -e3b8 5 561 2785 -e3bd 1c 568 2785 -e3d9 d 571 2785 -e3e6 5 568 2785 -e3eb 7 574 2785 -e3f2 c 577 2785 -e3fe 5 582 2785 -e403 8 588 2785 -e40b 2 589 2785 -e40d 6 577 2785 -e413 6 578 2785 -e419 9 579 2785 -e422 5 590 2785 -e427 f 597 2785 -e436 6 598 2785 -e43c 5 603 2785 -e441 6 604 2785 -e447 2 607 2785 -e449 6 608 2785 -FUNC e44f a 4 _initp_misc_rand_s -e44f 0 58 3075 -e44f 9 59 3075 -e458 1 60 3075 -FUNC e459 104 4 rand_s -e459 3 66 3075 -e45c b 67 3075 -e467 2b 68 3075 -e492 c 71 3075 -e49e d 77 3075 -e4ab 4 78 3075 -e4af 1e 80 3075 -e4cd e 83 3075 -e4db 4 84 3075 -e4df 2f 86 3075 -e50e 9 88 3075 -e517 5 89 3075 -e51c 16 94 3075 -e532 7 103 3075 -e539 9 107 3075 -e542 b 109 3075 -e54d 9 110 3075 -e556 6 112 3075 -e55c 1 113 3075 -FUNC e55d 15a 14 __getlocaleinfo -e55d 1d 70 3523 -e57a 7 76 3523 -e581 87 109 3523 -e608 13 103 3523 -e61b 5 114 3523 -e620 7 115 3523 -e627 3 141 3523 -e62a 12 142 3523 -e63c 20 106 3523 -e65c 5 108 3523 -e661 7 109 3523 -e668 4 111 3523 -e66c 5 118 3523 -e671 1a 126 3523 -e68b 2 127 3523 -e68d 2 129 3523 -e68f 10 134 3523 -e69f 16 135 3523 -e6b5 2 139 3523 -FUNC e6b7 a 4 _initp_misc_purevirt -e6b7 0 166 3523 -e6b7 9 167 3523 -e6c0 1 168 3523 -FUNC e6c1 a 4 _initp_misc_initcrit -e6c1 0 47 3609 -e6c1 9 48 3609 -e6ca 1 49 3609 -FUNC e6cb 10 8 __crtInitCritSecNoSpinCount -e6cb 0 76 3609 -e6cb a 77 3609 -e6d5 3 78 3609 -e6d8 3 79 3609 -FUNC e6db c5 8 __crtInitCritSecAndSpinCount -e6db c 109 3609 -e6e7 5 111 3609 -e6ec e 112 3609 -e6fa 4 114 3609 -e6fe 1b 120 3609 -e719 4 121 3609 -e71d 2 129 3609 -e71f b 130 3609 -e72a 4 131 3609 -e72e e 134 3609 -e73c 4 136 3609 -e740 5 149 3609 -e745 c 152 3609 -e751 3 155 3609 -e754 b 161 3609 -e75f 2 162 3609 -e761 1a 163 3609 -e77b 9 170 3609 -e784 8 171 3609 -e78c 4 173 3609 -e790 7 174 3609 -e797 3 176 3609 -e79a 6 177 3609 -FUNC e7a0 5e 4 _isatty -e7a0 0 37 4912 -e7a0 16 44 4912 -e7b6 2 59 4912 -e7b8 29 45 4912 -e7e1 1 59 4912 -e7e2 1b 58 4912 -e7fd 1 59 4912 -FUNC e7fe 2f 0 CPtoLCID -e7fe 0 329 4615 -e7fe 14 330 4615 -e812 2 345 4615 -e814 1 346 4615 -e815 5 342 4615 -e81a 1 346 4615 -e81b 5 339 4615 -e820 1 346 4615 -e821 5 336 4615 -e826 1 346 4615 -e827 5 333 4615 -e82c 1 346 4615 -FUNC e82d 55 0 setSBCS -e82d 4 363 4615 -e831 14 368 4615 -e845 3 371 4615 -e848 3 374 4615 -e84b 3 376 4615 -e84e 8 379 4615 -e856 a 381 4615 -e860 9 382 4615 -e869 b 384 4615 -e874 d 385 4615 -e881 1 386 4615 -FUNC e882 18a 0 setSBUpLow -e882 1d 402 4615 -e89f f 412 4615 -e8ae d 415 4615 -e8bb c 416 4615 -e8c7 e 420 4615 -e8d5 3 419 4615 -e8d8 28 421 4615 -e900 1d 427 4615 -e91d 23 432 4615 -e940 25 437 4615 -e965 2 442 4615 -e967 a 443 4615 -e971 5 445 4615 -e976 9 446 4615 -e97f 5 448 4615 -e984 5 450 4615 -e989 e 451 4615 -e997 2 453 4615 -e999 8 454 4615 -e9a1 5 442 4615 -e9a6 8 456 4615 -e9ae 2c 472 4615 -e9da 5 466 4615 -e9df 5 468 4615 -e9e4 7 469 4615 -e9eb 2 471 4615 -e9ed 3 472 4615 -e9f0 5 460 4615 -e9f5 17 474 4615 -FUNC ea0c a4 0 __updatetmbcinfo -ea0c c 496 4615 -ea18 7 499 4615 -ea1f 10 500 4615 -ea2f 3 533 4615 -ea32 4 536 4615 -ea36 8 538 4615 -ea3e 2 541 4615 -ea40 6 542 4615 -ea46 8 501 4615 -ea4e 4 503 4615 -ea52 e 506 4615 -ea60 17 512 4615 -ea77 7 517 4615 -ea7e 11 524 4615 -ea8f 7 525 4615 -ea96 11 528 4615 -eaa7 9 530 4615 -FUNC eab0 7a 0 getSystemCP -eab0 7 282 4615 -eab7 b 284 4615 -eac2 b 289 4615 -eacd a 291 4615 -ead7 14 292 4615 -eaeb 5 295 4615 -eaf0 a 297 4615 -eafa 8 298 4615 -eb02 5 302 4615 -eb07 12 305 4615 -eb19 f 308 4615 -eb28 2 309 4615 -FUNC eb2a 1d9 8 _setmbcp_nolock -eb2a 15 686 4615 -eb3f b 693 4615 -eb4a 9 696 4615 -eb53 7 698 4615 -eb5a 7 699 4615 -eb61 3 703 4615 -eb64 2 705 4615 -eb66 19 708 4615 -eb7f 2a 743 4615 -eba9 13 751 4615 -ebbc f 756 4615 -ebcb 15 761 4615 -ebe0 17 764 4615 -ebf7 c 766 4615 -ec03 f 712 4615 -ec12 15 715 4615 -ec27 9 720 4615 -ec30 8 723 4615 -ec38 12 724 4615 -ec4a 9 723 4615 -ec53 5 720 4615 -ec58 12 715 4615 -ec6a 20 731 4615 -ec8a d 733 4615 -ec97 7 736 4615 -ec9e 5 737 4615 -eca3 6 767 4615 -eca9 10 766 4615 -ecb9 8 771 4615 -ecc1 7 772 4615 -ecc8 b 775 4615 -ecd3 3 778 4615 -ecd6 2 780 4615 -ecd8 3 782 4615 -ecdb 8 785 4615 -ece3 2 789 4615 -ece5 6 794 4615 -eceb 6 797 4615 -ecf1 3 746 4615 -ecf4 f 802 4615 -FUNC ed03 3c 0 _getmbcp -ed03 6 819 4615 -ed09 a 821 4615 -ed13 9 822 4615 -ed1c 10 823 4615 -ed2c 2 826 4615 -ed2e f 825 4615 -ed3d 2 826 4615 -FUNC ed3f 19a 4 _setmbcp -ed3f c 574 4615 -ed4b 4 575 4615 -ed4f a 579 4615 -ed59 5 581 4615 -ed5e 3 582 4615 -ed61 b 585 4615 -ed6c 9 587 4615 -ed75 d 593 4615 -ed82 8 595 4615 -ed8a c 597 4615 -ed96 3 607 4615 -ed99 16 612 4615 -edaf 1a 614 4615 -edc9 7 615 4615 -edd0 3 619 4615 -edd3 9 620 4615 -eddc 17 622 4615 -edf3 8 624 4615 -edfb 4 625 4615 -edff 8 630 4615 -ee07 8 631 4615 -ee0f 8 632 4615 -ee17 a 633 4615 -ee21 d 634 4615 -ee2e 3 633 4615 -ee31 c 635 4615 -ee3d a 636 4615 -ee47 3 635 4615 -ee4a c 637 4615 -ee56 d 638 4615 -ee63 3 637 4615 -ee66 1c 640 4615 -ee82 7 641 4615 -ee89 6 645 4615 -ee8f 3 646 4615 -ee92 e 648 4615 -eea0 9 650 4615 -eea9 2 653 4615 -eeab 5 654 4615 -eeb0 8 660 4615 -eeb8 7 661 4615 -eebf b 662 4615 -eeca 2 668 4615 -eecc 4 673 4615 -eed0 3 682 4615 -eed3 6 683 4615 -FUNC eed9 1e 0 __initmbctable -eed9 0 843 4615 -eed9 9 853 4615 -eee2 8 854 4615 -eeea a 855 4615 -eef4 2 860 4615 -eef6 1 861 4615 -FUNC eef7 6 0 ___setlc_active_func -eef7 0 90 2995 -eef7 5 91 2995 -eefc 1 92 2995 -FUNC eefd 6 0 ___unguarded_readlc_active_add_func -eefd 0 104 2995 -eefd 5 105 2995 -ef02 1 106 2995 -FUNC ef03 140 4 __freetlocinfo -ef03 3 144 2995 -ef06 26 152 2995 -ef2c e 155 2995 -ef3a 6 157 2995 -ef40 d 158 2995 -ef4d e 162 2995 -ef5b 6 164 2995 -ef61 d 165 2995 -ef6e b 168 2995 -ef79 d 169 2995 -ef86 e 176 2995 -ef94 11 178 2995 -efa5 13 179 2995 -efb8 e 180 2995 -efc6 e 181 2995 -efd4 17 188 2995 -efeb 6 190 2995 -eff1 9 191 2995 -effa 6 194 2995 -f000 13 197 2995 -f013 7 199 2995 -f01a 10 205 2995 -f02a d 207 2995 -f037 b 214 2995 -f042 1 215 2995 -FUNC f043 86 4 __addlocaleref -f043 3 225 2995 -f046 e 227 2995 -f054 a 228 2995 -f05e 3 229 2995 -f061 a 231 2995 -f06b 3 232 2995 -f06e a 234 2995 -f078 3 235 2995 -f07b a 237 2995 -f085 3 238 2995 -f088 6 240 2995 -f08e f 242 2995 -f09d 3 243 2995 -f0a0 d 245 2995 -f0ad 9 246 2995 -f0b6 12 248 2995 -f0c8 1 249 2995 -FUNC f0c9 8c 4 __removelocaleref -f0c9 1 259 2995 -f0ca b 261 2995 -f0d5 9 263 2995 -f0de a 265 2995 -f0e8 3 266 2995 -f0eb a 268 2995 -f0f5 3 269 2995 -f0f8 a 271 2995 -f102 3 272 2995 -f105 a 274 2995 -f10f 3 275 2995 -f112 6 277 2995 -f118 f 279 2995 -f127 3 280 2995 -f12a d 282 2995 -f137 9 283 2995 -f140 11 285 2995 -f151 3 287 2995 -f154 1 288 2995 -FUNC f155 24 0 _copytlocinfo_nolock -f155 3 302 2995 -f158 d 303 2995 -f165 7 304 2995 -f16c 3 305 2995 -f16f 9 306 2995 -f178 1 308 2995 -FUNC f179 3e 0 _updatetlocinfoEx_nolock -f179 0 321 2995 -f179 9 324 2995 -f182 2 326 2995 -f184 4 327 2995 -f188 8 334 2995 -f190 5 339 2995 -f195 6 341 2995 -f19b e 350 2995 -f1a9 7 351 2995 -f1b0 3 355 2995 -f1b3 1 356 2995 -f1b4 2 325 2995 -f1b6 1 356 2995 -FUNC f1b7 76 0 __updatetlocinfo -f1b7 c 382 2995 -f1c3 7 384 2995 -f1ca 10 386 2995 -f1da 8 397 2995 -f1e2 4 399 2995 -f1e6 8 401 2995 -f1ee 2 404 2995 -f1f0 6 405 2995 -f1f6 8 387 2995 -f1fe 4 388 2995 -f202 11 390 2995 -f213 e 392 2995 -f221 8 394 2995 -f229 4 395 2995 -FUNC f22d 66 4 _configthreadlocale -f22d 2 420 2995 -f22f 5 434 2995 -f234 10 435 2995 -f244 19 437 2995 -f25d 1d 456 2995 -f27a 3 444 2995 -f27d 2 445 2995 -f27f 6 440 2995 -f285 2 441 2995 -f287 7 452 2995 -f28e 4 460 2995 -f292 1 462 2995 -FUNC f293 53 0 sync_legacy_variables_lk -f293 0 489 2995 -f293 e 490 2995 -f2a1 9 491 2995 -f2aa c 492 2995 -f2b6 c 493 2995 -f2c2 c 494 2995 -f2ce c 495 2995 -f2da b 496 2995 -f2e5 1 497 2995 -FUNC f2e6 96 4 _free_locale -f2e6 c 517 2995 -f2f2 9 518 2995 -f2fb 1c 522 2995 -f317 7 524 2995 -f31e 4 526 2995 -f322 8 534 2995 -f32a 3 535 2995 -f32d 8 537 2995 -f335 11 540 2995 -f346 7 541 2995 -f34d c 543 2995 -f359 7 552 2995 -f360 3 553 2995 -f363 7 554 2995 -f36a 6 556 2995 -f370 3 543 2995 -f373 9 545 2995 -FUNC f37c 5 4 __free_locale -f37c 0 562 2995 -f37c 5 563 2995 -FUNC f381 88 0 _get_current_locale -f381 c 687 2995 -f38d 7 689 2995 -f394 14 691 2995 -f3a8 b 693 2995 -f3b3 4 694 2995 -f3b7 5 697 2995 -f3bc 5 698 2995 -f3c1 5 706 2995 -f3c6 6 707 2995 -f3cc 8 708 2995 -f3d4 4 709 2995 -f3d8 8 710 2995 -f3e0 c 712 2995 -f3ec 9 715 2995 -f3f5 2 717 2995 -f3f7 6 718 2995 -f3fd 3 712 2995 -f400 9 713 2995 -FUNC f409 5 0 __get_current_locale -f409 0 722 2995 -f409 5 723 2995 -FUNC f40e 3 4 __init_dummy -f40e 0 1283 2995 -f40e 2 1284 2995 -f410 1 1285 2995 -FUNC f411 3e c _strcats -f411 2 1288 2995 -f413 f 1294 2995 -f422 26 1296 2995 -f448 6 1294 2995 -f44e 1 1299 2995 -FUNC f44f 129 8 __lc_strtolc -f44f 6 1302 2995 -f455 11 1307 2995 -f466 c 1309 2995 -f472 7 1310 2995 -f479 b 1313 2995 -f484 25 1315 2995 -f4a9 6 1317 2995 -f4af 2 1318 2995 -f4b1 15 1323 2995 -f4c6 1d 1328 2995 -f4e3 9 1329 2995 -f4ec 10 1331 2995 -f4fc c 1332 2995 -f508 14 1334 2995 -f51c 28 1335 2995 -f544 9 1340 2995 -f54d b 1348 2995 -f558 18 1350 2995 -f570 6 1338 2995 -f576 2 1353 2995 -FUNC f578 6b c __lc_lctostr -f578 5 1356 2995 -f57d 25 1357 2995 -f5a2 7 1358 2995 -f5a9 16 1359 2995 -f5bf c 1360 2995 -f5cb 16 1361 2995 -f5e1 2 1362 2995 -FUNC f5e3 171 0 _setlocale_get_all -f5e3 4 1124 2995 -f5e7 3 1126 2995 -f5ea 1d 1134 2995 -f607 3 1137 2995 -f60a 3 1139 2995 -f60d 2 1140 2995 -f60f 2f 1143 2995 -f63e 26 1146 2995 -f664 10 1147 2995 -f674 5 1148 2995 -f679 4 1141 2995 -f67d 2f 1143 2995 -f6ac a 1144 2995 -f6b6 8 1152 2995 -f6be 14 1154 2995 -f6d2 9 1156 2995 -f6db e 1159 2995 -f6e9 9 1161 2995 -f6f2 7 1165 2995 -f6f9 7 1166 2995 -f700 9 1168 2995 -f709 15 1170 2995 -f71e 9 1172 2995 -f727 e 1175 2995 -f735 9 1177 2995 -f73e 12 1183 2995 -f750 4 1187 2995 -FUNC f754 1d4 18 _expandlocale -f754 15 1198 2995 -f769 41 1230 2995 -f7aa 14 1211 2995 -f7be b 1216 2995 -f7c9 26 1219 2995 -f7ef 4 1220 2995 -f7f3 3 1222 2995 -f7f6 4 1223 2995 -f7fa 4 1224 2995 -f7fe 7 1226 2995 -f805 2 1228 2995 -f807 8 1230 2995 -f80f 6 1234 2995 -f815 2f 1236 2995 -f844 4 1241 2995 -f848 e 1243 2995 -f856 6 1244 2995 -f85c 10 1246 2995 -f86c 6 1247 2995 -f872 9 1251 2995 -f87b 10 1253 2995 -f88b a 1255 2995 -f895 2 1260 2995 -f897 8 1263 2995 -f89f 26 1267 2995 -f8c5 5 1271 2995 -f8ca e 1272 2995 -f8d8 5 1273 2995 -f8dd 10 1274 2995 -f8ed 22 1276 2995 -f90f 5 1277 2995 -f914 2 1212 2995 -f916 12 1278 2995 -FUNC f928 2f6 4 _setlocale_set_cat -f928 19 980 2995 -f941 5 993 2995 -f946 2f 998 2995 -f975 7 1000 2995 -f97c 19 1002 2995 -f995 6 1004 2995 -f99b c 1007 2995 -f9a7 16 1008 2995 -f9bd 2 1010 2995 -f9bf 3 1013 2995 -f9c2 d 1014 2995 -f9cf 2c 1015 2995 -f9fb 3 1016 2995 -f9fe 39 1019 2995 -fa37 6 1020 2995 -fa3d 15 1021 2995 -fa52 17 1022 2995 -fa69 a 1029 2995 -fa73 6 1031 2995 -fa79 18 1037 2995 -fa91 7 1039 2995 -fa98 8 1053 2995 -faa0 14 1054 2995 -fab4 18 1055 2995 -facc 2 1039 2995 -face a 1044 2995 -fad8 d 1046 2995 -fae5 b 1047 2995 -faf0 9 1058 2995 -faf9 26 1066 2995 -fb1f 2 1069 2995 -fb21 10 1071 2995 -fb31 22 1072 2995 -fb53 2 1081 2995 -fb55 4 1082 2995 -fb59 5 1083 2995 -fb5e 9 1085 2995 -fb67 6 1088 2995 -fb6d 9 1089 2995 -fb76 12 1091 2995 -fb88 6 1094 2995 -fb8e e 1095 2995 -fb9c f 1096 2995 -fbab 9 1097 2995 -fbb4 5 1099 2995 -fbb9 24 1106 2995 -fbdd 7 1109 2995 -fbe4 8 1110 2995 -fbec 6 1111 2995 -fbf2 18 1116 2995 -fc0a 3 1118 2995 -fc0d 11 1119 2995 -FUNC fc1e 1ce 4 _setlocale_nolock -fc1e 1a 873 2995 -fc38 7 877 2995 -fc3f 5 904 2995 -fc44 17 880 2995 -fc5b 5 882 2995 -fc60 12 888 2995 -fc72 1d 890 2995 -fc8f 2 894 2995 -fc91 d 898 2995 -fc9e 1e 900 2995 -fcbc 11 904 2995 -fccd 1d 907 2995 -fcea e 904 2995 -fcf8 1b 913 2995 -fd13 6 916 2995 -fd19 24 918 2995 -fd3d 18 922 2995 -fd55 3 923 2995 -fd58 7 925 2995 -fd5f 1 926 2995 -fd60 9 928 2995 -fd69 c 930 2995 -fd75 4 901 2995 -fd79 19 935 2995 -fd92 3 937 2995 -fd95 4 939 2995 -fd99 11 941 2995 -fdaa c 943 2995 -fdb6 2 947 2995 -fdb8 3 949 2995 -fdbb 2 952 2995 -fdbd 3 953 2995 -fdc0 9 937 2995 -fdc9 5 956 2995 -fdce 2 961 2995 -fdd0 3 962 2995 -fdd3 2 965 2995 -fdd5 5 966 2995 -fdda 12 972 2995 -FUNC fdec f3 8 _create_locale -fdec 0 605 2995 -fdec 10 609 2995 -fdfc 13 612 2995 -fe0f b 614 2995 -fe1a 4 610 2995 -fe1e c 658 2995 -fe2a 8 617 2995 -fe32 7 619 2995 -fe39 2 621 2995 -fe3b 14 623 2995 -fe4f 7 625 2995 -fe56 7 626 2995 -fe5d 2 628 2995 -fe5f c 630 2995 -fe6b 14 632 2995 -fe7f 7 634 2995 -fe86 7 635 2995 -fe8d 9 637 2995 -fe96 2 640 2995 -fe98 13 642 2995 -feab 8 644 2995 -feb3 7 645 2995 -feba 7 646 2995 -fec1 9 647 2995 -feca 2 648 2995 -fecc 2 650 2995 -fece 5 652 2995 -fed3 5 653 2995 -fed8 7 657 2995 -FUNC fedf 5 8 __create_locale -fedf 0 665 2995 -fedf 5 666 2995 -FUNC fee4 170 8 setlocale -fee4 c 791 2995 -fef0 5 792 2995 -fef5 25 797 2995 -ff1a a 799 2995 -ff24 5 801 2995 -ff29 4 806 2995 -ff2d 3 807 2995 -ff30 1b 808 2995 -ff4b 8 818 2995 -ff53 7 819 2995 -ff5a a 820 2995 -ff64 8 822 2995 -ff6c 19 826 2995 -ff85 18 834 2995 -ff9d a 836 2995 -ffa7 8 839 2995 -ffaf 7 840 2995 -ffb6 a 841 2995 -ffc0 7 842 2995 -ffc7 f 846 2995 -ffd6 c 847 2995 -ffe2 18 849 2995 -fffa 5 850 2995 -ffff b 852 2995 -1000a 8 822 2995 -10012 9 823 2995 -1001b 3 852 2995 -1001e 9 853 2995 -10027 2 855 2995 -10029 6 856 2995 -1002f 8 857 2995 -10037 c 860 2995 -10043 3 865 2995 -10046 6 866 2995 -1004c 3 860 2995 -1004f 5 862 2995 -FUNC 10054 15f 14 _wctomb_s_l -10054 8 56 6128 -1005c 11 57 6128 -1006d 7 60 6128 -10074 2 62 6128 -10076 4 64 6128 -1007a 7 67 6128 -10081 3 69 6128 -10084 23 74 6128 -100a7 b 77 6128 -100b2 c 79 6128 -100be a 81 6128 -100c8 8 83 6128 -100d0 b 85 6128 -100db b 125 6128 -100e6 13 126 6128 -100f9 5 136 6128 -100fe 4 91 6128 -10102 2c 93 6128 -1012e 2 94 6128 -10130 7 96 6128 -10137 6 98 6128 -1013d 15 100 6128 -10152 27 115 6128 -10179 7 129 6128 -10180 2 131 6128 -10182 2 133 6128 -10184 f 117 6128 -10193 10 119 6128 -101a3 b 121 6128 -101ae 5 123 6128 -FUNC 101b3 1b 10 wctomb_s -101b3 0 144 6128 -101b3 1a 145 6128 -101cd 1 146 6128 -FUNC 101ce 4f c _wctomb_l -101ce 6 178 6128 -101d4 f 181 6128 -101e3 1f 183 6128 -10202 19 184 6128 -1021b 2 185 6128 -FUNC 1021d 30 8 wctomb -1021d 4 191 6128 -10221 4 192 6128 -10225 1a 195 6128 -1023f 7 196 6128 -10246 2 197 6128 -10248 3 196 6128 -1024b 2 197 6128 -FUNC 1024d 36 8 _isleadbyte_l -1024d 6 55 6490 -10253 b 56 6490 -1025e 23 57 6490 -10281 2 58 6490 -FUNC 10283 e 4 isleadbyte -10283 0 63 6490 -10283 d 64 6490 -10290 1 65 6490 -FUNC 10291 16 8 _iswalpha_l -10291 0 71 6490 -10291 15 72 6490 -102a6 1 73 6490 -FUNC 102a7 11 4 iswalpha -102a7 0 78 6490 -102a7 10 79 6490 -102b7 1 80 6490 -FUNC 102b8 13 8 _iswupper_l -102b8 0 86 6490 -102b8 12 87 6490 -102ca 1 88 6490 -FUNC 102cb e 4 iswupper -102cb 0 93 6490 -102cb d 94 6490 -102d8 1 95 6490 -FUNC 102d9 13 8 _iswlower_l -102d9 0 101 6490 -102d9 12 102 6490 -102eb 1 103 6490 -FUNC 102ec e 4 iswlower -102ec 0 108 6490 -102ec d 109 6490 -102f9 1 110 6490 -FUNC 102fa 13 8 _iswdigit_l -102fa 0 116 6490 -102fa 12 117 6490 -1030c 1 118 6490 -FUNC 1030d e 4 iswdigit -1030d 0 123 6490 -1030d d 124 6490 -1031a 1 125 6490 -FUNC 1031b 16 8 _iswxdigit_l -1031b 0 131 6490 -1031b 15 132 6490 -10330 1 133 6490 -FUNC 10331 11 4 iswxdigit -10331 0 138 6490 -10331 10 139 6490 -10341 1 140 6490 -FUNC 10342 13 8 _iswspace_l -10342 0 146 6490 -10342 12 147 6490 -10354 1 148 6490 -FUNC 10355 e 4 iswspace -10355 0 153 6490 -10355 d 154 6490 -10362 1 155 6490 -FUNC 10363 13 8 _iswpunct_l -10363 0 161 6490 -10363 12 162 6490 -10375 1 163 6490 -FUNC 10376 e 4 iswpunct -10376 0 168 6490 -10376 d 169 6490 -10383 1 170 6490 -FUNC 10384 16 8 _iswalnum_l -10384 0 176 6490 -10384 15 177 6490 -10399 1 178 6490 -FUNC 1039a 11 4 iswalnum -1039a 0 183 6490 -1039a 10 184 6490 -103aa 1 185 6490 -FUNC 103ab 16 8 _iswprint_l -103ab 0 191 6490 -103ab 15 192 6490 -103c0 1 193 6490 -FUNC 103c1 11 4 iswprint -103c1 0 198 6490 -103c1 10 199 6490 -103d1 1 200 6490 -FUNC 103d2 16 8 _iswgraph_l -103d2 0 206 6490 -103d2 15 207 6490 -103e7 1 208 6490 -FUNC 103e8 11 4 iswgraph -103e8 0 213 6490 -103e8 10 214 6490 -103f8 1 215 6490 -FUNC 103f9 13 8 _iswcntrl_l -103f9 0 221 6490 -103f9 12 222 6490 -1040b 1 223 6490 -FUNC 1040c e 4 iswcntrl -1040c 0 228 6490 -1040c d 229 6490 -10419 1 230 6490 -FUNC 1041a c 4 iswascii -1041a 0 235 6490 -1041a b 236 6490 -10425 1 237 6490 -FUNC 10426 26 8 _iswcsym_l -10426 0 243 6490 -10426 21 244 6490 -10447 1 245 6490 -10448 3 244 6490 -1044b 1 245 6490 -FUNC 1044c 21 4 __iswcsym -1044c 0 250 6490 -1044c 1c 251 6490 -10468 1 252 6490 -10469 3 251 6490 -1046c 1 252 6490 -FUNC 1046d 26 8 _iswcsymf_l -1046d 0 258 6490 -1046d 21 259 6490 -1048e 1 260 6490 -1048f 3 259 6490 -10492 1 260 6490 -FUNC 10493 21 4 __iswcsymf -10493 0 265 6490 -10493 1c 266 6490 -104af 1 267 6490 -104b0 3 266 6490 -104b3 1 267 6490 -FUNC 104c0 95 0 _aulldvrm -104c0 0 45 5113 -104c0 1 47 5113 -104c1 4 79 5113 -104c5 2 80 5113 -104c7 2 81 5113 -104c9 4 82 5113 -104cd 4 83 5113 -104d1 2 84 5113 -104d3 2 85 5113 -104d5 2 86 5113 -104d7 4 87 5113 -104db 2 88 5113 -104dd 2 89 5113 -104df 2 94 5113 -104e1 4 95 5113 -104e5 2 96 5113 -104e7 2 97 5113 -104e9 4 98 5113 -104ed 2 99 5113 -104ef 2 100 5113 -104f1 2 107 5113 -104f3 4 108 5113 -104f7 4 109 5113 -104fb 4 110 5113 -104ff 2 112 5113 -10501 2 113 5113 -10503 2 114 5113 -10505 2 115 5113 -10507 2 116 5113 -10509 2 117 5113 -1050b 2 118 5113 -1050d 2 119 5113 -1050f 4 128 5113 -10513 2 129 5113 -10515 4 130 5113 -10519 2 131 5113 -1051b 2 132 5113 -1051d 2 133 5113 -1051f 4 141 5113 -10523 2 142 5113 -10525 2 143 5113 -10527 4 144 5113 -1052b 2 145 5113 -1052d 1 147 5113 -1052e 4 148 5113 -10532 4 149 5113 -10536 2 151 5113 -10538 4 160 5113 -1053c 4 161 5113 -10540 2 162 5113 -10542 2 163 5113 -10544 3 164 5113 -10547 2 169 5113 -10549 2 170 5113 -1054b 2 171 5113 -1054d 2 172 5113 -1054f 2 173 5113 -10551 1 179 5113 -10552 3 181 5113 -FUNC 10558 90 0 _local_unwind4 -FUNC 105e8 46 0 _unwind_handler4 -FUNC 1062e 1c 4 _seh_longjmp_unwind4 -FUNC 1064a 17 0 _EH4_CallFilterFunc -FUNC 10661 19 0 _EH4_TransferToHandler -FUNC 1067a 1a 0 _EH4_GlobalUnwind -FUNC 10694 17 8 _EH4_LocalUnwind -FUNC 106ab 33 0 write_char -106ab 0 2433 1218 -106ab a 2434 1218 -106b5 2 2437 1218 -106b7 21 2442 1218 -106d8 2 2444 1218 -106da 1 2447 1218 -106db 2 2446 1218 -106dd 1 2447 1218 -FUNC 106de 24 c write_multi_char -106de 6 2498 1218 -106e4 2 2501 1218 -106e6 e 2500 1218 -106f4 5 2501 1218 -106f9 7 2499 1218 -10700 2 2504 1218 -FUNC 10702 4a 4 write_string -10702 0 2563 1218 -10702 12 2564 1218 -10714 6 2566 1218 -1071a 2 2567 1218 -1071c e 2570 1218 -1072a 5 2571 1218 -1072f a 2573 1218 -10739 9 2574 1218 -10742 9 2569 1218 -1074b 1 2579 1218 -FUNC 1074c 9b0 10 _output_s_l -1074c 1b 975 1218 -10767 45 1036 1218 -107ac 2d 1031 1218 -107d9 b1 1033 1218 -1088a 8 1036 1218 -10892 28 1073 1218 -108ba 17 1078 1218 -108d1 e 1079 1218 -108df 11 1124 1218 -108f0 12 1131 1218 -10902 2 1171 1218 -10904 13 1173 1218 -10917 3 1174 1218 -1091a 5 1175 1218 -1091f 1e 1179 1218 -1093d 3 1193 1218 -10940 5 1194 1218 -10945 4 1181 1218 -10949 5 1182 1218 -1094e 4 1184 1218 -10952 5 1185 1218 -10957 7 1190 1218 -1095e 5 1191 1218 -10963 4 1187 1218 -10967 5 1196 1218 -1096c 5 1200 1218 -10971 9 1206 1218 -1097a b 1233 1218 -10985 4 1235 1218 -10989 3 1236 1218 -1098c 5 1239 1218 -10991 10 1241 1218 -109a1 5 1243 1218 -109a6 4 1248 1218 -109aa 5 1249 1218 -109af 5 1253 1218 -109b4 9 1259 1218 -109bd b 1284 1218 -109c8 4 1285 1218 -109cc 5 1287 1218 -109d1 10 1289 1218 -109e1 5 1291 1218 -109e6 18 1295 1218 -109fe 7 1362 1218 -10a05 5 1363 1218 -10a0a 5 1301 1218 -10a0f 1 1303 1218 -10a10 a 1304 1218 -10a1a 5 1306 1218 -10a1f 4 1308 1218 -10a23 5 1310 1218 -10a28 4 1358 1218 -10a2c 5 1359 1218 -10a31 c 1322 1218 -10a3d 2 1324 1218 -10a3f f 1325 1218 -10a4e a 1327 1218 -10a58 2 1329 1218 -10a5a a 1330 1218 -10a64 5 1332 1218 -10a69 30 1337 1218 -10a99 4 1352 1218 -10a9d 4 1154 1218 -10aa1 10 1158 1218 -10ab1 11 1160 1218 -10ac2 3 1161 1218 -10ac5 b 1163 1218 -10ad0 b 1166 1218 -10adb 5 1167 1218 -10ae0 32 1378 1218 -10b12 d 1716 1218 -10b1f 4 1724 1218 -10b23 18 1749 1218 -10b3b c 1750 1218 -10b47 8 1381 1218 -10b4f 9 1385 1218 -10b58 8 1561 1218 -10b60 7 1562 1218 -10b67 d 1584 1218 -10b74 3 1589 1218 -10b77 15 1635 1218 -10b8c 4 1636 1218 -10b90 8 1637 1218 -10b98 f 1639 1218 -10ba7 1d 1378 1218 -10bc4 12 1448 1218 -10bd6 16 1467 1218 -10bec 4 1470 1218 -10bf0 7 1471 1218 -10bf7 2 1472 1218 -10bf9 6 1499 1218 -10bff 7 1500 1218 -10c06 6 1503 1218 -10c0c 5 1506 1218 -10c11 5 1523 1218 -10c16 e 1541 1218 -10c24 6 1546 1218 -10c2a d 1548 1218 -10c37 7 1549 1218 -10c3e 5 1550 1218 -10c43 4 1551 1218 -10c47 5 1553 1218 -10c4c 8 1543 1218 -10c54 7 1544 1218 -10c5b 5 1557 1218 -10c60 34 1378 1218 -10c94 9 1908 1218 -10c9d 9 1910 1218 -10ca6 8 1668 1218 -10cae d 1688 1218 -10cbb 6 1702 1218 -10cc1 7 1703 1218 -10cc8 2 1704 1218 -10cca 5 1706 1218 -10ccf 7 1708 1218 -10cd6 5 1710 1218 -10cdb 4 1864 1218 -10cdf 7 1869 1218 -10ce6 c 1933 1218 -10cf2 8 1939 1218 -10cfa 5 1958 1218 -10cff 7 1751 1218 -10d06 9 1752 1218 -10d0f 5 1753 1218 -10d14 3 1754 1218 -10d17 9 1756 1218 -10d20 f 1759 1218 -10d2f 2 1760 1218 -10d31 15 1765 1218 -10d46 8 1767 1218 -10d4e e 1809 1218 -10d5c 27 1828 1218 -10d83 14 1838 1218 -10d97 15 1840 1218 -10dac a 1844 1218 -10db6 15 1846 1218 -10dcb 5 1852 1218 -10dd0 7 1853 1218 -10dd7 4 1854 1218 -10ddb 1 1857 1218 -10ddc 5 1859 1218 -10de1 3 1877 1218 -10de4 3 1887 1218 -10de7 2 1888 1218 -10de9 1a 1378 1218 -10e03 7 1892 1218 -10e0a 11 1897 1218 -10e1b c 1900 1218 -10e27 7 1901 1218 -10e2e 5 1903 1218 -10e33 5 1961 1218 -10e38 6 1987 1218 -10e3e 14 2026 1218 -10e52 2 2045 1218 -10e54 5 2051 1218 -10e59 2 2071 1218 -10e5b 3 2074 1218 -10e5e 6 2080 1218 -10e64 2 2099 1218 -10e66 5 2105 1218 -10e6b f 2128 1218 -10e7a 7 2129 1218 -10e81 7 2130 1218 -10e88 c 2136 1218 -10e94 2 2142 1218 -10e96 6 2148 1218 -10e9c 7 2149 1218 -10ea3 2 2150 1218 -10ea5 4 2151 1218 -10ea9 a 2152 1218 -10eb3 3 2153 1218 -10eb6 6 2157 1218 -10ebc 3 2158 1218 -10ebf 6 2163 1218 -10ec5 10 2165 1218 -10ed5 10 2166 1218 -10ee5 c 2168 1218 -10ef1 3 2170 1218 -10ef4 3 2172 1218 -10ef7 2 2173 1218 -10ef9 8 2175 1218 -10f01 1 2176 1218 -10f02 19 2180 1218 -10f1b 9 2181 1218 -10f24 1 2182 1218 -10f25 2 2185 1218 -10f27 7 1640 1218 -10f2e 2 1641 1218 -10f30 4 1640 1218 -10f34 5 1642 1218 -10f39 2 1644 1218 -10f3b 4 1645 1218 -10f3f 8 1646 1218 -10f47 5 1647 1218 -10f4c 6 1648 1218 -10f52 1 1649 1218 -10f53 4 1648 1218 -10f57 6 1650 1218 -10f5d a 2201 1218 -10f67 7 2204 1218 -10f6e 6 2205 1218 -10f74 4 2207 1218 -10f78 2 2208 1218 -10f7a 4 2210 1218 -10f7e 4 2212 1218 -10f82 2 2213 1218 -10f84 4 2215 1218 -10f88 4 2217 1218 -10f8c 7 2218 1218 -10f93 9 2224 1218 -10f9c 6 2228 1218 -10fa2 11 2230 1218 -10fb3 11 2234 1218 -10fc4 d 2236 1218 -10fd1 f 2238 1218 -10fe0 d 2243 1218 -10fed 3 2249 1218 -10ff0 3 2250 1218 -10ff3 1e 2252 1218 -11011 9 2253 1218 -1101a 18 2257 1218 -11032 2 1690 1218 -11034 4 2254 1218 -11038 2 2259 1218 -1103a d 2260 1218 -11047 c 2290 1218 -11053 f 2292 1218 -11062 6 2297 1218 -11068 8 2298 1218 -11070 1b 2299 1218 -1108b 17 1125 1218 -110a2 2 1690 1218 -110a4 f 2310 1218 -110b3 10 2376 1218 -110c3 39 2377 1218 -FUNC 110fc 129 10 _validate_param_reuseA -110fc 3 606 1271 -110ff 1c 610 1271 -1111b f 617 1271 -1112a 11 618 1271 -1113b 10 620 1271 -1114b 36 629 1271 -11181 46 632 1271 -111c7 2 633 1271 -111c9 17 639 1271 -111e0 c 645 1271 -111ec 2c 626 1271 -11218 b 614 1271 -11223 2 646 1271 -FUNC 11225 33 0 write_char -11225 0 2433 1271 -11225 a 2434 1271 -1122f 2 2437 1271 -11231 21 2442 1271 -11252 2 2444 1271 -11254 1 2447 1271 -11255 2 2446 1271 -11257 1 2447 1271 -FUNC 11258 24 c write_multi_char -11258 6 2498 1271 -1125e 2 2501 1271 -11260 e 2500 1271 -1126e 5 2501 1271 -11273 7 2499 1271 -1127a 2 2504 1271 -FUNC 1127c 4a 4 write_string -1127c 0 2563 1271 -1127c 12 2564 1271 -1128e 6 2566 1271 -11294 2 2567 1271 -11296 e 2570 1271 -112a4 5 2571 1271 -112a9 a 2573 1271 -112b3 9 2574 1271 -112bc 9 2569 1271 -112c5 1 2579 1271 -FUNC 112c6 10 4 get_crtdouble_arg -112c6 0 2684 1271 -112c6 f 2685 1271 -112d5 1 2686 1271 -FUNC 112d6 f88 10 _output_p_l -112d6 1b 975 1271 -112f1 15 986 1271 -11306 b 1007 1271 -11311 2b 2172 1271 -1133c 2c 1031 1271 -11368 9b 1033 1271 -11403 8 1036 1271 -1140b 3 1038 1271 -1140e 3 1041 1271 -11411 3 1043 1271 -11414 11 1046 1271 -11425 7 1061 1271 -1142c 4 1062 1271 -11430 7 1069 1271 -11437 32 1073 1271 -11469 19 1078 1271 -11482 e 1079 1271 -11490 1a 1082 1271 -114aa 6 1084 1271 -114b0 1b 1087 1271 -114cb 5 1089 1271 -114d0 15 1091 1271 -114e5 3 1093 1271 -114e8 2 1095 1271 -114ea 6 1097 1271 -114f0 5 1101 1271 -114f5 c 1103 1271 -11501 7 1104 1271 -11508 e 1106 1271 -11516 1a 1109 1271 -11530 8 1112 1271 -11538 f 1131 1271 -11547 9 1120 1271 -11550 b 1131 1271 -1155b 21 1137 1271 -1157c 5 1145 1271 -11581 16 1173 1271 -11597 3 1174 1271 -1159a 5 1175 1271 -1159f 1f 1179 1271 -115be 7 1193 1271 -115c5 5 1194 1271 -115ca 7 1181 1271 -115d1 5 1182 1271 -115d6 6 1184 1271 -115dc 5 1185 1271 -115e1 a 1190 1271 -115eb 5 1191 1271 -115f0 7 1187 1271 -115f7 5 1196 1271 -115fc 9 1200 1271 -11605 5 1203 1271 -1160a a 1206 1271 -11614 2 1209 1271 -11616 c 1211 1271 -11622 7 1212 1271 -11629 b 1214 1271 -11634 1b 1216 1271 -1164f 8 1219 1271 -11657 12 1221 1271 -11669 9 1274 1271 -11672 5 1275 1271 -11677 c 1228 1271 -11683 b 1233 1271 -1168e 7 1235 1271 -11695 3 1236 1271 -11698 5 1239 1271 -1169d 10 1241 1271 -116ad 5 1243 1271 -116b2 3 1248 1271 -116b5 5 1249 1271 -116ba 5 1253 1271 -116bf 5 1256 1271 -116c4 a 1259 1271 -116ce 2 1262 1271 -116d0 c 1264 1271 -116dc 7 1265 1271 -116e3 f 1267 1271 -116f2 c 1280 1271 -116fe b 1284 1271 -11709 4 1285 1271 -1170d 5 1287 1271 -11712 1c 1274 1271 -1172e 10 1289 1271 -1173e 5 1291 1271 -11743 18 1295 1271 -1175b a 1362 1271 -11765 5 1363 1271 -1176a 5 1301 1271 -1176f 1 1303 1271 -11770 d 1304 1271 -1177d 5 1306 1271 -11782 7 1308 1271 -11789 5 1310 1271 -1178e 7 1358 1271 -11795 5 1359 1271 -1179a c 1322 1271 -117a6 2 1324 1271 -117a8 12 1325 1271 -117ba a 1327 1271 -117c4 2 1329 1271 -117c6 d 1330 1271 -117d3 5 1332 1271 -117d8 18 1337 1271 -117f0 3 1352 1271 -117f3 13 1158 1271 -11806 11 1160 1271 -11817 8 1161 1271 -1181f 8 1163 1271 -11827 b 1166 1271 -11832 5 1167 1271 -11837 a 1342 1271 -11841 5 1366 1271 -11846 39 1378 1271 -1187f 9 1716 1271 -11888 7 1724 1271 -1188f 12 1726 1271 -118a1 a 1728 1271 -118ab 27 1739 1271 -118d2 b 1381 1271 -118dd c 1385 1271 -118e9 b 1561 1271 -118f4 a 1562 1271 -118fe d 1584 1271 -1190b 9 1586 1271 -11914 a 1589 1271 -1191e 5 1592 1271 -11923 25 1378 1271 -11948 b 1442 1271 -11953 5 1445 1271 -11958 b 1448 1271 -11963 2 1451 1271 -11965 a 1453 1271 -1196f 27 1457 1271 -11996 5 1458 1271 -1199b a 1462 1271 -119a5 19 1467 1271 -119be 4 1470 1271 -119c2 3 1471 1271 -119c5 2 1472 1271 -119c7 5 1477 1271 -119cc b 1480 1271 -119d7 2 1483 1271 -119d9 a 1485 1271 -119e3 f 1489 1271 -119f2 a 1494 1271 -119fc 6 1499 1271 -11a02 3 1500 1271 -11a05 9 1503 1271 -11a0e 5 1506 1271 -11a13 5 1520 1271 -11a18 a 1523 1271 -11a22 2 1526 1271 -11a24 a 1528 1271 -11a2e 9 1532 1271 -11a37 6 1533 1271 -11a3d 9 1537 1271 -11a46 b 1541 1271 -11a51 9 1546 1271 -11a5a d 1548 1271 -11a67 3 1549 1271 -11a6a 5 1550 1271 -11a6f 3 1551 1271 -11a72 5 1553 1271 -11a77 8 1543 1271 -11a7f 7 1544 1271 -11a86 5 1557 1271 -11a8b 38 1378 1271 -11ac3 14 1908 1271 -11ad7 f 1910 1271 -11ae6 5 1665 1271 -11aeb a 1668 1271 -11af5 2 1671 1271 -11af7 a 1673 1271 -11b01 25 1677 1271 -11b26 5 1678 1271 -11b2b 9 1682 1271 -11b34 9 1688 1271 -11b3d 9 1702 1271 -11b46 7 1703 1271 -11b4d 2 1704 1271 -11b4f 5 1706 1271 -11b54 3 1708 1271 -11b57 5 1710 1271 -11b5c 7 1864 1271 -11b63 7 1869 1271 -11b6a f 1933 1271 -11b79 9 1936 1271 -11b82 e 1939 1271 -11b90 5 1942 1271 -11b95 1c 1739 1271 -11bb1 21 1109 1271 -11bd2 16 1749 1271 -11be8 9 1750 1271 -11bf1 7 1751 1271 -11bf8 3 1767 1271 -11bfb 5 1806 1271 -11c00 9 1809 1271 -11c09 2 1812 1271 -11c0b 5 1753 1271 -11c10 3 1754 1271 -11c13 a 1756 1271 -11c1d f 1759 1271 -11c2c 2 1760 1271 -11c2e 11 1765 1271 -11c3f a 1818 1271 -11c49 6 1821 1271 -11c4f 16 1822 1271 -11c65 26 1828 1271 -11c8b 16 1838 1271 -11ca1 17 1840 1271 -11cb8 a 1844 1271 -11cc2 17 1846 1271 -11cd9 8 1852 1271 -11ce1 a 1853 1271 -11ceb 3 1854 1271 -11cee 3 1857 1271 -11cf1 5 1859 1271 -11cf6 7 1877 1271 -11cfd 7 1887 1271 -11d04 2 1888 1271 -11d06 1a 1378 1271 -11d20 7 1892 1271 -11d27 14 1897 1271 -11d3b c 1900 1271 -11d47 7 1901 1271 -11d4e 5 1903 1271 -11d53 a 1944 1271 -11d5d 2c 1948 1271 -11d89 5 1949 1271 -11d8e 6 1961 1271 -11d94 3 1964 1271 -11d97 6 1970 1271 -11d9d a 1972 1271 -11da7 2c 1976 1271 -11dd3 5 1977 1271 -11dd8 c 1981 1271 -11de4 5 1987 1271 -11de9 4 2019 1271 -11ded 4 2020 1271 -11df1 5 2023 1271 -11df6 b 2026 1271 -11e01 5 2029 1271 -11e06 a 2031 1271 -11e10 f 2035 1271 -11e1f a 2040 1271 -11e29 2 2045 1271 -11e2b 5 2048 1271 -11e30 b 2051 1271 -11e3b 2 2054 1271 -11e3d a 2056 1271 -11e47 b 2060 1271 -11e52 a 2065 1271 -11e5c 2 2071 1271 -11e5e 4 2074 1271 -11e62 5 2077 1271 -11e67 a 2080 1271 -11e71 2 2083 1271 -11e73 a 2085 1271 -11e7d b 2089 1271 -11e88 a 2094 1271 -11e92 2 2099 1271 -11e94 5 2102 1271 -11e99 a 2105 1271 -11ea3 2 2108 1271 -11ea5 a 2110 1271 -11eaf 38 2114 1271 -11ee7 5 2115 1271 -11eec b 2119 1271 -11ef7 13 2128 1271 -11f0a 7 2129 1271 -11f11 a 2130 1271 -11f1b f 2136 1271 -11f2a 2 2142 1271 -11f2c 6 2148 1271 -11f32 7 2149 1271 -11f39 2 2150 1271 -11f3b 7 2151 1271 -11f42 a 2152 1271 -11f4c 3 2153 1271 -11f4f 6 2157 1271 -11f55 3 2158 1271 -11f58 6 2163 1271 -11f5e 10 2165 1271 -11f6e 10 2166 1271 -11f7e c 2168 1271 -11f8a 3 2170 1271 -11f8d 3 2172 1271 -11f90 2 2173 1271 -11f92 8 2175 1271 -11f9a 1 2176 1271 -11f9b 24 2180 1271 -11fbf 9 2181 1271 -11fc8 1 2182 1271 -11fc9 5 2185 1271 -11fce c 1594 1271 -11fda c 1598 1271 -11fe6 9 1603 1271 -11fef e 1635 1271 -11ffd 4 1636 1271 -12001 8 1637 1271 -12009 8 1639 1271 -12011 1c 1598 1271 -1202d 6 1640 1271 -12033 2 1641 1271 -12035 4 1640 1271 -12039 5 1642 1271 -1203e 2 1644 1271 -12040 5 1645 1271 -12045 8 1646 1271 -1204d 5 1647 1271 -12052 6 1648 1271 -12058 1 1649 1271 -12059 4 1648 1271 -1205d 6 1650 1271 -12063 10 2189 1271 -12073 a 2201 1271 -1207d a 2204 1271 -12087 6 2205 1271 -1208d 4 2207 1271 -12091 2 2208 1271 -12093 4 2210 1271 -12097 4 2212 1271 -1209b 2 2213 1271 -1209d 4 2215 1271 -120a1 4 2217 1271 -120a5 7 2218 1271 -120ac 9 2224 1271 -120b5 4 2228 1271 -120b9 11 2230 1271 -120ca 11 2234 1271 -120db 13 2236 1271 -120ee f 2238 1271 -120fd d 2243 1271 -1210a 3 2249 1271 -1210d 3 2250 1271 -12110 1e 2252 1271 -1212e 9 2253 1271 -12137 18 2257 1271 -1214f 2 2310 1271 -12151 4 2254 1271 -12155 2 2259 1271 -12157 d 2260 1271 -12164 f 2290 1271 -12173 f 2292 1271 -12182 6 2297 1271 -12188 8 2298 1271 -12190 15 2299 1271 -121a5 2 1073 1271 -121a7 f 2310 1271 -121b6 b 2314 1271 -121c1 10 2319 1271 -121d1 1d 2321 1271 -121ee 2 2360 1271 -121f0 3 2361 1271 -121f3 2 2362 1271 -121f5 2 2324 1271 -121f7 f 2325 1271 -12206 10 1043 1271 -12216 10 2376 1271 -12226 38 2377 1271 -FUNC 1225e c2 4 _putwch_nolock -1225e 11 84 4721 -1226f a 89 4721 -12279 9 91 4721 -12282 5 92 4721 -12287 a 96 4721 -12291 6 97 4721 -12297 16 103 4721 -122ad 14 105 4721 -122c1 6 106 4721 -122c7 1c 123 4721 -122e3 1e 129 4721 -12301 2 131 4721 -12303 4 133 4721 -12307 d 134 4721 -12314 a 110 4721 -1231e 2 113 4721 -FUNC 12320 9b 4 _cputws -12320 c 151 4721 -1232c 5 153 4721 -12331 30 155 4721 -12361 b 157 4721 -1236c 9 158 4721 -12375 3 159 4721 -12378 a 160 4721 -12382 17 162 4721 -12399 4 164 4721 -1239d c 169 4721 -123a9 3 172 4721 -123ac 6 173 4721 -123b2 9 170 4721 -FUNC 123bb 46 4 _putwch -123bb c 49 4721 -123c7 8 52 4721 -123cf 4 53 4721 -123d3 f 55 4721 -123e2 c 58 4721 -123ee 4 62 4721 -123f2 6 63 4721 -123f8 9 59 4721 -FUNC 12401 113 10 _mbtowc_l -12401 8 55 6355 -12409 e 56 6355 -12417 4 61 6355 -1241b 7 64 6355 -12422 3 65 6355 -12425 4 59 6355 -12429 2 116 6355 -1242b b 70 6355 -12436 8 73 6355 -1243e 7 75 6355 -12445 7 76 6355 -1244c 11 77 6355 -1245d 13 80 6355 -12470 33 90 6355 -124a3 10 93 6355 -124b3 1b 99 6355 -124ce b 95 6355 -124d9 14 96 6355 -124ed 25 108 6355 -12512 2 111 6355 -FUNC 12514 17 c mbtowc -12514 0 123 6355 -12514 16 124 6355 -1252a 1 125 6355 -FUNC 1252b 83 10 _lseeki64_nolock -1252b 5 120 4872 -12530 4 126 4872 -12534 1b 134 4872 -1254f b 136 4872 -1255a 6 138 4872 -12560 22 146 4872 -12582 7 148 4872 -12589 2 149 4872 -1258b 19 152 4872 -125a4 8 153 4872 -125ac 2 154 4872 -FUNC 125ae 119 10 _lseeki64 -125ae c 73 4872 -125ba 9 74 4872 -125c3 24 77 4872 -125e7 2f 78 4872 -12616 46 79 4872 -1265c 7 81 4872 -12663 3 82 4872 -12666 9 84 4872 -1266f 1a 85 4872 -12689 2 86 4872 -1268b b 87 4872 -12696 7 88 4872 -1269d 8 89 4872 -126a5 c 93 4872 -126b1 6 97 4872 -126b7 6 98 4872 -126bd a 94 4872 -FUNC 126c7 7d 8 _set_osfhnd -126c7 0 213 4825 -126c7 2e 216 4825 -126f5 e 217 4825 -12703 b 218 4825 -1270e 3 226 4825 -12711 2 227 4825 -12713 3 223 4825 -12716 2 224 4825 -12718 9 220 4825 -12721 5 231 4825 -12726 5 232 4825 -1272b b 234 4825 -12736 8 235 4825 -1273e 5 236 4825 -12743 1 238 4825 -FUNC 12744 81 4 _free_osfhnd -12744 0 263 4825 -12744 38 266 4825 -1277c 9 268 4825 -12785 a 269 4825 -1278f 3 277 4825 -12792 2 278 4825 -12794 3 274 4825 -12797 2 275 4825 -12799 9 271 4825 -127a2 6 282 4825 -127a8 4 283 4825 -127ac b 285 4825 -127b7 7 286 4825 -127be 6 287 4825 -127c4 1 289 4825 -FUNC 127c5 71 4 _get_osfhandle -127c5 0 312 4825 -127c5 1f 313 4825 -127e4 2 318 4825 -127e6 e 314 4825 -127f4 3d 315 4825 -12831 1 318 4825 -12832 3 317 4825 -12835 1 318 4825 -FUNC 12836 a0 4 __lock_fhandle -12836 c 437 4825 -12842 17 438 4825 -12859 7 439 4825 -12860 7 444 4825 -12867 8 446 4825 -1286f 3 447 4825 -12872 5 448 4825 -12877 14 449 4825 -1288b 3 453 4825 -1288e 3 455 4825 -12891 c 457 4825 -1289d 5 462 4825 -128a2 1d 464 4825 -128bf 3 467 4825 -128c2 6 468 4825 -128c8 5 457 4825 -128cd 9 458 4825 -FUNC 128d6 22 4 _unlock_fhandle -128d6 0 489 4825 -128d6 21 490 4825 -128f7 1 491 4825 -FUNC 128f8 19f 0 _alloc_osfhnd -128f8 c 52 4825 -12904 4 53 4825 -12908 5 56 4825 -1290d c 58 4825 -12919 8 59 4825 -12921 8 61 4825 -12929 3 62 4825 -1292c c 71 4825 -12938 f 77 4825 -12947 17 83 4825 -1295e 6 85 4825 -12964 6 89 4825 -1296a 8 90 4825 -12972 6 91 4825 -12978 6 92 4825 -1297e 14 93 4825 -12992 3 99 4825 -12995 2 101 4825 -12997 3 103 4825 -1299a 9 106 4825 -129a3 6 111 4825 -129a9 a 113 4825 -129b3 6 119 4825 -129b9 7 120 4825 -129c0 5 83 4825 -129c5 6 106 4825 -129cb 9 107 4825 -129d4 6 124 4825 -129da 4 126 4825 -129de 3 127 4825 -129e1 19 128 4825 -129fa 6 137 4825 -12a00 6 71 4825 -12a06 12 145 4825 -12a18 9 151 4825 -12a21 7 152 4825 -12a28 c 154 4825 -12a34 4 155 4825 -12a38 3 156 4825 -12a3b 4 157 4825 -12a3f 4 158 4825 -12a43 8 154 4825 -12a4b 6 165 4825 -12a51 19 166 4825 -12a6a b 167 4825 -12a75 4 171 4825 -12a79 c 178 4825 -12a85 3 186 4825 -12a88 6 187 4825 -12a8e 9 179 4825 -FUNC 12a97 115 8 _open_osfhandle -12a97 c 343 4825 -12aa3 5 347 4825 -12aa8 2 351 4825 -12aaa 6 353 4825 -12ab0 3 354 4825 -12ab3 8 356 4825 -12abb 3 357 4825 -12abe 6 359 4825 -12ac4 3 360 4825 -12ac7 9 364 4825 -12ad0 4 365 4825 -12ad4 d 367 4825 -12ae1 3 409 4825 -12ae4 6 410 4825 -12aea 5 372 4825 -12aef 5 373 4825 -12af4 5 374 4825 -12af9 3 375 4825 -12afc f 380 4825 -12b0b b 381 4825 -12b16 7 382 4825 -12b1d 2 383 4825 -12b1f 3 385 4825 -12b22 b 391 4825 -12b2d 3 393 4825 -12b30 1a 395 4825 -12b4a 9 396 4825 -12b53 9 397 4825 -12b5c 7 399 4825 -12b63 c 401 4825 -12b6f 10 409 4825 -12b7f 5 401 4825 -12b84 5 402 4825 -12b89 1b 404 4825 -12ba4 8 406 4825 -FUNC 12bac 11e c _calloc_impl -12bac c 23 5592 -12bb8 9 28 5592 -12bc1 2e 30 5592 -12bef 9 32 5592 -12bf8 4 36 5592 -12bfc 3 37 5592 -12bff 5 41 5592 -12c04 5 43 5592 -12c09 9 46 5592 -12c12 9 50 5592 -12c1b b 52 5592 -12c26 8 56 5592 -12c2e 3 57 5592 -12c31 c 58 5592 -12c3d c 60 5592 -12c49 7 64 5592 -12c50 d 65 5592 -12c5d 4 93 5592 -12c61 11 94 5592 -12c72 c 97 5592 -12c7e f 109 5592 -12c8d b 111 5592 -12c98 6 112 5592 -12c9e 5 113 5592 -12ca3 5 60 5592 -12ca8 9 61 5592 -12cb1 4 100 5592 -12cb5 7 102 5592 -12cbc 6 103 5592 -12cc2 2 105 5592 -12cc4 6 119 5592 -FUNC 12cca 3f 8 calloc -12cca 4 145 5592 -12cce 5 146 5592 -12cd3 14 147 5592 -12ce7 15 149 5592 -12cfc 8 151 5592 -12d04 3 153 5592 -12d07 2 154 5592 -FUNC 12d09 21b 8 realloc -12d09 c 64 5338 -12d15 7 69 5338 -12d1c e 70 5338 -12d2a 7 73 5338 -12d31 7 75 5338 -12d38 5 76 5338 -12d3d d 81 5338 -12d4a 5 88 5338 -12d4f 9 89 5338 -12d58 8 91 5338 -12d60 3 92 5338 -12d63 12 96 5338 -12d75 8 100 5338 -12d7d f 102 5338 -12d8c 5 103 5338 -12d91 e 104 5338 -12d9f 4 107 5338 -12da3 10 108 5338 -12db3 9 110 5338 -12dbc a 111 5338 -12dc6 5 118 5338 -12dcb 4 120 5338 -12dcf 6 121 5338 -12dd5 9 123 5338 -12dde 15 124 5338 -12df3 4 127 5338 -12df7 10 128 5338 -12e07 c 129 5338 -12e13 c 135 5338 -12e1f 6 142 5338 -12e25 4 144 5338 -12e29 1 145 5338 -12e2a 9 147 5338 -12e33 14 148 5338 -12e47 6 135 5338 -12e4d 9 137 5338 -12e56 3 148 5338 -12e59 10 158 5338 -12e69 f 181 5338 -12e78 5 186 5338 -12e7d 5 183 5338 -12e82 11 186 5338 -12e93 2 188 5338 -12e95 8 160 5338 -12e9d 5 170 5338 -12ea2 3 167 5338 -12ea5 2 172 5338 -12ea7 6 174 5338 -12ead 2 155 5338 -12eaf 4 321 5338 -12eb3 1 322 5338 -12eb4 12 323 5338 -12ec6 c 332 5338 -12ed2 b 347 5338 -12edd 5 319 5338 -12ee2 7 327 5338 -12ee9 b 328 5338 -12ef4 2 329 5338 -12ef6 6 356 5338 -12efc 5 349 5338 -12f01 5 350 5338 -12f06 4 334 5338 -12f0a 16 341 5338 -12f20 4 343 5338 -FUNC 12f24 79 c _recalloc -12f24 3 744 5338 -12f27 a 749 5338 -12f31 28 751 5338 -12f59 4 753 5338 -12f5d 9 754 5338 -12f66 b 755 5338 -12f71 b 756 5338 -12f7c a 757 5338 -12f86 10 759 5338 -12f96 5 761 5338 -12f9b 2 762 5338 -FUNC 12f9d 21 0 _get_sbh_threshold -12f9d 0 61 5281 -12f9d 9 64 5281 -12fa6 2 66 5281 -12fa8 1 81 5281 -12fa9 14 69 5281 -12fbd 1 81 5281 -FUNC 12fbe 46 4 _set_amblksiz -12fbe 0 214 5281 -12fbe 2b 216 5281 -12fe9 1 224 5281 -12fea 11 217 5281 -12ffb 5 220 5281 -13000 3 223 5281 -13003 1 224 5281 -FUNC 13004 3c 4 _get_amblksiz -13004 0 243 5281 -13004 27 245 5281 -1302b 1 253 5281 -1302c 8 246 5281 -13034 8 249 5281 -1303c 3 252 5281 -1303f 1 253 5281 -FUNC 13040 48 4 __sbh_heap_init -13040 0 274 5281 -13040 1c 275 5281 -1305c 1 285 5281 -1305d 4 278 5281 -13061 7 280 5281 -13068 c 281 5281 -13074 13 284 5281 -13087 1 285 5281 -FUNC 13088 2b 4 __sbh_find_block -13088 0 306 5281 -13088 12 307 5281 -1309a 7 316 5281 -130a1 8 317 5281 -130a9 3 319 5281 -130ac 4 314 5281 -130b0 2 321 5281 -130b2 1 322 5281 -FUNC 130b3 314 8 __sbh_free_block -130b3 6 381 5281 -130b9 7 399 5281 -130c0 9 402 5281 -130c9 18 407 5281 -130e1 3 408 5281 -130e4 d 412 5281 -130f1 3 416 5281 -130f4 5 417 5281 -130f9 6 420 5281 -130ff b 424 5281 -1310a 4 429 5281 -1310e 5 430 5281 -13113 3 431 5281 -13116 8 434 5281 -1311e 3 439 5281 -13121 b 441 5281 -1312c e 442 5281 -1313a 5 443 5281 -1313f 2 445 5281 -13141 5 448 5281 -13146 11 449 5281 -13157 9 450 5281 -13160 9 455 5281 -13169 15 459 5281 -1317e 6 463 5281 -13184 5 464 5281 -13189 3 465 5281 -1318c f 468 5281 -1319b 3 474 5281 -1319e 6 477 5281 -131a4 b 478 5281 -131af 2 479 5281 -131b1 3 483 5281 -131b4 6 484 5281 -131ba 7 485 5281 -131c1 2 486 5281 -131c3 4 489 5281 -131c7 b 493 5281 -131d2 3 498 5281 -131d5 11 501 5281 -131e6 6 502 5281 -131ec 5 503 5281 -131f1 2 505 5281 -131f3 e 508 5281 -13201 6 509 5281 -13207 6 511 5281 -1320d c 516 5281 -13219 c 517 5281 -13225 8 520 5281 -1322d e 524 5281 -1323b 6 528 5281 -13241 3 529 5281 -13244 6 530 5281 -1324a 3 531 5281 -1324d 6 532 5281 -13253 8 535 5281 -1325b 18 541 5281 -13273 e 542 5281 -13281 f 543 5281 -13290 2 545 5281 -13292 6 547 5281 -13298 10 548 5281 -132a8 13 550 5281 -132bb 5 556 5281 -132c0 4 558 5281 -132c4 b 561 5281 -132cf d 564 5281 -132dc 6 568 5281 -132e2 1a 569 5281 -132fc 15 573 5281 -13311 16 577 5281 -13327 19 578 5281 -13340 9 579 5281 -13349 6 583 5281 -1334f 8 586 5281 -13357 16 589 5281 -1336d 25 595 5281 -13392 14 599 5281 -133a6 4 600 5281 -133aa a 603 5281 -133b4 8 608 5281 -133bc 9 609 5281 -133c5 2 611 5281 -FUNC 133c7 b0 0 __sbh_alloc_new_region -133c7 0 891 5281 -133c7 13 897 5281 -133da 1e 900 5281 -133f8 4 901 5281 -133fc 12 905 5281 -1340e 9 909 5281 -13417 18 913 5281 -1342f 2 914 5281 -13431 1a 918 5281 -1344b 10 920 5281 -1345b 2 921 5281 -1345d 9 927 5281 -13466 6 930 5281 -1346c 6 933 5281 -13472 4 935 5281 -13476 1 936 5281 -FUNC 13477 106 4 __sbh_alloc_new_group -13477 5 958 5281 -1347c 3 959 5281 -1347f 9 972 5281 -13488 4 973 5281 -1348c 2 976 5281 -1348e 1 977 5281 -1348f 4 974 5281 -13493 15 981 5281 -134a8 c 986 5281 -134b4 1f 993 5281 -134d3 8 994 5281 -134db 6 998 5281 -134e1 12 1001 5281 -134f3 4 1004 5281 -134f7 7 1005 5281 -134fe 8 1011 5281 -13506 10 1013 5281 -13516 12 1016 5281 -13528 3 1001 5281 -1352b 8 1021 5281 -13533 6 1023 5281 -13539 3 1024 5281 -1353c 6 1027 5281 -13542 3 1028 5281 -13545 5 1030 5281 -1354a a 1031 5281 -13554 9 1032 5281 -1355d b 1033 5281 -13568 e 1036 5281 -13576 5 1038 5281 -1357b 2 1039 5281 -FUNC 1357d 2df c __sbh_resize_block -1357d 6 1061 5281 -13583 c 1080 5281 -1358f b 1083 5281 -1359a 3 1084 5281 -1359d 12 1085 5281 -135af 7 1089 5281 -135b6 14 1096 5281 -135ca 13 1099 5281 -135dd 7 1105 5281 -135e4 8 1106 5281 -135ec 6 1107 5281 -135f2 8 1110 5281 -135fa 3 1115 5281 -135fd 9 1117 5281 -13606 11 1118 5281 -13617 5 1119 5281 -1361c 2 1121 5281 -1361e 5 1124 5281 -13623 14 1125 5281 -13637 6 1126 5281 -1363d 9 1131 5281 -13646 9 1132 5281 -1364f 12 1135 5281 -13661 a 1141 5281 -1366b 9 1142 5281 -13674 3 1143 5281 -13677 9 1147 5281 -13680 6 1148 5281 -13686 6 1149 5281 -1368c 3 1150 5281 -1368f 6 1151 5281 -13695 8 1154 5281 -1369d 18 1160 5281 -136b5 e 1161 5281 -136c3 6 1162 5281 -136c9 2 1164 5281 -136cb 6 1166 5281 -136d1 10 1167 5281 -136e1 13 1169 5281 -136f4 c 1174 5281 -13700 9 1176 5281 -13709 6 1180 5281 -1370f 9 1182 5281 -13718 7 1100 5281 -1371f 6 1186 5281 -13725 3 1189 5281 -13728 d 1195 5281 -13735 7 1198 5281 -1373c b 1199 5281 -13747 3 1200 5281 -1374a a 1203 5281 -13754 7 1208 5281 -1375b 5 1209 5281 -13760 3 1210 5281 -13763 8 1213 5281 -1376b 3 1218 5281 -1376e b 1221 5281 -13779 e 1222 5281 -13787 5 1223 5281 -1378c 2 1225 5281 -1378e 5 1228 5281 -13793 11 1229 5281 -137a4 9 1231 5281 -137ad 9 1236 5281 -137b6 9 1237 5281 -137bf 9 1240 5281 -137c8 4 1241 5281 -137cc 5 1242 5281 -137d1 3 1243 5281 -137d4 6 1249 5281 -137da 3 1250 5281 -137dd 6 1251 5281 -137e3 3 1252 5281 -137e6 6 1253 5281 -137ec 8 1256 5281 -137f4 18 1262 5281 -1380c e 1263 5281 -1381a 6 1264 5281 -13820 2 1266 5281 -13822 6 1268 5281 -13828 10 1269 5281 -13838 13 1271 5281 -1384b 5 1276 5281 -13850 4 1278 5281 -13854 6 1281 5281 -1385a 2 1282 5281 -FUNC 1385c cd 0 __sbh_heapmin -1385c 0 1302 5281 -1385c d 1306 5281 -13869 6 1310 5281 -1386f 17 1311 5281 -13886 15 1314 5281 -1389b 16 1318 5281 -138b1 19 1319 5281 -138ca 9 1320 5281 -138d3 f 1325 5281 -138e2 11 1328 5281 -138f3 28 1333 5281 -1391b 6 1334 5281 -13921 7 1338 5281 -13928 1 1340 5281 -FUNC 13929 2e2 0 __sbh_heap_check -13929 3 1361 5281 -1392c 12 1391 5281 -1393e 8 1393 5281 -13946 16 1398 5281 -1395c 3 1401 5281 -1395f 8 1402 5281 -13967 6 1406 5281 -1396d 9 1407 5281 -13976 c 1408 5281 -13982 3 1409 5281 -13985 3 1410 5281 -13988 6 1411 5281 -1398e 4 1418 5281 -13992 1b 1421 5281 -139ad 9 1424 5281 -139b6 9 1428 5281 -139bf 1c 1438 5281 -139db 2 1445 5281 -139dd 7 1446 5281 -139e4 1 1449 5281 -139e5 c 1452 5281 -139f1 3 1456 5281 -139f4 2 1458 5281 -139f6 6 1462 5281 -139fc 5 1463 5281 -13a01 3 1464 5281 -13a04 9 1465 5281 -13a0d 1e 1470 5281 -13a2b c 1475 5281 -13a37 2 1479 5281 -13a39 4 1481 5281 -13a3d 6 1484 5281 -13a43 10 1488 5281 -13a53 e 1492 5281 -13a61 2 1498 5281 -13a63 4 1502 5281 -13a67 20 1505 5281 -13a87 19 1509 5281 -13aa0 8 1514 5281 -13aa8 3 1518 5281 -13aab 6 1520 5281 -13ab1 8 1524 5281 -13ab9 4 1527 5281 -13abd e 1532 5281 -13acb 8 1536 5281 -13ad3 6 1541 5281 -13ad9 5 1542 5281 -13ade 3 1543 5281 -13ae1 8 1544 5281 -13ae9 c 1549 5281 -13af5 11 1554 5281 -13b06 6 1559 5281 -13b0c 3 1561 5281 -13b0f e 1563 5281 -13b1d 3 1564 5281 -13b20 2 1566 5281 -13b22 8 1568 5281 -13b2a 3 1569 5281 -13b2d 1c 1575 5281 -13b49 c 1580 5281 -13b55 10 1585 5281 -13b65 17 1591 5281 -13b7c 7 1595 5281 -13b83 7 1596 5281 -13b8a 16 1597 5281 -13ba0 f 1602 5281 -13baf 18 1606 5281 -13bc7 5 1608 5281 -13bcc 2 1609 5281 -13bce 4 1403 5281 -13bd2 4 1425 5281 -13bd6 4 1453 5281 -13bda 4 1485 5281 -13bde 4 1471 5281 -13be2 4 1439 5281 -13be6 4 1493 5281 -13bea 4 1537 5281 -13bee 4 1545 5281 -13bf2 4 1550 5281 -13bf6 4 1510 5281 -13bfa 4 1581 5281 -13bfe 4 1576 5281 -13c02 4 1592 5281 -13c06 5 1603 5281 -FUNC 13c0b a8 4 _set_sbh_threshold -13c0b 1 102 5281 -13c0c a 104 5281 -13c16 3 106 5281 -13c19 1 195 5281 -13c1a a 109 5281 -13c24 25 112 5281 -13c49 5 113 5281 -13c4e 4 114 5281 -13c52 2 195 5281 -13c54 6 173 5281 -13c5a 2 175 5281 -13c5c 5 179 5281 -13c61 2d 185 5281 -13c8e 6 186 5281 -13c94 a 187 5281 -13c9e 5 188 5281 -13ca3 b 193 5281 -13cae 4 194 5281 -13cb2 1 195 5281 -FUNC 13cb3 2e3 4 __sbh_alloc_block -13cb3 6 632 5281 -13cb9 5 633 5281 -13cbe 15 650 5281 -13cd3 5 668 5281 -13cd8 7 669 5281 -13cdf 5 671 5281 -13ce4 4 672 5281 -13ce8 2 674 5281 -13cea d 677 5281 -13cf7 a 682 5281 -13d01 e 686 5281 -13d0f 3 688 5281 -13d12 2 683 5281 -13d14 5 688 5281 -13d19 4 692 5281 -13d1d 8 694 5281 -13d25 e 698 5281 -13d33 3 700 5281 -13d36 2 695 5281 -13d38 5 700 5281 -13d3d 6 705 5281 -13d43 6 709 5281 -13d49 6 711 5281 -13d4f 4 707 5281 -13d53 4 715 5281 -13d57 8 717 5281 -13d5f 6 720 5281 -13d65 3 722 5281 -13d68 2 718 5281 -13d6a 5 722 5281 -13d6f 4 726 5281 -13d73 e 727 5281 -13d81 7 728 5281 -13d88 12 733 5281 -13d9a 2 734 5281 -13d9c 6 737 5281 -13da2 3 739 5281 -13da5 2 740 5281 -13da7 1c 745 5281 -13dc3 4 749 5281 -13dc7 14 751 5281 -13ddb e 752 5281 -13de9 3 751 5281 -13dec 12 754 5281 -13dfe a 760 5281 -13e08 d 763 5281 -13e15 2 768 5281 -13e17 2 767 5281 -13e19 1 768 5281 -13e1a 4 765 5281 -13e1e 7 770 5281 -13e25 5 775 5281 -13e2a 6 776 5281 -13e30 8 777 5281 -13e38 3 778 5281 -13e3b 8 781 5281 -13e43 8 784 5281 -13e4b 3 788 5281 -13e4e e 791 5281 -13e5c 15 792 5281 -13e71 8 793 5281 -13e79 2 795 5281 -13e7b f 798 5281 -13e8a f 799 5281 -13e99 e 800 5281 -13ea7 1c 809 5281 -13ec3 6 813 5281 -13ec9 3 814 5281 -13ecc 6 815 5281 -13ed2 3 816 5281 -13ed5 6 817 5281 -13edb 8 820 5281 -13ee3 18 826 5281 -13efb b 827 5281 -13f06 10 829 5281 -13f16 2 831 5281 -13f18 6 833 5281 -13f1e d 835 5281 -13f2b 16 837 5281 -13f41 3 831 5281 -13f44 4 844 5281 -13f48 2 846 5281 -13f4a 9 848 5281 -13f53 a 853 5281 -13f5d 4 855 5281 -13f61 e 858 5281 -13f6f 13 862 5281 -13f82 7 863 5281 -13f89 5 866 5281 -13f8e 6 868 5281 -13f94 2 869 5281 -FUNC 13f96 72 4 _fclose_nolock -13f96 2 86 1752 -13f98 2a 90 1752 -13fc2 6 96 1752 -13fc8 6 105 1752 -13fce 8 106 1752 -13fd6 13 108 1752 -13fe9 5 109 1752 -13fee 7 111 1752 -13ff5 7 120 1752 -13ffc 3 121 1752 -13fff 3 126 1752 -14002 5 127 1752 -14007 1 128 1752 -FUNC 14008 7c 4 fclose -14008 c 44 1752 -14014 4 45 1752 -14018 2d 47 1752 -14045 6 50 1752 -1404b 3 51 1752 -1404e 3 64 1752 -14051 6 65 1752 -14057 7 55 1752 -1405e 3 56 1752 -14061 a 57 1752 -1406b 11 59 1752 -1407c 8 60 1752 -FUNC 14084 d 8 _ValidateRead(void const *,unsigned int) -14084 0 63 5683 -14084 3 64 5683 -14087 7 65 5683 -1408e 2 68 5683 -14090 1 71 5683 -FUNC 14091 d 8 _ValidateWrite(void *,unsigned int) -14091 0 74 5683 -14091 3 75 5683 -14094 7 76 5683 -1409b 2 79 5683 -1409d 1 82 5683 -FUNC 1409e d 4 _ValidateExecute(int (*)(void)) -1409e 0 85 5683 -1409e 3 86 5683 -140a1 7 87 5683 -140a8 2 90 5683 -140aa 1 93 5683 -FUNC 140ab f3 0 abort -140ab 1b 53 4119 -140c6 a 56 4119 -140d0 8 59 4119 -140d8 5 68 4119 -140dd 4 69 4119 -140e1 8 71 4119 -140e9 d 78 4119 -140f6 6 87 4119 -140fc 6 88 4119 -14102 6 89 4119 -14108 3 90 4119 -1410b 3 91 4119 -1410e 3 92 4119 -14111 7 93 4119 -14118 7 94 4119 -1411f 4 95 4119 -14123 4 96 4119 -14127 4 97 4119 -1412b 4 98 4119 -1412f 1 99 4119 -14130 6 100 4119 -14136 6 106 4119 -1413c 19 107 4119 -14155 3 109 4119 -14158 13 117 4119 -1416b 9 122 4119 -14174 3 123 4119 -14177 15 126 4119 -1418c a 128 4119 -14196 8 137 4119 -FUNC 1419e 1e 8 _set_abort_behavior -1419e 0 158 4119 -1419e 1d 160 4119 -141bb 1 162 4119 -FUNC 141bc 20 0 _global_unwind2 -FUNC 141dc 45 0 __unwind_handler -FUNC 14221 84 0 _local_unwind2 -FUNC 142a5 23 0 _abnormal_termination -FUNC 142c8 9 0 _NLG_Notify1 -FUNC 142d1 1f 0 _NLG_Notify -PUBLIC 142e8 0 _NLG_Dispatch2 -FUNC 142f0 3 0 _NLG_Call -PUBLIC 142f2 0 _NLG_Return2 -FUNC 142f3 a3 4 _msize -142f3 c 43 5383 -142ff 2d 47 5383 -1432c 9 51 5383 -14335 8 55 5383 -1433d 3 56 5383 -14340 e 57 5383 -1434e e 59 5383 -1435c c 61 5383 -14368 5 64 5383 -1436d 10 88 5383 -1437d 2 91 5383 -1437f 6 93 5383 -14385 8 61 5383 -1438d 9 62 5383 -FUNC 14396 6 0 HeapManager::Block::Block() -14396 6 90 5771 -FUNC 1439c 1b 8 HeapManager::Constructor(void * (*)(unsigned int),void (*)(void *)) -1439c 6 100 5771 -143a2 7 101 5771 -143a9 5 102 5771 -143ae 3 103 5771 -143b1 3 104 5771 -143b4 3 105 5771 -FUNC 143b7 26 0 HeapManager::Destructor() -143b7 9 110 5771 -143c0 2 111 5771 -143c2 5 113 5771 -143c7 15 115 5771 -143dc 1 118 5771 -FUNC 143dd 63 0 UnDecorator::getNumberOfDimensions() -143dd 0 1663 5771 -143dd c 1664 5771 -143e9 2 1665 5771 -143eb 1 1696 5771 -143ec a 1666 5771 -143f6 d 1667 5771 -14403 1 1696 5771 -14404 4 1670 5771 -14408 4 1677 5771 -1440c a 1679 5771 -14416 6 1680 5771 -1441c d 1684 5771 -14429 5 1675 5771 -1442e e 1690 5771 -1443c 3 1691 5771 -1443f 1 1696 5771 -FUNC 14440 474 0 UnDecorator::getTypeEncoding() -14440 f 2335 5771 -1444f 2 2336 5771 -14451 5 2341 5771 -14456 9 2345 5771 -1445f c 2351 5771 -1446b 9 2423 5771 -14474 2 2426 5771 -14476 2a 2427 5771 -144a0 8 2450 5771 -144a8 2 2451 5771 -144aa 24 2454 5771 -144ce 7 2462 5771 -144d5 5 2463 5771 -144da 6 2353 5771 -144e0 8 2358 5771 -144e8 b 2362 5771 -144f3 5 2363 5771 -144f8 2 2364 5771 -144fa 5 2365 5771 -144ff 9 2369 5771 -14508 1b 2373 5771 -14523 11 2377 5771 -14534 a 2393 5771 -1453e 10 2388 5771 -1454e 2 2389 5771 -14550 18 2384 5771 -14568 2 2385 5771 -1456a 12 2380 5771 -1457c 16 2399 5771 -14592 11 2418 5771 -145a3 a 2406 5771 -145ad 5 2407 5771 -145b2 15 2410 5771 -145c7 5 2422 5771 -145cc 1b 2427 5771 -145e7 a 2430 5771 -145f1 5 2431 5771 -145f6 7 2472 5771 -145fd a 2478 5771 -14607 c 2483 5771 -14613 5 2485 5771 -14618 5 2486 5771 -1461d 5 2487 5771 -14622 5 2490 5771 -14627 5 2505 5771 -1462c 5 2508 5771 -14631 5 2509 5771 -14636 5 2434 5771 -1463b 5 2435 5771 -14640 1a 2427 5771 -1465a 30 2568 5771 -1468a 5 2529 5771 -1468f 4 2530 5771 -14693 a 2531 5771 -1469d 2 2532 5771 -1469f a 2533 5771 -146a9 5 2537 5771 -146ae 5 2538 5771 -146b3 2 2539 5771 -146b5 5 2540 5771 -146ba e 2544 5771 -146c8 6 2560 5771 -146ce 10 2555 5771 -146de 2 2556 5771 -146e0 18 2551 5771 -146f8 2 2552 5771 -146fa 12 2547 5771 -1470c 2 2564 5771 -1470e a 2442 5771 -14718 2 2443 5771 -1471a a 2438 5771 -14724 2 2439 5771 -14726 5 2445 5771 -1472b c 2574 5771 -14737 14 2577 5771 -1474b a 2579 5771 -14755 18 2586 5771 -1476d 1a 2589 5771 -14787 1b 2590 5771 -147a2 5 2591 5771 -147a7 1a 2594 5771 -147c1 1b 2595 5771 -147dc 5 2596 5771 -147e1 1a 2599 5771 -147fb 10 2600 5771 -1480b 2 2601 5771 -1480d 7 2604 5771 -14814 2 2605 5771 -14816 a 2608 5771 -14820 2 2609 5771 -14822 a 2612 5771 -1482c 2 2613 5771 -1482e a 2616 5771 -14838 2 2617 5771 -1483a a 2620 5771 -14844 2 2621 5771 -14846 a 2624 5771 -14850 7 2634 5771 -14857 7 2635 5771 -1485e 7 2637 5771 -14865 10 2639 5771 -14875 3f 2648 5771 -FUNC 148b4 b 0 UnDecorator::doUnderScore() -148b4 b 4259 5771 -FUNC 148bf d 0 UnDecorator::doMSKeywords() -148bf d 4260 5771 -FUNC 148cc e 0 UnDecorator::doPtr64() -148cc e 4261 5771 -FUNC 148da e 0 UnDecorator::doFunctionReturns() -148da e 4262 5771 -FUNC 148e8 e 0 UnDecorator::doAllocationModel() -148e8 e 4263 5771 -FUNC 148f6 e 0 UnDecorator::doAllocationLanguage() -148f6 e 4264 5771 -FUNC 14904 12 0 UnDecorator::doThisTypes() -14904 12 4271 5771 -FUNC 14916 e 0 UnDecorator::doAccessSpecifiers() -14916 e 4272 5771 -FUNC 14924 e 0 UnDecorator::doThrowTypes() -14924 e 4273 5771 -FUNC 14932 e 0 UnDecorator::doMemberTypes() -14932 e 4274 5771 -FUNC 14940 b 0 UnDecorator::doNameOnly() -14940 b 4279 5771 -FUNC 1494b b 0 UnDecorator::doTypeOnly() -1494b b 4280 5771 -FUNC 14956 b 0 UnDecorator::haveTemplateParameters() -14956 b 4281 5771 -FUNC 14961 e 0 UnDecorator::doEcsu() -14961 e 4282 5771 -FUNC 1496f b 0 UnDecorator::doNoIdentCharCheck() -1496f b 4283 5771 -FUNC 1497a e 0 UnDecorator::doEllipsis() -1497a e 4284 5771 -FUNC 14988 19 4 UnDecorator::UScore(Tokens) -14988 0 4288 5771 -14988 9 4293 5771 -14991 d 4294 5771 -1499e 2 4296 5771 -149a0 1 4298 5771 -FUNC 149a1 84 8 HeapManager::getMemory(unsigned int,int) -149a1 2 134 5804 -149a3 a 137 5804 -149ad 9 139 5804 -149b6 6 140 5804 -149bc 4 146 5804 -149c0 3 147 5804 -149c3 8 149 5804 -149cb 7 153 5804 -149d2 2 154 5804 -149d4 1c 159 5804 -149f0 4 164 5804 -149f4 7 168 5804 -149fb 2 169 5804 -149fd 2 170 5804 -149ff 3 171 5804 -14a02 8 175 5804 -14a0a 2 182 5804 -14a0c 4 179 5804 -14a10 5 183 5804 -14a15 d 187 5804 -14a22 3 190 5804 -FUNC 14a25 d 0 DName::DName() -14a25 2 210 5804 -14a27 3 211 5804 -14a2a 7 220 5804 -14a31 1 221 5804 -FUNC 14a32 12 4 DName::DName(DNameNode *) -14a32 2 224 5804 -14a34 4 225 5804 -14a38 9 234 5804 -14a41 3 235 5804 -FUNC 14a44 9c 4 DName::DName(DName const &) -14a44 2 259 5804 -14a46 17 260 5804 -14a5d 10 261 5804 -14a6d d 262 5804 -14a7a d 263 5804 -14a87 10 264 5804 -14a97 4 265 5804 -14a9b e 266 5804 -14aa9 13 267 5804 -14abc 10 268 5804 -14acc 11 269 5804 -14add 3 270 5804 -FUNC 14ae0 a 0 DName::status() -14ae0 a 481 5804 -FUNC 14aea 5 0 DName::clearStatus() -14aea 5 482 5804 -FUNC 14aef 7 0 DName::setPtrRef() -14aef 7 484 5804 -FUNC 14af6 a 0 DName::isPtrRef() -14af6 a 485 5804 -FUNC 14b00 8 0 DName::setIsArray() -14b00 8 490 5804 -FUNC 14b08 a 0 DName::isArray() -14b08 a 491 5804 -FUNC 14b12 a 0 DName::isNoTE() -14b12 a 492 5804 -FUNC 14b1c 8 0 DName::setIsNoTE() -14b1c 8 493 5804 -FUNC 14b24 a 0 DName::isPinPtr() -14b24 a 494 5804 -FUNC 14b2e 8 0 DName::setIsPinPtr() -14b2e 8 495 5804 -FUNC 14b36 a 0 DName::isComArray() -14b36 a 496 5804 -FUNC 14b40 8 0 DName::setIsComArray() -14b40 8 497 5804 -FUNC 14b48 a 0 DName::isVCallThunk() -14b48 a 498 5804 -FUNC 14b52 8 0 DName::setIsVCallThunk() -14b52 8 499 5804 -FUNC 14b5a 7b 4 DName::operator=(DName const &) -14b5a 3 879 5804 -14b5d 12 880 5804 -14b6f 17 882 5804 -14b86 d 883 5804 -14b93 d 884 5804 -14ba0 d 885 5804 -14bad 10 886 5804 -14bbd 10 887 5804 -14bcd 5 889 5804 -14bd2 3 897 5804 -FUNC 14bd5 9 0 Replicator::isFull() -14bd5 9 1001 5804 -FUNC 14bde 25 4 Replicator::operator[](int) -14bde 0 1028 5804 -14bde 9 1029 5804 -14be7 b 1031 5804 -14bf2 6 1034 5804 -14bf8 5 1032 5804 -14bfd 3 1030 5804 -14c00 3 1036 5804 -FUNC 14c03 d 0 DNameNode::DNameNode() -14c03 d 1048 5804 -FUNC 14c10 4 0 DNameNode::nextNode() -14c10 4 1052 5804 -FUNC 14c14 29 4 DNameNode::operator+=(DNameNode *) -14c14 2 1131 5804 -14c16 8 1132 5804 -14c1e 8 1134 5804 -14c26 b 1139 5804 -14c31 4 1144 5804 -14c35 2 1147 5804 -14c37 3 1148 5804 -14c3a 3 1156 5804 -FUNC 14c3d 16 4 charNode::charNode(char) -14c3d 16 1166 5804 -FUNC 14c53 4 0 charNode::length() -14c53 4 1168 5804 -FUNC 14c57 4 0 charNode::getLastChar() -14c57 4 1170 5804 -FUNC 14c5b 1b 8 charNode::getString(char *,int) -14c5b 0 1173 5804 -14c5b f 1174 5804 -14c6a 5 1175 5804 -14c6f 2 1176 5804 -14c71 2 1177 5804 -14c73 3 1183 5804 -FUNC 14c76 4 0 pcharNode::length() -14c76 4 1189 5804 -FUNC 14c7a 2f 4 pDNameNode::pDNameNode(DName *) -14c7a 2f 1244 5804 -FUNC 14ca9 25 4 DNameStatusNode::DNameStatusNode(DNameStatus) -14ca9 25 1261 5804 -FUNC 14cce 4 0 DNameStatusNode::length() -14cce 4 1263 5804 -FUNC 14cd2 d 0 DNameStatusNode::getLastChar() -14cd2 d 1266 5804 -FUNC 14cdf e 0 und_strlen -14cdf 0 1283 5804 -14cdf 6 1286 5804 -14ce5 7 1287 5804 -14cec 1 1291 5804 -FUNC 14ced 20 8 und_strncpy -14ced 0 1295 5804 -14ced 1b 1296 5804 -14d08 4 1299 5804 -14d0c 1 1301 5804 -FUNC 14d0d 25 4 und_strncmp -14d0d 0 1304 5804 -14d0d 7 1305 5804 -14d14 2 1306 5804 -14d16 1 1315 5804 -14d17 a 1308 5804 -14d21 1 1310 5804 -14d22 1 1311 5804 -14d23 6 1308 5804 -14d29 8 1314 5804 -14d31 1 1315 5804 -FUNC 14d32 33 0 UnDecorator::getDataIndirectType() -14d32 33 4033 5771 -FUNC 14d65 34 0 UnDecorator::getThisType() -14d65 34 4034 5771 -FUNC 14d99 13 c operator new(unsigned int,HeapManager &,int) -14d99 13 131 5804 -FUNC 14dac 56 4 DName::DName(DName *) -14dac 0 274 5804 -14dac a 275 5804 -14db6 23 277 5804 -14dd9 13 278 5804 -14dec 2 281 5804 -14dee 4 283 5804 -14df2 3 284 5804 -14df5 7 295 5804 -14dfc 6 296 5804 -FUNC 14e02 61 4 DName::DName(DNameStatus) -14e02 2 457 5804 -14e04 21 458 5804 -14e25 1e 459 5804 -14e43 7 467 5804 -14e4a 9 469 5804 -14e53 a 470 5804 -14e5d 6 472 5804 -FUNC 14e63 17 0 DName::isValid() -14e63 17 478 5804 -FUNC 14e7a 15 0 DName::isEmpty() -14e7a 15 479 5804 -FUNC 14e8f 14 0 DName::isUDC() -14e8f 14 486 5804 -FUNC 14ea3 e 0 DName::setIsUDC() -14ea3 e 487 5804 -FUNC 14eb1 14 0 DName::isUDTThunk() -14eb1 14 488 5804 -FUNC 14ec5 25 0 DName::length() -14ec5 1 502 5804 -14ec6 2 503 5804 -14ec8 a 506 5804 -14ed2 4 507 5804 -14ed6 b 508 5804 -14ee1 5 507 5804 -14ee6 3 510 5804 -14ee9 1 512 5804 -FUNC 14eea 38 0 DName::getLastChar() -14eea 2 516 5804 -14eec 2 517 5804 -14eee 9 519 5804 -14ef7 6 520 5804 -14efd a 521 5804 -14f07 2 522 5804 -14f09 7 520 5804 -14f10 11 524 5804 -14f21 1 526 5804 -FUNC 14f22 91 8 DName::getString(char *,int) -14f22 7 530 5804 -14f29 9 531 5804 -14f32 5 535 5804 -14f37 7 537 5804 -14f3e e 538 5804 -14f4c c 544 5804 -14f58 d 550 5804 -14f65 4 553 5804 -14f69 8 555 5804 -14f71 4 561 5804 -14f75 6 565 5804 -14f7b 2 566 5804 -14f7d b 570 5804 -14f88 4 574 5804 -14f8c 2 578 5804 -14f8e 3 579 5804 -14f91 3 586 5804 -14f94 4 553 5804 -14f98 4 590 5804 -14f9c 2 593 5804 -14f9e 6 594 5804 -14fa4 6 595 5804 -14faa 5 599 5804 -14faf 4 601 5804 -FUNC 14fb3 35 4 DName::operator|=(DName const &) -14fb3 3 832 5804 -14fb6 19 835 5804 -14fcf 13 836 5804 -14fe2 3 840 5804 -14fe5 3 842 5804 -FUNC 14fe8 81 4 DName::operator=(DNameStatus) -14fe8 2 928 5804 -14fea 10 929 5804 -14ffa 12 937 5804 -1500c 26 945 5804 -15032 6 947 5804 -15038 e 948 5804 -15046 10 933 5804 -15056 d 934 5804 -15063 3 954 5804 -15066 3 956 5804 -FUNC 15069 1e 0 Replicator::Replicator() -15069 1e 1004 5804 -FUNC 15087 47 4 Replicator::operator+=(DName const &) -15087 3 1009 5804 -1508a 12 1010 5804 -1509c 20 1012 5804 -150bc 4 1017 5804 -150c0 8 1018 5804 -150c8 3 1022 5804 -150cb 3 1024 5804 -FUNC 150ce 47 0 DNameNode::clone() -150ce 3 1055 5804 -150d1 43 1056 5804 -15114 1 1057 5804 -FUNC 15115 65 8 pcharNode::pcharNode(char const *,int) -15115 1 1197 5804 -15116 1f 1200 5804 -15135 c 1201 5804 -15141 8 1205 5804 -15149 c 1207 5804 -15155 a 1210 5804 -1515f b 1211 5804 -1516a 2 1214 5804 -1516c 3 1216 5804 -1516f 4 1217 5804 -15173 7 1220 5804 -FUNC 1517a 12 0 pcharNode::getLastChar() -1517a 12 1191 5804 -FUNC 1518c 31 8 pcharNode::getString(char *,int) -1518c 0 1224 5804 -1518c b 1227 5804 -15197 2 1228 5804 -15199 21 1232 5804 -151ba 3 1234 5804 -FUNC 151bd f 0 pDNameNode::length() -151bd f 1246 5804 -FUNC 151cc f 0 pDNameNode::getLastChar() -151cc f 1248 5804 -FUNC 151db 1d 8 pDNameNode::getString(char *,int) -151db 1d 1251 5804 -FUNC 151f8 33 8 DNameStatusNode::getString(char *,int) -151f8 0 1269 5804 -151f8 b 1272 5804 -15203 2 1273 5804 -15205 23 1277 5804 -15228 3 1279 5804 -FUNC 1522b 73 14 UnDecorator::UnDecorator(char *,char const *,int,char * (*)(long),unsigned long) -1522b 16 736 5771 -15241 8 737 5771 -15249 5 738 5771 -1524e 9 740 5771 -15257 a 741 5771 -15261 5 745 5771 -15266 2 747 5771 -15268 6 748 5771 -1526e 6 749 5771 -15274 8 754 5771 -1527c 15 755 5771 -15291 d 758 5771 -FUNC 1529e 2f 4 UnDecorator::getReturnType(DName *) -1529e 3 2906 5771 -152a1 8 2907 5771 -152a9 15 2911 5771 -152be d 2915 5771 -152cb 2 2917 5771 -FUNC 152cd f 0 UnDecorator::getStorageConvention() -152cd f 4032 5771 -FUNC 152dc 79 4 DName::operator+=(DNameStatus) -152dc 4 799 5804 -152e0 17 800 5804 -152f7 20 804 5804 -15317 4 807 5804 -1531b 7 809 5804 -15322 6 811 5804 -15328 8 812 5804 -15330 2 815 5804 -15332 3 816 5804 -15335 5 818 5804 -1533a e 819 5804 -15348 7 801 5804 -1534f 3 825 5804 -15352 3 827 5804 -FUNC 15355 68 4 DName::operator=(DName *) -15355 3 901 5804 -15358 12 902 5804 -1536a 7 903 5804 -15371 29 911 5804 -1539a 6 913 5804 -153a0 c 914 5804 -153ac 2 917 5804 -153ae 9 918 5804 -153b7 3 922 5804 -153ba 3 924 5804 -FUNC 153bd a6 8 DName::doPchar(char const *,int) -153bd 3 962 5804 -153c0 1e 963 5804 -153de 6 964 5804 -153e4 c 965 5804 -153f0 10 966 5804 -15400 5 970 5804 -15405 23 984 5804 -15428 6 986 5804 -1542e 9 987 5804 -15437 2 988 5804 -15439 1b 977 5804 -15454 c 993 5804 -15460 3 995 5804 -FUNC 15463 26 4 DName::DName(char) -15463 3 238 5804 -15466 3 244 5804 -15469 7 248 5804 -15470 7 252 5804 -15477 c 253 5804 -15483 6 255 5804 -FUNC 15489 31 4 DName::DName(char const *) -15489 0 300 5804 -15489 16 312 5804 -1549f 15 313 5804 -154b4 6 315 5804 -FUNC 154ba d0 8 DName::DName(char const * &,char) -154ba 7 319 5804 -154c1 d 329 5804 -154ce f 333 5804 -154dd 8 334 5804 -154e5 9 342 5804 -154ee 40 343 5804 -1552e b 344 5804 -15539 9 355 5804 -15542 8 359 5804 -1554a 8 361 5804 -15552 9 363 5804 -1555b 3 364 5804 -1555e 2 367 5804 -15560 3 347 5804 -15563 a 378 5804 -1556d 8 380 5804 -15575 6 368 5804 -1557b 7 371 5804 -15582 6 372 5804 -15588 2 375 5804 -FUNC 1558a 69 8 DName::DName(unsigned __int64) -1558a 15 384 5804 -1559f 3 390 5804 -155a2 a 398 5804 -155ac 4 402 5804 -155b0 13 406 5804 -155c3 3 407 5804 -155c6 c 409 5804 -155d2 e 411 5804 -155e0 13 413 5804 -FUNC 155f3 96 8 DName::DName(__int64) -155f3 10 416 5804 -15603 26 436 5804 -15629 15 438 5804 -1563e 10 443 5804 -1564e 5 444 5804 -15653 c 446 5804 -1565f 6 448 5804 -15665 4 449 5804 -15669 e 452 5804 -15677 12 453 5804 -FUNC 15689 2e 4 DName::operator+(DNameStatus) -15689 1 675 5804 -1568a c 676 5804 -15696 9 679 5804 -1569f b 680 5804 -156aa 2 681 5804 -156ac 5 682 5804 -156b1 3 686 5804 -156b4 3 688 5804 -FUNC 156b7 62 4 DName::operator+=(DName const &) -156b7 2 739 5804 -156b9 f 740 5804 -156c8 13 741 5804 -156db 2 742 5804 -156dd 9 743 5804 -156e6 6 744 5804 -156ec 2 745 5804 -156ee 7 747 5804 -156f5 6 749 5804 -156fb 9 750 5804 -15704 2 751 5804 -15706 d 752 5804 -15713 3 758 5804 -15716 3 760 5804 -FUNC 15719 8b 4 DName::operator+=(DName *) -15719 2 764 5804 -1571b a 765 5804 -15725 9 766 5804 -1572e 8 767 5804 -15736 10 768 5804 -15746 8 789 5804 -1574e 20 770 5804 -1576e 4 773 5804 -15772 7 775 5804 -15779 6 777 5804 -1577f 8 778 5804 -15787 2 781 5804 -15789 3 782 5804 -1578c 5 784 5804 -15791 d 785 5804 -1579e 3 793 5804 -157a1 3 795 5804 -FUNC 157a4 1c 4 DName::operator=(char) -157a4 1 847 5804 -157a5 15 854 5804 -157ba 3 856 5804 -157bd 3 858 5804 -FUNC 157c0 2a 4 DName::operator=(char const *) -157c0 0 862 5804 -157c0 24 869 5804 -157e4 3 873 5804 -157e7 3 875 5804 -FUNC 157ea a6 0 UnDecorator::getCallingConvention() -157ea 5 2825 5771 -157ef f 2826 5771 -157fe c 2828 5771 -1580a 5 2835 5771 -1580f 1a 2845 5771 -15829 20 2852 5771 -15849 2 2875 5771 -1584b 2 2876 5771 -1584d 2 2871 5771 -1584f 2 2872 5771 -15851 2 2867 5771 -15853 2 2868 5771 -15855 2 2863 5771 -15857 2 2864 5771 -15859 1 2859 5771 -1585a 2 2860 5771 -1585c 13 2855 5771 -1586f e 2891 5771 -1587d 4 2895 5771 -15881 d 2899 5771 -1588e 2 2901 5771 -FUNC 15890 37 0 UnDecorator::getVCallThunkType() -15890 3 4057 5771 -15893 9 4059 5771 -1589c 5 4066 5771 -158a1 4 4059 5771 -158a5 4 4066 5771 -158a9 6 4061 5771 -158af c 4062 5771 -158bb a 4064 5771 -158c5 2 4170 5771 -FUNC 158c7 51 4 DName::operator+(DName const &) -158c7 1 639 5804 -158c8 c 640 5804 -158d4 b 643 5804 -158df b 644 5804 -158ea d 645 5804 -158f7 11 646 5804 -15908 2 647 5804 -1590a 8 648 5804 -15912 3 652 5804 -15915 3 654 5804 -FUNC 15918 2e 4 DName::operator+(DName *) -15918 1 658 5804 -15919 c 659 5804 -15925 9 662 5804 -1592e b 663 5804 -15939 2 664 5804 -1593b 5 665 5804 -15940 3 669 5804 -15943 3 671 5804 -FUNC 15946 6a 4 DName::operator+=(char) -15946 1 693 5804 -15947 b 694 5804 -15952 9 695 5804 -1595b 6 696 5804 -15961 2 697 5804 -15963 7 699 5804 -1596a 6 701 5804 -15970 2b 702 5804 -1599b 2 703 5804 -1599d c 704 5804 -159a9 4 710 5804 -159ad 3 712 5804 -FUNC 159b0 6c 4 DName::operator+=(char const *) -159b0 2 716 5804 -159b2 f 717 5804 -159c1 9 718 5804 -159ca 6 719 5804 -159d0 2 720 5804 -159d2 7 722 5804 -159d9 6 724 5804 -159df 28 725 5804 -15a07 2 726 5804 -15a09 d 727 5804 -15a16 3 733 5804 -15a19 3 735 5804 -FUNC 15a1c e0 0 UnDecorator::getArgumentList() -15a1c 7 3076 5771 -15a23 12 3078 5771 -15a35 29 3081 5771 -15a5e 6 3085 5771 -15a64 4 3086 5771 -15a68 2 3087 5771 -15a6a e 3088 5771 -15a78 6 3093 5771 -15a7e 6 3095 5771 -15a84 5 3100 5771 -15a89 1 3102 5771 -15a8a 11 3106 5771 -15a9b 2 3109 5771 -15a9d 16 3116 5771 -15ab3 19 3121 5771 -15acc 9 3122 5771 -15ad5 17 3126 5771 -15aec b 3132 5771 -15af7 3 3141 5771 -15afa 2 3143 5771 -FUNC 15afc 4f 4 UnDecorator::getVdispMapType(DName const &) -15afc 6 4230 5771 -15b02 d 4231 5771 -15b0f c 4232 5771 -15b1b 12 4233 5771 -15b2d 9 4234 5771 -15b36 a 4236 5771 -15b40 6 4237 5771 -15b46 3 4238 5771 -15b49 2 4239 5771 -FUNC 15b4b 22 8 operator+(char,DName const &) -15b4b 22 198 5804 -FUNC 15b6d 22 8 operator+(DNameStatus,DName const &) -15b6d 22 201 5804 -FUNC 15b8f 22 8 operator+(char const *,DName const &) -15b8f 22 204 5804 -FUNC 15bb1 2e 4 DName::operator+(char) -15bb1 1 605 5804 -15bb2 c 606 5804 -15bbe 9 609 5804 -15bc7 b 610 5804 -15bd2 2 611 5804 -15bd4 5 612 5804 -15bd9 3 616 5804 -15bdc 3 618 5804 -FUNC 15bdf 2e 4 DName::operator+(char const *) -15bdf 1 622 5804 -15be0 c 623 5804 -15bec 9 626 5804 -15bf5 b 627 5804 -15c00 2 628 5804 -15c02 5 629 5804 -15c07 3 633 5804 -15c0a 3 635 5804 -FUNC 15c0d 141 4 UnDecorator::getDimension(bool) -15c0d 7 1616 5771 -15c14 10 1618 5771 -15c24 e 1620 5771 -15c32 6 1623 5771 -15c38 f 1624 5771 -15c47 8 1625 5771 -15c4f 47 1626 5771 -15c96 4 1629 5771 -15c9a 4 1636 5771 -15c9e 8 1638 5771 -15ca6 20 1639 5771 -15cc6 d 1643 5771 -15cd3 4 1634 5771 -15cd7 b 1649 5771 -15ce2 2 1650 5771 -15ce4 5 1652 5771 -15ce9 13 1653 5771 -15cfc c 1637 5771 -15d08 4 1641 5771 -15d0c a 1653 5771 -15d16 36 1655 5771 -15d4c 2 1659 5771 -FUNC 15d4e d4 0 UnDecorator::getEnumType() -15d4e 6 2762 5771 -15d54 1a 2766 5771 -15d6e 12 2770 5771 -15d80 5 2774 5771 -15d85 2 2775 5771 -15d87 5 2779 5771 -15d8c 2 2780 5771 -15d8e 5 2786 5771 -15d93 2 2787 5771 -15d95 d 2791 5771 -15da2 1f 2801 5771 -15dc1 1e 2807 5771 -15ddf e 2814 5771 -15ded 4 2795 5771 -15df1 d 2818 5771 -15dfe 24 2820 5771 -FUNC 15e22 c4 0 UnDecorator::getArgumentTypes() -15e22 3 3035 5771 -15e25 18 3036 5771 -15e3d 9 3046 5771 -15e46 7 3051 5771 -15e4d 13 3052 5771 -15e60 c 3064 5771 -15e6c 36 3058 5771 -15ea2 b 3061 5771 -15ead 21 3039 5771 -15ece 16 3042 5771 -15ee4 2 3072 5771 -FUNC 15ee6 7e 0 UnDecorator::getThrowTypes() -15ee6 3 3148 5771 -15ee9 e 3149 5771 -15ef7 2 3150 5771 -15ef9 21 3151 5771 -15f1a 1f 3153 5771 -15f39 29 3155 5771 -15f62 2 3157 5771 -FUNC 15f64 125 c UnDecorator::getExtendedDataIndirectType(char &,bool &,int) -15f64 6 3636 5771 -15f6a 1a 3641 5771 -15f84 1c 3643 5771 -15fa0 a 3669 5771 -15faa 6 3670 5771 -15fb0 b 3672 5771 -15fbb a 3674 5771 -15fc5 21 3675 5771 -15fe6 17 3678 5771 -15ffd a 3680 5771 -16007 6 3689 5771 -1600d 2 3691 5771 -1600f 17 3693 5771 -16026 1e 3700 5771 -16044 6 3663 5771 -1604a 2 3665 5771 -1604c 3 3656 5771 -1604f d 3657 5771 -1605c 2 3659 5771 -1605e 6 3647 5771 -16064 13 3649 5771 -16077 10 3703 5771 -16087 2 3704 5771 -FUNC 16089 15f 4 UnDecorator::getArrayType(DName const &) -16089 3 3986 5771 -1608c 12 3987 5771 -1609e 7 3989 5771 -160a5 4 3991 5771 -160a9 2 3992 5771 -160ab 4 3994 5771 -160af 9 3995 5771 -160b8 2a 4026 5771 -160e2 2 4028 5771 -160e4 c 3998 5771 -160f0 9 4000 5771 -160f9 d 4001 5771 -16106 35 4005 5771 -1613b b 4009 5771 -16146 4 4010 5771 -1614a 8 4011 5771 -16152 2 4012 5771 -16154 2c 4013 5771 -16180 d 4017 5771 -1618d 9 4018 5771 -16196 12 4019 5771 -161a8 a 4023 5771 -161b2 36 4024 5771 -FUNC 161e8 31 0 UnDecorator::getLexicalFrame() -161e8 31 4031 5771 -FUNC 16219 12 0 UnDecorator::getDisplacement() -16219 12 4048 5771 -FUNC 1622b 12 0 UnDecorator::getCallIndex() -1622b 12 4049 5771 -FUNC 1623d 12 0 UnDecorator::getGuardNumber() -1623d 12 4050 5771 -FUNC 1624f 150 4 UnDecorator::getVfTableType(DName const &) -1624f 7 4174 5771 -16256 d 4175 5771 -16263 1d 4178 5771 -16280 2c 4180 5771 -162ac f 4182 5771 -162bb e 4184 5771 -162c9 5 4186 5771 -162ce 11 4188 5771 -162df 2d 4190 5771 -1630c b 4194 5771 -16317 7 4195 5771 -1631e 10 4199 5771 -1632e a 4200 5771 -16338 b 4188 5771 -16343 b 4204 5771 -1634e a 4206 5771 -16358 7 4207 5771 -1635f 9 4209 5771 -16368 a 4216 5771 -16372 6 4217 5771 -16378 2 4220 5771 -1637a 9 4221 5771 -16383 17 4222 5771 -1639a 3 4224 5771 -1639d 2 4226 5771 -FUNC 1639f a0 8 UnDecorator::getStringEncoding(char *,int) -1639f 6 1447 5771 -163a5 b 1448 5771 -163b0 22 1451 5771 -163d2 6 1456 5771 -163d8 b 1459 5771 -163e3 b 1462 5771 -163ee 13 1464 5771 -16401 c 1466 5771 -1640d 5 1469 5771 -16412 6 1470 5771 -16418 4 1471 5771 -1641c 14 1477 5771 -16430 d 1452 5771 -1643d 2 1478 5771 -FUNC 1643f 50 0 UnDecorator::getSignedDimension() -1643f 5 1603 5771 -16444 b 1604 5771 -1644f c 1605 5771 -1645b 2 1606 5771 -1645d 23 1608 5771 -16480 d 1611 5771 -1648d 2 1612 5771 -FUNC 1648f 2bb 0 UnDecorator::getTemplateConstant() -1648f 15 1877 5771 -164a4 f 1884 5771 -164b3 32 1885 5771 -164e5 9 1921 5771 -164ee b 1922 5771 -164f9 20 1924 5771 -16519 12 1931 5771 -1652b e 1932 5771 -16539 3 1937 5771 -1653c 7 1939 5771 -16543 6 1941 5771 -16549 4 1942 5771 -1654d 2 1944 5771 -1654f 4 1945 5771 -16553 2a 1950 5771 -1657d a 1900 5771 -16587 6 1902 5771 -1658d 11 1903 5771 -1659e 1b 1906 5771 -165b9 b 1892 5771 -165c4 6 2034 5771 -165ca 7 1954 5771 -165d1 26 1885 5771 -165f7 b 1990 5771 -16602 c 1991 5771 -1660e 10 1992 5771 -1661e 9 1966 5771 -16627 c 1968 5771 -16633 e 1971 5771 -16641 10 1973 5771 -16651 6 1975 5771 -16657 6 1976 5771 -1665d 3 1980 5771 -16660 29 1981 5771 -16689 a 1983 5771 -16693 a 2001 5771 -1669d a 2003 5771 -166a7 13 2007 5771 -166ba a 2008 5771 -166c4 11 2012 5771 -166d5 13 2015 5771 -166e8 a 2016 5771 -166f2 13 2021 5771 -16705 a 2022 5771 -1670f 13 2026 5771 -16722 d 2029 5771 -1672f 7 1913 5771 -16736 14 2041 5771 -FUNC 1674a d9 8 UnDecorator::getPtrRefDataType(DName const &,int) -1674a 3 3937 5771 -1674d 11 3940 5771 -1675e b 3944 5771 -16769 12 3948 5771 -1677b 12 3949 5771 -1678d 10 3951 5771 -1679d 5 3957 5771 -167a2 16 3961 5771 -167b8 d 3967 5771 -167c5 c 3968 5771 -167d1 b 3970 5771 -167dc 6 3972 5771 -167e2 1e 3974 5771 -16800 e 3976 5771 -1680e 13 3980 5771 -16821 2 3982 5771 -FUNC 16823 14 4 UnDecorator::getVbTableType(DName const &) -16823 14 4053 5771 -FUNC 16837 1b8 0 UnDecorator::getTemplateArgumentList() -16837 14 1775 5771 -1684b c 1777 5771 -16857 7 1778 5771 -1685e 2a 1781 5771 -16888 6 1785 5771 -1688e 4 1786 5771 -16892 2 1787 5771 -16894 e 1788 5771 -168a2 8 1793 5771 -168aa 5 1798 5771 -168af 1 1800 5771 -168b0 11 1804 5771 -168c1 5 1807 5771 -168c6 7 1810 5771 -168cd 7 1816 5771 -168d4 6 1817 5771 -168da 12 1818 5771 -168ec a 1820 5771 -168f6 5 1821 5771 -168fb e 1822 5771 -16909 5 1824 5771 -1690e 9 1830 5771 -16917 c 1832 5771 -16923 e 1835 5771 -16931 10 1837 5771 -16941 6 1839 5771 -16947 1 1840 5771 -16948 2 1842 5771 -1694a 25 1843 5771 -1696f 2 1846 5771 -16971 10 1847 5771 -16981 2 1850 5771 -16983 1f 1851 5771 -169a2 17 1857 5771 -169b9 9 1858 5771 -169c2 16 1862 5771 -169d8 17 1873 5771 -FUNC 169ef 56f 8 UnDecorator::getOperatorName(bool,bool *) -169ef b 1095 5771 -169fa 53 1103 5771 -16a4d 13 1183 5771 -16a60 c 1439 5771 -16a6c 1d 1440 5771 -16a89 11 1442 5771 -16a9a 5 1444 5771 -16a9f 3 1124 5771 -16aa2 8 1126 5771 -16aaa 21 1127 5771 -16acb c 1129 5771 -16ad7 a 1130 5771 -16ae1 a 1133 5771 -16aeb 7 1135 5771 -16af2 3 1136 5771 -16af5 9 1144 5771 -16afe 5 1145 5771 -16b03 6 1148 5771 -16b09 2 1154 5771 -16b0b 15 1156 5771 -16b20 18 1160 5771 -16b38 1a 1161 5771 -16b52 10 1166 5771 -16b62 b 1167 5771 -16b6d 5 1170 5771 -16b72 6 1106 5771 -16b78 f 1108 5771 -16b87 21 1103 5771 -16ba8 3d 1220 5771 -16be5 18 1240 5771 -16bfd b 1234 5771 -16c08 5 1235 5771 -16c0d 13 1245 5771 -16c20 7 1247 5771 -16c27 8 1249 5771 -16c2f 18 1220 5771 -16c47 13 1255 5771 -16c5a 7 1256 5771 -16c61 2 1257 5771 -16c63 16 1335 5771 -16c79 7 1356 5771 -16c80 6 1350 5771 -16c86 2 1352 5771 -16c88 25 1220 5771 -16cad 13 1290 5771 -16cc0 17 1291 5771 -16cd7 24 1292 5771 -16cfb 14 1313 5771 -16d0f 6 1316 5771 -16d15 5 1317 5771 -16d1a 10 1302 5771 -16d2a 20 1303 5771 -16d4a 20 1304 5771 -16d6a 20 1305 5771 -16d8a 22 1306 5771 -16dac 12 1307 5771 -16dbe c 1296 5771 -16dca 2b 1297 5771 -16df5 13 1281 5771 -16e08 17 1282 5771 -16e1f 1a 1283 5771 -16e39 5 1284 5771 -16e3e 2d 1220 5771 -16e6b 25 1364 5771 -16e90 10 1373 5771 -16ea0 13 1378 5771 -16eb3 a 1397 5771 -16ebd 13 1399 5771 -16ed0 a 1403 5771 -16eda 6 1405 5771 -16ee0 2 1408 5771 -16ee2 13 1410 5771 -16ef5 d 1413 5771 -16f02 5 1415 5771 -16f07 10 1278 5771 -16f17 b 1330 5771 -16f22 5 1428 5771 -16f27 3 1187 5771 -16f2a 13 1216 5771 -16f3d 8 1437 5771 -16f45 19 1438 5771 -FUNC 16f5e 153 4 UnDecorator::getTemplateName(bool) -16f5e 5 1700 5771 -16f63 1f 1704 5771 -16f82 16 1714 5771 -16f98 1d 1716 5771 -16fb5 23 1725 5771 -16fd8 e 1729 5771 -16fe6 6 1730 5771 -16fec 12 1732 5771 -16ffe 2 1734 5771 -17000 16 1735 5771 -17016 c 1738 5771 -17022 7 1739 5771 -17029 6 1746 5771 -1702f 21 1747 5771 -17050 c 1749 5771 -1705c a 1750 5771 -17066 a 1753 5771 -17070 6 1755 5771 -17076 6 1756 5771 -1707c 23 1769 5771 -1709f d 1705 5771 -170ac 5 1771 5771 -FUNC 170b1 1ea 4 UnDecorator::getZName(bool) -170b1 10 1007 5771 -170c1 11 1008 5771 -170d2 3 1013 5771 -170d5 26 1043 5771 -170fb b 1024 5771 -17106 5 1026 5771 -1710b 16 1028 5771 -17121 16 1030 5771 -17137 17 1031 5771 -1714e 7 1033 5771 -17155 25 1040 5771 -1717a 5 1042 5771 -1717f 29 1043 5771 -171a8 8 1045 5771 -171b0 b 1051 5771 -171bb c 1053 5771 -171c7 e 1056 5771 -171d5 10 1058 5771 -171e5 4 1060 5771 -171e9 b 1061 5771 -171f4 2 1063 5771 -171f6 a 1064 5771 -17200 10 1065 5771 -17210 2 1068 5771 -17212 d 1069 5771 -1721f 2a 1070 5771 -17249 2 1073 5771 -1724b 1a 1076 5771 -17265 11 1083 5771 -17276 9 1084 5771 -1727f f 1087 5771 -1728e d 1090 5771 -FUNC 1729b e4 0 UnDecorator::getScopedName() -1729b 7 2727 5771 -172a2 e 2728 5771 -172b0 15 2733 5771 -172c5 1a 2737 5771 -172df 2a 2738 5771 -17309 b 2742 5771 -17314 8 2743 5771 -1731c 4 2744 5771 -17320 1b 2745 5771 -1733b b 2746 5771 -17346 7 2747 5771 -1734d 2 2748 5771 -1734f 2b 2749 5771 -1737a 3 2753 5771 -1737d 2 2755 5771 -FUNC 1737f f 0 UnDecorator::getECSUName() -1737f f 2758 5771 -FUNC 1738e 100 0 UnDecorator::getECSUDataType() -1738e 3 3392 5771 -17391 20 3395 5771 -173b1 37 3399 5771 -173e8 5 3424 5771 -173ed 2 3425 5771 -173ef 5 3420 5771 -173f4 2 3421 5771 -173f6 26 3431 5771 -1741c 2 3432 5771 -1741e 5 3415 5771 -17423 2 3416 5771 -17425 5 3411 5771 -1742a 2 3412 5771 -1742c d 3407 5771 -17439 7 3439 5771 -17440 4 3441 5771 -17444 c 3442 5771 -17450 16 3446 5771 -17466 e 3450 5771 -17474 18 3404 5771 -1748c 2 3452 5771 -FUNC 1748e 46 0 UnDecorator::getSymbolName() -1748e 3 989 5771 -17491 a 990 5771 -1749b 6 991 5771 -174a1 c 992 5771 -174ad 16 997 5771 -174c3 f 1001 5771 -174d2 2 1003 5771 -FUNC 174d4 92 0 UnDecorator::getBasedType() -174d4 6 2653 5771 -174da 13 2654 5771 -174ed a 2659 5771 -174f7 17 2661 5771 -1750e c 2707 5771 -1751a 13 2699 5771 -1752d 2 2700 5771 -1752f d 2674 5771 -1753c 2 2711 5771 -1753e a 2712 5771 -17548 d 2716 5771 -17555 f 2720 5771 -17564 2 2722 5771 -FUNC 17566 b42 4 UnDecorator::composeDeclaration(DName const &) -17566 6 2045 5771 -1756c e 2046 5771 -1757a 5 2047 5771 -1757f a 2048 5771 -17589 b 2053 5771 -17594 f 2054 5771 -175a3 8 2055 5771 -175ab 15 2056 5771 -175c0 8 2057 5771 -175c8 10 2058 5771 -175d8 83 2075 5771 -1765b 7 2081 5771 -17662 19 2082 5771 -1767b 21 2083 5771 -1769c 2 2084 5771 -1769e 15 2085 5771 -176b3 27 2090 5771 -176da 33 2092 5771 -1770d 9 2094 5771 -17716 9 2096 5771 -1771f 2b 2098 5771 -1774a d 2101 5771 -17757 9 2103 5771 -17760 2d 2105 5771 -1778d 2e 2107 5771 -177bb 5 2111 5771 -177c0 3 2114 5771 -177c3 3 2115 5771 -177c6 3 2116 5771 -177c9 3 2117 5771 -177cc 3 2118 5771 -177cf 26 2121 5771 -177f5 12 2123 5771 -17807 19 2125 5771 -17820 19 2126 5771 -17839 2 2127 5771 -1783b 12 2129 5771 -1784d 19 2131 5771 -17866 1b 2134 5771 -17881 13 2141 5771 -17894 a 2142 5771 -1789e 15 2143 5771 -178b3 2 2144 5771 -178b5 f 2145 5771 -178c4 10 2147 5771 -178d4 9 2151 5771 -178dd 22 2152 5771 -178ff 2 2153 5771 -17901 13 2168 5771 -17914 c 2172 5771 -17920 14 2173 5771 -17934 1a 2174 5771 -1794e 2 2175 5771 -17950 b 2176 5771 -1795b 5 2182 5771 -17960 6 2185 5771 -17966 27 2187 5771 -1798d b 2189 5771 -17998 5 2190 5771 -1799d 1b 2194 5771 -179b8 15 2195 5771 -179cd 1d 2202 5771 -179ea 16 2204 5771 -17a00 55 2205 5771 -17a55 12 2206 5771 -17a67 2b 2207 5771 -17a92 2 2208 5771 -17a94 d 2209 5771 -17aa1 1a 2211 5771 -17abb 2e 2218 5771 -17ae9 12 2222 5771 -17afb c 2223 5771 -17b07 c 2227 5771 -17b13 15 2228 5771 -17b28 2 2229 5771 -17b2a f 2230 5771 -17b39 1a 2235 5771 -17b53 b 2237 5771 -17b5e 3 2238 5771 -17b61 5 2243 5771 -17b66 b 2245 5771 -17b71 1c 2250 5771 -17b8d 13 2251 5771 -17ba0 e 2252 5771 -17bae 2 2253 5771 -17bb0 10 2254 5771 -17bc0 3d 2255 5771 -17bfd c 2256 5771 -17c09 e 2257 5771 -17c17 4c 2258 5771 -17c63 a 2259 5771 -17c6d 4b 2260 5771 -17cb8 7 2261 5771 -17cbf 4b 2262 5771 -17d0a f 2263 5771 -17d19 f 2264 5771 -17d28 6 2268 5771 -17d2e 61 2277 5771 -17d8f 15 2281 5771 -17da4 2 2283 5771 -17da6 18 2285 5771 -17dbe 2d 2292 5771 -17deb 12 2294 5771 -17dfd 37 2296 5771 -17e34 23 2297 5771 -17e57 b7 2299 5771 -17f0e 23 2300 5771 -17f31 12 2306 5771 -17f43 37 2307 5771 -17f7a b 2308 5771 -17f85 37 2309 5771 -17fbc b 2310 5771 -17fc7 30 2311 5771 -17ff7 23 2312 5771 -1801a 36 2319 5771 -18050 1e 2320 5771 -1806e 8 2325 5771 -18076 1e 2326 5771 -18094 12 2329 5771 -180a6 2 2331 5771 -FUNC 180a8 211 0 UnDecorator::getDecoratedName() -180a8 7 861 5771 -180af e 864 5771 -180bd a 868 5771 -180c7 b 873 5771 -180d2 8 874 5771 -180da 11 876 5771 -180eb 10 878 5771 -180fb 6 882 5771 -18101 9 903 5771 -1810a 9 906 5771 -18113 8 910 5771 -1811b 6 912 5771 -18121 5 910 5771 -18126 2 915 5771 -18128 a 918 5771 -18132 19 919 5771 -1814b 6 920 5771 -18151 f 924 5771 -18160 8 925 5771 -18168 17 929 5771 -1817f a 930 5771 -18189 c 932 5771 -18195 8 933 5771 -1819d 5 934 5771 -181a2 18 935 5771 -181ba a 936 5771 -181c4 13 937 5771 -181d7 b 938 5771 -181e2 2 940 5771 -181e4 29 941 5771 -1820d 4 945 5771 -18211 10 946 5771 -18221 9 948 5771 -1822a 3 950 5771 -1822d 1c 955 5771 -18249 f 959 5771 -18258 4 976 5771 -1825c 6 962 5771 -18262 14 964 5771 -18276 19 967 5771 -1828f 5 968 5771 -18294 10 971 5771 -182a4 2 979 5771 -182a6 2 980 5771 -182a8 f 982 5771 -182b7 2 984 5771 -FUNC 182b9 28b 0 UnDecorator::getScope() -182b9 d 1482 5771 -182c6 f 1483 5771 -182d5 2a 1489 5771 -182ff 14 1492 5771 -18313 b 1495 5771 -1831e 16 1496 5771 -18334 5 1498 5771 -18339 17 1499 5771 -18350 3 1500 5771 -18353 f 1506 5771 -18362 2a 1507 5771 -1838c 10 1566 5771 -1839c 5 1567 5771 -183a1 34 1561 5771 -183d5 4 1562 5771 -183d9 5 1563 5771 -183de e 1510 5771 -183ec 5 1514 5771 -183f1 22 1515 5771 -18413 e 1518 5771 -18421 6 1519 5771 -18427 5 1522 5771 -1842c 2a 1523 5771 -18456 2 1524 5771 -18458 f 1546 5771 -18467 1a 1548 5771 -18481 b 1550 5771 -1848c 9 1551 5771 -18495 2 1554 5771 -18497 f 1530 5771 -184a6 2 1570 5771 -184a8 21 1571 5771 -184c9 a 1489 5771 -184d3 f 1577 5771 -184e2 18 1590 5771 -184fa 2 1591 5771 -184fc b 1580 5771 -18507 7 1581 5771 -1850e 2 1582 5771 -18510 2b 1583 5771 -1853b 4 1597 5771 -1853f 5 1599 5771 -FUNC 18544 341 4 UnDecorator::getFunctionIndirectType(DName const &) -18544 3 3461 5771 -18547 e 3462 5771 -18555 15 3463 5771 -1856a f 3465 5771 -18579 10 3466 5771 -18589 7 3469 5771 -18590 a 3471 5771 -1859a 6 3473 5771 -185a0 7 3475 5771 -185a7 d 3477 5771 -185b4 17 3482 5771 -185cb 9 3485 5771 -185d4 3 3486 5771 -185d7 5 3490 5771 -185dc f 3491 5771 -185eb 6 3496 5771 -185f1 13 3497 5771 -18604 b 3501 5771 -1860f 1e 3503 5771 -1862d 8 3505 5771 -18635 29 3506 5771 -1865e 2 3507 5771 -18660 17 3508 5771 -18677 f 3510 5771 -18686 4 3511 5771 -1868a 10 3518 5771 -1869a 15 3519 5771 -186af 9 3527 5771 -186b8 d 3528 5771 -186c5 30 3529 5771 -186f5 2 3530 5771 -186f7 11 3521 5771 -18708 7 3514 5771 -1870f 16 3516 5771 -18725 13 3531 5771 -18738 d 3535 5771 -18745 22 3537 5771 -18767 2 3546 5771 -18769 13 3547 5771 -1877c c 3551 5771 -18788 28 3552 5771 -187b0 1e 3557 5771 -187ce c 3558 5771 -187da 2e 3561 5771 -18808 10 3563 5771 -18818 c 3564 5771 -18824 c 3566 5771 -18830 15 3567 5771 -18845 2 3568 5771 -18847 f 3569 5771 -18856 4 3573 5771 -1885a b 3574 5771 -18865 e 3580 5771 -18873 10 3576 5771 -18883 2 3581 5771 -FUNC 18885 4e4 10 UnDecorator::getDataIndirectType(DName const &,char,DName const &,int) -18885 6 3707 5771 -1888b 23 3711 5771 -188ae 4 3713 5771 -188b2 17 3715 5771 -188c9 c 3717 5771 -188d5 10 3719 5771 -188e5 e 3723 5771 -188f3 6 3725 5771 -188f9 15 3726 5771 -1890e 17 3732 5771 -18925 11 3751 5771 -18936 a 3752 5771 -18940 32 3753 5771 -18972 5 3754 5771 -18977 11 3743 5771 -18988 a 3744 5771 -18992 25 3745 5771 -189b7 2 3746 5771 -189b9 8 3747 5771 -189c1 2 3749 5771 -189c3 19 3735 5771 -189dc a 3736 5771 -189e6 14 3737 5771 -189fa 5 3738 5771 -189ff 11 3739 5771 -18a10 6 3766 5771 -18a16 a 3768 5771 -18a20 17 3770 5771 -18a37 10 3772 5771 -18a47 1a 3778 5771 -18a61 5 3780 5771 -18a66 6 3782 5771 -18a6c 9 3787 5771 -18a75 b 3789 5771 -18a80 19 3791 5771 -18a99 c 3793 5771 -18aa5 24 3794 5771 -18ac9 c 3796 5771 -18ad5 22 3797 5771 -18af7 9 3801 5771 -18b00 5 3805 5771 -18b05 7 3806 5771 -18b0c 6 3810 5771 -18b12 1e 3812 5771 -18b30 8 3814 5771 -18b38 1b 3815 5771 -18b53 2 3816 5771 -18b55 16 3817 5771 -18b6b a 3819 5771 -18b75 13 3828 5771 -18b88 b 3833 5771 -18b93 c 3834 5771 -18b9f 8 3835 5771 -18ba7 6 3836 5771 -18bad b 3842 5771 -18bb8 b 3843 5771 -18bc3 3 3863 5771 -18bc6 6 3864 5771 -18bcc 22 3866 5771 -18bee 9 3871 5771 -18bf7 13 3872 5771 -18c0a 5 3876 5771 -18c0f 1e 3877 5771 -18c2d 5 3879 5771 -18c32 1e 3880 5771 -18c50 5 3884 5771 -18c55 e 3885 5771 -18c63 14 3889 5771 -18c77 28 3895 5771 -18c9f 2 3890 5771 -18ca1 b 3891 5771 -18cac 2 3892 5771 -18cae c 3898 5771 -18cba 17 3899 5771 -18cd1 4 3902 5771 -18cd5 6 3904 5771 -18cdb 7 3906 5771 -18ce2 8 3774 5771 -18cea 13 3918 5771 -18cfd 12 3922 5771 -18d0f 29 3925 5771 -18d38 10 3923 5771 -18d48 c 3928 5771 -18d54 3 3929 5771 -18d57 10 3931 5771 -18d67 2 3933 5771 -FUNC 18d69 14c 0 UnDecorator::operator char *() -18d69 6 762 5771 -18d6f 4 763 5771 -18d73 f 764 5771 -18d82 9 770 5771 -18d8b c 772 5771 -18d97 7 775 5771 -18d9e 1d 776 5771 -18dbb 4 782 5771 -18dbf 16 783 5771 -18dd5 9 785 5771 -18dde 5 794 5771 -18de3 9 795 5771 -18dec 13 799 5771 -18dff e 808 5771 -18e0d 2 809 5771 -18e0f 2 848 5771 -18e11 1a 810 5771 -18e2b e 813 5771 -18e39 e 811 5771 -18e47 9 817 5771 -18e50 e 819 5771 -18e5e d 820 5771 -18e6b a 824 5771 -18e75 f 825 5771 -18e84 5 828 5771 -18e89 2 829 5771 -18e8b 2 830 5771 -18e8d 5 831 5771 -18e92 1 832 5771 -18e93 5 833 5771 -18e98 1 835 5771 -18e99 5 834 5771 -18e9e 2 838 5771 -18ea0 a 839 5771 -18eaa 9 841 5771 -18eb3 2 848 5771 -FUNC 18eb5 116 c UnDecorator::getPtrRefType(DName const &,DName const &,char) -18eb5 5 3585 5771 -18eba f 3588 5771 -18ec9 d 3589 5771 -18ed6 b 3591 5771 -18ee1 20 3594 5771 -18f01 b 3595 5771 -18f0c b 3597 5771 -18f17 9 3598 5771 -18f20 14 3600 5771 -18f34 14 3606 5771 -18f48 1b 3608 5771 -18f63 a 3612 5771 -18f6d b 3615 5771 -18f78 c 3617 5771 -18f84 9 3618 5771 -18f8d c 3620 5771 -18f99 c 3622 5771 -18fa5 a 3623 5771 -18faf b 3625 5771 -18fba f 3629 5771 -18fc9 2 3632 5771 -FUNC 18fcb 1b 8 UnDecorator::getPointerType(DName const &,DName const &) -18fcb 1b 4037 5771 -FUNC 18fe6 1b 8 UnDecorator::getPointerTypeArray(DName const &,DName const &) -18fe6 1b 4040 5771 -FUNC 19001 1b 8 UnDecorator::getReferenceType(DName const &,DName const &) -19001 1b 4043 5771 -FUNC 1901c a3 18 __unDName -1901c f 604 5771 -1902b 9 606 5771 -19034 4 607 5771 -19038 a 612 5771 -19042 2 613 5771 -19044 8 614 5771 -1904c 3 615 5771 -1904f 20 618 5771 -1906f 1a 627 5771 -19089 e 628 5771 -19097 a 633 5771 -190a1 c 636 5771 -190ad 3 643 5771 -190b0 6 645 5771 -190b6 9 637 5771 -FUNC 190bf a3 1c __unDNameEx -190bf f 684 5771 -190ce 9 687 5771 -190d7 4 688 5771 -190db a 693 5771 -190e5 2 694 5771 -190e7 8 695 5771 -190ef 3 696 5771 -190f2 20 699 5771 -19112 1a 708 5771 -1912c e 709 5771 -1913a a 714 5771 -19144 c 717 5771 -19150 3 724 5771 -19153 6 726 5771 -19159 9 718 5771 -FUNC 19162 387 4 UnDecorator::getBasicDataType(DName const &) -19162 3 3162 5771 -19165 15 3163 5771 -1917a 6 3165 5771 -19180 4 3168 5771 -19184 35 3173 5771 -191b9 5 3178 5771 -191be 5 3179 5771 -191c3 5 3183 5771 -191c8 5 3184 5771 -191cd 5 3188 5771 -191d2 5 3189 5771 -191d7 5 3193 5771 -191dc 5 3194 5771 -191e1 5 3203 5771 -191e6 5 3204 5771 -191eb 2a 3173 5771 -19215 3c 3222 5771 -19251 5 3231 5771 -19256 5 3232 5771 -1925b 22 3273 5771 -1927d 5 3235 5771 -19282 5 3236 5771 -19287 f 3222 5771 -19296 5 3243 5771 -1929b 5 3244 5771 -192a0 5 3239 5771 -192a5 5 3240 5771 -192aa 5 3247 5771 -192af 5 3248 5771 -192b4 1b 3222 5771 -192cf 3 3264 5771 -192d2 6 3262 5771 -192d8 10 3264 5771 -192e8 10 3266 5771 -192f8 11 3267 5771 -19309 5 3275 5771 -1930e 2 3276 5771 -19310 5 3255 5771 -19315 2 3257 5771 -19317 3 3224 5771 -1931a 12 3343 5771 -1932c 9 3345 5771 -19335 7 3347 5771 -1933c 16 3348 5771 -19352 6 3352 5771 -19358 d 3353 5771 -19365 5 3355 5771 -1936a 5 3227 5771 -1936f 2 3278 5771 -19371 d 3281 5771 -1937e 2 3282 5771 -19380 5 3219 5771 -19385 2 3220 5771 -19387 3 3287 5771 -1938a 5 3290 5771 -1938f d 3207 5771 -1939c d 3212 5771 -193a9 9 3297 5771 -193b2 1f 3301 5771 -193d1 19 3314 5771 -193ea c 3322 5771 -193f6 2 3326 5771 -193f8 c 3307 5771 -19404 2 3308 5771 -19406 1e 3311 5771 -19424 10 3332 5771 -19434 18 3333 5771 -1944c 5 3337 5771 -19451 c 3360 5771 -1945d 5 3367 5771 -19462 d 3369 5771 -1946f 5 3371 5771 -19474 d 3372 5771 -19481 2 3373 5771 -19483 5 3374 5771 -19488 d 3375 5771 -19495 17 3380 5771 -194ac 16 3385 5771 -194c2 27 3387 5771 -FUNC 194e9 13e 4 UnDecorator::getPrimaryDataType(DName const &) -194e9 7 2962 5771 -194f0 2b 2966 5771 -1951b 12 3027 5771 -1952d d 2972 5771 -1953a c 2974 5771 -19546 a 2975 5771 -19550 b 2981 5771 -1955b 6 2984 5771 -19561 1e 2986 5771 -1957f 7 2996 5771 -19586 2 2997 5771 -19588 6 2998 5771 -1958e f 3000 5771 -1959d 8 3002 5771 -195a5 10 3004 5771 -195b5 2f 3022 5771 -195e4 16 3012 5771 -195fa 17 3008 5771 -19611 14 2969 5771 -19625 2 3030 5771 -FUNC 19627 b1 4 UnDecorator::getDataType(DName *) -19627 6 2922 5771 -1962d b 2923 5771 -19638 15 2928 5771 -1964d 10 2954 5771 -1965d 6 2934 5771 -19663 c 2936 5771 -1966f f 2937 5771 -1967e 13 2939 5771 -19691 6 2944 5771 -19697 29 2946 5771 -196c0 2 2947 5771 -196c2 14 2931 5771 -196d6 2 2957 5771 -FUNC 196d8 64 4 UnDecorator::getExternalDataType(DName const &) -196d8 7 4244 5771 -196df 1e 4247 5771 -196fd 9 4248 5771 -19706 30 4253 5771 -19736 4 4255 5771 -1973a 2 4257 5771 -FUNC 1973c 57 8 fastzero_I -FUNC 19793 8f c _VEC_memzero -FUNC 19822 14 0 _sse2_mathfcns_init -FUNC 19836 14 4 _set_SSE2_enable -FUNC 1984a 87 c fastcopy_I -FUNC 198d1 e3 c _VEC_memcpy -FUNC 199b4 1bd c __crtMessageBoxA -199b4 9 41 4033 -199bd 5 49 4033 -199c2 2 56 4033 -199c4 18 64 4033 -199dc d 66 4033 -199e9 2 67 4033 -199eb 6 69 4033 -199f1 10 76 4033 -19a01 6 78 4033 -19a07 6 80 4033 -19a0d 15 83 4033 -19a22 1a 86 4033 -19a3c 1c 88 4033 -19a58 6 89 4033 -19a5e 8 95 4033 -19a66 6 98 4033 -19a6c a 100 4033 -19a76 14 102 4033 -19a8a 14 116 4033 -19a9e 6 119 4033 -19aa4 d 120 4033 -19ab1 c 122 4033 -19abd 1f 127 4033 -19adc 1b 136 4033 -19af7 6 137 4033 -19afd 7 138 4033 -19b04 2 139 4033 -19b06 7 140 4033 -19b0d 2 142 4033 -19b0f a 144 4033 -19b19 6 146 4033 -19b1f 5 147 4033 -19b24 2 149 4033 -19b26 11 153 4033 -19b37 6 155 4033 -19b3d 5 156 4033 -19b42 8 158 4033 -19b4a b 165 4033 -19b55 5 166 4033 -19b5a 10 168 4033 -19b6a 5 173 4033 -19b6f 2 176 4033 -FUNC 19b71 71 c strcat_s -19b71 0 13 823 -19b71 30 18 823 -19ba1 c 19 823 -19bad 2 21 823 -19baf 4 23 823 -19bb3 1 25 823 -19bb4 3 26 823 -19bb7 2 29 823 -19bb9 2 32 823 -19bbb d 35 823 -19bc8 4 39 823 -19bcc 2 41 823 -19bce e 42 823 -19bdc 5 45 823 -19be1 1 46 823 -FUNC 19be2 b3 10 strncpy_s -19be2 5 13 739 -19be7 14 17 739 -19bfb 5 65 739 -19c00 2 66 739 -19c02 26 24 739 -19c28 5 25 739 -19c2d 2 28 739 -19c2f 2 29 739 -19c31 b 31 739 -19c3c 8 35 739 -19c44 d 37 739 -19c51 2 41 739 -19c53 12 45 739 -19c65 5 48 739 -19c6a 2 50 739 -19c6c 4 54 739 -19c70 6 56 739 -19c76 3 58 739 -19c79 c 59 739 -19c85 2 61 739 -19c87 e 62 739 -FUNC 19c95 46 4 _set_error_mode -19c95 0 43 3937 -19c95 15 50 3937 -19caa 6 58 3937 -19cb0 1 65 3937 -19cb1 5 54 3937 -19cb6 7 55 3937 -19cbd 1 65 3937 -19cbe 1c 61 3937 -19cda 1 65 3937 -FUNC 19cdb a 4 __set_app_type -19cdb 0 91 3937 -19cdb 9 96 3937 -19ce4 1 97 3937 -FUNC 19ce5 6 0 __get_app_type -19ce5 0 120 3937 -19ce5 5 125 3937 -19cea 1 126 3937 -FUNC 19ceb 51 10 x_ismbbtype_l -19ceb 6 213 4669 -19cf1 b 214 4669 -19cfc 4 219 4669 -19d00 3a 222 4669 -19d3a 2 223 4669 -FUNC 19d3c 15 8 _ismbbkalnum_l -19d3c 0 80 4669 -19d3c 14 81 4669 -19d50 1 82 4669 -FUNC 19d51 13 4 _ismbbkalnum -19d51 0 85 4669 -19d51 12 86 4669 -19d63 1 87 4669 -FUNC 19d64 15 8 _ismbbkprint_l -19d64 0 90 4669 -19d64 14 91 4669 -19d78 1 92 4669 -FUNC 19d79 13 4 _ismbbkprint -19d79 0 95 4669 -19d79 12 96 4669 -19d8b 1 97 4669 -FUNC 19d8c 15 8 _ismbbkpunct_l -19d8c 0 100 4669 -19d8c 14 101 4669 -19da0 1 102 4669 -FUNC 19da1 13 4 _ismbbkpunct -19da1 0 105 4669 -19da1 12 106 4669 -19db3 1 107 4669 -FUNC 19db4 18 8 _ismbbalnum_l -19db4 0 113 4669 -19db4 17 114 4669 -19dcb 1 115 4669 -FUNC 19dcc 16 4 _ismbbalnum -19dcc 0 118 4669 -19dcc 15 119 4669 -19de1 1 120 4669 -FUNC 19de2 18 8 _ismbbalpha_l -19de2 0 123 4669 -19de2 17 124 4669 -19df9 1 125 4669 -FUNC 19dfa 16 4 _ismbbalpha -19dfa 0 128 4669 -19dfa 15 129 4669 -19e0f 1 130 4669 -FUNC 19e10 18 8 _ismbbgraph_l -19e10 0 133 4669 -19e10 17 134 4669 -19e27 1 135 4669 -FUNC 19e28 16 4 _ismbbgraph -19e28 0 138 4669 -19e28 15 139 4669 -19e3d 1 140 4669 -FUNC 19e3e 18 8 _ismbbprint_l -19e3e 0 143 4669 -19e3e 17 144 4669 -19e55 1 145 4669 -FUNC 19e56 16 4 _ismbbprint -19e56 0 148 4669 -19e56 15 149 4669 -19e6b 1 150 4669 -FUNC 19e6c 15 8 _ismbbpunct_l -19e6c 0 153 4669 -19e6c 14 154 4669 -19e80 1 155 4669 -FUNC 19e81 13 4 _ismbbpunct -19e81 0 158 4669 -19e81 12 159 4669 -19e93 1 160 4669 -FUNC 19e94 15 8 _ismbblead_l -19e94 0 166 4669 -19e94 14 167 4669 -19ea8 1 168 4669 -FUNC 19ea9 13 4 _ismbblead -19ea9 0 171 4669 -19ea9 12 172 4669 -19ebb 1 173 4669 -FUNC 19ebc 15 8 _ismbbtrail_l -19ebc 0 176 4669 -19ebc 14 177 4669 -19ed0 1 178 4669 -FUNC 19ed1 13 4 _ismbbtrail -19ed1 0 181 4669 -19ed1 12 182 4669 -19ee3 1 183 4669 -FUNC 19ee4 53 8 _ismbbkana_l -19ee4 6 189 4669 -19eea b 190 4669 -19ef5 10 192 4669 -19f05 1f 194 4669 -19f24 2 197 4669 -19f26 f 196 4669 -19f35 2 197 4669 -FUNC 19f37 e 4 _ismbbkana -19f37 0 200 4669 -19f37 d 201 4669 -19f44 1 202 4669 -FUNC 19f45 44 4 _getbuf -19f45 0 43 1893 -19f45 6 50 1893 -19f4b 16 58 1893 -19f61 4 61 1893 -19f65 7 62 1893 -19f6c 2 65 1893 -19f6e 4 69 1893 -19f72 6 70 1893 -19f78 7 71 1893 -19f7f 3 75 1893 -19f82 6 76 1893 -19f88 1 79 1893 -FUNC 19f89 1de 8 _fputwc_nolock -19f89 15 90 2124 -19f9e b 93 2124 -19fa9 48 95 2124 -19ff1 6 101 2124 -19ff7 45 104 2124 -1a03c 27 115 2124 -1a063 9 116 2124 -1a06c 22 120 2124 -1a08e 2 121 2124 -1a090 8 124 2124 -1a098 42 127 2124 -1a0da 17 133 2124 -1a0f1 6 139 2124 -1a0f7 7 141 2124 -1a0fe 34 143 2124 -1a132 6 146 2124 -1a138 6 150 2124 -1a13e d 151 2124 -1a14b d 153 2124 -1a158 f 154 2124 -FUNC 1a167 78 8 fputwc -1a167 c 48 2124 -1a173 2e 52 2124 -1a1a1 3 55 2124 -1a1a4 7 57 2124 -1a1ab 3 58 2124 -1a1ae 11 60 2124 -1a1bf c 63 2124 -1a1cb 4 67 2124 -1a1cf 6 68 2124 -1a1d5 a 64 2124 -FUNC 1a1df 5 8 putwc -1a1df 0 162 2124 -1a1df 5 163 2124 -FUNC 1a1e4 1f7 14 wcstoxl -1a1e4 8 82 6173 -1a1ec b 88 6173 -1a1f7 3 92 6173 -1a1fa b 95 6173 -1a205 2f 97 6173 -1a234 12 98 6173 -1a246 9 103 6173 -1a24f 2 105 6173 -1a251 18 106 6173 -1a269 6 108 6173 -1a26f 4 109 6173 -1a273 2 110 6173 -1a275 6 112 6173 -1a27b 5 113 6173 -1a280 5 115 6173 -1a285 b 118 6173 -1a290 9 119 6173 -1a299 f 120 6173 -1a2a8 9 123 6173 -1a2b1 7 121 6173 -1a2b8 6 126 6173 -1a2be 1a 128 6173 -1a2d8 2 129 6173 -1a2da 5 130 6173 -1a2df d 135 6173 -1a2ec c 141 6173 -1a2f8 15 143 6173 -1a30d 12 144 6173 -1a31f 5 148 6173 -1a324 4 152 6173 -1a328 c 159 6173 -1a334 4 165 6173 -1a338 6 166 6173 -1a33e 9 178 6173 -1a347 6 181 6173 -1a34d 3 183 6173 -1a350 4 184 6173 -1a354 2 186 6173 -1a356 c 161 6173 -1a362 5 173 6173 -1a367 2 174 6173 -1a369 24 189 6173 -1a38d 5 192 6173 -1a392 c 193 6173 -1a39e 6 194 6173 -1a3a4 10 195 6173 -1a3b4 8 201 6173 -1a3bc 2 203 6173 -1a3be 6 205 6173 -1a3c4 3 207 6173 -1a3c7 12 209 6173 -1a3d9 2 210 6173 -FUNC 1a3db 29 c wcstol -1a3db 3 217 6173 -1a3de 8 218 6173 -1a3e6 13 220 6173 -1a3f9 9 224 6173 -1a402 2 226 6173 -FUNC 1a404 1b 10 _wcstol_l -1a404 0 234 6173 -1a404 1a 235 6173 -1a41e 1 236 6173 -FUNC 1a41f 2a c wcstoul -1a41f 3 243 6173 -1a422 7 244 6173 -1a429 14 246 6173 -1a43d a 250 6173 -1a447 2 252 6173 -FUNC 1a449 1b 10 _wcstoul_l -1a449 0 260 6173 -1a449 1a 261 6173 -1a463 1 262 6173 -FUNC 1a464 9 0 _fptrap -1a464 0 46 2503 -1a464 8 47 2503 -1a46c 1 48 2503 -FUNC 1a46d 54 8 _isalpha_l -1a46d 6 57 6535 -1a473 b 58 6535 -1a47e 41 60 6535 -1a4bf 2 61 6535 -FUNC 1a4c1 2b 4 isalpha -1a4c1 0 66 6535 -1a4c1 9 67 6535 -1a4ca 13 69 6535 -1a4dd 1 75 6535 -1a4de d 73 6535 -1a4eb 1 75 6535 -FUNC 1a4ec 4f 8 _isupper_l -1a4ec 6 81 6535 -1a4f2 b 82 6535 -1a4fd 3c 84 6535 -1a539 2 85 6535 -FUNC 1a53b 29 4 isupper -1a53b 0 90 6535 -1a53b 9 91 6535 -1a544 11 93 6535 -1a555 1 99 6535 -1a556 d 97 6535 -1a563 1 99 6535 -FUNC 1a564 4f 8 _islower_l -1a564 6 105 6535 -1a56a b 106 6535 -1a575 3c 108 6535 -1a5b1 2 109 6535 -FUNC 1a5b3 29 4 islower -1a5b3 0 114 6535 -1a5b3 9 115 6535 -1a5bc 11 117 6535 -1a5cd 1 123 6535 -1a5ce d 121 6535 -1a5db 1 123 6535 -FUNC 1a5dc 4f 8 _isdigit_l -1a5dc 6 129 6535 -1a5e2 b 130 6535 -1a5ed 3c 132 6535 -1a629 2 133 6535 -FUNC 1a62b 29 4 isdigit -1a62b 0 138 6535 -1a62b 9 139 6535 -1a634 11 141 6535 -1a645 1 147 6535 -1a646 d 145 6535 -1a653 1 147 6535 -FUNC 1a654 54 8 _isxdigit_l -1a654 6 153 6535 -1a65a b 154 6535 -1a665 41 156 6535 -1a6a6 2 157 6535 -FUNC 1a6a8 2b 4 isxdigit -1a6a8 0 162 6535 -1a6a8 9 163 6535 -1a6b1 13 165 6535 -1a6c4 1 171 6535 -1a6c5 d 169 6535 -1a6d2 1 171 6535 -FUNC 1a6d3 4f 8 _isspace_l -1a6d3 6 177 6535 -1a6d9 b 178 6535 -1a6e4 3c 180 6535 -1a720 2 181 6535 -FUNC 1a722 29 4 isspace -1a722 0 186 6535 -1a722 9 187 6535 -1a72b 11 189 6535 -1a73c 1 195 6535 -1a73d d 193 6535 -1a74a 1 195 6535 -FUNC 1a74b 4f 8 _ispunct_l -1a74b 6 201 6535 -1a751 b 202 6535 -1a75c 3c 204 6535 -1a798 2 205 6535 -FUNC 1a79a 29 4 ispunct -1a79a 0 210 6535 -1a79a 9 211 6535 -1a7a3 11 213 6535 -1a7b4 1 219 6535 -1a7b5 d 217 6535 -1a7c2 1 219 6535 -FUNC 1a7c3 54 8 _isalnum_l -1a7c3 6 225 6535 -1a7c9 b 226 6535 -1a7d4 41 228 6535 -1a815 2 229 6535 -FUNC 1a817 2b 4 isalnum -1a817 0 234 6535 -1a817 9 235 6535 -1a820 13 237 6535 -1a833 1 243 6535 -1a834 d 241 6535 -1a841 1 243 6535 -FUNC 1a842 54 8 _isprint_l -1a842 6 249 6535 -1a848 b 250 6535 -1a853 41 252 6535 -1a894 2 253 6535 -FUNC 1a896 2b 4 isprint -1a896 0 258 6535 -1a896 9 259 6535 -1a89f 13 261 6535 -1a8b2 1 267 6535 -1a8b3 d 265 6535 -1a8c0 1 267 6535 -FUNC 1a8c1 54 8 _isgraph_l -1a8c1 6 273 6535 -1a8c7 b 274 6535 -1a8d2 41 276 6535 -1a913 2 277 6535 -FUNC 1a915 2b 4 isgraph -1a915 0 282 6535 -1a915 9 283 6535 -1a91e 13 285 6535 -1a931 1 291 6535 -1a932 d 289 6535 -1a93f 1 291 6535 -FUNC 1a940 4f 8 _iscntrl_l -1a940 6 297 6535 -1a946 b 298 6535 -1a951 3c 300 6535 -1a98d 2 301 6535 -FUNC 1a98f 29 4 iscntrl -1a98f 0 306 6535 -1a98f 9 307 6535 -1a998 11 309 6535 -1a9a9 1 315 6535 -1a9aa d 313 6535 -1a9b7 1 315 6535 -FUNC 1a9b8 d 4 __isascii -1a9b8 0 320 6535 -1a9b8 c 321 6535 -1a9c4 1 322 6535 -FUNC 1a9c5 8 4 __toascii -1a9c5 0 327 6535 -1a9c5 7 328 6535 -1a9cc 1 329 6535 -FUNC 1a9cd 1f 8 _iscsymf_l -1a9cd 0 335 6535 -1a9cd 1a 336 6535 -1a9e7 1 337 6535 -1a9e8 3 336 6535 -1a9eb 1 337 6535 -FUNC 1a9ec 1a 4 __iscsymf -1a9ec 0 341 6535 -1a9ec 15 342 6535 -1aa01 1 343 6535 -1aa02 3 342 6535 -1aa05 1 343 6535 -FUNC 1aa06 1f 8 _iscsym_l -1aa06 0 349 6535 -1aa06 1a 350 6535 -1aa20 1 351 6535 -1aa21 3 350 6535 -1aa24 1 351 6535 -FUNC 1aa25 1c 4 __iscsym -1aa25 0 356 6535 -1aa25 17 357 6535 -1aa3c 1 358 6535 -1aa3d 3 357 6535 -1aa40 1 358 6535 -FUNC 1aa41 12 8 _MarkAllocaS -1aa41 0 207 2895 -1aa41 8 208 2895 -1aa49 6 210 2895 -1aa4f 3 211 2895 -1aa52 1 214 2895 -FUNC 1aa53 1b 4 _freea -1aa53 0 249 2895 -1aa53 8 251 2895 -1aa5b 3 253 2895 -1aa5e 8 255 2895 -1aa66 7 257 2895 -1aa6d 1 266 2895 -FUNC 1aa6e 13b 18 __crtGetLocaleInfoW_stat -1aa6e f 60 2876 -1aa7d 14 68 2876 -1aa91 d 70 2876 -1aa9e 8 71 2876 -1aaa6 b 73 2876 -1aab1 f 74 2876 -1aac0 5 79 2876 -1aac5 13 81 2876 -1aad8 7 86 2876 -1aadf 2 140 2876 -1aae1 8 96 2876 -1aae9 b 97 2876 -1aaf4 16 100 2876 -1ab0a 7 101 2876 -1ab11 48 104 2876 -1ab59 2 105 2876 -1ab5b 2 106 2876 -1ab5d e 110 2876 -1ab6b 7 113 2876 -1ab72 2 121 2876 -1ab74 2 123 2876 -1ab76 17 130 2876 -1ab8d 6 134 2876 -1ab93 4 136 2876 -1ab97 12 141 2876 -FUNC 1aba9 3b 18 __crtGetLocaleInfoW -1aba9 6 151 2876 -1abaf b 152 2876 -1abba 28 161 2876 -1abe2 2 162 2876 -FUNC 1abe4 13d 18 __crtGetLocaleInfoA_stat -1abe4 f 60 4251 -1abf3 17 68 4251 -1ac0a a 70 4251 -1ac14 8 71 4251 -1ac1c b 73 4251 -1ac27 f 74 4251 -1ac36 11 79 4251 -1ac47 4 86 4251 -1ac4b 5 96 4251 -1ac50 b 97 4251 -1ac5b 13 100 4251 -1ac6e 7 101 4251 -1ac75 49 104 4251 -1acbe 2 105 4251 -1acc0 2 106 4251 -1acc2 10 110 4251 -1acd2 3 114 4251 -1acd5 6 124 4251 -1acdb 2 126 4251 -1acdd 15 135 4251 -1acf2 7 139 4251 -1acf9 4 141 4251 -1acfd 12 81 4251 -1ad0f 12 145 4251 -FUNC 1ad21 3b 18 __crtGetLocaleInfoA -1ad21 6 155 4251 -1ad27 b 156 4251 -1ad32 28 165 4251 -1ad5a 2 166 4251 -FUNC 1ad5c 1a 4 strncnt -1ad5c 0 48 4203 -1ad5c 6 49 4203 -1ad62 6 52 4203 -1ad68 1 53 4203 -1ad69 5 52 4203 -1ad6e 7 55 4203 -1ad75 1 56 4203 -FUNC 1ad76 3a2 20 __crtLCMapStringA_stat -1ad76 12 99 4203 -1ad88 d 108 4203 -1ad95 1b 109 4203 -1adb0 8 110 4203 -1adb8 b 111 4203 -1adc3 a 112 4203 -1adcd 5 119 4203 -1add2 19 120 4203 -1adeb 5 124 4203 -1adf0 1 125 4203 -1adf1 3 127 4203 -1adf4 16 133 4203 -1ae0a 9 213 4203 -1ae13 8 235 4203 -1ae1b 8 236 4203 -1ae23 27 247 4203 -1ae4a 6 248 4203 -1ae50 48 251 4203 -1ae98 3 252 4203 -1ae9b 6 253 4203 -1aea1 19 262 4203 -1aeba 21 271 4203 -1aedb 8 274 4203 -1aee3 9 277 4203 -1aeec 9 279 4203 -1aef5 12 288 4203 -1af07 5 292 4203 -1af0c 4b 298 4203 -1af57 4 299 4203 -1af5b 18 309 4203 -1af73 3 312 4203 -1af76 6 322 4203 -1af7c 2 325 4203 -1af7e 17 335 4203 -1af95 7 342 4203 -1af9c 8 344 4203 -1afa4 9 346 4203 -1afad b 141 4203 -1afb8 8 142 4203 -1afc0 5 143 4203 -1afc5 8 144 4203 -1afcd 11 146 4203 -1afde 7 147 4203 -1afe5 9 153 4203 -1afee 15 155 4203 -1b003 5 156 4203 -1b008 2 157 4203 -1b00a 1b 164 4203 -1b025 7 166 4203 -1b02c 41 169 4203 -1b06d 2 170 4203 -1b06f 28 196 4203 -1b097 2 183 4203 -1b099 2 184 4203 -1b09b 25 190 4203 -1b0c0 7 198 4203 -1b0c7 2 199 4203 -1b0c9 1a 202 4203 -1b0e3 5 204 4203 -1b0e8 9 205 4203 -1b0f1 c 206 4203 -1b0fd 7 207 4203 -1b104 2 208 4203 -1b106 12 350 4203 -FUNC 1b118 43 24 __crtLCMapStringA -1b118 6 363 4203 -1b11e b 364 4203 -1b129 30 376 4203 -1b159 2 377 4203 -FUNC 1b15b 1b8 1c __crtGetStringTypeA_stat -1b15b f 66 4155 -1b16a 10 75 4155 -1b17a 18 79 4155 -1b192 8 80 4155 -1b19a b 82 4155 -1b1a5 f 83 4155 -1b1b4 11 88 4155 -1b1c5 9 120 4155 -1b1ce 8 141 4155 -1b1d6 8 142 4155 -1b1de 27 153 4155 -1b205 6 154 4155 -1b20b 3e 157 4155 -1b249 2 158 4155 -1b24b 2 159 4155 -1b24d f 161 4155 -1b25c 13 169 4155 -1b26f 11 174 4155 -1b280 6 176 4155 -1b286 6 178 4155 -1b28c 2 90 4155 -1b28e 5 94 4155 -1b293 8 95 4155 -1b29b 5 96 4155 -1b2a0 8 97 4155 -1b2a8 e 99 4155 -1b2b6 4 100 4155 -1b2ba 5 104 4155 -1b2bf 17 106 4155 -1b2d6 2 107 4155 -1b2d8 2 108 4155 -1b2da 3 109 4155 -1b2dd 15 112 4155 -1b2f2 6 113 4155 -1b2f8 7 114 4155 -1b2ff 2 115 4155 -1b301 12 182 4155 -FUNC 1b313 40 20 __crtGetStringTypeA -1b313 6 194 4155 -1b319 b 195 4155 -1b324 2d 206 4155 -1b351 2 207 4155 -FUNC 1b353 6 0 __pwctype_func -1b353 0 24 3986 -1b353 5 25 3986 -1b358 1 26 3986 -FUNC 1b359 29 0 __pctype_func -1b359 0 29 3986 -1b359 7 35 3986 -1b360 3 36 3986 -1b363 18 38 3986 -1b37b 6 39 3986 -1b381 1 40 3986 -FUNC 1b382 419 0 _get_lc_time -1b382 6 94 3379 -1b388 12 104 3379 -1b39a 3 105 3379 -1b39d 2 170 3379 -1b39f 9 108 3379 -1b3a8 16 112 3379 -1b3be 15 113 3379 -1b3d3 15 114 3379 -1b3e8 18 115 3379 -1b400 15 116 3379 -1b415 13 117 3379 -1b428 14 118 3379 -1b43c 18 120 3379 -1b454 15 121 3379 -1b469 15 122 3379 -1b47e 15 123 3379 -1b493 18 124 3379 -1b4ab 15 125 3379 -1b4c0 15 126 3379 -1b4d5 15 128 3379 -1b4ea 18 129 3379 -1b502 15 130 3379 -1b517 15 131 3379 -1b52c 15 132 3379 -1b541 18 133 3379 -1b559 15 134 3379 -1b56e 15 135 3379 -1b583 15 136 3379 -1b598 18 137 3379 -1b5b0 15 138 3379 -1b5c5 15 139 3379 -1b5da 15 141 3379 -1b5ef 18 142 3379 -1b607 15 143 3379 -1b61c 15 144 3379 -1b631 15 145 3379 -1b646 18 146 3379 -1b65e 18 147 3379 -1b676 18 148 3379 -1b68e 18 149 3379 -1b6a6 1b 150 3379 -1b6c1 18 151 3379 -1b6d9 18 152 3379 -1b6f1 18 154 3379 -1b709 1b 155 3379 -1b724 18 160 3379 -1b73c 18 161 3379 -1b754 1b 163 3379 -1b76f 20 165 3379 -1b78f a 169 3379 -1b799 2 170 3379 -FUNC 1b79b 190 4 __free_lc_time -1b79b 1 179 3379 -1b79c c 180 3379 -1b7a8 8 183 3379 -1b7b0 8 184 3379 -1b7b8 8 185 3379 -1b7c0 8 186 3379 -1b7c8 8 187 3379 -1b7d0 8 188 3379 -1b7d8 7 189 3379 -1b7df 8 191 3379 -1b7e7 8 192 3379 -1b7ef 8 193 3379 -1b7f7 8 194 3379 -1b7ff 8 195 3379 -1b807 8 196 3379 -1b80f 8 197 3379 -1b817 8 199 3379 -1b81f b 200 3379 -1b82a 8 201 3379 -1b832 8 202 3379 -1b83a 8 203 3379 -1b842 8 204 3379 -1b84a 8 205 3379 -1b852 8 206 3379 -1b85a 8 207 3379 -1b862 8 208 3379 -1b86a 8 209 3379 -1b872 8 210 3379 -1b87a 8 212 3379 -1b882 8 213 3379 -1b88a 8 214 3379 -1b892 8 215 3379 -1b89a 8 216 3379 -1b8a2 b 217 3379 -1b8ad b 218 3379 -1b8b8 b 219 3379 -1b8c3 b 220 3379 -1b8ce b 221 3379 -1b8d9 b 222 3379 -1b8e4 b 223 3379 -1b8ef b 225 3379 -1b8fa b 226 3379 -1b905 b 228 3379 -1b910 b 229 3379 -1b91b f 230 3379 -1b92a 1 232 3379 -FUNC 1b92b 73 4 __init_time -1b92b 4 56 3379 -1b92f f 60 3379 -1b93e 16 64 3379 -1b954 4 65 3379 -1b958 b 67 3379 -1b963 6 69 3379 -1b969 8 70 3379 -1b971 2 71 3379 -1b973 6 73 3379 -1b979 2 74 3379 -1b97b 2 75 3379 -1b97d 18 78 3379 -1b995 2 82 3379 -1b997 6 83 3379 -1b99d 1 84 3379 -FUNC 1b99e 33 0 fix_grouping -1b99e 0 32 3427 -1b99e 8 40 3427 -1b9a6 a 43 3427 -1b9b0 4 45 3427 -1b9b4 1 61 3427 -1b9b5 6 40 3427 -1b9bb 1 63 3427 -1b9bc 4 50 3427 -1b9c0 2 52 3427 -1b9c2 7 55 3427 -1b9c9 6 56 3427 -1b9cf 2 60 3427 -FUNC 1b9d1 40 4 __free_lconv_num -1b9d1 1 211 3427 -1b9d2 8 212 3427 -1b9da a 215 3427 -1b9e4 7 216 3427 -1b9eb b 218 3427 -1b9f6 7 219 3427 -1b9fd b 221 3427 -1ba08 8 222 3427 -1ba10 1 223 3427 -FUNC 1ba11 1c8 4 __init_numeric -1ba11 7 84 3427 -1ba18 4 92 3427 -1ba1c 2 93 3427 -1ba1e 11 96 3427 -1ba2f 3 177 3427 -1ba32 3 178 3427 -1ba35 c 179 3427 -1ba41 14 102 3427 -1ba55 8 103 3427 -1ba5d 9 108 3427 -1ba66 13 113 3427 -1ba79 9 115 3427 -1ba82 2 116 3427 -1ba84 2 118 3427 -1ba86 9 120 3427 -1ba8f 12 125 3427 -1baa1 8 127 3427 -1baa9 a 128 3427 -1bab3 7 129 3427 -1baba 2 131 3427 -1babc 19 140 3427 -1bad5 15 142 3427 -1baea 1b 144 3427 -1bb05 2 146 3427 -1bb07 c 148 3427 -1bb13 1e 154 3427 -1bb31 2 156 3427 -1bb33 17 154 3427 -1bb4a b 164 3427 -1bb55 9 165 3427 -1bb5e c 166 3427 -1bb6a 8 168 3427 -1bb72 7 169 3427 -1bb79 2 170 3427 -1bb7b 13 186 3427 -1bb8e 11 191 3427 -1bb9f b 193 3427 -1bbaa d 194 3427 -1bbb7 9 197 3427 -1bbc0 9 198 3427 -1bbc9 9 200 3427 -1bbd2 5 201 3427 -1bbd7 2 202 3427 -FUNC 1bbd9 33 0 fix_grouping -1bbd9 0 214 3470 -1bbd9 8 222 3470 -1bbe1 a 225 3470 -1bbeb 4 227 3470 -1bbef 1 243 3470 -1bbf0 6 222 3470 -1bbf6 1 245 3470 -1bbf7 4 232 3470 -1bbfb 2 234 3470 -1bbfd 7 237 3470 -1bc04 6 238 3470 -1bc0a 2 242 3470 -FUNC 1bc0c 89 4 __free_lconv_mon -1bc0c 1 255 3470 -1bc0d 8 256 3470 -1bc15 b 259 3470 -1bc20 7 260 3470 -1bc27 b 262 3470 -1bc32 7 263 3470 -1bc39 b 265 3470 -1bc44 7 266 3470 -1bc4b b 268 3470 -1bc56 7 269 3470 -1bc5d b 271 3470 -1bc68 7 272 3470 -1bc6f b 274 3470 -1bc7a 7 275 3470 -1bc81 b 277 3470 -1bc8c 8 278 3470 -1bc94 1 279 3470 -FUNC 1bc95 2c4 4 __init_monetary -1bc95 8 65 3470 -1bc9d 6 73 3470 -1bca3 13 77 3470 -1bcb6 3 187 3470 -1bcb9 3 188 3470 -1bcbc a 189 3470 -1bcc6 11 83 3470 -1bcd7 8 84 3470 -1bcdf f 89 3470 -1bcee 7 91 3470 -1bcf5 2 92 3470 -1bcf7 2 94 3470 -1bcf9 9 96 3470 -1bd02 f 101 3470 -1bd11 6 103 3470 -1bd17 9 104 3470 -1bd20 2 105 3470 -1bd22 2 107 3470 -1bd24 4 112 3470 -1bd28 14 117 3470 -1bd3c 14 119 3470 -1bd50 14 121 3470 -1bd64 17 123 3470 -1bd7b 14 125 3470 -1bd8f 14 128 3470 -1bda3 14 130 3470 -1bdb7 17 133 3470 -1bdce 14 135 3470 -1bde2 14 137 3470 -1bdf6 14 139 3470 -1be0a 17 141 3470 -1be21 14 143 3470 -1be35 14 145 3470 -1be49 17 147 3470 -1be60 2 149 3470 -1be62 6 150 3470 -1be68 6 151 3470 -1be6e 8 152 3470 -1be76 b 153 3470 -1be81 5 154 3470 -1be86 1c 157 3470 -1bea2 2 159 3470 -1bea4 17 157 3470 -1bebb c 169 3470 -1bec7 3 175 3470 -1beca 32 181 3470 -1befc 11 194 3470 -1bf0d 15 199 3470 -1bf22 b 201 3470 -1bf2d d 202 3470 -1bf3a 9 204 3470 -1bf43 9 205 3470 -1bf4c 6 206 3470 -1bf52 5 208 3470 -1bf57 2 209 3470 -FUNC 1bf59 395 4 __init_ctype -1bf59 11 59 3562 -1bf6a 6 60 3562 -1bf70 1f 82 3562 -1bf8f 7 84 3562 -1bf96 20 89 3562 -1bfb6 7 94 3562 -1bfbd 10 98 3562 -1bfcd b 100 3562 -1bfd8 b 102 3562 -1bfe3 12 104 3562 -1bff5 2f 106 3562 -1c024 5 109 3562 -1c029 2 112 3562 -1c02b e 113 3562 -1c039 15 115 3562 -1c04e a 118 3562 -1c058 4 121 3562 -1c05c 8 124 3562 -1c064 e 126 3562 -1c072 9 128 3562 -1c07b b 129 3562 -1c086 b 128 3562 -1c091 2c 140 3562 -1c0bd 33 155 3562 -1c0f0 2d 166 3562 -1c11d 37 178 3562 -1c154 11 180 3562 -1c165 17 182 3562 -1c17c 15 183 3562 -1c191 d 180 3562 -1c19e 12 189 3562 -1c1b0 f 190 3562 -1c1bf 12 191 3562 -1c1d1 18 195 3562 -1c1e9 11 198 3562 -1c1fa 13 199 3562 -1c20d e 200 3562 -1c21b e 201 3562 -1c229 9 203 3562 -1c232 6 204 3562 -1c238 9 206 3562 -1c241 9 207 3562 -1c24a 9 208 3562 -1c253 9 209 3562 -1c25c 9 210 3562 -1c265 9 213 3562 -1c26e 4 214 3562 -1c272 8 217 3562 -1c27a 8 218 3562 -1c282 8 219 3562 -1c28a 10 220 3562 -1c29a 13 227 3562 -1c2ad 2 231 3562 -1c2af 6 232 3562 -1c2b5 a 233 3562 -1c2bf a 234 3562 -1c2c9 a 235 3562 -1c2d3 a 236 3562 -1c2dd 2 238 3562 -1c2df f 240 3562 -FUNC 1c2ee 29 0 ___mb_cur_max_func -1c2ee 0 248 3562 -1c2ee 7 254 3562 -1c2f5 3 255 3562 -1c2f8 18 257 3562 -1c310 6 259 3562 -1c316 1 260 3562 -FUNC 1c317 16 4 ___mb_cur_max_l_func -1c317 0 263 3562 -1c317 15 264 3562 -1c32c 1 265 3562 -FUNC 1c32d 26 0 ___lc_codepage_func -1c32d 0 268 3562 -1c32d 7 274 3562 -1c334 3 275 3562 -1c337 18 277 3562 -1c34f 3 279 3562 -1c352 1 280 3562 -FUNC 1c353 26 0 ___lc_collate_cp_func -1c353 0 284 3562 -1c353 7 290 3562 -1c35a 3 291 3562 -1c35d 18 293 3562 -1c375 3 295 3562 -1c378 1 296 3562 -FUNC 1c379 26 0 ___lc_handle_func -1c379 0 300 3562 -1c379 7 306 3562 -1c380 3 307 3562 -1c383 18 309 3562 -1c39b 3 311 3562 -1c39e 1 312 3562 -FUNC 1c39f 3 4 __init_collate -1c39f 0 41 3650 -1c39f 2 42 3650 -1c3a1 1 43 3650 -FUNC 1c3a2 fe 4 _Getdays_l -1c3a2 9 111 516 -1c3ab d 115 516 -1c3b8 9 117 516 -1c3c1 9 119 516 -1c3ca 28 120 516 -1c3f2 b 121 516 -1c3fd c 123 516 -1c409 4 126 516 -1c40d 30 128 516 -1c43d 8 129 516 -1c445 31 131 516 -1c476 12 132 516 -1c488 3 134 516 -1c48b 13 137 516 -1c49e 2 138 516 -FUNC 1c4a0 9 0 _Getdays -1c4a0 0 142 516 -1c4a0 8 143 516 -1c4a8 1 144 516 -FUNC 1c4a9 fe 4 _Getmonths_l -1c4a9 9 150 516 -1c4b2 d 154 516 -1c4bf 16 156 516 -1c4d5 2b 159 516 -1c500 b 160 516 -1c50b 8 162 516 -1c513 a 163 516 -1c51d 2d 167 516 -1c54a 8 168 516 -1c552 2c 170 516 -1c57e 11 171 516 -1c58f 3 173 516 -1c592 13 176 516 -1c5a5 2 177 516 -FUNC 1c5a7 9 0 _Getmonths -1c5a7 0 181 516 -1c5a7 8 182 516 -1c5af 1 183 516 -FUNC 1c5b0 355 4 _Gettnames_l -1c5b0 9 189 516 -1c5b9 d 193 516 -1c5c6 9 195 516 -1c5cf 9 197 516 -1c5d8 28 198 516 -1c600 d 199 516 -1c60d 29 200 516 -1c636 18 201 516 -1c64e 11 202 516 -1c65f f 203 516 -1c66e f 204 516 -1c67d 7 205 516 -1c684 e 206 516 -1c692 8 208 516 -1c69a 12 212 516 -1c6ac 13 213 516 -1c6bf 6 214 516 -1c6c5 2a 215 516 -1c6ef 6 216 516 -1c6f5 d 217 516 -1c702 26 218 516 -1c728 1c 219 516 -1c744 18 221 516 -1c75c 6 222 516 -1c762 26 223 516 -1c788 a 224 516 -1c792 5 225 516 -1c797 2a 226 516 -1c7c1 18 227 516 -1c7d9 30 230 516 -1c809 a 231 516 -1c813 30 233 516 -1c843 a 234 516 -1c84d 30 236 516 -1c87d a 237 516 -1c887 30 239 516 -1c8b7 a 240 516 -1c8c1 30 242 516 -1c8f1 12 245 516 -1c903 2 246 516 -FUNC 1c905 9 0 _Gettnames -1c905 0 250 516 -1c905 8 251 516 -1c90d 1 252 516 -FUNC 1c90e 20 0 _store_str -1c90e 0 869 516 -1c90e f 871 516 -1c91d 7 872 516 -1c924 9 873 516 -1c92d 1 875 516 -FUNC 1c92e 36 0 _store_number -1c92e 0 965 516 -1c92e 8 973 516 -1c936 c 976 516 -1c942 2 977 516 -1c944 b 978 516 -1c94f 2 981 516 -1c951 2 982 516 -1c953 1 983 516 -1c954 7 988 516 -1c95b 3 989 516 -1c95e 5 990 516 -1c963 1 991 516 -FUNC 1c964 79 4 _store_num -1c964 8 909 516 -1c96c 2 910 516 -1c96e 8 912 516 -1c976 33 913 516 -1c9a9 2 914 516 -1c9ab 4 917 516 -1c9af 8 918 516 -1c9b7 b 919 516 -1c9c2 c 921 516 -1c9ce 5 923 516 -1c9d3 2 924 516 -1c9d5 2 926 516 -1c9d7 4 927 516 -1c9db 2 928 516 -FUNC 1c9dd 3e6 10 _expandtime -1c9dd 5 548 516 -1c9e2 4f 558 516 -1ca31 16 659 516 -1ca47 5 662 516 -1ca4c 16 587 516 -1ca62 7 589 516 -1ca69 5 590 516 -1ca6e 16 571 516 -1ca84 7 573 516 -1ca8b 5 574 516 -1ca90 5 822 516 -1ca95 7 823 516 -1ca9c 5 824 516 -1caa1 16 667 516 -1cab7 10 668 516 -1cac7 2 669 516 -1cac9 5 672 516 -1cace 23 558 516 -1caf1 6 787 516 -1caf7 5 789 516 -1cafc 15 736 516 -1cb11 2 737 516 -1cb13 2 739 516 -1cb15 5 740 516 -1cb1a 15 722 516 -1cb2f 2 723 516 -1cb31 16 742 516 -1cb47 4 743 516 -1cb4b 2 744 516 -1cb4d 5 745 516 -1cb52 6 746 516 -1cb58 8 747 516 -1cb60 1 748 516 -1cb61 5 752 516 -1cb66 f 715 516 -1cb75 5 718 516 -1cb7a 3 696 516 -1cb7d 2 699 516 -1cb7f 1d 804 516 -1cb9c 6 806 516 -1cba2 d 808 516 -1cbaf 2 809 516 -1cbb1 37 558 516 -1cbe8 19 678 516 -1cc01 8 680 516 -1cc09 2 681 516 -1cc0b 15 650 516 -1cc20 13 652 516 -1cc33 5 653 516 -1cc38 1e 601 516 -1cc56 2 603 516 -1cc58 5 606 516 -1cc5d 2 607 516 -1cc5f 2 608 516 -1cc61 25 615 516 -1cc86 2 617 516 -1cc88 1 627 516 -1cc89 2 642 516 -1cc8b e 579 516 -1cc99 7 581 516 -1cca0 5 582 516 -1cca5 2d 562 516 -1ccd2 6 564 516 -1ccd8 5 565 516 -1ccdd e 687 516 -1cceb 3 689 516 -1ccee 5 690 516 -1ccf3 15 558 516 -1cd08 2 834 516 -1cd0a 5 814 516 -1cd0f 19 817 516 -1cd28 5 819 516 -1cd2d d 795 516 -1cd3a b 798 516 -1cd45 5 799 516 -1cd4a 11 762 516 -1cd5b 5 764 516 -1cd60 1 774 516 -1cd61 5 776 516 -1cd66 16 729 516 -1cd7c 6 731 516 -1cd82 5 732 516 -1cd87 16 704 516 -1cd9d 3 705 516 -1cda0 b 706 516 -1cdab 2 707 516 -1cdad e 708 516 -1cdbb 6 839 516 -1cdc1 2 840 516 -FUNC 1cdc3 45d 18 _store_winword -1cdc3 10 1035 516 -1cdd3 5 1043 516 -1cdd8 a 1053 516 -1cde2 3 1043 516 -1cde5 6 1053 516 -1cdeb 2 1054 516 -1cded 6 1049 516 -1cdf3 2 1050 516 -1cdf5 6 1046 516 -1cdfb 10 1057 516 -1ce0b 4 1066 516 -1ce0f 8 1067 516 -1ce17 6 1069 516 -1ce1d d 1075 516 -1ce2a a 1076 516 -1ce34 8 1077 516 -1ce3c 4 1078 516 -1ce40 2a 1085 516 -1ce6a b 1087 516 -1ce75 31 1092 516 -1cea6 7 1093 516 -1cead 3 1097 516 -1ceb0 13 1100 516 -1cec3 10 1101 516 -1ced3 b 1102 516 -1cede b 1103 516 -1cee9 9 1106 516 -1cef2 3 1291 516 -1cef5 12 1292 516 -1cf07 11 1114 516 -1cf18 5 1117 516 -1cf1d b 1120 516 -1cf28 37 1125 516 -1cf5f 14 1274 516 -1cf73 c 1277 516 -1cf7f 8 1283 516 -1cf87 4 1284 516 -1cf8b 9 1286 516 -1cf94 c 1287 516 -1cfa0 5 1277 516 -1cfa5 e 1128 516 -1cfb3 7 1133 516 -1cfba 7 1132 516 -1cfc1 7 1130 516 -1cfc8 2 1131 516 -1cfca 5 1134 516 -1cfcf a 1156 516 -1cfd9 7 1158 516 -1cfe0 2 1159 516 -1cfe2 5 1160 516 -1cfe7 11 1175 516 -1cff8 5 1176 516 -1cffd 11 1177 516 -1d00e 6 1178 516 -1d014 2 1179 516 -1d016 5 1180 516 -1d01b b 1225 516 -1d026 13 1226 516 -1d039 4 1228 516 -1d03d 1a 1233 516 -1d057 9 1236 516 -1d060 8 1242 516 -1d068 4 1243 516 -1d06c 9 1246 516 -1d075 8 1247 516 -1d07d 5 1277 516 -1d082 1 1230 516 -1d083 5 1250 516 -1d088 12 1136 516 -1d09a 7 1141 516 -1d0a1 7 1140 516 -1d0a8 7 1138 516 -1d0af 2 1139 516 -1d0b1 5 1142 516 -1d0b6 29 1125 516 -1d0df e 1144 516 -1d0ed 7 1147 516 -1d0f4 2 1146 516 -1d0f6 5 1148 516 -1d0fb 7 1182 516 -1d102 b 1183 516 -1d10d 2 1184 516 -1d10f 6 1185 516 -1d115 12 1187 516 -1d127 17 1188 516 -1d13e c 1191 516 -1d14a 8 1197 516 -1d152 4 1198 516 -1d156 8 1201 516 -1d15e 2 1202 516 -1d160 5 1203 516 -1d165 9 1204 516 -1d16e 1a 1205 516 -1d188 9 1207 516 -1d191 8 1212 516 -1d199 4 1213 516 -1d19d 9 1215 516 -1d1a6 8 1216 516 -1d1ae 2 1220 516 -1d1b0 d 1168 516 -1d1bd 7 1170 516 -1d1c4 2 1171 516 -1d1c6 2 1172 516 -1d1c8 d 1162 516 -1d1d5 7 1164 516 -1d1dc 2 1165 516 -1d1de 2 1166 516 -1d1e0 d 1150 516 -1d1ed 7 1152 516 -1d1f4 2 1153 516 -1d1f6 1b 1268 516 -1d211 3 1272 516 -1d214 5 1273 516 -1d219 7 1194 516 -FUNC 1d220 1af 18 _Strftime_l -1d220 6 356 516 -1d226 4 361 516 -1d22a 13 362 516 -1d23d 33 364 516 -1d270 33 365 516 -1d2a3 d 368 516 -1d2b0 10 375 516 -1d2c0 e 385 516 -1d2ce a 387 516 -1d2d8 1e 435 516 -1d2f6 4 438 516 -1d2fa a 446 516 -1d304 5 447 516 -1d309 b 452 516 -1d314 3 453 516 -1d317 2 454 516 -1d319 7 400 516 -1d320 1 405 516 -1d321 2 408 516 -1d323 5 409 516 -1d328 1 411 516 -1d329 1 412 516 -1d32a 1d 415 516 -1d347 1 428 516 -1d348 5 385 516 -1d34d 5 464 516 -1d352 5 469 516 -1d357 13 470 516 -1d36a 3 441 516 -1d36d f 478 516 -1d37c b 481 516 -1d387 2 483 516 -1d389 b 402 516 -1d394 2 403 516 -1d396 5 421 516 -1d39b 7 423 516 -1d3a2 2 464 516 -1d3a4 18 485 516 -1d3bc 11 488 516 -1d3cd 2 490 516 -FUNC 1d3cf 1e 14 _strftime_l -1d3cf 3 291 516 -1d3d2 19 292 516 -1d3eb 2 293 516 -FUNC 1d3ed 1d 10 strftime -1d3ed 0 300 516 -1d3ed 1c 301 516 -1d409 1 302 516 -FUNC 1d40a 1e 14 _Strftime -1d40a 3 343 516 -1d40d 19 345 516 -1d426 2 346 516 -FUNC 1d428 26 0 localeconv -1d428 0 69 3302 -1d428 5 75 3302 -1d42d 1b 78 3302 -1d448 5 79 3302 -1d44d 1 80 3302 -FUNC 1d450 46 8 strcspn -1d450 4 191 924 -1d454 2 198 924 -1d456 1 199 924 -1d457 1 200 924 -1d458 1 201 924 -1d459 1 202 924 -1d45a 1 203 924 -1d45b 1 204 924 -1d45c 1 205 924 -1d45d 1 206 924 -1d45e 6 212 924 -1d464 2 216 924 -1d466 2 217 924 -1d468 2 218 924 -1d46a 3 219 924 -1d46d 4 220 924 -1d471 2 221 924 -1d473 3 227 924 -1d476 6 229 924 -1d47c 3 234 924 -1d47f 2 236 924 -1d481 2 237 924 -1d483 2 238 924 -1d485 3 239 924 -1d488 4 240 924 -1d48c 2 245 924 -1d48e 2 255 924 -1d490 3 257 924 -1d493 3 259 924 -FUNC 1d496 60 c TranslateName -1d496 3 340 3849 -1d499 3 342 3849 -1d49c 3 343 3849 -1d49f b 346 3849 -1d4aa a 348 3849 -1d4b4 14 349 3849 -1d4c8 6 351 3849 -1d4ce a 352 3849 -1d4d8 2 353 3849 -1d4da 4 354 3849 -1d4de 2 355 3849 -1d4e0 3 356 3849 -1d4e3 7 346 3849 -1d4ea a 359 3849 -1d4f4 2 360 3849 -FUNC 1d4f6 14 0 GetLcidFromDefault -1d4f6 0 761 3849 -1d4f6 7 762 3849 -1d4fd c 763 3849 -1d509 1 764 3849 -FUNC 1d50a 77 0 ProcessCodePage -1d50a 13 784 3849 -1d51d 1a 787 3849 -1d537 11 795 3849 -1d548 8 799 3849 -1d550 2 801 3849 -1d552 18 791 3849 -1d56a 3 793 3849 -1d56d 7 805 3849 -1d574 d 806 3849 -FUNC 1d581 1e 4 TestDefaultCountry -1d581 0 826 3849 -1d581 2 830 3849 -1d583 15 832 3849 -1d598 3 835 3849 -1d59b 1 836 3849 -1d59c 2 833 3849 -1d59e 1 836 3849 -FUNC 1d59f 32 0 LcidFromHexString -1d59f 1 893 3849 -1d5a0 2 895 3849 -1d5a2 2 897 3849 -1d5a4 9 899 3849 -1d5ad 5 900 3849 -1d5b2 8 901 3849 -1d5ba 3 902 3849 -1d5bd 10 903 3849 -1d5cd 3 906 3849 -1d5d0 1 907 3849 -FUNC 1d5d1 1b 0 GetPrimaryLen -1d5d1 0 926 3849 -1d5d1 2 927 3849 -1d5d3 3 930 3849 -1d5d6 12 931 3849 -1d5e8 1 933 3849 -1d5e9 2 935 3849 -1d5eb 1 938 3849 -FUNC 1d5ec 96 4 CountryEnumProc -1d5ec 15 717 3849 -1d601 7 718 3849 -1d608 f 719 3849 -1d617 23 725 3849 -1d63a 3 728 3849 -1d63d 3 729 3849 -1d640 12 731 3849 -1d652 b 734 3849 -1d65d a 738 3849 -1d667 b 741 3849 -1d672 10 742 3849 -FUNC 1d682 72 8 TestDefaultLanguage -1d682 11 858 3849 -1d693 22 864 3849 -1d6b5 4 865 3849 -1d6b9 d 867 3849 -1d6c6 1c 871 3849 -1d6e2 2 872 3849 -1d6e4 3 874 3849 -1d6e7 d 875 3849 -FUNC 1d6f4 1d0 4 LangCountryEnumProc -1d6f4 16 435 3849 -1d70a 7 436 3849 -1d711 d 437 3849 -1d71e 27 444 3849 -1d745 4 447 3849 -1d749 8 448 3849 -1d751 16 450 3849 -1d767 1d 456 3849 -1d784 2 460 3849 -1d786 11 462 3849 -1d797 7 467 3849 -1d79e 5 468 3849 -1d7a3 6 472 3849 -1d7a9 1a 475 3849 -1d7c3 14 482 3849 -1d7d7 3 483 3849 -1d7da a 487 3849 -1d7e4 b 490 3849 -1d7ef 6 493 3849 -1d7f5 3 494 3849 -1d7f8 12 501 3849 -1d80a 1d 506 3849 -1d827 6 510 3849 -1d82d c 513 3849 -1d839 16 518 3849 -1d84f 8 522 3849 -1d857 14 528 3849 -1d86b 2 531 3849 -1d86d 2 540 3849 -1d86f 1b 550 3849 -1d88a f 553 3849 -1d899 7 557 3849 -1d8a0 5 558 3849 -1d8a5 3 559 3849 -1d8a8 b 566 3849 -1d8b3 11 567 3849 -FUNC 1d8c4 bf 4 LanguageEnumProc -1d8c4 15 624 3849 -1d8d9 7 625 3849 -1d8e0 f 626 3849 -1d8ef 23 632 3849 -1d912 3 635 3849 -1d915 3 636 3849 -1d918 11 639 3849 -1d929 7 643 3849 -1d930 2 650 3849 -1d932 1d 651 3849 -1d94f f 654 3849 -1d95e a 658 3849 -1d968 b 662 3849 -1d973 10 663 3849 -FUNC 1d983 2c 0 GetLcidFromCountry -1d983 0 686 3849 -1d983 10 687 3849 -1d993 11 689 3849 -1d9a4 6 693 3849 -1d9aa 4 694 3849 -1d9ae 1 695 3849 -FUNC 1d9af 65 0 GetLcidFromLangCountry -1d9af 0 386 3849 -1d9af 7 388 3849 -1d9b6 1a 389 3849 -1d9d0 5 390 3849 -1d9d5 17 392 3849 -1d9ec 10 394 3849 -1d9fc 13 402 3849 -1da0f 4 403 3849 -1da13 1 404 3849 -FUNC 1da14 3c 0 GetLcidFromLanguage -1da14 0 591 3849 -1da14 13 593 3849 -1da27 e 594 3849 -1da35 10 596 3849 -1da45 6 600 3849 -1da4b 4 601 3849 -1da4f 1 602 3849 -FUNC 1da50 1e3 c __get_qualified_locale -1da50 4 205 3849 -1da54 5 208 3849 -1da59 12 212 3849 -1da6b 7 215 3849 -1da72 5 217 3849 -1da77 3 222 3849 -1da7a f 223 3849 -1da89 10 226 3849 -1da99 d 230 3849 -1daa6 a 232 3849 -1dab0 5 235 3849 -1dab5 2 237 3849 -1dab7 5 240 3849 -1dabc 5 243 3849 -1dac1 14 248 3849 -1dad5 a 250 3849 -1dadf 5 252 3849 -1dae4 2 254 3849 -1dae6 5 256 3849 -1daeb 2 261 3849 -1daed a 263 3849 -1daf7 28 266 3849 -1db1f 2 268 3849 -1db21 13 271 3849 -1db34 3 277 3849 -1db37 6 278 3849 -1db3d 17 281 3849 -1db54 32 285 3849 -1db86 d 289 3849 -1db93 6 290 3849 -1db99 8 293 3849 -1dba1 7 295 3849 -1dba8 8 296 3849 -1dbb0 4 297 3849 -1dbb4 8 301 3849 -1dbbc d 305 3849 -1dbc9 23 306 3849 -1dbec 2 307 3849 -1dbee f 308 3849 -1dbfd 2 309 3849 -1dbff 12 311 3849 -1dc11 2 312 3849 -1dc13 14 313 3849 -1dc27 5 315 3849 -1dc2c 6 286 3849 -1dc32 1 316 3849 -FUNC 1dc33 12 0 cmpResult -FUNC 1dc45 18 0 cmpBYTE -FUNC 1dc5d 40 0 cmpWORD -FUNC 1dc9d 78 0 cmpDWORD -FUNC 1dd15 1490 0 unaligned_memcmp -FUNC 1f1a5 1680 c memcmp -FUNC 20825 be c strncmp -20825 4 42 876 -20829 5 43 876 -2082e 7 45 876 -20835 7 46 876 -2083c 6 48 876 -20842 d 51 876 -2084f 11 56 876 -20860 c 61 876 -2086c c 66 876 -20878 15 71 876 -2088d 2 81 876 -2088f a 73 876 -20899 a 68 876 -208a3 a 63 876 -208ad 10 58 876 -208bd 2 79 876 -208bf a 81 876 -208c9 1 85 876 -208ca 4 86 876 -208ce 5 79 876 -208d3 4 89 876 -208d7 2 90 876 -208d9 a 83 876 -FUNC 208f0 40 8 strpbrk -208f0 4 191 869 -208f4 2 198 869 -208f6 1 199 869 -208f7 1 200 869 -208f8 1 201 869 -208f9 1 202 869 -208fa 1 203 869 -208fb 1 204 869 -208fc 1 205 869 -208fd 1 206 869 -208fe 6 212 869 -20904 2 216 869 -20906 2 217 869 -20908 2 218 869 -2090a 3 219 869 -2090d 4 220 869 -20911 2 221 869 -20913 5 227 869 -20918 2 236 869 -2091a 2 237 869 -2091c 2 238 869 -2091e 3 239 869 -20921 4 240 869 -20925 2 247 869 -20927 3 248 869 -2092a 3 257 869 -2092d 3 259 869 -FUNC 20930 82 c _iswctype_l -20930 6 66 6445 -20936 8 69 6445 -2093e 6 70 6445 -20944 8 71 6445 -2094c 18 72 6445 -20964 2 73 6445 -20966 b 75 6445 -20971 25 85 6445 -20996 3 86 6445 -20999 d 87 6445 -209a6 a 89 6445 -209b0 2 90 6445 -FUNC 209b2 6e 8 iswctype -209b2 4 96 6445 -209b6 8 97 6445 -209be 2 99 6445 -209c0 2 122 6445 -209c2 8 101 6445 -209ca 14 103 6445 -209de 2 122 6445 -209e0 9 106 6445 -209e9 25 117 6445 -20a0e 10 121 6445 -20a1e 2 122 6445 -FUNC 20a20 5 8 is_wctype -20a20 0 148 6445 -20a20 5 149 6445 -FUNC 20a25 22b 14 strtoxl -20a25 8 80 6309 -20a2d b 86 6309 -20a38 3 89 6309 -20a3b b 92 6309 -20a46 30 94 6309 -20a76 11 95 6309 -20a87 c 100 6309 -20a93 34 101 6309 -20ac7 5 102 6309 -20acc 5 104 6309 -20ad1 4 105 6309 -20ad5 2 106 6309 -20ad7 5 108 6309 -20adc 3 109 6309 -20adf 1d 111 6309 -20afc 4 118 6309 -20b00 5 121 6309 -20b05 9 122 6309 -20b0e a 123 6309 -20b18 9 126 6309 -20b21 7 124 6309 -20b28 2 129 6309 -20b2a 5 140 6309 -20b2f f 142 6309 -20b3e 1 143 6309 -20b3f 9 144 6309 -20b48 8 149 6309 -20b50 c 154 6309 -20b5c 8 155 6309 -20b64 7 156 6309 -20b6b 13 157 6309 -20b7e 5 160 6309 -20b83 4 164 6309 -20b87 b 171 6309 -20b92 4 177 6309 -20b96 6 178 6309 -20b9c 8 190 6309 -20ba4 6 193 6309 -20baa 3 195 6309 -20bad 4 196 6309 -20bb1 2 198 6309 -20bb3 c 173 6309 -20bbf 3 185 6309 -20bc2 2 186 6309 -20bc4 24 201 6309 -20be8 5 204 6309 -20bed c 205 6309 -20bf9 6 206 6309 -20bff 10 207 6309 -20c0f 7 213 6309 -20c16 2 215 6309 -20c18 6 217 6309 -20c1e 3 219 6309 -20c21 12 221 6309 -20c33 7 113 6309 -20c3a 2 115 6309 -20c3c 12 116 6309 -20c4e 2 222 6309 -FUNC 20c50 29 c strtol -20c50 3 229 6309 -20c53 8 230 6309 -20c5b 13 232 6309 -20c6e 9 236 6309 -20c77 2 238 6309 -FUNC 20c79 1b 10 _strtol_l -20c79 0 246 6309 -20c79 1a 247 6309 -20c93 1 248 6309 -FUNC 20c94 2a c strtoul -20c94 3 255 6309 -20c97 7 256 6309 -20c9e 14 258 6309 -20cb2 a 262 6309 -20cbc 2 264 6309 -FUNC 20cbe 1b 10 _strtoul_l -20cbe 0 272 6309 -20cbe 1a 273 6309 -20cd8 1 274 6309 -FUNC 20cd9 1f 0 __initconin -20cd9 0 58 5008 -20cd9 1e 65 5008 -20cf7 1 67 5008 -FUNC 20cf8 1f 0 __initconout -20cf8 0 90 5008 -20cf8 1e 97 5008 -20d16 1 98 5008 -FUNC 20d17 2d 0 __termcon -20d17 0 120 5008 -20d17 16 121 5008 -20d2d 3 122 5008 -20d30 f 125 5008 -20d3f 4 126 5008 -20d43 1 128 5008 -FUNC 20d44 94 4 _close_nolock -20d44 1 72 5094 -20d45 54 93 5094 -20d99 a 99 5094 -20da3 2 96 5094 -20da5 6 101 5094 -20dab b 103 5094 -20db6 11 105 5094 -20dc7 7 107 5094 -20dce 5 108 5094 -20dd3 4 111 5094 -20dd7 1 112 5094 -FUNC 20dd8 cd 4 _close -20dd8 c 42 5094 -20de4 23 46 5094 -20e07 2f 47 5094 -20e36 20 48 5094 -20e56 7 50 5094 -20e5d 3 52 5094 -20e60 9 53 5094 -20e69 c 54 5094 -20e75 2 55 5094 -20e77 b 56 5094 -20e82 4 57 5094 -20e86 c 61 5094 -20e92 3 65 5094 -20e95 6 66 5094 -20e9b a 62 5094 -FUNC 20ea5 2c 4 _freebuf -20ea5 1 47 1927 -20ea6 f 50 1927 -20eb5 8 52 1927 -20ebd 7 54 1927 -20ec4 8 55 1927 -20ecc 4 56 1927 -20ed0 1 58 1927 -FUNC 20ed1 2a 0 _purecall -20ed1 0 43 3119 -20ed1 b 44 3119 -20edc 5 45 3119 -20ee1 2 47 3119 -20ee3 7 54 3119 -20eea c 56 3119 -20ef6 5 57 3119 -FUNC 20efb 22 4 _set_purecall_handler -20efb 1 82 3119 -20efc b 85 3119 -20f07 12 86 3119 -20f19 3 88 3119 -20f1c 1 89 3119 -FUNC 20f1d d 0 _get_purecall_handler -20f1d 0 92 3119 -20f1d c 93 3119 -20f29 1 94 3119 -FUNC 20f30 34 0 _allmul -20f30 0 47 5116 -20f30 4 62 5116 -20f34 4 63 5116 -20f38 2 64 5116 -20f3a 4 65 5116 -20f3e 2 66 5116 -20f40 4 68 5116 -20f44 2 69 5116 -20f46 3 71 5116 -20f49 1 74 5116 -20f4a 2 81 5116 -20f4c 2 82 5116 -20f4e 4 84 5116 -20f52 4 85 5116 -20f56 2 86 5116 -20f58 4 88 5116 -20f5c 2 89 5116 -20f5e 2 90 5116 -20f60 1 92 5116 -20f61 3 94 5116 -FUNC 20f64 11 4 atol -20f64 0 55 6631 -20f64 10 56 6631 -20f74 1 57 6631 -FUNC 20f75 15 8 _atol_l -20f75 0 64 6631 -20f75 14 65 6631 -20f89 1 66 6631 -FUNC 20f8a 5 4 atoi -20f8a 0 99 6631 -20f8a 5 100 6631 -FUNC 20f8f 5 8 _atoi_l -20f8f 0 107 6631 -20f8f 5 108 6631 -FUNC 20f94 11 4 _atoi64 -20f94 0 143 6631 -20f94 10 144 6631 -20fa4 1 145 6631 -FUNC 20fa5 15 8 _atoi64_l -20fa5 0 151 6631 -20fa5 14 152 6631 -20fb9 1 153 6631 -FUNC 20fba 50 0 has_osfxsr_set -FUNC 2100a 60 0 _get_sse2_info -FUNC 2106a d 0 __sse2_available_init -FUNC 21077 170 8 _flswbuf -21077 5 93 1980 -2107c c 104 1980 -21088 8 106 1980 -21090 b 107 1980 -2109b 4 108 1980 -2109f a 109 1980 -210a9 4 110 1980 -210ad b 111 1980 -210b8 2 113 1980 -210ba 4 124 1980 -210be 4 125 1980 -210c2 8 126 1980 -210ca 3 127 1980 -210cd 8 128 1980 -210d5 3 137 1980 -210d8 11 138 1980 -210e9 9 141 1980 -210f2 25 151 1980 -21117 7 153 1980 -2111e d 158 1980 -2112b 5 162 1980 -21130 5 163 1980 -21135 7 164 1980 -2113c 7 166 1980 -21143 10 167 1980 -21153 2 168 1980 -21155 6 131 1980 -2115b 5 132 1980 -21160 2e 169 1980 -2118e 13 171 1980 -211a1 2 174 1980 -211a3 9 181 1980 -211ac 2 186 1980 -211ae 1d 195 1980 -211cb 5 201 1980 -211d0 4 202 1980 -211d4 7 203 1980 -211db a 209 1980 -211e5 2 212 1980 -FUNC 211e7 182 4 _wchartodigit -211e7 0 32 6613 -211e7 1b 41 6613 -21202 1 73 6613 -21203 e 42 6613 -21211 19 44 6613 -2122a 1 73 6613 -2122b 14 45 6613 -2123f 14 46 6613 -21253 14 47 6613 -21267 14 48 6613 -2127b 14 49 6613 -2128f 14 50 6613 -212a3 18 51 6613 -212bb 18 52 6613 -212d3 18 53 6613 -212eb 14 54 6613 -212ff 14 55 6613 -21313 12 56 6613 -21325 14 57 6613 -21339 14 58 6613 -2134d c 59 6613 -21359 2 62 6613 -2135b 4 67 6613 -2135f 6 69 6613 -21365 3 71 6613 -21368 1 73 6613 -FUNC 21369 b6 c _isctype_l -21369 7 114 6399 -21370 b 118 6399 -2137b d 121 6399 -21388 f 122 6399 -21397 1f 124 6399 -213b6 3 126 6399 -213b9 d 129 6399 -213c6 2 130 6399 -213c8 a 133 6399 -213d2 26 144 6399 -213f8 10 146 6399 -21408 15 149 6399 -2141d 2 150 6399 -FUNC 2141f 2f 8 _isctype -2141f 0 156 6399 -2141f 9 157 6399 -21428 12 159 6399 -2143a 1 165 6399 -2143b 12 163 6399 -2144d 1 165 6399 -FUNC 21450 2c 0 _alloca_probe_16 -21450 0 44 2632 -21450 1 46 2632 -21451 4 47 2632 -21455 2 48 2632 -21457 3 49 2632 -2145a 2 50 2632 -2145c 2 51 2632 -2145e 2 52 2632 -21460 1 53 2632 -21461 5 54 2632 -21466 1 59 2632 -21467 4 60 2632 -2146b 2 61 2632 -2146d 3 62 2632 -21470 2 63 2632 -21472 2 64 2632 -21474 2 65 2632 -21476 1 66 2632 -21477 5 67 2632 -PUBLIC 21466 0 _alloca_probe_8 -FUNC 2147c 47 4 __ansicp -2147c 10 39 2934 -2148c 1c 44 2934 -214a8 3 45 2934 -214ab 2 46 2934 -214ad a 47 2934 -214b7 c 49 2934 -FUNC 214c3 1b2 18 __convertcp -214c3 16 79 2934 -214d9 10 83 2934 -214e9 18 85 2934 -21501 17 90 2934 -21518 13 92 2934 -2152b 6 93 2934 -21531 d 99 2934 -2153e 2 101 2934 -21540 c 103 2934 -2154c 2a 115 2934 -21576 15 111 2934 -2158b 7 112 2934 -21592 1c 115 2934 -215ae 3 116 2934 -215b1 2 117 2934 -215b3 10 119 2934 -215c3 15 127 2934 -215d8 7 129 2934 -215df 18 138 2934 -215f7 3 139 2934 -215fa 2 140 2934 -215fc 1f 149 2934 -2161b 11 151 2934 -2162c 12 160 2934 -2163e 9 162 2934 -21647 3 163 2934 -2164a 2 164 2934 -2164c 6 165 2934 -21652 5 166 2934 -21657 9 174 2934 -21660 3 177 2934 -21663 12 178 2934 -FUNC 21675 34 4 _get_daylight -21675 0 35 487 -21675 27 36 487 -2169c 1 41 487 -2169d 8 39 487 -216a5 3 40 487 -216a8 1 41 487 -FUNC 216a9 34 4 _get_dstbias -216a9 0 44 487 -216a9 27 45 487 -216d0 1 50 487 -216d1 8 48 487 -216d9 3 49 487 -216dc 1 50 487 -FUNC 216dd 34 4 _get_timezone -216dd 0 53 487 -216dd 27 54 487 -21704 1 59 487 -21705 8 57 487 -2170d 3 58 487 -21710 1 59 487 -FUNC 21711 a2 10 _get_tzname -21711 3 62 487 -21714 10 63 487 -21724 4 64 487 -21728 3 66 487 -2172b 7 68 487 -21732 27 69 487 -21759 20 63 487 -21779 f 72 487 -21788 8 73 487 -21790 4 76 487 -21794 5 78 487 -21799 5 80 487 -2179e 13 82 487 -217b1 2 83 487 -FUNC 217b3 6 0 __daylight -217b3 0 118 487 -217b3 5 119 487 -217b8 1 120 487 -FUNC 217b9 6 0 __dstbias -217b9 0 123 487 -217b9 5 124 487 -217be 1 125 487 -FUNC 217bf 6 0 __timezone -217bf 0 128 487 -217bf 5 129 487 -217c4 1 130 487 -FUNC 217c5 6 0 __tzname -217c5 0 133 487 -217c5 5 134 487 -217ca 1 135 487 -FUNC 217cb c 4 _set_daylight -217cb c 189 418 -FUNC 217d7 c 4 _set_dstbias -217d7 c 190 418 -FUNC 217e3 c 4 _set_timezone -217e3 c 191 418 -FUNC 217ef 349 0 _tzset_nolock -217ef c 124 440 -217fb 5 127 440 -21800 3 129 440 -21803 3 130 440 -21806 3 131 440 -21809 3 132 440 -2180c 3 133 440 -2180f 8 135 440 -21817 3 136 440 -2181a 8 139 440 -21822 1b 142 440 -2183d 1b 143 440 -21858 1b 144 440 -21873 8 149 440 -2187b 6 154 440 -21881 f 160 440 -21890 18 165 440 -218a8 14 260 440 -218bc b 268 440 -218c7 4 274 440 -218cb 7 275 440 -218d2 16 277 440 -218e8 6 281 440 -218ee 32 283 440 -21920 9 174 440 -21929 7 175 440 -21930 6 176 440 -21936 13 179 440 -21949 9 183 440 -21952 b 188 440 -2195d 9 190 440 -21966 e 191 440 -21974 12 199 440 -21986 3 201 440 -21989 c 203 440 -21995 2 205 440 -21997 3 206 440 -2199a 3 214 440 -2199d 27 234 440 -219c4 8 235 440 -219cc 2 236 440 -219ce 7 237 440 -219d5 23 247 440 -219f8 9 248 440 -21a01 2 249 440 -21a03 8 250 440 -21a0b 7 256 440 -21a12 a 288 440 -21a1c a 289 440 -21a26 a 290 440 -21a30 c 292 440 -21a3c 9 296 440 -21a45 23 301 440 -21a68 8 310 440 -21a70 7 311 440 -21a77 1 312 440 -21a78 10 318 440 -21a88 11 320 440 -21a99 5 292 440 -21a9e 9 293 440 -21aa7 5 325 440 -21aac e 329 440 -21aba d 330 440 -21ac7 5 335 440 -21acc b 339 440 -21ad7 d 340 440 -21ae4 5 344 440 -21ae9 3 345 440 -21aec 6 350 440 -21af2 4 351 440 -21af6 21 352 440 -21b17 2 354 440 -21b19 5 355 440 -21b1e a 357 440 -21b28 a 358 440 -21b32 6 360 440 -FUNC 21b38 1f5 24 cvtdate -21b38 6 409 440 -21b3e 4 412 440 -21b42 c 414 440 -21b4e 52 424 440 -21ba0 4c 430 440 -21bec 14 436 440 -21c00 2 437 440 -21c02 2 438 440 -21c04 46 447 440 -21c4a 3 449 440 -21c4d 2 452 440 -21c4f 3c 457 440 -21c8b 3 459 440 -21c8e 27 467 440 -21cb5 6 472 440 -21cbb 2 474 440 -21cbd 29 485 440 -21ce6 11 486 440 -21cf7 a 487 440 -21d01 8 488 440 -21d09 d 490 440 -21d16 6 491 440 -21d1c 6 492 440 -21d22 9 499 440 -21d2b 2 503 440 -FUNC 21d2d 1ae 0 _isindst_nolock -21d2d 5 554 440 -21d32 20 558 440 -21d52 5 560 440 -21d57 7 561 440 -21d5e 1b 568 440 -21d79 c 569 440 -21d85 7 573 440 -21d8c 34 584 440 -21dc0 2 585 440 -21dc2 19 596 440 -21ddb 40 611 440 -21e1b 2 612 440 -21e1d 1e 623 440 -21e3b 2 626 440 -21e3d 14 641 440 -21e51 1a 653 440 -21e6b d 660 440 -21e78 d 664 440 -21e85 8 666 440 -21e8d 4 674 440 -21e91 2 697 440 -21e93 8 673 440 -21e9b 8 675 440 -21ea3 4 676 440 -21ea7 14 679 440 -21ebb 4 681 440 -21ebf b 682 440 -21eca 2 685 440 -21ecc d 691 440 -21ed9 2 694 440 -FUNC 21edb 4f 0 __tzset -21edb c 85 440 -21ee7 a 88 440 -21ef1 8 90 440 -21ef9 3 91 440 -21efc 8 93 440 -21f04 5 94 440 -21f09 6 95 440 -21f0f c 98 440 -21f1b 6 103 440 -21f21 9 99 440 -FUNC 21f2a 38 0 _tzset -21f2a c 109 440 -21f36 8 110 440 -21f3e 4 111 440 -21f42 5 113 440 -21f47 c 115 440 -21f53 6 118 440 -21f59 9 116 440 -FUNC 21f62 41 4 _isindst -21f62 c 538 440 -21f6e 8 541 440 -21f76 4 542 440 -21f7a b 543 440 -21f85 c 544 440 -21f91 3 548 440 -21f94 6 549 440 -21f9a 9 545 440 -FUNC 21fa3 35 8 __ascii_stricmp -21fa3 a 75 693 -21fad c 80 693 -21fb9 3 81 693 -21fbc c 82 693 -21fc8 3 83 693 -21fcb 9 85 693 -21fd4 3 87 693 -21fd7 1 88 693 -FUNC 21fd8 d3 c _stricmp_l -21fd8 7 47 693 -21fdf b 49 693 -21fea 36 52 693 -22020 32 53 693 -22052 8 55 693 -2205a e 57 693 -22068 15 63 693 -2207d 11 64 693 -2208e 8 65 693 -22096 13 68 693 -220a9 2 69 693 -FUNC 220ab 50 8 _stricmp -220ab 4 94 693 -220af a 95 693 -220b9 24 98 693 -220dd 6 99 693 -220e3 1 107 693 -220e4 5 101 693 -220e9 10 105 693 -220f9 2 107 693 -FUNC 220fb f0 10 _strnicmp_l -220fb 7 51 650 -22102 d 54 650 -2210f b 56 650 -2211a 33 59 650 -2214d 7 60 650 -22154 32 61 650 -22186 8 63 650 -2218e 1d 65 650 -221ab 15 71 650 -221c0 11 72 650 -221d1 d 74 650 -221de 6 76 650 -221e4 5 79 650 -221e9 2 80 650 -FUNC 221eb 5c c _strnicmp -221eb 4 125 650 -221ef a 127 650 -221f9 24 130 650 -2221d 5 131 650 -22222 a 132 650 -2222c 1 141 650 -2222d 5 134 650 -22232 13 138 650 -22245 2 141 650 -FUNC 22247 db c xtoa_s -22247 8 93 6581 -2224f 24 102 6581 -22273 24 103 6581 -22297 19 105 6581 -222b0 b 106 6581 -222bb a 112 6581 -222c5 6 114 6581 -222cb 7 116 6581 -222d2 2 118 6581 -222d4 2 121 6581 -222d6 5 124 6581 -222db 5 128 6581 -222e0 3 129 6581 -222e3 2 130 6581 -222e5 6 131 6581 -222eb 3 135 6581 -222ee e 136 6581 -222fc 8 139 6581 -22304 2 141 6581 -22306 2 142 6581 -22308 3 148 6581 -2230b 6 152 6581 -22311 3 154 6581 -22314 1 155 6581 -22315 4 156 6581 -22319 5 158 6581 -2231e 4 160 6581 -FUNC 22322 28 10 _itoa_s -22322 3 172 6581 -22325 d 175 6581 -22332 4 176 6581 -22336 2 177 6581 -22338 10 178 6581 -22348 2 181 6581 -FUNC 2234a 25 10 _ltoa_s -2234a 3 189 6581 -2234d 20 190 6581 -2236d 2 191 6581 -FUNC 2236f 18 10 _ultoa_s -2236f 0 199 6581 -2236f 17 200 6581 -22386 1 201 6581 -FUNC 22387 f6 14 x64toa_s -22387 7 309 6581 -2238e 25 318 6581 -223b3 5 319 6581 -223b8 19 321 6581 -223d1 b 322 6581 -223dc 3 327 6581 -223df 20 333 6581 -223ff 3 336 6581 -22402 1e 352 6581 -22420 3 344 6581 -22423 2 345 6581 -22425 5 346 6581 -2242a 5 351 6581 -2242f 13 352 6581 -22442 5 355 6581 -22447 3 357 6581 -2244a 13 358 6581 -2245d 4 364 6581 -22461 9 368 6581 -2246a 3 370 6581 -2246d 1 371 6581 -2246e 7 372 6581 -22475 4 375 6581 -22479 4 377 6581 -FUNC 2247d 33 14 _i64toa_s -2247d 3 390 6581 -22480 2e 391 6581 -224ae 2 392 6581 -FUNC 224b0 1d 14 _ui64toa_s -224b0 4 400 6581 -224b4 17 401 6581 -224cb 2 402 6581 -FUNC 224cd 224 1c __crtGetStringTypeW_stat -224cd 10 64 2828 -224dd 9 72 2828 -224e6 7 73 2828 -224ed 14 75 2828 -22501 11 79 2828 -22512 8 80 2828 -2251a b 82 2828 -22525 f 83 2828 -22534 4 88 2828 -22538 13 90 2828 -2254b 7 95 2828 -22552 2 199 2828 -22554 8 119 2828 -2255c b 120 2828 -22567 5 121 2828 -2256c b 122 2828 -22577 e 128 2828 -22585 5 130 2828 -2258a 3 131 2828 -2258d 1d 142 2828 -225aa 6 143 2828 -225b0 40 146 2828 -225f0 3 147 2828 -225f3 6 148 2828 -225f9 d 150 2828 -22606 1a 160 2828 -22620 4d 164 2828 -2266d 4 165 2828 -22671 5 170 2828 -22676 b 171 2828 -22681 3 174 2828 -22684 23 178 2828 -226a7 12 186 2828 -226b9 f 189 2828 -226c8 4 187 2828 -226cc 7 191 2828 -226d3 8 194 2828 -226db 4 196 2828 -226df 12 200 2828 -FUNC 226f1 3e 1c __crtGetStringTypeW -226f1 6 211 2828 -226f7 b 212 2828 -22702 2b 222 2828 -2272d 2 223 2828 -FUNC 2272f 294 14 strtoxq -2272f 8 80 6264 -22737 b 86 6264 -22742 3 89 6264 -22745 b 92 6264 -22750 31 94 6264 -22781 12 95 6264 -22793 c 100 6264 -2279f 37 102 6264 -227d6 2 103 6264 -227d8 9 105 6264 -227e1 4 106 6264 -227e5 2 107 6264 -227e7 6 109 6264 -227ed 9 110 6264 -227f6 8 112 6264 -227fe 6 115 6264 -22804 9 116 6264 -2280d a 117 6264 -22817 9 120 6264 -22820 3 118 6264 -22823 5 123 6264 -22828 10 125 6264 -22838 1 126 6264 -22839 9 127 6264 -22842 26 132 6264 -22868 e 137 6264 -22876 8 138 6264 -2287e 6 139 6264 -22884 11 140 6264 -22895 5 143 6264 -2289a 31 154 6264 -228cb 4 160 6264 -228cf 6 161 6264 -228d5 a 173 6264 -228df 7 176 6264 -228e6 6 178 6264 -228ec 6 179 6264 -228f2 5 181 6264 -228f7 19 156 6264 -22910 b 168 6264 -2291b 5 169 6264 -22920 35 184 6264 -22955 5 187 6264 -2295a c 188 6264 -22966 a 189 6264 -22970 6 190 6264 -22976 7 191 6264 -2297d 2 192 6264 -2297f 7 193 6264 -22986 8 195 6264 -2298e 5 197 6264 -22993 6 199 6264 -22999 13 201 6264 -229ac 15 203 6264 -229c1 2 204 6264 -FUNC 229c3 29 c _strtoi64 -229c3 3 211 6264 -229c6 8 212 6264 -229ce 13 214 6264 -229e1 9 218 6264 -229ea 2 220 6264 -FUNC 229ec 1b 10 _strtoi64_l -229ec 0 227 6264 -229ec 1a 228 6264 -22a06 1 229 6264 -FUNC 22a07 2a c _strtoui64 -22a07 3 236 6264 -22a0a 7 237 6264 -22a11 14 239 6264 -22a25 a 243 6264 -22a2f 2 245 6264 -FUNC 22a31 1b 10 _strtoui64_l -22a31 0 253 6264 -22a31 1a 254 6264 -22a4b 1 255 6264 -FUNC 22a50 2b 0 _chkstk -22a50 0 65 2634 -22a50 1 69 2634 -22a51 4 73 2634 -22a55 2 74 2634 -22a57 2 79 2634 -22a59 2 80 2634 -22a5b 2 81 2634 -22a5d 2 83 2634 -22a5f 5 84 2634 -22a64 2 87 2634 -22a66 2 88 2634 -22a68 2 89 2634 -22a6a 1 90 2634 -22a6b 1 91 2634 -22a6c 2 92 2634 -22a6e 3 93 2634 -22a71 1 94 2634 -22a72 5 98 2634 -22a77 2 99 2634 -22a79 2 100 2634 -FUNC 22a7b 81 4 _getenv_helper_nolock -22a7b 0 95 3904 -22a7b 10 103 3904 -22a8b 3 104 3904 -22a8e 1 169 3904 -22a8f e 128 3904 -22a9d 7 131 3904 -22aa4 2 132 3904 -22aa6 6 135 3904 -22aac c 140 3904 -22ab8 9 142 3904 -22ac1 2 150 3904 -22ac3 22 154 3904 -22ae5 3 164 3904 -22ae8 6 150 3904 -22aee 5 168 3904 -22af3 9 169 3904 -FUNC 22afc 93 c _getenv_s_helper -22afc 7 220 3904 -22b03 21 224 3904 -22b24 15 226 3904 -22b39 4 227 3904 -22b3d 3 229 3904 -22b40 a 233 3904 -22b4a 3 234 3904 -22b4d 2 236 3904 -22b4f 7 239 3904 -22b56 6 240 3904 -22b5c 2 243 3904 -22b5e 5 246 3904 -22b63 5 251 3904 -22b68 20 254 3904 -22b88 5 256 3904 -22b8d 2 257 3904 -FUNC 22b8f a2 8 _dupenv_s_helper -22b8f 6 339 3904 -22b95 21 344 3904 -22bb6 9 346 3904 -22bbf 2 348 3904 -22bc1 5 350 3904 -22bc6 8 352 3904 -22bce 6 353 3904 -22bd4 2 355 3904 -22bd6 9 358 3904 -22bdf b 362 3904 -22bea 6 364 3904 -22bf0 b 366 3904 -22bfb 9 367 3904 -22c04 1e 370 3904 -22c22 7 371 3904 -22c29 2 373 3904 -22c2b 4 375 3904 -22c2f 2 376 3904 -FUNC 22c31 83 4 getenv -22c31 c 75 3904 -22c3d 2a 78 3904 -22c67 18 79 3904 -22c7f 8 81 3904 -22c87 3 82 3904 -22c8a c 83 3904 -22c96 c 85 3904 -22ca2 3 89 3904 -22ca5 6 90 3904 -22cab 9 86 3904 -FUNC 22cb4 d8 10 getenv_s -22cb4 c 198 3904 -22cc0 8 201 3904 -22cc8 5 202 3904 -22ccd a1 203 3904 -22d6e c 205 3904 -22d7a 3 209 3904 -22d7d 6 210 3904 -22d83 9 206 3904 -FUNC 22d8c e6 c _dupenv_s -22d8c c 303 3904 -22d98 8 306 3904 -22da0 5 307 3904 -22da5 af 311 3904 -22e54 c 314 3904 -22e60 3 318 3904 -22e63 6 319 3904 -22e69 9 315 3904 -FUNC 22e72 8 4 _tolower -22e72 0 48 6218 -22e72 7 49 6218 -22e79 1 50 6218 -FUNC 22e7a 117 8 _tolower_l -22e7a 8 70 6218 -22e82 b 74 6218 -22e8d c 77 6218 -22e99 31 79 6218 -22eca f 80 6218 -22ed9 14 82 6218 -22eed 2b 86 6218 -22f18 3 88 6218 -22f1b d 91 6218 -22f28 2 92 6218 -22f2a b 94 6218 -22f35 a 97 6218 -22f3f 25 110 6218 -22f64 6 112 6218 -22f6a 5 116 6218 -22f6f 6 117 6218 -22f75 1a 119 6218 -22f8f 2 120 6218 -FUNC 22f91 27 4 tolower -22f91 0 143 6218 -22f91 9 145 6218 -22f9a f 147 6218 -22fa9 1 153 6218 -22faa d 151 6218 -22fb7 1 153 6218 -FUNC 22fc0 61 c __ascii_strnicmp -22fc0 6 69 871 -22fc6 3 75 871 -22fc9 2 76 871 -22fcb 2 77 871 -22fcd 3 79 871 -22fd0 3 80 871 -22fd3 2 82 871 -22fd5 2 83 871 -22fd7 5 84 871 -22fdc 2 89 871 -22fde 2 91 871 -22fe0 2 93 871 -22fe2 2 95 871 -22fe4 2 97 871 -22fe6 2 98 871 -22fe8 3 100 871 -22feb 3 101 871 -22fee 2 103 871 -22ff0 2 104 871 -22ff2 2 106 871 -22ff4 2 107 871 -22ff6 2 109 871 -22ff8 2 112 871 -22ffa 2 113 871 -22ffc 2 115 871 -22ffe 2 116 871 -23000 2 118 871 -23002 2 121 871 -23004 2 122 871 -23006 3 124 871 -23009 2 125 871 -2300b 2 128 871 -2300d 2 129 871 -2300f 2 130 871 -23011 5 133 871 -23016 2 134 871 -23018 2 135 871 -2301a 2 138 871 -2301c 5 140 871 -FUNC 23021 ec 10 _mbsnbicoll_l -23021 7 53 4518 -23028 b 55 4518 -23033 9 57 4518 -2303c 13 58 4518 -2304f 33 61 4518 -23082 6 62 4518 -23088 23 63 4518 -230ab 8 65 4518 -230b3 14 66 4518 -230c7 23 74 4518 -230ea 10 75 4518 -230fa 11 77 4518 -2310b 2 79 4518 -FUNC 2310d 17 c _mbsnbicoll -2310d 0 85 4518 -2310d 16 86 4518 -23123 1 87 4518 -FUNC 23124 95 0 __wtomb_environ -23124 7 43 2699 -2312b 3 44 2699 -2312e 9 45 2699 -23137 c 52 2699 -23143 12 57 2699 -23155 11 61 2699 -23166 12 65 2699 -23178 10 72 2699 -23188 5 74 2699 -2318d 9 76 2699 -23196 3 77 2699 -23199 9 81 2699 -231a2 5 84 2699 -231a7 2 85 2699 -231a9 5 58 2699 -231ae 9 67 2699 -231b7 2 68 2699 -FUNC 231b9 1a 8 strnlen -231b9 0 38 864 -231b9 19 45 864 -231d2 1 49 864 -FUNC 231d3 1a 4 strncnt -231d3 0 50 4345 -231d3 6 51 4345 -231d9 6 54 4345 -231df 1 55 4345 -231e0 5 54 4345 -231e5 7 57 4345 -231ec 1 58 4345 -FUNC 231ed 389 18 __crtCompareStringA_stat -231ed 10 96 4345 -231fd 31 280 4345 -2322e c 107 4345 -2323a b 109 4345 -23245 a 110 4345 -2324f 5 118 4345 -23254 1b 119 4345 -2326f 7 122 4345 -23276 1f 123 4345 -23295 6 120 4345 -2329b 7 121 4345 -232a2 3 124 4345 -232a5 2 125 4345 -232a7 17 130 4345 -232be 7 189 4345 -232c5 8 201 4345 -232cd 8 202 4345 -232d5 d 208 4345 -232e2 5 214 4345 -232e7 8 215 4345 -232ef 2 218 4345 -232f1 6 219 4345 -232f7 5 222 4345 -232fc 4 223 4345 -23300 f 231 4345 -2330f 2 232 4345 -23311 5 237 4345 -23316 4 239 4345 -2331a 2 240 4345 -2331c 10 244 4345 -2332c a 246 4345 -23336 7 244 4345 -2333d 2 262 4345 -2333f 5 253 4345 -23344 6 255 4345 -2334a 8 256 4345 -23352 10 260 4345 -23362 11 262 4345 -23373 7 260 4345 -2337a 2 262 4345 -2337c 1a 280 4345 -23396 6 281 4345 -2339c 4d 284 4345 -233e9 4 285 4345 -233ed 6 286 4345 -233f3 19 295 4345 -2340c 17 305 4345 -23423 46 309 4345 -23469 4 310 4345 -2346d 13 320 4345 -23480 17 326 4345 -23497 7 328 4345 -2349e 8 331 4345 -234a6 9 333 4345 -234af 4 132 4345 -234b3 5 137 4345 -234b8 8 138 4345 -234c0 5 139 4345 -234c5 8 140 4345 -234cd e 142 4345 -234db 6 143 4345 -234e1 5 148 4345 -234e6 19 155 4345 -234ff 2 156 4345 -23501 6 157 4345 -23507 19 163 4345 -23520 4 164 4345 -23524 7 166 4345 -2352b 5 167 4345 -23530 3 169 4345 -23533 3 170 4345 -23536 18 178 4345 -2354e 6 179 4345 -23554 6 181 4345 -2355a 8 182 4345 -23562 2 184 4345 -23564 12 337 4345 -FUNC 23576 40 20 __crtCompareStringA -23576 6 349 4345 -2357c b 350 4345 -23587 2d 361 4345 -235b4 2 362 4345 -FUNC 235b6 f8 10 _strnicoll_l -235b6 7 55 603 -235bd b 57 603 -235c8 9 59 603 -235d1 13 60 603 -235e4 33 63 603 -23617 6 64 603 -2361d 23 65 603 -23640 a 67 603 -2364a 15 68 603 -2365f 21 78 603 -23680 b 80 603 -2368b 10 81 603 -2369b 11 84 603 -236ac 2 85 603 -FUNC 236ae 27 c _strnicoll -236ae 3 92 603 -236b1 9 93 603 -236ba 1 101 603 -236bb 5 95 603 -236c0 13 99 603 -236d3 2 101 603 -FUNC 236d5 4d 4 findenv -236d5 1 387 3036 -236d6 8 390 3036 -236de 12 394 3036 -236f0 d 399 3036 -236fd 9 390 3036 -23706 e 407 3036 -23714 1 408 3036 -23715 c 400 3036 -23721 1 408 3036 -FUNC 23722 5d 0 copy_environ -23722 4 428 3036 -23726 2 429 3036 -23728 6 434 3036 -2372e 2 464 3036 -23730 7 438 3036 -23737 8 439 3036 -2373f 14 443 3036 -23753 8 444 3036 -2375b 6 448 3036 -23761 11 458 3036 -23772 4 448 3036 -23776 2 461 3036 -23778 5 463 3036 -2377d 2 464 3036 -FUNC 2377f 24c 8 __crtsetenv -2377f 6 76 3036 -23785 2c 89 3036 -237b1 2 91 3036 -237b3 1c 98 3036 -237cf 5 114 3036 -237d4 13 125 3036 -237e7 c 126 3036 -237f3 4 130 3036 -237f7 d 153 3036 -23804 9 155 3036 -2380d b 100 3036 -23818 6 101 3036 -2381e 2 356 3036 -23820 3 164 3036 -23823 6 165 3036 -23829 f 171 3036 -23838 2 172 3036 -2383a 2 173 3036 -2383c 8 176 3036 -23844 f 178 3036 -23853 2 179 3036 -23855 2 180 3036 -23857 6 196 3036 -2385d 5 197 3036 -23862 2 200 3036 -23864 10 207 3036 -23874 9 210 3036 -2387d a 216 3036 -23887 6 218 3036 -2388d 5 235 3036 -23892 5 238 3036 -23897 5 241 3036 -2389c c 222 3036 -238a8 4 221 3036 -238ac 1d 230 3036 -238c9 2 233 3036 -238cb 9 245 3036 -238d4 4 250 3036 -238d8 2 251 3036 -238da 2f 255 3036 -23909 8 258 3036 -23911 3 259 3036 -23914 5 262 3036 -23919 5 264 3036 -2391e 21 287 3036 -2393f 25 289 3036 -23964 21 338 3036 -23985 4 339 3036 -23989 b 343 3036 -23994 7 346 3036 -2399b 5 349 3036 -239a0 8 351 3036 -239a8 6 352 3036 -239ae 8 355 3036 -239b6 8 271 3036 -239be 6 274 3036 -239c4 7 276 3036 -FUNC 239cb 50 4 _strdup -239cb 1 66 901 -239cc b 70 901 -239d7 6 71 901 -239dd 9 73 901 -239e6 e 77 901 -239f4 1c 80 901 -23a10 4 81 901 -23a14 6 84 901 -23a1a 1 85 901 -FUNC 23a1b ba c _mbschr_l -23a1b 7 53 4568 -23a22 b 55 4568 -23a2d 32 58 4568 -23a5f 8 60 4568 -23a67 d 61 4568 -23a74 a 65 4568 -23a7e 7 67 4568 -23a85 10 69 4568 -23a95 3 70 4568 -23a98 8 72 4568 -23aa0 d 63 4568 -23aad 8 76 4568 -23ab5 e 77 4568 -23ac3 10 79 4568 -23ad3 2 80 4568 -FUNC 23ad5 13 8 _mbschr -23ad5 0 86 4568 -23ad5 12 87 4568 -23ae7 1 88 4568 -FUNC 23b00 be 8 strchr -23b00 0 60 928 -23b00 2 68 928 -23b02 4 69 928 -23b06 1 73 928 -23b07 2 74 928 -23b09 3 75 928 -23b0c 4 76 928 -23b10 6 77 928 -23b16 2 78 928 -23b18 2 81 928 -23b1a 3 82 928 -23b1d 2 83 928 -23b1f 2 84 928 -23b21 2 85 928 -23b23 2 86 928 -23b25 6 87 928 -23b2b 2 88 928 -23b2d 2 91 928 -23b2f 1 92 928 -23b30 2 93 928 -23b32 3 94 928 -23b35 1 95 928 -23b36 2 96 928 -23b38 2 101 928 -23b3a 5 102 928 -23b3f 2 104 928 -23b41 2 105 928 -23b43 2 107 928 -23b45 2 108 928 -23b47 2 110 928 -23b49 3 111 928 -23b4c 3 113 928 -23b4f 2 114 928 -23b51 2 116 928 -23b53 3 117 928 -23b56 6 119 928 -23b5c 2 120 928 -23b5e 5 124 928 -23b63 2 125 928 -23b65 5 127 928 -23b6a 2 128 928 -23b6c 6 130 928 -23b72 2 131 928 -23b74 1 134 928 -23b75 1 135 928 -23b76 1 137 928 -23b77 2 138 928 -23b79 1 139 928 -23b7a 3 142 928 -23b7d 2 143 928 -23b7f 2 144 928 -23b81 2 145 928 -23b83 2 146 928 -23b85 2 147 928 -23b87 2 148 928 -23b89 2 149 928 -23b8b 2 150 928 -23b8d 3 151 928 -23b90 2 152 928 -23b92 2 153 928 -23b94 2 154 928 -23b96 2 155 928 -23b98 2 156 928 -23b9a 2 157 928 -23b9c 2 158 928 -23b9e 2 159 928 -23ba0 2 160 928 -23ba2 1 163 928 -23ba3 1 164 928 -23ba4 3 165 928 -23ba7 1 166 928 -23ba8 1 167 928 -23ba9 3 170 928 -23bac 1 171 928 -23bad 1 172 928 -23bae 1 173 928 -23baf 1 174 928 -23bb0 3 177 928 -23bb3 1 178 928 -23bb4 1 179 928 -23bb5 1 180 928 -23bb6 1 181 928 -23bb7 3 184 928 -23bba 1 185 928 -23bbb 1 186 928 -23bbc 1 187 928 -23bbd 1 188 928 -PUBLIC 23b06 0 __from_strstr_to_strchr -FUNC 240b9 14 0 `operator new'::`6'::`dynamic atexit destructor for 'nomem'' -STACK WIN 4 41b0 86 13 0 8 0 e0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4240 41 3 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4290 18 4 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 42ae 18 7 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 42af 14 6 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 42c6 b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 42d1 22 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 42d2 1e 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 42f3 3f c 0 0 c 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4332 3f c 0 0 c 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4371 3f c 0 0 c 50 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 43b0 18 7 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 43b1 14 6 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 43c8 af c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4464 12 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 4477 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 448d 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 44a3 14 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 44b7 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 44cd 14 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 44e1 25 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4506 16 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 451c f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 452b 62 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 452c 60 1 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 452d 5c 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 454a 35 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 458d 42 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 458e 40 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 45cf da c 0 4 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 466c 15 0 0 4 c 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 46a0 8 0 0 4 c 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 46a9 53 c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 46f2 9 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 46fc 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4705 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 470b b1 8 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4713 a8 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4785 33 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 47bc 20 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 47dc 3c 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 47dd 3a 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4818 2e 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4846 36 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 487c 2a 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 48a6 16 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 48bc 5 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 48c1 30 5 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 48c6 2b 0 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 48f1 7 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 48f8 7 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 48ff 7 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4906 52 8 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 490c 4c 2 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 4958 36 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 498e 36 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 49c4 36 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 49fa 1a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4a14 30 1 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4a15 2e 0 0 10 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4a44 d5 7 0 1c 0 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4a4b ce 0 0 1c 4 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 4b19 9d 5 0 10 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4b1e 98 0 0 10 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 4bb6 73 7 0 14 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4bbb 6c 2 0 14 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 4bbc 6a 1 0 14 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 4bbd 68 0 0 14 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 4c29 28 5 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4c2e 22 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4c51 21 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4c72 4c 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4c73 4a 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4cbe 5e 6 0 14 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4d1c 4a b 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4d26 1b 1 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4d27 16 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4d66 19 a 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4d67 17 9 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4d7f 6a 6 0 4 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4de9 f 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4df8 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4e06 1c 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4e07 18 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4e22 f 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4e31 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4e39 1b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4e54 1c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4e70 1f 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4e8f 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4e93 b 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4e9e 5 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4ea3 11 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4eb4 4e 9 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4eb5 4a 8 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 4eba 44 3 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 4ebb 42 2 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 4f02 18 2 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4f1a 58 8 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4f1b 54 7 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 4f20 4e 2 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 4f34 37 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 4f72 56 9 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4f73 52 8 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 4f78 4c 3 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 4f79 4a 2 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 4fc8 16 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4fde d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4feb 19 8 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4fec 15 7 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5004 18 7 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5005 14 6 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 501c b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5027 19 8 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5028 15 7 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5040 18 7 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5041 14 6 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5058 b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5063 18 7 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5064 14 6 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 507b 18 7 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 507c 14 6 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5093 b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 509e 1c 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 509f 18 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 50ba 22 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 50bb 1e 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 50dc 22 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 50dd 1e 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 50fe 22 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 50ff 1e 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5120 7b 8 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5124 75 4 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5128 70 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 519b 5b 8 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 51a2 52 1 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 51a3 50 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 51f6 a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5200 a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 520a a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5214 a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 521e a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5228 24 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 524c 41 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 528d 1b6 c 0 0 c 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5405 14 0 0 0 c 2c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 5443 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 544d a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5457 fc 1c 0 14 4 328 0 1 $T0 $ebp 680 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5553 22 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5554 20 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5575 d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5582 9 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 558b 24 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 55af 10 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 55bf 9 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 55c8 96 7 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 55cf 8d 0 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 55fb 60 0 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 565e 1a 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5678 1c 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5694 1f 3 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 56b3 1c 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 56cf 1d 3 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 56ec 20 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 570c 1d 3 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5729 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 573a 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 574b 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5761 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5777 14f c 0 8 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 58bc 9 0 0 8 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 58c6 1a 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 58e0 1a 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 58fa 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5912 1a 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 592c 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5944 f6 7 0 18 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 594b ed 0 0 18 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 5973 c4 0 0 18 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 5977 bf 0 0 18 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 5a3a 27 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5a61 28 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5a89 87 4 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5a8d 81 0 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5ab2 5b 0 0 14 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5b10 1b 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5b2b 107 5 0 18 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5b30 100 0 0 18 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5b5b d4 0 0 18 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5b5f cf 0 0 18 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 5c32 1e 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5c50 27 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5c77 28 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5c9f 24 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5cc3 26 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5ce9 15 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5cfe 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5d07 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5d10 18 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5d11 16 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5d28 20 1 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5d29 1e 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5d48 37 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5d4d 31 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5d7f 3c 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5d84 36 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5dbb 3c 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5dc0 36 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5df7 3c 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5dfc 36 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5e33 3c 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5e38 36 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5e6f 37 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5e74 31 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5ea6 37 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5eab 31 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5edd 92 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5f1b 34 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5f1c 32 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5f6f e2 c 0 c c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 6039 11 0 0 c c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 6051 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6062 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6073 f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6082 f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6091 4c 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6092 4a 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 616b 33 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 619e 36 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 61d4 36 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 620a 39 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6243 14 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6257 f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6266 f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6275 96 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6276 94 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 62ba 4a 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 62bb 46 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 630b 2f 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6313 26 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 633a 82 9 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6341 78 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 63bc e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 63ca 3 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 63cd 33 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6400 24 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 6404 1e 2 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 6424 4a a 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6429 44 5 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 642a 42 4 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 646e d 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 647b 10 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 648b e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6499 994 2c 0 10 0 278 0 1 $T0 $ebp 504 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 64bb 945 a 0 10 4 278 0 1 $T0 $ebp 504 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 636 - ^ = -STACK WIN 4 64c2 93b 3 0 10 8 278 0 1 $T0 $ebp 504 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 636 - ^ = -STACK WIN 4 64c5 937 0 0 10 c 278 0 1 $T0 $ebp 504 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 636 - ^ = -STACK WIN 4 6e2d 3b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6e68 13 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6e7b 13 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6e8e 1e 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6e8f 1c 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6eac 1b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6ec7 2a 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6ec8 28 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6ef1 1b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6f0c 2a 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6f0d 28 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6fa0 24 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6fd0 196 14 0 10 0 14 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6fd4 d3 10 0 10 4 14 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 24 - ^ = -STACK WIN 4 6fd9 cd b 0 10 8 14 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 28 - ^ = $ebx $T0 24 - ^ = -STACK WIN 4 6fda cb a 0 10 c 14 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 28 - ^ = $ebx $T0 24 - ^ = -STACK WIN 4 6fe4 c0 0 0 10 10 14 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 28 - ^ = $ebx $T0 24 - ^ = -STACK WIN 4 7166 90 c 0 10 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 71eb a 0 0 10 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 71f6 1a 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7210 1a 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 722a 1a 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7244 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 725c 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7274 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 728c 104 9 0 0 0 328 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 7390 5c6 22 0 c 0 594 0 1 $T0 $ebp 1304 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 73b2 597 0 0 c 4 594 0 1 $T0 $ebp 1304 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 73fe 542 0 0 c 8 594 0 1 $T0 $ebp 1304 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 1436 - ^ = -STACK WIN 4 740c 533 0 0 c c 594 0 1 $T0 $ebp 1304 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 1436 - ^ = -STACK WIN 4 7956 dc c 0 c c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 7a28 9 0 0 c c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 7a32 2d 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7a37 27 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7a5f e1 c 0 4 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 7b36 9 0 0 4 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 7b40 49 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7b41 3b 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7b42 39 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7b89 55 8 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7b8a 53 7 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 7b91 4b 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 7b97 2a 0 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 7bde 15 3 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 7bf3 18 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7c0b c3 c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 7cc5 8 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 7cce 31 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 7cd5 28 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 7cff 240 c 0 0 c 64 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 7f28 4 0 0 0 c 64 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 7f3f 4c 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f40 4a 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f41 48 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f8b 21 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7f8c 1f 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7fac 10 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7fbc 40 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7fbd 3e 1 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7fbe 3c 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ffc 48 2 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ffd 46 1 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 7ffe 44 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8044 4b 2 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8045 49 1 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8046 47 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 808f 50 2 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8090 4e 1 0 c 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8091 4c 0 0 c 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 80df 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 80e7 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 80f1 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 80fb 8e c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8151 8 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 8189 9f c 0 0 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 821f 8 0 0 0 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 8228 19 8 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8229 15 7 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8241 b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 824c 22 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 824d 1e 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 826e 5c 2 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 826f 5a 1 0 c 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8270 58 0 0 c 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 82ca 44 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 830e e1 c 0 10 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8390 a 0 0 10 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 83ce 20 0 0 10 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 83ef 45 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8434 54 c 0 8 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8477 9 0 0 8 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 8488 25 7 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 848f 1d 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 84ad 13 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 84c0 b3 8 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 84c7 9a 1 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 84c8 98 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8573 4c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 85bf 139 1 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 85c0 137 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 85cf 127 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 85d0 11f 0 0 8 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 12 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 85d1 11d 0 0 8 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 12 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 86f8 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 86fc 32 c 0 8 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8714 a 0 0 8 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 872e 33 c 0 8 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8747 a 0 0 8 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 8761 32 c 0 8 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8779 a 0 0 8 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 8793 3b c 0 14 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 87b4 a 0 0 14 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 87ce 79 6 0 4 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 87f0 52 0 0 4 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 87f1 50 0 0 4 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 8847 49 c 0 4 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8890 30 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8891 2a 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 8892 28 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 88c0 82 8 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 88c1 7b 7 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 88c8 73 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8942 19c 14 0 18 c 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 89d2 9 0 0 18 c 3c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 8a62 7b 0 0 18 c 3c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 8ade 17f c 0 10 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8c49 4 0 0 10 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 8c5d 91 c 0 10 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8ce2 4 0 0 10 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 8cee 143 9 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8cfe 131 0 0 10 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 8d02 12c 0 0 10 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 8d05 128 0 0 10 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 8e31 6c 3 0 1c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8e9d f2 6 0 20 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8ea3 ea 0 0 20 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8eb3 d9 0 0 20 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8f31 5a 0 0 20 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 8f8f 356 17 0 20 0 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8f99 34a d 0 20 4 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 8fa5 33d 1 0 20 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 8fa6 33b 0 0 20 c 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 92e5 18 7 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 92e6 14 6 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 92fd e4 6 0 20 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9301 de 2 0 20 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 9302 dc 1 0 20 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 9303 da 0 0 20 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 93e1 6c 7 0 0 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 93e7 64 1 0 0 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 93e8 62 0 0 0 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 9408 41 0 0 0 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 944d 6e 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 944e 6c 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 94bb 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 94c4 6e 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 94c5 6c 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9532 9 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 953b 15 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9550 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9556 32 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9557 30 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9588 19 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 95a1 3d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 95de bf c 0 8 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9694 8 0 0 8 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 969d 77 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 969e 75 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 969f 71 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9714 18 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9715 16 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 972c 121 c 0 4 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9835 b 0 0 4 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 9841 b 0 0 4 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 984d 69 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9857 4b 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9860 25 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 98b6 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 98bc 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 98c2 184 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 98c3 182 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 98de 166 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9a46 39 c 0 0 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9a66 4 0 0 0 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 9a7f 13 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9a92 37 c 0 0 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9ab6 4 0 0 0 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 9ac9 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9b2c b9 5 0 4 0 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9b2e b5 3 0 4 4 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 9b2f b3 2 0 4 8 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 12 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 9b30 b1 1 0 4 c 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 12 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 9b31 af 0 0 4 10 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 12 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 9be5 2f 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9be6 2d 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9c14 3c c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9c4a 5 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 9c50 12 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9c62 4f c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9ca8 8 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 9cb1 75 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9cf9 2c 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9d26 c3 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9d27 c1 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = -STACK WIN 4 9d35 9c 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 9d3c 94 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 9d3d 90 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 9de9 a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9df3 31 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9df4 2f 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9e24 9 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9e2d d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9e3a 22 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9e5c 22 3 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9e7e 70 c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9ee5 8 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 9eee f5 c 0 8 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9fd7 b 0 0 8 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 9fe3 70 c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 a04a 8 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 a053 31 3 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 a084 eb c 0 8 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 a163 b 0 0 8 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 a16f 53 c 0 4 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 a1b9 8 0 0 4 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 a258 65 b 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a25d 5f 6 0 c 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 a262 59 1 0 c 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 a263 57 0 0 c c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 aa15 3d 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 aa52 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 aa60 1a0 8 0 4 0 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 aa62 19c 6 0 4 4 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 aa67 196 1 0 4 8 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 aa68 194 0 0 4 c 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 aa85 176 0 0 4 10 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 20 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 ac00 20 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ac20 39 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ac59 1 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ac5a 32 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ac65 1c 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ac8c 15e 6 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 ac92 156 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 acaa 13d 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 acb0 136 0 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 adea 1b 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ae05 db b 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ae06 c3 a 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 ae0f b9 1 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 ae10 b7 0 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 ae5f 67 0 0 0 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 16 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 aee0 a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 aeea 198 e 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 aef2 187 6 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 aef8 180 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 b082 b9 11 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b089 b0 a 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 b092 a6 1 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 b093 a4 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 b13b 135 b 0 0 0 8 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b143 12a 3 0 0 4 8 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 12 - ^ = -STACK WIN 4 b144 128 2 0 0 8 8 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 16 - ^ = $ebx $T0 12 - ^ = -STACK WIN 4 b145 126 1 0 0 c 8 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 16 - ^ = $ebx $T0 12 - ^ = -STACK WIN 4 b146 124 0 0 0 10 8 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 16 - ^ = $ebx $T0 12 - ^ = -STACK WIN 4 b270 24 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b271 22 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b272 20 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b294 24 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b295 22 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b296 20 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b2b8 5b 6 0 0 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b2be 43 0 0 0 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b313 5a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b36d 74 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b36e 72 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = -STACK WIN 4 b37a 53 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 b381 4b 0 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 b38c 30 0 0 0 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 b3e1 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b3e7 94 15 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b3fb 7e 1 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 b3fc 7c 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 b418 5f 0 0 0 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 b47b 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b483 160 5 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b488 159 0 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b4c5 11b 0 0 8 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 b52c b3 0 0 8 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 b5e3 25 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b608 25 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b60c 1f 2 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b62d 4f a 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b632 49 5 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 b633 47 4 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 b67c 910 30 0 10 0 474 0 1 $T0 $ebp 1012 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b69e 8c1 e 0 10 4 474 0 1 $T0 $ebp 1012 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 1144 - ^ = -STACK WIN 4 b6a5 8b7 7 0 10 8 474 0 1 $T0 $ebp 1012 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 1144 - ^ = -STACK WIN 4 b6ac 8af 0 0 10 c 474 0 1 $T0 $ebp 1012 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 1144 - ^ = -STACK WIN 4 bf8c 97 7 0 10 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 bf93 8e 0 0 10 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 bfbf 61 0 0 10 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 c023 17 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c03a 5 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c03f 55 7 0 10 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 c046 4c 0 0 10 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 c094 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c0ac 1a 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c0c6 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c0de 1a 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c0f8 14e c 0 14 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 c23c 9 0 0 14 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 c246 1e 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c264 1e 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c282 1e 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c2a0 1c 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c2bc 1c 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c2d8 1c 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c2f4 25 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c319 25 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 c31d 1f 2 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 c33e 4f a 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c343 49 5 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 c344 47 4 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 c38d 91c 2c 0 10 0 474 0 1 $T0 $ebp 1012 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 c3a9 8d3 10 0 10 4 474 0 1 $T0 $ebp 1012 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 1144 - ^ = -STACK WIN 4 c3b0 8c9 9 0 10 8 474 0 1 $T0 $ebp 1012 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 1144 - ^ = -STACK WIN 4 c3b9 8bf 0 0 10 c 474 0 1 $T0 $ebp 1012 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 1144 - ^ = -STACK WIN 4 cca9 154 9 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 ccb1 14a 1 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 ccb2 148 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 cdfd 25 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ce22 25 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 ce26 1f 2 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 ce47 4f a 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ce4c 49 5 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 ce4d 47 4 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 ce96 f60 2a 0 10 0 ad4 0 1 $T0 $ebp 1160 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 ceb8 f0f 8 0 10 4 ad4 0 1 $T0 $ebp 1160 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 2776 - ^ = -STACK WIN 4 ceb9 f0b 7 0 10 8 ad4 0 1 $T0 $ebp 1160 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 2776 - ^ = -STACK WIN 4 cec0 f03 0 0 10 c ad4 0 1 $T0 $ebp 1160 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 2776 - ^ = -STACK WIN 4 ddf6 1f 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ddf7 1d 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ddf8 1b 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 de20 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 de50 42 18 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 de5e 33 a 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 de5f 31 9 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 de68 27 0 0 8 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 dea0 bb 33 0 4 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 deba a1 19 0 4 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 df29 14 0 0 4 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 df5b 19 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 df74 9b c 0 4 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 dfed 9 0 0 4 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 e00f 34 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e01a 1d 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e043 d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e050 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e059 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e062 23d c 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 e257 b 0 0 8 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 e29f 1b0 c 0 4 c 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 e40d 14 0 0 4 c 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 e44f a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e459 104 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e45a 102 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = -STACK WIN 4 e45b 100 1 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = -STACK WIN 4 e45c fe 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = -STACK WIN 4 e495 c4 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 16 - ^ = -STACK WIN 4 e55d 15a 24 0 14 0 94 0 1 $T0 $ebp 100 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 e576 bc b 0 14 4 94 0 1 $T0 $ebp 100 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 152 - ^ = -STACK WIN 4 e577 b8 a 0 14 8 94 0 1 $T0 $ebp 100 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 152 - ^ = -STACK WIN 4 e581 ad 0 0 14 c 94 0 1 $T0 $ebp 100 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 152 - ^ = -STACK WIN 4 e6b7 a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e6c1 a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e6cb 10 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e6db c5 c 0 8 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 e761 17 0 0 8 c 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 e7a0 5e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e7b8 45 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e7fe 2f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e82d 55 b 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e82e 53 a 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 e82f 51 9 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 e830 4f 8 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 e831 4d 7 0 0 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 e882 18a 1d 0 0 0 51c 0 1 $T0 $ebp 1180 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 e89e 161 1 0 0 4 51c 0 1 $T0 $ebp 1180 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 1312 - ^ = -STACK WIN 4 e89f 15d 0 0 0 8 51c 0 1 $T0 $ebp 1180 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 1312 - ^ = -STACK WIN 4 ea0c a4 c 0 0 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 eaa4 b 0 0 0 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 eab0 7a 7 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 eab7 71 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 eb2a 1d9 19 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 eb3b 1c1 8 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 eb3f 1ba 4 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 eb43 1b5 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 ed03 3c 6 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 ed3f 19a c 0 4 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 eea0 8 0 0 4 c 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 eed9 1e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 eef7 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 eefd 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ef03 140 12 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ef04 13e 11 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 ef05 13c 10 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 ef06 13a f 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 ef15 12a 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 f043 86 8 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f044 84 7 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 f045 82 6 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 f046 80 5 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 f04b 7a 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 f0c9 8c 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f0ca 8a 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f0d3 7e 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 f0d4 7c 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 12 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 f0d5 7a 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 12 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 f155 24 3 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f156 22 2 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f165 12 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f179 3e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f182 31 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f1b7 76 c 0 0 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 f221 8 0 0 0 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 f22d 66 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f22e 64 1 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f22f 62 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f293 53 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f2e6 96 c 0 4 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 f370 b 0 0 4 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 f37c 5 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f381 88 c 0 0 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 f3fd b 0 0 0 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 f409 5 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f40e 3 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f411 3e 2 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f412 3c 1 0 c 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 f413 3a 0 0 c 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 f41e 2e 0 0 c c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 f44f 129 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 f453 123 2 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 f454 121 1 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 f455 11f 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 f578 6b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 f57c 4d 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 f57d 4b 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 f5e3 171 4 0 0 0 10 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f5e7 169 0 0 0 4 10 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 20 - ^ = -STACK WIN 4 f606 149 0 0 0 8 10 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 24 - ^ = $ebx $T0 20 - ^ = -STACK WIN 4 f607 141 0 0 0 c 10 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 24 - ^ = $ebx $T0 20 - ^ = -STACK WIN 4 f754 1d4 1e 0 18 0 b4 0 1 $T0 $ebp 96 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 f76d 1b1 5 0 18 4 b4 0 1 $T0 $ebp 96 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 184 - ^ = -STACK WIN 4 f76e 1ad 4 0 18 8 b4 0 1 $T0 $ebp 96 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 184 - ^ = -STACK WIN 4 f772 1a8 0 0 18 c b4 0 1 $T0 $ebp 96 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 184 - ^ = -STACK WIN 4 f928 2f6 17 0 4 0 1c4 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 f93e 2d6 1 0 4 4 1c4 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 456 - ^ = -STACK WIN 4 f93f 2d2 0 0 4 8 1c4 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 456 - ^ = -STACK WIN 4 fc1e 1ce 18 0 4 0 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 fc37 1ab 0 0 4 4 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 fc38 1a7 0 0 4 8 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 fc3f 19f 0 0 4 c 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 fdec f3 7 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 fdf2 2c 1 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 fdf3 2a 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 fedf 5 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 fee4 170 c 0 8 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1000a 10 0 0 8 c 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 1001b b 0 0 8 c 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 1004c 7 0 0 8 c 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 10054 15f 10 0 14 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1005b a1 9 0 14 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1005c b2 8 0 14 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 10064 96 0 0 14 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 101b3 1b 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 101ce 4f 6 0 c 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1021d 30 4 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1024d 36 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10283 e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10291 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 102a7 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 102b8 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 102cb e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 102d9 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 102ec e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 102fa 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1030d e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1031b 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10331 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10342 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10355 e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10363 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10376 e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10384 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1039a 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 103ab 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 103c1 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 103d2 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 103e8 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 103f9 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1040c e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1041a c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10426 26 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1044c 21 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1046d 26 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10493 21 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 106ab 33 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 106de 24 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 106e2 1e 2 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10702 4a a 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10707 44 5 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 10708 42 4 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1074c 9b0 2c 0 10 0 278 0 1 $T0 $ebp 504 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1076e 960 a 0 10 4 278 0 1 $T0 $ebp 504 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 636 - ^ = -STACK WIN 4 10775 956 3 0 10 8 278 0 1 $T0 $ebp 504 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 636 - ^ = -STACK WIN 4 10778 952 0 0 10 c 278 0 1 $T0 $ebp 504 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 636 - ^ = -STACK WIN 4 110fc 129 8 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 11103 120 1 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 11104 11e 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 11225 33 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 11258 24 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1125c 1e 2 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1127c 4a a 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 11281 44 5 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 11282 42 4 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 112c6 10 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 112d6 f88 2a 0 10 0 8d0 0 1 $T0 $ebp 656 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 112f8 f39 8 0 10 4 8d0 0 1 $T0 $ebp 656 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 2260 - ^ = -STACK WIN 4 112f9 f35 7 0 10 8 8d0 0 1 $T0 $ebp 656 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 2260 - ^ = -STACK WIN 4 11300 f2d 0 0 10 c 8d0 0 1 $T0 $ebp 656 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 2260 - ^ = -STACK WIN 4 1225e c2 11 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1226f 9e 0 0 4 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 12320 9b c 0 4 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 123b2 8 0 0 4 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 123bb 46 c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 123f8 8 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 12401 113 8 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 12408 21 1 0 10 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 12409 1f 0 0 10 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 12514 17 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1252b 83 13 0 10 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 12534 78 a 0 10 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1253e 6d 0 0 10 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 125ae 119 c 0 10 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 126bd 9 0 0 10 c 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 126c7 7d 8 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 126ce 75 1 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 126cf 73 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 126fd 2c 0 0 8 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 12 - ^ = -STACK WIN 4 12744 81 b 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12749 7b 6 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1274e 75 1 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1274f 73 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 127c5 71 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 127e6 4f 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12836 a0 c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 128c8 d 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 128d6 22 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 128f8 19f c 0 0 c 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 129c5 e 0 0 0 c 28 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 12a8e 8 0 0 0 c 28 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 12a97 115 c 0 8 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 12b7f 2c 0 0 8 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 12bac 11e c 0 c c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 12ca3 d 0 0 c c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 12cca 3f 9 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 12cd3 34 0 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 12cec 18 0 0 8 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 12d09 21b c 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 12e47 e 0 0 8 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 12f24 79 7 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 12f2b 70 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 12f61 39 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 12f62 37 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 12f9d 21 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12fbe 46 b 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12fc9 3a 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 13004 3c 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 13009 36 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 13040 48 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 13088 2b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 130b3 314 11 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 130c0 305 4 0 8 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 130c4 300 0 0 8 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 130f1 2d2 0 0 8 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 133c7 b0 d 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 133cd a9 7 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 133d4 a1 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 13477 106 11 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 13483 f8 5 0 4 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 13484 f6 4 0 4 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 13488 f1 0 0 4 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 1357d 2df 12 0 c 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1358a 2d0 5 0 c 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 1358b 2ce 4 0 c 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 1358f 2c9 0 0 c c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 1385c cd 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 13929 2e2 f 0 0 0 138 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 13938 294 0 0 0 4 138 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 316 - ^ = -STACK WIN 4 1394d 27e 0 0 0 8 138 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 316 - ^ = -STACK WIN 4 13950 27a 0 0 0 c 138 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 316 - ^ = -STACK WIN 4 13c0b a8 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 13c0c a6 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 13c54 5d 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 13cb3 2e3 2a 0 4 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 13cd7 2bd 6 0 4 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 13cdc 2b7 1 0 4 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 13cdd 2b5 0 0 4 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 13f96 72 7 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 13f97 70 6 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 13f98 6e 5 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 13f9d 68 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 14008 7c c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14079 a 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 14084 d 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14091 d 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1409e d 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 140ab f3 23 0 0 4 328 0 1 $T0 $ebp 680 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1419e 1e 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 142f3 a3 c 0 4 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14385 10 0 0 4 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 14396 6 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1439c 1b 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 143b7 26 3 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 143b8 24 2 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 143dd 63 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14440 474 a 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14447 42e 3 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 14448 42c 2 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 14449 42a 1 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 1444a 428 0 0 0 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 148b4 b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 148bf d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 148cc e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 148da e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 148e8 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 148f6 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14904 12 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14916 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14924 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14932 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14940 b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1494b b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14956 b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14961 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1496f b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1497a e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14988 19 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 149a1 84 13 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 149a2 80 12 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 149a3 7e 11 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 149c9 57 0 0 8 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 12 - ^ = -STACK WIN 4 14a25 d 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14a32 12 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14a44 9c 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14a57 86 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14ae0 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14aea 5 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14aef 7 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14af6 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14b00 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14b08 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14b12 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14b1c 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14b24 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14b2e 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14b36 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14b40 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14b48 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14b52 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14b5a 7b 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14b5d 75 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14bd5 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14bde 25 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14c03 d 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14c10 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14c14 29 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14c26 f 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14c3d 16 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14c53 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14c57 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14c5b 1b 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14c76 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14c7a 2f 6 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14ca9 25 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14cce 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14cd2 d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14cdf e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14ced 20 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14d0d 25 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14d32 33 6 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14d65 34 6 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14d99 13 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14dac 56 8 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14db2 4d 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14e02 61 b 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14e03 5d a 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14e04 59 9 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14e63 17 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14e7a 15 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14e8f 14 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14ea3 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14eb1 14 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14ec5 25 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14ec6 23 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14ed2 14 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14eea 38 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14eeb 36 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14eec 32 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14f22 91 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14f26 89 3 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14f27 87 2 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14f5c 40 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 14fb3 35 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14fb6 2f 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14fe8 81 b 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14fe9 7d a 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14fea 79 9 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15069 1e 3 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1506a 1c 2 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15087 47 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15088 43 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 150ce 47 7 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 150cf 45 6 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 150d0 43 5 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 150d1 41 4 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 15115 65 11 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15116 61 10 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1511b 5b b 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1511c 57 a 0 8 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1517a 12 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1518c 31 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 151bd f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 151cc f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 151db 1d 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 151f8 33 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1522b 73 7 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1522f 6b 3 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15230 5b 2 0 14 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1529e 2f 3 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 152cd f 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 152dc 79 4 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 152dd 75 3 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 152de 71 2 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15355 68 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15356 64 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 153bd a6 3 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 153be a2 2 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 153de 81 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 153f0 6e 0 0 8 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 15463 26 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15464 22 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15489 31 7 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1548e 29 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 154ba d0 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 154be b3 3 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 154bf b1 2 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 154ce 9f 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 1558a 69 13 0 8 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1559b 4f 2 0 8 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 1559c 4b 1 0 8 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 1559d 49 0 0 8 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 155f3 96 22 0 8 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15607 79 e 0 8 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15615 66 0 0 8 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1563a 29 0 0 8 c 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 15689 2e 1 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1568a 2a 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 156b7 62 8 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 156b8 5e 7 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 156b9 5a 6 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15719 8b a 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1571a 87 9 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1571b 83 8 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 157a4 1c 9 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 157a5 18 8 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 157c0 2a 7 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 157c5 22 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 157ea a6 5 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15890 37 3 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 158c7 51 1 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 158c8 4d 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15918 2e 1 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15919 2a 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15946 6a a 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15947 66 9 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1594e 5e 2 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 159b0 6c a 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 159b1 68 9 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 159b2 64 8 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15a1c e0 e 0 4 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15a23 d7 7 0 4 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15a2a cd 0 0 4 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15a45 b1 0 0 4 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 15afc 4f 6 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15b02 47 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15b4b 22 5 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15b6d 22 5 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15b8f 22 5 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15bb1 2e 1 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15bb2 2a 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15bdf 2e 1 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15be0 2a 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15c0d 141 7 0 8 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15c14 138 0 0 8 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15c95 b3 0 0 8 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 15c96 b1 0 0 8 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 15d4e d4 6 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15e22 c4 e 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15ee6 7e d 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15f64 125 11 0 10 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15f75 112 0 0 10 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16089 15f f 0 8 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16098 4a 0 0 8 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 160f0 b3 0 0 8 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 161e8 31 6 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16219 12 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1622b 12 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1623d 12 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1624f 150 7 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16256 147 0 0 8 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1639f a0 6 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1643f 50 5 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1648f 2bb 2b 0 4 0 d0 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 164aa 296 10 0 4 4 d0 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 164b3 28a 7 0 4 8 d0 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 164ba 282 0 0 4 c d0 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 1674a d9 b 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 167b8 17 0 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16823 14 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 16837 1b8 18 0 4 0 60 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16848 1a0 7 0 4 4 60 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1684f 18d 0 0 4 8 60 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16870 168 0 0 4 c 60 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 108 - ^ = -STACK WIN 4 169ef 56f 22 0 c 0 a0 0 1 $T0 $ebp 108 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16a03 97 e 0 c 4 a0 0 1 $T0 $ebp 108 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 164 - ^ = -STACK WIN 4 16a11 88 0 0 c 8 a0 0 1 $T0 $ebp 108 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 164 - ^ = -STACK WIN 4 16f5e 153 10 0 8 0 d0 0 1 $T0 $ebp 112 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16f82 11b 0 0 8 4 d0 0 1 $T0 $ebp 112 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 16f89 113 0 0 8 8 d0 0 1 $T0 $ebp 112 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 16f92 109 0 0 8 c d0 0 1 $T0 $ebp 112 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 170b1 1ea 1b 0 8 0 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 170cc 1c8 0 0 8 4 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 17154 111 0 0 8 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 64 - ^ = -STACK WIN 4 17155 10f 0 0 8 c 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 64 - ^ = -STACK WIN 4 1729b e4 15 0 4 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 172a2 db e 0 4 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 172b0 ca 0 0 4 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1737f f 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1738e 100 19 0 4 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1739a f2 d 0 4 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 173a7 e4 0 0 4 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 1748e 46 3 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 174d4 92 6 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 17566 b42 14 0 8 0 6c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 17571 b35 9 0 8 4 6c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1757a b2b 0 0 8 8 6c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 175e3 abe 0 0 8 c 6c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 120 - ^ = -STACK WIN 4 180a8 211 13 0 4 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 180af 208 c 0 4 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 180bb 1fb 0 0 4 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 182b9 28b 1f 0 4 0 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 182c5 27a 13 0 4 4 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 182c6 278 12 0 4 8 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 182d8 263 0 0 4 c 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 18544 341 d 0 8 0 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 18589 2f7 0 0 8 4 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 185f0 28f 0 0 8 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 185f1 28d 0 0 8 c 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 18885 4e4 18 0 14 0 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 18893 4d4 a 0 14 4 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 88 - ^ = -STACK WIN 4 18894 4d2 9 0 14 8 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 88 - ^ = -STACK WIN 4 1889d 4c8 0 0 14 c 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 88 - ^ = -STACK WIN 4 18d69 14c 6 0 0 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 18eb5 116 5 0 10 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 18ed6 59 0 0 10 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 18fcb 1b 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 18fe6 1b 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19001 1b 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1901c a3 f 0 18 c 94 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 190b6 8 0 0 18 c 94 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 190bf a3 f 0 1c c 94 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 19159 8 0 0 1c c 94 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 19162 387 12 0 8 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 19172 350 2 0 8 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 19173 34e 1 0 8 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 19174 34c 0 0 8 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 194e9 13e 7 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 194f0 135 0 0 8 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 19627 b1 6 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 196d8 64 7 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 196df 5b 0 0 8 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1973c 57 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19793 8f 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19822 14 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19836 14 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1984a 87 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 198d1 e3 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 199b4 1bd 9 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 199bb 1b4 2 0 c 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 199bc 1b2 1 0 c 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 199bd 1b0 0 0 c c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 19b71 71 b 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19b76 6b 6 0 c 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 19b7b 65 1 0 c 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 19b7c 63 0 0 c c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 19be2 b3 e 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 19be6 1a a 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 19be7 2e 9 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 19bf0 e 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 19c95 46 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19c9a 40 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19cdb a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19ce5 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19ceb 51 6 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 19d3c 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19d51 13 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19d64 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19d79 13 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19d8c 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19da1 13 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19db4 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19dcc 16 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19de2 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19dfa 16 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19e10 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19e28 16 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19e3e 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19e56 16 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19e6c 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19e81 13 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19e94 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19ea9 13 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19ebc 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19ed1 13 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19ee4 53 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 19f37 e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19f45 44 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19f89 1de 1a 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 19f9a 1c6 9 0 8 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 19f9b 1c2 8 0 8 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 19fa3 1b9 0 0 8 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1a167 78 c 0 8 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a1d5 9 0 0 8 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 1a1df 5 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a1e4 1f7 8 0 14 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a1eb 1ee 1 0 14 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 1a1ec 1ec 0 0 14 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 1a246 174 0 0 14 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 1a3db 29 3 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a404 1b 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a41f 2a 3 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a449 1b 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a464 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a46d 54 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a4c1 2b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a4ec 4f 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a53b 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a564 4f 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a5b3 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a5dc 4f 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a62b 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a654 54 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a6a8 2b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a6d3 4f 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a722 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a74b 4f 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a79a 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a7c3 54 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a817 2b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a842 54 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a896 2b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a8c1 54 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a915 2b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a940 4f 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1a98f 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a9b8 d 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a9c5 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a9cd 1f 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a9ec 1a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1aa06 1f 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1aa25 1c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1aa41 12 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1aa53 1b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1aa6e 13b 1d 0 18 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1aa83 126 8 0 18 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 1aba9 3b 6 0 18 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1abe4 13d 1d 0 18 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1abf9 128 8 0 18 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 1ad21 3b 6 0 18 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1ad5c 1a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1ad76 3a2 1d 0 20 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1ad87 391 c 0 20 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 1b118 43 6 0 24 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1b15b 1b8 1d 0 1c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1b170 1a3 8 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 1b313 40 6 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1b353 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b359 29 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b382 419 6 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1b3a4 3f5 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1b3a5 3ed 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1b79b 190 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b79c 18e 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b92b 73 4 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b92c 71 3 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1b92d 6f 2 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 1b92e 6d 1 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 1b92f 6b 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 1b99e 33 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b9a5 16 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1b9a6 14 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1b9d1 40 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b9d2 3e 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1ba11 1c8 11 0 4 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1ba18 1bf a 0 4 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 1ba1c 1ba 6 0 4 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 1ba22 1b3 0 0 4 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 1bbd9 33 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1bbe0 16 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1bbe1 14 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1bc0c 89 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1bc0d 87 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1bc95 2c4 c 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1bc9c 2bb 5 0 4 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1bc9d 2b9 4 0 4 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1bca1 2b4 0 0 4 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1bf59 395 1b 0 4 0 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1bf6a 37d a 0 4 4 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 1bf6d 377 7 0 4 8 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 1bf74 36f 0 0 4 c 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 1c2ee 29 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c317 16 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c32d 26 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c353 26 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c379 26 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c39f 3 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c3a2 fe 9 0 4 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1c3a9 e9 2 0 4 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 1c3aa e7 1 0 4 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 1c3ab e5 0 0 4 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 1c4a0 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c4a9 fe 9 0 4 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1c4b0 e9 2 0 4 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 1c4b1 e7 1 0 4 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 1c4b2 e5 0 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 1c5a7 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c5b0 355 9 0 4 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1c5b7 34c 2 0 4 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 1c5b8 348 1 0 4 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 1c5b9 346 0 0 4 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 1c905 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c90e 20 6 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c912 1b 2 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c917 15 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c92e 36 6 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c934 2f 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1c964 79 8 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1c969 72 3 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1c96a 70 2 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1c9dd 3e6 11 0 10 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1c9e2 3df c 0 10 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1c9e9 3d7 5 0 10 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1c9ea 3d5 4 0 10 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1cdc3 45d 1d 0 18 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1cdd7 449 9 0 18 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 1d220 1af a 0 18 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d22a 1a3 0 0 18 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 1d270 15c 0 0 18 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 1d2a3 128 0 0 18 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 1d3cf 1e 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d3ed 1d 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1d40a 1e 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d428 26 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1d496 60 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d49c 56 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 1d4a5 45 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 1d4a6 43 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 1d4f6 14 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1d50a 77 11 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d51b 5f 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d581 1e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1d59f 32 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1d5a0 30 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1d5d1 1b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1d5ec 96 12 0 4 0 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d5fd 7c 1 0 4 4 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d5fe 78 0 0 4 8 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d682 72 11 0 8 0 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d693 5a 0 0 8 4 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d6cf 13 0 0 8 8 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d6f4 1d0 13 0 4 0 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d705 1b6 2 0 4 4 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 128 - ^ = -STACK WIN 4 1d706 1b2 1 0 4 8 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 128 - ^ = -STACK WIN 4 1d707 1b0 0 0 4 c 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 128 - ^ = -STACK WIN 4 1d8c4 bf 12 0 4 0 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d8d5 a5 1 0 4 4 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d8d6 a1 0 0 4 8 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d983 2c 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1d9af 65 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1da14 3c 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1da50 1e3 4 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1da51 1e1 3 0 c 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1da52 1df 2 0 c 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 1da53 1dd 1 0 c c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 1da54 1db 0 0 c 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 1dc33 12 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1dc45 18 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1dc5d 40 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1dc9d 78 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1dd15 1490 4 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1dd16 83f 3 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1dd17 83d 2 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1f1a5 1680 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1f1a9 15f8 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1f1aa 15f6 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1f1db 86c 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 20825 be 9 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2082e a9 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 20840 96 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 20930 82 6 0 c 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 209b2 6e 4 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 20a20 5 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20a25 22b 8 0 14 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 20a2c 222 1 0 14 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 20a2d 220 0 0 14 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 20a8b 1c1 0 0 14 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 20c50 29 3 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 20c79 1b 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20c94 2a 3 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 20cbe 1b 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20cd9 1f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20cf8 1f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20d17 2d 9 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20d20 23 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20d44 94 6 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20d45 92 5 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20d4a 8c 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20dd8 cd c 0 4 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 20e9b 9 0 0 4 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 20ea5 2c 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20ea6 2a 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20ed1 2a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20efb 22 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20efc 20 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20f1d d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20f64 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20f75 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20f8a 5 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20f8f 5 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20f94 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20fa5 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 20fba 50 c 0 0 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 20fd7 1c 0 0 0 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 2100a 60 9 0 0 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 21013 57 0 0 0 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 2106a d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 21077 170 5 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2107c 169 0 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 210e1 103 0 0 8 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 21125 be 0 0 8 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 211e7 182 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 21369 b6 7 0 c 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 21370 ad 0 0 c 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 2141f 2f 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2147c 47 10 0 4 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 214c3 1b2 2a 0 18 8 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 214e0 195 d 0 18 c 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 21675 34 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2167a 2e 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 216a9 34 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 216ae 2e 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 216dd 34 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 216e2 2e 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 21711 a2 c 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 21718 99 5 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 2171d 93 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 2172b 84 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 217b3 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 217b9 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 217bf 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 217c5 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 217cb c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 217d7 c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 217e3 c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 217ef 349 c 0 0 c 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 21a99 d 0 0 0 c 3c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 21b38 1f5 14 0 24 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 21b47 1e4 5 0 24 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 21b48 1e2 4 0 24 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 21b49 1e0 3 0 24 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 21d2d 1ae 5 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 21d32 15f 0 0 0 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 21d62 12e 0 0 0 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 21edb 4f c 0 0 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 21f21 8 0 0 0 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 21f2a 38 c 0 0 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 21f59 8 0 0 0 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 21f62 41 c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 21f9a 8 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 21fa3 35 a 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 21fa8 2f 5 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 21fad 27 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 21fd8 d3 7 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 21fdf ca 0 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 22020 88 0 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 22068 33 0 0 c c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 220ab 50 4 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 220af 4a 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 220fb f0 e 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22102 e7 7 0 10 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 22108 e0 1 0 10 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 22109 de 0 0 10 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 221eb 5c 4 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 221ef 56 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22247 db 8 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2224c d2 3 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2224d d0 2 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 22277 a5 0 0 c c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 22322 28 3 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2234a 25 3 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2236f 18 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 22387 f6 c 0 14 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2238e eb 5 0 14 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 22393 e5 0 0 14 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 2247d 33 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22498 16 0 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 224b0 1d 4 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 224b4 17 0 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 224cd 224 17 0 1c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 224e2 20f 2 0 1c c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 226f1 3e 6 0 1c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2272f 294 8 0 14 0 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22736 28b 1 0 14 4 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 22737 289 0 0 14 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 22793 1f9 0 0 14 c 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 229c3 29 3 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 229ec 1b 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 22a07 2a 3 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22a31 1b 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 22a7b 81 8 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 22a83 70 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 22a92 60 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 22a93 5e 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 22afc 93 7 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22b00 8d 3 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 22b01 8b 2 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 22b40 4b 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 22b8f a2 6 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22b94 9b 1 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22b95 99 0 0 8 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22c31 83 c 0 4 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22cab 8 0 0 4 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 22cb4 d8 c 0 10 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22d83 8 0 0 10 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 22d8c e6 c 0 c c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22e69 8 0 0 c c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 22e72 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 22e7a 117 8 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22e81 10e 1 0 8 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 22e82 10c 0 0 8 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 22f91 27 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 23021 ec 7 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 23028 e3 0 0 10 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 23088 82 0 0 10 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 2310d 17 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 23124 95 a 0 0 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2312a 7d 4 0 0 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 2312b 7b 3 0 0 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 2312e 77 0 0 0 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 231b9 1a 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 231d3 1a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 231ed 389 16 0 18 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 23201 375 2 0 18 c 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 23576 40 6 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 235b6 f8 7 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 235bd ef 0 0 10 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 2361d 8e 0 0 10 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 236ae 27 3 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 236d5 4d 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 236d6 48 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 23722 5d 4 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2373e 3f 0 0 0 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2373f 3d 0 0 0 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2377f 24c f 0 8 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 23789 95 5 0 8 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 2378e 8f 0 0 8 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 237b1 6b 0 0 8 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 239cb 50 6 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 239cc 4e 5 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 239d1 48 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 239dc 3c 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 239dd 3a 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 23a1b ba 7 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 23a22 b1 0 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 23a5f 73 0 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 23ad5 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 240b9 14 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 0 1000 13 0 0 4 0 0 0 0 0 -STACK WIN 0 1020 1b 0 0 10 0 0 0 0 0 -STACK WIN 0 1040 1b 0 0 10 0 0 0 0 0 -STACK WIN 0 1060 19 8 0 4 0 0 0 0 0 -STACK WIN 0 1080 b 0 0 0 0 0 0 0 0 -STACK WIN 0 1090 24 3 0 4 0 0 0 0 0 -STACK WIN 0 10c0 f 0 0 8 0 0 0 0 0 -STACK WIN 0 10d0 17 0 0 4 0 0 0 0 0 -STACK WIN 0 10f0 27 9 0 10 0 0 0 0 0 -STACK WIN 0 1120 27 9 0 10 0 0 0 0 0 -STACK WIN 0 1150 d 0 0 8 0 0 0 0 0 -STACK WIN 0 1160 13 0 0 4 0 0 0 0 0 -STACK WIN 0 1180 21 d 0 10 0 0 0 0 0 -STACK WIN 0 11b0 21 d 0 10 0 0 0 0 0 -STACK WIN 0 11e0 7 0 0 0 0 0 0 0 0 -STACK WIN 0 11f0 6b 28 0 4 8 10 0 0 0 -STACK WIN 0 1260 32 3 0 0 0 0 0 0 0 -STACK WIN 0 12a0 e 0 0 0 0 0 0 0 0 -STACK WIN 0 12b0 47 3 0 4 0 0 0 0 0 -STACK WIN 0 1300 19 8 0 4 0 0 0 0 0 -STACK WIN 0 1320 32 3 0 0 0 0 0 0 0 -STACK WIN 0 1360 47 3 0 4 0 0 0 0 0 -STACK WIN 0 13b0 19 8 0 4 0 0 0 0 0 -STACK WIN 0 13d0 32 3 0 0 0 0 0 0 0 -STACK WIN 0 1410 47 3 0 4 0 0 0 0 0 -STACK WIN 0 1460 19 8 0 4 0 0 0 0 0 -STACK WIN 0 1480 71 29 0 4 c 10 0 0 0 -STACK WIN 0 1500 1b 0 0 8 0 0 0 0 0 -STACK WIN 0 1520 35 4 0 0 0 0 0 0 0 -STACK WIN 0 1560 20b 2d 0 14 14 14 0 0 1 -STACK WIN 0 19f0 31 0 0 0 0 0 0 0 0 -STACK WIN 0 1a30 51 d 0 4 c 0 0 0 0 -STACK WIN 0 1a90 c7 7 0 4 10 8 0 0 1 -STACK WIN 0 1b60 36 0 0 0 0 0 0 0 0 -STACK WIN 0 1ba0 3 0 0 0 0 0 0 0 0 -STACK WIN 0 1db0 81 2 0 8 0 0 0 0 0 -STACK WIN 0 1e40 1d 7 0 0 0 0 0 0 0 -STACK WIN 0 1e60 a2 3a 0 4 10 c4 0 0 0 -STACK WIN 0 1f10 142 c 0 c 0 38 0 0 1 -STACK WIN 0 2060 138 38 0 0 8 244 0 0 0 -STACK WIN 0 21a0 3b 7 0 4 0 0 0 0 0 -STACK WIN 0 21e0 25 5 0 4 0 0 0 0 0 -STACK WIN 0 2210 26 3 0 0 0 0 0 0 0 -STACK WIN 0 2240 e 0 0 0 0 0 0 0 0 -STACK WIN 0 2250 4 0 0 0 0 0 0 0 0 -STACK WIN 0 2260 11 0 0 0 0 0 0 0 0 -STACK WIN 0 2280 27 3 0 0 0 0 0 0 0 -STACK WIN 0 22b0 b 0 0 0 0 0 0 0 0 -STACK WIN 0 22c0 24 3 0 4 0 0 0 0 0 -STACK WIN 0 22f0 e 0 0 0 0 0 0 0 0 -STACK WIN 0 2300 c 0 0 0 0 0 0 0 0 -STACK WIN 0 2310 26 0 0 0 0 0 0 0 0 -STACK WIN 0 2340 1d 1 0 0 0 0 0 0 0 -STACK WIN 0 2360 1d 1 0 0 0 0 0 0 0 -STACK WIN 0 2380 13 0 0 0 0 0 0 0 0 -STACK WIN 0 23a0 23 0 0 0 0 0 0 0 0 -STACK WIN 0 23d0 56 5 0 0 8 c 0 0 0 -STACK WIN 0 2430 47 c 0 0 c 8 0 0 0 -STACK WIN 0 24f0 23 1 0 0 0 4 0 0 0 -STACK WIN 0 2520 3f b 0 8 0 0 0 0 0 -STACK WIN 0 2560 20 0 0 0 0 0 0 0 0 -STACK WIN 0 2580 20 0 0 0 0 0 0 0 0 -STACK WIN 0 25a0 1d 0 0 0 0 0 0 0 0 -STACK WIN 0 25c0 da 11 0 c 0 0 0 0 1 -STACK WIN 0 26a0 27 8 0 4 0 0 0 0 0 -STACK WIN 0 26d0 4a d 0 8 0 0 0 0 0 -STACK WIN 0 2720 e 0 0 0 0 0 0 0 0 -STACK WIN 0 2730 5 2 0 4 0 0 0 0 0 -STACK WIN 0 2740 5 2 0 4 0 0 0 0 0 -STACK WIN 0 2750 3 2 0 0 0 0 0 0 0 -STACK WIN 0 2760 b 0 0 0 0 0 0 0 0 -STACK WIN 0 2770 ef 11 0 c 0 0 0 0 1 -STACK WIN 0 2860 2b 8 0 4 0 0 0 0 0 -STACK WIN 0 2890 4f d 0 8 0 0 0 0 0 -STACK WIN 0 28e0 e 0 0 0 0 0 0 0 0 -STACK WIN 0 28f0 5 2 0 4 0 0 0 0 0 -STACK WIN 0 2900 3 2 0 0 0 0 0 0 0 -STACK WIN 0 2910 13 0 0 0 0 0 0 0 0 -STACK WIN 0 2930 86 a 0 10 10 4 0 0 1 -STACK WIN 0 29c0 23 0 0 0 0 0 0 0 0 -STACK WIN 0 29f0 1 0 0 0 0 0 0 0 0 -STACK WIN 0 2a00 26 0 0 0 0 0 0 0 0 -STACK WIN 0 2a30 23 0 0 0 0 0 0 0 0 -STACK WIN 0 2a60 76 23 0 0 4 50 0 0 0 -STACK WIN 0 2ae0 3 0 0 4 0 0 0 0 0 -STACK WIN 0 2af0 1 0 0 0 0 0 0 0 0 -STACK WIN 0 2b00 21 0 0 0 0 0 0 0 0 -STACK WIN 0 2b30 32 6 0 4 8 0 0 0 0 -STACK WIN 0 2b70 2f 6 0 0 8 0 0 0 0 -STACK WIN 0 2ba0 20 0 0 0 0 0 0 0 0 -STACK WIN 0 2bc0 20 0 0 0 0 0 0 0 0 -STACK WIN 0 2be0 1d 0 0 0 0 0 0 0 0 -STACK WIN 0 2c00 c1 5 0 8 0 0 0 0 1 -STACK WIN 0 2cd0 83 8 0 8 0 0 0 0 1 -STACK WIN 0 2d60 1f 0 0 4 0 0 0 0 0 -STACK WIN 0 2d80 bc b 0 8 0 0 0 0 1 -STACK WIN 0 2e40 e 0 0 0 0 0 0 0 0 -STACK WIN 0 2e50 5 2 0 4 0 0 0 0 0 -STACK WIN 0 2e60 e 0 0 8 0 0 0 0 0 -STACK WIN 0 2e70 da 4 0 8 0 0 0 0 1 -STACK WIN 0 2f50 97 8 0 8 0 0 0 0 1 -STACK WIN 0 2ff0 4 0 0 0 0 0 0 0 0 -STACK WIN 0 3000 23 0 0 4 0 0 0 0 0 -STACK WIN 0 3030 c7 e 0 8 0 0 0 0 1 -STACK WIN 0 3100 e 0 0 0 0 0 0 0 0 -STACK WIN 0 3110 5 2 0 4 0 0 0 0 0 -STACK WIN 0 3120 e 0 0 8 0 0 0 0 0 -STACK WIN 0 3130 6 0 0 0 0 0 0 0 0 -STACK WIN 0 3140 208 6 0 8 10 8 0 0 1 -STACK WIN 0 33d0 1 0 0 0 0 0 0 0 0 -STACK WIN 0 33e0 8 0 0 0 0 0 0 0 0 -STACK WIN 0 33f0 56 3 0 0 0 10 0 0 0 -STACK WIN 0 3450 32 0 0 4 0 0 0 0 0 -STACK WIN 0 3490 28 0 0 0 0 0 0 0 0 -STACK WIN 0 34c0 19 0 0 0 0 0 0 0 0 -STACK WIN 0 34e0 21 0 0 0 0 0 0 0 0 -STACK WIN 0 3510 19 8 0 4 0 0 0 0 0 -STACK WIN 0 3530 7 0 0 0 0 0 0 0 0 -STACK WIN 0 3540 6 0 0 0 0 0 0 0 0 -STACK WIN 0 36d0 39 8 0 4 0 0 0 0 0 -STACK WIN 0 3710 6 0 0 0 0 0 0 0 0 -STACK WIN 0 38a0 3a 8 0 4 0 0 0 0 0 -STACK WIN 0 38e0 6 0 0 0 0 0 0 0 0 -STACK WIN 0 38f0 32 0 0 4 0 0 0 0 0 -STACK WIN 0 3930 19 0 0 0 0 0 0 0 0 -STACK WIN 0 3950 56 7 0 4 0 c 0 0 0 -STACK WIN 0 39b0 4 0 0 0 0 0 0 0 0 -STACK WIN 0 39c0 59 7 0 4 0 c 0 0 0 -STACK WIN 0 3a20 6 0 0 0 0 0 0 0 0 -STACK WIN 0 3a30 21 d 0 10 0 0 0 0 0 -STACK WIN 0 3a60 27 9 0 10 0 0 0 0 0 -STACK WIN 0 3a90 24 f 0 0 0 0 0 0 0 -STACK WIN 0 3ac0 1 0 0 0 0 0 0 0 0 -STACK WIN 0 3ad0 15 0 0 0 0 0 0 0 0 -STACK WIN 0 3af0 21 d 0 10 0 0 0 0 0 -STACK WIN 0 3b20 27 9 0 10 0 0 0 0 0 -STACK WIN 0 3b50 22 d 0 0 0 0 0 0 0 -STACK WIN 0 3b80 10 0 0 0 0 0 0 0 0 -STACK WIN 0 3b90 25 11 0 0 0 0 0 0 0 -STACK WIN 0 3bc0 4f a 0 0 0 10 0 0 0 -STACK WIN 0 3c10 54 7 0 8 0 c 0 0 0 -STACK WIN 0 3c70 57 7 0 8 0 c 0 0 0 -STACK WIN 0 3cd0 19 8 0 4 0 0 0 0 0 -STACK WIN 0 3cf0 7 1 0 0 0 4 0 0 0 -STACK WIN 0 3d00 21 d 0 14 0 0 0 0 0 -STACK WIN 0 3d30 7 1 0 0 0 4 0 0 0 -STACK WIN 0 3d40 27 9 0 14 0 0 0 0 0 -STACK WIN 0 3d70 3 0 0 0 0 0 0 0 0 -STACK WIN 0 3d80 1 0 0 0 0 0 0 0 0 -STACK WIN 0 3d90 7 1 0 0 0 4 0 0 0 -STACK WIN 0 3da0 15 0 0 4 0 0 0 0 0 -STACK WIN 0 3dc0 1 0 0 4 0 0 0 0 0 -STACK WIN 0 3dd0 15 0 0 8 0 0 0 0 0 -STACK WIN 0 3df0 21 d 0 14 0 0 0 0 0 -STACK WIN 0 3e20 27 9 0 14 0 0 0 0 0 -STACK WIN 0 3e50 22 d 0 0 0 0 0 0 0 -STACK WIN 0 3e80 10 0 0 0 0 0 0 0 0 -STACK WIN 0 3e90 7 1 0 0 0 4 0 0 0 -STACK WIN 0 3ea0 25 11 0 c 0 0 0 0 0 -STACK WIN 0 3ed0 3 0 0 4 0 0 0 0 0 -STACK WIN 0 3ee0 15 0 0 0 0 0 0 0 0 -STACK WIN 0 3f00 22 d 0 8 0 0 0 0 0 -STACK WIN 0 3f30 13 0 0 0 0 0 0 0 0 -STACK WIN 0 3f50 1 0 0 0 0 0 0 0 0 -STACK WIN 0 3f60 15 0 0 8 0 0 0 0 0 -STACK WIN 0 3f80 22 d 0 0 0 0 0 0 0 -STACK WIN 0 3fb0 15 0 0 4 0 0 0 0 0 -STACK WIN 0 3fd0 15 0 0 4 0 0 0 0 0 -STACK WIN 0 3ff0 13 0 0 4 0 0 0 0 0 -STACK WIN 0 4010 ae e 0 4 0 54 0 0 0 -STACK WIN 0 40c0 ae e 0 4 0 4c 0 0 0 -STACK WIN 0 4170 40 7 0 4 0 0 0 0 0 -STACK WIN 0 4464 13 0 0 0 0 0 0 0 0 -STACK WIN 0 466c 16 0 0 0 0 0 0 0 0 -STACK WIN 0 46a0 9 0 0 0 0 0 0 0 0 -STACK WIN 0 46f2 a 0 0 0 0 0 0 0 0 -STACK WIN 0 5405 14 0 0 0 0 0 0 0 0 -STACK WIN 0 58bc a 0 0 0 0 0 0 0 0 -STACK WIN 0 6039 12 0 0 0 0 0 0 0 0 -STACK WIN 0 60e0 8b 0 0 4 0 0 0 0 0 -STACK WIN 0 71eb b 0 0 0 0 0 0 0 0 -STACK WIN 0 7a28 a 0 0 0 0 0 0 0 0 -STACK WIN 0 7b36 a 0 0 0 0 0 0 0 0 -STACK WIN 0 7cc5 9 0 0 0 0 0 0 0 0 -STACK WIN 0 7f28 4 0 0 0 0 0 0 0 0 -STACK WIN 0 8151 9 0 0 0 0 0 0 0 0 -STACK WIN 0 821f 9 0 0 0 0 0 0 0 0 -STACK WIN 0 8390 a 0 0 0 0 0 0 0 0 -STACK WIN 0 83ce 21 0 0 0 0 0 0 0 0 -STACK WIN 0 8477 9 0 0 0 0 0 0 0 0 -STACK WIN 0 8714 a 0 0 0 0 0 0 0 0 -STACK WIN 0 8747 a 0 0 0 0 0 0 0 0 -STACK WIN 0 8779 a 0 0 0 0 0 0 0 0 -STACK WIN 0 87b4 a 0 0 0 0 0 0 0 0 -STACK WIN 0 89d2 9 0 0 0 0 0 0 0 0 -STACK WIN 0 8a62 7c 0 0 0 0 0 0 0 0 -STACK WIN 0 8c49 4 0 0 0 0 0 0 0 0 -STACK WIN 0 8ce2 4 0 0 0 0 0 0 0 0 -STACK WIN 0 9694 9 0 0 0 0 0 0 0 0 -STACK WIN 0 9835 c 0 0 0 0 0 0 0 0 -STACK WIN 0 9841 c 0 0 0 0 0 0 0 0 -STACK WIN 0 9a66 4 0 0 0 0 0 0 0 0 -STACK WIN 0 9ab6 4 0 0 0 0 0 0 0 0 -STACK WIN 0 9ae0 4c 8 0 c 10 0 0 0 1 -STACK WIN 0 9c4a 6 0 0 0 0 0 0 0 0 -STACK WIN 0 9ca8 9 0 0 0 0 0 0 0 0 -STACK WIN 0 9ee5 9 0 0 0 0 0 0 0 0 -STACK WIN 0 9fd7 c 0 0 0 0 0 0 0 0 -STACK WIN 0 a04a 9 0 0 0 0 0 0 0 0 -STACK WIN 0 a163 c 0 0 0 0 0 0 0 0 -STACK WIN 0 a1b9 9 0 0 0 0 0 0 0 0 -STACK WIN 0 a1d0 88 0 0 8 0 0 0 0 0 -STACK WIN 0 a2c0 7a 0 0 c 0 0 0 0 0 -STACK WIN 0 c23c a 0 0 0 0 0 0 0 0 -STACK WIN 0 df29 14 0 0 0 0 0 0 0 0 -STACK WIN 0 dfed a 0 0 0 0 0 0 0 0 -STACK WIN 0 e257 c 0 0 0 0 0 0 0 0 -STACK WIN 0 e40d 15 0 0 0 0 0 0 0 0 -STACK WIN 0 e761 17 0 0 0 0 0 0 0 0 -STACK WIN 0 eaa4 c 0 0 0 0 0 0 0 0 -STACK WIN 0 eea0 9 0 0 0 0 0 0 0 0 -STACK WIN 0 f221 9 0 0 0 0 0 0 0 0 -STACK WIN 0 f370 c 0 0 0 0 0 0 0 0 -STACK WIN 0 f3fd c 0 0 0 0 0 0 0 0 -STACK WIN 0 1000a 11 0 0 0 0 0 0 0 0 -STACK WIN 0 1001b c 0 0 0 0 0 0 0 0 -STACK WIN 0 1004c 8 0 0 0 0 0 0 0 0 -STACK WIN 0 10558 90 3 0 c c 0 0 0 0 -STACK WIN 0 105e8 46 0 0 10 4 0 0 0 1 -STACK WIN 0 1064a 17 4 0 0 10 0 0 0 1 -STACK WIN 0 10661 19 0 0 0 0 0 0 0 0 -STACK WIN 0 10694 17 1 0 8 4 0 0 0 1 -STACK WIN 0 123b2 9 0 0 0 0 0 0 0 0 -STACK WIN 0 123f8 9 0 0 0 0 0 0 0 0 -STACK WIN 0 126bd a 0 0 0 0 0 0 0 0 -STACK WIN 0 128c8 e 0 0 0 0 0 0 0 0 -STACK WIN 0 129c5 f 0 0 0 0 0 0 0 0 -STACK WIN 0 12a8e 9 0 0 0 0 0 0 0 0 -STACK WIN 0 12b7f 2d 0 0 0 0 0 0 0 0 -STACK WIN 0 12ca3 e 0 0 0 0 0 0 0 0 -STACK WIN 0 12e47 f 0 0 0 0 0 0 0 0 -STACK WIN 0 14079 b 0 0 0 0 0 0 0 0 -STACK WIN 0 14221 84 3 0 8 c 0 0 0 0 -STACK WIN 0 142a5 23 0 0 0 0 0 0 0 0 -STACK WIN 0 142f0 3 0 0 0 0 0 0 0 0 -STACK WIN 0 14385 11 0 0 0 0 0 0 0 0 -STACK WIN 0 190b6 9 0 0 0 0 0 0 0 0 -STACK WIN 0 19159 9 0 0 0 0 0 0 0 0 -STACK WIN 0 1a1d5 a 0 0 0 0 0 0 0 0 -STACK WIN 0 20e9b a 0 0 0 0 0 0 0 0 -STACK WIN 0 20fd7 1c 0 0 0 0 0 0 0 0 -STACK WIN 0 21a99 e 0 0 0 0 0 0 0 0 -STACK WIN 0 21f21 9 0 0 0 0 0 0 0 0 -STACK WIN 0 21f59 9 0 0 0 0 0 0 0 0 -STACK WIN 0 21f9a 9 0 0 0 0 0 0 0 0 -STACK WIN 0 22cab 9 0 0 0 0 0 0 0 0 -STACK WIN 0 22d83 9 0 0 0 0 0 0 0 0 -STACK WIN 0 22e69 9 0 0 0 0 0 0 0 0 -STACK WIN 0 23b00 be 0 0 8 0 0 0 0 0 diff --git a/toolkit/airbag/airbag/src/processor/testdata/test_app.cc b/toolkit/airbag/airbag/src/processor/testdata/test_app.cc deleted file mode 100755 index e2b9c3a9fba7..000000000000 --- a/toolkit/airbag/airbag/src/processor/testdata/test_app.cc +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// This file is used to generate minidump2.dmp and minidump2.sym. -// cl /Zi test_app.cc /Fetest_app.exe /I google_breakpad/src \ -// google_breakpad/src/client/windows/releasestaticcrt/exception_handler.lib \ -// ole32.lib -// Then run test_app to generate a dump, and dump_syms to create the .sym file. - -#include - -#include "client/windows/handler/exception_handler.h" - -namespace { - -static bool callback(const wchar_t *dump_path, const wchar_t *id, - void *context, EXCEPTION_POINTERS *exinfo, - MDRawAssertionInfo *assertion, - bool succeeded) { - if (succeeded) { - printf("dump guid is %ws\n", id); - } else { - printf("dump failed\n"); - } - fflush(stdout); - - return succeeded; -} - -static void CrashFunction() { - int *i = reinterpret_cast(0x45); - *i = 5; // crash! -} - -} // namespace - -int main(int argc, char **argv) { - google_breakpad::ExceptionHandler eh( - L".", NULL, callback, NULL, - google_breakpad::ExceptionHandler::HANDLER_ALL); - CrashFunction(); - printf("did not crash?\n"); - return 0; -} diff --git a/toolkit/airbag/airbag/src/tools/linux/dump_syms/Makefile.in b/toolkit/airbag/airbag/src/tools/linux/dump_syms/Makefile.in deleted file mode 100644 index 1adc50aab7bc..000000000000 --- a/toolkit/airbag/airbag/src/tools/linux/dump_syms/Makefile.in +++ /dev/null @@ -1,64 +0,0 @@ -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Breakpad integration -# -# The Initial Developer of the Original Code is -# Ted Mielczarek -# Portions created by the Initial Developer are Copyright (C) 2007 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../../../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -HOST_PROGRAM = dump_syms - -LOCAL_INCLUDES = \ - -I$(srcdir)/../../.. \ - -I$(srcdir)/../../../common/linux \ - $(NULL) - -HOST_CPPSRCS = \ - dump_syms.cc \ - $(NULL) - -HOST_LIBS += \ - $(DEPTH)/toolkit/airbag/airbag/src/common/linux/$(LIB_PREFIX)host_breakpad_linux_common_s.$(LIB_SUFFIX) \ - $(DEPTH)/toolkit/airbag/airbag/src/common/$(LIB_PREFIX)host_breakpad_common_s.$(LIB_SUFFIX) \ - $(NULL) - -# force C++ linking -CPP_PROG_LINK = 1 -FORCE_USE_PIC = 1 - -include $(topsrcdir)/config/rules.mk diff --git a/toolkit/airbag/airbag/src/tools/linux/dump_syms/dump_syms.cc b/toolkit/airbag/airbag/src/tools/linux/dump_syms/dump_syms.cc deleted file mode 100644 index e7eb0a2d5bf6..000000000000 --- a/toolkit/airbag/airbag/src/tools/linux/dump_syms/dump_syms.cc +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include - -#include "common/linux/dump_symbols.h" - -using namespace google_breakpad; - -int main(int argc, char **argv) { - if (argc != 2) { - fprintf(stderr, "Usage: %s \n", argv[0]); - return 1; - } - - const char *binary = argv[1]; - - DumpSymbols dumper; - if (!dumper.WriteSymbolFile(binary, fileno(stdout))) { - fprintf(stderr, "Failed to write symbol file.\n"); - return 1; - } - - return 0; -} diff --git a/toolkit/airbag/airbag/src/tools/linux/symupload/minidump_upload.cc b/toolkit/airbag/airbag/src/tools/linux/symupload/minidump_upload.cc deleted file mode 100644 index de9f7092ed03..000000000000 --- a/toolkit/airbag/airbag/src/tools/linux/symupload/minidump_upload.cc +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// minidump_upload.m: Upload a minidump to a HTTP server. The upload is sent as -// a multipart/form-data POST request with the following parameters: -// prod: the product name -// ver: the product version -// symbol_file: the breakpad format symbol file - -#include - -#include - -#include "common/linux/http_upload.h" - -using google_breakpad::HTTPUpload; - -struct Options { - std::string minidumpPath; - std::string uploadURLStr; - std::string product; - std::string version; - std::string proxy; - std::string proxy_user_pwd; - bool success; -}; - -//============================================================================= -static void Start(Options *options) { - std::map parameters; - // Add parameters - parameters["prod"] = options->product; - parameters["ver"] = options->version; - - // Send it - std::string response; - bool success = HTTPUpload::SendRequest(options->uploadURLStr, - parameters, - options->minidumpPath, - "upload_file_minidump", - options->proxy, - options->proxy_user_pwd, - &response); - - if (success) { - printf("Successfully sent the minidump file.\n"); - } else { - printf("Failed to send minidump\n"); - printf("Response:\n"); - printf("%s\n", response.c_str()); - } - options->success = success; -} - -//============================================================================= -static void -Usage(int argc, const char *argv[]) { - fprintf(stderr, "Submit minidump information.\n"); - fprintf(stderr, "Usage: %s [options...] -p -v " - "\n", argv[0]); - fprintf(stderr, "Options:\n"); - fprintf(stderr, " should be a minidump.\n"); - fprintf(stderr, " is the destination for the upload\n"); - - fprintf(stderr, "-p:\t Product name\n"); - fprintf(stderr, "-v:\t Product version\n"); - fprintf(stderr, "-x:\t Use HTTP proxy on given port\n"); - fprintf(stderr, "-u:\t Set proxy user and password\n"); - fprintf(stderr, "-h:\t Usage\n"); - fprintf(stderr, "-?:\t Usage\n"); -} - -//============================================================================= -static void -SetupOptions(int argc, const char *argv[], Options *options) { - extern int optind; - char ch; - - while ((ch = getopt(argc, (char * const *)argv, "p:u:v:x:h?")) != -1) { - switch (ch) { - case 'p': - options->product = optarg; - break; - case 'u': - options->proxy_user_pwd = optarg; - break; - case 'v': - options->version = optarg; - break; - case 'x': - options->proxy = optarg; - break; - - default: - Usage(argc, argv); - exit(0); - break; - } - } - - if ((argc - optind) != 2) { - fprintf(stderr, "%s: Missing symbols file and/or upload-URL\n", argv[0]); - Usage(argc, argv); - exit(1); - } - - options->minidumpPath = argv[optind]; - options->uploadURLStr = argv[optind + 1]; -} - -//============================================================================= -int main (int argc, const char * argv[]) { - Options options; - SetupOptions(argc, argv, &options); - Start(&options); - return options.success ? 0 : 1; -} diff --git a/toolkit/airbag/airbag/src/tools/linux/symupload/sym_upload.cc b/toolkit/airbag/airbag/src/tools/linux/symupload/sym_upload.cc deleted file mode 100644 index 88fe71686fef..000000000000 --- a/toolkit/airbag/airbag/src/tools/linux/symupload/sym_upload.cc +++ /dev/null @@ -1,215 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// symupload.cc: Upload a symbol file to a HTTP server. The upload is sent as -// a multipart/form-data POST request with the following parameters: -// code_file: the basename of the module, e.g. "app" -// debug_file: the basename of the debugging file, e.g. "app" -// debug_identifier: the debug file's identifier, usually consisting of -// the guid and age embedded in the pdb, e.g. -// "11111111BBBB3333DDDD555555555555F" -// version: the file version of the module, e.g. "1.2.3.4" -// os: the operating system that the module was built for -// cpu: the CPU that the module was built for -// symbol_file: the contents of the breakpad-format symbol file - -#include - -#include -#include -#include -#include -#include -#include - -#include "common/linux/http_upload.h" - -using google_breakpad::HTTPUpload; - -typedef struct { - std::string symbolsPath; - std::string uploadURLStr; - std::string proxy; - std::string proxy_user_pwd; - std::string version; - bool success; -} Options; - -static void TokenizeByChar(const std::string &source_string, - int c, std::vector *results) { - assert(results); - std::string::size_type cur_pos = 0, next_pos = 0; - while ((next_pos = source_string.find(c, cur_pos)) != std::string::npos) { - if (next_pos != cur_pos) - results->push_back(source_string.substr(cur_pos, next_pos - cur_pos)); - cur_pos = next_pos + 1; - } - if (cur_pos < source_string.size() && next_pos != cur_pos) - results->push_back(source_string.substr(cur_pos)); -} - -//============================================================================= -// Parse out the module line which have 5 parts. -// MODULE -static bool ModuleDataForSymbolFile(const std::string &file, - std::vector *module_parts) { - assert(module_parts); - const size_t kModulePartNumber = 5; - FILE *fp = fopen(file.c_str(), "r"); - if (fp) { - char buffer[1024]; - if (fgets(buffer, sizeof(buffer), fp)) { - std::string line(buffer); - std::string::size_type line_break_pos = line.find_first_of('\n'); - if (line_break_pos == std::string::npos) { - assert(!"The file is invalid!"); - fclose(fp); - return false; - } - line.resize(line_break_pos); - const char kDelimiter = ' '; - TokenizeByChar(line, kDelimiter, module_parts); - if (module_parts->size() != kModulePartNumber) - module_parts->clear(); - } - fclose(fp); - } - - return module_parts->size() == kModulePartNumber; -} - -//============================================================================= -static std::string CompactIdentifier(const std::string &uuid) { - std::vector components; - TokenizeByChar(uuid, '-', &components); - std::string result; - for (size_t i = 0; i < components.size(); ++i) - result += components[i]; - return result; -} - -//============================================================================= -static void Start(Options *options) { - std::map parameters; - options->success = false; - std::vector module_parts; - if (!ModuleDataForSymbolFile(options->symbolsPath, &module_parts)) { - fprintf(stderr, "Failed to parse symbol file!\n"); - return; - } - - std::string compacted_id = CompactIdentifier(module_parts[3]); - - // Add parameters - if (!options->version.empty()) - parameters["version"] = options->version; - - // MODULE - // 0 1 2 3 4 - parameters["os"] = module_parts[1]; - parameters["cpu"] = module_parts[2]; - parameters["debug_file"] = module_parts[4]; - parameters["code_file"] = module_parts[4]; - parameters["debug_identifier"] = compacted_id; - std::string response; - bool success = HTTPUpload::SendRequest(options->uploadURLStr, - parameters, - options->symbolsPath, - "symbol_file", - options->proxy, - options->proxy_user_pwd, - &response); - - if (success) { - printf("Successfully sent the symbol file.\n"); - } else { - printf("Failed to send symbol file.\n"); - printf("Response:\n"); - printf("%s\n", response.c_str()); - } - options->success = success; -} - -//============================================================================= -static void -Usage(int argc, const char *argv[]) { - fprintf(stderr, "Submit symbol information.\n"); - fprintf(stderr, "Usage: %s [options...] \n", argv[0]); - fprintf(stderr, "Options:\n"); - fprintf(stderr, " should be created by using the dump_syms tool.\n"); - fprintf(stderr, " is the destination for the upload\n"); - fprintf(stderr, "-v:\t Version information (e.g., 1.2.3.4)\n"); - fprintf(stderr, "-x:\t Use HTTP proxy on given port\n"); - fprintf(stderr, "-u:\t Set proxy user and password\n"); - fprintf(stderr, "-h:\t Usage\n"); - fprintf(stderr, "-?:\t Usage\n"); -} - -//============================================================================= -static void -SetupOptions(int argc, const char *argv[], Options *options) { - extern int optind; - char ch; - - while ((ch = getopt(argc, (char * const *)argv, "u:v:x:h?")) != -1) { - switch (ch) { - case 'u': - options->proxy_user_pwd = optarg; - break; - case 'v': - options->version = optarg; - break; - case 'x': - options->proxy = optarg; - break; - - default: - Usage(argc, argv); - exit(0); - break; - } - } - - if ((argc - optind) != 2) { - fprintf(stderr, "%s: Missing symbols file and/or upload-URL\n", argv[0]); - Usage(argc, argv); - exit(1); - } - - options->symbolsPath = argv[optind]; - options->uploadURLStr = argv[optind + 1]; -} - -//============================================================================= -int main (int argc, const char * argv[]) { - Options options; - SetupOptions(argc, argv, &options); - Start(&options); - return options.success ? 0 : 1; -} diff --git a/toolkit/airbag/airbag/src/tools/mac/crash_report/crash_report.mm b/toolkit/airbag/airbag/src/tools/mac/crash_report/crash_report.mm deleted file mode 100644 index 9d749349ad6a..000000000000 --- a/toolkit/airbag/airbag/src/tools/mac/crash_report/crash_report.mm +++ /dev/null @@ -1,307 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// crash_report.mm: Convert the contents of a minidump into a format that -// looks more like Apple's CrashReporter format - -#include - -#include -#include - -#include - -#include - -#include "google_breakpad/processor/basic_source_line_resolver.h" -#include "google_breakpad/processor/call_stack.h" -#include "google_breakpad/processor/code_module.h" -#include "google_breakpad/processor/minidump.h" -#include "google_breakpad/processor/minidump_processor.h" -#include "google_breakpad/processor/process_state.h" -#include "google_breakpad/processor/stack_frame_cpu.h" -#include "google_breakpad/processor/system_info.h" -#include "processor/pathname_stripper.h" -#include "processor/scoped_ptr.h" -#include "processor/simple_symbol_supplier.h" - -#include "on_demand_symbol_supplier.h" - -using std::string; - -using google_breakpad::BasicSourceLineResolver; -using google_breakpad::CallStack; -using google_breakpad::CodeModule; -using google_breakpad::CodeModules; -using google_breakpad::MinidumpProcessor; -using google_breakpad::OnDemandSymbolSupplier; -using google_breakpad::PathnameStripper; -using google_breakpad::ProcessState; -using google_breakpad::scoped_ptr; -using google_breakpad::StackFrame; -using google_breakpad::StackFramePPC; -using google_breakpad::StackFrameX86; -using google_breakpad::SystemInfo; - -typedef struct { - NSString *minidumpPath; - NSString *searchDir; -} Options; - -//============================================================================= -static int PrintRegister(const char *name, u_int32_t value, int sequence) { - if (sequence % 4 == 0) { - printf("\n"); - } - printf("%6s = 0x%08x ", name, value); - return ++sequence; -} - -//============================================================================= -static void PrintStack(const CallStack *stack, const string &cpu) { - int frame_count = stack->frames()->size(); - char buffer[1024]; - for (int frame_index = 0; frame_index < frame_count; ++frame_index) { - const StackFrame *frame = stack->frames()->at(frame_index); - const CodeModule *module = frame->module; - printf("%2d ", frame_index); - - if (module) { - // Module name (20 chars max) - strcpy(buffer, PathnameStripper::File(module->code_file()).c_str()); - int maxStr = 20; - buffer[maxStr] = 0; - printf("%-*s", maxStr, buffer); - u_int64_t instruction = frame->instruction; - - // PPC only: Adjust the instruction to match that of Crash reporter. The - // instruction listed is actually the return address. See the detailed - // comments in stackwalker_ppc.cc for more information. - if (cpu == "ppc" && frame_index) - instruction += 4; - - printf(" 0x%08llx ", instruction); - - // Function name - if (!frame->function_name.empty()) { - printf("%s", frame->function_name.c_str()); - if (!frame->source_file_name.empty()) { - string source_file = PathnameStripper::File(frame->source_file_name); - printf(" + 0x%llx (%s:%d)", - instruction - frame->source_line_base, - source_file.c_str(), frame->source_line); - } else { - printf(" + 0x%llx", instruction - frame->function_base); - } - } - } - printf("\n"); - } -} - -//============================================================================= -static void PrintRegisters(const CallStack *stack, const string &cpu) { - int sequence = 0; - const StackFrame *frame = stack->frames()->at(0); - if (cpu == "x86") { - const StackFrameX86 *frame_x86 = - reinterpret_cast(frame); - - if (frame_x86->context_validity & StackFrameX86::CONTEXT_VALID_EIP) - sequence = PrintRegister("eip", frame_x86->context.eip, sequence); - if (frame_x86->context_validity & StackFrameX86::CONTEXT_VALID_ESP) - sequence = PrintRegister("esp", frame_x86->context.esp, sequence); - if (frame_x86->context_validity & StackFrameX86::CONTEXT_VALID_EBP) - sequence = PrintRegister("ebp", frame_x86->context.ebp, sequence); - if (frame_x86->context_validity & StackFrameX86::CONTEXT_VALID_EBX) - sequence = PrintRegister("ebx", frame_x86->context.ebx, sequence); - if (frame_x86->context_validity & StackFrameX86::CONTEXT_VALID_ESI) - sequence = PrintRegister("esi", frame_x86->context.esi, sequence); - if (frame_x86->context_validity & StackFrameX86::CONTEXT_VALID_EDI) - sequence = PrintRegister("edi", frame_x86->context.edi, sequence); - if (frame_x86->context_validity == StackFrameX86::CONTEXT_VALID_ALL) { - sequence = PrintRegister("eax", frame_x86->context.eax, sequence); - sequence = PrintRegister("ecx", frame_x86->context.ecx, sequence); - sequence = PrintRegister("edx", frame_x86->context.edx, sequence); - sequence = PrintRegister("efl", frame_x86->context.eflags, sequence); - } - } else if (cpu == "ppc") { - const StackFramePPC *frame_ppc = - reinterpret_cast(frame); - - if (frame_ppc->context_validity & StackFramePPC::CONTEXT_VALID_ALL == - StackFramePPC::CONTEXT_VALID_ALL) { - sequence = PrintRegister("srr0", frame_ppc->context.srr0, sequence); - sequence = PrintRegister("srr1", frame_ppc->context.srr1, sequence); - sequence = PrintRegister("cr", frame_ppc->context.cr, sequence); - sequence = PrintRegister("xer", frame_ppc->context.xer, sequence); - sequence = PrintRegister("lr", frame_ppc->context.lr, sequence); - sequence = PrintRegister("ctr", frame_ppc->context.ctr, sequence); - sequence = PrintRegister("mq", frame_ppc->context.mq, sequence); - sequence = PrintRegister("vrsave", frame_ppc->context.vrsave, sequence); - - sequence = 0; - char buffer[5]; - for (int i = 0; i < MD_CONTEXT_PPC_GPR_COUNT; ++i) { - sprintf(buffer, "r%d", i); - sequence = PrintRegister(buffer, frame_ppc->context.gpr[i], sequence); - } - } else { - if (frame_ppc->context_validity & StackFramePPC::CONTEXT_VALID_SRR0) - sequence = PrintRegister("srr0", frame_ppc->context.srr0, sequence); - if (frame_ppc->context_validity & StackFramePPC::CONTEXT_VALID_GPR1) - sequence = PrintRegister("r1", frame_ppc->context.gpr[1], sequence); - } - } - - printf("\n"); -} - -//============================================================================= -static void Start(Options *options) { - string minidump_file([options->minidumpPath fileSystemRepresentation]); - - BasicSourceLineResolver resolver; - string search_dir = options->searchDir ? - [options->searchDir fileSystemRepresentation] : ""; - scoped_ptr symbol_supplier( - new OnDemandSymbolSupplier(search_dir)); - scoped_ptr - minidump_processor(new MinidumpProcessor(symbol_supplier.get(), &resolver)); - ProcessState process_state; - if (minidump_processor->Process(minidump_file, &process_state) != - MinidumpProcessor::PROCESS_OK) { - fprintf(stderr, "MinidumpProcessor::Process failed\n"); - return; - } - - const SystemInfo *system_info = process_state.system_info(); - string cpu = system_info->cpu; - - // Convert the time to a string - u_int32_t time_date_stamp = process_state.time_date_stamp(); - struct tm timestruct; - gmtime_r(reinterpret_cast(&time_date_stamp), ×truct); - char timestr[20]; - strftime(timestr, 20, "%Y-%m-%d %H:%M:%S", ×truct); - printf("Date: %s GMT\n", timestr); - - printf("Operating system: %s (%s)\n", system_info->os.c_str(), - system_info->os_version.c_str()); - printf("Architecture: %s\n", cpu.c_str()); - - if (process_state.crashed()) { - printf("Crash reason: %s\n", process_state.crash_reason().c_str()); - printf("Crash address: 0x%llx\n", process_state.crash_address()); - } else { - printf("No crash\n"); - } - - int requesting_thread = process_state.requesting_thread(); - if (requesting_thread != -1) { - printf("\n"); - printf("Thread %d (%s)\n", - requesting_thread, - process_state.crashed() ? "crashed" : - "requested dump, did not crash"); - PrintStack(process_state.threads()->at(requesting_thread), cpu); - } - - // Print all of the threads in the dump. - int thread_count = process_state.threads()->size(); - for (int thread_index = 0; thread_index < thread_count; ++thread_index) { - if (thread_index != requesting_thread) { - // Don't print the crash thread again, it was already printed. - printf("\n"); - printf("Thread %d\n", thread_index); - PrintStack(process_state.threads()->at(thread_index), cpu); - } - } - - // Print the crashed registers - if (requesting_thread != -1) { - printf("\nThread %d:", requesting_thread); - PrintRegisters(process_state.threads()->at(requesting_thread), cpu); - } -} - -//============================================================================= -static void Usage(int argc, const char *argv[]) { - fprintf(stderr, "Convert a minidump to a crash report. Breakpad symbol files\n"); - fprintf(stderr, "will be used (or created if missing) in /tmp.\n"); - fprintf(stderr, "Usage: %s [-s search-dir] minidump-file\n", argv[0]); - fprintf(stderr, "\t-s: Specify a search directory to use for missing modules\n"); - fprintf(stderr, "\t-h: Usage\n"); - fprintf(stderr, "\t-?: Usage\n"); -} - -//============================================================================= -static void SetupOptions(int argc, const char *argv[], Options *options) { - extern int optind; - char ch; - - while ((ch = getopt(argc, (char * const *)argv, "s:h?")) != -1) { - switch (ch) { - case 's': - options->searchDir = [[NSFileManager defaultManager] - stringWithFileSystemRepresentation:optarg - length:strlen(optarg)]; - break; - - case 'h': - case '?': - Usage(argc, argv); - exit(1); - break; - } - } - - if ((argc - optind) != 1) { - fprintf(stderr, "%s: Missing minidump file\n", argv[0]); - Usage(argc, argv); - exit(1); - } - - options->minidumpPath = [[NSFileManager defaultManager] - stringWithFileSystemRepresentation:argv[optind] - length:strlen(argv[optind])]; -} - -//============================================================================= -int main (int argc, const char * argv[]) { - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - Options options; - - bzero(&options, sizeof(Options)); - SetupOptions(argc, argv, &options); - Start(&options); - [pool release]; - - return 0; -} diff --git a/toolkit/airbag/airbag/src/tools/mac/crash_report/crash_report.xcodeproj/project.pbxproj b/toolkit/airbag/airbag/src/tools/mac/crash_report/crash_report.xcodeproj/project.pbxproj deleted file mode 100644 index c52e34f97e56..000000000000 --- a/toolkit/airbag/airbag/src/tools/mac/crash_report/crash_report.xcodeproj/project.pbxproj +++ /dev/null @@ -1,408 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 557800400BE1F28500EC23E0 /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5578003E0BE1F28500EC23E0 /* macho_utilities.cc */; }; - 557800410BE1F28500EC23E0 /* macho_utilities.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5578003F0BE1F28500EC23E0 /* macho_utilities.h */; }; - 8B40BDC00C0638E4009535AF /* logging.cc in Sources */ = {isa = PBXBuildFile; fileRef = 8B40BDBF0C0638E4009535AF /* logging.cc */; }; - 8DD76F9A0486AA7600D96B5E /* crash_report.mm in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* crash_report.mm */; settings = {ATTRIBUTES = (); }; }; - 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; - 9B35FEE40B2675F9008DE8C7 /* code_module.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9B35FEE20B2675F9008DE8C7 /* code_module.h */; }; - 9B35FEE50B2675F9008DE8C7 /* code_modules.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9B35FEE30B2675F9008DE8C7 /* code_modules.h */; }; - 9B35FEE90B26761C008DE8C7 /* basic_code_module.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9B35FEE60B26761C008DE8C7 /* basic_code_module.h */; }; - 9B35FEEA0B26761C008DE8C7 /* basic_code_modules.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9B35FEE70B26761C008DE8C7 /* basic_code_modules.cc */; }; - 9B35FEEB0B26761C008DE8C7 /* basic_code_modules.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9B35FEE80B26761C008DE8C7 /* basic_code_modules.h */; }; - 9B3904960B2E52D90059FABE /* basic_source_line_resolver.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9B3904940B2E52D90059FABE /* basic_source_line_resolver.h */; }; - 9B3904970B2E52D90059FABE /* source_line_resolver_interface.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9B3904950B2E52D90059FABE /* source_line_resolver_interface.h */; }; - 9B3904990B2E52FD0059FABE /* basic_source_line_resolver.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9B3904980B2E52FD0059FABE /* basic_source_line_resolver.cc */; }; - 9B44619E0B66C66B00BBB817 /* system_info.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9B44619D0B66C66B00BBB817 /* system_info.h */; }; - 9BDF172C0B1B8B2400F8391B /* call_stack.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF172A0B1B8B2400F8391B /* call_stack.cc */; }; - 9BDF172D0B1B8B2400F8391B /* minidump_processor.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF172B0B1B8B2400F8391B /* minidump_processor.cc */; }; - 9BDF17410B1B8B9A00F8391B /* minidump.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF173F0B1B8B9A00F8391B /* minidump.cc */; }; - 9BDF17540B1B8BF900F8391B /* stackwalker_ppc.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF17510B1B8BF900F8391B /* stackwalker_ppc.cc */; }; - 9BDF17550B1B8BF900F8391B /* stackwalker_x86.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF17520B1B8BF900F8391B /* stackwalker_x86.cc */; }; - 9BDF17560B1B8BF900F8391B /* stackwalker.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF17530B1B8BF900F8391B /* stackwalker.cc */; }; - 9BDF175D0B1B8C1B00F8391B /* process_state.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF175B0B1B8C1B00F8391B /* process_state.cc */; }; - 9BDF176D0B1B8CB100F8391B /* on_demand_symbol_supplier.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BDF176B0B1B8CB100F8391B /* on_demand_symbol_supplier.h */; }; - 9BDF176E0B1B8CB100F8391B /* on_demand_symbol_supplier.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF176C0B1B8CB100F8391B /* on_demand_symbol_supplier.mm */; }; - 9BDF1A280B1BD58200F8391B /* pathname_stripper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF1A270B1BD58200F8391B /* pathname_stripper.cc */; }; - 9BDF1AB90B1BE70C00F8391B /* range_map.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BDF1A7B0B1BE30100F8391B /* range_map.h */; }; - 9BDF1ABA0B1BE70D00F8391B /* range_map-inl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BDF1A7A0B1BE30100F8391B /* range_map-inl.h */; }; - 9BDF1AFC0B1BEB6300F8391B /* address_map-inl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BDF1AFA0B1BEB6300F8391B /* address_map-inl.h */; }; - 9BDF1AFD0B1BEB6300F8391B /* address_map.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BDF1AFB0B1BEB6300F8391B /* address_map.h */; }; - 9BDF21A60B1E825400F8391B /* dump_syms.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BDF192D0B1BC15D00F8391B /* dump_syms.h */; }; - 9BDF21A70B1E825400F8391B /* dump_syms.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF192E0B1BC15D00F8391B /* dump_syms.mm */; }; - 9BE650B20B52FE3000611104 /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BE650AC0B52FE3000611104 /* file_id.cc */; }; - 9BE650B30B52FE3000611104 /* file_id.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BE650AD0B52FE3000611104 /* file_id.h */; }; - 9BE650B40B52FE3000611104 /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BE650AE0B52FE3000611104 /* macho_id.cc */; }; - 9BE650B50B52FE3000611104 /* macho_id.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BE650AF0B52FE3000611104 /* macho_id.h */; }; - 9BE650B60B52FE3000611104 /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BE650B00B52FE3000611104 /* macho_walker.cc */; }; - 9BE650B70B52FE3000611104 /* macho_walker.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BE650B10B52FE3000611104 /* macho_walker.h */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 8DD76F9E0486AA7600D96B5E /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 8; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - 9BDF176D0B1B8CB100F8391B /* on_demand_symbol_supplier.h in CopyFiles */, - 9BDF1AB90B1BE70C00F8391B /* range_map.h in CopyFiles */, - 9BDF1ABA0B1BE70D00F8391B /* range_map-inl.h in CopyFiles */, - 9BDF1AFC0B1BEB6300F8391B /* address_map-inl.h in CopyFiles */, - 9BDF1AFD0B1BEB6300F8391B /* address_map.h in CopyFiles */, - 9BDF21A60B1E825400F8391B /* dump_syms.h in CopyFiles */, - 9B35FEE40B2675F9008DE8C7 /* code_module.h in CopyFiles */, - 9B35FEE50B2675F9008DE8C7 /* code_modules.h in CopyFiles */, - 9B35FEE90B26761C008DE8C7 /* basic_code_module.h in CopyFiles */, - 9B35FEEB0B26761C008DE8C7 /* basic_code_modules.h in CopyFiles */, - 9B3904960B2E52D90059FABE /* basic_source_line_resolver.h in CopyFiles */, - 9B3904970B2E52D90059FABE /* source_line_resolver_interface.h in CopyFiles */, - 9BE650B30B52FE3000611104 /* file_id.h in CopyFiles */, - 9BE650B50B52FE3000611104 /* macho_id.h in CopyFiles */, - 9BE650B70B52FE3000611104 /* macho_walker.h in CopyFiles */, - 9B44619E0B66C66B00BBB817 /* system_info.h in CopyFiles */, - 557800410BE1F28500EC23E0 /* macho_utilities.h in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 1; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 08FB7796FE84155DC02AAC07 /* crash_report.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = crash_report.mm; sourceTree = ""; }; - 08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 5578003E0BE1F28500EC23E0 /* macho_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macho_utilities.cc; path = ../../../common/mac/macho_utilities.cc; sourceTree = SOURCE_ROOT; }; - 5578003F0BE1F28500EC23E0 /* macho_utilities.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macho_utilities.h; path = ../../../common/mac/macho_utilities.h; sourceTree = SOURCE_ROOT; }; - 8B40BDBF0C0638E4009535AF /* logging.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = logging.cc; path = ../../../processor/logging.cc; sourceTree = SOURCE_ROOT; }; - 8DD76FA10486AA7600D96B5E /* crash_report */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = crash_report; sourceTree = BUILT_PRODUCTS_DIR; }; - 9B35FEE20B2675F9008DE8C7 /* code_module.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = code_module.h; path = ../../../google_breakpad/processor/code_module.h; sourceTree = SOURCE_ROOT; }; - 9B35FEE30B2675F9008DE8C7 /* code_modules.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = code_modules.h; path = ../../../google_breakpad/processor/code_modules.h; sourceTree = SOURCE_ROOT; }; - 9B35FEE60B26761C008DE8C7 /* basic_code_module.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = basic_code_module.h; path = ../../../processor/basic_code_module.h; sourceTree = SOURCE_ROOT; }; - 9B35FEE70B26761C008DE8C7 /* basic_code_modules.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = basic_code_modules.cc; path = ../../../processor/basic_code_modules.cc; sourceTree = SOURCE_ROOT; }; - 9B35FEE80B26761C008DE8C7 /* basic_code_modules.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = basic_code_modules.h; path = ../../../processor/basic_code_modules.h; sourceTree = SOURCE_ROOT; }; - 9B3904940B2E52D90059FABE /* basic_source_line_resolver.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = basic_source_line_resolver.h; sourceTree = ""; }; - 9B3904950B2E52D90059FABE /* source_line_resolver_interface.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = source_line_resolver_interface.h; sourceTree = ""; }; - 9B3904980B2E52FD0059FABE /* basic_source_line_resolver.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = basic_source_line_resolver.cc; path = ../../../processor/basic_source_line_resolver.cc; sourceTree = SOURCE_ROOT; }; - 9B44619D0B66C66B00BBB817 /* system_info.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = system_info.h; sourceTree = ""; }; - 9BDF16F90B1B8ACD00F8391B /* breakpad_types.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = breakpad_types.h; sourceTree = ""; }; - 9BDF16FA0B1B8ACD00F8391B /* minidump_format.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = minidump_format.h; sourceTree = ""; }; - 9BDF16FC0B1B8ACD00F8391B /* call_stack.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = call_stack.h; sourceTree = ""; }; - 9BDF16FD0B1B8ACD00F8391B /* memory_region.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = memory_region.h; sourceTree = ""; }; - 9BDF16FE0B1B8ACD00F8391B /* minidump.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = minidump.h; sourceTree = ""; }; - 9BDF16FF0B1B8ACD00F8391B /* minidump_processor.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = minidump_processor.h; sourceTree = ""; }; - 9BDF17000B1B8ACD00F8391B /* process_state.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = process_state.h; sourceTree = ""; }; - 9BDF17010B1B8ACD00F8391B /* stack_frame.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stack_frame.h; sourceTree = ""; }; - 9BDF17020B1B8ACD00F8391B /* stack_frame_cpu.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stack_frame_cpu.h; sourceTree = ""; }; - 9BDF17030B1B8ACD00F8391B /* stackwalker.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stackwalker.h; sourceTree = ""; }; - 9BDF17040B1B8ACD00F8391B /* symbol_supplier.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = symbol_supplier.h; sourceTree = ""; }; - 9BDF172A0B1B8B2400F8391B /* call_stack.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = call_stack.cc; path = ../../../processor/call_stack.cc; sourceTree = SOURCE_ROOT; }; - 9BDF172B0B1B8B2400F8391B /* minidump_processor.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = minidump_processor.cc; path = ../../../processor/minidump_processor.cc; sourceTree = SOURCE_ROOT; }; - 9BDF173F0B1B8B9A00F8391B /* minidump.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = minidump.cc; path = ../../../processor/minidump.cc; sourceTree = SOURCE_ROOT; }; - 9BDF17510B1B8BF900F8391B /* stackwalker_ppc.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = stackwalker_ppc.cc; path = ../../../processor/stackwalker_ppc.cc; sourceTree = SOURCE_ROOT; }; - 9BDF17520B1B8BF900F8391B /* stackwalker_x86.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = stackwalker_x86.cc; path = ../../../processor/stackwalker_x86.cc; sourceTree = SOURCE_ROOT; }; - 9BDF17530B1B8BF900F8391B /* stackwalker.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = stackwalker.cc; path = ../../../processor/stackwalker.cc; sourceTree = SOURCE_ROOT; }; - 9BDF175B0B1B8C1B00F8391B /* process_state.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = process_state.cc; path = ../../../processor/process_state.cc; sourceTree = SOURCE_ROOT; }; - 9BDF176B0B1B8CB100F8391B /* on_demand_symbol_supplier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = on_demand_symbol_supplier.h; sourceTree = ""; }; - 9BDF176C0B1B8CB100F8391B /* on_demand_symbol_supplier.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = on_demand_symbol_supplier.mm; sourceTree = ""; }; - 9BDF192D0B1BC15D00F8391B /* dump_syms.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = dump_syms.h; path = ../../../common/mac/dump_syms.h; sourceTree = SOURCE_ROOT; }; - 9BDF192E0B1BC15D00F8391B /* dump_syms.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; name = dump_syms.mm; path = ../../../common/mac/dump_syms.mm; sourceTree = SOURCE_ROOT; }; - 9BDF1A270B1BD58200F8391B /* pathname_stripper.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = pathname_stripper.cc; path = ../../../processor/pathname_stripper.cc; sourceTree = SOURCE_ROOT; }; - 9BDF1A7A0B1BE30100F8391B /* range_map-inl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = "range_map-inl.h"; path = "../../../processor/range_map-inl.h"; sourceTree = SOURCE_ROOT; }; - 9BDF1A7B0B1BE30100F8391B /* range_map.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = range_map.h; path = ../../../processor/range_map.h; sourceTree = SOURCE_ROOT; }; - 9BDF1AFA0B1BEB6300F8391B /* address_map-inl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = "address_map-inl.h"; path = "../../../processor/address_map-inl.h"; sourceTree = SOURCE_ROOT; }; - 9BDF1AFB0B1BEB6300F8391B /* address_map.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = address_map.h; path = ../../../processor/address_map.h; sourceTree = SOURCE_ROOT; }; - 9BE650AC0B52FE3000611104 /* file_id.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = file_id.cc; path = ../../../common/mac/file_id.cc; sourceTree = SOURCE_ROOT; }; - 9BE650AD0B52FE3000611104 /* file_id.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = file_id.h; path = ../../../common/mac/file_id.h; sourceTree = SOURCE_ROOT; }; - 9BE650AE0B52FE3000611104 /* macho_id.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macho_id.cc; path = ../../../common/mac/macho_id.cc; sourceTree = SOURCE_ROOT; }; - 9BE650AF0B52FE3000611104 /* macho_id.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macho_id.h; path = ../../../common/mac/macho_id.h; sourceTree = SOURCE_ROOT; }; - 9BE650B00B52FE3000611104 /* macho_walker.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macho_walker.cc; path = ../../../common/mac/macho_walker.cc; sourceTree = SOURCE_ROOT; }; - 9BE650B10B52FE3000611104 /* macho_walker.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macho_walker.h; path = ../../../common/mac/macho_walker.h; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8DD76F9B0486AA7600D96B5E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 08FB7794FE84155DC02AAC07 /* crash_report */ = { - isa = PBXGroup; - children = ( - 5578003E0BE1F28500EC23E0 /* macho_utilities.cc */, - 5578003F0BE1F28500EC23E0 /* macho_utilities.h */, - 9BDF192D0B1BC15D00F8391B /* dump_syms.h */, - 9BDF192E0B1BC15D00F8391B /* dump_syms.mm */, - 08FB7796FE84155DC02AAC07 /* crash_report.mm */, - 9BDF176B0B1B8CB100F8391B /* on_demand_symbol_supplier.h */, - 9BDF176C0B1B8CB100F8391B /* on_demand_symbol_supplier.mm */, - 08FB7795FE84155DC02AAC07 /* breakpad */, - 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */, - 1AB674ADFE9D54B511CA2CBB /* Products */, - ); - name = crash_report; - sourceTree = ""; - }; - 08FB7795FE84155DC02AAC07 /* breakpad */ = { - isa = PBXGroup; - children = ( - 9BE650AB0B52FE1A00611104 /* common */, - 9BDF17280B1B8B0200F8391B /* processor */, - 9BDF16F70B1B8ACD00F8391B /* google_breakpad */, - ); - name = breakpad; - sourceTree = ""; - }; - 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 08FB779EFE84155DC02AAC07 /* Foundation.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = ""; - }; - 1AB674ADFE9D54B511CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8DD76FA10486AA7600D96B5E /* crash_report */, - ); - name = Products; - sourceTree = ""; - }; - 9BDF16F70B1B8ACD00F8391B /* google_breakpad */ = { - isa = PBXGroup; - children = ( - 9BDF16F80B1B8ACD00F8391B /* common */, - 9BDF16FB0B1B8ACD00F8391B /* processor */, - ); - name = google_breakpad; - path = ../../../google_breakpad; - sourceTree = SOURCE_ROOT; - }; - 9BDF16F80B1B8ACD00F8391B /* common */ = { - isa = PBXGroup; - children = ( - 9BDF16F90B1B8ACD00F8391B /* breakpad_types.h */, - 9BDF16FA0B1B8ACD00F8391B /* minidump_format.h */, - ); - path = common; - sourceTree = ""; - }; - 9BDF16FB0B1B8ACD00F8391B /* processor */ = { - isa = PBXGroup; - children = ( - 9B3904940B2E52D90059FABE /* basic_source_line_resolver.h */, - 9BDF16FC0B1B8ACD00F8391B /* call_stack.h */, - 9B35FEE20B2675F9008DE8C7 /* code_module.h */, - 9B35FEE30B2675F9008DE8C7 /* code_modules.h */, - 9BDF16FD0B1B8ACD00F8391B /* memory_region.h */, - 9BDF16FE0B1B8ACD00F8391B /* minidump.h */, - 9BDF16FF0B1B8ACD00F8391B /* minidump_processor.h */, - 9BDF17000B1B8ACD00F8391B /* process_state.h */, - 9B3904950B2E52D90059FABE /* source_line_resolver_interface.h */, - 9BDF17010B1B8ACD00F8391B /* stack_frame.h */, - 9BDF17020B1B8ACD00F8391B /* stack_frame_cpu.h */, - 9BDF17030B1B8ACD00F8391B /* stackwalker.h */, - 9BDF17040B1B8ACD00F8391B /* symbol_supplier.h */, - 9B44619D0B66C66B00BBB817 /* system_info.h */, - ); - path = processor; - sourceTree = ""; - }; - 9BDF17280B1B8B0200F8391B /* processor */ = { - isa = PBXGroup; - children = ( - 9B3904980B2E52FD0059FABE /* basic_source_line_resolver.cc */, - 9BDF1AFA0B1BEB6300F8391B /* address_map-inl.h */, - 9BDF1AFB0B1BEB6300F8391B /* address_map.h */, - 9B35FEE60B26761C008DE8C7 /* basic_code_module.h */, - 9B35FEE70B26761C008DE8C7 /* basic_code_modules.cc */, - 9B35FEE80B26761C008DE8C7 /* basic_code_modules.h */, - 9BDF172A0B1B8B2400F8391B /* call_stack.cc */, - 8B40BDBF0C0638E4009535AF /* logging.cc */, - 9BDF173F0B1B8B9A00F8391B /* minidump.cc */, - 9BDF172B0B1B8B2400F8391B /* minidump_processor.cc */, - 9BDF1A270B1BD58200F8391B /* pathname_stripper.cc */, - 9BDF175B0B1B8C1B00F8391B /* process_state.cc */, - 9BDF1A7A0B1BE30100F8391B /* range_map-inl.h */, - 9BDF1A7B0B1BE30100F8391B /* range_map.h */, - 9BDF17530B1B8BF900F8391B /* stackwalker.cc */, - 9BDF17510B1B8BF900F8391B /* stackwalker_ppc.cc */, - 9BDF17520B1B8BF900F8391B /* stackwalker_x86.cc */, - ); - name = processor; - sourceTree = ""; - }; - 9BE650AB0B52FE1A00611104 /* common */ = { - isa = PBXGroup; - children = ( - 9BE650AC0B52FE3000611104 /* file_id.cc */, - 9BE650AD0B52FE3000611104 /* file_id.h */, - 9BE650AE0B52FE3000611104 /* macho_id.cc */, - 9BE650AF0B52FE3000611104 /* macho_id.h */, - 9BE650B00B52FE3000611104 /* macho_walker.cc */, - 9BE650B10B52FE3000611104 /* macho_walker.h */, - ); - name = common; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 8DD76F960486AA7600D96B5E /* crash_report */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "crash_report" */; - buildPhases = ( - 8DD76F990486AA7600D96B5E /* Sources */, - 8DD76F9B0486AA7600D96B5E /* Frameworks */, - 8DD76F9E0486AA7600D96B5E /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = crash_report; - productInstallPath = "$(HOME)/bin"; - productName = crash_report; - productReference = 8DD76FA10486AA7600D96B5E /* crash_report */; - productType = "com.apple.product-type.tool"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 08FB7793FE84155DC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "crash_report" */; - hasScannedForEncodings = 1; - mainGroup = 08FB7794FE84155DC02AAC07 /* crash_report */; - projectDirPath = ""; - targets = ( - 8DD76F960486AA7600D96B5E /* crash_report */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 8DD76F990486AA7600D96B5E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8DD76F9A0486AA7600D96B5E /* crash_report.mm in Sources */, - 9BDF172C0B1B8B2400F8391B /* call_stack.cc in Sources */, - 9BDF172D0B1B8B2400F8391B /* minidump_processor.cc in Sources */, - 9BDF17410B1B8B9A00F8391B /* minidump.cc in Sources */, - 9BDF17540B1B8BF900F8391B /* stackwalker_ppc.cc in Sources */, - 9BDF17550B1B8BF900F8391B /* stackwalker_x86.cc in Sources */, - 9BDF17560B1B8BF900F8391B /* stackwalker.cc in Sources */, - 9BDF175D0B1B8C1B00F8391B /* process_state.cc in Sources */, - 9BDF176E0B1B8CB100F8391B /* on_demand_symbol_supplier.mm in Sources */, - 9BDF1A280B1BD58200F8391B /* pathname_stripper.cc in Sources */, - 9BDF21A70B1E825400F8391B /* dump_syms.mm in Sources */, - 9B35FEEA0B26761C008DE8C7 /* basic_code_modules.cc in Sources */, - 9B3904990B2E52FD0059FABE /* basic_source_line_resolver.cc in Sources */, - 9BE650B20B52FE3000611104 /* file_id.cc in Sources */, - 9BE650B40B52FE3000611104 /* macho_id.cc in Sources */, - 9BE650B60B52FE3000611104 /* macho_walker.cc in Sources */, - 557800400BE1F28500EC23E0 /* macho_utilities.cc in Sources */, - 8B40BDC00C0638E4009535AF /* logging.cc in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 1DEB927508733DD40010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - INSTALL_PATH = "$(HOME)/bin"; - OTHER_LDFLAGS = "-lcrypto"; - PRODUCT_NAME = crash_report; - USER_HEADER_SEARCH_PATHS = "../../../../** $(inherited)"; - ZERO_LINK = NO; - }; - name = Debug; - }; - 1DEB927608733DD40010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - GCC_C_LANGUAGE_STANDARD = c99; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - INSTALL_PATH = "$(HOME)/bin"; - OTHER_LDFLAGS = "-lcrypto"; - PRODUCT_NAME = crash_report; - USER_HEADER_SEARCH_PATHS = "../../../../** $(inherited)"; - ZERO_LINK = NO; - }; - name = Release; - }; - 1DEB927908733DD40010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; - }; - name = Debug; - }; - 1DEB927A08733DD40010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "crash_report" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB927508733DD40010E9CD /* Debug */, - 1DEB927608733DD40010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "crash_report" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB927908733DD40010E9CD /* Debug */, - 1DEB927A08733DD40010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; -} diff --git a/toolkit/airbag/airbag/src/tools/mac/crash_report/on_demand_symbol_supplier.h b/toolkit/airbag/airbag/src/tools/mac/crash_report/on_demand_symbol_supplier.h deleted file mode 100644 index cedbebb00c0b..000000000000 --- a/toolkit/airbag/airbag/src/tools/mac/crash_report/on_demand_symbol_supplier.h +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// on_demand_symbol_supplier.h: Provides a Symbol Supplier that will create -// a breakpad symbol file on demand. - -#ifndef TOOLS_MAC_CRASH_REPORT_ON_DEMAND_SYMBOL_SUPPLIER_H__ -#define TOOLS_MAC_CRASH_REPORT_ON_DEMAND_SYMBOL_SUPPLIER_H__ - -#include -#include -#include "google_breakpad/processor/symbol_supplier.h" - -namespace google_breakpad { - -using std::map; -using std::string; -class MinidumpModule; - -class OnDemandSymbolSupplier : public SymbolSupplier { - public: - // |search_dir| is the directory to search for alternative symbols with - // the same name as the module in the minidump - OnDemandSymbolSupplier(const string &search_dir); - virtual ~OnDemandSymbolSupplier() {} - - // Returns the path to the symbol file for the given module. - virtual SymbolResult GetSymbolFile(const CodeModule *module, - const SystemInfo *system_info, - string *symbol_file); - - protected: - // Search directory - string search_dir_; - - // When we create a symbol file for a module, save the name of the module - // and the path to that module's symbol file. - map module_file_map_; - - // Return the name for |module| This will be the value used as the key - // to the |module_file_map_|. - string GetNameForModule(const CodeModule *module); - - // Find the module on local system. If the module resides in a different - // location than the full path in the minidump, this will be the location - // used. - string GetLocalModulePath(const CodeModule *module); - - // Return the full path for |module|. - string GetModulePath(const CodeModule *module); - - // Return the path to the symbol file for |module|. If an empty string is - // returned, then |module| doesn't have a symbol file. - string GetModuleSymbolFile(const CodeModule *module); - - // Generate the breakpad symbol file for |module|. Return true if successful. - // File is generated in /tmp. - bool GenerateSymbolFile(const CodeModule *module, - const SystemInfo *system_info); -}; - -} // namespace google_breakpad - -#endif // TOOLS_MAC_CRASH_REPORT_ON_DEMAND_SYMBOL_SUPPLIER_H__ diff --git a/toolkit/airbag/airbag/src/tools/mac/crash_report/on_demand_symbol_supplier.mm b/toolkit/airbag/airbag/src/tools/mac/crash_report/on_demand_symbol_supplier.mm deleted file mode 100644 index 5f3bee91a2d7..000000000000 --- a/toolkit/airbag/airbag/src/tools/mac/crash_report/on_demand_symbol_supplier.mm +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include -#include -#include - -#include "google_breakpad/processor/basic_source_line_resolver.h" -#include "google_breakpad/processor/minidump.h" -#include "google_breakpad/processor/system_info.h" -#include "processor/pathname_stripper.h" - -#include "on_demand_symbol_supplier.h" -#include "dump_syms.h" - -using std::map; -using std::string; - -using google_breakpad::OnDemandSymbolSupplier; -using google_breakpad::PathnameStripper; -using google_breakpad::SymbolSupplier; -using google_breakpad::SystemInfo; - -OnDemandSymbolSupplier::OnDemandSymbolSupplier(const string &search_dir) - : search_dir_(search_dir) { -} - -SymbolSupplier::SymbolResult -OnDemandSymbolSupplier::GetSymbolFile(const CodeModule *module, - const SystemInfo *system_info, - string *symbol_file) { - string path(GetModuleSymbolFile(module)); - - if (path.empty()) { - if (!GenerateSymbolFile(module, system_info)) - return NOT_FOUND; - - path = GetModuleSymbolFile(module); - } - - if (path.empty()) - return NOT_FOUND; - - *symbol_file = path; - return FOUND; -} - -string OnDemandSymbolSupplier::GetLocalModulePath(const CodeModule *module) { - NSFileManager *mgr = [NSFileManager defaultManager]; - const char *moduleStr = module->code_file().c_str(); - NSString *modulePath = - [mgr stringWithFileSystemRepresentation:moduleStr length:strlen(moduleStr)]; - const char *searchStr = search_dir_.c_str(); - NSString *searchDir = - [mgr stringWithFileSystemRepresentation:searchStr length:strlen(searchStr)]; - - if ([mgr fileExistsAtPath:modulePath]) - return module->code_file(); - - // If the module is not found, try to start appending the components to the - // search string and stop if a file (not dir) is found or all components - // have been appended - NSArray *pathComponents = [modulePath componentsSeparatedByString:@"/"]; - int count = [pathComponents count]; - NSMutableString *path = [NSMutableString string]; - - for (int i = 0; i < count; ++i) { - [path setString:searchDir]; - - for (int j = 0; j < i + 1; ++j) { - int idx = count - 1 - i + j; - [path appendFormat:@"/%@", [pathComponents objectAtIndex:idx]]; - } - - BOOL isDir; - if ([mgr fileExistsAtPath:path isDirectory:&isDir] && (!isDir)) { - return [path fileSystemRepresentation]; - } - } - - return ""; -} - -string OnDemandSymbolSupplier::GetModulePath(const CodeModule *module) { - return module->code_file(); -} - -string OnDemandSymbolSupplier::GetNameForModule(const CodeModule *module) { - return PathnameStripper::File(module->code_file()); -} - -string OnDemandSymbolSupplier::GetModuleSymbolFile(const CodeModule *module) { - string name(GetNameForModule(module)); - map::iterator result = module_file_map_.find(name); - - return (result == module_file_map_.end()) ? "" : (*result).second; -} - -static float GetFileModificationTime(const char *path) { - float result = 0; - struct stat file_stat; - if (stat(path, &file_stat) == 0) - result = (float)file_stat.st_mtimespec.tv_sec + - (float)file_stat.st_mtimespec.tv_nsec / 1.0e9; - - return result; -} - -bool OnDemandSymbolSupplier::GenerateSymbolFile(const CodeModule *module, - const SystemInfo *system_info) { - bool result = true; - string name = GetNameForModule(module); - string module_path = GetLocalModulePath(module); - NSString *symbol_path = [NSString stringWithFormat:@"/tmp/%s.%s.sym", - name.c_str(), system_info->cpu.c_str()]; - - if (module_path.empty()) - return false; - - // Check if there's already a symbol file cached. Ensure that the file is - // newer than the module. Otherwise, generate a new one. - BOOL generate_file = YES; - if ([[NSFileManager defaultManager] fileExistsAtPath:symbol_path]) { - // Check if the module file is newer than the saved symbols - float cache_time = - GetFileModificationTime([symbol_path fileSystemRepresentation]); - float module_time = - GetFileModificationTime(module_path.c_str()); - - if (cache_time > module_time) - generate_file = NO; - } - - if (generate_file) { - NSString *module_str = [[NSFileManager defaultManager] - stringWithFileSystemRepresentation:module_path.c_str() - length:module_path.length()]; - DumpSymbols *dump = [[DumpSymbols alloc] initWithContentsOfFile:module_str]; - const char *archStr = system_info->cpu.c_str(); - if ([dump setArchitecture:[NSString stringWithUTF8String:archStr]]) { - [dump writeSymbolFile:symbol_path]; - } else { - printf("Architecture %s not available for %s\n", archStr, name.c_str()); - result = false; - } - [dump release]; - } - - // Add the mapping - if (result) - module_file_map_[name] = [symbol_path fileSystemRepresentation]; - - return result; -} diff --git a/toolkit/airbag/airbag/src/tools/mac/dump_syms/Makefile.in b/toolkit/airbag/airbag/src/tools/mac/dump_syms/Makefile.in deleted file mode 100644 index 2524b23ce234..000000000000 --- a/toolkit/airbag/airbag/src/tools/mac/dump_syms/Makefile.in +++ /dev/null @@ -1,68 +0,0 @@ -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Breakpad integration -# -# The Initial Developer of the Original Code is -# Ted Mielczarek -# Portions created by the Initial Developer are Copyright (C) 2007 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../../../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -HOST_PROGRAM = dump_syms - -LOCAL_INCLUDES = \ - -I$(srcdir)/../../.. \ - -I$(srcdir)/../../../common/mac \ - $(NULL) - -HOST_CMSRCS = \ - dump_syms_tool.m \ - $(NULL) - -HOST_LIBS += \ - $(DEPTH)/toolkit/airbag/airbag/src/common/mac/$(LIB_PREFIX)host_breakpad_mac_common_s.$(LIB_SUFFIX) \ - $(DEPTH)/toolkit/airbag/airbag/src/common/$(LIB_PREFIX)host_breakpad_common_s.$(LIB_SUFFIX) \ - $(NULL) - -HOST_LDFLAGS += \ - -framework Foundation \ - -lcrypto \ - $(NULL) - -# force C++ linking -CPP_PROG_LINK = 1 - -include $(topsrcdir)/config/rules.mk diff --git a/toolkit/airbag/airbag/src/tools/mac/dump_syms/dump_syms.xcodeproj/project.pbxproj b/toolkit/airbag/airbag/src/tools/mac/dump_syms/dump_syms.xcodeproj/project.pbxproj deleted file mode 100644 index 3a19cb963e3e..000000000000 --- a/toolkit/airbag/airbag/src/tools/mac/dump_syms/dump_syms.xcodeproj/project.pbxproj +++ /dev/null @@ -1,251 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 5578008B0BE1F3AB00EC23E0 /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 557800890BE1F3AB00EC23E0 /* macho_utilities.cc */; }; - 5578008C0BE1F3AB00EC23E0 /* macho_utilities.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5578008A0BE1F3AB00EC23E0 /* macho_utilities.h */; }; - 8DD76F9A0486AA7600D96B5E /* dump_syms.mm in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* dump_syms.mm */; settings = {ATTRIBUTES = (); }; }; - 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; - 9BDF186F0B1BB43700F8391B /* dump_syms.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BDF186D0B1BB43700F8391B /* dump_syms.h */; }; - 9BDF18700B1BB43700F8391B /* dump_syms_tool.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF186E0B1BB43700F8391B /* dump_syms_tool.m */; }; - 9BE650470B52F6D800611104 /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BE650410B52F6D800611104 /* file_id.cc */; }; - 9BE650480B52F6D800611104 /* file_id.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BE650420B52F6D800611104 /* file_id.h */; }; - 9BE650490B52F6D800611104 /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BE650430B52F6D800611104 /* macho_id.cc */; }; - 9BE6504A0B52F6D800611104 /* macho_id.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BE650440B52F6D800611104 /* macho_id.h */; }; - 9BE6504B0B52F6D800611104 /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BE650450B52F6D800611104 /* macho_walker.cc */; }; - 9BE6504C0B52F6D800611104 /* macho_walker.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BE650460B52F6D800611104 /* macho_walker.h */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 8DD76F9E0486AA7600D96B5E /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 8; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - 9BDF186F0B1BB43700F8391B /* dump_syms.h in CopyFiles */, - 9BE650480B52F6D800611104 /* file_id.h in CopyFiles */, - 9BE6504A0B52F6D800611104 /* macho_id.h in CopyFiles */, - 9BE6504C0B52F6D800611104 /* macho_walker.h in CopyFiles */, - 5578008C0BE1F3AB00EC23E0 /* macho_utilities.h in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 1; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 08FB7796FE84155DC02AAC07 /* dump_syms.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = dump_syms.mm; path = ../../../common/mac/dump_syms.mm; sourceTree = ""; }; - 08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 557800890BE1F3AB00EC23E0 /* macho_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macho_utilities.cc; path = ../../../common/mac/macho_utilities.cc; sourceTree = SOURCE_ROOT; }; - 5578008A0BE1F3AB00EC23E0 /* macho_utilities.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macho_utilities.h; path = ../../../common/mac/macho_utilities.h; sourceTree = SOURCE_ROOT; }; - 8DD76FA10486AA7600D96B5E /* dump_syms */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dump_syms; sourceTree = BUILT_PRODUCTS_DIR; }; - 9BDF186D0B1BB43700F8391B /* dump_syms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dump_syms.h; path = ../../../common/mac/dump_syms.h; sourceTree = ""; }; - 9BDF186E0B1BB43700F8391B /* dump_syms_tool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = dump_syms_tool.m; sourceTree = ""; }; - 9BE650410B52F6D800611104 /* file_id.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = file_id.cc; path = ../../../common/mac/file_id.cc; sourceTree = SOURCE_ROOT; }; - 9BE650420B52F6D800611104 /* file_id.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = file_id.h; path = ../../../common/mac/file_id.h; sourceTree = SOURCE_ROOT; }; - 9BE650430B52F6D800611104 /* macho_id.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macho_id.cc; path = ../../../common/mac/macho_id.cc; sourceTree = SOURCE_ROOT; }; - 9BE650440B52F6D800611104 /* macho_id.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macho_id.h; path = ../../../common/mac/macho_id.h; sourceTree = SOURCE_ROOT; }; - 9BE650450B52F6D800611104 /* macho_walker.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macho_walker.cc; path = ../../../common/mac/macho_walker.cc; sourceTree = SOURCE_ROOT; }; - 9BE650460B52F6D800611104 /* macho_walker.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macho_walker.h; path = ../../../common/mac/macho_walker.h; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8DD76F9B0486AA7600D96B5E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 08FB7794FE84155DC02AAC07 /* dump_syms */ = { - isa = PBXGroup; - children = ( - 557800890BE1F3AB00EC23E0 /* macho_utilities.cc */, - 5578008A0BE1F3AB00EC23E0 /* macho_utilities.h */, - 9BE650410B52F6D800611104 /* file_id.cc */, - 9BE650420B52F6D800611104 /* file_id.h */, - 9BE650430B52F6D800611104 /* macho_id.cc */, - 9BE650440B52F6D800611104 /* macho_id.h */, - 9BE650450B52F6D800611104 /* macho_walker.cc */, - 9BE650460B52F6D800611104 /* macho_walker.h */, - 9BDF186D0B1BB43700F8391B /* dump_syms.h */, - 08FB7796FE84155DC02AAC07 /* dump_syms.mm */, - 9BDF186E0B1BB43700F8391B /* dump_syms_tool.m */, - 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */, - 1AB674ADFE9D54B511CA2CBB /* Products */, - ); - name = dump_syms; - sourceTree = ""; - }; - 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 08FB779EFE84155DC02AAC07 /* Foundation.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = ""; - }; - 1AB674ADFE9D54B511CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8DD76FA10486AA7600D96B5E /* dump_syms */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 8DD76F960486AA7600D96B5E /* dump_syms */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "dump_syms" */; - buildPhases = ( - 8DD76F990486AA7600D96B5E /* Sources */, - 8DD76F9B0486AA7600D96B5E /* Frameworks */, - 8DD76F9E0486AA7600D96B5E /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = dump_syms; - productInstallPath = "$(HOME)/bin"; - productName = dump_syms; - productReference = 8DD76FA10486AA7600D96B5E /* dump_syms */; - productType = "com.apple.product-type.tool"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 08FB7793FE84155DC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "dump_syms" */; - hasScannedForEncodings = 1; - mainGroup = 08FB7794FE84155DC02AAC07 /* dump_syms */; - projectDirPath = ""; - targets = ( - 8DD76F960486AA7600D96B5E /* dump_syms */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 8DD76F990486AA7600D96B5E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8DD76F9A0486AA7600D96B5E /* dump_syms.mm in Sources */, - 9BDF18700B1BB43700F8391B /* dump_syms_tool.m in Sources */, - 9BE650470B52F6D800611104 /* file_id.cc in Sources */, - 9BE650490B52F6D800611104 /* macho_id.cc in Sources */, - 9BE6504B0B52F6D800611104 /* macho_walker.cc in Sources */, - 5578008B0BE1F3AB00EC23E0 /* macho_utilities.cc in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 1DEB927508733DD40010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = "compiler-default"; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = ""; - HEADER_SEARCH_PATHS = ( - "../../../**", - "$(inherited)", - ); - INSTALL_PATH = "$(HOME)/bin"; - OTHER_LDFLAGS = "-lcrypto"; - PRODUCT_NAME = dump_syms; - WARNING_CFLAGS = "-Wall"; - ZERO_LINK = NO; - }; - name = Debug; - }; - 1DEB927608733DD40010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - GCC_C_LANGUAGE_STANDARD = "compiler-default"; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = ""; - HEADER_SEARCH_PATHS = ( - "../../../**", - "$(inherited)", - ); - INSTALL_PATH = "$(HOME)/bin"; - OTHER_LDFLAGS = "-lcrypto"; - PRODUCT_NAME = dump_syms; - WARNING_CFLAGS = "-Wall"; - ZERO_LINK = NO; - }; - name = Release; - }; - 1DEB927908733DD40010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; - }; - name = Debug; - }; - 1DEB927A08733DD40010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "dump_syms" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB927508733DD40010E9CD /* Debug */, - 1DEB927608733DD40010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "dump_syms" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB927908733DD40010E9CD /* Debug */, - 1DEB927A08733DD40010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; -} diff --git a/toolkit/airbag/airbag/src/tools/mac/dump_syms/dump_syms_tool.m b/toolkit/airbag/airbag/src/tools/mac/dump_syms/dump_syms_tool.m deleted file mode 100644 index 3729a8d5dc34..000000000000 --- a/toolkit/airbag/airbag/src/tools/mac/dump_syms/dump_syms_tool.m +++ /dev/null @@ -1,142 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// dump_syms_tool.m: Command line tool that uses the DumpSymbols class. -// TODO(waylonis): accept stdin - -#include -#include - -#include "dump_syms.h" -#include "common/mac/macho_utilities.h" - -typedef struct { - NSString *srcPath; - NSString *arch; - NSString *uuidStr; - BOOL result; -} Options; - -//============================================================================= -static void Start(Options *options) { - DumpSymbols *dump = [[DumpSymbols alloc] - initWithContentsOfFile:options->srcPath]; - - if (!dump) { - fprintf(stderr, "%s is not a valid Mach-o file\n", - [options->srcPath fileSystemRepresentation]); - options->result = NO; - return; - } - - if (![dump setArchitecture:options->arch]) { - fprintf(stderr, "Architecture: %s not available in %s\n", - [options->arch UTF8String], - [options->srcPath fileSystemRepresentation]); - options->result = NO; - return; - } - - options->result = [dump writeSymbolFile:@"-"]; -} - -//============================================================================= -static void Usage(int argc, const char *argv[]) { - fprintf(stderr, "Output a Breakpad symbol file from a Mach-o file.\n"); - fprintf(stderr, "Usage: %s [-a ppc|i386|x86] \n", - argv[0]); - fprintf(stderr, "\t-a: Architecture type [default: native]\n"); - fprintf(stderr, "\t-h: Usage\n"); - fprintf(stderr, "\t-?: Usage\n"); -} - -//============================================================================= -static void SetupOptions(int argc, const char *argv[], Options *options) { - extern int optind; - const NXArchInfo *localArchInfo = NXGetLocalArchInfo(); - char ch; - - if (localArchInfo) { - if (localArchInfo->cputype & CPU_ARCH_ABI64) - options->arch = (localArchInfo->cputype == CPU_TYPE_POWERPC64) ? @"ppc64": - @"x86_64"; - else - options->arch = (localArchInfo->cputype == CPU_TYPE_POWERPC) ? @"ppc" : - @"x86"; - } - - while ((ch = getopt(argc, (char * const *)argv, "a:h?")) != -1) { - switch (ch) { - case 'a': - if (strcmp("ppc", optarg) == 0) - options->arch = @"ppc"; - else if (strcmp("x86", optarg) == 0 || strcmp("i386", optarg) == 0) - options->arch = @"x86"; - else if (strcmp("ppc64", optarg) == 0) - options->arch = @"ppc64"; - else if (strcmp("x86_64", optarg) == 0) - options->arch = @"x86_64"; - else { - fprintf(stderr, "%s: Invalid architecture: %s\n", argv[0], optarg); - Usage(argc, argv); - exit(1); - } - break; - case '?': - case 'h': - Usage(argc, argv); - exit(0); - break; - } - } - - if ((argc - optind) != 1) { - fprintf(stderr, "Must specify Mach-o file\n"); - Usage(argc, argv); - exit(1); - } - - options->srcPath = [[NSFileManager defaultManager] - stringWithFileSystemRepresentation:argv[optind] - length:strlen(argv[optind])]; -} - -//============================================================================= -int main (int argc, const char * argv[]) { - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - Options options; - - bzero(&options, sizeof(Options)); - SetupOptions(argc, argv, &options); - Start(&options); - - [pool release]; - - return !options.result; -} diff --git a/toolkit/airbag/airbag/src/tools/mac/symupload/minidump_upload.m b/toolkit/airbag/airbag/src/tools/mac/symupload/minidump_upload.m deleted file mode 100644 index 4f9d8c7a335c..000000000000 --- a/toolkit/airbag/airbag/src/tools/mac/symupload/minidump_upload.m +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// minidump_upload.m: Upload a minidump to a HTTP server. The upload is sent as -// a multipart/form-data POST request with the following parameters: -// prod: the product name -// ver: the product version -// symbol_file: the breakpad format symbol file - -#import - -#import - -#import "common/mac/HTTPMultipartUpload.h" - -typedef struct { - NSString *minidumpPath; - NSString *uploadURLStr; - NSString *product; - NSString *version; - BOOL success; -} Options; - -//============================================================================= -static void Start(Options *options) { - NSURL *url = [NSURL URLWithString:options->uploadURLStr]; - HTTPMultipartUpload *ul = [[HTTPMultipartUpload alloc] initWithURL:url]; - NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; - - // Add parameters - [parameters setObject:options->product forKey:@"prod"]; - [parameters setObject:options->version forKey:@"ver"]; - [ul setParameters:parameters]; - - // Add file - [ul addFileAtPath:options->minidumpPath name:@"upload_file_minidump"]; - - // Send it - NSError *error = nil; - NSData *data = [ul send:&error]; - NSString *result = [[NSString alloc] initWithData:data - encoding:NSUTF8StringEncoding]; - - NSLog(@"Send: %@", error ? [error description] : @"No Error"); - NSLog(@"Response: %d", [[ul response] statusCode]); - NSLog(@"Result: %d bytes\n%@", [data length], result); - - [result release]; - [ul release]; - options->success = !error; -} - -//============================================================================= -static void -Usage(int argc, const char *argv[]) { - fprintf(stderr, "Submit minidump information.\n"); - fprintf(stderr, "Usage: %s -p -v " - "\n", argv[0]); - fprintf(stderr, " should be a minidump.\n"); - fprintf(stderr, " is the destination for the upload\n"); - - fprintf(stderr, "\t-h: Usage\n"); - fprintf(stderr, "\t-?: Usage\n"); -} - -//============================================================================= -static void -SetupOptions(int argc, const char *argv[], Options *options) { - extern int optind; - char ch; - - while ((ch = getopt(argc, (char * const *)argv, "p:v:h?")) != -1) { - switch (ch) { - case 'p': - options->product = [NSString stringWithCString:optarg]; - break; - case 'v': - options->version = [NSString stringWithCString:optarg]; - break; - - default: - Usage(argc, argv); - exit(0); - break; - } - } - - if ((argc - optind) != 2) { - fprintf(stderr, "%s: Missing symbols file and/or upload-URL\n", argv[0]); - Usage(argc, argv); - exit(1); - } - - options->minidumpPath = [NSString stringWithCString:argv[optind]]; - options->uploadURLStr = [NSString stringWithCString:argv[optind + 1]]; -} - -//============================================================================= -int main (int argc, const char * argv[]) { - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - Options options; - - bzero(&options, sizeof(Options)); - SetupOptions(argc, argv, &options); - Start(&options); - - [pool release]; - return options.success ? 0 : 1; -} diff --git a/toolkit/airbag/airbag/src/tools/mac/symupload/symupload.m b/toolkit/airbag/airbag/src/tools/mac/symupload/symupload.m deleted file mode 100644 index 70b2ef739313..000000000000 --- a/toolkit/airbag/airbag/src/tools/mac/symupload/symupload.m +++ /dev/null @@ -1,175 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// symupload.m: Upload a symbol file to a HTTP server. The upload is sent as -// a multipart/form-data POST request with the following parameters: -// code_file: the basename of the module, e.g. "app" -// debug_file: the basename of the debugging file, e.g. "app" -// debug_identifier: the debug file's identifier, usually consisting of -// the guid and age embedded in the pdb, e.g. -// "11111111BBBB3333DDDD555555555555F" -// os: the operating system that the module was built for -// cpu: the CPU that the module was built for (x86 or ppc) -// symbol_file: the contents of the breakpad-format symbol file - -#include - -#include -#include "HTTPMultipartUpload.h" - -typedef struct { - NSString *symbolsPath; - NSString *uploadURLStr; - BOOL success; -} Options; - -//============================================================================= -static NSArray *ModuleDataForSymbolFile(NSString *file) { - NSFileHandle *fh = [NSFileHandle fileHandleForReadingAtPath:file]; - NSData *data = [fh readDataOfLength:1024]; - NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; - NSScanner *scanner = [NSScanner scannerWithString:str]; - NSString *line; - NSArray *parts = nil; - - if ([scanner scanUpToString:@"\n" intoString:&line]) - parts = [line componentsSeparatedByString:@" "]; - - [str release]; - - return parts; -} - -//============================================================================= -static NSString *CompactIdentifier(NSString *uuid) { - NSMutableString *str = [NSMutableString stringWithString:uuid]; - [str replaceOccurrencesOfString:@"-" withString:@"" options:0 - range:NSMakeRange(0, [str length])]; - - return str; -} - -//============================================================================= -static void Start(Options *options) { - NSURL *url = [NSURL URLWithString:options->uploadURLStr]; - HTTPMultipartUpload *ul = [[HTTPMultipartUpload alloc] initWithURL:url]; - NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; - NSArray *moduleParts = ModuleDataForSymbolFile(options->symbolsPath); - NSMutableString *compactedID = - [NSMutableString stringWithString:[moduleParts objectAtIndex:3]]; - [compactedID replaceOccurrencesOfString:@"-" withString:@"" options:0 - range:NSMakeRange(0, [compactedID length])]; - - // Add parameters - [parameters setObject:compactedID forKey:@"debug_identifier"]; - - // MODULE - // 0 1 2 3 4 - [parameters setObject:[moduleParts objectAtIndex:1] forKey:@"os"]; - [parameters setObject:[moduleParts objectAtIndex:2] forKey:@"cpu"]; - [parameters setObject:[moduleParts objectAtIndex:4] forKey:@"debug_file"]; - [parameters setObject:[moduleParts objectAtIndex:4] forKey:@"code_file"]; - [ul setParameters:parameters]; - - NSArray *keys = [parameters allKeys]; - int count = [keys count]; - for (int i = 0; i < count; ++i) { - NSString *key = [keys objectAtIndex:i]; - NSString *value = [parameters objectForKey:key]; - fprintf(stdout, "'%s' = '%s'\n", [key UTF8String], - [value UTF8String]); - } - - // Add file - [ul addFileAtPath:options->symbolsPath name:@"symbol_file"]; - - // Send it - NSError *error = nil; - NSData *data = [ul send:&error]; - NSString *result = [[NSString alloc] initWithData:data - encoding:NSUTF8StringEncoding]; - - fprintf(stdout, "Send: %s\n", error ? [[error description] UTF8String] : - "No Error"); - fprintf(stdout, "Response: %d\n", [[ul response] statusCode]); - fprintf(stdout, "Result: %d bytes\n%s\n", [data length], [result UTF8String]); - - [result release]; - [ul release]; - options->success = !error; -} - -//============================================================================= -static void -Usage(int argc, const char *argv[]) { - fprintf(stderr, "Submit symbol information.\n"); - fprintf(stderr, "Usage: %s \n", argv[0]); - fprintf(stderr, " should be created by using the dump_syms tool.\n"); - fprintf(stderr, " is the destination for the upload\n"); - fprintf(stderr, "\t-h: Usage\n"); - fprintf(stderr, "\t-?: Usage\n"); -} - -//============================================================================= -static void -SetupOptions(int argc, const char *argv[], Options *options) { - extern int optind; - char ch; - - while ((ch = getopt(argc, (char * const *)argv, "h?")) != -1) { - switch (ch) { - default: - Usage(argc, argv); - exit(0); - break; - } - } - - if ((argc - optind) != 2) { - fprintf(stderr, "%s: Missing symbols file and/or upload-URL\n", argv[0]); - Usage(argc, argv); - exit(1); - } - - options->symbolsPath = [NSString stringWithCString:argv[optind]]; - options->uploadURLStr = [NSString stringWithCString:argv[optind + 1]]; -} - -//============================================================================= -int main (int argc, const char * argv[]) { - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - Options options; - - bzero(&options, sizeof(Options)); - SetupOptions(argc, argv, &options); - Start(&options); - - [pool release]; - return options.success ? 0 : 1; -} diff --git a/toolkit/airbag/airbag/src/tools/mac/symupload/symupload.xcodeproj/project.pbxproj b/toolkit/airbag/airbag/src/tools/mac/symupload/symupload.xcodeproj/project.pbxproj deleted file mode 100644 index d2f4a1cae3e9..000000000000 --- a/toolkit/airbag/airbag/src/tools/mac/symupload/symupload.xcodeproj/project.pbxproj +++ /dev/null @@ -1,303 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 8DD76F9A0486AA7600D96B5E /* symupload.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* symupload.m */; settings = {ATTRIBUTES = (); }; }; - 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; - 9BC1D49E0B37427A00F2A2B4 /* minidump_upload.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BD836000B0544BA0055103E /* minidump_upload.m */; }; - 9BD8336A0B03E4080055103E /* HTTPMultipartUpload.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BD833680B03E4080055103E /* HTTPMultipartUpload.h */; }; - 9BD8336B0B03E4080055103E /* HTTPMultipartUpload.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BD833690B03E4080055103E /* HTTPMultipartUpload.m */; }; - 9BD836180B0549F70055103E /* HTTPMultipartUpload.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BD833690B03E4080055103E /* HTTPMultipartUpload.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 8DD76F9E0486AA7600D96B5E /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 8; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - 9BD8336A0B03E4080055103E /* HTTPMultipartUpload.h in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 1; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 08FB7796FE84155DC02AAC07 /* symupload.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = symupload.m; sourceTree = ""; }; - 08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 8DD76FA10486AA7600D96B5E /* symupload */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = symupload; sourceTree = BUILT_PRODUCTS_DIR; }; - 9BD833680B03E4080055103E /* HTTPMultipartUpload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTTPMultipartUpload.h; path = ../../../common/mac/HTTPMultipartUpload.h; sourceTree = ""; }; - 9BD833690B03E4080055103E /* HTTPMultipartUpload.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HTTPMultipartUpload.m; path = ../../../common/mac/HTTPMultipartUpload.m; sourceTree = ""; }; - 9BD835FB0B0544950055103E /* minidump_upload */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = minidump_upload; sourceTree = BUILT_PRODUCTS_DIR; }; - 9BD836000B0544BA0055103E /* minidump_upload.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = minidump_upload.m; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8DD76F9B0486AA7600D96B5E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9BD835F90B0544950055103E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 08FB7794FE84155DC02AAC07 /* symupload */ = { - isa = PBXGroup; - children = ( - 08FB7796FE84155DC02AAC07 /* symupload.m */, - 9BD836000B0544BA0055103E /* minidump_upload.m */, - 9BD833680B03E4080055103E /* HTTPMultipartUpload.h */, - 9BD833690B03E4080055103E /* HTTPMultipartUpload.m */, - 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */, - 1AB674ADFE9D54B511CA2CBB /* Products */, - ); - name = symupload; - sourceTree = ""; - }; - 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 08FB779EFE84155DC02AAC07 /* Foundation.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = ""; - }; - 1AB674ADFE9D54B511CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8DD76FA10486AA7600D96B5E /* symupload */, - 9BD835FB0B0544950055103E /* minidump_upload */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 8DD76F960486AA7600D96B5E /* symupload */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "symupload" */; - buildPhases = ( - 8DD76F990486AA7600D96B5E /* Sources */, - 8DD76F9B0486AA7600D96B5E /* Frameworks */, - 8DD76F9E0486AA7600D96B5E /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = symupload; - productInstallPath = "$(HOME)/bin"; - productName = symupload; - productReference = 8DD76FA10486AA7600D96B5E /* symupload */; - productType = "com.apple.product-type.tool"; - }; - 9BD835FA0B0544950055103E /* minidump_upload */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9BD836020B0544BB0055103E /* Build configuration list for PBXNativeTarget "minidump_upload" */; - buildPhases = ( - 9BD835F80B0544950055103E /* Sources */, - 9BD835F90B0544950055103E /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = minidump_upload; - productName = minidump_upload; - productReference = 9BD835FB0B0544950055103E /* minidump_upload */; - productType = "com.apple.product-type.tool"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 08FB7793FE84155DC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "symupload" */; - hasScannedForEncodings = 1; - mainGroup = 08FB7794FE84155DC02AAC07 /* symupload */; - projectDirPath = ""; - targets = ( - 8DD76F960486AA7600D96B5E /* symupload */, - 9BD835FA0B0544950055103E /* minidump_upload */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 8DD76F990486AA7600D96B5E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8DD76F9A0486AA7600D96B5E /* symupload.m in Sources */, - 9BD8336B0B03E4080055103E /* HTTPMultipartUpload.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9BD835F80B0544950055103E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9BD836180B0549F70055103E /* HTTPMultipartUpload.m in Sources */, - 9BC1D49E0B37427A00F2A2B4 /* minidump_upload.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 1DEB927508733DD40010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_PREFIX_HEADER = ""; - INSTALL_PATH = "$(HOME)/bin"; - PRODUCT_NAME = symupload; - USER_HEADER_SEARCH_PATHS = "../../../** $(inherited)"; - ZERO_LINK = NO; - }; - name = Debug; - }; - 1DEB927608733DD40010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - GCC_C_LANGUAGE_STANDARD = c99; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_PREFIX_HEADER = ""; - INSTALL_PATH = "$(HOME)/bin"; - PRODUCT_NAME = symupload; - USER_HEADER_SEARCH_PATHS = "../../../** $(inherited)"; - ZERO_LINK = NO; - }; - name = Release; - }; - 1DEB927908733DD40010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; - }; - name = Debug; - }; - 1DEB927A08733DD40010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; - }; - name = Release; - }; - 9BD836030B0544BB0055103E /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; - INSTALL_PATH = "$(HOME)/bin"; - OTHER_LDFLAGS = ( - "-framework", - Foundation, - "-framework", - AppKit, - ); - PREBINDING = NO; - PRODUCT_NAME = minidump_upload; - USER_HEADER_SEARCH_PATHS = "../../../**"; - ZERO_LINK = NO; - }; - name = Debug; - }; - 9BD836040B0544BB0055103E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; - INSTALL_PATH = "$(HOME)/bin"; - OTHER_LDFLAGS = ( - "-framework", - Foundation, - "-framework", - AppKit, - ); - PREBINDING = NO; - PRODUCT_NAME = minidump_upload; - USER_HEADER_SEARCH_PATHS = "../../../**"; - ZERO_LINK = NO; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "symupload" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB927508733DD40010E9CD /* Debug */, - 1DEB927608733DD40010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "symupload" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB927908733DD40010E9CD /* Debug */, - 1DEB927A08733DD40010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9BD836020B0544BB0055103E /* Build configuration list for PBXNativeTarget "minidump_upload" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9BD836030B0544BB0055103E /* Debug */, - 9BD836040B0544BB0055103E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; -} diff --git a/toolkit/airbag/airbag/src/tools/windows/converter/ms_symbol_server_converter.cc b/toolkit/airbag/airbag/src/tools/windows/converter/ms_symbol_server_converter.cc deleted file mode 100644 index 725eeeb99408..000000000000 --- a/toolkit/airbag/airbag/src/tools/windows/converter/ms_symbol_server_converter.cc +++ /dev/null @@ -1,516 +0,0 @@ -// Copyright (c) 2007, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// ms_symbol_server_converter.cc: Obtain symbol files from a Microsoft -// symbol server, and convert them to Breakpad's dumped format. -// -// See ms_symbol_server_converter.h for documentation. -// -// Author: Mark Mentovai - -#include -#include - -#include -#include - -#include "tools/windows/converter/ms_symbol_server_converter.h" -#include "common/windows/pdb_source_line_writer.h" -#include "common/windows/string_utils-inl.h" - -// SYMOPT_NO_PROMPTS is not defined in earlier platform SDKs. Define it -// in that case, in the event that this code is used with a newer version -// of DbgHelp at runtime that recognizes the option. The presence of this -// bit in the symbol options should not harm earlier versions of DbgHelp. -#ifndef SYMOPT_NO_PROMPTS -#define SYMOPT_NO_PROMPTS 0x00080000 -#endif // SYMOPT_NO_PROMPTS - -namespace google_breakpad { - -// Use sscanf_s if it is available, to quench the warning about scanf being -// deprecated. Use scanf where sscanf_is not available. Note that the -// parameters passed to sscanf and sscanf_s are only compatible as long as -// fields of type c, C, s, S, and [ are not used. -#if _MSC_VER >= 1400 // MSVC 2005/8 -#define SSCANF sscanf_s -#else // _MSC_VER >= 1400 -#define SSCANF sscanf -#endif // _MSC_VER >= 1400 - -bool GUIDOrSignatureIdentifier::InitializeFromString( - const string &identifier) { - type_ = TYPE_NONE; - - size_t length = identifier.length(); - - if (length > 32 && length <= 40) { - // GUID - if (SSCANF(identifier.c_str(), - "%08X%04X%04X%02X%02X%02X%02X%02X%02X%02X%02X%X", - &guid_.Data1, &guid_.Data2, &guid_.Data3, - &guid_.Data4[0], &guid_.Data4[1], - &guid_.Data4[2], &guid_.Data4[3], - &guid_.Data4[4], &guid_.Data4[5], - &guid_.Data4[6], &guid_.Data4[7], - &age_) != 12) { - return false; - } - - type_ = TYPE_GUID; - } else if (length > 8 && length <= 15) { - // Signature - if (SSCANF(identifier.c_str(), "%08X%x", &signature_, &age_) != 2) { - return false; - } - - type_ = TYPE_SIGNATURE; - } else { - return false; - } - - return true; -} - -#undef SSCANF - -MSSymbolServerConverter::MSSymbolServerConverter( - const string &local_cache, const vector &symbol_servers) - : symbol_path_(), - fail_dns_(false), - fail_timeout_(false), - fail_not_found_(false) { - // Setting local_cache can be done without verifying that it exists because - // SymSrv will create it if it is missing - any creation failures will occur - // at that time, so there's nothing to check here, making it safe to - // assign this in the constructor. - - assert(symbol_servers.size() > 0); - - // These are characters that are interpreted as having special meanings in - // symbol_path_. - const char *kInvalidCharacters = "*;"; - assert(local_cache.find_first_of(kInvalidCharacters) == string::npos); - - for (vector::const_iterator symbol_server = symbol_servers.begin(); - symbol_server != symbol_servers.end(); - ++symbol_server) { - // The symbol path format is explained by - // http://msdn.microsoft.com/library/en-us/debug/base/using_symsrv.asp . - // "srv*" is the same as "symsrv*symsrv.dll*", which means that - // symsrv.dll is to be responsible for locating symbols. symsrv.dll - // interprets the rest of the string as a series of symbol stores separated - // by '*'. "srv*local_cache*symbol_server" means to check local_cache - // first for the symbol file, and if it is not found there, to check - // symbol_server. Symbol files found on the symbol server will be placed - // in the local cache, decompressed. - // - // Multiple specifications in this format may be presented, separated by - // semicolons. - - assert((*symbol_server).find_first_of(kInvalidCharacters) == string::npos); - symbol_path_ += "srv*" + local_cache + "*" + *symbol_server + ";"; - } - - // Strip the trailing semicolon. - symbol_path_.erase(symbol_path_.length() - 1); -} - -// A stack-based class that manages SymInitialize and SymCleanup calls. -class AutoSymSrv { - public: - AutoSymSrv() : initialized_(false) {} - - ~AutoSymSrv() { - if (!Cleanup()) { - // Print the error message here, because destructors have no return - // value. - fprintf(stderr, "~AutoSymSrv: SymCleanup: error %d\n", GetLastError()); - } - } - - bool Initialize(HANDLE process, char *path, bool invade_process) { - process_ = process; - initialized_ = SymInitialize(process, path, invade_process) == TRUE; - return initialized_; - } - - bool Cleanup() { - if (initialized_) { - if (SymCleanup(process_)) { - initialized_ = false; - return true; - } - return false; - } - - return true; - } - - private: - HANDLE process_; - bool initialized_; -}; - -// A stack-based class that "owns" a pathname and deletes it when destroyed, -// unless told not to by having its Release() method called. Early deletions -// are supported by calling Delete(). -class AutoDeleter { - public: - AutoDeleter(const string &path) : path_(path) {} - - ~AutoDeleter() { - int error; - if ((error = Delete()) != 0) { - // Print the error message here, because destructors have no return - // value. - fprintf(stderr, "~AutoDeleter: Delete: error %d for %s\n", - error, path_.c_str()); - } - } - - int Delete() { - if (path_.empty()) - return 0; - - int error = remove(path_.c_str()); - Release(); - return error; - } - - void Release() { - path_.clear(); - } - - private: - string path_; -}; - -MSSymbolServerConverter::LocateResult -MSSymbolServerConverter::LocateSymbolFile(const MissingSymbolInfo &missing, - string *symbol_file) { - assert(symbol_file); - symbol_file->clear(); - - GUIDOrSignatureIdentifier identifier; - if (!identifier.InitializeFromString(missing.debug_identifier)) { - fprintf(stderr, - "LocateSymbolFile: Unparseable debug_identifier for %s %s %s\n", - missing.debug_file.c_str(), - missing.debug_identifier.c_str(), - missing.version.c_str()); - return LOCATE_FAILURE; - } - - HANDLE process = GetCurrentProcess(); // CloseHandle is not needed. - AutoSymSrv symsrv; - if (!symsrv.Initialize(process, - const_cast(symbol_path_.c_str()), - false)) { - fprintf(stderr, "LocateSymbolFile: SymInitialize: error %d for %s %s %s\n", - GetLastError(), - missing.debug_file.c_str(), - missing.debug_identifier.c_str(), - missing.version.c_str()); - return LOCATE_FAILURE; - } - - if (!SymRegisterCallback64(process, SymCallback, - reinterpret_cast(this))) { - fprintf(stderr, - "LocateSymbolFile: SymRegisterCallback64: error %d for %s %s %s\n", - GetLastError(), - missing.debug_file.c_str(), - missing.debug_identifier.c_str(), - missing.version.c_str()); - return LOCATE_FAILURE; - } - - // SYMOPT_DEBUG arranges for SymCallback to be called with additional - // debugging information. This is used to determine the nature of failures. - DWORD options = SymGetOptions() | SYMOPT_DEBUG | SYMOPT_NO_PROMPTS | - SYMOPT_FAIL_CRITICAL_ERRORS | SYMOPT_SECURE; - SymSetOptions(options); - - // SymCallback will set these as needed inisde the SymFindFileInPath call. - fail_dns_ = false; - fail_timeout_ = false; - fail_not_found_ = false; - - // Do the lookup. - char path[MAX_PATH]; - if (!SymFindFileInPath( - process, NULL, - const_cast(missing.debug_file.c_str()), - const_cast(identifier.guid_or_signature_pointer()), - identifier.age(), 0, - identifier.type() == GUIDOrSignatureIdentifier::TYPE_GUID ? - SSRVOPT_GUIDPTR : SSRVOPT_DWORDPTR, - path, SymFindFileInPathCallback, this)) { - DWORD error = GetLastError(); - if (error == ERROR_FILE_NOT_FOUND) { - // This can be returned for a number of reasons. Use the crumbs - // collected by SymCallback to determine which one is relevant. - - // These errors are possibly transient. - if (fail_dns_ || fail_timeout_) { - return LOCATE_RETRY; - } - - // This is an authoritiative file-not-found message. - if (fail_not_found_) { - return LOCATE_NOT_FOUND; - } - - // If the error is FILE_NOT_FOUND but none of the known error - // conditions are matched, fall through to LOCATE_FAILURE. - } - - fprintf(stderr, - "LocateSymbolFile: SymFindFileInPath: error %d for %s %s %s\n", - error, - missing.debug_file.c_str(), - missing.debug_identifier.c_str(), - missing.version.c_str()); - return LOCATE_FAILURE; - } - - // The AutoDeleter ensures that the file is only kept when returning - // LOCATE_SUCCESS. - AutoDeleter deleter(path); - - // Do the cleanup here even though it will happen when symsrv goes out of - // scope, to allow it to influence the return value. - if (!symsrv.Cleanup()) { - fprintf(stderr, "LocateSymbolFile: SymCleanup: error %d for %s %s %s\n", - GetLastError(), - missing.debug_file.c_str(), - missing.debug_identifier.c_str(), - missing.version.c_str()); - return LOCATE_FAILURE; - } - - deleter.Release(); - - *symbol_file = path; - return LOCATE_SUCCESS; -} - -// static -BOOL CALLBACK MSSymbolServerConverter::SymCallback(HANDLE process, - ULONG action, - ULONG64 data, - ULONG64 context) { - MSSymbolServerConverter *self = - reinterpret_cast(context); - - switch (action) { - case CBA_EVENT: { - IMAGEHLP_CBA_EVENT *cba_event = - reinterpret_cast(data); - - // Put the string into a string object to be able to use string::find - // for substring matching. This is important because the not-found - // message does not use the entire string but is appended to the URL - // that SymSrv attempted to retrieve. - string desc(cba_event->desc); - - // desc_action maps strings (in desc) to boolean pointers that are to - // be set to true if the string matches. - struct desc_action { - const char *desc; // The substring to match. - bool *action; // On match, this pointer will be set to true. - }; - - static const desc_action desc_actions[] = { - // When a DNS error occurs, it could be indiciative of network - // problems. - { "SYMSRV: The server name or address could not be resolved\n", - &self->fail_dns_ }, - - // This message is produced if no connection is opened. - { "SYMSRV: A connection with the server could not be established\n", - &self->fail_timeout_ }, - - // This message is produced if a connection is established but the - // server fails to respond to the HTTP request. - { "SYMSRV: The operation timed out\n", - &self->fail_timeout_ }, - - // This message is produced when the requested file is not found, - // even if one or more of the above messages are also produced. - // It's trapped to distinguish between not-found and unknown-failure - // conditions. Note that this message will not be produced if a - // connection is established and the server begins to respond to the - // HTTP request but does not finish transmitting the file. - { " not found\n", - &self->fail_not_found_ } - }; - - for (int desc_action_index = 0; - desc_action_index < sizeof(desc_actions) / sizeof(desc_action); - ++desc_action_index) { - if (desc.find(desc_actions[desc_action_index].desc) != string::npos) { - *(desc_actions[desc_action_index].action) = true; - break; - } - } - - break; - } - } - - // This function is a mere fly on the wall. Treat everything as unhandled. - return FALSE; -} - -// static -BOOL CALLBACK MSSymbolServerConverter::SymFindFileInPathCallback( - char *filename, void *context) { - // FALSE ends the search, indicating that the located symbol file is - // satisfactory. - return FALSE; -} - -MSSymbolServerConverter::LocateResult -MSSymbolServerConverter::LocateAndConvertSymbolFile( - const MissingSymbolInfo &missing, - bool keep_symbol_file, - string *converted_symbol_file, - string *symbol_file) { - assert(converted_symbol_file); - converted_symbol_file->clear(); - if (symbol_file) { - symbol_file->clear(); - } - - string pdb_file; - LocateResult result = LocateSymbolFile(missing, &pdb_file); - if (result != LOCATE_SUCCESS) { - return result; - } - - if (symbol_file && keep_symbol_file) { - *symbol_file = pdb_file; - } - - // Conversion may fail because the file is corrupt. If a broken file is - // kept in the local cache, LocateSymbolFile will not hit the network again - // to attempt to locate it. To guard against problems like this, the - // symbol file in the local cache will be removed if conversion fails. - AutoDeleter pdb_deleter(pdb_file); - - // Be sure that it's a .pdb file, since we'll be replacing .pdb with .sym - // for the converted file's name. - string pdb_extension = pdb_file.substr(pdb_file.length() - 4); - // strcasecmp is called _stricmp here. - if (_stricmp(pdb_extension.c_str(), ".pdb") != 0) { - fprintf(stderr, "LocateAndConvertSymbolFile: " - "LocateSymbolFile: no .pdb extension for %s %s %s %s\n", - missing.debug_file.c_str(), - missing.debug_identifier.c_str(), - missing.version.c_str(), - pdb_file.c_str()); - return LOCATE_FAILURE; - } - - // PDBSourceLineWriter wants the filename as a wstring, so convert it. - wstring pdb_file_w; - if (!WindowsStringUtils::safe_mbstowcs(pdb_file, &pdb_file_w)) { - fprintf(stderr, "LocateAndConvertSymbolFile: " - "WindowsStringUtils::safe_mbstowcs failed for %s %s %s %s\n", - missing.debug_file.c_str(), - missing.debug_identifier.c_str(), - missing.version.c_str(), - pdb_file.c_str()); - return LOCATE_FAILURE; - } - - PDBSourceLineWriter writer; - if (!writer.Open(pdb_file_w, PDBSourceLineWriter::PDB_FILE)) { - fprintf(stderr, "LocateAndConvertSymbolFile: " - "PDBSourceLineWriter::Open failed for %s %s %s %ws\n", - missing.debug_file.c_str(), - missing.debug_identifier.c_str(), - missing.version.c_str(), - pdb_file_w.c_str()); - return LOCATE_FAILURE; - } - - *converted_symbol_file = pdb_file.substr(0, pdb_file.length() - 4) + ".sym"; - - FILE *converted_output = NULL; -#if _MSC_VER >= 1400 // MSVC 2005/8 - errno_t err; - if ((err = fopen_s(&converted_output, converted_symbol_file->c_str(), "w")) - != 0) { -#else // _MSC_VER >= 1400 - // fopen_s and errno_t were introduced in MSVC8. Use fopen for earlier - // environments. Don't use fopen with MSVC8 and later, because it's - // deprecated. fopen does not provide reliable error codes, so just use - // -1 in the event of a failure. - int err; - if (!(converted_output = fopen(converted_symbol_file->c_str(), "w"))) { - err = -1; -#endif // _MSC_VER >= 1400 - fprintf(stderr, "LocateAndConvertSymbolFile: " - "fopen_s: error %d for %s %s %s %s\n", - err, - missing.debug_file.c_str(), - missing.debug_identifier.c_str(), - missing.version.c_str(), - converted_symbol_file->c_str()); - return LOCATE_FAILURE; - } - - AutoDeleter sym_deleter(*converted_symbol_file); - - bool success = writer.WriteMap(converted_output); - fclose(converted_output); - - if (!success) { - fprintf(stderr, "LocateAndConvertSymbolFile: " - "PDBSourceLineWriter::WriteMap failed for %s %s %s %s\n", - missing.debug_file.c_str(), - missing.debug_identifier.c_str(), - missing.version.c_str(), - pdb_file.c_str()); - return LOCATE_FAILURE; - } - - if (keep_symbol_file) { - pdb_deleter.Release(); - } - - sym_deleter.Release(); - - return LOCATE_SUCCESS; -} - -} // namespace google_breakpad diff --git a/toolkit/airbag/airbag/src/tools/windows/converter/ms_symbol_server_converter.h b/toolkit/airbag/airbag/src/tools/windows/converter/ms_symbol_server_converter.h deleted file mode 100644 index fffb7b8be0e8..000000000000 --- a/toolkit/airbag/airbag/src/tools/windows/converter/ms_symbol_server_converter.h +++ /dev/null @@ -1,201 +0,0 @@ -// Copyright (c) 2007, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// ms_symbol_server_converter.h: Obtain symbol files from a Microsoft -// symbol server, and convert them to Breakpad's dumped format. -// -// At runtime, MSSymbolServerConverter and code that it calls depend on being -// able to locate suitable versions of dbghelp.dll and symsrv.dll. For best -// results, place these files in the same directory as the executable. -// dbghelp.dll and symsrv.dll as supplied with Debugging Tools for Windows are -// both redistributable, as indicated by the package's redist.txt file. -// -// When connecting to Microsoft's symbol server at -// http://msdl.microsoft.com/download/symbols/, which provides access to -// symbols for the operating system itself, symsrv.dll requires agreement to -// Microsoft's "Terms of Use for Microsoft Symbols and Binaries." Because this -// library places the symbol engine into a promptless mode, the dialog with the -// terms will not appear, and use of Microsoft's symbol server will not be -// possible. To indicate agreement to the terms, create a file called -// symsrv.yes in the same directory as symsrv.dll. (Note that symsrv.dll will -// also recognize a symsrv.no file as indicating that you do not accept the -// terms; the .yes file takes priority over the .no file.) The terms of use -// are contained within symsrv.dll; they were formerly available online at -// http://www.microsoft.com/whdc/devtools/debugging/symsrvTOU2.mspx , but -// do not appear to be available online any longer as of January, 2007. It is -// possible to view the terms from within WinDbg (Debugging Tools for Windows) -// by removing any symsrv.yes and symsrv.no files from WinDbg's directory, -// setting the symbol path to include Microsoft's symbol server (.sympath), and -// attempting to load symbols from their server (.reload). -// -// This code has been tested with dbghelp.dll 6.5.3.7 and symsrv.dll 6.5.3.8, -// included with Microsoft Visual Studio 8 in Common7/IDE. This has also -// been tested with dbghelp.dll and symsrv.dll 6.6.7.5, included with that -// version of Debugging Tools for Windows, available at -// http://www.microsoft.com/whdc/devtools/debugging/ . -// -// Author: Mark Mentovai - - -#ifndef MS_SYMBOL_SERVER_CONVERTER_H__ -#define MS_SYMBOL_SERVER_CONVERTER_H__ - -#include - -#include -#include - -namespace google_breakpad { - -using std::string; -using std::vector; - -// MissingSymbolInfo contains the subset of the information in the processor's -// CodeModule structure relevant to obtaining a missing symbol file. Only -// debug_file and debug_identifier are relevant in actually obtaining the -// missing file; the other fields are for convenience. -struct MissingSymbolInfo { - string code_file; - string code_identifier; - string debug_file; - string debug_identifier; - string version; -}; - -class GUIDOrSignatureIdentifier { - public: - enum GUIDOrSignatureType { - TYPE_NONE = 0, - TYPE_GUID, - TYPE_SIGNATURE - }; - - GUIDOrSignatureIdentifier() : type_(TYPE_NONE) {} - - // Converts |identifier|, a debug_identifier-formatted string, into its - // component fields: either a GUID and age, or signature and age. If - // successful, sets the relevant fields in the object, including the type - // field, and returns true. On error, returns false. - bool InitializeFromString(const string &identifier); - - GUIDOrSignatureType type() const { return type_; } - GUID guid() const { return guid_; } - DWORD signature() const { return signature_; } - int age() const { return age_; } - const void *guid_or_signature_pointer() const { return &guid_; } - - private: - GUIDOrSignatureType type_; - - // An identifier contains either a 128-bit uuid or a 32-bit signature. - union { - GUID guid_; - DWORD signature_; - }; - - // All identifiers used here have age fields, which indicate a specific - // revision given a uuid or signature. - int age_; -}; - -class MSSymbolServerConverter { - public: - enum LocateResult { - LOCATE_FAILURE = 0, - LOCATE_NOT_FOUND, // Authoritative: the file is not present. - LOCATE_RETRY, // Transient (network?) error, try again later. - LOCATE_SUCCESS - }; - - // Create a new object. local_cache is the location (pathname) of a local - // symbol store used to hold downloaded and converted symbol files. This - // directory will be created by LocateSymbolFile when it successfully - // retrieves a symbol file. symbol_servers contains a list of locations (URLs - // or pathnames) of the upstream symbol server stores, given in order of - // preference, with the first string in the vector identifying the first - // store to try. The vector must contain at least one string. None of the - // strings passed to this constructor may contain asterisk ('*') or semicolon - // (';') characters, as the symbol engine uses these characters as separators. - MSSymbolServerConverter(const string &local_cache, - const vector &symbol_servers); - - // Locates the symbol file specified by the identifying information in - // |missing|, by checking the symbol stores identified when the object - // was created. When returning LOCATE_SUCCESS, symbol_file is set to - // the pathname of the decompressed symbol file as it is stored in the - // local cache. - LocateResult LocateSymbolFile(const MissingSymbolInfo &missing, - string *symbol_file); - - // Calls LocateSymbolFile and converts the returned symbol file to the - // dumped-symbol format, storing it adjacent to the symbol file. The - // only conversion supported is from pdb files. Returns the return - // value of LocateSymbolFile, or if LocateSymbolFile succeeds but - // conversion fails, returns LOCATE_FAILURE. The pathname to the - // pdb file and to the converted symbol file are returned in - // converted_symbol_file and symbol_file. symbol_file is optional and - // may be NULL. If only the converted symbol file is desired, set - // keep_symbol_file to false to indicate that the original symbol file - // (pdb) should be deleted after conversion. - LocateResult LocateAndConvertSymbolFile(const MissingSymbolInfo &missing, - bool keep_symbol_file, - string *converted_symbol_file, - string *symbol_file); - - private: - // Called by various SymSrv functions to report status as progress is made - // and to allow the callback to influence processing. Messages sent to this - // callback can be used to distinguish between the various failure modes - // that SymFindFileInPath might encounter. - static BOOL CALLBACK SymCallback(HANDLE process, ULONG action, ULONG64 data, - ULONG64 context); - - // Called by SymFindFileInPath (in LocateSymbolFile) after a candidate - // symbol file is located, when it's present in the local cache. - // SymFindFileInPath actually seems to accept NULL for a callback function - // and behave properly for our needs in that case, but the documentation - // doesn't mention it, so this little callback is provided. - static BOOL CALLBACK SymFindFileInPathCallback(char *filename, - void *context); - - // The search path used by SymSrv, built based on the arguments to the - // constructor. - string symbol_path_; - - // SymCallback will set at least one of these failure variables if - // SymFindFileInPath fails for an expected reason. - bool fail_dns_; // DNS failures (fail_not_found_ will also be set). - bool fail_timeout_; // Timeouts (fail_not_found_ will also be set). - bool fail_not_found_; // The file could not be found. If this is the only - // fail_* member set, then it is authoritative. -}; - -} // namespace google_breakpad - -#endif // MS_SYMBOL_SERVER_CONVERTER_H__ diff --git a/toolkit/airbag/airbag/src/tools/windows/converter/ms_symbol_server_converter.vcproj b/toolkit/airbag/airbag/src/tools/windows/converter/ms_symbol_server_converter.vcproj deleted file mode 100644 index 8983eab27235..000000000000 --- a/toolkit/airbag/airbag/src/tools/windows/converter/ms_symbol_server_converter.vcproj +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/toolkit/airbag/airbag/src/tools/windows/dump_syms/dump_syms.cc b/toolkit/airbag/airbag/src/tools/windows/dump_syms/dump_syms.cc deleted file mode 100755 index 3e8827b61389..000000000000 --- a/toolkit/airbag/airbag/src/tools/windows/dump_syms/dump_syms.cc +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Windows utility to dump the line number data from a pdb file to -// a text-based format that we can use from the minidump processor. - -#include - -#include - -#include "common/windows/pdb_source_line_writer.h" - -using std::wstring; -using google_breakpad::PDBSourceLineWriter; - -int wmain(int argc, wchar_t **argv) { - if (argc < 2) { - fprintf(stderr, "Usage: %ws \n", argv[0]); - return 1; - } - - PDBSourceLineWriter writer; - if (!writer.Open(wstring(argv[1]), PDBSourceLineWriter::ANY_FILE)) { - fprintf(stderr, "Open failed\n"); - return 1; - } - - if (!writer.WriteMap(stdout)) { - fprintf(stderr, "WriteMap failed\n"); - return 1; - } - - writer.Close(); - return 0; -} diff --git a/toolkit/airbag/airbag/src/tools/windows/dump_syms/dump_syms.vcproj b/toolkit/airbag/airbag/src/tools/windows/dump_syms/dump_syms.vcproj deleted file mode 100755 index f9ac45d6131e..000000000000 --- a/toolkit/airbag/airbag/src/tools/windows/dump_syms/dump_syms.vcproj +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/toolkit/airbag/airbag/src/tools/windows/dump_syms/run_regtest.sh b/toolkit/airbag/airbag/src/tools/windows/dump_syms/run_regtest.sh deleted file mode 100755 index 1f20f64fd519..000000000000 --- a/toolkit/airbag/airbag/src/tools/windows/dump_syms/run_regtest.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -# Copyright (c) 2006, Google Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Release/dump_syms.exe testdata/dump_syms_regtest.pdb | \ - tr -d '\015' > \ - testdata/dump_syms_regtest.new -status=$? - -if [ $status -ne 0 ] ; then - echo "FAIL, dump_syms.exe failed" - exit $status -fi - -diff -u testdata/dump_syms_regtest.new testdata/dump_syms_regtest.sym > \ - testdata/dump_syms_regtest.diff -status=$? - -if [ $status -eq 0 ] ; then - rm testdata/dump_syms_regtest.diff testdata/dump_syms_regtest.new - echo "PASS" -else - echo "FAIL, see testdata/dump_syms_regtest.[new|diff]" -fi - -exit $status diff --git a/toolkit/airbag/airbag/src/tools/windows/dump_syms/testdata/dump_syms_regtest.cc b/toolkit/airbag/airbag/src/tools/windows/dump_syms/testdata/dump_syms_regtest.cc deleted file mode 100644 index ce53f582f793..000000000000 --- a/toolkit/airbag/airbag/src/tools/windows/dump_syms/testdata/dump_syms_regtest.cc +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright (c) 2007, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// cl /Zi dump_syms_regtest.cc -// dump_syms dump_syms_regtest.pdb | tr -d '\015' > dump_syms_regtest.sym - -namespace google_breakpad { - -class C { - public: - C() : member_(1) {} - virtual ~C() {} - - void set_member(int value) { member_ = value; } - int member() const { return member_; } - - void f() { member_ = g(); } - virtual int g() { return 2; } - static char* h(const C &that) { return 0; } - - private: - int member_; -}; - -static int i() { - return 3; -} - -} // namespace google_breakpad - -int main(int argc, char **argv) { - google_breakpad::C object; - object.set_member(google_breakpad::i()); - object.f(); - int value = object.g(); - char *nothing = object.h(object); - - return 0; -} diff --git a/toolkit/airbag/airbag/src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb b/toolkit/airbag/airbag/src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb deleted file mode 100755 index bb3e14efb734..000000000000 Binary files a/toolkit/airbag/airbag/src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb and /dev/null differ diff --git a/toolkit/airbag/airbag/src/tools/windows/dump_syms/testdata/dump_syms_regtest.sym b/toolkit/airbag/airbag/src/tools/windows/dump_syms/testdata/dump_syms_regtest.sym deleted file mode 100644 index 8e5ce026aad4..000000000000 --- a/toolkit/airbag/airbag/src/tools/windows/dump_syms/testdata/dump_syms_regtest.sym +++ /dev/null @@ -1,14097 +0,0 @@ -MODULE windows x86 3EB931A9CE0242ABB14FFDF4ECAA97FC1 dump_syms_regtest.pdb -FILE 1 c:\breakpad\trunk\src\tools\windows\dump_syms\testdata\dump_syms_regtest.cc -FILE 2 f:\sp\public\sdk\inc\reason.h -FILE 3 f:\sp\public\sdk\inc\wincon.h -FILE 4 f:\sp\public\sdk\inc\pshpack2.h -FILE 5 f:\sp\public\sdk\inc\mcx.h -FILE 6 f:\sp\public\sdk\inc\winuser.h -FILE 7 f:\sp\public\sdk\inc\winnls.h -FILE 8 f:\sp\public\sdk\inc\guiddef.h -FILE 9 f:\sp\public\sdk\inc\specstrings.h -FILE 10 f:\sp\public\sdk\inc\basetsd.h -FILE 11 f:\sp\public\sdk\inc\stralign.h -FILE 12 f:\sp\public\sdk\inc\tvout.h -FILE 13 f:\sp\public\sdk\inc\winsvc.h -FILE 14 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 15 f:\sp\public\sdk\inc\wingdi.h -FILE 16 f:\sp\public\sdk\inc\pshpack4.h -FILE 17 f:\sp\public\sdk\inc\poppack.h -FILE 18 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h -FILE 19 f:\sp\public\sdk\inc\winnetwk.h -FILE 20 f:\sp\public\sdk\inc\imm.h -FILE 21 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 22 f:\sp\public\sdk\inc\windef.h -FILE 23 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 24 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\tran\i386\cpu_disp.c -FILE 25 f:\sp\public\sdk\inc\pshpack1.h -FILE 26 f:\sp\public\sdk\inc\winver.h -FILE 27 f:\sp\public\sdk\inc\windows.h -FILE 28 f:\sp\public\sdk\inc\winnt.h -FILE 29 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 30 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 31 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 32 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 33 f:\sp\public\sdk\inc\ddbanned.h -FILE 34 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 35 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 36 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 37 f:\sp\public\sdk\inc\winreg.h -FILE 38 f:\sp\public\sdk\inc\winbase.h -FILE 39 f:\sp\public\sdk\inc\winerror.h -FILE 40 f:\sp\public\sdk\inc\pshpack8.h -FILE 41 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 42 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 43 f:\sp\public\sdk\inc\reason.h -FILE 44 f:\sp\public\sdk\inc\wincon.h -FILE 45 f:\sp\public\sdk\inc\pshpack2.h -FILE 46 f:\sp\public\sdk\inc\mcx.h -FILE 47 f:\sp\public\sdk\inc\winuser.h -FILE 48 f:\sp\public\sdk\inc\winnls.h -FILE 49 f:\sp\public\sdk\inc\guiddef.h -FILE 50 f:\sp\public\sdk\inc\specstrings.h -FILE 51 f:\sp\public\sdk\inc\basetsd.h -FILE 52 f:\sp\public\sdk\inc\stralign.h -FILE 53 f:\sp\public\sdk\inc\tvout.h -FILE 54 f:\sp\public\sdk\inc\winsvc.h -FILE 55 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 56 f:\sp\public\sdk\inc\wingdi.h -FILE 57 f:\sp\public\sdk\inc\pshpack4.h -FILE 58 f:\sp\public\sdk\inc\poppack.h -FILE 59 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h -FILE 60 f:\sp\public\sdk\inc\winnetwk.h -FILE 61 f:\sp\public\sdk\inc\imm.h -FILE 62 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 63 f:\sp\public\sdk\inc\windef.h -FILE 64 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 65 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\tran\i386\mathfcns.c -FILE 66 f:\sp\public\sdk\inc\pshpack1.h -FILE 67 f:\sp\public\sdk\inc\winver.h -FILE 68 f:\sp\public\sdk\inc\windows.h -FILE 69 f:\sp\public\sdk\inc\winnt.h -FILE 70 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 71 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 72 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 73 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 74 f:\sp\public\sdk\inc\ddbanned.h -FILE 75 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 76 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 77 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 78 f:\sp\public\sdk\inc\winreg.h -FILE 79 f:\sp\public\sdk\inc\winbase.h -FILE 80 f:\sp\public\sdk\inc\winerror.h -FILE 81 f:\sp\public\sdk\inc\pshpack8.h -FILE 82 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 83 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 84 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 85 f:\sp\public\sdk\inc\winreg.h -FILE 86 f:\sp\public\sdk\inc\winbase.h -FILE 87 f:\sp\public\sdk\inc\winerror.h -FILE 88 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 89 f:\sp\public\sdk\inc\windef.h -FILE 90 f:\sp\vctools\crt_bld\self_x86\crt\src\ctime.h -FILE 91 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 92 f:\sp\vctools\crt_bld\self_x86\crt\src\time.h -FILE 93 f:\sp\public\sdk\inc\pshpack8.h -FILE 94 f:\sp\public\sdk\inc\reason.h -FILE 95 f:\sp\public\sdk\inc\wincon.h -FILE 96 f:\sp\vctools\crt_bld\self_x86\crt\src\time.inl -FILE 97 f:\sp\public\sdk\inc\pshpack2.h -FILE 98 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 99 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 100 f:\sp\public\sdk\inc\mcx.h -FILE 101 f:\sp\public\sdk\inc\winuser.h -FILE 102 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 103 f:\sp\public\sdk\inc\winnls.h -FILE 104 f:\sp\public\sdk\inc\guiddef.h -FILE 105 f:\sp\public\sdk\inc\stralign.h -FILE 106 f:\sp\public\sdk\inc\winnt.h -FILE 107 f:\sp\public\sdk\inc\specstrings.h -FILE 108 f:\sp\public\sdk\inc\basetsd.h -FILE 109 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 110 f:\sp\public\sdk\inc\tvout.h -FILE 111 f:\sp\public\sdk\inc\winsvc.h -FILE 112 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 113 f:\sp\public\sdk\inc\wingdi.h -FILE 114 f:\sp\vctools\crt_bld\self_x86\crt\src\tzset.c -FILE 115 f:\sp\public\sdk\inc\pshpack4.h -FILE 116 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 117 f:\sp\public\sdk\inc\poppack.h -FILE 118 f:\sp\public\sdk\inc\winnetwk.h -FILE 119 f:\sp\public\sdk\inc\imm.h -FILE 120 f:\sp\public\sdk\inc\ddbanned.h -FILE 121 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 122 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 123 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 124 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 125 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 126 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 127 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 128 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 129 f:\sp\public\sdk\inc\windows.h -FILE 130 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 131 f:\sp\public\sdk\inc\pshpack1.h -FILE 132 f:\sp\public\sdk\inc\winver.h -FILE 133 f:\sp\vctools\crt_bld\self_x86\crt\src\time.inl -FILE 134 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 135 f:\sp\public\sdk\inc\winnt.h -FILE 136 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 137 f:\sp\public\sdk\inc\winreg.h -FILE 138 f:\sp\public\sdk\inc\winbase.h -FILE 139 f:\sp\public\sdk\inc\winerror.h -FILE 140 f:\sp\public\sdk\inc\pshpack8.h -FILE 141 f:\sp\public\sdk\inc\reason.h -FILE 142 f:\sp\public\sdk\inc\wincon.h -FILE 143 f:\sp\public\sdk\inc\pshpack2.h -FILE 144 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 145 f:\sp\public\sdk\inc\mcx.h -FILE 146 f:\sp\public\sdk\inc\winuser.h -FILE 147 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 148 f:\sp\public\sdk\inc\winnls.h -FILE 149 f:\sp\public\sdk\inc\guiddef.h -FILE 150 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 151 f:\sp\public\sdk\inc\stralign.h -FILE 152 f:\sp\public\sdk\inc\specstrings.h -FILE 153 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 154 f:\sp\public\sdk\inc\basetsd.h -FILE 155 f:\sp\public\sdk\inc\windows.h -FILE 156 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 157 f:\sp\public\sdk\inc\tvout.h -FILE 158 f:\sp\public\sdk\inc\winsvc.h -FILE 159 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 160 f:\sp\public\sdk\inc\wingdi.h -FILE 161 f:\sp\vctools\crt_bld\self_x86\crt\src\timeset.c -FILE 162 f:\sp\public\sdk\inc\pshpack4.h -FILE 163 f:\sp\public\sdk\inc\poppack.h -FILE 164 f:\sp\public\sdk\inc\winnetwk.h -FILE 165 f:\sp\public\sdk\inc\imm.h -FILE 166 f:\sp\public\sdk\inc\ddbanned.h -FILE 167 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 168 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 169 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 170 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 171 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 172 f:\sp\public\sdk\inc\windef.h -FILE 173 f:\sp\public\sdk\inc\pshpack1.h -FILE 174 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 175 f:\sp\vctools\crt_bld\self_x86\crt\src\time.h -FILE 176 f:\sp\public\sdk\inc\winver.h -FILE 177 f:\sp\public\sdk\inc\wincon.h -FILE 178 f:\sp\vctools\crt_bld\self_x86\crt\src\time.h -FILE 179 f:\sp\public\sdk\inc\imm.h -FILE 180 f:\sp\public\sdk\inc\winbase.h -FILE 181 f:\sp\public\sdk\inc\wingdi.h -FILE 182 f:\sp\public\sdk\inc\winver.h -FILE 183 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 184 f:\sp\public\sdk\inc\windows.h -FILE 185 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 186 f:\sp\public\sdk\inc\pshpack2.h -FILE 187 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 188 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 189 f:\sp\public\sdk\inc\reason.h -FILE 190 f:\sp\vctools\crt_bld\self_x86\crt\src\strftime.c -FILE 191 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 192 f:\sp\public\sdk\inc\specstrings.h -FILE 193 f:\sp\public\sdk\inc\basetsd.h -FILE 194 f:\sp\public\sdk\inc\pshpack4.h -FILE 195 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 196 f:\sp\public\sdk\inc\winnetwk.h -FILE 197 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 198 f:\sp\public\sdk\inc\stralign.h -FILE 199 f:\sp\vctools\crt_bld\self_x86\crt\src\time.inl -FILE 200 f:\sp\public\sdk\inc\poppack.h -FILE 201 f:\sp\public\sdk\inc\winsvc.h -FILE 202 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 203 f:\sp\public\sdk\inc\windef.h -FILE 204 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 205 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 206 f:\sp\public\sdk\inc\winuser.h -FILE 207 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 208 f:\sp\public\sdk\inc\mcx.h -FILE 209 f:\sp\public\sdk\inc\pshpack8.h -FILE 210 f:\sp\public\sdk\inc\guiddef.h -FILE 211 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 212 f:\sp\public\sdk\inc\winnt.h -FILE 213 f:\sp\public\sdk\inc\winnls.h -FILE 214 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 215 f:\sp\public\sdk\inc\pshpack1.h -FILE 216 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 217 f:\sp\public\sdk\inc\winerror.h -FILE 218 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 219 f:\sp\public\sdk\inc\winreg.h -FILE 220 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 221 f:\sp\public\sdk\inc\ddbanned.h -FILE 222 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 223 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 224 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 225 f:\sp\public\sdk\inc\tvout.h -FILE 226 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 227 f:\sp\public\sdk\inc\poppack.h -FILE 228 f:\sp\public\sdk\inc\winnetwk.h -FILE 229 f:\sp\public\sdk\inc\imm.h -FILE 230 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 231 f:\sp\public\sdk\inc\windef.h -FILE 232 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 233 f:\sp\public\sdk\inc\pshpack1.h -FILE 234 f:\sp\public\sdk\inc\winver.h -FILE 235 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 236 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 237 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 238 f:\sp\public\sdk\inc\winnt.h -FILE 239 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 240 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 241 f:\sp\public\sdk\inc\winreg.h -FILE 242 f:\sp\vctools\crt_bld\self_x86\crt\src\days.c -FILE 243 f:\sp\public\sdk\inc\winbase.h -FILE 244 f:\sp\public\sdk\inc\winerror.h -FILE 245 f:\sp\public\sdk\inc\pshpack8.h -FILE 246 f:\sp\public\sdk\inc\reason.h -FILE 247 f:\sp\public\sdk\inc\wincon.h -FILE 248 f:\sp\public\sdk\inc\ddbanned.h -FILE 249 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 250 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 251 f:\sp\public\sdk\inc\pshpack2.h -FILE 252 f:\sp\public\sdk\inc\mcx.h -FILE 253 f:\sp\public\sdk\inc\winuser.h -FILE 254 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 255 f:\sp\public\sdk\inc\winnls.h -FILE 256 f:\sp\public\sdk\inc\guiddef.h -FILE 257 f:\sp\public\sdk\inc\windows.h -FILE 258 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 259 f:\sp\public\sdk\inc\specstrings.h -FILE 260 f:\sp\public\sdk\inc\basetsd.h -FILE 261 f:\sp\public\sdk\inc\stralign.h -FILE 262 f:\sp\public\sdk\inc\tvout.h -FILE 263 f:\sp\public\sdk\inc\winsvc.h -FILE 264 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 265 f:\sp\public\sdk\inc\wingdi.h -FILE 266 f:\sp\public\sdk\inc\pshpack4.h -FILE 267 f:\sp\public\sdk\inc\wincon.h -FILE 268 f:\sp\public\sdk\inc\imm.h -FILE 269 f:\sp\public\sdk\inc\winbase.h -FILE 270 f:\sp\public\sdk\inc\wingdi.h -FILE 271 f:\sp\public\sdk\inc\winver.h -FILE 272 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 273 f:\sp\public\sdk\inc\windows.h -FILE 274 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 275 f:\sp\public\sdk\inc\pshpack2.h -FILE 276 f:\sp\public\sdk\inc\reason.h -FILE 277 f:\sp\vctools\crt_bld\self_x86\crt\src\strnicol.c -FILE 278 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 279 f:\sp\public\sdk\inc\specstrings.h -FILE 280 f:\sp\public\sdk\inc\basetsd.h -FILE 281 f:\sp\public\sdk\inc\pshpack4.h -FILE 282 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 283 f:\sp\public\sdk\inc\winnetwk.h -FILE 284 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 285 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 286 f:\sp\public\sdk\inc\stralign.h -FILE 287 f:\sp\public\sdk\inc\poppack.h -FILE 288 f:\sp\public\sdk\inc\winsvc.h -FILE 289 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 290 f:\sp\public\sdk\inc\windef.h -FILE 291 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 292 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 293 f:\sp\public\sdk\inc\winuser.h -FILE 294 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 295 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 296 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 297 f:\sp\public\sdk\inc\mcx.h -FILE 298 f:\sp\public\sdk\inc\pshpack8.h -FILE 299 f:\sp\public\sdk\inc\guiddef.h -FILE 300 f:\sp\public\sdk\inc\winnt.h -FILE 301 f:\sp\public\sdk\inc\winnls.h -FILE 302 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 303 f:\sp\public\sdk\inc\pshpack1.h -FILE 304 f:\sp\public\sdk\inc\winerror.h -FILE 305 f:\sp\public\sdk\inc\winreg.h -FILE 306 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 307 f:\sp\public\sdk\inc\ddbanned.h -FILE 308 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 309 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 310 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 311 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 312 f:\sp\public\sdk\inc\tvout.h -FILE 313 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 314 f:\sp\public\sdk\inc\mcx.h -FILE 315 f:\sp\public\sdk\inc\pshpack8.h -FILE 316 f:\sp\public\sdk\inc\winnt.h -FILE 317 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 318 f:\sp\public\sdk\inc\specstrings.h -FILE 319 f:\sp\public\sdk\inc\basetsd.h -FILE 320 f:\sp\public\sdk\inc\winnls.h -FILE 321 f:\sp\public\sdk\inc\pshpack1.h -FILE 322 f:\sp\public\sdk\inc\winerror.h -FILE 323 f:\sp\public\sdk\inc\winreg.h -FILE 324 f:\sp\vctools\crt_bld\self_x86\crt\src\strnicmp.c -FILE 325 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 326 f:\sp\public\sdk\inc\tvout.h -FILE 327 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 328 f:\sp\public\sdk\inc\wincon.h -FILE 329 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 330 f:\sp\public\sdk\inc\imm.h -FILE 331 f:\sp\public\sdk\inc\guiddef.h -FILE 332 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 333 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 334 f:\sp\public\sdk\inc\winbase.h -FILE 335 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 336 f:\sp\public\sdk\inc\wingdi.h -FILE 337 f:\sp\public\sdk\inc\windows.h -FILE 338 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 339 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 340 f:\sp\public\sdk\inc\winver.h -FILE 341 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 342 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 343 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 344 f:\sp\public\sdk\inc\pshpack2.h -FILE 345 f:\sp\public\sdk\inc\reason.h -FILE 346 f:\sp\public\sdk\inc\pshpack4.h -FILE 347 f:\sp\public\sdk\inc\winnetwk.h -FILE 348 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 349 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 350 f:\sp\public\sdk\inc\stralign.h -FILE 351 f:\sp\public\sdk\inc\windef.h -FILE 352 f:\sp\public\sdk\inc\poppack.h -FILE 353 f:\sp\public\sdk\inc\winsvc.h -FILE 354 f:\sp\public\sdk\inc\ddbanned.h -FILE 355 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 356 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 357 f:\sp\public\sdk\inc\winuser.h -FILE 358 f:\sp\public\sdk\inc\mcx.h -FILE 359 f:\sp\public\sdk\inc\pshpack8.h -FILE 360 f:\sp\public\sdk\inc\winnt.h -FILE 361 f:\sp\public\sdk\inc\specstrings.h -FILE 362 f:\sp\public\sdk\inc\basetsd.h -FILE 363 f:\sp\public\sdk\inc\winnls.h -FILE 364 f:\sp\public\sdk\inc\pshpack1.h -FILE 365 f:\sp\public\sdk\inc\winerror.h -FILE 366 f:\sp\public\sdk\inc\winreg.h -FILE 367 f:\sp\vctools\crt_bld\self_x86\crt\src\stricmp.c -FILE 368 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 369 f:\sp\public\sdk\inc\tvout.h -FILE 370 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 371 f:\sp\public\sdk\inc\wincon.h -FILE 372 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 373 f:\sp\public\sdk\inc\imm.h -FILE 374 f:\sp\public\sdk\inc\guiddef.h -FILE 375 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 376 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 377 f:\sp\public\sdk\inc\winbase.h -FILE 378 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 379 f:\sp\public\sdk\inc\wingdi.h -FILE 380 f:\sp\public\sdk\inc\windows.h -FILE 381 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 382 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 383 f:\sp\public\sdk\inc\winver.h -FILE 384 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 385 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 386 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 387 f:\sp\public\sdk\inc\pshpack2.h -FILE 388 f:\sp\public\sdk\inc\reason.h -FILE 389 f:\sp\public\sdk\inc\pshpack4.h -FILE 390 f:\sp\public\sdk\inc\winnetwk.h -FILE 391 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 392 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 393 f:\sp\public\sdk\inc\stralign.h -FILE 394 f:\sp\public\sdk\inc\windef.h -FILE 395 f:\sp\public\sdk\inc\poppack.h -FILE 396 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 397 f:\sp\public\sdk\inc\winsvc.h -FILE 398 f:\sp\public\sdk\inc\ddbanned.h -FILE 399 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 400 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 401 f:\sp\public\sdk\inc\winuser.h -FILE 402 f:\sp\public\sdk\inc\winnt.h -FILE 403 f:\sp\public\sdk\inc\pshpack4.h -FILE 404 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 405 f:\sp\public\sdk\inc\poppack.h -FILE 406 f:\sp\vctools\crt_bld\self_x86\crt\src\tcsncpy_s.inl -FILE 407 f:\sp\public\sdk\inc\winnetwk.h -FILE 408 f:\sp\public\sdk\inc\imm.h -FILE 409 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 410 f:\sp\public\sdk\inc\pshpack1.h -FILE 411 f:\sp\public\sdk\inc\winver.h -FILE 412 f:\sp\vctools\crt_bld\self_x86\crt\src\internal_securecrt.h -FILE 413 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 414 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 415 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 416 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 417 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 418 f:\sp\public\sdk\inc\guiddef.h -FILE 419 f:\sp\public\sdk\inc\windows.h -FILE 420 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 421 f:\sp\public\sdk\inc\specstrings.h -FILE 422 f:\sp\public\sdk\inc\basetsd.h -FILE 423 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 424 f:\sp\public\sdk\inc\winreg.h -FILE 425 f:\sp\vctools\crt_bld\self_x86\crt\src\strncpy_s.c -FILE 426 f:\sp\public\sdk\inc\winbase.h -FILE 427 f:\sp\public\sdk\inc\winerror.h -FILE 428 f:\sp\public\sdk\inc\pshpack8.h -FILE 429 f:\sp\public\sdk\inc\reason.h -FILE 430 f:\sp\public\sdk\inc\wincon.h -FILE 431 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 432 f:\sp\public\sdk\inc\ddbanned.h -FILE 433 f:\sp\public\sdk\inc\windef.h -FILE 434 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 435 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 436 f:\sp\public\sdk\inc\pshpack2.h -FILE 437 f:\sp\public\sdk\inc\mcx.h -FILE 438 f:\sp\public\sdk\inc\winuser.h -FILE 439 f:\sp\public\sdk\inc\winnls.h -FILE 440 f:\sp\public\sdk\inc\stralign.h -FILE 441 f:\sp\public\sdk\inc\tvout.h -FILE 442 f:\sp\public\sdk\inc\winsvc.h -FILE 443 f:\sp\public\sdk\inc\wingdi.h -FILE 444 f:\sp\public\sdk\inc\winnt.h -FILE 445 f:\sp\public\sdk\inc\pshpack4.h -FILE 446 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 447 f:\sp\public\sdk\inc\poppack.h -FILE 448 f:\sp\vctools\crt_bld\self_x86\crt\src\tcscpy_s.inl -FILE 449 f:\sp\public\sdk\inc\winnetwk.h -FILE 450 f:\sp\public\sdk\inc\imm.h -FILE 451 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 452 f:\sp\public\sdk\inc\pshpack1.h -FILE 453 f:\sp\public\sdk\inc\winver.h -FILE 454 f:\sp\vctools\crt_bld\self_x86\crt\src\internal_securecrt.h -FILE 455 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 456 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 457 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 458 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 459 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 460 f:\sp\public\sdk\inc\guiddef.h -FILE 461 f:\sp\public\sdk\inc\windows.h -FILE 462 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 463 f:\sp\public\sdk\inc\specstrings.h -FILE 464 f:\sp\public\sdk\inc\basetsd.h -FILE 465 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 466 f:\sp\public\sdk\inc\winreg.h -FILE 467 f:\sp\vctools\crt_bld\self_x86\crt\src\strcpy_s.c -FILE 468 f:\sp\public\sdk\inc\winbase.h -FILE 469 f:\sp\public\sdk\inc\winerror.h -FILE 470 f:\sp\public\sdk\inc\pshpack8.h -FILE 471 f:\sp\public\sdk\inc\reason.h -FILE 472 f:\sp\public\sdk\inc\wincon.h -FILE 473 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 474 f:\sp\public\sdk\inc\ddbanned.h -FILE 475 f:\sp\public\sdk\inc\windef.h -FILE 476 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 477 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 478 f:\sp\public\sdk\inc\pshpack2.h -FILE 479 f:\sp\public\sdk\inc\mcx.h -FILE 480 f:\sp\public\sdk\inc\winuser.h -FILE 481 f:\sp\public\sdk\inc\winnls.h -FILE 482 f:\sp\public\sdk\inc\stralign.h -FILE 483 f:\sp\public\sdk\inc\tvout.h -FILE 484 f:\sp\public\sdk\inc\winsvc.h -FILE 485 f:\sp\public\sdk\inc\wingdi.h -FILE 486 f:\sp\public\sdk\inc\winnt.h -FILE 487 f:\sp\public\sdk\inc\pshpack4.h -FILE 488 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 489 f:\sp\public\sdk\inc\poppack.h -FILE 490 f:\sp\vctools\crt_bld\self_x86\crt\src\tcscat_s.inl -FILE 491 f:\sp\public\sdk\inc\winnetwk.h -FILE 492 f:\sp\public\sdk\inc\imm.h -FILE 493 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 494 f:\sp\public\sdk\inc\pshpack1.h -FILE 495 f:\sp\public\sdk\inc\winver.h -FILE 496 f:\sp\vctools\crt_bld\self_x86\crt\src\internal_securecrt.h -FILE 497 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 498 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 499 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 500 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 501 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 502 f:\sp\public\sdk\inc\guiddef.h -FILE 503 f:\sp\public\sdk\inc\windows.h -FILE 504 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 505 f:\sp\public\sdk\inc\specstrings.h -FILE 506 f:\sp\public\sdk\inc\basetsd.h -FILE 507 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 508 f:\sp\public\sdk\inc\winreg.h -FILE 509 f:\sp\vctools\crt_bld\self_x86\crt\src\strcat_s.c -FILE 510 f:\sp\public\sdk\inc\winbase.h -FILE 511 f:\sp\public\sdk\inc\winerror.h -FILE 512 f:\sp\public\sdk\inc\pshpack8.h -FILE 513 f:\sp\public\sdk\inc\reason.h -FILE 514 f:\sp\public\sdk\inc\wincon.h -FILE 515 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 516 f:\sp\public\sdk\inc\ddbanned.h -FILE 517 f:\sp\public\sdk\inc\windef.h -FILE 518 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 519 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 520 f:\sp\public\sdk\inc\pshpack2.h -FILE 521 f:\sp\public\sdk\inc\mcx.h -FILE 522 f:\sp\public\sdk\inc\winuser.h -FILE 523 f:\sp\public\sdk\inc\winnls.h -FILE 524 f:\sp\public\sdk\inc\stralign.h -FILE 525 f:\sp\public\sdk\inc\tvout.h -FILE 526 f:\sp\public\sdk\inc\winsvc.h -FILE 527 f:\sp\public\sdk\inc\wingdi.h -FILE 528 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 529 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 530 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 531 f:\sp\vctools\crt_bld\self_x86\crt\src\strlen_s.c -FILE 532 f:\sp\public\sdk\inc\ddbanned.h -FILE 533 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 534 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 535 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\strpbrk.asm -FILE 536 F:\SP\vctools\crt_bld\SELF_X86\crt\src\Intel\STRSPN.ASM -FILE 537 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 538 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\_strnicm.asm -FILE 539 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 540 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 541 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 542 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 543 f:\sp\vctools\crt_bld\self_x86\crt\src\intel\strncmp.c -FILE 544 f:\sp\public\sdk\inc\ddbanned.h -FILE 545 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 546 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 547 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\strlen.asm -FILE 548 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 549 f:\sp\public\sdk\inc\pshpack2.h -FILE 550 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 551 f:\sp\public\sdk\inc\mcx.h -FILE 552 f:\sp\public\sdk\inc\winuser.h -FILE 553 f:\sp\public\sdk\inc\winnls.h -FILE 554 f:\sp\public\sdk\inc\stralign.h -FILE 555 f:\sp\public\sdk\inc\tvout.h -FILE 556 f:\sp\public\sdk\inc\winsvc.h -FILE 557 f:\sp\public\sdk\inc\wingdi.h -FILE 558 f:\sp\public\sdk\inc\winnt.h -FILE 559 f:\sp\public\sdk\inc\pshpack4.h -FILE 560 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 561 f:\sp\public\sdk\inc\poppack.h -FILE 562 f:\sp\public\sdk\inc\winnetwk.h -FILE 563 f:\sp\public\sdk\inc\imm.h -FILE 564 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 565 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 566 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 567 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 568 f:\sp\vctools\crt_bld\self_x86\crt\src\strdup.c -FILE 569 f:\sp\public\sdk\inc\pshpack1.h -FILE 570 f:\sp\public\sdk\inc\winver.h -FILE 571 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 572 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 573 f:\sp\public\sdk\inc\guiddef.h -FILE 574 f:\sp\public\sdk\inc\windows.h -FILE 575 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 576 f:\sp\public\sdk\inc\specstrings.h -FILE 577 f:\sp\public\sdk\inc\basetsd.h -FILE 578 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 579 f:\sp\public\sdk\inc\winreg.h -FILE 580 f:\sp\public\sdk\inc\ddbanned.h -FILE 581 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 582 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 583 f:\sp\public\sdk\inc\winbase.h -FILE 584 f:\sp\public\sdk\inc\winerror.h -FILE 585 f:\sp\public\sdk\inc\pshpack8.h -FILE 586 f:\sp\public\sdk\inc\reason.h -FILE 587 f:\sp\public\sdk\inc\wincon.h -FILE 588 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 589 f:\sp\public\sdk\inc\windef.h -FILE 590 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\strcspn.asm -FILE 591 F:\SP\vctools\crt_bld\SELF_X86\crt\src\Intel\STRSPN.ASM -FILE 592 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 593 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\strcmp.asm -FILE 594 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 595 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\strchr.asm -FILE 596 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 597 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memset.c -FILE 598 f:\sp\public\sdk\inc\ddbanned.h -FILE 599 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 600 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 601 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\memset.asm -FILE 602 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 603 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\memmove.asm -FILE 604 F:\SP\vctools\crt_bld\SELF_X86\crt\src\Intel\MEMCPY.ASM -FILE 605 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 606 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\string\i386\memcmp.c -FILE 607 f:\sp\public\sdk\inc\ddbanned.h -FILE 608 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 609 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 610 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\string\i386\p4_memcpy.c -FILE 611 f:\sp\public\sdk\inc\ddbanned.h -FILE 612 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 613 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 614 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\memcpy.asm -FILE 615 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 616 f:\sp\public\sdk\inc\pshpack2.h -FILE 617 f:\sp\public\sdk\inc\winreg.h -FILE 618 f:\sp\public\sdk\inc\guiddef.h -FILE 619 f:\sp\public\sdk\inc\windows.h -FILE 620 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 621 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 622 f:\sp\public\sdk\inc\specstrings.h -FILE 623 f:\sp\public\sdk\inc\basetsd.h -FILE 624 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 625 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 626 f:\sp\public\sdk\inc\pshpack4.h -FILE 627 f:\sp\public\sdk\inc\reason.h -FILE 628 f:\sp\public\sdk\inc\wincon.h -FILE 629 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 630 f:\sp\public\sdk\inc\poppack.h -FILE 631 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 632 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 633 f:\sp\public\sdk\inc\mcx.h -FILE 634 f:\sp\public\sdk\inc\winuser.h -FILE 635 f:\sp\public\sdk\inc\winnls.h -FILE 636 f:\sp\public\sdk\inc\stralign.h -FILE 637 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 638 f:\sp\public\sdk\inc\windef.h -FILE 639 f:\sp\public\sdk\inc\tvout.h -FILE 640 f:\sp\public\sdk\inc\winsvc.h -FILE 641 f:\sp\vctools\crt_bld\self_x86\crt\src\tidtable.c -FILE 642 f:\sp\public\sdk\inc\wingdi.h -FILE 643 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 644 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 645 f:\sp\public\sdk\inc\winnt.h -FILE 646 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 647 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 648 f:\sp\public\sdk\inc\winnetwk.h -FILE 649 f:\sp\public\sdk\inc\imm.h -FILE 650 f:\sp\public\sdk\inc\ddbanned.h -FILE 651 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 652 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 653 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 654 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 655 f:\sp\public\sdk\inc\winbase.h -FILE 656 f:\sp\public\sdk\inc\winerror.h -FILE 657 f:\sp\public\sdk\inc\pshpack1.h -FILE 658 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 659 f:\sp\vctools\crt_bld\self_x86\crt\src\memory.h -FILE 660 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 661 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 662 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 663 f:\sp\public\sdk\inc\pshpack8.h -FILE 664 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 665 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 666 f:\sp\public\sdk\inc\winver.h -FILE 667 f:\sp\public\sdk\inc\pshpack4.h -FILE 668 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 669 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 670 f:\sp\public\sdk\inc\poppack.h -FILE 671 f:\sp\public\sdk\inc\winnt.h -FILE 672 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 673 f:\sp\public\sdk\inc\winnetwk.h -FILE 674 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 675 f:\sp\public\sdk\inc\imm.h -FILE 676 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 677 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 678 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 679 f:\sp\public\sdk\inc\pshpack1.h -FILE 680 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 681 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 682 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 683 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 684 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 685 f:\sp\public\sdk\inc\winver.h -FILE 686 f:\sp\public\sdk\inc\guiddef.h -FILE 687 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 688 f:\sp\public\sdk\inc\specstrings.h -FILE 689 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 690 f:\sp\public\sdk\inc\basetsd.h -FILE 691 f:\sp\public\sdk\inc\windows.h -FILE 692 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 693 f:\sp\public\sdk\inc\winreg.h -FILE 694 f:\sp\vctools\crt_bld\self_x86\crt\src\stdenvp.c -FILE 695 f:\sp\public\sdk\inc\winbase.h -FILE 696 f:\sp\public\sdk\inc\winerror.h -FILE 697 f:\sp\public\sdk\inc\pshpack8.h -FILE 698 f:\sp\public\sdk\inc\reason.h -FILE 699 f:\sp\public\sdk\inc\ddbanned.h -FILE 700 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 701 f:\sp\public\sdk\inc\wincon.h -FILE 702 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 703 f:\sp\public\sdk\inc\pshpack2.h -FILE 704 f:\sp\public\sdk\inc\mcx.h -FILE 705 f:\sp\public\sdk\inc\winuser.h -FILE 706 f:\sp\public\sdk\inc\winnls.h -FILE 707 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 708 f:\sp\public\sdk\inc\windef.h -FILE 709 f:\sp\public\sdk\inc\stralign.h -FILE 710 f:\sp\public\sdk\inc\tvout.h -FILE 711 f:\sp\public\sdk\inc\winsvc.h -FILE 712 f:\sp\public\sdk\inc\wingdi.h -FILE 713 f:\sp\public\sdk\inc\poppack.h -FILE 714 f:\sp\vctools\crt_bld\self_x86\crt\src\dos.h -FILE 715 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 716 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 717 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 718 f:\sp\public\sdk\inc\winnetwk.h -FILE 719 f:\sp\public\sdk\inc\imm.h -FILE 720 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 721 f:\sp\public\sdk\inc\windef.h -FILE 722 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 723 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 724 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 725 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 726 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 727 f:\sp\public\sdk\inc\pshpack1.h -FILE 728 f:\sp\public\sdk\inc\winver.h -FILE 729 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 730 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 731 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 732 f:\sp\public\sdk\inc\winnt.h -FILE 733 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 734 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 735 f:\sp\public\sdk\inc\winreg.h -FILE 736 f:\sp\vctools\crt_bld\self_x86\crt\src\stdargv.c -FILE 737 f:\sp\public\sdk\inc\winbase.h -FILE 738 f:\sp\public\sdk\inc\winerror.h -FILE 739 f:\sp\public\sdk\inc\pshpack8.h -FILE 740 f:\sp\public\sdk\inc\reason.h -FILE 741 f:\sp\public\sdk\inc\wincon.h -FILE 742 f:\sp\public\sdk\inc\ddbanned.h -FILE 743 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 744 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 745 f:\sp\public\sdk\inc\pshpack2.h -FILE 746 f:\sp\public\sdk\inc\mcx.h -FILE 747 f:\sp\public\sdk\inc\winuser.h -FILE 748 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 749 f:\sp\public\sdk\inc\winnls.h -FILE 750 f:\sp\public\sdk\inc\guiddef.h -FILE 751 f:\sp\public\sdk\inc\windows.h -FILE 752 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 753 f:\sp\public\sdk\inc\specstrings.h -FILE 754 f:\sp\public\sdk\inc\basetsd.h -FILE 755 f:\sp\public\sdk\inc\stralign.h -FILE 756 f:\sp\public\sdk\inc\tvout.h -FILE 757 f:\sp\public\sdk\inc\winsvc.h -FILE 758 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 759 f:\sp\public\sdk\inc\wingdi.h -FILE 760 f:\sp\public\sdk\inc\pshpack4.h -FILE 761 f:\sp\public\sdk\inc\reason.h -FILE 762 f:\sp\public\sdk\inc\wincon.h -FILE 763 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 764 f:\sp\public\sdk\inc\poppack.h -FILE 765 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 766 f:\sp\public\sdk\inc\mcx.h -FILE 767 f:\sp\public\sdk\inc\winuser.h -FILE 768 f:\sp\public\sdk\inc\winnls.h -FILE 769 f:\sp\public\sdk\inc\stralign.h -FILE 770 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 771 f:\sp\public\sdk\inc\windef.h -FILE 772 f:\sp\public\sdk\inc\tvout.h -FILE 773 f:\sp\public\sdk\inc\winsvc.h -FILE 774 f:\sp\public\sdk\inc\wingdi.h -FILE 775 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 776 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 777 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 778 f:\sp\public\sdk\inc\winnt.h -FILE 779 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 780 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 781 f:\sp\public\sdk\inc\winnetwk.h -FILE 782 f:\sp\public\sdk\inc\imm.h -FILE 783 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 784 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 785 f:\sp\vctools\crt_bld\self_x86\crt\src\mlock.c -FILE 786 f:\sp\public\sdk\inc\winbase.h -FILE 787 f:\sp\public\sdk\inc\winerror.h -FILE 788 f:\sp\public\sdk\inc\pshpack1.h -FILE 789 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 790 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 791 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 792 f:\sp\public\sdk\inc\pshpack8.h -FILE 793 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 794 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 795 f:\sp\public\sdk\inc\winver.h -FILE 796 f:\sp\public\sdk\inc\ddbanned.h -FILE 797 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 798 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 799 f:\sp\public\sdk\inc\pshpack2.h -FILE 800 f:\sp\public\sdk\inc\winreg.h -FILE 801 f:\sp\public\sdk\inc\guiddef.h -FILE 802 f:\sp\public\sdk\inc\windows.h -FILE 803 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 804 f:\sp\public\sdk\inc\specstrings.h -FILE 805 f:\sp\public\sdk\inc\basetsd.h -FILE 806 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 807 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 808 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 809 f:\sp\public\sdk\inc\pshpack4.h -FILE 810 f:\sp\public\sdk\inc\poppack.h -FILE 811 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 812 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 813 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 814 f:\sp\public\sdk\inc\winnetwk.h -FILE 815 f:\sp\public\sdk\inc\imm.h -FILE 816 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 817 f:\sp\public\sdk\inc\windef.h -FILE 818 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 819 f:\sp\public\sdk\inc\pshpack1.h -FILE 820 f:\sp\public\sdk\inc\winver.h -FILE 821 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 822 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 823 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 824 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 825 f:\sp\public\sdk\inc\winnt.h -FILE 826 f:\sp\vctools\crt_bld\self_x86\crt\src\cmsgs.h -FILE 827 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 828 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 829 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 830 f:\sp\public\sdk\inc\winreg.h -FILE 831 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 832 f:\sp\vctools\crt_bld\self_x86\crt\src\crt0msg.c -FILE 833 f:\sp\public\sdk\inc\winbase.h -FILE 834 f:\sp\public\sdk\inc\winerror.h -FILE 835 f:\sp\public\sdk\inc\pshpack8.h -FILE 836 f:\sp\public\sdk\inc\reason.h -FILE 837 f:\sp\public\sdk\inc\wincon.h -FILE 838 f:\sp\public\sdk\inc\ddbanned.h -FILE 839 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 840 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 841 f:\sp\public\sdk\inc\pshpack2.h -FILE 842 f:\sp\public\sdk\inc\mcx.h -FILE 843 f:\sp\public\sdk\inc\winuser.h -FILE 844 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 845 f:\sp\public\sdk\inc\winnls.h -FILE 846 f:\sp\public\sdk\inc\guiddef.h -FILE 847 f:\sp\public\sdk\inc\windows.h -FILE 848 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 849 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 850 f:\sp\public\sdk\inc\specstrings.h -FILE 851 f:\sp\public\sdk\inc\basetsd.h -FILE 852 f:\sp\public\sdk\inc\stralign.h -FILE 853 f:\sp\public\sdk\inc\tvout.h -FILE 854 f:\sp\public\sdk\inc\winsvc.h -FILE 855 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 856 f:\sp\public\sdk\inc\wingdi.h -FILE 857 f:\sp\public\sdk\inc\pshpack4.h -FILE 858 f:\sp\public\sdk\inc\pshpack1.h -FILE 859 f:\sp\public\sdk\inc\winver.h -FILE 860 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 861 f:\sp\public\sdk\inc\winnt.h -FILE 862 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 863 f:\sp\public\sdk\inc\winreg.h -FILE 864 f:\sp\public\sdk\inc\winbase.h -FILE 865 f:\sp\public\sdk\inc\winerror.h -FILE 866 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 867 f:\sp\public\sdk\inc\pshpack8.h -FILE 868 f:\sp\public\sdk\inc\reason.h -FILE 869 f:\sp\public\sdk\inc\wincon.h -FILE 870 f:\sp\public\sdk\inc\pshpack2.h -FILE 871 f:\sp\vctools\crt_bld\self_x86\crt\src\crt0init.c -FILE 872 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 873 f:\sp\public\sdk\inc\mcx.h -FILE 874 f:\sp\public\sdk\inc\winuser.h -FILE 875 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 876 f:\sp\public\sdk\inc\winnls.h -FILE 877 f:\sp\public\sdk\inc\guiddef.h -FILE 878 f:\sp\public\sdk\inc\windows.h -FILE 879 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 880 f:\sp\public\sdk\inc\specstrings.h -FILE 881 f:\sp\public\sdk\inc\basetsd.h -FILE 882 f:\sp\public\sdk\inc\stralign.h -FILE 883 f:\sp\public\sdk\inc\tvout.h -FILE 884 f:\sp\public\sdk\inc\winsvc.h -FILE 885 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 886 f:\sp\public\sdk\inc\wingdi.h -FILE 887 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 888 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 889 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 890 f:\sp\public\sdk\inc\pshpack4.h -FILE 891 f:\sp\public\sdk\inc\ddbanned.h -FILE 892 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 893 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 894 f:\sp\public\sdk\inc\poppack.h -FILE 895 f:\sp\public\sdk\inc\winnetwk.h -FILE 896 f:\sp\public\sdk\inc\imm.h -FILE 897 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 898 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 899 f:\sp\public\sdk\inc\windef.h -FILE 900 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 901 f:\sp\public\sdk\inc\poppack.h -FILE 902 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 903 f:\sp\public\sdk\inc\winnetwk.h -FILE 904 f:\sp\public\sdk\inc\imm.h -FILE 905 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 906 f:\sp\public\sdk\inc\windef.h -FILE 907 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 908 f:\sp\public\sdk\inc\pshpack1.h -FILE 909 f:\sp\public\sdk\inc\winver.h -FILE 910 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 911 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 912 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 913 f:\sp\public\sdk\inc\winnt.h -FILE 914 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 915 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 916 f:\sp\public\sdk\inc\winreg.h -FILE 917 f:\sp\vctools\crt_bld\self_x86\crt\src\crt0fp.c -FILE 918 f:\sp\public\sdk\inc\winbase.h -FILE 919 f:\sp\public\sdk\inc\winerror.h -FILE 920 f:\sp\public\sdk\inc\pshpack8.h -FILE 921 f:\sp\public\sdk\inc\reason.h -FILE 922 f:\sp\public\sdk\inc\wincon.h -FILE 923 f:\sp\public\sdk\inc\ddbanned.h -FILE 924 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 925 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 926 f:\sp\public\sdk\inc\pshpack2.h -FILE 927 f:\sp\public\sdk\inc\mcx.h -FILE 928 f:\sp\public\sdk\inc\winuser.h -FILE 929 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 930 f:\sp\public\sdk\inc\winnls.h -FILE 931 f:\sp\public\sdk\inc\guiddef.h -FILE 932 f:\sp\public\sdk\inc\windows.h -FILE 933 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 934 f:\sp\public\sdk\inc\specstrings.h -FILE 935 f:\sp\public\sdk\inc\basetsd.h -FILE 936 f:\sp\public\sdk\inc\stralign.h -FILE 937 f:\sp\public\sdk\inc\tvout.h -FILE 938 f:\sp\public\sdk\inc\winsvc.h -FILE 939 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 940 f:\sp\public\sdk\inc\wingdi.h -FILE 941 f:\sp\public\sdk\inc\pshpack4.h -FILE 942 f:\sp\vctools\crt_bld\self_x86\crt\src\process.h -FILE 943 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 944 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 945 f:\sp\public\sdk\inc\pshpack4.h -FILE 946 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 947 f:\sp\public\sdk\inc\reason.h -FILE 948 f:\sp\public\sdk\inc\wincon.h -FILE 949 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 950 f:\sp\public\sdk\inc\poppack.h -FILE 951 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 952 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 953 f:\sp\public\sdk\inc\mcx.h -FILE 954 f:\sp\public\sdk\inc\winuser.h -FILE 955 f:\sp\public\sdk\inc\winnls.h -FILE 956 f:\sp\public\sdk\inc\stralign.h -FILE 957 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 958 f:\sp\public\sdk\inc\windef.h -FILE 959 f:\sp\public\sdk\inc\tvout.h -FILE 960 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 961 f:\sp\public\sdk\inc\winsvc.h -FILE 962 f:\sp\public\sdk\inc\wingdi.h -FILE 963 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 964 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 965 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 966 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 967 f:\sp\vctools\crt_bld\self_x86\crt\src\mbdata.h -FILE 968 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 969 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 970 f:\sp\public\sdk\inc\winnt.h -FILE 971 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 972 f:\sp\public\sdk\inc\winnetwk.h -FILE 973 f:\sp\public\sdk\inc\imm.h -FILE 974 f:\sp\vctools\crt_bld\self_x86\crt\src\crt0dat.c -FILE 975 f:\sp\public\sdk\inc\winbase.h -FILE 976 f:\sp\public\sdk\inc\winerror.h -FILE 977 f:\sp\public\sdk\inc\pshpack1.h -FILE 978 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 979 f:\sp\public\sdk\inc\pshpack8.h -FILE 980 f:\sp\public\sdk\inc\winver.h -FILE 981 f:\sp\public\sdk\inc\ddbanned.h -FILE 982 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 983 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 984 f:\sp\vctools\crt_bld\self_x86\crt\src\dos.h -FILE 985 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 986 f:\sp\public\sdk\inc\pshpack2.h -FILE 987 f:\sp\public\sdk\inc\winreg.h -FILE 988 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 989 f:\sp\public\sdk\inc\guiddef.h -FILE 990 f:\sp\public\sdk\inc\windows.h -FILE 991 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 992 f:\sp\public\sdk\inc\specstrings.h -FILE 993 f:\sp\public\sdk\inc\basetsd.h -FILE 994 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 995 f:\sp\public\sdk\inc\tvout.h -FILE 996 f:\sp\public\sdk\inc\winsvc.h -FILE 997 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 998 f:\sp\public\sdk\inc\wingdi.h -FILE 999 f:\sp\public\sdk\inc\pshpack4.h -FILE 1000 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 1001 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 1002 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 1003 f:\sp\public\sdk\inc\poppack.h -FILE 1004 f:\sp\vctools\crt_bld\self_x86\crt\src\process.h -FILE 1005 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 1006 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 1007 f:\sp\public\sdk\inc\winnetwk.h -FILE 1008 f:\sp\public\sdk\inc\imm.h -FILE 1009 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1010 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1011 f:\sp\public\sdk\inc\windef.h -FILE 1012 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1013 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1014 f:\sp\vctools\crt_bld\self_x86\crt\src\dos.h -FILE 1015 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1016 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1017 f:\sp\public\sdk\inc\pshpack1.h -FILE 1018 f:\sp\public\sdk\inc\winver.h -FILE 1019 f:\sp\public\sdk\inc\winnt.h -FILE 1020 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1021 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 1022 f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c -FILE 1023 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1024 f:\sp\public\sdk\inc\winreg.h -FILE 1025 f:\sp\public\sdk\inc\winbase.h -FILE 1026 f:\sp\public\sdk\inc\winerror.h -FILE 1027 f:\sp\public\sdk\inc\ddbanned.h -FILE 1028 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1029 f:\sp\public\sdk\inc\pshpack8.h -FILE 1030 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1031 f:\sp\public\sdk\inc\reason.h -FILE 1032 f:\sp\public\sdk\inc\wincon.h -FILE 1033 f:\sp\public\sdk\inc\pshpack2.h -FILE 1034 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1035 f:\sp\public\sdk\inc\mcx.h -FILE 1036 f:\sp\public\sdk\inc\winuser.h -FILE 1037 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1038 f:\sp\public\sdk\inc\winnls.h -FILE 1039 f:\sp\public\sdk\inc\guiddef.h -FILE 1040 f:\sp\public\sdk\inc\windows.h -FILE 1041 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1042 f:\sp\public\sdk\inc\specstrings.h -FILE 1043 f:\sp\public\sdk\inc\basetsd.h -FILE 1044 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 1045 f:\sp\public\sdk\inc\stralign.h -FILE 1046 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\alloca16.asm -FILE 1047 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 1048 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\chkstk.asm -FILE 1049 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 1050 f:\sp\public\sdk\inc\wincon.h -FILE 1051 f:\sp\public\sdk\inc\imm.h -FILE 1052 f:\sp\public\sdk\inc\winbase.h -FILE 1053 f:\sp\public\sdk\inc\wingdi.h -FILE 1054 f:\sp\public\sdk\inc\winver.h -FILE 1055 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 1056 f:\sp\public\sdk\inc\windows.h -FILE 1057 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 1058 f:\sp\public\sdk\inc\pshpack2.h -FILE 1059 f:\sp\public\sdk\inc\reason.h -FILE 1060 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\rtc\initsect.cpp -FILE 1061 f:\sp\public\sdk\inc\specstrings.h -FILE 1062 f:\sp\public\sdk\inc\basetsd.h -FILE 1063 f:\sp\public\sdk\inc\pshpack4.h -FILE 1064 f:\sp\public\sdk\inc\winnetwk.h -FILE 1065 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 1066 f:\sp\public\sdk\inc\stralign.h -FILE 1067 f:\sp\public\sdk\inc\poppack.h -FILE 1068 f:\sp\public\sdk\inc\winsvc.h -FILE 1069 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 1070 f:\sp\public\sdk\inc\windef.h -FILE 1071 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 1072 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 1073 f:\sp\public\sdk\inc\winuser.h -FILE 1074 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 1075 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h -FILE 1076 f:\sp\public\sdk\inc\mcx.h -FILE 1077 f:\sp\public\sdk\inc\pshpack8.h -FILE 1078 f:\sp\public\sdk\inc\guiddef.h -FILE 1079 f:\sp\public\sdk\inc\winnt.h -FILE 1080 f:\sp\public\sdk\inc\winnls.h -FILE 1081 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 1082 f:\sp\public\sdk\inc\pshpack1.h -FILE 1083 f:\sp\public\sdk\inc\winerror.h -FILE 1084 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\rtcapi.h -FILE 1085 f:\sp\public\sdk\inc\winreg.h -FILE 1086 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 1087 f:\sp\public\sdk\inc\ddbanned.h -FILE 1088 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 1089 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 1090 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\rtcpriv.h -FILE 1091 f:\sp\public\sdk\inc\tvout.h -FILE 1092 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\malloc.h -FILE 1093 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 1094 f:\sp\public\sdk\inc\poppack.h -FILE 1095 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1096 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1097 f:\sp\public\sdk\inc\winnetwk.h -FILE 1098 f:\sp\public\sdk\inc\imm.h -FILE 1099 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1100 f:\sp\public\sdk\inc\windef.h -FILE 1101 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1102 f:\sp\public\sdk\inc\pshpack1.h -FILE 1103 f:\sp\public\sdk\inc\winver.h -FILE 1104 f:\sp\public\sdk\inc\windows.h -FILE 1105 f:\sp\public\sdk\inc\winnt.h -FILE 1106 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1107 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1108 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1109 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1110 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1111 f:\sp\public\sdk\inc\winreg.h -FILE 1112 f:\sp\public\sdk\inc\winbase.h -FILE 1113 f:\sp\vctools\crt_bld\self_x86\crt\src\wtombenv.c -FILE 1114 f:\sp\public\sdk\inc\winerror.h -FILE 1115 f:\sp\public\sdk\inc\pshpack8.h -FILE 1116 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1117 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1118 f:\sp\public\sdk\inc\reason.h -FILE 1119 f:\sp\public\sdk\inc\wincon.h -FILE 1120 f:\sp\public\sdk\inc\ddbanned.h -FILE 1121 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1122 f:\sp\public\sdk\inc\pshpack2.h -FILE 1123 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1124 f:\sp\public\sdk\inc\mcx.h -FILE 1125 f:\sp\public\sdk\inc\winuser.h -FILE 1126 f:\sp\public\sdk\inc\winnls.h -FILE 1127 f:\sp\public\sdk\inc\guiddef.h -FILE 1128 f:\sp\public\sdk\inc\specstrings.h -FILE 1129 f:\sp\public\sdk\inc\basetsd.h -FILE 1130 f:\sp\public\sdk\inc\stralign.h -FILE 1131 f:\sp\public\sdk\inc\tvout.h -FILE 1132 f:\sp\public\sdk\inc\winsvc.h -FILE 1133 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1134 f:\sp\public\sdk\inc\wingdi.h -FILE 1135 f:\sp\public\sdk\inc\pshpack4.h -FILE 1136 f:\sp\public\sdk\inc\winnt.h -FILE 1137 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1138 f:\sp\public\sdk\inc\winreg.h -FILE 1139 f:\sp\public\sdk\inc\winbase.h -FILE 1140 f:\sp\public\sdk\inc\winerror.h -FILE 1141 f:\sp\public\sdk\inc\pshpack8.h -FILE 1142 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1143 f:\sp\public\sdk\inc\reason.h -FILE 1144 f:\sp\public\sdk\inc\wincon.h -FILE 1145 f:\sp\vctools\crt_bld\self_x86\crt\src\float.h -FILE 1146 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1147 f:\sp\public\sdk\inc\pshpack2.h -FILE 1148 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1149 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1150 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1151 f:\sp\public\sdk\inc\mcx.h -FILE 1152 f:\sp\public\sdk\inc\winuser.h -FILE 1153 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1154 f:\sp\public\sdk\inc\winnls.h -FILE 1155 f:\sp\public\sdk\inc\guiddef.h -FILE 1156 f:\sp\public\sdk\inc\windows.h -FILE 1157 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1158 f:\sp\public\sdk\inc\specstrings.h -FILE 1159 f:\sp\public\sdk\inc\basetsd.h -FILE 1160 f:\sp\public\sdk\inc\stralign.h -FILE 1161 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1162 f:\sp\vctools\crt_bld\self_x86\crt\src\signal.h -FILE 1163 f:\sp\public\sdk\inc\tvout.h -FILE 1164 f:\sp\public\sdk\inc\winsvc.h -FILE 1165 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1166 f:\sp\vctools\crt_bld\self_x86\crt\src\winxfltr.c -FILE 1167 f:\sp\public\sdk\inc\wingdi.h -FILE 1168 f:\sp\public\sdk\inc\pshpack4.h -FILE 1169 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1170 f:\sp\public\sdk\inc\poppack.h -FILE 1171 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1172 f:\sp\public\sdk\inc\winnetwk.h -FILE 1173 f:\sp\public\sdk\inc\imm.h -FILE 1174 f:\sp\public\sdk\inc\ddbanned.h -FILE 1175 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1176 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1177 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1178 f:\sp\public\sdk\inc\windef.h -FILE 1179 f:\sp\vctools\crt_bld\self_x86\crt\src\crtwrn.h -FILE 1180 f:\sp\public\sdk\inc\pshpack1.h -FILE 1181 f:\sp\public\sdk\inc\winver.h -FILE 1182 f:\sp\public\sdk\inc\winnetwk.h -FILE 1183 f:\sp\public\sdk\inc\imm.h -FILE 1184 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1185 f:\sp\public\sdk\inc\windef.h -FILE 1186 f:\sp\public\sdk\inc\pshpack1.h -FILE 1187 f:\sp\public\sdk\inc\winver.h -FILE 1188 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1189 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1190 f:\sp\public\sdk\inc\winnt.h -FILE 1191 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1192 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1193 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1194 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1195 f:\sp\public\sdk\inc\winreg.h -FILE 1196 f:\sp\public\sdk\inc\winbase.h -FILE 1197 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1198 f:\sp\public\sdk\inc\winerror.h -FILE 1199 f:\sp\vctools\crt_bld\self_x86\crt\src\winsig.c -FILE 1200 f:\sp\public\sdk\inc\pshpack8.h -FILE 1201 f:\sp\public\sdk\inc\reason.h -FILE 1202 f:\sp\public\sdk\inc\wincon.h -FILE 1203 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1204 f:\sp\public\sdk\inc\pshpack2.h -FILE 1205 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1206 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1207 f:\sp\public\sdk\inc\mcx.h -FILE 1208 f:\sp\public\sdk\inc\winuser.h -FILE 1209 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1210 f:\sp\public\sdk\inc\winnls.h -FILE 1211 f:\sp\public\sdk\inc\guiddef.h -FILE 1212 f:\sp\public\sdk\inc\windows.h -FILE 1213 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1214 f:\sp\public\sdk\inc\specstrings.h -FILE 1215 f:\sp\public\sdk\inc\ddbanned.h -FILE 1216 f:\sp\public\sdk\inc\basetsd.h -FILE 1217 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1218 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1219 f:\sp\public\sdk\inc\stralign.h -FILE 1220 f:\sp\vctools\crt_bld\self_x86\crt\src\signal.h -FILE 1221 f:\sp\public\sdk\inc\tvout.h -FILE 1222 f:\sp\public\sdk\inc\winsvc.h -FILE 1223 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1224 f:\sp\public\sdk\inc\wingdi.h -FILE 1225 f:\sp\vctools\crt_bld\self_x86\crt\src\float.h -FILE 1226 f:\sp\vctools\crt_bld\self_x86\crt\src\crtwrn.h -FILE 1227 f:\sp\public\sdk\inc\pshpack4.h -FILE 1228 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1229 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1230 f:\sp\public\sdk\inc\poppack.h -FILE 1231 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1232 f:\sp\public\sdk\inc\wincon.h -FILE 1233 f:\sp\public\sdk\inc\imm.h -FILE 1234 f:\sp\public\sdk\inc\winbase.h -FILE 1235 f:\sp\public\sdk\inc\wingdi.h -FILE 1236 f:\sp\public\sdk\inc\winver.h -FILE 1237 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1238 f:\sp\public\sdk\inc\windows.h -FILE 1239 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1240 f:\sp\public\sdk\inc\pshpack2.h -FILE 1241 f:\sp\public\sdk\inc\reason.h -FILE 1242 f:\sp\vctools\crt_bld\self_x86\crt\src\w_str.c -FILE 1243 f:\sp\public\sdk\inc\specstrings.h -FILE 1244 f:\sp\public\sdk\inc\basetsd.h -FILE 1245 f:\sp\public\sdk\inc\pshpack4.h -FILE 1246 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 1247 f:\sp\public\sdk\inc\winnetwk.h -FILE 1248 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1249 f:\sp\public\sdk\inc\stralign.h -FILE 1250 f:\sp\public\sdk\inc\poppack.h -FILE 1251 f:\sp\public\sdk\inc\winsvc.h -FILE 1252 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1253 f:\sp\public\sdk\inc\windef.h -FILE 1254 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1255 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1256 f:\sp\public\sdk\inc\winuser.h -FILE 1257 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1258 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1259 f:\sp\public\sdk\inc\mcx.h -FILE 1260 f:\sp\public\sdk\inc\pshpack8.h -FILE 1261 f:\sp\public\sdk\inc\guiddef.h -FILE 1262 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1263 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1264 f:\sp\public\sdk\inc\winnt.h -FILE 1265 f:\sp\public\sdk\inc\winnls.h -FILE 1266 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1267 f:\sp\public\sdk\inc\pshpack1.h -FILE 1268 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 1269 f:\sp\public\sdk\inc\winerror.h -FILE 1270 f:\sp\public\sdk\inc\winreg.h -FILE 1271 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1272 f:\sp\public\sdk\inc\ddbanned.h -FILE 1273 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1274 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1275 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1276 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1277 f:\sp\public\sdk\inc\tvout.h -FILE 1278 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1279 f:\sp\public\sdk\inc\wincon.h -FILE 1280 f:\sp\public\sdk\inc\imm.h -FILE 1281 f:\sp\public\sdk\inc\winbase.h -FILE 1282 f:\sp\public\sdk\inc\wingdi.h -FILE 1283 f:\sp\public\sdk\inc\winver.h -FILE 1284 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1285 f:\sp\public\sdk\inc\windows.h -FILE 1286 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1287 f:\sp\public\sdk\inc\pshpack2.h -FILE 1288 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 1289 f:\sp\public\sdk\inc\reason.h -FILE 1290 f:\sp\vctools\crt_bld\self_x86\crt\src\w_loc.c -FILE 1291 f:\sp\public\sdk\inc\specstrings.h -FILE 1292 f:\sp\public\sdk\inc\basetsd.h -FILE 1293 f:\sp\public\sdk\inc\pshpack4.h -FILE 1294 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 1295 f:\sp\public\sdk\inc\winnetwk.h -FILE 1296 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1297 f:\sp\public\sdk\inc\stralign.h -FILE 1298 f:\sp\public\sdk\inc\poppack.h -FILE 1299 f:\sp\public\sdk\inc\winsvc.h -FILE 1300 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1301 f:\sp\public\sdk\inc\windef.h -FILE 1302 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1303 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1304 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1305 f:\sp\public\sdk\inc\winuser.h -FILE 1306 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1307 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1308 f:\sp\public\sdk\inc\mcx.h -FILE 1309 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1310 f:\sp\public\sdk\inc\pshpack8.h -FILE 1311 f:\sp\public\sdk\inc\guiddef.h -FILE 1312 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1313 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1314 f:\sp\public\sdk\inc\winnt.h -FILE 1315 f:\sp\public\sdk\inc\winnls.h -FILE 1316 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1317 f:\sp\public\sdk\inc\pshpack1.h -FILE 1318 f:\sp\public\sdk\inc\winerror.h -FILE 1319 f:\sp\public\sdk\inc\winreg.h -FILE 1320 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1321 f:\sp\public\sdk\inc\ddbanned.h -FILE 1322 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1323 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1324 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1325 f:\sp\public\sdk\inc\tvout.h -FILE 1326 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1327 f:\sp\public\sdk\inc\poppack.h -FILE 1328 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1329 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1330 f:\sp\public\sdk\inc\winnetwk.h -FILE 1331 f:\sp\public\sdk\inc\imm.h -FILE 1332 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1333 f:\sp\public\sdk\inc\windef.h -FILE 1334 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1335 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 1336 f:\sp\public\sdk\inc\pshpack1.h -FILE 1337 f:\sp\public\sdk\inc\winver.h -FILE 1338 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1339 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 1340 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1341 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1342 f:\sp\public\sdk\inc\winnt.h -FILE 1343 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 1344 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1345 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1346 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1347 f:\sp\public\sdk\inc\winreg.h -FILE 1348 f:\sp\vctools\crt_bld\self_x86\crt\src\convrtcp.c -FILE 1349 f:\sp\public\sdk\inc\winbase.h -FILE 1350 f:\sp\public\sdk\inc\winerror.h -FILE 1351 f:\sp\public\sdk\inc\pshpack8.h -FILE 1352 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1353 f:\sp\public\sdk\inc\reason.h -FILE 1354 f:\sp\public\sdk\inc\wincon.h -FILE 1355 f:\sp\public\sdk\inc\ddbanned.h -FILE 1356 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1357 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1358 f:\sp\public\sdk\inc\pshpack2.h -FILE 1359 f:\sp\public\sdk\inc\mcx.h -FILE 1360 f:\sp\public\sdk\inc\winuser.h -FILE 1361 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1362 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 1363 f:\sp\public\sdk\inc\winnls.h -FILE 1364 f:\sp\public\sdk\inc\guiddef.h -FILE 1365 f:\sp\public\sdk\inc\windows.h -FILE 1366 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1367 f:\sp\public\sdk\inc\specstrings.h -FILE 1368 f:\sp\public\sdk\inc\basetsd.h -FILE 1369 f:\sp\public\sdk\inc\stralign.h -FILE 1370 f:\sp\public\sdk\inc\tvout.h -FILE 1371 f:\sp\public\sdk\inc\winsvc.h -FILE 1372 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1373 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1374 f:\sp\public\sdk\inc\wingdi.h -FILE 1375 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 1376 f:\sp\public\sdk\inc\pshpack4.h -FILE 1377 f:\sp\public\sdk\inc\winerror.h -FILE 1378 f:\sp\public\sdk\inc\pshpack8.h -FILE 1379 f:\sp\public\sdk\inc\reason.h -FILE 1380 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 1381 f:\sp\public\sdk\inc\wincon.h -FILE 1382 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 1383 f:\sp\public\sdk\inc\pshpack2.h -FILE 1384 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1385 f:\sp\public\sdk\inc\mcx.h -FILE 1386 f:\sp\public\sdk\inc\winuser.h -FILE 1387 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1388 f:\sp\public\sdk\inc\winnls.h -FILE 1389 f:\sp\public\sdk\inc\guiddef.h -FILE 1390 f:\sp\public\sdk\inc\windows.h -FILE 1391 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 1392 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1393 f:\sp\public\sdk\inc\specstrings.h -FILE 1394 f:\sp\public\sdk\inc\basetsd.h -FILE 1395 f:\sp\public\sdk\inc\stralign.h -FILE 1396 f:\sp\public\sdk\inc\tvout.h -FILE 1397 f:\sp\public\sdk\inc\winsvc.h -FILE 1398 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1399 f:\sp\public\sdk\inc\wingdi.h -FILE 1400 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1401 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 1402 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1403 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1404 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1405 f:\sp\public\sdk\inc\pshpack4.h -FILE 1406 f:\sp\public\sdk\inc\poppack.h -FILE 1407 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1408 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1409 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.c -FILE 1410 f:\sp\public\sdk\inc\winnetwk.h -FILE 1411 f:\sp\public\sdk\inc\imm.h -FILE 1412 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1413 f:\sp\public\sdk\inc\windef.h -FILE 1414 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1415 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1416 f:\sp\public\sdk\inc\pshpack1.h -FILE 1417 f:\sp\public\sdk\inc\ddbanned.h -FILE 1418 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1419 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1420 f:\sp\public\sdk\inc\winver.h -FILE 1421 f:\sp\public\sdk\inc\winnt.h -FILE 1422 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1423 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1424 f:\sp\public\sdk\inc\winreg.h -FILE 1425 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1426 f:\sp\public\sdk\inc\winbase.h -FILE 1427 f:\sp\public\sdk\inc\poppack.h -FILE 1428 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 1429 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 1430 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1431 f:\sp\public\sdk\inc\winnetwk.h -FILE 1432 f:\sp\public\sdk\inc\imm.h -FILE 1433 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1434 f:\sp\public\sdk\inc\windef.h -FILE 1435 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 1436 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1437 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1438 f:\sp\public\sdk\inc\pshpack1.h -FILE 1439 f:\sp\public\sdk\inc\winver.h -FILE 1440 f:\sp\public\sdk\inc\windows.h -FILE 1441 f:\sp\public\sdk\inc\winnt.h -FILE 1442 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1443 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 1444 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1445 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1446 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1447 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1448 f:\sp\public\sdk\inc\winreg.h -FILE 1449 f:\sp\public\sdk\inc\winbase.h -FILE 1450 f:\sp\vctools\crt_bld\self_x86\crt\src\setenv.c -FILE 1451 f:\sp\public\sdk\inc\winerror.h -FILE 1452 f:\sp\public\sdk\inc\pshpack8.h -FILE 1453 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1454 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1455 f:\sp\public\sdk\inc\reason.h -FILE 1456 f:\sp\public\sdk\inc\wincon.h -FILE 1457 f:\sp\public\sdk\inc\ddbanned.h -FILE 1458 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1459 f:\sp\public\sdk\inc\pshpack2.h -FILE 1460 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1461 f:\sp\public\sdk\inc\mcx.h -FILE 1462 f:\sp\public\sdk\inc\winuser.h -FILE 1463 f:\sp\public\sdk\inc\winnls.h -FILE 1464 f:\sp\public\sdk\inc\guiddef.h -FILE 1465 f:\sp\public\sdk\inc\specstrings.h -FILE 1466 f:\sp\public\sdk\inc\basetsd.h -FILE 1467 f:\sp\public\sdk\inc\stralign.h -FILE 1468 f:\sp\public\sdk\inc\tvout.h -FILE 1469 f:\sp\public\sdk\inc\winsvc.h -FILE 1470 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1471 f:\sp\public\sdk\inc\wingdi.h -FILE 1472 f:\sp\public\sdk\inc\pshpack4.h -FILE 1473 f:\sp\public\sdk\inc\poppack.h -FILE 1474 f:\sp\public\sdk\inc\winnetwk.h -FILE 1475 f:\sp\public\sdk\inc\imm.h -FILE 1476 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1477 f:\sp\public\sdk\inc\windef.h -FILE 1478 f:\sp\public\sdk\inc\pshpack1.h -FILE 1479 f:\sp\public\sdk\inc\winver.h -FILE 1480 f:\sp\public\sdk\inc\windows.h -FILE 1481 f:\sp\public\sdk\inc\winnt.h -FILE 1482 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1483 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1484 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1485 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1486 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1487 f:\sp\public\sdk\inc\winreg.h -FILE 1488 f:\sp\public\sdk\inc\winbase.h -FILE 1489 f:\sp\vctools\crt_bld\self_x86\crt\src\rand_s.c -FILE 1490 f:\sp\public\sdk\inc\winerror.h -FILE 1491 f:\sp\public\sdk\inc\pshpack8.h -FILE 1492 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1493 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1494 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1495 f:\sp\public\sdk\inc\reason.h -FILE 1496 f:\sp\public\sdk\inc\wincon.h -FILE 1497 f:\sp\public\sdk\inc\ddbanned.h -FILE 1498 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1499 f:\sp\public\sdk\inc\pshpack2.h -FILE 1500 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1501 f:\sp\public\sdk\inc\mcx.h -FILE 1502 f:\sp\public\sdk\inc\winuser.h -FILE 1503 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 1504 f:\sp\public\sdk\inc\winnls.h -FILE 1505 f:\sp\public\sdk\inc\guiddef.h -FILE 1506 f:\sp\public\sdk\inc\specstrings.h -FILE 1507 f:\sp\public\sdk\inc\basetsd.h -FILE 1508 f:\sp\public\sdk\inc\stralign.h -FILE 1509 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1510 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1511 f:\sp\public\sdk\inc\tvout.h -FILE 1512 f:\sp\public\sdk\inc\winsvc.h -FILE 1513 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1514 f:\sp\public\sdk\inc\wingdi.h -FILE 1515 f:\sp\public\sdk\inc\pshpack4.h -FILE 1516 f:\sp\public\sdk\inc\poppack.h -FILE 1517 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 1518 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1519 f:\sp\public\sdk\inc\winnetwk.h -FILE 1520 f:\sp\public\sdk\inc\imm.h -FILE 1521 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1522 f:\sp\public\sdk\inc\windef.h -FILE 1523 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1524 f:\sp\public\sdk\inc\pshpack1.h -FILE 1525 f:\sp\public\sdk\inc\winver.h -FILE 1526 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1527 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1528 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1529 f:\sp\public\sdk\inc\winnt.h -FILE 1530 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1531 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1532 f:\sp\public\sdk\inc\winreg.h -FILE 1533 f:\sp\vctools\crt_bld\self_x86\crt\src\purevirt.c -FILE 1534 f:\sp\public\sdk\inc\winbase.h -FILE 1535 f:\sp\public\sdk\inc\winerror.h -FILE 1536 f:\sp\public\sdk\inc\pshpack8.h -FILE 1537 f:\sp\public\sdk\inc\reason.h -FILE 1538 f:\sp\public\sdk\inc\wincon.h -FILE 1539 f:\sp\public\sdk\inc\ddbanned.h -FILE 1540 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1541 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1542 f:\sp\public\sdk\inc\pshpack2.h -FILE 1543 f:\sp\public\sdk\inc\mcx.h -FILE 1544 f:\sp\public\sdk\inc\winuser.h -FILE 1545 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1546 f:\sp\public\sdk\inc\winnls.h -FILE 1547 f:\sp\public\sdk\inc\guiddef.h -FILE 1548 f:\sp\public\sdk\inc\windows.h -FILE 1549 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1550 f:\sp\public\sdk\inc\specstrings.h -FILE 1551 f:\sp\public\sdk\inc\basetsd.h -FILE 1552 f:\sp\public\sdk\inc\stralign.h -FILE 1553 f:\sp\public\sdk\inc\tvout.h -FILE 1554 f:\sp\public\sdk\inc\winsvc.h -FILE 1555 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1556 f:\sp\public\sdk\inc\wingdi.h -FILE 1557 f:\sp\public\sdk\inc\pshpack4.h -FILE 1558 f:\sp\public\sdk\inc\poppack.h -FILE 1559 f:\sp\public\sdk\inc\winnetwk.h -FILE 1560 f:\sp\public\sdk\inc\imm.h -FILE 1561 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1562 f:\sp\public\sdk\inc\windef.h -FILE 1563 f:\sp\public\sdk\inc\pshpack1.h -FILE 1564 f:\sp\public\sdk\inc\winver.h -FILE 1565 f:\sp\public\sdk\inc\windows.h -FILE 1566 f:\sp\public\sdk\inc\winnt.h -FILE 1567 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1568 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1569 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1570 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1571 f:\sp\public\sdk\inc\winreg.h -FILE 1572 f:\sp\public\sdk\inc\winbase.h -FILE 1573 f:\sp\vctools\crt_bld\self_x86\crt\src\pesect.c -FILE 1574 f:\sp\public\sdk\inc\winerror.h -FILE 1575 f:\sp\public\sdk\inc\pshpack8.h -FILE 1576 f:\sp\public\sdk\inc\reason.h -FILE 1577 f:\sp\public\sdk\inc\wincon.h -FILE 1578 f:\sp\public\sdk\inc\ddbanned.h -FILE 1579 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1580 f:\sp\public\sdk\inc\pshpack2.h -FILE 1581 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1582 f:\sp\public\sdk\inc\mcx.h -FILE 1583 f:\sp\public\sdk\inc\winuser.h -FILE 1584 f:\sp\public\sdk\inc\winnls.h -FILE 1585 f:\sp\public\sdk\inc\guiddef.h -FILE 1586 f:\sp\public\sdk\inc\specstrings.h -FILE 1587 f:\sp\public\sdk\inc\basetsd.h -FILE 1588 f:\sp\public\sdk\inc\stralign.h -FILE 1589 f:\sp\public\sdk\inc\tvout.h -FILE 1590 f:\sp\public\sdk\inc\winsvc.h -FILE 1591 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1592 f:\sp\public\sdk\inc\wingdi.h -FILE 1593 f:\sp\public\sdk\inc\pshpack4.h -FILE 1594 f:\sp\public\sdk\inc\winerror.h -FILE 1595 f:\sp\public\sdk\inc\pshpack1.h -FILE 1596 f:\sp\public\sdk\inc\pshpack8.h -FILE 1597 f:\sp\public\sdk\inc\winver.h -FILE 1598 f:\sp\public\sdk\inc\pshpack2.h -FILE 1599 f:\sp\public\sdk\inc\winreg.h -FILE 1600 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1601 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1602 f:\sp\public\sdk\inc\guiddef.h -FILE 1603 f:\sp\public\sdk\inc\windows.h -FILE 1604 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1605 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 1606 f:\sp\public\sdk\inc\specstrings.h -FILE 1607 f:\sp\public\sdk\inc\basetsd.h -FILE 1608 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1609 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 1610 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1611 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1612 f:\sp\public\sdk\inc\pshpack4.h -FILE 1613 f:\sp\public\sdk\inc\reason.h -FILE 1614 f:\sp\public\sdk\inc\wincon.h -FILE 1615 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1616 f:\sp\public\sdk\inc\poppack.h -FILE 1617 f:\sp\public\sdk\inc\mcx.h -FILE 1618 f:\sp\public\sdk\inc\winuser.h -FILE 1619 f:\sp\public\sdk\inc\winnls.h -FILE 1620 f:\sp\vctools\crt_bld\self_x86\crt\src\nlsdata2.c -FILE 1621 f:\sp\public\sdk\inc\stralign.h -FILE 1622 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1623 f:\sp\public\sdk\inc\windef.h -FILE 1624 f:\sp\public\sdk\inc\tvout.h -FILE 1625 f:\sp\public\sdk\inc\winsvc.h -FILE 1626 f:\sp\public\sdk\inc\wingdi.h -FILE 1627 f:\sp\public\sdk\inc\ddbanned.h -FILE 1628 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1629 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1630 f:\sp\public\sdk\inc\winnt.h -FILE 1631 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1632 f:\sp\public\sdk\inc\winnetwk.h -FILE 1633 f:\sp\public\sdk\inc\imm.h -FILE 1634 f:\sp\public\sdk\inc\winbase.h -FILE 1635 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1636 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1637 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1638 f:\sp\vctools\crt_bld\self_x86\crt\src\nlsdata1.c -FILE 1639 f:\sp\public\sdk\inc\ddbanned.h -FILE 1640 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1641 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1642 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1643 f:\sp\vctools\crt_bld\self_x86\crt\src\nlsint.h -FILE 1644 f:\sp\public\sdk\inc\reason.h -FILE 1645 f:\sp\public\sdk\inc\wincon.h -FILE 1646 f:\sp\public\sdk\inc\pshpack2.h -FILE 1647 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1648 f:\sp\public\sdk\inc\mcx.h -FILE 1649 f:\sp\public\sdk\inc\winuser.h -FILE 1650 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1651 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 1652 f:\sp\public\sdk\inc\winnls.h -FILE 1653 f:\sp\public\sdk\inc\guiddef.h -FILE 1654 f:\sp\public\sdk\inc\windows.h -FILE 1655 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1656 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1657 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1658 f:\sp\public\sdk\inc\specstrings.h -FILE 1659 f:\sp\public\sdk\inc\basetsd.h -FILE 1660 f:\sp\public\sdk\inc\stralign.h -FILE 1661 f:\sp\public\sdk\inc\tvout.h -FILE 1662 f:\sp\public\sdk\inc\winsvc.h -FILE 1663 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1664 f:\sp\public\sdk\inc\wingdi.h -FILE 1665 f:\sp\public\sdk\inc\pshpack4.h -FILE 1666 f:\sp\public\sdk\inc\poppack.h -FILE 1667 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 1668 f:\sp\public\sdk\inc\winnetwk.h -FILE 1669 f:\sp\public\sdk\inc\imm.h -FILE 1670 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1671 f:\sp\public\sdk\inc\windef.h -FILE 1672 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1673 f:\sp\vctools\crt_bld\self_x86\crt\src\onexit.c -FILE 1674 f:\sp\public\sdk\inc\pshpack1.h -FILE 1675 f:\sp\public\sdk\inc\winver.h -FILE 1676 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1677 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1678 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1679 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1680 f:\sp\public\sdk\inc\winnt.h -FILE 1681 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1682 f:\sp\public\sdk\inc\ddbanned.h -FILE 1683 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1684 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1685 f:\sp\public\sdk\inc\winreg.h -FILE 1686 f:\sp\public\sdk\inc\winbase.h -FILE 1687 f:\sp\public\sdk\inc\winerror.h -FILE 1688 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1689 f:\sp\public\sdk\inc\pshpack8.h -FILE 1690 f:\sp\public\sdk\inc\winbase.h -FILE 1691 f:\sp\public\sdk\inc\winerror.h -FILE 1692 f:\sp\public\sdk\inc\pshpack1.h -FILE 1693 f:\sp\public\sdk\inc\pshpack8.h -FILE 1694 f:\sp\public\sdk\inc\winver.h -FILE 1695 f:\sp\public\sdk\inc\pshpack2.h -FILE 1696 f:\sp\public\sdk\inc\winreg.h -FILE 1697 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1698 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1699 f:\sp\public\sdk\inc\guiddef.h -FILE 1700 f:\sp\public\sdk\inc\windows.h -FILE 1701 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1702 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1703 f:\sp\public\sdk\inc\specstrings.h -FILE 1704 f:\sp\public\sdk\inc\basetsd.h -FILE 1705 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1706 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1707 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1708 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1709 f:\sp\public\sdk\inc\pshpack4.h -FILE 1710 f:\sp\public\sdk\inc\reason.h -FILE 1711 f:\sp\public\sdk\inc\wincon.h -FILE 1712 f:\sp\public\sdk\inc\poppack.h -FILE 1713 f:\sp\public\sdk\inc\mcx.h -FILE 1714 f:\sp\public\sdk\inc\winuser.h -FILE 1715 f:\sp\public\sdk\inc\winnls.h -FILE 1716 f:\sp\vctools\crt_bld\self_x86\crt\src\lconv.c -FILE 1717 f:\sp\public\sdk\inc\stralign.h -FILE 1718 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1719 f:\sp\public\sdk\inc\windef.h -FILE 1720 f:\sp\public\sdk\inc\tvout.h -FILE 1721 f:\sp\public\sdk\inc\winsvc.h -FILE 1722 f:\sp\public\sdk\inc\wingdi.h -FILE 1723 f:\sp\public\sdk\inc\ddbanned.h -FILE 1724 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1725 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1726 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 1727 f:\sp\public\sdk\inc\winnt.h -FILE 1728 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1729 f:\sp\public\sdk\inc\winnetwk.h -FILE 1730 f:\sp\public\sdk\inc\imm.h -FILE 1731 f:\sp\public\sdk\inc\guiddef.h -FILE 1732 f:\sp\public\sdk\inc\winnt.h -FILE 1733 f:\sp\public\sdk\inc\winnls.h -FILE 1734 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1735 f:\sp\public\sdk\inc\pshpack1.h -FILE 1736 f:\sp\public\sdk\inc\winerror.h -FILE 1737 f:\sp\public\sdk\inc\winreg.h -FILE 1738 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1739 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 1740 f:\sp\public\sdk\inc\tvout.h -FILE 1741 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1742 f:\sp\vctools\crt_bld\self_x86\crt\src\invarg.c -FILE 1743 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1744 f:\sp\public\sdk\inc\wincon.h -FILE 1745 f:\sp\public\sdk\inc\imm.h -FILE 1746 f:\sp\public\sdk\inc\winbase.h -FILE 1747 f:\sp\public\sdk\inc\wingdi.h -FILE 1748 f:\sp\public\sdk\inc\winver.h -FILE 1749 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1750 f:\sp\public\sdk\inc\windows.h -FILE 1751 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1752 f:\sp\public\sdk\inc\pshpack2.h -FILE 1753 f:\sp\public\sdk\inc\reason.h -FILE 1754 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 1755 f:\sp\public\sdk\inc\specstrings.h -FILE 1756 f:\sp\public\sdk\inc\basetsd.h -FILE 1757 f:\sp\public\sdk\inc\pshpack4.h -FILE 1758 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1759 f:\sp\public\sdk\inc\winnetwk.h -FILE 1760 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1761 f:\sp\public\sdk\inc\stralign.h -FILE 1762 f:\sp\public\sdk\inc\poppack.h -FILE 1763 f:\sp\public\sdk\inc\winsvc.h -FILE 1764 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1765 f:\sp\public\sdk\inc\windef.h -FILE 1766 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1767 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1768 f:\sp\public\sdk\inc\winuser.h -FILE 1769 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1770 f:\sp\public\sdk\inc\ddbanned.h -FILE 1771 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1772 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1773 f:\sp\public\sdk\inc\mcx.h -FILE 1774 f:\sp\public\sdk\inc\pshpack8.h -FILE 1775 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1776 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1777 f:\sp\public\sdk\inc\pshpack4.h -FILE 1778 f:\sp\public\sdk\inc\poppack.h -FILE 1779 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1780 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1781 f:\sp\public\sdk\inc\winnetwk.h -FILE 1782 f:\sp\public\sdk\inc\imm.h -FILE 1783 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1784 f:\sp\public\sdk\inc\windef.h -FILE 1785 f:\sp\public\sdk\inc\pshpack1.h -FILE 1786 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1787 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1788 f:\sp\public\sdk\inc\winver.h -FILE 1789 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1790 f:\sp\public\sdk\inc\winnt.h -FILE 1791 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1792 f:\sp\public\sdk\inc\winreg.h -FILE 1793 f:\sp\vctools\crt_bld\self_x86\crt\src\inittime.c -FILE 1794 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1795 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1796 f:\sp\public\sdk\inc\winbase.h -FILE 1797 f:\sp\public\sdk\inc\winerror.h -FILE 1798 f:\sp\public\sdk\inc\pshpack8.h -FILE 1799 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 1800 f:\sp\public\sdk\inc\reason.h -FILE 1801 f:\sp\public\sdk\inc\ddbanned.h -FILE 1802 f:\sp\public\sdk\inc\wincon.h -FILE 1803 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1804 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1805 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1806 f:\sp\public\sdk\inc\pshpack2.h -FILE 1807 f:\sp\public\sdk\inc\mcx.h -FILE 1808 f:\sp\public\sdk\inc\winuser.h -FILE 1809 f:\sp\public\sdk\inc\winnls.h -FILE 1810 f:\sp\public\sdk\inc\guiddef.h -FILE 1811 f:\sp\public\sdk\inc\stralign.h -FILE 1812 f:\sp\public\sdk\inc\specstrings.h -FILE 1813 f:\sp\public\sdk\inc\basetsd.h -FILE 1814 f:\sp\public\sdk\inc\windows.h -FILE 1815 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1816 f:\sp\public\sdk\inc\tvout.h -FILE 1817 f:\sp\public\sdk\inc\winsvc.h -FILE 1818 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1819 f:\sp\public\sdk\inc\wingdi.h -FILE 1820 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1821 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1822 f:\sp\public\sdk\inc\pshpack4.h -FILE 1823 f:\sp\public\sdk\inc\poppack.h -FILE 1824 f:\sp\public\sdk\inc\winnt.h -FILE 1825 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1826 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1827 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1828 f:\sp\public\sdk\inc\winnetwk.h -FILE 1829 f:\sp\public\sdk\inc\imm.h -FILE 1830 f:\sp\public\sdk\inc\pshpack1.h -FILE 1831 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1832 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1833 f:\sp\public\sdk\inc\winver.h -FILE 1834 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1835 f:\sp\public\sdk\inc\guiddef.h -FILE 1836 f:\sp\public\sdk\inc\specstrings.h -FILE 1837 f:\sp\public\sdk\inc\basetsd.h -FILE 1838 f:\sp\public\sdk\inc\windows.h -FILE 1839 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1840 f:\sp\public\sdk\inc\winreg.h -FILE 1841 f:\sp\vctools\crt_bld\self_x86\crt\src\initnum.c -FILE 1842 f:\sp\vctools\crt_bld\self_x86\crt\src\nlsint.h -FILE 1843 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1844 f:\sp\public\sdk\inc\winbase.h -FILE 1845 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1846 f:\sp\public\sdk\inc\winerror.h -FILE 1847 f:\sp\public\sdk\inc\pshpack8.h -FILE 1848 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 1849 f:\sp\public\sdk\inc\reason.h -FILE 1850 f:\sp\public\sdk\inc\ddbanned.h -FILE 1851 f:\sp\public\sdk\inc\wincon.h -FILE 1852 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1853 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1854 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1855 f:\sp\public\sdk\inc\pshpack2.h -FILE 1856 f:\sp\public\sdk\inc\mcx.h -FILE 1857 f:\sp\public\sdk\inc\winuser.h -FILE 1858 f:\sp\public\sdk\inc\winnls.h -FILE 1859 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1860 f:\sp\public\sdk\inc\windef.h -FILE 1861 f:\sp\public\sdk\inc\stralign.h -FILE 1862 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1863 f:\sp\public\sdk\inc\tvout.h -FILE 1864 f:\sp\public\sdk\inc\winsvc.h -FILE 1865 f:\sp\public\sdk\inc\wingdi.h -FILE 1866 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1867 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1868 f:\sp\public\sdk\inc\pshpack4.h -FILE 1869 f:\sp\public\sdk\inc\poppack.h -FILE 1870 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1871 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1872 f:\sp\public\sdk\inc\winnetwk.h -FILE 1873 f:\sp\public\sdk\inc\imm.h -FILE 1874 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1875 f:\sp\public\sdk\inc\windef.h -FILE 1876 f:\sp\public\sdk\inc\pshpack1.h -FILE 1877 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1878 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1879 f:\sp\public\sdk\inc\winver.h -FILE 1880 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1881 f:\sp\public\sdk\inc\winnt.h -FILE 1882 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1883 f:\sp\public\sdk\inc\winreg.h -FILE 1884 f:\sp\vctools\crt_bld\self_x86\crt\src\initmon.c -FILE 1885 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1886 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1887 f:\sp\public\sdk\inc\winbase.h -FILE 1888 f:\sp\public\sdk\inc\winerror.h -FILE 1889 f:\sp\public\sdk\inc\pshpack8.h -FILE 1890 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 1891 f:\sp\public\sdk\inc\reason.h -FILE 1892 f:\sp\public\sdk\inc\ddbanned.h -FILE 1893 f:\sp\public\sdk\inc\wincon.h -FILE 1894 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1895 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1896 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1897 f:\sp\public\sdk\inc\pshpack2.h -FILE 1898 f:\sp\public\sdk\inc\mcx.h -FILE 1899 f:\sp\public\sdk\inc\winuser.h -FILE 1900 f:\sp\public\sdk\inc\winnls.h -FILE 1901 f:\sp\public\sdk\inc\guiddef.h -FILE 1902 f:\sp\public\sdk\inc\stralign.h -FILE 1903 f:\sp\public\sdk\inc\specstrings.h -FILE 1904 f:\sp\public\sdk\inc\basetsd.h -FILE 1905 f:\sp\public\sdk\inc\windows.h -FILE 1906 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1907 f:\sp\public\sdk\inc\tvout.h -FILE 1908 f:\sp\public\sdk\inc\winsvc.h -FILE 1909 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1910 f:\sp\public\sdk\inc\wingdi.h -FILE 1911 f:\sp\public\sdk\inc\winbase.h -FILE 1912 f:\sp\public\sdk\inc\winerror.h -FILE 1913 f:\sp\public\sdk\inc\pshpack1.h -FILE 1914 f:\sp\public\sdk\inc\pshpack8.h -FILE 1915 f:\sp\public\sdk\inc\winver.h -FILE 1916 f:\sp\public\sdk\inc\pshpack2.h -FILE 1917 f:\sp\public\sdk\inc\winreg.h -FILE 1918 f:\sp\public\sdk\inc\guiddef.h -FILE 1919 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 1920 f:\sp\public\sdk\inc\specstrings.h -FILE 1921 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1922 f:\sp\public\sdk\inc\basetsd.h -FILE 1923 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1924 f:\sp\public\sdk\inc\windows.h -FILE 1925 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 1926 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 1927 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1928 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1929 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1930 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1931 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1932 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 1933 f:\sp\public\sdk\inc\pshpack4.h -FILE 1934 f:\sp\public\sdk\inc\reason.h -FILE 1935 f:\sp\public\sdk\inc\wincon.h -FILE 1936 f:\sp\public\sdk\inc\poppack.h -FILE 1937 f:\sp\vctools\crt_bld\self_x86\crt\src\inithelp.c -FILE 1938 f:\sp\public\sdk\inc\mcx.h -FILE 1939 f:\sp\public\sdk\inc\winuser.h -FILE 1940 f:\sp\public\sdk\inc\winnls.h -FILE 1941 f:\sp\public\sdk\inc\stralign.h -FILE 1942 f:\sp\public\sdk\inc\tvout.h -FILE 1943 f:\sp\public\sdk\inc\winsvc.h -FILE 1944 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1945 f:\sp\public\sdk\inc\wingdi.h -FILE 1946 f:\sp\public\sdk\inc\windef.h -FILE 1947 f:\sp\public\sdk\inc\ddbanned.h -FILE 1948 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1949 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1950 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 1951 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1952 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1953 f:\sp\public\sdk\inc\winnetwk.h -FILE 1954 f:\sp\public\sdk\inc\imm.h -FILE 1955 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 1956 f:\sp\public\sdk\inc\winnt.h -FILE 1957 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1958 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 1959 f:\sp\public\sdk\inc\pshpack4.h -FILE 1960 f:\sp\public\sdk\inc\poppack.h -FILE 1961 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 1962 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 1963 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 1964 f:\sp\public\sdk\inc\winnetwk.h -FILE 1965 f:\sp\public\sdk\inc\imm.h -FILE 1966 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 1967 f:\sp\public\sdk\inc\windef.h -FILE 1968 f:\sp\public\sdk\inc\pshpack1.h -FILE 1969 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 1970 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 1971 f:\sp\public\sdk\inc\winver.h -FILE 1972 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 1973 f:\sp\public\sdk\inc\winnt.h -FILE 1974 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 1975 f:\sp\public\sdk\inc\winreg.h -FILE 1976 f:\sp\vctools\crt_bld\self_x86\crt\src\initctyp.c -FILE 1977 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 1978 f:\sp\public\sdk\inc\winbase.h -FILE 1979 f:\sp\public\sdk\inc\winerror.h -FILE 1980 f:\sp\public\sdk\inc\pshpack8.h -FILE 1981 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 1982 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 1983 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 1984 f:\sp\public\sdk\inc\reason.h -FILE 1985 f:\sp\public\sdk\inc\ddbanned.h -FILE 1986 f:\sp\public\sdk\inc\wincon.h -FILE 1987 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 1988 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 1989 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 1990 f:\sp\public\sdk\inc\pshpack2.h -FILE 1991 f:\sp\public\sdk\inc\mcx.h -FILE 1992 f:\sp\public\sdk\inc\winuser.h -FILE 1993 f:\sp\public\sdk\inc\winnls.h -FILE 1994 f:\sp\public\sdk\inc\guiddef.h -FILE 1995 f:\sp\public\sdk\inc\stralign.h -FILE 1996 f:\sp\public\sdk\inc\specstrings.h -FILE 1997 f:\sp\public\sdk\inc\basetsd.h -FILE 1998 f:\sp\public\sdk\inc\windows.h -FILE 1999 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2000 f:\sp\public\sdk\inc\tvout.h -FILE 2001 f:\sp\public\sdk\inc\winsvc.h -FILE 2002 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2003 f:\sp\public\sdk\inc\wingdi.h -FILE 2004 f:\sp\public\sdk\inc\poppack.h -FILE 2005 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 2006 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2007 f:\sp\public\sdk\inc\winnetwk.h -FILE 2008 f:\sp\public\sdk\inc\imm.h -FILE 2009 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2010 f:\sp\public\sdk\inc\windef.h -FILE 2011 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2012 f:\sp\public\sdk\inc\pshpack1.h -FILE 2013 f:\sp\public\sdk\inc\winver.h -FILE 2014 f:\sp\public\sdk\inc\windows.h -FILE 2015 f:\sp\public\sdk\inc\winnt.h -FILE 2016 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2017 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2018 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2019 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2020 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2021 f:\sp\public\sdk\inc\winreg.h -FILE 2022 f:\sp\public\sdk\inc\winbase.h -FILE 2023 f:\sp\vctools\crt_bld\self_x86\crt\src\initcrit.c -FILE 2024 f:\sp\public\sdk\inc\winerror.h -FILE 2025 f:\sp\public\sdk\inc\pshpack8.h -FILE 2026 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2027 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2028 f:\sp\public\sdk\inc\reason.h -FILE 2029 f:\sp\public\sdk\inc\wincon.h -FILE 2030 f:\sp\public\sdk\inc\ddbanned.h -FILE 2031 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2032 f:\sp\public\sdk\inc\pshpack2.h -FILE 2033 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2034 f:\sp\public\sdk\inc\mcx.h -FILE 2035 f:\sp\public\sdk\inc\winuser.h -FILE 2036 f:\sp\public\sdk\inc\winnls.h -FILE 2037 f:\sp\public\sdk\inc\guiddef.h -FILE 2038 f:\sp\public\sdk\inc\specstrings.h -FILE 2039 f:\sp\public\sdk\inc\basetsd.h -FILE 2040 f:\sp\public\sdk\inc\stralign.h -FILE 2041 f:\sp\public\sdk\inc\tvout.h -FILE 2042 f:\sp\public\sdk\inc\winsvc.h -FILE 2043 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2044 f:\sp\public\sdk\inc\wingdi.h -FILE 2045 f:\sp\public\sdk\inc\pshpack4.h -FILE 2046 f:\sp\public\sdk\inc\poppack.h -FILE 2047 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2048 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2049 f:\sp\public\sdk\inc\winnetwk.h -FILE 2050 f:\sp\public\sdk\inc\imm.h -FILE 2051 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2052 f:\sp\public\sdk\inc\windef.h -FILE 2053 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2054 f:\sp\public\sdk\inc\pshpack1.h -FILE 2055 f:\sp\public\sdk\inc\winver.h -FILE 2056 f:\sp\public\sdk\inc\windows.h -FILE 2057 f:\sp\public\sdk\inc\winnt.h -FILE 2058 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2059 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2060 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2061 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2062 f:\sp\public\sdk\inc\winreg.h -FILE 2063 f:\sp\public\sdk\inc\winbase.h -FILE 2064 f:\sp\vctools\crt_bld\self_x86\crt\src\initcoll.c -FILE 2065 f:\sp\public\sdk\inc\winerror.h -FILE 2066 f:\sp\public\sdk\inc\pshpack8.h -FILE 2067 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 2068 f:\sp\public\sdk\inc\reason.h -FILE 2069 f:\sp\public\sdk\inc\wincon.h -FILE 2070 f:\sp\public\sdk\inc\ddbanned.h -FILE 2071 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2072 f:\sp\public\sdk\inc\pshpack2.h -FILE 2073 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2074 f:\sp\public\sdk\inc\mcx.h -FILE 2075 f:\sp\public\sdk\inc\winuser.h -FILE 2076 f:\sp\public\sdk\inc\winnls.h -FILE 2077 f:\sp\public\sdk\inc\guiddef.h -FILE 2078 f:\sp\public\sdk\inc\specstrings.h -FILE 2079 f:\sp\public\sdk\inc\basetsd.h -FILE 2080 f:\sp\public\sdk\inc\stralign.h -FILE 2081 f:\sp\public\sdk\inc\tvout.h -FILE 2082 f:\sp\public\sdk\inc\winsvc.h -FILE 2083 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2084 f:\sp\public\sdk\inc\wingdi.h -FILE 2085 f:\sp\public\sdk\inc\pshpack4.h -FILE 2086 f:\sp\public\sdk\inc\poppack.h -FILE 2087 f:\sp\public\sdk\inc\winnetwk.h -FILE 2088 f:\sp\public\sdk\inc\imm.h -FILE 2089 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2090 f:\sp\public\sdk\inc\windef.h -FILE 2091 f:\binaries.x86ret\vcboot\inc\mm3dnow.h -FILE 2092 f:\sp\public\sdk\inc\pshpack1.h -FILE 2093 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 2094 f:\sp\public\sdk\inc\winver.h -FILE 2095 f:\sp\public\sdk\inc\windows.h -FILE 2096 f:\sp\public\sdk\inc\winnt.h -FILE 2097 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2098 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2099 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2100 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2101 f:\sp\public\sdk\inc\winreg.h -FILE 2102 f:\sp\public\sdk\inc\winbase.h -FILE 2103 f:\sp\vctools\crt_bld\self_x86\crt\src\gs_support.c -FILE 2104 f:\sp\public\sdk\inc\winerror.h -FILE 2105 f:\sp\public\sdk\inc\pshpack8.h -FILE 2106 f:\sp\vctools\crt_bld\self_x86\crt\src\intrin.h -FILE 2107 f:\sp\vctools\crt_bld\self_x86\crt\src\setjmp.h -FILE 2108 f:\sp\public\sdk\inc\reason.h -FILE 2109 f:\sp\public\sdk\inc\wincon.h -FILE 2110 f:\sp\public\sdk\inc\ddbanned.h -FILE 2111 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2112 f:\sp\public\sdk\inc\pshpack2.h -FILE 2113 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2114 f:\sp\public\sdk\inc\mcx.h -FILE 2115 f:\sp\public\sdk\inc\winuser.h -FILE 2116 f:\sp\public\sdk\inc\winnls.h -FILE 2117 f:\sp\public\sdk\inc\guiddef.h -FILE 2118 f:\sp\public\sdk\inc\specstrings.h -FILE 2119 f:\sp\public\sdk\inc\basetsd.h -FILE 2120 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 2121 f:\sp\public\sdk\inc\stralign.h -FILE 2122 f:\sp\public\sdk\inc\tvout.h -FILE 2123 f:\sp\public\sdk\inc\winsvc.h -FILE 2124 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2125 f:\sp\public\sdk\inc\wingdi.h -FILE 2126 f:\binaries.x86ret\vcboot\inc\emmintrin.h -FILE 2127 f:\binaries.x86ret\vcboot\inc\xmmintrin.h -FILE 2128 f:\binaries.x86ret\vcboot\inc\mmintrin.h -FILE 2129 f:\sp\public\sdk\inc\pshpack4.h -FILE 2130 f:\sp\public\sdk\inc\poppack.h -FILE 2131 f:\sp\public\sdk\inc\winnetwk.h -FILE 2132 f:\sp\public\sdk\inc\imm.h -FILE 2133 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2134 f:\sp\public\sdk\inc\windef.h -FILE 2135 f:\sp\public\sdk\inc\pshpack1.h -FILE 2136 f:\sp\public\sdk\inc\winver.h -FILE 2137 f:\sp\public\sdk\inc\windows.h -FILE 2138 f:\sp\public\sdk\inc\winnt.h -FILE 2139 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2140 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2141 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2142 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2143 f:\sp\public\sdk\inc\winreg.h -FILE 2144 f:\sp\public\sdk\inc\winbase.h -FILE 2145 f:\sp\vctools\crt_bld\self_x86\crt\src\gs_report.c -FILE 2146 f:\sp\public\sdk\inc\winerror.h -FILE 2147 f:\sp\public\sdk\inc\pshpack8.h -FILE 2148 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2149 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2150 f:\sp\public\sdk\inc\reason.h -FILE 2151 f:\sp\public\sdk\inc\wincon.h -FILE 2152 f:\sp\public\sdk\inc\ddbanned.h -FILE 2153 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2154 f:\sp\public\sdk\inc\pshpack2.h -FILE 2155 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2156 f:\sp\public\sdk\inc\mcx.h -FILE 2157 f:\sp\public\sdk\inc\winuser.h -FILE 2158 f:\sp\public\sdk\inc\winnls.h -FILE 2159 f:\sp\public\sdk\inc\guiddef.h -FILE 2160 f:\sp\public\sdk\inc\specstrings.h -FILE 2161 f:\sp\public\sdk\inc\basetsd.h -FILE 2162 f:\sp\public\sdk\inc\stralign.h -FILE 2163 f:\sp\public\sdk\inc\tvout.h -FILE 2164 f:\sp\public\sdk\inc\winsvc.h -FILE 2165 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2166 f:\sp\public\sdk\inc\wingdi.h -FILE 2167 f:\sp\public\sdk\inc\pshpack4.h -FILE 2168 f:\sp\public\sdk\inc\poppack.h -FILE 2169 f:\sp\public\sdk\inc\winnetwk.h -FILE 2170 f:\sp\public\sdk\inc\imm.h -FILE 2171 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2172 f:\sp\public\sdk\inc\windef.h -FILE 2173 f:\sp\public\sdk\inc\pshpack1.h -FILE 2174 f:\sp\public\sdk\inc\winver.h -FILE 2175 f:\sp\public\sdk\inc\windows.h -FILE 2176 f:\sp\public\sdk\inc\winnt.h -FILE 2177 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2178 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2179 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2180 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2181 f:\sp\public\sdk\inc\winreg.h -FILE 2182 f:\sp\public\sdk\inc\winbase.h -FILE 2183 f:\sp\vctools\crt_bld\self_x86\crt\src\gs_cookie.c -FILE 2184 f:\sp\public\sdk\inc\winerror.h -FILE 2185 f:\sp\public\sdk\inc\pshpack8.h -FILE 2186 f:\sp\public\sdk\inc\reason.h -FILE 2187 f:\sp\public\sdk\inc\wincon.h -FILE 2188 f:\sp\public\sdk\inc\ddbanned.h -FILE 2189 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2190 f:\sp\public\sdk\inc\pshpack2.h -FILE 2191 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2192 f:\sp\public\sdk\inc\mcx.h -FILE 2193 f:\sp\public\sdk\inc\winuser.h -FILE 2194 f:\sp\public\sdk\inc\winnls.h -FILE 2195 f:\sp\public\sdk\inc\guiddef.h -FILE 2196 f:\sp\public\sdk\inc\specstrings.h -FILE 2197 f:\sp\public\sdk\inc\basetsd.h -FILE 2198 f:\sp\public\sdk\inc\stralign.h -FILE 2199 f:\sp\public\sdk\inc\tvout.h -FILE 2200 f:\sp\public\sdk\inc\winsvc.h -FILE 2201 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2202 f:\sp\public\sdk\inc\wingdi.h -FILE 2203 f:\sp\public\sdk\inc\pshpack4.h -FILE 2204 f:\sp\public\sdk\inc\winerror.h -FILE 2205 f:\sp\public\sdk\inc\pshpack1.h -FILE 2206 f:\sp\public\sdk\inc\pshpack8.h -FILE 2207 f:\sp\public\sdk\inc\winver.h -FILE 2208 f:\sp\public\sdk\inc\pshpack2.h -FILE 2209 f:\sp\public\sdk\inc\winreg.h -FILE 2210 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2211 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2212 f:\sp\public\sdk\inc\guiddef.h -FILE 2213 f:\sp\public\sdk\inc\windows.h -FILE 2214 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2215 f:\sp\public\sdk\inc\specstrings.h -FILE 2216 f:\sp\public\sdk\inc\basetsd.h -FILE 2217 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2218 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 2219 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2220 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2221 f:\sp\public\sdk\inc\pshpack4.h -FILE 2222 f:\sp\public\sdk\inc\reason.h -FILE 2223 f:\sp\public\sdk\inc\wincon.h -FILE 2224 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2225 f:\sp\public\sdk\inc\poppack.h -FILE 2226 f:\sp\public\sdk\inc\mcx.h -FILE 2227 f:\sp\public\sdk\inc\winuser.h -FILE 2228 f:\sp\public\sdk\inc\winnls.h -FILE 2229 f:\sp\vctools\crt_bld\self_x86\crt\src\glstatus.c -FILE 2230 f:\sp\public\sdk\inc\stralign.h -FILE 2231 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2232 f:\sp\public\sdk\inc\windef.h -FILE 2233 f:\sp\public\sdk\inc\tvout.h -FILE 2234 f:\sp\public\sdk\inc\winsvc.h -FILE 2235 f:\sp\public\sdk\inc\wingdi.h -FILE 2236 f:\sp\public\sdk\inc\ddbanned.h -FILE 2237 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2238 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2239 f:\sp\public\sdk\inc\winnt.h -FILE 2240 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2241 f:\sp\public\sdk\inc\winnetwk.h -FILE 2242 f:\sp\public\sdk\inc\imm.h -FILE 2243 f:\sp\public\sdk\inc\winbase.h -FILE 2244 f:\sp\public\sdk\inc\pshpack4.h -FILE 2245 f:\sp\public\sdk\inc\poppack.h -FILE 2246 f:\sp\public\sdk\inc\winnt.h -FILE 2247 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2248 f:\sp\public\sdk\inc\winnetwk.h -FILE 2249 f:\sp\public\sdk\inc\imm.h -FILE 2250 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2251 f:\sp\public\sdk\inc\pshpack1.h -FILE 2252 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2253 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2254 f:\sp\public\sdk\inc\winver.h -FILE 2255 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2256 f:\sp\public\sdk\inc\guiddef.h -FILE 2257 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2258 f:\sp\public\sdk\inc\specstrings.h -FILE 2259 f:\sp\public\sdk\inc\basetsd.h -FILE 2260 f:\sp\public\sdk\inc\windows.h -FILE 2261 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2262 f:\sp\public\sdk\inc\winreg.h -FILE 2263 f:\sp\vctools\crt_bld\self_x86\crt\src\getqloc.c -FILE 2264 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2265 f:\sp\public\sdk\inc\winbase.h -FILE 2266 f:\sp\public\sdk\inc\winerror.h -FILE 2267 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2268 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2269 f:\sp\public\sdk\inc\pshpack8.h -FILE 2270 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2271 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2272 f:\sp\public\sdk\inc\reason.h -FILE 2273 f:\sp\public\sdk\inc\ddbanned.h -FILE 2274 f:\sp\public\sdk\inc\wincon.h -FILE 2275 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2276 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2277 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2278 f:\sp\public\sdk\inc\pshpack2.h -FILE 2279 f:\sp\public\sdk\inc\mcx.h -FILE 2280 f:\sp\public\sdk\inc\winuser.h -FILE 2281 f:\sp\public\sdk\inc\winnls.h -FILE 2282 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2283 f:\sp\public\sdk\inc\windef.h -FILE 2284 f:\sp\public\sdk\inc\stralign.h -FILE 2285 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2286 f:\sp\public\sdk\inc\tvout.h -FILE 2287 f:\sp\public\sdk\inc\winsvc.h -FILE 2288 f:\sp\public\sdk\inc\wingdi.h -FILE 2289 f:\sp\public\sdk\inc\reason.h -FILE 2290 f:\sp\public\sdk\inc\wincon.h -FILE 2291 f:\sp\public\sdk\inc\pshpack2.h -FILE 2292 f:\sp\public\sdk\inc\mcx.h -FILE 2293 f:\sp\public\sdk\inc\winuser.h -FILE 2294 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2295 f:\sp\public\sdk\inc\winnls.h -FILE 2296 f:\sp\public\sdk\inc\guiddef.h -FILE 2297 f:\sp\public\sdk\inc\windows.h -FILE 2298 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2299 f:\sp\public\sdk\inc\specstrings.h -FILE 2300 f:\sp\public\sdk\inc\basetsd.h -FILE 2301 f:\sp\public\sdk\inc\stralign.h -FILE 2302 f:\sp\public\sdk\inc\tvout.h -FILE 2303 f:\sp\public\sdk\inc\winsvc.h -FILE 2304 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2305 f:\sp\public\sdk\inc\wingdi.h -FILE 2306 f:\sp\public\sdk\inc\pshpack4.h -FILE 2307 f:\sp\public\sdk\inc\poppack.h -FILE 2308 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 2309 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2310 f:\sp\public\sdk\inc\winnetwk.h -FILE 2311 f:\sp\public\sdk\inc\imm.h -FILE 2312 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2313 f:\sp\public\sdk\inc\windef.h -FILE 2314 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 2315 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 2316 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2317 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2318 f:\sp\vctools\crt_bld\self_x86\crt\src\getenv.c -FILE 2319 f:\sp\public\sdk\inc\pshpack1.h -FILE 2320 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2321 f:\sp\public\sdk\inc\winver.h -FILE 2322 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2323 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2324 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2325 f:\sp\public\sdk\inc\winnt.h -FILE 2326 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2327 f:\sp\public\sdk\inc\ddbanned.h -FILE 2328 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2329 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2330 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2331 f:\sp\public\sdk\inc\winreg.h -FILE 2332 f:\sp\public\sdk\inc\winbase.h -FILE 2333 f:\sp\public\sdk\inc\winerror.h -FILE 2334 f:\sp\public\sdk\inc\pshpack8.h -FILE 2335 f:\sp\public\sdk\inc\poppack.h -FILE 2336 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2337 f:\sp\public\sdk\inc\winnetwk.h -FILE 2338 f:\sp\public\sdk\inc\imm.h -FILE 2339 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2340 f:\sp\public\sdk\inc\windef.h -FILE 2341 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2342 f:\sp\public\sdk\inc\pshpack1.h -FILE 2343 f:\sp\public\sdk\inc\winver.h -FILE 2344 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2345 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2346 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2347 f:\sp\public\sdk\inc\winnt.h -FILE 2348 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2349 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2350 f:\sp\public\sdk\inc\winreg.h -FILE 2351 f:\sp\vctools\crt_bld\self_x86\crt\src\errmode.c -FILE 2352 f:\sp\public\sdk\inc\winbase.h -FILE 2353 f:\sp\public\sdk\inc\winerror.h -FILE 2354 f:\sp\public\sdk\inc\pshpack8.h -FILE 2355 f:\sp\public\sdk\inc\reason.h -FILE 2356 f:\sp\public\sdk\inc\wincon.h -FILE 2357 f:\sp\public\sdk\inc\ddbanned.h -FILE 2358 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2359 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2360 f:\sp\public\sdk\inc\pshpack2.h -FILE 2361 f:\sp\public\sdk\inc\mcx.h -FILE 2362 f:\sp\public\sdk\inc\winuser.h -FILE 2363 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2364 f:\sp\public\sdk\inc\winnls.h -FILE 2365 f:\sp\public\sdk\inc\guiddef.h -FILE 2366 f:\sp\public\sdk\inc\windows.h -FILE 2367 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2368 f:\sp\public\sdk\inc\specstrings.h -FILE 2369 f:\sp\public\sdk\inc\basetsd.h -FILE 2370 f:\sp\public\sdk\inc\stralign.h -FILE 2371 f:\sp\public\sdk\inc\tvout.h -FILE 2372 f:\sp\public\sdk\inc\winsvc.h -FILE 2373 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2374 f:\sp\public\sdk\inc\wingdi.h -FILE 2375 f:\sp\public\sdk\inc\pshpack4.h -FILE 2376 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2377 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2378 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2379 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2380 f:\sp\vctools\crt_bld\self_x86\crt\src\dbghook.c -FILE 2381 f:\sp\public\sdk\inc\ddbanned.h -FILE 2382 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2383 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2384 f:\sp\public\sdk\inc\poppack.h -FILE 2385 f:\sp\public\sdk\inc\winnetwk.h -FILE 2386 f:\sp\public\sdk\inc\imm.h -FILE 2387 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2388 f:\sp\public\sdk\inc\windef.h -FILE 2389 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2390 f:\sp\public\sdk\inc\pshpack1.h -FILE 2391 f:\sp\public\sdk\inc\winver.h -FILE 2392 f:\sp\public\sdk\inc\windows.h -FILE 2393 f:\sp\public\sdk\inc\winnt.h -FILE 2394 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2395 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2396 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2397 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2398 f:\sp\public\sdk\inc\winreg.h -FILE 2399 f:\sp\vctools\crt_bld\self_x86\crt\src\wchar.h -FILE 2400 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.c -FILE 2401 f:\sp\public\sdk\inc\winbase.h -FILE 2402 f:\sp\vctools\crt_bld\self_x86\crt\src\wtime.inl -FILE 2403 f:\sp\public\sdk\inc\winerror.h -FILE 2404 f:\sp\public\sdk\inc\pshpack8.h -FILE 2405 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2406 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2407 f:\sp\public\sdk\inc\reason.h -FILE 2408 f:\sp\public\sdk\inc\wincon.h -FILE 2409 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2410 f:\sp\public\sdk\inc\ddbanned.h -FILE 2411 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2412 f:\sp\public\sdk\inc\pshpack2.h -FILE 2413 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2414 f:\sp\public\sdk\inc\mcx.h -FILE 2415 f:\sp\public\sdk\inc\winuser.h -FILE 2416 f:\sp\public\sdk\inc\winnls.h -FILE 2417 f:\sp\public\sdk\inc\guiddef.h -FILE 2418 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 2419 f:\sp\public\sdk\inc\specstrings.h -FILE 2420 f:\sp\public\sdk\inc\basetsd.h -FILE 2421 f:\sp\public\sdk\inc\stralign.h -FILE 2422 f:\sp\public\sdk\inc\tvout.h -FILE 2423 f:\sp\public\sdk\inc\winsvc.h -FILE 2424 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2425 f:\sp\public\sdk\inc\wingdi.h -FILE 2426 f:\sp\public\sdk\inc\pshpack4.h -FILE 2427 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2428 f:\sp\public\sdk\inc\mcx.h -FILE 2429 f:\sp\public\sdk\inc\winuser.h -FILE 2430 f:\sp\public\sdk\inc\winnls.h -FILE 2431 f:\sp\public\sdk\inc\stralign.h -FILE 2432 f:\sp\public\sdk\inc\tvout.h -FILE 2433 f:\sp\public\sdk\inc\winsvc.h -FILE 2434 f:\sp\public\sdk\inc\wingdi.h -FILE 2435 f:\sp\public\sdk\inc\pshpack4.h -FILE 2436 f:\sp\public\sdk\inc\winnt.h -FILE 2437 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2438 f:\sp\public\sdk\inc\poppack.h -FILE 2439 f:\sp\public\sdk\inc\winnetwk.h -FILE 2440 f:\sp\public\sdk\inc\imm.h -FILE 2441 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 2442 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 2443 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2444 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2445 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2446 f:\sp\public\sdk\inc\pshpack1.h -FILE 2447 f:\sp\vctools\crt_bld\self_x86\crt\src\crtmbox.c -FILE 2448 f:\sp\public\sdk\inc\winver.h -FILE 2449 f:\sp\public\sdk\inc\guiddef.h -FILE 2450 f:\sp\public\sdk\inc\windows.h -FILE 2451 f:\sp\public\sdk\inc\specstrings.h -FILE 2452 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2453 f:\sp\public\sdk\inc\basetsd.h -FILE 2454 f:\sp\public\sdk\inc\winreg.h -FILE 2455 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2456 f:\sp\public\sdk\inc\winbase.h -FILE 2457 f:\sp\public\sdk\inc\ddbanned.h -FILE 2458 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2459 f:\sp\public\sdk\inc\winerror.h -FILE 2460 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2461 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2462 f:\sp\public\sdk\inc\pshpack8.h -FILE 2463 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2464 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2465 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2466 f:\sp\public\sdk\inc\reason.h -FILE 2467 f:\sp\public\sdk\inc\wincon.h -FILE 2468 f:\sp\public\sdk\inc\pshpack2.h -FILE 2469 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2470 f:\sp\public\sdk\inc\windef.h -FILE 2471 f:\sp\public\sdk\inc\poppack.h -FILE 2472 f:\sp\vctools\crt_bld\self_x86\crt\src\fltintrn.h -FILE 2473 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2474 f:\sp\public\sdk\inc\winnetwk.h -FILE 2475 f:\sp\public\sdk\inc\imm.h -FILE 2476 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2477 f:\sp\public\sdk\inc\windef.h -FILE 2478 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2479 f:\sp\public\sdk\inc\pshpack1.h -FILE 2480 f:\sp\public\sdk\inc\winver.h -FILE 2481 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2482 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2483 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2484 f:\sp\public\sdk\inc\winnt.h -FILE 2485 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2486 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2487 f:\sp\public\sdk\inc\winreg.h -FILE 2488 f:\sp\vctools\crt_bld\self_x86\crt\src\cmiscdat.c -FILE 2489 f:\sp\public\sdk\inc\winbase.h -FILE 2490 f:\sp\public\sdk\inc\winerror.h -FILE 2491 f:\sp\public\sdk\inc\pshpack8.h -FILE 2492 f:\sp\public\sdk\inc\reason.h -FILE 2493 f:\sp\public\sdk\inc\wincon.h -FILE 2494 f:\sp\public\sdk\inc\ddbanned.h -FILE 2495 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2496 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2497 f:\sp\public\sdk\inc\pshpack2.h -FILE 2498 f:\sp\public\sdk\inc\mcx.h -FILE 2499 f:\sp\public\sdk\inc\winuser.h -FILE 2500 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2501 f:\sp\public\sdk\inc\winnls.h -FILE 2502 f:\sp\public\sdk\inc\guiddef.h -FILE 2503 f:\sp\public\sdk\inc\windows.h -FILE 2504 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2505 f:\sp\public\sdk\inc\specstrings.h -FILE 2506 f:\sp\public\sdk\inc\basetsd.h -FILE 2507 f:\sp\public\sdk\inc\stralign.h -FILE 2508 f:\sp\public\sdk\inc\tvout.h -FILE 2509 f:\sp\public\sdk\inc\winsvc.h -FILE 2510 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2511 f:\sp\public\sdk\inc\wingdi.h -FILE 2512 f:\sp\public\sdk\inc\pshpack4.h -FILE 2513 f:\sp\public\sdk\inc\pshpack4.h -FILE 2514 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 2515 f:\sp\vctools\crt_bld\self_x86\crt\src\signal.h -FILE 2516 f:\sp\public\sdk\inc\poppack.h -FILE 2517 f:\sp\public\sdk\inc\winnetwk.h -FILE 2518 f:\sp\public\sdk\inc\imm.h -FILE 2519 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2520 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2521 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2522 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2523 f:\sp\public\sdk\inc\windef.h -FILE 2524 f:\sp\public\sdk\inc\pshpack1.h -FILE 2525 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2526 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2527 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2528 f:\sp\public\sdk\inc\winver.h -FILE 2529 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2530 f:\sp\public\sdk\inc\winnt.h -FILE 2531 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2532 f:\sp\public\sdk\inc\winreg.h -FILE 2533 f:\sp\vctools\crt_bld\self_x86\crt\src\abort.c -FILE 2534 f:\sp\public\sdk\inc\winbase.h -FILE 2535 f:\sp\public\sdk\inc\winerror.h -FILE 2536 f:\sp\public\sdk\inc\pshpack8.h -FILE 2537 f:\sp\public\sdk\inc\reason.h -FILE 2538 f:\sp\public\sdk\inc\ddbanned.h -FILE 2539 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2540 f:\sp\public\sdk\inc\wincon.h -FILE 2541 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2542 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2543 f:\sp\public\sdk\inc\pshpack2.h -FILE 2544 f:\sp\public\sdk\inc\mcx.h -FILE 2545 f:\sp\public\sdk\inc\winuser.h -FILE 2546 f:\sp\public\sdk\inc\winnls.h -FILE 2547 f:\sp\public\sdk\inc\guiddef.h -FILE 2548 f:\sp\public\sdk\inc\stralign.h -FILE 2549 f:\sp\public\sdk\inc\specstrings.h -FILE 2550 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2551 f:\sp\public\sdk\inc\basetsd.h -FILE 2552 f:\sp\public\sdk\inc\windows.h -FILE 2553 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2554 f:\sp\public\sdk\inc\tvout.h -FILE 2555 f:\sp\public\sdk\inc\winsvc.h -FILE 2556 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2557 f:\sp\public\sdk\inc\wingdi.h -FILE 2558 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 2559 f:\sp\public\sdk\inc\wincon.h -FILE 2560 f:\sp\public\sdk\inc\imm.h -FILE 2561 f:\sp\public\sdk\inc\winbase.h -FILE 2562 f:\sp\public\sdk\inc\wingdi.h -FILE 2563 f:\sp\public\sdk\inc\winver.h -FILE 2564 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2565 f:\sp\public\sdk\inc\windows.h -FILE 2566 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2567 f:\sp\public\sdk\inc\pshpack2.h -FILE 2568 f:\sp\public\sdk\inc\reason.h -FILE 2569 f:\sp\vctools\crt_bld\self_x86\crt\src\a_str.c -FILE 2570 f:\sp\public\sdk\inc\specstrings.h -FILE 2571 f:\sp\public\sdk\inc\basetsd.h -FILE 2572 f:\sp\public\sdk\inc\pshpack4.h -FILE 2573 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 2574 f:\sp\public\sdk\inc\winnetwk.h -FILE 2575 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2576 f:\sp\public\sdk\inc\stralign.h -FILE 2577 f:\sp\public\sdk\inc\poppack.h -FILE 2578 f:\sp\public\sdk\inc\winsvc.h -FILE 2579 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2580 f:\sp\public\sdk\inc\windef.h -FILE 2581 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2582 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2583 f:\sp\public\sdk\inc\winuser.h -FILE 2584 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2585 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2586 f:\sp\public\sdk\inc\mcx.h -FILE 2587 f:\sp\public\sdk\inc\pshpack8.h -FILE 2588 f:\sp\public\sdk\inc\guiddef.h -FILE 2589 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2590 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2591 f:\sp\public\sdk\inc\winnt.h -FILE 2592 f:\sp\public\sdk\inc\winnls.h -FILE 2593 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2594 f:\sp\public\sdk\inc\pshpack1.h -FILE 2595 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2596 f:\sp\public\sdk\inc\winerror.h -FILE 2597 f:\sp\public\sdk\inc\winreg.h -FILE 2598 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2599 f:\sp\public\sdk\inc\ddbanned.h -FILE 2600 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2601 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2602 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2603 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2604 f:\sp\public\sdk\inc\tvout.h -FILE 2605 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2606 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 2607 f:\sp\public\sdk\inc\wincon.h -FILE 2608 f:\sp\public\sdk\inc\imm.h -FILE 2609 f:\sp\public\sdk\inc\winbase.h -FILE 2610 f:\sp\public\sdk\inc\wingdi.h -FILE 2611 f:\sp\public\sdk\inc\winver.h -FILE 2612 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2613 f:\sp\public\sdk\inc\windows.h -FILE 2614 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2615 f:\sp\public\sdk\inc\pshpack2.h -FILE 2616 f:\sp\public\sdk\inc\reason.h -FILE 2617 f:\sp\vctools\crt_bld\self_x86\crt\src\a_map.c -FILE 2618 f:\sp\public\sdk\inc\specstrings.h -FILE 2619 f:\sp\public\sdk\inc\basetsd.h -FILE 2620 f:\sp\public\sdk\inc\pshpack4.h -FILE 2621 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 2622 f:\sp\public\sdk\inc\winnetwk.h -FILE 2623 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2624 f:\sp\public\sdk\inc\stralign.h -FILE 2625 f:\sp\public\sdk\inc\poppack.h -FILE 2626 f:\sp\public\sdk\inc\winsvc.h -FILE 2627 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2628 f:\sp\public\sdk\inc\windef.h -FILE 2629 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2630 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2631 f:\sp\public\sdk\inc\winuser.h -FILE 2632 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2633 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2634 f:\sp\public\sdk\inc\mcx.h -FILE 2635 f:\sp\public\sdk\inc\pshpack8.h -FILE 2636 f:\sp\public\sdk\inc\guiddef.h -FILE 2637 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2638 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2639 f:\sp\public\sdk\inc\winnt.h -FILE 2640 f:\sp\public\sdk\inc\winnls.h -FILE 2641 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2642 f:\sp\public\sdk\inc\pshpack1.h -FILE 2643 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2644 f:\sp\public\sdk\inc\winerror.h -FILE 2645 f:\sp\public\sdk\inc\winreg.h -FILE 2646 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2647 f:\sp\public\sdk\inc\ddbanned.h -FILE 2648 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2649 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2650 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2651 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2652 f:\sp\public\sdk\inc\tvout.h -FILE 2653 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2654 f:\sp\public\sdk\inc\wincon.h -FILE 2655 f:\sp\public\sdk\inc\imm.h -FILE 2656 f:\sp\public\sdk\inc\winbase.h -FILE 2657 f:\sp\public\sdk\inc\wingdi.h -FILE 2658 f:\sp\public\sdk\inc\winver.h -FILE 2659 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2660 f:\sp\public\sdk\inc\windows.h -FILE 2661 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2662 f:\sp\public\sdk\inc\pshpack2.h -FILE 2663 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 2664 f:\sp\public\sdk\inc\reason.h -FILE 2665 f:\sp\vctools\crt_bld\self_x86\crt\src\a_loc.c -FILE 2666 f:\sp\public\sdk\inc\specstrings.h -FILE 2667 f:\sp\public\sdk\inc\basetsd.h -FILE 2668 f:\sp\public\sdk\inc\pshpack4.h -FILE 2669 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2670 f:\sp\public\sdk\inc\winnetwk.h -FILE 2671 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2672 f:\sp\public\sdk\inc\stralign.h -FILE 2673 f:\sp\public\sdk\inc\poppack.h -FILE 2674 f:\sp\public\sdk\inc\winsvc.h -FILE 2675 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2676 f:\sp\public\sdk\inc\windef.h -FILE 2677 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2678 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2679 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2680 f:\sp\public\sdk\inc\winuser.h -FILE 2681 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2682 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2683 f:\sp\public\sdk\inc\mcx.h -FILE 2684 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 2685 f:\sp\public\sdk\inc\pshpack8.h -FILE 2686 f:\sp\public\sdk\inc\guiddef.h -FILE 2687 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2688 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2689 f:\sp\public\sdk\inc\winnt.h -FILE 2690 f:\sp\public\sdk\inc\winnls.h -FILE 2691 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2692 f:\sp\public\sdk\inc\pshpack1.h -FILE 2693 f:\sp\public\sdk\inc\winerror.h -FILE 2694 f:\sp\public\sdk\inc\winreg.h -FILE 2695 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2696 f:\sp\public\sdk\inc\ddbanned.h -FILE 2697 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2698 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2699 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2700 f:\sp\public\sdk\inc\tvout.h -FILE 2701 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2702 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2703 f:\sp\public\sdk\inc\poppack.h -FILE 2704 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2705 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2706 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2707 f:\sp\public\sdk\inc\winnetwk.h -FILE 2708 f:\sp\public\sdk\inc\imm.h -FILE 2709 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2710 f:\sp\public\sdk\inc\windef.h -FILE 2711 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2712 f:\sp\public\sdk\inc\pshpack1.h -FILE 2713 f:\sp\public\sdk\inc\winver.h -FILE 2714 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2715 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2716 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2717 f:\sp\public\sdk\inc\winnt.h -FILE 2718 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2719 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2720 f:\sp\public\sdk\inc\winreg.h -FILE 2721 f:\sp\vctools\crt_bld\self_x86\crt\src\a_env.c -FILE 2722 f:\sp\public\sdk\inc\winbase.h -FILE 2723 f:\sp\public\sdk\inc\winerror.h -FILE 2724 f:\sp\public\sdk\inc\pshpack8.h -FILE 2725 f:\sp\public\sdk\inc\reason.h -FILE 2726 f:\sp\public\sdk\inc\wincon.h -FILE 2727 f:\sp\public\sdk\inc\ddbanned.h -FILE 2728 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2729 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2730 f:\sp\public\sdk\inc\pshpack2.h -FILE 2731 f:\sp\public\sdk\inc\mcx.h -FILE 2732 f:\sp\public\sdk\inc\winuser.h -FILE 2733 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2734 f:\sp\public\sdk\inc\winnls.h -FILE 2735 f:\sp\public\sdk\inc\guiddef.h -FILE 2736 f:\sp\public\sdk\inc\windows.h -FILE 2737 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2738 f:\sp\public\sdk\inc\specstrings.h -FILE 2739 f:\sp\public\sdk\inc\basetsd.h -FILE 2740 f:\sp\public\sdk\inc\stralign.h -FILE 2741 f:\sp\public\sdk\inc\tvout.h -FILE 2742 f:\sp\public\sdk\inc\winsvc.h -FILE 2743 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2744 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2745 f:\sp\public\sdk\inc\wingdi.h -FILE 2746 f:\sp\public\sdk\inc\pshpack4.h -FILE 2747 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 2748 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 2749 f:\sp\public\sdk\inc\wincon.h -FILE 2750 f:\sp\public\sdk\inc\imm.h -FILE 2751 f:\sp\public\sdk\inc\winbase.h -FILE 2752 f:\sp\public\sdk\inc\wingdi.h -FILE 2753 f:\sp\public\sdk\inc\winver.h -FILE 2754 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2755 f:\sp\public\sdk\inc\windows.h -FILE 2756 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2757 f:\sp\public\sdk\inc\pshpack2.h -FILE 2758 f:\sp\public\sdk\inc\reason.h -FILE 2759 f:\sp\vctools\crt_bld\self_x86\crt\src\a_cmp.c -FILE 2760 f:\sp\public\sdk\inc\specstrings.h -FILE 2761 f:\sp\public\sdk\inc\basetsd.h -FILE 2762 f:\sp\public\sdk\inc\pshpack4.h -FILE 2763 f:\sp\public\sdk\inc\winnetwk.h -FILE 2764 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2765 f:\sp\public\sdk\inc\stralign.h -FILE 2766 f:\sp\public\sdk\inc\poppack.h -FILE 2767 f:\sp\public\sdk\inc\winsvc.h -FILE 2768 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2769 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 2770 f:\sp\public\sdk\inc\windef.h -FILE 2771 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2772 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2773 f:\sp\public\sdk\inc\winuser.h -FILE 2774 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2775 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2776 f:\sp\public\sdk\inc\mcx.h -FILE 2777 f:\sp\public\sdk\inc\pshpack8.h -FILE 2778 f:\sp\public\sdk\inc\guiddef.h -FILE 2779 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2780 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2781 f:\sp\public\sdk\inc\winnt.h -FILE 2782 f:\sp\public\sdk\inc\winnls.h -FILE 2783 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2784 f:\sp\public\sdk\inc\pshpack1.h -FILE 2785 f:\sp\public\sdk\inc\winerror.h -FILE 2786 f:\sp\public\sdk\inc\winreg.h -FILE 2787 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2788 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2789 f:\sp\public\sdk\inc\ddbanned.h -FILE 2790 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2791 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2792 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 2793 f:\sp\public\sdk\inc\tvout.h -FILE 2794 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2795 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\sehprolg4.asm -FILE 2796 f:\sp\public\sdk\inc\poppack.h -FILE 2797 f:\sp\public\sdk\inc\winnetwk.h -FILE 2798 f:\sp\public\sdk\inc\imm.h -FILE 2799 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2800 f:\sp\public\sdk\inc\windef.h -FILE 2801 f:\sp\public\sdk\inc\pshpack1.h -FILE 2802 f:\sp\public\sdk\inc\winver.h -FILE 2803 f:\sp\public\sdk\inc\windows.h -FILE 2804 f:\sp\public\sdk\inc\winnt.h -FILE 2805 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2806 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2807 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2808 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2809 f:\sp\public\sdk\inc\winreg.h -FILE 2810 f:\sp\public\sdk\inc\winbase.h -FILE 2811 f:\sp\vctools\crt_bld\self_x86\crt\src\intel\secchk.c -FILE 2812 f:\sp\public\sdk\inc\winerror.h -FILE 2813 f:\sp\public\sdk\inc\pshpack8.h -FILE 2814 f:\sp\vctools\crt_bld\self_x86\crt\src\process.h -FILE 2815 f:\sp\public\sdk\inc\reason.h -FILE 2816 f:\sp\public\sdk\inc\wincon.h -FILE 2817 f:\sp\public\sdk\inc\ddbanned.h -FILE 2818 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2819 f:\sp\public\sdk\inc\pshpack2.h -FILE 2820 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2821 f:\sp\public\sdk\inc\mcx.h -FILE 2822 f:\sp\public\sdk\inc\winuser.h -FILE 2823 f:\sp\public\sdk\inc\winnls.h -FILE 2824 f:\sp\public\sdk\inc\guiddef.h -FILE 2825 f:\sp\public\sdk\inc\specstrings.h -FILE 2826 f:\sp\public\sdk\inc\basetsd.h -FILE 2827 f:\sp\public\sdk\inc\stralign.h -FILE 2828 f:\sp\public\sdk\inc\tvout.h -FILE 2829 f:\sp\public\sdk\inc\winsvc.h -FILE 2830 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2831 f:\sp\public\sdk\inc\wingdi.h -FILE 2832 f:\sp\public\sdk\inc\pshpack4.h -FILE 2833 f:\sp\public\sdk\inc\poppack.h -FILE 2834 f:\sp\public\sdk\inc\winnetwk.h -FILE 2835 f:\sp\public\sdk\inc\imm.h -FILE 2836 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2837 f:\sp\public\sdk\inc\windef.h -FILE 2838 f:\sp\public\sdk\inc\pshpack1.h -FILE 2839 f:\sp\public\sdk\inc\winver.h -FILE 2840 f:\sp\public\sdk\inc\windows.h -FILE 2841 f:\sp\public\sdk\inc\winnt.h -FILE 2842 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2843 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2844 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2845 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2846 f:\sp\public\sdk\inc\winreg.h -FILE 2847 f:\sp\public\sdk\inc\winbase.h -FILE 2848 f:\sp\vctools\crt_bld\self_x86\crt\src\intel\loadcfg.c -FILE 2849 f:\sp\public\sdk\inc\winerror.h -FILE 2850 f:\sp\public\sdk\inc\pshpack8.h -FILE 2851 f:\sp\public\sdk\inc\reason.h -FILE 2852 f:\sp\public\sdk\inc\wincon.h -FILE 2853 f:\sp\public\sdk\inc\ddbanned.h -FILE 2854 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2855 f:\sp\public\sdk\inc\pshpack2.h -FILE 2856 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2857 f:\sp\public\sdk\inc\mcx.h -FILE 2858 f:\sp\public\sdk\inc\winuser.h -FILE 2859 f:\sp\public\sdk\inc\winnls.h -FILE 2860 f:\sp\public\sdk\inc\guiddef.h -FILE 2861 f:\sp\public\sdk\inc\specstrings.h -FILE 2862 f:\sp\public\sdk\inc\basetsd.h -FILE 2863 f:\sp\public\sdk\inc\stralign.h -FILE 2864 f:\sp\public\sdk\inc\tvout.h -FILE 2865 f:\sp\public\sdk\inc\winsvc.h -FILE 2866 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2867 f:\sp\public\sdk\inc\wingdi.h -FILE 2868 f:\sp\public\sdk\inc\pshpack4.h -FILE 2869 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup4.asm -FILE 2870 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\h\exsup.inc -FILE 2871 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\exsup.asm -FILE 2872 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\h\pversion.inc -FILE 2873 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\h\cmacros.inc -FILE 2874 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\h\exsup.inc -FILE 2875 F:\SP\vctools\crt_bld\SELF_X86\crt\prebuild\misc\i386\nlgsupp.asm -FILE 2876 f:\sp\public\sdk\inc\ntldr.h -FILE 2877 f:\sp\public\sdk\inc\ntpoapi.h -FILE 2878 f:\sp\public\sdk\inc\ntexapi.h -FILE 2879 f:\sp\public\sdk\inc\pshpack1.h -FILE 2880 f:\sp\public\sdk\inc\pshpack8.h -FILE 2881 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 2882 f:\sp\public\sdk\inc\ntdef.h -FILE 2883 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 2884 f:\sp\public\sdk\inc\mce.h -FILE 2885 f:\sp\public\sdk\inc\poppack.h -FILE 2886 f:\sp\public\sdk\inc\ntimage.h -FILE 2887 f:\sp\public\sdk\inc\pshpack2.h -FILE 2888 f:\sp\public\sdk\inc\ntpsapi.h -FILE 2889 f:\sp\public\sdk\inc\nti386.h -FILE 2890 f:\sp\public\sdk\inc\nt.h -FILE 2891 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 2892 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 2893 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 2894 f:\sp\public\sdk\inc\specstrings.h -FILE 2895 f:\sp\public\sdk\inc\basetsd.h -FILE 2896 f:\sp\public\sdk\inc\ntxcapi.h -FILE 2897 f:\sp\public\sdk\inc\guiddef.h -FILE 2898 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\misc\i386\chandler4.c -FILE 2899 f:\sp\public\sdk\inc\ntstatus.h -FILE 2900 f:\sp\public\sdk\inc\ntkeapi.h -FILE 2901 f:\sp\public\sdk\inc\ntconfig.h -FILE 2902 f:\sp\public\sdk\inc\ntregapi.h -FILE 2903 f:\sp\public\sdk\inc\ntmmapi.h -FILE 2904 f:\sp\public\sdk\inc\ntobapi.h -FILE 2905 f:\sp\public\sdk\inc\nxi386.h -FILE 2906 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\process.h -FILE 2907 f:\sp\public\sdk\inc\ntioapi.h -FILE 2908 f:\sp\public\sdk\inc\devioctl.h -FILE 2909 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 2910 f:\sp\public\sdk\inc\ntseapi.h -FILE 2911 f:\sp\public\sdk\inc\ddbanned.h -FILE 2912 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 2913 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 2914 f:\sp\public\sdk\inc\ntnls.h -FILE 2915 f:\sp\public\sdk\inc\ntelfapi.h -FILE 2916 f:\sp\public\sdk\inc\pshpack4.h -FILE 2917 f:\sp\public\sdk\inc\ntiolog.h -FILE 2918 f:\sp\public\sdk\inc\ntlpcapi.h -FILE 2919 f:\sp\public\sdk\inc\ntpnpapi.h -FILE 2920 f:\sp\public\sdk\inc\cfg.h -FILE 2921 f:\sp\public\sdk\inc\pebteb.h -FILE 2922 f:\sp\public\sdk\inc\wincon.h -FILE 2923 f:\sp\public\sdk\inc\imm.h -FILE 2924 f:\sp\public\sdk\inc\winbase.h -FILE 2925 f:\sp\public\sdk\inc\wingdi.h -FILE 2926 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 2927 f:\sp\public\sdk\inc\winver.h -FILE 2928 f:\sp\public\sdk\inc\pshpack2.h -FILE 2929 f:\sp\public\sdk\inc\reason.h -FILE 2930 f:\sp\vctools\crt_bld\self_x86\crt\src\mbdata.h -FILE 2931 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 2932 f:\sp\vctools\crt_bld\self_x86\crt\src\mbsnbico.c -FILE 2933 f:\sp\public\sdk\inc\specstrings.h -FILE 2934 f:\sp\public\sdk\inc\basetsd.h -FILE 2935 f:\sp\public\sdk\inc\pshpack4.h -FILE 2936 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2937 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 2938 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2939 f:\sp\public\sdk\inc\winnetwk.h -FILE 2940 f:\sp\public\sdk\inc\stralign.h -FILE 2941 f:\sp\public\sdk\inc\poppack.h -FILE 2942 f:\sp\public\sdk\inc\winsvc.h -FILE 2943 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2944 f:\sp\public\sdk\inc\windef.h -FILE 2945 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 2946 f:\sp\public\sdk\inc\winuser.h -FILE 2947 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2948 f:\sp\public\sdk\inc\windows.h -FILE 2949 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2950 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2951 f:\sp\public\sdk\inc\mcx.h -FILE 2952 f:\sp\public\sdk\inc\pshpack8.h -FILE 2953 f:\sp\public\sdk\inc\guiddef.h -FILE 2954 f:\sp\public\sdk\inc\winnt.h -FILE 2955 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2956 f:\sp\public\sdk\inc\winnls.h -FILE 2957 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 2958 f:\sp\public\sdk\inc\pshpack1.h -FILE 2959 f:\sp\public\sdk\inc\winerror.h -FILE 2960 f:\sp\public\sdk\inc\winreg.h -FILE 2961 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 2962 f:\sp\public\sdk\inc\ddbanned.h -FILE 2963 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 2964 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 2965 f:\sp\public\sdk\inc\tvout.h -FILE 2966 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2967 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2968 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 2969 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 2970 f:\sp\public\sdk\inc\wincon.h -FILE 2971 f:\sp\public\sdk\inc\imm.h -FILE 2972 f:\sp\public\sdk\inc\winbase.h -FILE 2973 f:\sp\public\sdk\inc\wingdi.h -FILE 2974 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 2975 f:\sp\public\sdk\inc\winver.h -FILE 2976 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 2977 f:\sp\public\sdk\inc\windows.h -FILE 2978 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 2979 f:\sp\public\sdk\inc\pshpack2.h -FILE 2980 f:\sp\public\sdk\inc\reason.h -FILE 2981 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 2982 f:\sp\vctools\crt_bld\self_x86\crt\src\mbschr.c -FILE 2983 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 2984 f:\sp\public\sdk\inc\specstrings.h -FILE 2985 f:\sp\public\sdk\inc\basetsd.h -FILE 2986 f:\sp\public\sdk\inc\pshpack4.h -FILE 2987 f:\sp\public\sdk\inc\winnetwk.h -FILE 2988 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 2989 f:\sp\public\sdk\inc\stralign.h -FILE 2990 f:\sp\public\sdk\inc\poppack.h -FILE 2991 f:\sp\public\sdk\inc\winsvc.h -FILE 2992 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 2993 f:\sp\public\sdk\inc\windef.h -FILE 2994 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 2995 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 2996 f:\sp\public\sdk\inc\winuser.h -FILE 2997 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 2998 f:\sp\public\sdk\inc\mcx.h -FILE 2999 f:\sp\public\sdk\inc\pshpack8.h -FILE 3000 f:\sp\public\sdk\inc\guiddef.h -FILE 3001 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 3002 f:\sp\public\sdk\inc\winnt.h -FILE 3003 f:\sp\public\sdk\inc\winnls.h -FILE 3004 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3005 f:\sp\public\sdk\inc\pshpack1.h -FILE 3006 f:\sp\public\sdk\inc\winerror.h -FILE 3007 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 3008 f:\sp\public\sdk\inc\winreg.h -FILE 3009 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3010 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3011 f:\sp\public\sdk\inc\ddbanned.h -FILE 3012 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3013 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3014 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3015 f:\sp\public\sdk\inc\tvout.h -FILE 3016 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3017 f:\sp\vctools\crt_bld\self_x86\crt\src\mbdata.h -FILE 3018 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 3019 f:\sp\public\sdk\inc\wincon.h -FILE 3020 f:\sp\public\sdk\inc\imm.h -FILE 3021 f:\sp\public\sdk\inc\winbase.h -FILE 3022 f:\sp\public\sdk\inc\wingdi.h -FILE 3023 f:\sp\public\sdk\inc\winver.h -FILE 3024 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3025 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3026 f:\sp\public\sdk\inc\pshpack2.h -FILE 3027 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 3028 f:\sp\public\sdk\inc\reason.h -FILE 3029 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.c -FILE 3030 f:\sp\public\sdk\inc\specstrings.h -FILE 3031 f:\sp\public\sdk\inc\basetsd.h -FILE 3032 f:\sp\public\sdk\inc\pshpack4.h -FILE 3033 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3034 f:\sp\public\sdk\inc\winnetwk.h -FILE 3035 f:\sp\public\sdk\inc\stralign.h -FILE 3036 f:\sp\public\sdk\inc\poppack.h -FILE 3037 f:\sp\public\sdk\inc\winsvc.h -FILE 3038 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3039 f:\sp\public\sdk\inc\windef.h -FILE 3040 f:\sp\public\sdk\inc\winuser.h -FILE 3041 f:\sp\public\sdk\inc\windows.h -FILE 3042 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3043 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3044 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3045 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3046 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3047 f:\sp\public\sdk\inc\mcx.h -FILE 3048 f:\sp\public\sdk\inc\pshpack8.h -FILE 3049 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3050 f:\sp\public\sdk\inc\guiddef.h -FILE 3051 f:\sp\public\sdk\inc\winnt.h -FILE 3052 f:\sp\public\sdk\inc\winnls.h -FILE 3053 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3054 f:\sp\vctools\crt_bld\self_x86\crt\src\mbdata.h -FILE 3055 f:\sp\public\sdk\inc\pshpack1.h -FILE 3056 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 3057 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3058 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3059 f:\sp\public\sdk\inc\winerror.h -FILE 3060 f:\sp\vctools\crt_bld\self_x86\crt\src\sect_attribs.h -FILE 3061 f:\sp\public\sdk\inc\winreg.h -FILE 3062 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3063 f:\sp\public\sdk\inc\ddbanned.h -FILE 3064 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 3065 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3066 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 3067 f:\sp\public\sdk\inc\tvout.h -FILE 3068 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3069 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3070 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3071 f:\sp\public\sdk\inc\wincon.h -FILE 3072 f:\sp\public\sdk\inc\imm.h -FILE 3073 f:\sp\public\sdk\inc\winbase.h -FILE 3074 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3075 f:\sp\public\sdk\inc\wingdi.h -FILE 3076 f:\sp\public\sdk\inc\windef.h -FILE 3077 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 3078 f:\sp\public\sdk\inc\winver.h -FILE 3079 f:\sp\public\sdk\inc\pshpack2.h -FILE 3080 f:\sp\public\sdk\inc\reason.h -FILE 3081 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3082 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3083 f:\sp\vctools\crt_bld\self_x86\crt\src\ismbbyte.c -FILE 3084 f:\sp\public\sdk\inc\winnt.h -FILE 3085 f:\sp\public\sdk\inc\specstrings.h -FILE 3086 f:\sp\public\sdk\inc\basetsd.h -FILE 3087 f:\sp\public\sdk\inc\pshpack4.h -FILE 3088 f:\sp\public\sdk\inc\winnetwk.h -FILE 3089 f:\sp\public\sdk\inc\stralign.h -FILE 3090 f:\sp\public\sdk\inc\poppack.h -FILE 3091 f:\sp\public\sdk\inc\winsvc.h -FILE 3092 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3093 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3094 f:\sp\public\sdk\inc\winuser.h -FILE 3095 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3096 f:\sp\public\sdk\inc\mcx.h -FILE 3097 f:\sp\public\sdk\inc\pshpack8.h -FILE 3098 f:\sp\public\sdk\inc\guiddef.h -FILE 3099 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3100 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 3101 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3102 f:\sp\public\sdk\inc\windows.h -FILE 3103 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3104 f:\sp\public\sdk\inc\winnls.h -FILE 3105 f:\sp\public\sdk\inc\pshpack1.h -FILE 3106 f:\sp\public\sdk\inc\winerror.h -FILE 3107 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3108 f:\sp\public\sdk\inc\winreg.h -FILE 3109 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3110 f:\sp\public\sdk\inc\ddbanned.h -FILE 3111 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3112 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3113 f:\sp\public\sdk\inc\tvout.h -FILE 3114 f:\sp\vctools\crt_bld\self_x86\crt\src\mbdata.h -FILE 3115 f:\sp\public\sdk\inc\poppack.h -FILE 3116 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3117 f:\sp\public\sdk\inc\winnetwk.h -FILE 3118 f:\sp\public\sdk\inc\imm.h -FILE 3119 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3120 f:\sp\public\sdk\inc\windef.h -FILE 3121 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3122 f:\sp\public\sdk\inc\pshpack1.h -FILE 3123 f:\sp\vctools\crt_bld\self_x86\crt\src\msdos.h -FILE 3124 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 3125 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 3126 f:\sp\public\sdk\inc\winver.h -FILE 3127 f:\sp\public\sdk\inc\windows.h -FILE 3128 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3129 f:\sp\public\sdk\inc\winnt.h -FILE 3130 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3131 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3132 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3133 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3134 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3135 f:\sp\public\sdk\inc\winreg.h -FILE 3136 f:\sp\public\sdk\inc\winbase.h -FILE 3137 f:\sp\vctools\crt_bld\self_x86\crt\src\ioinit.c -FILE 3138 f:\sp\public\sdk\inc\winerror.h -FILE 3139 f:\sp\public\sdk\inc\pshpack8.h -FILE 3140 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3141 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3142 f:\sp\public\sdk\inc\reason.h -FILE 3143 f:\sp\public\sdk\inc\wincon.h -FILE 3144 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3145 f:\sp\public\sdk\inc\ddbanned.h -FILE 3146 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3147 f:\sp\public\sdk\inc\pshpack2.h -FILE 3148 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3149 f:\sp\public\sdk\inc\mcx.h -FILE 3150 f:\sp\public\sdk\inc\winuser.h -FILE 3151 f:\sp\public\sdk\inc\winnls.h -FILE 3152 f:\sp\public\sdk\inc\guiddef.h -FILE 3153 f:\sp\public\sdk\inc\specstrings.h -FILE 3154 f:\sp\public\sdk\inc\basetsd.h -FILE 3155 f:\sp\public\sdk\inc\stralign.h -FILE 3156 f:\sp\public\sdk\inc\tvout.h -FILE 3157 f:\sp\public\sdk\inc\winsvc.h -FILE 3158 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3159 f:\sp\public\sdk\inc\wingdi.h -FILE 3160 f:\sp\public\sdk\inc\pshpack4.h -FILE 3161 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\ulldvrm.asm -FILE 3162 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 3163 F:\SP\vctools\crt_bld\SELF_X86\crt\src\mm.inc -FILE 3164 F:\SP\vctools\crt_bld\SELF_X86\crt\src\intel\llmul.asm -FILE 3165 F:\SP\vctools\crt_bld\SELF_X86\crt\src\cruntime.inc -FILE 3166 F:\SP\vctools\crt_bld\SELF_X86\crt\src\mm.inc -FILE 3167 f:\sp\public\sdk\inc\poppack.h -FILE 3168 f:\sp\public\sdk\inc\winnetwk.h -FILE 3169 f:\sp\public\sdk\inc\imm.h -FILE 3170 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3171 f:\sp\public\sdk\inc\windef.h -FILE 3172 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3173 f:\sp\public\sdk\inc\pshpack1.h -FILE 3174 f:\sp\public\sdk\inc\winver.h -FILE 3175 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3176 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3177 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3178 f:\sp\public\sdk\inc\winnt.h -FILE 3179 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3180 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3181 f:\sp\public\sdk\inc\winreg.h -FILE 3182 f:\sp\vctools\crt_bld\self_x86\crt\src\_newmode.c -FILE 3183 f:\sp\public\sdk\inc\winbase.h -FILE 3184 f:\sp\public\sdk\inc\winerror.h -FILE 3185 f:\sp\public\sdk\inc\pshpack8.h -FILE 3186 f:\sp\public\sdk\inc\reason.h -FILE 3187 f:\sp\public\sdk\inc\wincon.h -FILE 3188 f:\sp\public\sdk\inc\ddbanned.h -FILE 3189 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3190 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3191 f:\sp\public\sdk\inc\pshpack2.h -FILE 3192 f:\sp\public\sdk\inc\mcx.h -FILE 3193 f:\sp\public\sdk\inc\winuser.h -FILE 3194 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3195 f:\sp\public\sdk\inc\winnls.h -FILE 3196 f:\sp\public\sdk\inc\guiddef.h -FILE 3197 f:\sp\public\sdk\inc\windows.h -FILE 3198 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3199 f:\sp\public\sdk\inc\specstrings.h -FILE 3200 f:\sp\public\sdk\inc\basetsd.h -FILE 3201 f:\sp\public\sdk\inc\stralign.h -FILE 3202 f:\sp\public\sdk\inc\tvout.h -FILE 3203 f:\sp\public\sdk\inc\winsvc.h -FILE 3204 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3205 f:\sp\public\sdk\inc\wingdi.h -FILE 3206 f:\sp\public\sdk\inc\pshpack4.h -FILE 3207 f:\sp\vctools\crt_bld\self_x86\crt\src\new.h -FILE 3208 f:\sp\public\sdk\inc\winerror.h -FILE 3209 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcsup.h -FILE 3210 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 3211 f:\sp\public\sdk\inc\winreg.h -FILE 3212 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3213 f:\sp\public\sdk\inc\tvout.h -FILE 3214 f:\sp\vctools\crt_bld\self_x86\crt\src\delete.cpp -FILE 3215 f:\sp\public\sdk\inc\wincon.h -FILE 3216 f:\sp\public\sdk\inc\imm.h -FILE 3217 f:\sp\public\sdk\inc\winbase.h -FILE 3218 f:\sp\public\sdk\inc\wingdi.h -FILE 3219 f:\sp\public\sdk\inc\winver.h -FILE 3220 f:\sp\public\sdk\inc\windows.h -FILE 3221 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3222 f:\sp\public\sdk\inc\pshpack2.h -FILE 3223 f:\sp\public\sdk\inc\reason.h -FILE 3224 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3225 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3226 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3227 f:\sp\public\sdk\inc\specstrings.h -FILE 3228 f:\sp\public\sdk\inc\basetsd.h -FILE 3229 f:\sp\public\sdk\inc\pshpack4.h -FILE 3230 f:\sp\public\sdk\inc\winnetwk.h -FILE 3231 f:\sp\public\sdk\inc\stralign.h -FILE 3232 f:\sp\public\sdk\inc\poppack.h -FILE 3233 f:\sp\public\sdk\inc\winsvc.h -FILE 3234 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3235 f:\sp\public\sdk\inc\windef.h -FILE 3236 f:\sp\public\sdk\inc\winuser.h -FILE 3237 f:\sp\public\sdk\inc\mcx.h -FILE 3238 f:\sp\public\sdk\inc\pshpack8.h -FILE 3239 f:\sp\public\sdk\inc\ddbanned.h -FILE 3240 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3241 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3242 f:\sp\public\sdk\inc\guiddef.h -FILE 3243 f:\sp\public\sdk\inc\winnt.h -FILE 3244 f:\sp\public\sdk\inc\winnls.h -FILE 3245 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3246 f:\sp\public\sdk\inc\pshpack1.h -FILE 3247 f:\sp\public\sdk\inc\tvout.h -FILE 3248 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3249 f:\sp\vctools\crt_bld\self_x86\crt\src\process.h -FILE 3250 f:\sp\public\sdk\inc\wincon.h -FILE 3251 f:\sp\public\sdk\inc\imm.h -FILE 3252 f:\sp\public\sdk\inc\winbase.h -FILE 3253 f:\sp\public\sdk\inc\wingdi.h -FILE 3254 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3255 f:\sp\public\sdk\inc\winver.h -FILE 3256 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3257 f:\sp\public\sdk\inc\windows.h -FILE 3258 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3259 f:\sp\public\sdk\inc\pshpack2.h -FILE 3260 f:\sp\vctools\crt_bld\self_x86\crt\src\handler.cpp -FILE 3261 f:\sp\public\sdk\inc\reason.h -FILE 3262 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3263 f:\sp\public\sdk\inc\specstrings.h -FILE 3264 f:\sp\public\sdk\inc\basetsd.h -FILE 3265 f:\sp\public\sdk\inc\pshpack4.h -FILE 3266 f:\sp\public\sdk\inc\winnetwk.h -FILE 3267 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 3268 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3269 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3270 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3271 f:\sp\public\sdk\inc\stralign.h -FILE 3272 f:\sp\public\sdk\inc\poppack.h -FILE 3273 f:\sp\public\sdk\inc\winsvc.h -FILE 3274 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3275 f:\sp\public\sdk\inc\windef.h -FILE 3276 f:\sp\public\sdk\inc\winuser.h -FILE 3277 f:\sp\public\sdk\inc\mcx.h -FILE 3278 f:\sp\public\sdk\inc\pshpack8.h -FILE 3279 f:\sp\public\sdk\inc\guiddef.h -FILE 3280 f:\sp\public\sdk\inc\winnt.h -FILE 3281 f:\sp\public\sdk\inc\winnls.h -FILE 3282 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3283 f:\sp\public\sdk\inc\pshpack1.h -FILE 3284 f:\sp\public\sdk\inc\winerror.h -FILE 3285 f:\sp\public\sdk\inc\ddbanned.h -FILE 3286 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3287 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3288 f:\sp\public\sdk\inc\winreg.h -FILE 3289 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3290 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3291 f:\sp\vctools\crt_bld\self_x86\crt\src\new.h -FILE 3292 f:\sp\public\sdk\inc\winsvc.h -FILE 3293 f:\sp\public\sdk\inc\wingdi.h -FILE 3294 f:\sp\public\sdk\inc\pshpack4.h -FILE 3295 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3296 f:\sp\public\sdk\inc\poppack.h -FILE 3297 f:\sp\public\sdk\inc\winnt.h -FILE 3298 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3299 f:\sp\public\sdk\inc\winnetwk.h -FILE 3300 f:\sp\public\sdk\inc\imm.h -FILE 3301 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3302 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 3303 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3304 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3305 f:\sp\public\sdk\inc\pshpack1.h -FILE 3306 f:\sp\public\sdk\inc\winver.h -FILE 3307 f:\sp\public\sdk\inc\guiddef.h -FILE 3308 f:\sp\public\sdk\inc\specstrings.h -FILE 3309 f:\sp\public\sdk\inc\basetsd.h -FILE 3310 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 3311 f:\sp\vctools\crt_bld\self_x86\crt\src\sbheap.c -FILE 3312 f:\sp\public\sdk\inc\windows.h -FILE 3313 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3314 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3315 f:\sp\public\sdk\inc\winreg.h -FILE 3316 f:\sp\public\sdk\inc\winbase.h -FILE 3317 f:\sp\public\sdk\inc\winerror.h -FILE 3318 f:\sp\public\sdk\inc\pshpack8.h -FILE 3319 f:\sp\public\sdk\inc\ddbanned.h -FILE 3320 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3321 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3322 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3323 f:\sp\public\sdk\inc\reason.h -FILE 3324 f:\sp\public\sdk\inc\wincon.h -FILE 3325 f:\sp\public\sdk\inc\pshpack2.h -FILE 3326 f:\sp\public\sdk\inc\mcx.h -FILE 3327 f:\sp\public\sdk\inc\winuser.h -FILE 3328 f:\sp\public\sdk\inc\winnls.h -FILE 3329 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3330 f:\sp\public\sdk\inc\windef.h -FILE 3331 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3332 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3333 f:\sp\public\sdk\inc\stralign.h -FILE 3334 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3335 f:\sp\public\sdk\inc\tvout.h -FILE 3336 f:\sp\public\sdk\inc\winver.h -FILE 3337 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcsup.h -FILE 3338 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 3339 f:\sp\public\sdk\inc\guiddef.h -FILE 3340 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3341 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3342 f:\sp\public\sdk\inc\specstrings.h -FILE 3343 f:\sp\public\sdk\inc\basetsd.h -FILE 3344 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 3345 f:\sp\public\sdk\inc\windows.h -FILE 3346 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3347 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3348 f:\sp\public\sdk\inc\winreg.h -FILE 3349 f:\sp\public\sdk\inc\winbase.h -FILE 3350 f:\sp\public\sdk\inc\winerror.h -FILE 3351 f:\sp\public\sdk\inc\pshpack8.h -FILE 3352 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3353 f:\sp\public\sdk\inc\reason.h -FILE 3354 f:\sp\public\sdk\inc\wincon.h -FILE 3355 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3356 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3357 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3358 f:\sp\public\sdk\inc\pshpack2.h -FILE 3359 f:\sp\public\sdk\inc\mcx.h -FILE 3360 f:\sp\public\sdk\inc\winuser.h -FILE 3361 f:\sp\public\sdk\inc\winnls.h -FILE 3362 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3363 f:\sp\public\sdk\inc\windef.h -FILE 3364 f:\sp\public\sdk\inc\stralign.h -FILE 3365 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3366 f:\sp\public\sdk\inc\tvout.h -FILE 3367 f:\sp\public\sdk\inc\winsvc.h -FILE 3368 f:\sp\vctools\crt_bld\self_x86\crt\src\realloc.c -FILE 3369 f:\sp\public\sdk\inc\wingdi.h -FILE 3370 f:\sp\public\sdk\inc\pshpack4.h -FILE 3371 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3372 f:\sp\public\sdk\inc\poppack.h -FILE 3373 f:\sp\public\sdk\inc\winnt.h -FILE 3374 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3375 f:\sp\public\sdk\inc\winnetwk.h -FILE 3376 f:\sp\public\sdk\inc\ddbanned.h -FILE 3377 f:\sp\public\sdk\inc\imm.h -FILE 3378 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3379 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3380 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3381 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3382 f:\sp\public\sdk\inc\pshpack1.h -FILE 3383 f:\sp\public\sdk\inc\pshpack2.h -FILE 3384 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 3385 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3386 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3387 f:\sp\public\sdk\inc\mcx.h -FILE 3388 f:\sp\public\sdk\inc\winuser.h -FILE 3389 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3390 f:\sp\public\sdk\inc\winnls.h -FILE 3391 f:\sp\public\sdk\inc\guiddef.h -FILE 3392 f:\sp\public\sdk\inc\windows.h -FILE 3393 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3394 f:\sp\public\sdk\inc\specstrings.h -FILE 3395 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3396 f:\sp\public\sdk\inc\basetsd.h -FILE 3397 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3398 f:\sp\public\sdk\inc\stralign.h -FILE 3399 f:\sp\public\sdk\inc\tvout.h -FILE 3400 f:\sp\public\sdk\inc\winsvc.h -FILE 3401 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3402 f:\sp\public\sdk\inc\wingdi.h -FILE 3403 f:\sp\public\sdk\inc\pshpack4.h -FILE 3404 f:\sp\public\sdk\inc\poppack.h -FILE 3405 f:\sp\public\sdk\inc\winnetwk.h -FILE 3406 f:\sp\public\sdk\inc\imm.h -FILE 3407 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3408 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3409 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3410 f:\sp\public\sdk\inc\windef.h -FILE 3411 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3412 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3413 f:\sp\vctools\crt_bld\self_x86\crt\src\msize.c -FILE 3414 f:\sp\public\sdk\inc\pshpack1.h -FILE 3415 f:\sp\public\sdk\inc\winver.h -FILE 3416 f:\sp\public\sdk\inc\winnt.h -FILE 3417 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3418 f:\sp\public\sdk\inc\winreg.h -FILE 3419 f:\sp\public\sdk\inc\ddbanned.h -FILE 3420 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3421 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3422 f:\sp\public\sdk\inc\winbase.h -FILE 3423 f:\sp\public\sdk\inc\winerror.h -FILE 3424 f:\sp\public\sdk\inc\pshpack8.h -FILE 3425 f:\sp\public\sdk\inc\reason.h -FILE 3426 f:\sp\public\sdk\inc\wincon.h -FILE 3427 f:\sp\public\sdk\inc\pshpack2.h -FILE 3428 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3429 f:\sp\public\sdk\inc\mcx.h -FILE 3430 f:\sp\public\sdk\inc\winuser.h -FILE 3431 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3432 f:\sp\public\sdk\inc\winnls.h -FILE 3433 f:\sp\public\sdk\inc\guiddef.h -FILE 3434 f:\sp\public\sdk\inc\windows.h -FILE 3435 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3436 f:\sp\public\sdk\inc\specstrings.h -FILE 3437 f:\sp\public\sdk\inc\basetsd.h -FILE 3438 f:\sp\public\sdk\inc\stralign.h -FILE 3439 f:\sp\public\sdk\inc\tvout.h -FILE 3440 f:\sp\public\sdk\inc\winsvc.h -FILE 3441 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3442 f:\sp\public\sdk\inc\wingdi.h -FILE 3443 f:\sp\public\sdk\inc\pshpack4.h -FILE 3444 f:\sp\public\sdk\inc\poppack.h -FILE 3445 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3446 f:\sp\public\sdk\inc\winnetwk.h -FILE 3447 f:\sp\public\sdk\inc\imm.h -FILE 3448 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3449 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3450 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3451 f:\sp\public\sdk\inc\windef.h -FILE 3452 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3453 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3454 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3455 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.c -FILE 3456 f:\sp\public\sdk\inc\pshpack1.h -FILE 3457 f:\sp\public\sdk\inc\winver.h -FILE 3458 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcsup.h -FILE 3459 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 3460 f:\sp\vctools\crt_bld\self_x86\crt\src\rterr.h -FILE 3461 f:\sp\public\sdk\inc\winnt.h -FILE 3462 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 3463 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3464 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3465 f:\sp\public\sdk\inc\winreg.h -FILE 3466 f:\sp\public\sdk\inc\ddbanned.h -FILE 3467 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3468 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3469 f:\sp\public\sdk\inc\winbase.h -FILE 3470 f:\sp\public\sdk\inc\winerror.h -FILE 3471 f:\sp\public\sdk\inc\pshpack8.h -FILE 3472 f:\sp\public\sdk\inc\reason.h -FILE 3473 f:\sp\public\sdk\inc\wincon.h -FILE 3474 f:\sp\public\sdk\inc\winver.h -FILE 3475 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3476 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3477 f:\sp\public\sdk\inc\winnt.h -FILE 3478 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3479 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3480 f:\sp\public\sdk\inc\winreg.h -FILE 3481 f:\sp\public\sdk\inc\winbase.h -FILE 3482 f:\sp\public\sdk\inc\winerror.h -FILE 3483 f:\sp\public\sdk\inc\pshpack8.h -FILE 3484 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3485 f:\sp\public\sdk\inc\reason.h -FILE 3486 f:\sp\public\sdk\inc\wincon.h -FILE 3487 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3488 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3489 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3490 f:\sp\public\sdk\inc\pshpack2.h -FILE 3491 f:\sp\public\sdk\inc\mcx.h -FILE 3492 f:\sp\public\sdk\inc\winuser.h -FILE 3493 f:\sp\public\sdk\inc\winnls.h -FILE 3494 f:\sp\public\sdk\inc\guiddef.h -FILE 3495 f:\sp\public\sdk\inc\stralign.h -FILE 3496 f:\sp\public\sdk\inc\specstrings.h -FILE 3497 f:\sp\public\sdk\inc\basetsd.h -FILE 3498 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 3499 f:\sp\public\sdk\inc\windows.h -FILE 3500 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3501 f:\sp\public\sdk\inc\tvout.h -FILE 3502 f:\sp\public\sdk\inc\winsvc.h -FILE 3503 f:\sp\vctools\crt_bld\self_x86\crt\src\heapinit.c -FILE 3504 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3505 f:\sp\public\sdk\inc\wingdi.h -FILE 3506 f:\sp\public\sdk\inc\pshpack4.h -FILE 3507 f:\sp\public\sdk\inc\poppack.h -FILE 3508 f:\sp\public\sdk\inc\winnetwk.h -FILE 3509 f:\sp\public\sdk\inc\ddbanned.h -FILE 3510 f:\sp\public\sdk\inc\imm.h -FILE 3511 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3512 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3513 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3514 f:\sp\public\sdk\inc\windef.h -FILE 3515 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3516 f:\sp\public\sdk\inc\pshpack1.h -FILE 3517 f:\sp\public\sdk\inc\pshpack2.h -FILE 3518 f:\sp\public\sdk\inc\mcx.h -FILE 3519 f:\sp\public\sdk\inc\winuser.h -FILE 3520 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 3521 f:\sp\public\sdk\inc\winnls.h -FILE 3522 f:\sp\public\sdk\inc\guiddef.h -FILE 3523 f:\sp\public\sdk\inc\windows.h -FILE 3524 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3525 f:\sp\public\sdk\inc\specstrings.h -FILE 3526 f:\sp\public\sdk\inc\basetsd.h -FILE 3527 f:\sp\public\sdk\inc\stralign.h -FILE 3528 f:\sp\public\sdk\inc\tvout.h -FILE 3529 f:\sp\public\sdk\inc\winsvc.h -FILE 3530 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3531 f:\sp\public\sdk\inc\wingdi.h -FILE 3532 f:\sp\public\sdk\inc\pshpack4.h -FILE 3533 f:\sp\public\sdk\inc\poppack.h -FILE 3534 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3535 f:\sp\public\sdk\inc\winnetwk.h -FILE 3536 f:\sp\public\sdk\inc\imm.h -FILE 3537 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3538 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3539 f:\sp\public\sdk\inc\windef.h -FILE 3540 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3541 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3542 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3543 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3544 f:\sp\public\sdk\inc\pshpack1.h -FILE 3545 f:\sp\vctools\crt_bld\self_x86\crt\src\free.c -FILE 3546 f:\sp\public\sdk\inc\winver.h -FILE 3547 f:\sp\public\sdk\inc\winnt.h -FILE 3548 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3549 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcsup.h -FILE 3550 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 3551 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3552 f:\sp\public\sdk\inc\winreg.h -FILE 3553 f:\sp\public\sdk\inc\ddbanned.h -FILE 3554 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3555 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3556 f:\sp\public\sdk\inc\winbase.h -FILE 3557 f:\sp\public\sdk\inc\winerror.h -FILE 3558 f:\sp\public\sdk\inc\pshpack8.h -FILE 3559 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3560 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3561 f:\sp\public\sdk\inc\reason.h -FILE 3562 f:\sp\public\sdk\inc\wincon.h -FILE 3563 f:\sp\public\sdk\inc\pshpack2.h -FILE 3564 f:\sp\public\sdk\inc\mcx.h -FILE 3565 f:\sp\public\sdk\inc\winuser.h -FILE 3566 f:\sp\public\sdk\inc\winnls.h -FILE 3567 f:\sp\public\sdk\inc\guiddef.h -FILE 3568 f:\sp\public\sdk\inc\windows.h -FILE 3569 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3570 f:\sp\public\sdk\inc\specstrings.h -FILE 3571 f:\sp\public\sdk\inc\basetsd.h -FILE 3572 f:\sp\public\sdk\inc\stralign.h -FILE 3573 f:\sp\public\sdk\inc\tvout.h -FILE 3574 f:\sp\public\sdk\inc\winsvc.h -FILE 3575 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3576 f:\sp\public\sdk\inc\wingdi.h -FILE 3577 f:\sp\public\sdk\inc\pshpack4.h -FILE 3578 f:\sp\public\sdk\inc\poppack.h -FILE 3579 f:\sp\public\sdk\inc\winnetwk.h -FILE 3580 f:\sp\public\sdk\inc\imm.h -FILE 3581 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3582 f:\sp\public\sdk\inc\windef.h -FILE 3583 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3584 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3585 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3586 f:\sp\public\sdk\inc\pshpack1.h -FILE 3587 f:\sp\vctools\crt_bld\self_x86\crt\src\crtheap.c -FILE 3588 f:\sp\public\sdk\inc\winver.h -FILE 3589 f:\sp\public\sdk\inc\winnt.h -FILE 3590 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3591 f:\sp\public\sdk\inc\winreg.h -FILE 3592 f:\sp\public\sdk\inc\ddbanned.h -FILE 3593 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3594 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3595 f:\sp\public\sdk\inc\winbase.h -FILE 3596 f:\sp\public\sdk\inc\winerror.h -FILE 3597 f:\sp\public\sdk\inc\pshpack8.h -FILE 3598 f:\sp\public\sdk\inc\reason.h -FILE 3599 f:\sp\public\sdk\inc\wincon.h -FILE 3600 f:\sp\public\sdk\inc\pshpack2.h -FILE 3601 f:\sp\public\sdk\inc\mcx.h -FILE 3602 f:\sp\public\sdk\inc\winuser.h -FILE 3603 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3604 f:\sp\public\sdk\inc\winnls.h -FILE 3605 f:\sp\public\sdk\inc\stralign.h -FILE 3606 f:\sp\public\sdk\inc\tvout.h -FILE 3607 f:\sp\public\sdk\inc\winsvc.h -FILE 3608 f:\sp\public\sdk\inc\wingdi.h -FILE 3609 f:\sp\public\sdk\inc\winnt.h -FILE 3610 f:\sp\public\sdk\inc\pshpack4.h -FILE 3611 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3612 f:\sp\public\sdk\inc\poppack.h -FILE 3613 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3614 f:\sp\public\sdk\inc\winnetwk.h -FILE 3615 f:\sp\public\sdk\inc\imm.h -FILE 3616 f:\sp\vctools\crt_bld\self_x86\crt\src\malloc.h -FILE 3617 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3618 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3619 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 3620 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3621 f:\sp\public\sdk\inc\pshpack1.h -FILE 3622 f:\sp\vctools\crt_bld\self_x86\crt\src\calloc.c -FILE 3623 f:\sp\public\sdk\inc\winver.h -FILE 3624 f:\sp\vctools\crt_bld\self_x86\crt\src\winheap.h -FILE 3625 f:\sp\public\sdk\inc\guiddef.h -FILE 3626 f:\sp\public\sdk\inc\windows.h -FILE 3627 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3628 f:\sp\public\sdk\inc\specstrings.h -FILE 3629 f:\sp\public\sdk\inc\basetsd.h -FILE 3630 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcsup.h -FILE 3631 f:\sp\vctools\crt_bld\self_x86\crt\src\rtcapi.h -FILE 3632 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3633 f:\sp\public\sdk\inc\winreg.h -FILE 3634 f:\sp\public\sdk\inc\ddbanned.h -FILE 3635 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3636 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3637 f:\sp\public\sdk\inc\winbase.h -FILE 3638 f:\sp\public\sdk\inc\winerror.h -FILE 3639 f:\sp\public\sdk\inc\pshpack8.h -FILE 3640 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3641 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3642 f:\sp\public\sdk\inc\reason.h -FILE 3643 f:\sp\public\sdk\inc\wincon.h -FILE 3644 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3645 f:\sp\public\sdk\inc\windef.h -FILE 3646 f:\sp\public\sdk\inc\wincon.h -FILE 3647 f:\sp\public\sdk\inc\imm.h -FILE 3648 f:\sp\public\sdk\inc\winbase.h -FILE 3649 f:\sp\public\sdk\inc\wingdi.h -FILE 3650 f:\sp\public\sdk\inc\winver.h -FILE 3651 f:\sp\public\sdk\inc\pshpack2.h -FILE 3652 f:\sp\public\sdk\inc\reason.h -FILE 3653 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h -FILE 3654 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\unhandld.cpp -FILE 3655 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h -FILE 3656 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 3657 f:\sp\public\sdk\inc\specstrings.h -FILE 3658 f:\sp\public\sdk\inc\basetsd.h -FILE 3659 f:\sp\public\sdk\inc\pshpack4.h -FILE 3660 f:\sp\public\sdk\inc\winnetwk.h -FILE 3661 f:\sp\public\sdk\inc\stralign.h -FILE 3662 f:\sp\public\sdk\inc\poppack.h -FILE 3663 f:\sp\public\sdk\inc\winsvc.h -FILE 3664 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 3665 f:\sp\public\sdk\inc\windef.h -FILE 3666 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehhooks.h -FILE 3667 f:\sp\public\sdk\inc\winuser.h -FILE 3668 f:\sp\public\sdk\inc\windows.h -FILE 3669 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 3670 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 3671 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 3672 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehassert.h -FILE 3673 f:\sp\public\sdk\inc\mcx.h -FILE 3674 f:\sp\public\sdk\inc\pshpack8.h -FILE 3675 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 3676 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 3677 f:\sp\public\sdk\inc\guiddef.h -FILE 3678 f:\sp\public\sdk\inc\winnt.h -FILE 3679 f:\sp\public\sdk\inc\winnls.h -FILE 3680 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 3681 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h -FILE 3682 f:\sp\public\sdk\inc\pshpack1.h -FILE 3683 f:\sp\public\sdk\inc\winerror.h -FILE 3684 f:\sp\vctools\langapi\include\ehdata.h -FILE 3685 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h -FILE 3686 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 3687 f:\sp\public\sdk\inc\winreg.h -FILE 3688 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 3689 f:\sp\public\sdk\inc\ddbanned.h -FILE 3690 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 3691 f:\sp\public\sdk\inc\tvout.h -FILE 3692 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 3693 f:\sp\public\sdk\inc\specstrings.h -FILE 3694 f:\sp\public\sdk\inc\basetsd.h -FILE 3695 f:\sp\public\sdk\inc\pshpack4.h -FILE 3696 f:\sp\public\sdk\inc\winnetwk.h -FILE 3697 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 3698 f:\sp\public\sdk\inc\stralign.h -FILE 3699 f:\sp\public\sdk\inc\poppack.h -FILE 3700 f:\sp\public\sdk\inc\winsvc.h -FILE 3701 f:\sp\public\sdk\inc\winuser.h -FILE 3702 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 3703 f:\sp\public\sdk\inc\windef.h -FILE 3704 f:\sp\vctools\langapi\undname\undname.cxx -FILE 3705 f:\sp\public\sdk\inc\mcx.h -FILE 3706 f:\sp\public\sdk\inc\pshpack8.h -FILE 3707 f:\sp\public\sdk\inc\guiddef.h -FILE 3708 f:\sp\vctools\langapi\undname\utf8.h -FILE 3709 f:\sp\public\sdk\inc\winnls.h -FILE 3710 f:\sp\public\sdk\inc\pshpack1.h -FILE 3711 f:\sp\public\sdk\inc\winnt.h -FILE 3712 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 3713 f:\sp\public\sdk\inc\winerror.h -FILE 3714 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\swprintf.inl -FILE 3715 f:\sp\vctools\langapi\undname\undname.hxx -FILE 3716 f:\sp\vctools\langapi\undname\undname.h -FILE 3717 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h -FILE 3718 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 3719 f:\sp\public\sdk\inc\winreg.h -FILE 3720 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 3721 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 3722 f:\sp\public\sdk\inc\tvout.h -FILE 3723 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdio.h -FILE 3724 f:\sp\public\sdk\inc\wincon.h -FILE 3725 f:\sp\public\sdk\inc\imm.h -FILE 3726 f:\sp\public\sdk\inc\winbase.h -FILE 3727 f:\sp\public\sdk\inc\wingdi.h -FILE 3728 f:\sp\public\sdk\inc\winver.h -FILE 3729 f:\sp\public\sdk\inc\pshpack2.h -FILE 3730 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h -FILE 3731 f:\sp\public\sdk\inc\windows.h -FILE 3732 f:\sp\public\sdk\inc\reason.h -FILE 3733 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 3734 f:\sp\public\sdk\inc\ddbanned.h -FILE 3735 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 3736 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 3737 f:\sp\vctools\langapi\undname\undname.inl -FILE 3738 f:\sp\public\sdk\inc\guiddef.h -FILE 3739 f:\sp\public\sdk\inc\winnt.h -FILE 3740 f:\sp\public\sdk\inc\winnls.h -FILE 3741 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 3742 f:\sp\public\sdk\inc\pshpack1.h -FILE 3743 f:\sp\public\sdk\inc\winerror.h -FILE 3744 f:\sp\public\sdk\inc\winreg.h -FILE 3745 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 3746 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h -FILE 3747 f:\sp\public\sdk\inc\tvout.h -FILE 3748 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\typname.cpp -FILE 3749 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 3750 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\cstddef -FILE 3751 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h -FILE 3752 f:\sp\public\sdk\inc\wincon.h -FILE 3753 f:\sp\public\sdk\inc\imm.h -FILE 3754 f:\sp\public\sdk\inc\winbase.h -FILE 3755 f:\sp\public\sdk\inc\wingdi.h -FILE 3756 f:\sp\public\sdk\inc\winver.h -FILE 3757 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 3758 f:\sp\public\sdk\inc\windows.h -FILE 3759 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 3760 f:\sp\public\sdk\inc\pshpack2.h -FILE 3761 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h -FILE 3762 f:\sp\public\sdk\inc\reason.h -FILE 3763 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sect_attribs.h -FILE 3764 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\dbgint.h -FILE 3765 f:\sp\public\sdk\inc\specstrings.h -FILE 3766 f:\sp\public\sdk\inc\basetsd.h -FILE 3767 f:\sp\public\sdk\inc\pshpack4.h -FILE 3768 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\typeinfo.h -FILE 3769 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\typeinfo -FILE 3770 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\exception -FILE 3771 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\xstddef -FILE 3772 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h -FILE 3773 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\yvals.h -FILE 3774 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\use_ansi.h -FILE 3775 f:\sp\public\sdk\inc\winnetwk.h -FILE 3776 f:\sp\vctools\langapi\undname\undname.h -FILE 3777 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 3778 f:\sp\public\sdk\inc\stralign.h -FILE 3779 f:\sp\public\sdk\inc\poppack.h -FILE 3780 f:\sp\public\sdk\inc\winsvc.h -FILE 3781 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 3782 f:\sp\public\sdk\inc\windef.h -FILE 3783 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 3784 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 3785 f:\sp\public\sdk\inc\winuser.h -FILE 3786 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 3787 f:\sp\public\sdk\inc\ddbanned.h -FILE 3788 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 3789 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 3790 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\malloc.h -FILE 3791 f:\sp\public\sdk\inc\mcx.h -FILE 3792 f:\sp\public\sdk\inc\pshpack8.h -FILE 3793 f:\sp\public\sdk\inc\winnls.h -FILE 3794 f:\sp\public\sdk\inc\pshpack1.h -FILE 3795 f:\sp\public\sdk\inc\winnt.h -FILE 3796 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 3797 f:\sp\public\sdk\inc\winerror.h -FILE 3798 f:\sp\public\sdk\inc\winreg.h -FILE 3799 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 3800 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 3801 f:\sp\public\sdk\inc\tvout.h -FILE 3802 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\dbgint.h -FILE 3803 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 3804 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\cstddef -FILE 3805 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h -FILE 3806 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\typinfo.cpp -FILE 3807 f:\sp\public\sdk\inc\wincon.h -FILE 3808 f:\sp\public\sdk\inc\imm.h -FILE 3809 f:\sp\public\sdk\inc\winbase.h -FILE 3810 f:\sp\public\sdk\inc\wingdi.h -FILE 3811 f:\sp\public\sdk\inc\winver.h -FILE 3812 f:\sp\public\sdk\inc\pshpack2.h -FILE 3813 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h -FILE 3814 f:\sp\public\sdk\inc\reason.h -FILE 3815 f:\sp\public\sdk\inc\windows.h -FILE 3816 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 3817 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h -FILE 3818 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 3819 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 3820 f:\sp\public\sdk\inc\specstrings.h -FILE 3821 f:\sp\public\sdk\inc\basetsd.h -FILE 3822 f:\sp\public\sdk\inc\pshpack4.h -FILE 3823 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\typeinfo -FILE 3824 f:\sp\public\sdk\inc\winnetwk.h -FILE 3825 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\exception -FILE 3826 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\xstddef -FILE 3827 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h -FILE 3828 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\yvals.h -FILE 3829 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\stdhpp\use_ansi.h -FILE 3830 f:\sp\public\sdk\inc\stralign.h -FILE 3831 f:\sp\public\sdk\inc\poppack.h -FILE 3832 f:\sp\public\sdk\inc\winsvc.h -FILE 3833 f:\sp\public\sdk\inc\winuser.h -FILE 3834 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 3835 f:\sp\public\sdk\inc\windef.h -FILE 3836 f:\sp\vctools\langapi\undname\undname.h -FILE 3837 f:\sp\public\sdk\inc\ddbanned.h -FILE 3838 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\malloc.h -FILE 3839 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 3840 f:\sp\public\sdk\inc\mcx.h -FILE 3841 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 3842 f:\sp\public\sdk\inc\pshpack8.h -FILE 3843 f:\sp\public\sdk\inc\guiddef.h -FILE 3844 f:\sp\public\sdk\inc\poppack.h -FILE 3845 f:\sp\public\sdk\inc\winsvc.h -FILE 3846 f:\sp\public\sdk\inc\windows.h -FILE 3847 f:\sp\public\sdk\inc\winuser.h -FILE 3848 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdarg.h -FILE 3849 f:\sp\public\sdk\inc\windef.h -FILE 3850 f:\sp\public\sdk\inc\mcx.h -FILE 3851 f:\sp\public\sdk\inc\pshpack8.h -FILE 3852 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stdlib.h -FILE 3853 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\limits.h -FILE 3854 f:\sp\public\sdk\inc\guiddef.h -FILE 3855 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\eh\hooks.cpp -FILE 3856 f:\sp\public\sdk\inc\winnls.h -FILE 3857 f:\sp\public\sdk\inc\pshpack1.h -FILE 3858 f:\sp\public\sdk\inc\winnt.h -FILE 3859 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ctype.h -FILE 3860 f:\sp\public\sdk\inc\winerror.h -FILE 3861 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\mtdll.h -FILE 3862 f:\sp\public\sdk\inc\winreg.h -FILE 3863 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\string.h -FILE 3864 f:\sp\public\sdk\inc\tvout.h -FILE 3865 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\eh.h -FILE 3866 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\errno.h -FILE 3867 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\stddef.h -FILE 3868 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdefs.h -FILE 3869 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\sal.h -FILE 3870 f:\sp\public\sdk\inc\wincon.h -FILE 3871 f:\sp\public\sdk\inc\imm.h -FILE 3872 f:\sp\public\sdk\inc\winbase.h -FILE 3873 f:\sp\public\sdk\inc\wingdi.h -FILE 3874 f:\sp\public\sdk\inc\winver.h -FILE 3875 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehhooks.h -FILE 3876 f:\sp\public\sdk\inc\pshpack2.h -FILE 3877 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\excpt.h -FILE 3878 f:\sp\public\sdk\inc\reason.h -FILE 3879 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\ehassert.h -FILE 3880 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\internal.h -FILE 3881 f:\sp\public\sdk\inc\specstrings.h -FILE 3882 f:\sp\public\sdk\inc\basetsd.h -FILE 3883 f:\sp\public\sdk\inc\pshpack4.h -FILE 3884 f:\sp\public\sdk\inc\ddbanned.h -FILE 3885 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h -FILE 3886 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h -FILE 3887 f:\sp\public\sdk\inc\winnetwk.h -FILE 3888 f:\sp\vctools\crt_bld\self_x86\crt\prebuild\h\crtdbg.h -FILE 3889 f:\sp\public\sdk\inc\stralign.h -FILE 3890 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3891 f:\sp\public\sdk\inc\pshpack4.h -FILE 3892 f:\sp\public\sdk\inc\reason.h -FILE 3893 f:\sp\public\sdk\inc\wincon.h -FILE 3894 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3895 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3896 f:\sp\public\sdk\inc\poppack.h -FILE 3897 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3898 f:\sp\public\sdk\inc\mcx.h -FILE 3899 f:\sp\public\sdk\inc\winuser.h -FILE 3900 f:\sp\public\sdk\inc\winnls.h -FILE 3901 f:\sp\public\sdk\inc\stralign.h -FILE 3902 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3903 f:\sp\public\sdk\inc\windef.h -FILE 3904 f:\sp\public\sdk\inc\tvout.h -FILE 3905 f:\sp\public\sdk\inc\winsvc.h -FILE 3906 f:\sp\public\sdk\inc\wingdi.h -FILE 3907 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3908 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3909 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3910 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3911 f:\sp\public\sdk\inc\winnt.h -FILE 3912 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3913 f:\sp\public\sdk\inc\winnetwk.h -FILE 3914 f:\sp\public\sdk\inc\imm.h -FILE 3915 f:\sp\vctools\crt_bld\self_x86\crt\src\dosmap.c -FILE 3916 f:\sp\public\sdk\inc\winbase.h -FILE 3917 f:\sp\public\sdk\inc\winerror.h -FILE 3918 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3919 f:\sp\public\sdk\inc\pshpack1.h -FILE 3920 f:\sp\public\sdk\inc\pshpack8.h -FILE 3921 f:\sp\public\sdk\inc\winver.h -FILE 3922 f:\sp\public\sdk\inc\ddbanned.h -FILE 3923 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3924 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3925 f:\sp\public\sdk\inc\pshpack2.h -FILE 3926 f:\sp\public\sdk\inc\winreg.h -FILE 3927 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3928 f:\sp\public\sdk\inc\guiddef.h -FILE 3929 f:\sp\public\sdk\inc\windows.h -FILE 3930 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3931 f:\sp\public\sdk\inc\specstrings.h -FILE 3932 f:\sp\public\sdk\inc\basetsd.h -FILE 3933 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 3934 f:\sp\public\sdk\inc\mcx.h -FILE 3935 f:\sp\public\sdk\inc\pshpack8.h -FILE 3936 f:\sp\public\sdk\inc\guiddef.h -FILE 3937 f:\sp\public\sdk\inc\winnt.h -FILE 3938 f:\sp\public\sdk\inc\winnls.h -FILE 3939 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 3940 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3941 f:\sp\public\sdk\inc\pshpack1.h -FILE 3942 f:\sp\public\sdk\inc\winerror.h -FILE 3943 f:\sp\vctools\crt_bld\self_x86\crt\src\tolower.c -FILE 3944 f:\sp\public\sdk\inc\winreg.h -FILE 3945 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3946 f:\sp\public\sdk\inc\tvout.h -FILE 3947 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3948 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3949 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 3950 f:\sp\public\sdk\inc\wincon.h -FILE 3951 f:\sp\vctools\crt_bld\self_x86\crt\src\stddef.h -FILE 3952 f:\sp\public\sdk\inc\imm.h -FILE 3953 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3954 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 3955 f:\sp\public\sdk\inc\winbase.h -FILE 3956 f:\sp\public\sdk\inc\wingdi.h -FILE 3957 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3958 f:\sp\public\sdk\inc\winver.h -FILE 3959 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 3960 f:\sp\public\sdk\inc\windows.h -FILE 3961 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3962 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 3963 f:\sp\public\sdk\inc\pshpack2.h -FILE 3964 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 3965 f:\sp\public\sdk\inc\reason.h -FILE 3966 f:\sp\public\sdk\inc\specstrings.h -FILE 3967 f:\sp\public\sdk\inc\basetsd.h -FILE 3968 f:\sp\public\sdk\inc\pshpack4.h -FILE 3969 f:\sp\public\sdk\inc\winnetwk.h -FILE 3970 f:\sp\public\sdk\inc\ddbanned.h -FILE 3971 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 3972 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 3973 f:\sp\public\sdk\inc\stralign.h -FILE 3974 f:\sp\public\sdk\inc\poppack.h -FILE 3975 f:\sp\public\sdk\inc\winsvc.h -FILE 3976 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 3977 f:\sp\public\sdk\inc\windef.h -FILE 3978 f:\sp\public\sdk\inc\winuser.h -FILE 3979 f:\sp\public\sdk\inc\winsvc.h -FILE 3980 f:\sp\public\sdk\inc\winuser.h -FILE 3981 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 3982 f:\sp\public\sdk\inc\mcx.h -FILE 3983 f:\sp\public\sdk\inc\pshpack8.h -FILE 3984 f:\sp\public\sdk\inc\guiddef.h -FILE 3985 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 3986 f:\sp\public\sdk\inc\windows.h -FILE 3987 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 3988 f:\sp\public\sdk\inc\winnls.h -FILE 3989 f:\sp\vctools\crt_bld\self_x86\crt\src\strtoq.c -FILE 3990 f:\sp\public\sdk\inc\pshpack1.h -FILE 3991 f:\sp\public\sdk\inc\winerror.h -FILE 3992 f:\sp\public\sdk\inc\winreg.h -FILE 3993 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 3994 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 3995 f:\sp\public\sdk\inc\tvout.h -FILE 3996 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 3997 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 3998 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 3999 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4000 f:\sp\public\sdk\inc\wincon.h -FILE 4001 f:\sp\public\sdk\inc\imm.h -FILE 4002 f:\sp\public\sdk\inc\winbase.h -FILE 4003 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4004 f:\sp\public\sdk\inc\wingdi.h -FILE 4005 f:\sp\public\sdk\inc\windef.h -FILE 4006 f:\sp\public\sdk\inc\winver.h -FILE 4007 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4008 f:\sp\public\sdk\inc\pshpack2.h -FILE 4009 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4010 f:\sp\public\sdk\inc\reason.h -FILE 4011 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4012 f:\sp\public\sdk\inc\winnt.h -FILE 4013 f:\sp\public\sdk\inc\specstrings.h -FILE 4014 f:\sp\public\sdk\inc\basetsd.h -FILE 4015 f:\sp\public\sdk\inc\pshpack4.h -FILE 4016 f:\sp\public\sdk\inc\ddbanned.h -FILE 4017 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4018 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4019 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4020 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4021 f:\sp\public\sdk\inc\winnetwk.h -FILE 4022 f:\sp\public\sdk\inc\stralign.h -FILE 4023 f:\sp\public\sdk\inc\poppack.h -FILE 4024 f:\sp\public\sdk\inc\winsvc.h -FILE 4025 f:\sp\public\sdk\inc\winuser.h -FILE 4026 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4027 f:\sp\public\sdk\inc\mcx.h -FILE 4028 f:\sp\public\sdk\inc\pshpack8.h -FILE 4029 f:\sp\public\sdk\inc\guiddef.h -FILE 4030 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4031 f:\sp\public\sdk\inc\windows.h -FILE 4032 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4033 f:\sp\public\sdk\inc\winnls.h -FILE 4034 f:\sp\vctools\crt_bld\self_x86\crt\src\strtol.c -FILE 4035 f:\sp\public\sdk\inc\pshpack1.h -FILE 4036 f:\sp\public\sdk\inc\winerror.h -FILE 4037 f:\sp\public\sdk\inc\winreg.h -FILE 4038 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4039 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4040 f:\sp\public\sdk\inc\tvout.h -FILE 4041 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4042 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4043 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4044 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4045 f:\sp\public\sdk\inc\wincon.h -FILE 4046 f:\sp\public\sdk\inc\imm.h -FILE 4047 f:\sp\public\sdk\inc\winbase.h -FILE 4048 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4049 f:\sp\public\sdk\inc\wingdi.h -FILE 4050 f:\sp\public\sdk\inc\windef.h -FILE 4051 f:\sp\public\sdk\inc\winver.h -FILE 4052 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4053 f:\sp\public\sdk\inc\pshpack2.h -FILE 4054 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4055 f:\sp\public\sdk\inc\reason.h -FILE 4056 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4057 f:\sp\public\sdk\inc\winnt.h -FILE 4058 f:\sp\public\sdk\inc\specstrings.h -FILE 4059 f:\sp\public\sdk\inc\basetsd.h -FILE 4060 f:\sp\public\sdk\inc\pshpack4.h -FILE 4061 f:\sp\public\sdk\inc\ddbanned.h -FILE 4062 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4063 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4064 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4065 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4066 f:\sp\public\sdk\inc\winnetwk.h -FILE 4067 f:\sp\public\sdk\inc\stralign.h -FILE 4068 f:\sp\public\sdk\inc\poppack.h -FILE 4069 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 4070 f:\sp\public\sdk\inc\winreg.h -FILE 4071 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4072 f:\sp\public\sdk\inc\tvout.h -FILE 4073 f:\sp\vctools\crt_bld\self_x86\crt\src\dbgint.h -FILE 4074 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4075 f:\sp\public\sdk\inc\wincon.h -FILE 4076 f:\sp\public\sdk\inc\imm.h -FILE 4077 f:\sp\public\sdk\inc\winbase.h -FILE 4078 f:\sp\vctools\crt_bld\self_x86\crt\src\isctype.c -FILE 4079 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4080 f:\sp\public\sdk\inc\wingdi.h -FILE 4081 f:\sp\public\sdk\inc\windef.h -FILE 4082 f:\sp\public\sdk\inc\winver.h -FILE 4083 f:\sp\public\sdk\inc\pshpack2.h -FILE 4084 f:\sp\public\sdk\inc\reason.h -FILE 4085 f:\sp\public\sdk\inc\winnt.h -FILE 4086 f:\sp\public\sdk\inc\specstrings.h -FILE 4087 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4088 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 4089 f:\sp\public\sdk\inc\basetsd.h -FILE 4090 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4091 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4092 f:\sp\public\sdk\inc\pshpack4.h -FILE 4093 f:\sp\public\sdk\inc\winnetwk.h -FILE 4094 f:\sp\public\sdk\inc\stralign.h -FILE 4095 f:\sp\public\sdk\inc\poppack.h -FILE 4096 f:\sp\public\sdk\inc\winsvc.h -FILE 4097 f:\sp\public\sdk\inc\winuser.h -FILE 4098 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4099 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4100 f:\sp\public\sdk\inc\mcx.h -FILE 4101 f:\sp\public\sdk\inc\pshpack8.h -FILE 4102 f:\sp\public\sdk\inc\guiddef.h -FILE 4103 f:\sp\public\sdk\inc\ddbanned.h -FILE 4104 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4105 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 4106 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4107 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4108 f:\sp\public\sdk\inc\windows.h -FILE 4109 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4110 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4111 f:\sp\public\sdk\inc\winnls.h -FILE 4112 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4113 f:\sp\public\sdk\inc\pshpack1.h -FILE 4114 f:\sp\public\sdk\inc\winerror.h -FILE 4115 f:\sp\vctools\crt_bld\self_x86\crt\src\swprintf.inl -FILE 4116 f:\sp\public\sdk\inc\winreg.h -FILE 4117 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4118 f:\sp\public\sdk\inc\tvout.h -FILE 4119 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4120 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4121 f:\sp\public\sdk\inc\wincon.h -FILE 4122 f:\sp\public\sdk\inc\imm.h -FILE 4123 f:\sp\public\sdk\inc\winbase.h -FILE 4124 f:\sp\vctools\crt_bld\self_x86\crt\src\iswctype.c -FILE 4125 f:\sp\public\sdk\inc\wingdi.h -FILE 4126 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4127 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4128 f:\sp\public\sdk\inc\winver.h -FILE 4129 f:\sp\vctools\crt_bld\self_x86\crt\src\awint.h -FILE 4130 f:\sp\public\sdk\inc\windows.h -FILE 4131 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4132 f:\sp\public\sdk\inc\pshpack2.h -FILE 4133 f:\sp\public\sdk\inc\reason.h -FILE 4134 f:\sp\public\sdk\inc\specstrings.h -FILE 4135 f:\sp\vctools\crt_bld\self_x86\crt\src\stdio.h -FILE 4136 f:\sp\public\sdk\inc\basetsd.h -FILE 4137 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4138 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4139 f:\sp\public\sdk\inc\pshpack4.h -FILE 4140 f:\sp\public\sdk\inc\winnetwk.h -FILE 4141 f:\sp\public\sdk\inc\stralign.h -FILE 4142 f:\sp\public\sdk\inc\poppack.h -FILE 4143 f:\sp\public\sdk\inc\winsvc.h -FILE 4144 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4145 f:\sp\public\sdk\inc\windef.h -FILE 4146 f:\sp\public\sdk\inc\winuser.h -FILE 4147 f:\sp\public\sdk\inc\mcx.h -FILE 4148 f:\sp\public\sdk\inc\pshpack8.h -FILE 4149 f:\sp\public\sdk\inc\guiddef.h -FILE 4150 f:\sp\public\sdk\inc\ddbanned.h -FILE 4151 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4152 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4153 f:\sp\public\sdk\inc\winnt.h -FILE 4154 f:\sp\public\sdk\inc\winnls.h -FILE 4155 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4156 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4157 f:\sp\public\sdk\inc\pshpack1.h -FILE 4158 f:\sp\public\sdk\inc\winerror.h -FILE 4159 f:\sp\public\sdk\inc\winsvc.h -FILE 4160 f:\sp\public\sdk\inc\winuser.h -FILE 4161 f:\sp\public\sdk\inc\mcx.h -FILE 4162 f:\sp\public\sdk\inc\pshpack8.h -FILE 4163 f:\sp\public\sdk\inc\guiddef.h -FILE 4164 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4165 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4166 f:\sp\public\sdk\inc\windows.h -FILE 4167 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4168 f:\sp\public\sdk\inc\winnls.h -FILE 4169 f:\sp\vctools\crt_bld\self_x86\crt\src\_wctype.c -FILE 4170 f:\sp\public\sdk\inc\pshpack1.h -FILE 4171 f:\sp\public\sdk\inc\winerror.h -FILE 4172 f:\sp\public\sdk\inc\winreg.h -FILE 4173 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4174 f:\sp\public\sdk\inc\tvout.h -FILE 4175 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4176 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4177 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4178 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4179 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4180 f:\sp\public\sdk\inc\wincon.h -FILE 4181 f:\sp\public\sdk\inc\imm.h -FILE 4182 f:\sp\public\sdk\inc\winbase.h -FILE 4183 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4184 f:\sp\public\sdk\inc\wingdi.h -FILE 4185 f:\sp\public\sdk\inc\windef.h -FILE 4186 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 4187 f:\sp\public\sdk\inc\winver.h -FILE 4188 f:\sp\public\sdk\inc\pshpack2.h -FILE 4189 f:\sp\public\sdk\inc\reason.h -FILE 4190 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4191 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4192 f:\sp\public\sdk\inc\winnt.h -FILE 4193 f:\sp\public\sdk\inc\specstrings.h -FILE 4194 f:\sp\public\sdk\inc\basetsd.h -FILE 4195 f:\sp\public\sdk\inc\pshpack4.h -FILE 4196 f:\sp\public\sdk\inc\ddbanned.h -FILE 4197 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4198 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4199 f:\sp\public\sdk\inc\winnetwk.h -FILE 4200 f:\sp\public\sdk\inc\stralign.h -FILE 4201 f:\sp\public\sdk\inc\poppack.h -FILE 4202 f:\sp\public\sdk\inc\mcx.h -FILE 4203 f:\sp\public\sdk\inc\pshpack8.h -FILE 4204 f:\sp\public\sdk\inc\guiddef.h -FILE 4205 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4206 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4207 f:\sp\public\sdk\inc\windows.h -FILE 4208 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4209 f:\sp\public\sdk\inc\winnls.h -FILE 4210 f:\sp\public\sdk\inc\pshpack1.h -FILE 4211 f:\sp\public\sdk\inc\winerror.h -FILE 4212 f:\sp\public\sdk\inc\winreg.h -FILE 4213 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4214 f:\sp\vctools\crt_bld\self_x86\crt\src\_ctype.c -FILE 4215 f:\sp\public\sdk\inc\tvout.h -FILE 4216 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4217 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4218 f:\sp\public\sdk\inc\wincon.h -FILE 4219 f:\sp\public\sdk\inc\imm.h -FILE 4220 f:\sp\public\sdk\inc\winbase.h -FILE 4221 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4222 f:\sp\public\sdk\inc\wingdi.h -FILE 4223 f:\sp\public\sdk\inc\windef.h -FILE 4224 f:\sp\public\sdk\inc\winver.h -FILE 4225 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4226 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4227 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4228 f:\sp\public\sdk\inc\pshpack2.h -FILE 4229 f:\sp\public\sdk\inc\reason.h -FILE 4230 f:\sp\public\sdk\inc\winnt.h -FILE 4231 f:\sp\vctools\crt_bld\self_x86\crt\src\locale.h -FILE 4232 f:\sp\public\sdk\inc\specstrings.h -FILE 4233 f:\sp\public\sdk\inc\basetsd.h -FILE 4234 f:\sp\public\sdk\inc\pshpack4.h -FILE 4235 f:\sp\public\sdk\inc\winnetwk.h -FILE 4236 f:\sp\public\sdk\inc\stralign.h -FILE 4237 f:\sp\public\sdk\inc\poppack.h -FILE 4238 f:\sp\public\sdk\inc\winsvc.h -FILE 4239 f:\sp\public\sdk\inc\ddbanned.h -FILE 4240 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4241 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4242 f:\sp\public\sdk\inc\winuser.h -FILE 4243 f:\sp\public\sdk\inc\pshpack2.h -FILE 4244 f:\sp\public\sdk\inc\mcx.h -FILE 4245 f:\sp\public\sdk\inc\winuser.h -FILE 4246 f:\sp\public\sdk\inc\winnls.h -FILE 4247 f:\sp\public\sdk\inc\stralign.h -FILE 4248 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4249 f:\sp\public\sdk\inc\windef.h -FILE 4250 f:\sp\public\sdk\inc\tvout.h -FILE 4251 f:\sp\public\sdk\inc\winsvc.h -FILE 4252 f:\sp\vctools\crt_bld\self_x86\crt\src\internal_securecrt.h -FILE 4253 f:\sp\public\sdk\inc\wingdi.h -FILE 4254 f:\sp\public\sdk\inc\pshpack4.h -FILE 4255 f:\sp\public\sdk\inc\poppack.h -FILE 4256 f:\sp\public\sdk\inc\winnt.h -FILE 4257 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4258 f:\sp\public\sdk\inc\winnetwk.h -FILE 4259 f:\sp\public\sdk\inc\imm.h -FILE 4260 f:\sp\vctools\crt_bld\self_x86\crt\src\xtoa.c -FILE 4261 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4262 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdbg.h -FILE 4263 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4264 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4265 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 4266 f:\sp\vctools\crt_bld\self_x86\crt\src\xtoas.c -FILE 4267 f:\sp\public\sdk\inc\pshpack1.h -FILE 4268 f:\sp\public\sdk\inc\winver.h -FILE 4269 f:\sp\vctools\crt_bld\self_x86\crt\src\errno.h -FILE 4270 f:\sp\public\sdk\inc\guiddef.h -FILE 4271 f:\sp\public\sdk\inc\specstrings.h -FILE 4272 f:\sp\public\sdk\inc\basetsd.h -FILE 4273 f:\sp\public\sdk\inc\winreg.h -FILE 4274 f:\sp\public\sdk\inc\ddbanned.h -FILE 4275 f:\sp\vctools\crt_bld\self_x86\crt\src\internal.h -FILE 4276 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4277 f:\sp\public\sdk\inc\windows.h -FILE 4278 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4279 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4280 f:\sp\public\sdk\inc\winbase.h -FILE 4281 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4282 f:\sp\public\sdk\inc\winerror.h -FILE 4283 f:\sp\public\sdk\inc\pshpack8.h -FILE 4284 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 4285 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4286 f:\sp\public\sdk\inc\reason.h -FILE 4287 f:\sp\public\sdk\inc\wincon.h -FILE 4288 f:\sp\public\sdk\inc\poppack.h -FILE 4289 f:\sp\public\sdk\inc\winnetwk.h -FILE 4290 f:\sp\public\sdk\inc\imm.h -FILE 4291 f:\sp\vctools\crt_bld\self_x86\crt\src\stdarg.h -FILE 4292 f:\sp\public\sdk\inc\windef.h -FILE 4293 f:\sp\public\sdk\inc\pshpack1.h -FILE 4294 f:\sp\public\sdk\inc\winver.h -FILE 4295 f:\sp\vctools\crt_bld\self_x86\crt\src\mtdll.h -FILE 4296 f:\sp\vctools\crt_bld\self_x86\crt\src\crtdefs.h -FILE 4297 f:\sp\vctools\crt_bld\self_x86\crt\src\sal.h -FILE 4298 f:\sp\public\sdk\inc\winnt.h -FILE 4299 f:\sp\vctools\crt_bld\self_x86\crt\src\ctype.h -FILE 4300 f:\sp\public\sdk\inc\winreg.h -FILE 4301 f:\sp\vctools\crt_bld\self_x86\crt\src\atox.c -FILE 4302 f:\sp\public\sdk\inc\winbase.h -FILE 4303 f:\sp\public\sdk\inc\winerror.h -FILE 4304 f:\sp\public\sdk\inc\pshpack8.h -FILE 4305 f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.h -FILE 4306 f:\sp\vctools\crt_bld\self_x86\crt\src\oscalls.h -FILE 4307 f:\sp\public\sdk\inc\reason.h -FILE 4308 f:\sp\public\sdk\inc\wincon.h -FILE 4309 f:\sp\public\sdk\inc\ddbanned.h -FILE 4310 f:\sp\vctools\crt_bld\self_x86\crt\src\vadefs.h -FILE 4311 f:\sp\vctools\crt_bld\self_x86\crt\src\cruntime.h -FILE 4312 f:\sp\public\sdk\inc\pshpack2.h -FILE 4313 f:\sp\vctools\crt_bld\self_x86\crt\src\tchar.h -FILE 4314 f:\sp\vctools\crt_bld\self_x86\crt\src\stdlib.h -FILE 4315 f:\sp\vctools\crt_bld\self_x86\crt\src\mbstring.h -FILE 4316 f:\sp\public\sdk\inc\mcx.h -FILE 4317 f:\sp\public\sdk\inc\winuser.h -FILE 4318 f:\sp\vctools\crt_bld\self_x86\crt\src\limits.h -FILE 4319 f:\sp\public\sdk\inc\winnls.h -FILE 4320 f:\sp\public\sdk\inc\guiddef.h -FILE 4321 f:\sp\public\sdk\inc\windows.h -FILE 4322 f:\sp\vctools\crt_bld\self_x86\crt\src\excpt.h -FILE 4323 f:\sp\vctools\crt_bld\self_x86\crt\src\mbctype.h -FILE 4324 f:\sp\public\sdk\inc\specstrings.h -FILE 4325 f:\sp\public\sdk\inc\basetsd.h -FILE 4326 f:\sp\public\sdk\inc\stralign.h -FILE 4327 f:\sp\public\sdk\inc\tvout.h -FILE 4328 f:\sp\public\sdk\inc\winsvc.h -FILE 4329 f:\sp\vctools\crt_bld\self_x86\crt\src\string.h -FILE 4330 f:\sp\public\sdk\inc\wingdi.h -FILE 4331 f:\sp\public\sdk\inc\pshpack4.h -PUBLIC 1005 0 @ILT+0(?h@C@google_breakpad@@SAPADABV12@@Z) -PUBLIC 100a 0 @ILT+5(?set_member@C@google_breakpad@@QAEXH@Z) -PUBLIC 100f 0 @ILT+10(??_EC@google_breakpad@@UAEPAXI@Z) -PUBLIC 1014 0 @ILT+15(??_EC@google_breakpad@@UAEPAXI@Z) -PUBLIC 1019 0 @ILT+20(?f@C@google_breakpad@@QAEXXZ) -PUBLIC 101e 0 @ILT+25(_main) -PUBLIC 1023 0 @ILT+30(??0C@google_breakpad@@QAE@XZ) -PUBLIC 1028 0 @ILT+35(??1C@google_breakpad@@UAE@XZ) -PUBLIC 102d 0 @ILT+40(?g@C@google_breakpad@@UAEHXZ) -FUNC 1060 54 8 main -1060 6 57 1 -1066 8 58 1 -106e e 59 1 -107c 8 60 1 -1084 b 61 1 -108f f 62 1 -109e 12 64 1 -10b0 4 65 1 -FUNC 10c0 a 0 google_breakpad::i -10c0 3 51 1 -10c3 5 52 1 -10c8 2 53 1 -FUNC 10f0 21 0 google_breakpad::C::C() -10f0 21 37 1 -FUNC 1120 14 0 google_breakpad::C::~C() -1120 14 38 1 -FUNC 1140 16 8 google_breakpad::C::set_member(int) -1140 16 40 1 -FUNC 1160 1e 0 google_breakpad::C::f() -1160 1e 43 1 -FUNC 1190 10 0 google_breakpad::C::g() -1190 10 44 1 -FUNC 11b0 7 4 google_breakpad::C::h(google_breakpad::C const &) -11b0 7 45 1 -FUNC 11c0 2c 0 google_breakpad::C::`vector deleting destructor'(unsigned int) -FUNC 11f7 f 4 type_info::name(__type_info_node *) -11f7 0 44 3806 -11f7 c 45 3806 -1203 3 46 3806 -FUNC 1206 e 0 type_info::~type_info() -1206 0 49 3806 -1206 d 50 3806 -1213 1 51 3806 -FUNC 1214 1c 0 type_info::`vector deleting destructor'(unsigned int) -FUNC 1230 f 4 type_info::_name_internal_method(__type_info_node *) -1230 0 54 3806 -1230 c 55 3806 -123c 3 56 3806 -FUNC 123f 8 0 type_info::_type_info_dtor_internal_method() -123f 0 59 3806 -123f 7 60 3806 -1246 1 61 3806 -FUNC 1247 1b 4 type_info::operator==(type_info const &) -1247 0 89 3806 -1247 18 90 3806 -125f 3 91 3806 -FUNC 1262 1c 4 type_info::operator!=(type_info const &) -1262 0 98 3806 -1262 19 99 3806 -127b 3 100 3806 -FUNC 127e 1f 4 type_info::before(type_info const &) -127e 0 103 3806 -127e 1c 104 3806 -129a 3 105 3806 -FUNC 129d 4 0 type_info::raw_name() -129d 0 108 3806 -129d 3 109 3806 -12a0 1 110 3806 -FUNC 12a1 b 4 type_info::type_info(type_info const &) -12a1 8 113 3806 -12a9 3 123 3806 -FUNC 12ac 5 4 type_info::operator=(type_info const &) -12ac 2 127 3806 -12ae 3 135 3806 -FUNC 12b1 5 4 operator delete(void *) -12b1 0 20 3214 -12b1 5 23 3214 -FUNC 12b6 a 4 _set_osplatform -12b6 a 385 1009 -FUNC 12c0 a 4 _set_osver -12c0 a 386 1009 -FUNC 12ca a 4 _set_winver -12ca a 387 1009 -FUNC 12d4 a 4 _set_winmajor -12d4 a 388 1009 -FUNC 12de a 4 _set_winminor -12de a 389 1009 -FUNC 12e8 24 4 fast_error_exit -12e8 0 375 1022 -12e8 9 384 1022 -12f1 5 386 1022 -12f6 9 388 1022 -12ff c 389 1022 -130b 1 390 1022 -FUNC 130c 41 0 check_managed_app -130c 0 413 1022 -130c b 418 1022 -1317 5 422 1022 -131c a 424 1022 -1326 2 425 1022 -1328 9 427 1022 -1331 2 428 1022 -1333 7 433 1022 -133a 2 434 1022 -133c d 437 1022 -1349 1 438 1022 -134a 2 419 1022 -134c 1 438 1022 -FUNC 134d 1b6 0 __tmainCRTStartup -134d c 203 1022 -1359 19 233 1022 -1372 4 234 1022 -1376 8 235 1022 -137e a 236 1022 -1388 2 242 1022 -138a 7 243 1022 -1391 3 244 1022 -1394 4 243 1022 -1398 9 244 1022 -13a1 2 245 1022 -13a3 6 248 1022 -13a9 6 249 1022 -13af 6 250 1022 -13b5 9 256 1022 -13be 9 257 1022 -13c7 8 258 1022 -13cf 6 259 1022 -13d5 d 260 1022 -13e2 6 262 1022 -13e8 5 263 1022 -13ed 6 264 1022 -13f3 6 265 1022 -13f9 6 266 1022 -13ff 8 271 1022 -1407 c 273 1022 -1413 8 274 1022 -141b 9 276 1022 -1424 8 277 1022 -142c 5 286 1022 -1431 4 294 1022 -1435 9 296 1022 -143e 8 297 1022 -1446 b 300 1022 -1451 a 303 1022 -145b 9 305 1022 -1464 8 306 1022 -146c 9 307 1022 -1475 8 308 1022 -147d 8 310 1022 -1485 4 311 1022 -1489 7 312 1022 -1490 a 326 1022 -149a 18 327 1022 -14b2 6 330 1022 -14b8 6 331 1022 -14be 5 333 1022 -14c3 2 335 1022 -14c5 17 336 1022 -14dc 6 342 1022 -14e2 6 344 1022 -14e8 6 345 1022 -14ee 5 347 1022 -14f3 7 349 1022 -14fa 3 351 1022 -14fd 6 352 1022 -FUNC 1503 a 0 mainCRTStartup -1503 0 186 1022 -1503 5 193 1022 -1508 5 195 1022 -FUNC 150d 22 18 _invoke_watson_if_error -150d 3 754 3783 -1510 6 755 3783 -1516 17 759 3783 -152d 2 760 3783 -FUNC 152f 70 4 type_info::_Type_info_dtor(type_info *) -152f c 62 3748 -153b 8 63 3748 -1543 4 64 3748 -1547 a 65 3748 -1551 d 70 3748 -155e 4 72 3748 -1562 4 74 3748 -1566 6 79 3748 -156c 7 80 3748 -1573 9 94 3748 -157c 4 101 3748 -1580 c 103 3748 -158c 6 107 3748 -1592 2 83 3748 -1594 2 72 3748 -1596 9 104 3748 -FUNC 159f f5 8 type_info::_Name_base(type_info const *,__type_info_node *) -159f c 109 3748 -15ab e 113 3748 -15b9 24 124 3748 -15dd 7 125 3748 -15e4 16 132 3748 -15fa 2 133 3748 -15fc 5 132 3748 -1601 b 136 3748 -160c 5 142 3748 -1611 a 149 3748 -161b 4 150 3748 -161f 11 157 3748 -1630 20 158 3748 -1650 5 159 3748 -1655 9 165 3748 -165e 3 166 3748 -1661 2 167 3748 -1663 7 173 3748 -166a 9 180 3748 -1673 c 181 3748 -167f 3 188 3748 -1682 6 189 3748 -1688 3 181 3748 -168b 9 182 3748 -FUNC 1694 70 4 type_info::_Type_info_dtor_internal(type_info *) -1694 c 197 3748 -16a0 8 198 3748 -16a8 4 199 3748 -16ac a 200 3748 -16b6 d 205 3748 -16c3 4 207 3748 -16c7 4 209 3748 -16cb 6 214 3748 -16d1 7 215 3748 -16d8 9 229 3748 -16e1 4 236 3748 -16e5 c 238 3748 -16f1 6 242 3748 -16f7 2 218 3748 -16f9 2 207 3748 -16fb 9 239 3748 -FUNC 1704 31 10 __unDNameHelper -1704 3 249 3748 -1707 7 250 3748 -170e 7 252 3748 -1715 1e 260 3748 -1733 2 261 3748 -FUNC 1735 eb 8 type_info::_Name_base_internal(type_info const *,__type_info_node *) -1735 c 265 3748 -1741 e 269 3748 -174f 1a 273 3748 -1769 7 274 3748 -1770 16 281 3748 -1786 2 282 3748 -1788 5 281 3748 -178d b 285 3748 -1798 5 291 3748 -179d a 298 3748 -17a7 4 299 3748 -17ab 11 306 3748 -17bc 20 307 3748 -17dc 5 308 3748 -17e1 9 314 3748 -17ea 3 315 3748 -17ed 2 316 3748 -17ef 7 322 3748 -17f6 9 329 3748 -17ff c 330 3748 -180b 3 337 3748 -180e 6 338 3748 -1814 3 330 3748 -1817 9 331 3748 -FUNC 1820 53 4 __clean_type_info_names_internal -1820 c 346 3748 -182c 8 347 3748 -1834 4 348 3748 -1838 6 352 3748 -183e 4 354 3748 -1842 3 356 3748 -1845 7 357 3748 -184c 8 358 3748 -1854 4 354 3748 -1858 c 359 3748 -1864 6 363 3748 -186a 9 361 3748 -FUNC 1880 88 8 strcmp -1880 0 65 593 -1880 4 73 593 -1884 4 74 593 -1888 6 76 593 -188e 2 77 593 -1890 2 81 593 -1892 2 83 593 -1894 2 84 593 -1896 2 85 593 -1898 2 86 593 -189a 3 87 593 -189d 2 88 593 -189f 2 89 593 -18a1 2 90 593 -18a3 3 92 593 -18a6 3 94 593 -18a9 2 95 593 -18ab 2 96 593 -18ad 2 97 593 -18af 3 98 593 -18b2 2 99 593 -18b4 3 100 593 -18b7 3 101 593 -18ba 2 102 593 -18bc 4 103 593 -18c0 2 107 593 -18c2 2 108 593 -18c4 2 115 593 -18c6 2 116 593 -18c8 3 117 593 -18cb 1 118 593 -18cc 6 122 593 -18d2 2 123 593 -18d4 2 125 593 -18d6 3 126 593 -18d9 2 127 593 -18db 2 128 593 -18dd 3 129 593 -18e0 2 130 593 -18e2 2 131 593 -18e4 6 133 593 -18ea 2 134 593 -18ec 3 139 593 -18ef 3 140 593 -18f2 2 141 593 -18f4 2 142 593 -18f6 2 143 593 -18f8 2 144 593 -18fa 3 145 593 -18fd 2 146 593 -18ff 2 147 593 -1901 2 148 593 -1903 3 149 593 -1906 2 150 593 -FUNC 1908 8e 4 free -1908 c 42 3545 -1914 7 47 3545 -191b 9 53 3545 -1924 8 57 3545 -192c 4 58 3545 -1930 e 60 3545 -193e 9 61 3545 -1947 c 64 3545 -1953 6 68 3545 -1959 3 70 3545 -195c 2 106 3545 -195e 9 65 3545 -1967 f 109 3545 -1976 4 110 3545 -197a 16 112 3545 -1990 6 115 3545 -FUNC 1996 3d 4 __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) -1996 0 67 3654 -1996 33 68 3654 -19c9 5 69 3654 -19ce 2 72 3654 -19d0 3 73 3654 -FUNC 19d3 e 0 __CxxSetUnhandledExceptionFilter -19d3 0 86 3654 -19d3 b 89 3654 -19de 2 90 3654 -19e0 1 91 3654 -FUNC 19e1 24 4 _amsg_exit -19e1 0 446 974 -19e1 5 449 974 -19e6 9 450 974 -19ef b 451 974 -19fa a 452 974 -1a04 1 453 974 -FUNC 1a05 26 4 __crtCorExitProcess -1a05 0 650 974 -1a05 b 654 974 -1a10 4 655 974 -1a14 c 656 974 -1a20 4 657 974 -1a24 6 658 974 -1a2a 1 668 974 -FUNC 1a2b 15 4 __crtExitProcess -1a2b 0 673 974 -1a2b a 674 974 -1a35 b 683 974 -FUNC 1a40 9 0 _lockexit -1a40 0 733 974 -1a40 8 734 974 -1a48 1 735 974 -FUNC 1a49 9 0 _unlockexit -1a49 0 759 974 -1a49 8 760 974 -1a51 1 761 974 -FUNC 1a52 18 4 _initterm -1a52 3 841 974 -1a55 2 855 974 -1a57 6 853 974 -1a5d 2 854 974 -1a5f 3 855 974 -1a62 7 848 974 -1a69 1 857 974 -FUNC 1a6a 20 8 _initterm_e -1a6a 1 890 974 -1a6b c 899 974 -1a77 6 904 974 -1a7d 2 905 974 -1a7f 3 906 974 -1a82 7 899 974 -1a89 1 910 974 -FUNC 1a8a 37 4 _get_osplatform -1a8a 0 929 974 -1a8a 27 931 974 -1ab1 1 939 974 -1ab2 9 934 974 -1abb 2 936 974 -1abd 3 938 974 -1ac0 1 939 974 -FUNC 1ac1 3c 4 _get_osver -1ac1 0 958 974 -1ac1 27 960 974 -1ae8 1 968 974 -1ae9 8 963 974 -1af1 8 965 974 -1af9 3 967 974 -1afc 1 968 974 -FUNC 1afd 3c 4 _get_winver -1afd 0 987 974 -1afd 27 989 974 -1b24 1 997 974 -1b25 8 992 974 -1b2d 8 994 974 -1b35 3 996 974 -1b38 1 997 974 -FUNC 1b39 3c 4 _get_winmajor -1b39 0 1016 974 -1b39 27 1018 974 -1b60 1 1026 974 -1b61 8 1021 974 -1b69 8 1023 974 -1b71 3 1025 974 -1b74 1 1026 974 -FUNC 1b75 3c 4 _get_winminor -1b75 0 1045 974 -1b75 27 1047 974 -1b9c 1 1055 974 -1b9d 8 1050 974 -1ba5 8 1052 974 -1bad 3 1054 974 -1bb0 1 1055 974 -FUNC 1bb1 37 4 _get_wpgmptr -1bb1 0 1074 974 -1bb1 27 1076 974 -1bd8 1 1085 974 -1bd9 9 1080 974 -1be2 2 1082 974 -1be4 3 1084 974 -1be7 1 1085 974 -FUNC 1be8 37 4 _get_pgmptr -1be8 0 1104 974 -1be8 27 1106 974 -1c0f 1 1115 974 -1c10 9 1110 974 -1c19 2 1112 974 -1c1b 3 1114 974 -1c1e 1 1115 974 -FUNC 1c1f 92 4 _cinit -1c1f 0 263 974 -1c1f 18 273 974 -1c37 b 275 974 -1c42 5 277 974 -1c47 f 283 974 -1c56 4 284 974 -1c5a 4 285 974 -1c5e a 288 974 -1c68 20 293 974 -1c88 1a 306 974 -1ca2 c 308 974 -1cae 2 312 974 -1cb0 1 313 974 -FUNC 1cb1 e2 c doexit -1cb1 c 499 974 -1cbd 8 517 974 -1cc5 5 518 974 -1cca b 520 974 -1cd5 6 521 974 -1cdb 8 524 974 -1ce3 5 526 974 -1ce8 e 542 974 -1cf6 12 543 974 -1d08 5 545 974 -1d0d b 546 974 -1d18 10 551 974 -1d28 9 552 974 -1d31 2 553 974 -1d33 10 558 974 -1d43 10 566 974 -1d53 c 584 974 -1d5f 6 588 974 -1d65 6 592 974 -1d6b 8 594 974 -1d73 8 596 974 -1d7b 3 584 974 -1d7e 6 585 974 -1d84 9 586 974 -1d8d 6 597 974 -FUNC 1d93 11 4 exit -1d93 0 397 974 -1d93 10 398 974 -1da3 1 399 974 -FUNC 1da4 11 4 _exit -1da4 0 405 974 -1da4 10 406 974 -1db4 1 407 974 -FUNC 1db5 f 0 _cexit -1db5 0 412 974 -1db5 e 413 974 -1dc3 1 414 974 -FUNC 1dc4 f 0 _c_exit -1dc4 0 419 974 -1dc4 e 420 974 -1dd2 1 421 974 -FUNC 1dd3 4c 0 _init_pointers -1dd3 1 786 974 -1dd4 7 787 974 -1ddb 6 789 974 -1de1 6 790 974 -1de7 6 791 974 -1ded 6 792 974 -1df3 6 793 974 -1df9 6 794 974 -1dff 6 795 974 -1e05 6 796 974 -1e0b 13 799 974 -1e1e 1 800 974 -FUNC 1e1f 1a0 4 _NMSG_WRITE -1e1f 2 174 832 -1e21 a 178 832 -1e2b f 179 832 -1e3a a 182 832 -1e44 2a 203 832 -1e6e c 215 832 -1e7a 2a 224 832 -1ea4 1e 227 832 -1ec2 26 228 832 -1ee8 d 231 832 -1ef5 b 233 832 -1f00 2f 234 832 -1f2f 20 237 832 -1f4f 22 238 832 -1f71 15 242 832 -1f86 a 205 832 -1f90 9 206 832 -1f99 24 212 832 -1fbd 2 245 832 -FUNC 1fbf 20 4 _GET_RTERRMSG -1fbf 0 268 832 -1fbf 2 271 832 -1fc1 13 272 832 -1fd4 2 275 832 -1fd6 1 276 832 -1fd7 7 273 832 -1fde 1 276 832 -FUNC 1fdf 39 0 _FF_MSGBANNER -1fdf 0 141 832 -1fdf 22 145 832 -2001 a 147 832 -200b c 148 832 -2017 1 150 832 -FUNC 2018 1 4 _initp_misc_winxfltr -2018 0 105 1166 -2018 1 106 1166 -FUNC 2019 32 4 xcptlookup -2019 0 410 1166 -2019 b 411 1166 -2024 14 418 1166 -2038 e 425 1166 -2046 2 428 1166 -2048 2 426 1166 -204a 1 429 1166 -FUNC 204b 15e 8 _XcptFilter -204b 6 206 1166 -2051 7 213 1166 -2058 8 214 1166 -2060 34 219 1166 -2094 2 221 1166 -2096 2 225 1166 -2098 3 227 1166 -209b 7 234 1166 -20a2 7 235 1166 -20a9 5 243 1166 -20ae 4 248 1166 -20b2 8 249 1166 -20ba 3 255 1166 -20bd 6 259 1166 -20c3 6 273 1166 -20c9 6 274 1166 -20cf c 283 1166 -20db 17 291 1166 -20f2 1e 294 1166 -2110 3 291 1166 -2113 c 321 1166 -211f 9 323 1166 -2128 7 325 1166 -212f 9 327 1166 -2138 7 329 1166 -213f 9 331 1166 -2148 7 333 1166 -214f 9 335 1166 -2158 7 337 1166 -215f 9 339 1166 -2168 7 341 1166 -216f 9 343 1166 -2178 7 345 1166 -217f 7 347 1166 -2186 8 356 1166 -218e 3 361 1166 -2191 2 363 1166 -2193 4 368 1166 -2197 3 369 1166 -219a 7 375 1166 -21a1 6 377 1166 -21a7 2 379 1166 -FUNC 21a9 1b 8 __CppXcptFilter -21a9 0 145 1166 -21a9 b 146 1166 -21b4 c 147 1166 -21c0 1 151 1166 -21c1 2 149 1166 -21c3 1 151 1166 -FUNC 21c4 db 0 _setenvp -21c4 1 77 694 -21c5 c 85 694 -21d1 5 86 694 -21d6 8 91 694 -21de 4 98 694 -21e2 8 99 694 -21ea 4 110 694 -21ee 1 111 694 -21ef 11 112 694 -2200 15 117 694 -2215 2 118 694 -2217 9 121 694 -2220 9 123 694 -2229 6 125 694 -222f 10 127 694 -223f 1c 133 694 -225b 3 134 694 -225e 6 121 694 -2264 b 138 694 -226f 6 139 694 -2275 2 142 694 -2277 a 149 694 -2281 7 152 694 -2288 17 153 694 -FUNC 229f a 4 _set_pgmptr -229f a 334 717 -FUNC 22a9 198 c parse_cmdline -22a9 4 218 736 -22ad 6 226 736 -22b3 8 230 736 -22bb 14 231 736 -22cf 3 250 736 -22d2 5 252 736 -22d7 5 254 736 -22dc 9 255 736 -22e5 2 256 736 -22e7 2 258 736 -22e9 4 259 736 -22ed 8 260 736 -22f5 2 262 736 -22f7 f 264 736 -2306 2 265 736 -2308 6 266 736 -230e a 267 736 -2318 1 268 736 -2319 1a 272 736 -2333 4 277 736 -2337 4 278 736 -233b 4 281 736 -233f 9 286 736 -2348 a 287 736 -2352 3 288 736 -2355 1 275 736 -2356 2 276 736 -2358 9 291 736 -2361 6 295 736 -2367 9 296 736 -2370 2 297 736 -2372 3 311 736 -2375 4 315 736 -2379 1 318 736 -237a 1 319 736 -237b 5 316 736 -2380 5 321 736 -2385 5 324 736 -238a e 325 736 -2398 2 326 736 -239a 2 327 736 -239c d 329 736 -23a9 2 332 736 -23ab 5 336 736 -23b0 4 337 736 -23b4 4 338 736 -23b8 6 339 736 -23be 3 338 736 -23c1 14 343 736 -23d5 4 348 736 -23d9 2 349 736 -23db 10 350 736 -23eb b 351 736 -23f6 2 352 736 -23f8 a 354 736 -2402 2 355 736 -2404 a 356 736 -240e 1 357 736 -240f 2 358 736 -2411 5 361 736 -2416 1 363 736 -2417 5 372 736 -241c 4 376 736 -2420 7 377 736 -2427 2 378 736 -2429 8 379 736 -2431 9 382 736 -243a 3 383 736 -243d 2 384 736 -243f 2 385 736 -FUNC 2441 b9 0 _setargv -2441 7 88 736 -2448 c 97 736 -2454 5 98 736 -2459 18 104 736 -2471 19 120 736 -248a 11 127 736 -249b 15 132 736 -24b0 a 136 736 -24ba 2 138 736 -24bc 8 140 736 -24c4 3 141 736 -24c7 2 142 736 -24c9 13 149 736 -24dc c 153 736 -24e8 6 157 736 -24ee 4 172 736 -24f2 6 134 736 -24f8 2 173 736 -FUNC 24fa 135 0 __crtGetEnvironmentStringsA -24fa 2 43 2721 -24fc 1a 57 2721 -2516 8 59 2721 -251e c 60 2721 -252a b 62 2721 -2535 e 63 2721 -2543 9 68 2721 -254c 4 71 2721 -2550 8 72 2721 -2558 7 73 2721 -255f 7 77 2721 -2566 7 78 2721 -256d 7 79 2721 -2574 1b 93 2721 -258f 13 97 2721 -25a2 11 111 2721 -25b3 a 113 2721 -25bd 8 114 2721 -25c5 7 99 2721 -25cc 4 100 2721 -25d0 6 123 2721 -25d6 2 152 2721 -25d8 a 126 2721 -25e2 6 127 2721 -25e8 4 133 2721 -25ec 5 134 2721 -25f1 5 135 2721 -25f6 5 138 2721 -25fb d 140 2721 -2608 7 141 2721 -260f 5 142 2721 -2614 b 145 2721 -261f 7 147 2721 -2626 6 149 2721 -262c 3 153 2721 -FUNC 262f 240 0 _ioinit -262f c 111 3137 -263b 5 122 3137 -2640 a 127 3137 -264a 7 128 3137 -2651 f 137 3137 -2660 6 139 3137 -2666 5 142 3137 -266b 6 143 3137 -2671 8 145 3137 -2679 4 146 3137 -267d 3 147 3137 -2680 4 148 3137 -2684 3 149 3137 -2687 4 151 3137 -268b 4 152 3137 -268f 4 153 3137 -2693 13 145 3137 -26a6 15 161 3137 -26bb 2 166 3137 -26bd 3 172 3137 -26c0 6 173 3137 -26c6 b 179 3137 -26d1 5 185 3137 -26d6 f 191 3137 -26e5 9 204 3137 -26ee 7 205 3137 -26f5 8 207 3137 -26fd 4 208 3137 -2701 3 209 3137 -2704 4 210 3137 -2708 4 211 3137 -270c 4 212 3137 -2710 4 213 3137 -2714 4 214 3137 -2718 f 207 3137 -2727 9 185 3137 -2730 2 284 3137 -2732 6 197 3137 -2738 8 221 3137 -2740 24 234 3137 -2764 15 236 3137 -2779 7 237 3137 -2780 5 238 3137 -2785 18 241 3137 -279d 3 243 3137 -27a0 d 221 3137 -27ad 2 253 3137 -27af b 255 3137 -27ba c 258 3137 -27c6 6 306 3137 -27cc 4 262 3137 -27d0 30 266 3137 -2800 2 271 3137 -2802 a 277 3137 -280c 6 278 3137 -2812 5 279 3137 -2817 4 280 3137 -281b 14 284 3137 -282f 3 286 3137 -2832 2 288 3137 -2834 4 297 3137 -2838 6 298 3137 -283e a 253 3137 -2848 c 313 3137 -2854 4 315 3137 -2858 7 128 3137 -285f a 129 3137 -2869 6 316 3137 -FUNC 286f 4c 0 _ioterm -286f 2 341 3137 -2871 5 345 3137 -2876 6 347 3137 -287c 8 353 3137 -2884 9 355 3137 -288d 11 356 3137 -289e 4 353 3137 -28a2 7 361 3137 -28a9 11 362 3137 -28ba 1 365 3137 -FUNC 28bb 24 0 _RTC_Initialize -FUNC 28df 24 0 _RTC_Terminate -FUNC 2903 6c 0 _use_encode_pointer -2903 7 66 641 -290a 2 72 641 -290c 12 75 641 -291e 7 76 641 -2925 5 78 641 -292a 7 82 641 -2931 5 85 641 -2936 e 91 641 -2944 1f 93 641 -2963 4 95 641 -2967 6 100 641 -296d 2 101 641 -FUNC 296f 6e 4 _encode_pointer -296f 1 120 641 -2970 2b 129 641 -299b 8 145 641 -29a3 d 133 641 -29b0 d 135 641 -29bd c 138 641 -29c9 4 148 641 -29cd a 150 641 -29d7 5 153 641 -29dc 1 154 641 -FUNC 29dd 9 0 _encoded_null -29dd 0 173 641 -29dd 8 174 641 -29e5 1 175 641 -FUNC 29e6 6e 4 _decode_pointer -29e6 1 194 641 -29e7 2b 203 641 -2a12 8 219 641 -2a1a d 207 641 -2a27 d 209 641 -2a34 c 212 641 -2a40 4 222 641 -2a44 a 224 641 -2a4e 5 227 641 -2a53 1 228 641 -FUNC 2a54 9 4 __crtTlsAlloc -2a54 0 240 641 -2a54 6 241 641 -2a5a 3 242 641 -FUNC 2a5d 15 4 __fls_getvalue -2a5d 0 258 641 -2a5d 12 259 641 -2a6f 3 260 641 -FUNC 2a72 6 0 __get_flsindex -2a72 0 272 641 -2a72 5 273 641 -2a77 1 274 641 -FUNC 2a78 32 0 __set_flsgetvalue -2a78 1 286 641 -2a79 e 288 641 -2a87 4 289 641 -2a8b e 291 641 -2a99 d 292 641 -2aa6 3 294 641 -2aa9 1 298 641 -FUNC 2aaa 19 8 __fls_setvalue -2aaa 0 315 641 -2aaa 16 316 641 -2ac0 3 317 641 -FUNC 2ac3 3d 0 _mtterm -2ac3 0 473 641 -2ac3 a 480 641 -2acd f 481 641 -2adc 7 482 641 -2ae3 a 485 641 -2aed 7 486 641 -2af4 7 487 641 -2afb 5 494 641 -FUNC 2b00 bf 8 _initptd -2b00 c 521 641 -2b0c e 522 641 -2b1a a 524 641 -2b24 6 525 641 -2b2a 4 527 641 -2b2e 9 529 641 -2b37 16 532 641 -2b4d 10 533 641 -2b5d 3 540 641 -2b60 7 544 641 -2b67 7 545 641 -2b6e 8 546 641 -2b76 7 547 641 -2b7d 8 551 641 -2b85 4 552 641 -2b89 6 553 641 -2b8f 4 561 641 -2b93 8 562 641 -2b9b 9 563 641 -2ba4 c 565 641 -2bb0 6 568 641 -2bb6 9 566 641 -FUNC 2bbf 77 0 _getptd_noexit -2bbf 2 588 641 -2bc1 6 592 641 -2bc7 15 600 641 -2bdc 14 608 641 -2bf0 19 610 641 -2c09 a 616 641 -2c13 6 618 641 -2c19 6 619 641 -2c1f 2 621 641 -2c21 7 627 641 -2c28 2 628 641 -2c2a 8 633 641 -2c32 3 635 641 -2c35 1 636 641 -FUNC 2c36 18 0 _getptd -2c36 1 657 641 -2c37 7 658 641 -2c3e 4 659 641 -2c42 8 660 641 -2c4a 3 662 641 -2c4d 1 663 641 -FUNC 2c4e 121 4 _freefls -2c4e c 691 641 -2c5a b 702 641 -2c65 7 703 641 -2c6c 7 704 641 -2c73 7 706 641 -2c7a 7 707 641 -2c81 7 709 641 -2c88 7 710 641 -2c8f 7 712 641 -2c96 7 713 641 -2c9d 7 715 641 -2ca4 7 716 641 -2cab 7 718 641 -2cb2 7 719 641 -2cb9 a 721 641 -2cc3 7 722 641 -2cca 8 724 641 -2cd2 4 725 641 -2cd6 1a 728 641 -2cf0 7 729 641 -2cf7 c 731 641 -2d03 8 735 641 -2d0b 7 737 641 -2d12 7 738 641 -2d19 7 740 641 -2d20 15 743 641 -2d35 7 744 641 -2d3c c 747 641 -2d48 7 751 641 -2d4f 8 754 641 -2d57 3 731 641 -2d5a 9 732 641 -2d63 3 747 641 -2d66 9 748 641 -FUNC 2d6f 69 4 _freeptd -2d6f 0 778 641 -2d6f a 783 641 -2d79 1b 795 641 -2d94 13 796 641 -2da7 16 802 641 -2dbd 7 804 641 -2dc4 a 807 641 -2dce 9 811 641 -2dd7 1 813 641 -FUNC 2dd8 6 0 __threadid -2dd8 0 837 641 -2dd8 6 838 641 -FUNC 2dde 6 0 __threadhandle -2dde 0 844 641 -2dde 6 845 641 -FUNC 2de4 184 0 _mtinit -2de4 1 346 641 -2de5 d 355 641 -2df2 4 356 641 -2df6 5 357 641 -2dfb 3 358 641 -2dfe 2 444 641 -2e00 e 362 641 -2e0e d 365 641 -2e1b d 368 641 -2e28 d 371 641 -2e35 2a 372 641 -2e5f a 375 641 -2e69 1a 379 641 -2e83 25 388 641 -2ea8 5 393 641 -2ead b 400 641 -2eb8 10 401 641 -2ec8 10 402 641 -2ed8 18 403 641 -2ef0 7 410 641 -2ef7 2 412 641 -2ef9 1b 418 641 -2f14 2 420 641 -2f16 2d 428 641 -2f43 a 438 641 -2f4d 6 440 641 -2f53 6 441 641 -2f59 5 443 641 -2f5e 5 430 641 -2f63 4 389 641 -2f67 1 444 641 -FUNC 2f68 5b 0 __heap_select -2f68 6 70 3503 -2f6e 23 143 3503 -2f91 1b 144 3503 -2fac d 145 3503 -2fb9 3 146 3503 -2fbc 2 164 3503 -2fbe 3 161 3503 -2fc1 2 164 3503 -FUNC 2fc3 5a 4 _heap_init -2fc3 0 192 3503 -2fc3 20 199 3503 -2fe3 2 200 3503 -2fe5 1 240 3503 -2fe6 5 204 3503 -2feb a 206 3503 -2ff5 f 209 3503 -3004 c 211 3503 -3010 7 212 3503 -3017 2 213 3503 -3019 3 239 3503 -301c 1 240 3503 -FUNC 301d 74 0 _heap_term -301d 1 261 3503 -301e c 264 3503 -302a 1b 270 3503 -3045 f 273 3503 -3054 b 276 3503 -305f d 278 3503 -306c 11 281 3503 -307d c 300 3503 -3089 7 301 3503 -3090 1 302 3503 -FUNC 3091 6 0 _get_heap_handle -3091 0 320 3503 -3091 5 322 3503 -3096 1 323 3503 -FUNC 3098 45 0 _SEH_prolog4 -FUNC 30dd 14 0 _SEH_epilog4 -FUNC 3100 24 0 ValidateLocalCookies -FUNC 3130 196 10 _except_handler4 -FUNC 32c6 94 0 __security_init_cookie -32c6 6 97 2103 -32cc 21 114 2103 -32ed 7 116 2103 -32f4 3 117 2103 -32f7 a 127 2103 -3301 6 132 2103 -3307 8 135 2103 -330f 8 136 2103 -3317 8 137 2103 -331f 10 139 2103 -332f 2 144 2103 -3331 4 161 2103 -3335 7 163 2103 -333c 4 166 2103 -3340 7 168 2103 -3347 6 172 2103 -334d b 173 2103 -3358 2 175 2103 -FUNC 335a a 4 _initp_misc_invarg -335a 0 38 1742 -335a 9 39 1742 -3363 1 40 1742 -FUNC 3364 fc 14 _invoke_watson -3364 1c 111 1742 -3380 6 128 1742 -3386 6 129 1742 -338c 6 130 1742 -3392 3 131 1742 -3395 3 132 1742 -3398 3 133 1742 -339b 7 134 1742 -33a2 7 135 1742 -33a9 4 136 1742 -33ad 4 137 1742 -33b1 4 138 1742 -33b5 4 139 1742 -33b9 1 140 1742 -33ba 6 141 1742 -33c0 6 147 1742 -33c6 19 148 1742 -33df 3 150 1742 -33e2 13 163 1742 -33f5 6 168 1742 -33fb 13 169 1742 -340e 6 171 1742 -3414 a 174 1742 -341e a 176 1742 -3428 8 180 1742 -3430 8 181 1742 -3438 12 184 1742 -344a 16 185 1742 -FUNC 3460 22 4 _set_invalid_parameter_handler -3460 1 207 1742 -3461 b 211 1742 -346c d 212 1742 -3479 5 214 1742 -347e 3 216 1742 -3481 1 217 1742 -FUNC 3482 d 0 _get_invalid_parameter_handler -3482 0 221 1742 -3482 c 225 1742 -348e 1 228 1742 -FUNC 348f 9 14 _invoke_watson(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int) -348f 3 266 1742 -3492 1 274 1742 -3493 5 273 1742 -FUNC 3498 24 14 _invalid_parameter -3498 3 70 1742 -349b b 77 1742 -34a6 5 78 1742 -34ab 1 89 1742 -34ac 2 80 1742 -34ae 8 86 1742 -34b6 1 89 1742 -34b7 5 88 1742 -FUNC 34bc 10 0 _invalid_parameter_noinfo -34bc 0 98 1742 -34bc f 99 1742 -34cb 1 100 1742 -FUNC 34cc 9 14 _invalid_parameter(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int) -34cc 3 249 1742 -34cf 1 257 1742 -34d0 5 256 1742 -FUNC 34d5 49 0 _mtinitlocks -34d5 2 137 785 -34d7 7 144 785 -34de 11 145 785 -34ef 2 146 785 -34f1 15 148 785 -3506 6 144 785 -350c 5 157 785 -3511 d 158 785 -FUNC 351e 55 0 _mtdeletelocks -351e 1 188 785 -351f d 194 785 -352c c 196 785 -3538 3 200 785 -353b 6 206 785 -3541 f 207 785 -3550 6 215 785 -3556 c 217 785 -3562 10 221 785 -3572 1 224 785 -FUNC 3573 15 4 _unlock -3573 3 371 785 -3576 10 375 785 -3586 2 376 785 -FUNC 3588 18 4 _lockerr_exit -3588 0 403 785 -3588 c 404 785 -3594 b 405 785 -359f 1 406 785 -FUNC 35a0 c3 4 _mtinitlocknum -35a0 c 259 785 -35ac 6 261 785 -35b2 a 269 785 -35bc 5 270 785 -35c1 7 271 785 -35c8 c 272 785 -35d4 e 276 785 -35e2 4 277 785 -35e6 e 279 785 -35f4 b 280 785 -35ff 4 281 785 -3603 8 284 785 -360b 3 285 785 -360e 4 287 785 -3612 11 288 785 -3623 7 289 785 -362a b 290 785 -3635 3 291 785 -3638 2 292 785 -363a 2 293 785 -363c 2 296 785 -363e 7 297 785 -3645 c 300 785 -3651 3 304 785 -3654 6 305 785 -365a 9 301 785 -FUNC 3663 31 4 _lock -3663 3 333 785 -3666 10 338 785 -3676 b 340 785 -3681 8 341 785 -3689 9 348 785 -3692 2 349 785 -FUNC 3694 65 c strcpy_s -3694 0 13 448 -3694 30 18 448 -36c4 c 19 448 -36d0 2 21 448 -36d2 d 23 448 -36df 4 27 448 -36e3 2 29 448 -36e5 e 30 448 -36f3 5 33 448 -36f8 1 34 448 -FUNC 3700 8b 4 strlen -3700 0 54 547 -3700 4 63 547 -3704 6 64 547 -370a 2 65 547 -370c 2 69 547 -370e 3 70 547 -3711 2 71 547 -3713 2 72 547 -3715 6 73 547 -371b 2 74 547 -371d 13 76 547 -3730 2 81 547 -3732 5 82 547 -3737 2 83 547 -3739 3 84 547 -373c 2 85 547 -373e 3 86 547 -3741 5 87 547 -3746 2 88 547 -3748 3 90 547 -374b 2 91 547 -374d 2 92 547 -374f 2 93 547 -3751 2 94 547 -3753 5 95 547 -3758 2 96 547 -375a 5 97 547 -375f 2 98 547 -3761 2 99 547 -3763 3 103 547 -3766 4 104 547 -376a 2 105 547 -376c 1 106 547 -376d 3 108 547 -3770 4 109 547 -3774 2 110 547 -3776 1 111 547 -3777 3 113 547 -377a 4 114 547 -377e 2 115 547 -3780 1 116 547 -3781 3 118 547 -3784 4 119 547 -3788 2 120 547 -378a 1 121 547 -FUNC 378b 6 0 HeapManager::Block::Block() -378b 6 90 3704 -FUNC 3791 1b 8 HeapManager::Constructor(void * (*)(unsigned int),void (*)(void *)) -3791 6 100 3704 -3797 7 101 3704 -379e 5 102 3704 -37a3 3 103 3704 -37a6 3 104 3704 -37a9 3 105 3704 -FUNC 37ac 26 0 HeapManager::Destructor() -37ac 9 110 3704 -37b5 2 111 3704 -37b7 5 113 3704 -37bc 15 115 3704 -37d1 1 118 3704 -FUNC 37d2 63 0 UnDecorator::getNumberOfDimensions() -37d2 0 1663 3704 -37d2 c 1664 3704 -37de 2 1665 3704 -37e0 1 1696 3704 -37e1 a 1666 3704 -37eb d 1667 3704 -37f8 1 1696 3704 -37f9 4 1670 3704 -37fd 4 1677 3704 -3801 a 1679 3704 -380b 6 1680 3704 -3811 d 1684 3704 -381e 5 1675 3704 -3823 e 1690 3704 -3831 3 1691 3704 -3834 1 1696 3704 -FUNC 3835 474 0 UnDecorator::getTypeEncoding() -3835 f 2335 3704 -3844 2 2336 3704 -3846 5 2341 3704 -384b 9 2345 3704 -3854 c 2351 3704 -3860 9 2423 3704 -3869 2 2426 3704 -386b 2a 2427 3704 -3895 8 2450 3704 -389d 2 2451 3704 -389f 24 2454 3704 -38c3 7 2462 3704 -38ca 5 2463 3704 -38cf 6 2353 3704 -38d5 8 2358 3704 -38dd b 2362 3704 -38e8 5 2363 3704 -38ed 2 2364 3704 -38ef 5 2365 3704 -38f4 9 2369 3704 -38fd 1b 2373 3704 -3918 11 2377 3704 -3929 a 2393 3704 -3933 10 2388 3704 -3943 2 2389 3704 -3945 18 2384 3704 -395d 2 2385 3704 -395f 12 2380 3704 -3971 16 2399 3704 -3987 11 2418 3704 -3998 a 2406 3704 -39a2 5 2407 3704 -39a7 15 2410 3704 -39bc 5 2422 3704 -39c1 1b 2427 3704 -39dc a 2430 3704 -39e6 5 2431 3704 -39eb 7 2472 3704 -39f2 a 2478 3704 -39fc c 2483 3704 -3a08 5 2485 3704 -3a0d 5 2486 3704 -3a12 5 2487 3704 -3a17 5 2490 3704 -3a1c 5 2505 3704 -3a21 5 2508 3704 -3a26 5 2509 3704 -3a2b 5 2434 3704 -3a30 5 2435 3704 -3a35 1a 2427 3704 -3a4f 30 2568 3704 -3a7f 5 2529 3704 -3a84 4 2530 3704 -3a88 a 2531 3704 -3a92 2 2532 3704 -3a94 a 2533 3704 -3a9e 5 2537 3704 -3aa3 5 2538 3704 -3aa8 2 2539 3704 -3aaa 5 2540 3704 -3aaf e 2544 3704 -3abd 6 2560 3704 -3ac3 10 2555 3704 -3ad3 2 2556 3704 -3ad5 18 2551 3704 -3aed 2 2552 3704 -3aef 12 2547 3704 -3b01 2 2564 3704 -3b03 a 2442 3704 -3b0d 2 2443 3704 -3b0f a 2438 3704 -3b19 2 2439 3704 -3b1b 5 2445 3704 -3b20 c 2574 3704 -3b2c 14 2577 3704 -3b40 a 2579 3704 -3b4a 18 2586 3704 -3b62 1a 2589 3704 -3b7c 1b 2590 3704 -3b97 5 2591 3704 -3b9c 1a 2594 3704 -3bb6 1b 2595 3704 -3bd1 5 2596 3704 -3bd6 1a 2599 3704 -3bf0 10 2600 3704 -3c00 2 2601 3704 -3c02 7 2604 3704 -3c09 2 2605 3704 -3c0b a 2608 3704 -3c15 2 2609 3704 -3c17 a 2612 3704 -3c21 2 2613 3704 -3c23 a 2616 3704 -3c2d 2 2617 3704 -3c2f a 2620 3704 -3c39 2 2621 3704 -3c3b a 2624 3704 -3c45 7 2634 3704 -3c4c 7 2635 3704 -3c53 7 2637 3704 -3c5a 10 2639 3704 -3c6a 3f 2648 3704 -FUNC 3ca9 b 0 UnDecorator::doUnderScore() -3ca9 b 4259 3704 -FUNC 3cb4 d 0 UnDecorator::doMSKeywords() -3cb4 d 4260 3704 -FUNC 3cc1 e 0 UnDecorator::doPtr64() -3cc1 e 4261 3704 -FUNC 3ccf e 0 UnDecorator::doFunctionReturns() -3ccf e 4262 3704 -FUNC 3cdd e 0 UnDecorator::doAllocationModel() -3cdd e 4263 3704 -FUNC 3ceb e 0 UnDecorator::doAllocationLanguage() -3ceb e 4264 3704 -FUNC 3cf9 12 0 UnDecorator::doThisTypes() -3cf9 12 4271 3704 -FUNC 3d0b e 0 UnDecorator::doAccessSpecifiers() -3d0b e 4272 3704 -FUNC 3d19 e 0 UnDecorator::doThrowTypes() -3d19 e 4273 3704 -FUNC 3d27 e 0 UnDecorator::doMemberTypes() -3d27 e 4274 3704 -FUNC 3d35 b 0 UnDecorator::doNameOnly() -3d35 b 4279 3704 -FUNC 3d40 b 0 UnDecorator::doTypeOnly() -3d40 b 4280 3704 -FUNC 3d4b b 0 UnDecorator::haveTemplateParameters() -3d4b b 4281 3704 -FUNC 3d56 e 0 UnDecorator::doEcsu() -3d56 e 4282 3704 -FUNC 3d64 b 0 UnDecorator::doNoIdentCharCheck() -3d64 b 4283 3704 -FUNC 3d6f e 0 UnDecorator::doEllipsis() -3d6f e 4284 3704 -FUNC 3d7d 19 4 UnDecorator::UScore(Tokens) -3d7d 0 4288 3704 -3d7d 9 4293 3704 -3d86 d 4294 3704 -3d93 2 4296 3704 -3d95 1 4298 3704 -FUNC 3d96 84 8 HeapManager::getMemory(unsigned int,int) -3d96 2 134 3737 -3d98 a 137 3737 -3da2 9 139 3737 -3dab 6 140 3737 -3db1 4 146 3737 -3db5 3 147 3737 -3db8 8 149 3737 -3dc0 7 153 3737 -3dc7 2 154 3737 -3dc9 1c 159 3737 -3de5 4 164 3737 -3de9 7 168 3737 -3df0 2 169 3737 -3df2 2 170 3737 -3df4 3 171 3737 -3df7 8 175 3737 -3dff 2 182 3737 -3e01 4 179 3737 -3e05 5 183 3737 -3e0a d 187 3737 -3e17 3 190 3737 -FUNC 3e1a d 0 DName::DName() -3e1a 2 210 3737 -3e1c 3 211 3737 -3e1f 7 220 3737 -3e26 1 221 3737 -FUNC 3e27 12 4 DName::DName(DNameNode *) -3e27 2 224 3737 -3e29 4 225 3737 -3e2d 9 234 3737 -3e36 3 235 3737 -FUNC 3e39 9c 4 DName::DName(DName const &) -3e39 2 259 3737 -3e3b 17 260 3737 -3e52 10 261 3737 -3e62 d 262 3737 -3e6f d 263 3737 -3e7c 10 264 3737 -3e8c 4 265 3737 -3e90 e 266 3737 -3e9e 13 267 3737 -3eb1 10 268 3737 -3ec1 11 269 3737 -3ed2 3 270 3737 -FUNC 3ed5 a 0 DName::status() -3ed5 a 481 3737 -FUNC 3edf 5 0 DName::clearStatus() -3edf 5 482 3737 -FUNC 3ee4 7 0 DName::setPtrRef() -3ee4 7 484 3737 -FUNC 3eeb a 0 DName::isPtrRef() -3eeb a 485 3737 -FUNC 3ef5 8 0 DName::setIsArray() -3ef5 8 490 3737 -FUNC 3efd a 0 DName::isArray() -3efd a 491 3737 -FUNC 3f07 a 0 DName::isNoTE() -3f07 a 492 3737 -FUNC 3f11 8 0 DName::setIsNoTE() -3f11 8 493 3737 -FUNC 3f19 a 0 DName::isPinPtr() -3f19 a 494 3737 -FUNC 3f23 8 0 DName::setIsPinPtr() -3f23 8 495 3737 -FUNC 3f2b a 0 DName::isComArray() -3f2b a 496 3737 -FUNC 3f35 8 0 DName::setIsComArray() -3f35 8 497 3737 -FUNC 3f3d a 0 DName::isVCallThunk() -3f3d a 498 3737 -FUNC 3f47 8 0 DName::setIsVCallThunk() -3f47 8 499 3737 -FUNC 3f4f 7b 4 DName::operator=(DName const &) -3f4f 3 879 3737 -3f52 12 880 3737 -3f64 17 882 3737 -3f7b d 883 3737 -3f88 d 884 3737 -3f95 d 885 3737 -3fa2 10 886 3737 -3fb2 10 887 3737 -3fc2 5 889 3737 -3fc7 3 897 3737 -FUNC 3fca 9 0 Replicator::isFull() -3fca 9 1001 3737 -FUNC 3fd3 25 4 Replicator::operator[](int) -3fd3 0 1028 3737 -3fd3 9 1029 3737 -3fdc b 1031 3737 -3fe7 6 1034 3737 -3fed 5 1032 3737 -3ff2 3 1030 3737 -3ff5 3 1036 3737 -FUNC 3ff8 d 0 DNameNode::DNameNode() -3ff8 d 1048 3737 -FUNC 4005 4 0 DNameNode::nextNode() -4005 4 1052 3737 -FUNC 4009 29 4 DNameNode::operator+=(DNameNode *) -4009 2 1131 3737 -400b 8 1132 3737 -4013 8 1134 3737 -401b b 1139 3737 -4026 4 1144 3737 -402a 2 1147 3737 -402c 3 1148 3737 -402f 3 1156 3737 -FUNC 4032 16 4 charNode::charNode(char) -4032 16 1166 3737 -FUNC 4048 4 0 charNode::length() -4048 4 1168 3737 -FUNC 404c 4 0 charNode::getLastChar() -404c 4 1170 3737 -FUNC 4050 1b 8 charNode::getString(char *,int) -4050 0 1173 3737 -4050 f 1174 3737 -405f 5 1175 3737 -4064 2 1176 3737 -4066 2 1177 3737 -4068 3 1183 3737 -FUNC 406b 4 0 pcharNode::length() -406b 4 1189 3737 -FUNC 406f 2f 4 pDNameNode::pDNameNode(DName *) -406f 2f 1244 3737 -FUNC 409e 25 4 DNameStatusNode::DNameStatusNode(DNameStatus) -409e 25 1261 3737 -FUNC 40c3 4 0 DNameStatusNode::length() -40c3 4 1263 3737 -FUNC 40c7 d 0 DNameStatusNode::getLastChar() -40c7 d 1266 3737 -FUNC 40d4 e 0 und_strlen -40d4 0 1283 3737 -40d4 6 1286 3737 -40da 7 1287 3737 -40e1 1 1291 3737 -FUNC 40e2 20 8 und_strncpy -40e2 0 1295 3737 -40e2 1b 1296 3737 -40fd 4 1299 3737 -4101 1 1301 3737 -FUNC 4102 25 4 und_strncmp -4102 0 1304 3737 -4102 7 1305 3737 -4109 2 1306 3737 -410b 1 1315 3737 -410c a 1308 3737 -4116 1 1310 3737 -4117 1 1311 3737 -4118 6 1308 3737 -411e 8 1314 3737 -4126 1 1315 3737 -FUNC 4127 33 0 UnDecorator::getDataIndirectType() -4127 33 4033 3704 -FUNC 415a 34 0 UnDecorator::getThisType() -415a 34 4034 3704 -FUNC 418e 13 c operator new(unsigned int,HeapManager &,int) -418e 13 131 3737 -FUNC 41a1 56 4 DName::DName(DName *) -41a1 0 274 3737 -41a1 a 275 3737 -41ab 23 277 3737 -41ce 13 278 3737 -41e1 2 281 3737 -41e3 4 283 3737 -41e7 3 284 3737 -41ea 7 295 3737 -41f1 6 296 3737 -FUNC 41f7 61 4 DName::DName(DNameStatus) -41f7 2 457 3737 -41f9 21 458 3737 -421a 1e 459 3737 -4238 7 467 3737 -423f 9 469 3737 -4248 a 470 3737 -4252 6 472 3737 -FUNC 4258 17 0 DName::isValid() -4258 17 478 3737 -FUNC 426f 15 0 DName::isEmpty() -426f 15 479 3737 -FUNC 4284 14 0 DName::isUDC() -4284 14 486 3737 -FUNC 4298 e 0 DName::setIsUDC() -4298 e 487 3737 -FUNC 42a6 14 0 DName::isUDTThunk() -42a6 14 488 3737 -FUNC 42ba 25 0 DName::length() -42ba 1 502 3737 -42bb 2 503 3737 -42bd a 506 3737 -42c7 4 507 3737 -42cb b 508 3737 -42d6 5 507 3737 -42db 3 510 3737 -42de 1 512 3737 -FUNC 42df 38 0 DName::getLastChar() -42df 2 516 3737 -42e1 2 517 3737 -42e3 9 519 3737 -42ec 6 520 3737 -42f2 a 521 3737 -42fc 2 522 3737 -42fe 7 520 3737 -4305 11 524 3737 -4316 1 526 3737 -FUNC 4317 91 8 DName::getString(char *,int) -4317 7 530 3737 -431e 9 531 3737 -4327 5 535 3737 -432c 7 537 3737 -4333 e 538 3737 -4341 c 544 3737 -434d d 550 3737 -435a 4 553 3737 -435e 8 555 3737 -4366 4 561 3737 -436a 6 565 3737 -4370 2 566 3737 -4372 b 570 3737 -437d 4 574 3737 -4381 2 578 3737 -4383 3 579 3737 -4386 3 586 3737 -4389 4 553 3737 -438d 4 590 3737 -4391 2 593 3737 -4393 6 594 3737 -4399 6 595 3737 -439f 5 599 3737 -43a4 4 601 3737 -FUNC 43a8 35 4 DName::operator|=(DName const &) -43a8 3 832 3737 -43ab 19 835 3737 -43c4 13 836 3737 -43d7 3 840 3737 -43da 3 842 3737 -FUNC 43dd 81 4 DName::operator=(DNameStatus) -43dd 2 928 3737 -43df 10 929 3737 -43ef 12 937 3737 -4401 26 945 3737 -4427 6 947 3737 -442d e 948 3737 -443b 10 933 3737 -444b d 934 3737 -4458 3 954 3737 -445b 3 956 3737 -FUNC 445e 1e 0 Replicator::Replicator() -445e 1e 1004 3737 -FUNC 447c 47 4 Replicator::operator+=(DName const &) -447c 3 1009 3737 -447f 12 1010 3737 -4491 20 1012 3737 -44b1 4 1017 3737 -44b5 8 1018 3737 -44bd 3 1022 3737 -44c0 3 1024 3737 -FUNC 44c3 47 0 DNameNode::clone() -44c3 3 1055 3737 -44c6 43 1056 3737 -4509 1 1057 3737 -FUNC 450a 65 8 pcharNode::pcharNode(char const *,int) -450a 1 1197 3737 -450b 1f 1200 3737 -452a c 1201 3737 -4536 8 1205 3737 -453e c 1207 3737 -454a a 1210 3737 -4554 b 1211 3737 -455f 2 1214 3737 -4561 3 1216 3737 -4564 4 1217 3737 -4568 7 1220 3737 -FUNC 456f 12 0 pcharNode::getLastChar() -456f 12 1191 3737 -FUNC 4581 31 8 pcharNode::getString(char *,int) -4581 0 1224 3737 -4581 b 1227 3737 -458c 2 1228 3737 -458e 21 1232 3737 -45af 3 1234 3737 -FUNC 45b2 f 0 pDNameNode::length() -45b2 f 1246 3737 -FUNC 45c1 f 0 pDNameNode::getLastChar() -45c1 f 1248 3737 -FUNC 45d0 1d 8 pDNameNode::getString(char *,int) -45d0 1d 1251 3737 -FUNC 45ed 33 8 DNameStatusNode::getString(char *,int) -45ed 0 1269 3737 -45ed b 1272 3737 -45f8 2 1273 3737 -45fa 23 1277 3737 -461d 3 1279 3737 -FUNC 4620 73 14 UnDecorator::UnDecorator(char *,char const *,int,char * (*)(long),unsigned long) -4620 16 736 3704 -4636 8 737 3704 -463e 5 738 3704 -4643 9 740 3704 -464c a 741 3704 -4656 5 745 3704 -465b 2 747 3704 -465d 6 748 3704 -4663 6 749 3704 -4669 8 754 3704 -4671 15 755 3704 -4686 d 758 3704 -FUNC 4693 2f 4 UnDecorator::getReturnType(DName *) -4693 3 2906 3704 -4696 8 2907 3704 -469e 15 2911 3704 -46b3 d 2915 3704 -46c0 2 2917 3704 -FUNC 46c2 f 0 UnDecorator::getStorageConvention() -46c2 f 4032 3704 -FUNC 46d1 79 4 DName::operator+=(DNameStatus) -46d1 4 799 3737 -46d5 17 800 3737 -46ec 20 804 3737 -470c 4 807 3737 -4710 7 809 3737 -4717 6 811 3737 -471d 8 812 3737 -4725 2 815 3737 -4727 3 816 3737 -472a 5 818 3737 -472f e 819 3737 -473d 7 801 3737 -4744 3 825 3737 -4747 3 827 3737 -FUNC 474a 68 4 DName::operator=(DName *) -474a 3 901 3737 -474d 12 902 3737 -475f 7 903 3737 -4766 29 911 3737 -478f 6 913 3737 -4795 c 914 3737 -47a1 2 917 3737 -47a3 9 918 3737 -47ac 3 922 3737 -47af 3 924 3737 -FUNC 47b2 a6 8 DName::doPchar(char const *,int) -47b2 3 962 3737 -47b5 1e 963 3737 -47d3 6 964 3737 -47d9 c 965 3737 -47e5 10 966 3737 -47f5 5 970 3737 -47fa 23 984 3737 -481d 6 986 3737 -4823 9 987 3737 -482c 2 988 3737 -482e 1b 977 3737 -4849 c 993 3737 -4855 3 995 3737 -FUNC 4858 26 4 DName::DName(char) -4858 3 238 3737 -485b 3 244 3737 -485e 7 248 3737 -4865 7 252 3737 -486c c 253 3737 -4878 6 255 3737 -FUNC 487e 31 4 DName::DName(char const *) -487e 0 300 3737 -487e 16 312 3737 -4894 15 313 3737 -48a9 6 315 3737 -FUNC 48af d0 8 DName::DName(char const * &,char) -48af 7 319 3737 -48b6 d 329 3737 -48c3 f 333 3737 -48d2 8 334 3737 -48da 9 342 3737 -48e3 40 343 3737 -4923 b 344 3737 -492e 9 355 3737 -4937 8 359 3737 -493f 8 361 3737 -4947 9 363 3737 -4950 3 364 3737 -4953 2 367 3737 -4955 3 347 3737 -4958 a 378 3737 -4962 8 380 3737 -496a 6 368 3737 -4970 7 371 3737 -4977 6 372 3737 -497d 2 375 3737 -FUNC 497f 69 8 DName::DName(unsigned __int64) -497f 15 384 3737 -4994 3 390 3737 -4997 a 398 3737 -49a1 4 402 3737 -49a5 13 406 3737 -49b8 3 407 3737 -49bb c 409 3737 -49c7 e 411 3737 -49d5 13 413 3737 -FUNC 49e8 96 8 DName::DName(__int64) -49e8 10 416 3737 -49f8 26 436 3737 -4a1e 15 438 3737 -4a33 10 443 3737 -4a43 5 444 3737 -4a48 c 446 3737 -4a54 6 448 3737 -4a5a 4 449 3737 -4a5e e 452 3737 -4a6c 12 453 3737 -FUNC 4a7e 2e 4 DName::operator+(DNameStatus) -4a7e 1 675 3737 -4a7f c 676 3737 -4a8b 9 679 3737 -4a94 b 680 3737 -4a9f 2 681 3737 -4aa1 5 682 3737 -4aa6 3 686 3737 -4aa9 3 688 3737 -FUNC 4aac 62 4 DName::operator+=(DName const &) -4aac 2 739 3737 -4aae f 740 3737 -4abd 13 741 3737 -4ad0 2 742 3737 -4ad2 9 743 3737 -4adb 6 744 3737 -4ae1 2 745 3737 -4ae3 7 747 3737 -4aea 6 749 3737 -4af0 9 750 3737 -4af9 2 751 3737 -4afb d 752 3737 -4b08 3 758 3737 -4b0b 3 760 3737 -FUNC 4b0e 8b 4 DName::operator+=(DName *) -4b0e 2 764 3737 -4b10 a 765 3737 -4b1a 9 766 3737 -4b23 8 767 3737 -4b2b 10 768 3737 -4b3b 8 789 3737 -4b43 20 770 3737 -4b63 4 773 3737 -4b67 7 775 3737 -4b6e 6 777 3737 -4b74 8 778 3737 -4b7c 2 781 3737 -4b7e 3 782 3737 -4b81 5 784 3737 -4b86 d 785 3737 -4b93 3 793 3737 -4b96 3 795 3737 -FUNC 4b99 1c 4 DName::operator=(char) -4b99 1 847 3737 -4b9a 15 854 3737 -4baf 3 856 3737 -4bb2 3 858 3737 -FUNC 4bb5 2a 4 DName::operator=(char const *) -4bb5 0 862 3737 -4bb5 24 869 3737 -4bd9 3 873 3737 -4bdc 3 875 3737 -FUNC 4bdf a6 0 UnDecorator::getCallingConvention() -4bdf 5 2825 3704 -4be4 f 2826 3704 -4bf3 c 2828 3704 -4bff 5 2835 3704 -4c04 1a 2845 3704 -4c1e 20 2852 3704 -4c3e 2 2875 3704 -4c40 2 2876 3704 -4c42 2 2871 3704 -4c44 2 2872 3704 -4c46 2 2867 3704 -4c48 2 2868 3704 -4c4a 2 2863 3704 -4c4c 2 2864 3704 -4c4e 1 2859 3704 -4c4f 2 2860 3704 -4c51 13 2855 3704 -4c64 e 2891 3704 -4c72 4 2895 3704 -4c76 d 2899 3704 -4c83 2 2901 3704 -FUNC 4c85 37 0 UnDecorator::getVCallThunkType() -4c85 3 4057 3704 -4c88 9 4059 3704 -4c91 5 4066 3704 -4c96 4 4059 3704 -4c9a 4 4066 3704 -4c9e 6 4061 3704 -4ca4 c 4062 3704 -4cb0 a 4064 3704 -4cba 2 4170 3704 -FUNC 4cbc 51 4 DName::operator+(DName const &) -4cbc 1 639 3737 -4cbd c 640 3737 -4cc9 b 643 3737 -4cd4 b 644 3737 -4cdf d 645 3737 -4cec 11 646 3737 -4cfd 2 647 3737 -4cff 8 648 3737 -4d07 3 652 3737 -4d0a 3 654 3737 -FUNC 4d0d 2e 4 DName::operator+(DName *) -4d0d 1 658 3737 -4d0e c 659 3737 -4d1a 9 662 3737 -4d23 b 663 3737 -4d2e 2 664 3737 -4d30 5 665 3737 -4d35 3 669 3737 -4d38 3 671 3737 -FUNC 4d3b 6a 4 DName::operator+=(char) -4d3b 1 693 3737 -4d3c b 694 3737 -4d47 9 695 3737 -4d50 6 696 3737 -4d56 2 697 3737 -4d58 7 699 3737 -4d5f 6 701 3737 -4d65 2b 702 3737 -4d90 2 703 3737 -4d92 c 704 3737 -4d9e 4 710 3737 -4da2 3 712 3737 -FUNC 4da5 6c 4 DName::operator+=(char const *) -4da5 2 716 3737 -4da7 f 717 3737 -4db6 9 718 3737 -4dbf 6 719 3737 -4dc5 2 720 3737 -4dc7 7 722 3737 -4dce 6 724 3737 -4dd4 28 725 3737 -4dfc 2 726 3737 -4dfe d 727 3737 -4e0b 3 733 3737 -4e0e 3 735 3737 -FUNC 4e11 e0 0 UnDecorator::getArgumentList() -4e11 7 3076 3704 -4e18 12 3078 3704 -4e2a 29 3081 3704 -4e53 6 3085 3704 -4e59 4 3086 3704 -4e5d 2 3087 3704 -4e5f e 3088 3704 -4e6d 6 3093 3704 -4e73 6 3095 3704 -4e79 5 3100 3704 -4e7e 1 3102 3704 -4e7f 11 3106 3704 -4e90 2 3109 3704 -4e92 16 3116 3704 -4ea8 19 3121 3704 -4ec1 9 3122 3704 -4eca 17 3126 3704 -4ee1 b 3132 3704 -4eec 3 3141 3704 -4eef 2 3143 3704 -FUNC 4ef1 4f 4 UnDecorator::getVdispMapType(DName const &) -4ef1 6 4230 3704 -4ef7 d 4231 3704 -4f04 c 4232 3704 -4f10 12 4233 3704 -4f22 9 4234 3704 -4f2b a 4236 3704 -4f35 6 4237 3704 -4f3b 3 4238 3704 -4f3e 2 4239 3704 -FUNC 4f40 22 8 operator+(char,DName const &) -4f40 22 198 3737 -FUNC 4f62 22 8 operator+(DNameStatus,DName const &) -4f62 22 201 3737 -FUNC 4f84 22 8 operator+(char const *,DName const &) -4f84 22 204 3737 -FUNC 4fa6 2e 4 DName::operator+(char) -4fa6 1 605 3737 -4fa7 c 606 3737 -4fb3 9 609 3737 -4fbc b 610 3737 -4fc7 2 611 3737 -4fc9 5 612 3737 -4fce 3 616 3737 -4fd1 3 618 3737 -FUNC 4fd4 2e 4 DName::operator+(char const *) -4fd4 1 622 3737 -4fd5 c 623 3737 -4fe1 9 626 3737 -4fea b 627 3737 -4ff5 2 628 3737 -4ff7 5 629 3737 -4ffc 3 633 3737 -4fff 3 635 3737 -FUNC 5002 141 4 UnDecorator::getDimension(bool) -5002 7 1616 3704 -5009 10 1618 3704 -5019 e 1620 3704 -5027 6 1623 3704 -502d f 1624 3704 -503c 8 1625 3704 -5044 47 1626 3704 -508b 4 1629 3704 -508f 4 1636 3704 -5093 8 1638 3704 -509b 20 1639 3704 -50bb d 1643 3704 -50c8 4 1634 3704 -50cc b 1649 3704 -50d7 2 1650 3704 -50d9 5 1652 3704 -50de 13 1653 3704 -50f1 c 1637 3704 -50fd 4 1641 3704 -5101 a 1653 3704 -510b 36 1655 3704 -5141 2 1659 3704 -FUNC 5143 d4 0 UnDecorator::getEnumType() -5143 6 2762 3704 -5149 1a 2766 3704 -5163 12 2770 3704 -5175 5 2774 3704 -517a 2 2775 3704 -517c 5 2779 3704 -5181 2 2780 3704 -5183 5 2786 3704 -5188 2 2787 3704 -518a d 2791 3704 -5197 1f 2801 3704 -51b6 1e 2807 3704 -51d4 e 2814 3704 -51e2 4 2795 3704 -51e6 d 2818 3704 -51f3 24 2820 3704 -FUNC 5217 c4 0 UnDecorator::getArgumentTypes() -5217 3 3035 3704 -521a 18 3036 3704 -5232 9 3046 3704 -523b 7 3051 3704 -5242 13 3052 3704 -5255 c 3064 3704 -5261 36 3058 3704 -5297 b 3061 3704 -52a2 21 3039 3704 -52c3 16 3042 3704 -52d9 2 3072 3704 -FUNC 52db 7e 0 UnDecorator::getThrowTypes() -52db 3 3148 3704 -52de e 3149 3704 -52ec 2 3150 3704 -52ee 21 3151 3704 -530f 1f 3153 3704 -532e 29 3155 3704 -5357 2 3157 3704 -FUNC 5359 125 c UnDecorator::getExtendedDataIndirectType(char &,bool &,int) -5359 6 3636 3704 -535f 1a 3641 3704 -5379 1c 3643 3704 -5395 a 3669 3704 -539f 6 3670 3704 -53a5 b 3672 3704 -53b0 a 3674 3704 -53ba 21 3675 3704 -53db 17 3678 3704 -53f2 a 3680 3704 -53fc 6 3689 3704 -5402 2 3691 3704 -5404 17 3693 3704 -541b 1e 3700 3704 -5439 6 3663 3704 -543f 2 3665 3704 -5441 3 3656 3704 -5444 d 3657 3704 -5451 2 3659 3704 -5453 6 3647 3704 -5459 13 3649 3704 -546c 10 3703 3704 -547c 2 3704 3704 -FUNC 547e 15f 4 UnDecorator::getArrayType(DName const &) -547e 3 3986 3704 -5481 12 3987 3704 -5493 7 3989 3704 -549a 4 3991 3704 -549e 2 3992 3704 -54a0 4 3994 3704 -54a4 9 3995 3704 -54ad 2a 4026 3704 -54d7 2 4028 3704 -54d9 c 3998 3704 -54e5 9 4000 3704 -54ee d 4001 3704 -54fb 35 4005 3704 -5530 b 4009 3704 -553b 4 4010 3704 -553f 8 4011 3704 -5547 2 4012 3704 -5549 2c 4013 3704 -5575 d 4017 3704 -5582 9 4018 3704 -558b 12 4019 3704 -559d a 4023 3704 -55a7 36 4024 3704 -FUNC 55dd 31 0 UnDecorator::getLexicalFrame() -55dd 31 4031 3704 -FUNC 560e 12 0 UnDecorator::getDisplacement() -560e 12 4048 3704 -FUNC 5620 12 0 UnDecorator::getCallIndex() -5620 12 4049 3704 -FUNC 5632 12 0 UnDecorator::getGuardNumber() -5632 12 4050 3704 -FUNC 5644 150 4 UnDecorator::getVfTableType(DName const &) -5644 7 4174 3704 -564b d 4175 3704 -5658 1d 4178 3704 -5675 2c 4180 3704 -56a1 f 4182 3704 -56b0 e 4184 3704 -56be 5 4186 3704 -56c3 11 4188 3704 -56d4 2d 4190 3704 -5701 b 4194 3704 -570c 7 4195 3704 -5713 10 4199 3704 -5723 a 4200 3704 -572d b 4188 3704 -5738 b 4204 3704 -5743 a 4206 3704 -574d 7 4207 3704 -5754 9 4209 3704 -575d a 4216 3704 -5767 6 4217 3704 -576d 2 4220 3704 -576f 9 4221 3704 -5778 17 4222 3704 -578f 3 4224 3704 -5792 2 4226 3704 -FUNC 5794 a0 8 UnDecorator::getStringEncoding(char *,int) -5794 6 1447 3704 -579a b 1448 3704 -57a5 22 1451 3704 -57c7 6 1456 3704 -57cd b 1459 3704 -57d8 b 1462 3704 -57e3 13 1464 3704 -57f6 c 1466 3704 -5802 5 1469 3704 -5807 6 1470 3704 -580d 4 1471 3704 -5811 14 1477 3704 -5825 d 1452 3704 -5832 2 1478 3704 -FUNC 5834 50 0 UnDecorator::getSignedDimension() -5834 5 1603 3704 -5839 b 1604 3704 -5844 c 1605 3704 -5850 2 1606 3704 -5852 23 1608 3704 -5875 d 1611 3704 -5882 2 1612 3704 -FUNC 5884 2bb 0 UnDecorator::getTemplateConstant() -5884 15 1877 3704 -5899 f 1884 3704 -58a8 32 1885 3704 -58da 9 1921 3704 -58e3 b 1922 3704 -58ee 20 1924 3704 -590e 12 1931 3704 -5920 e 1932 3704 -592e 3 1937 3704 -5931 7 1939 3704 -5938 6 1941 3704 -593e 4 1942 3704 -5942 2 1944 3704 -5944 4 1945 3704 -5948 2a 1950 3704 -5972 a 1900 3704 -597c 6 1902 3704 -5982 11 1903 3704 -5993 1b 1906 3704 -59ae b 1892 3704 -59b9 6 2034 3704 -59bf 7 1954 3704 -59c6 26 1885 3704 -59ec b 1990 3704 -59f7 c 1991 3704 -5a03 10 1992 3704 -5a13 9 1966 3704 -5a1c c 1968 3704 -5a28 e 1971 3704 -5a36 10 1973 3704 -5a46 6 1975 3704 -5a4c 6 1976 3704 -5a52 3 1980 3704 -5a55 29 1981 3704 -5a7e a 1983 3704 -5a88 a 2001 3704 -5a92 a 2003 3704 -5a9c 13 2007 3704 -5aaf a 2008 3704 -5ab9 11 2012 3704 -5aca 13 2015 3704 -5add a 2016 3704 -5ae7 13 2021 3704 -5afa a 2022 3704 -5b04 13 2026 3704 -5b17 d 2029 3704 -5b24 7 1913 3704 -5b2b 14 2041 3704 -FUNC 5b3f d9 8 UnDecorator::getPtrRefDataType(DName const &,int) -5b3f 3 3937 3704 -5b42 11 3940 3704 -5b53 b 3944 3704 -5b5e 12 3948 3704 -5b70 12 3949 3704 -5b82 10 3951 3704 -5b92 5 3957 3704 -5b97 16 3961 3704 -5bad d 3967 3704 -5bba c 3968 3704 -5bc6 b 3970 3704 -5bd1 6 3972 3704 -5bd7 1e 3974 3704 -5bf5 e 3976 3704 -5c03 13 3980 3704 -5c16 2 3982 3704 -FUNC 5c18 14 4 UnDecorator::getVbTableType(DName const &) -5c18 14 4053 3704 -FUNC 5c2c 1b8 0 UnDecorator::getTemplateArgumentList() -5c2c 14 1775 3704 -5c40 c 1777 3704 -5c4c 7 1778 3704 -5c53 2a 1781 3704 -5c7d 6 1785 3704 -5c83 4 1786 3704 -5c87 2 1787 3704 -5c89 e 1788 3704 -5c97 8 1793 3704 -5c9f 5 1798 3704 -5ca4 1 1800 3704 -5ca5 11 1804 3704 -5cb6 5 1807 3704 -5cbb 7 1810 3704 -5cc2 7 1816 3704 -5cc9 6 1817 3704 -5ccf 12 1818 3704 -5ce1 a 1820 3704 -5ceb 5 1821 3704 -5cf0 e 1822 3704 -5cfe 5 1824 3704 -5d03 9 1830 3704 -5d0c c 1832 3704 -5d18 e 1835 3704 -5d26 10 1837 3704 -5d36 6 1839 3704 -5d3c 1 1840 3704 -5d3d 2 1842 3704 -5d3f 25 1843 3704 -5d64 2 1846 3704 -5d66 10 1847 3704 -5d76 2 1850 3704 -5d78 1f 1851 3704 -5d97 17 1857 3704 -5dae 9 1858 3704 -5db7 16 1862 3704 -5dcd 17 1873 3704 -FUNC 5de4 56f 8 UnDecorator::getOperatorName(bool,bool *) -5de4 b 1095 3704 -5def 53 1103 3704 -5e42 13 1183 3704 -5e55 c 1439 3704 -5e61 1d 1440 3704 -5e7e 11 1442 3704 -5e8f 5 1444 3704 -5e94 3 1124 3704 -5e97 8 1126 3704 -5e9f 21 1127 3704 -5ec0 c 1129 3704 -5ecc a 1130 3704 -5ed6 a 1133 3704 -5ee0 7 1135 3704 -5ee7 3 1136 3704 -5eea 9 1144 3704 -5ef3 5 1145 3704 -5ef8 6 1148 3704 -5efe 2 1154 3704 -5f00 15 1156 3704 -5f15 18 1160 3704 -5f2d 1a 1161 3704 -5f47 10 1166 3704 -5f57 b 1167 3704 -5f62 5 1170 3704 -5f67 6 1106 3704 -5f6d f 1108 3704 -5f7c 21 1103 3704 -5f9d 3d 1220 3704 -5fda 18 1240 3704 -5ff2 b 1234 3704 -5ffd 5 1235 3704 -6002 13 1245 3704 -6015 7 1247 3704 -601c 8 1249 3704 -6024 18 1220 3704 -603c 13 1255 3704 -604f 7 1256 3704 -6056 2 1257 3704 -6058 16 1335 3704 -606e 7 1356 3704 -6075 6 1350 3704 -607b 2 1352 3704 -607d 25 1220 3704 -60a2 13 1290 3704 -60b5 17 1291 3704 -60cc 24 1292 3704 -60f0 14 1313 3704 -6104 6 1316 3704 -610a 5 1317 3704 -610f 10 1302 3704 -611f 20 1303 3704 -613f 20 1304 3704 -615f 20 1305 3704 -617f 22 1306 3704 -61a1 12 1307 3704 -61b3 c 1296 3704 -61bf 2b 1297 3704 -61ea 13 1281 3704 -61fd 17 1282 3704 -6214 1a 1283 3704 -622e 5 1284 3704 -6233 2d 1220 3704 -6260 25 1364 3704 -6285 10 1373 3704 -6295 13 1378 3704 -62a8 a 1397 3704 -62b2 13 1399 3704 -62c5 a 1403 3704 -62cf 6 1405 3704 -62d5 2 1408 3704 -62d7 13 1410 3704 -62ea d 1413 3704 -62f7 5 1415 3704 -62fc 10 1278 3704 -630c b 1330 3704 -6317 5 1428 3704 -631c 3 1187 3704 -631f 13 1216 3704 -6332 8 1437 3704 -633a 19 1438 3704 -FUNC 6353 153 4 UnDecorator::getTemplateName(bool) -6353 5 1700 3704 -6358 1f 1704 3704 -6377 16 1714 3704 -638d 1d 1716 3704 -63aa 23 1725 3704 -63cd e 1729 3704 -63db 6 1730 3704 -63e1 12 1732 3704 -63f3 2 1734 3704 -63f5 16 1735 3704 -640b c 1738 3704 -6417 7 1739 3704 -641e 6 1746 3704 -6424 21 1747 3704 -6445 c 1749 3704 -6451 a 1750 3704 -645b a 1753 3704 -6465 6 1755 3704 -646b 6 1756 3704 -6471 23 1769 3704 -6494 d 1705 3704 -64a1 5 1771 3704 -FUNC 64a6 1ea 4 UnDecorator::getZName(bool) -64a6 10 1007 3704 -64b6 11 1008 3704 -64c7 3 1013 3704 -64ca 26 1043 3704 -64f0 b 1024 3704 -64fb 5 1026 3704 -6500 16 1028 3704 -6516 16 1030 3704 -652c 17 1031 3704 -6543 7 1033 3704 -654a 25 1040 3704 -656f 5 1042 3704 -6574 29 1043 3704 -659d 8 1045 3704 -65a5 b 1051 3704 -65b0 c 1053 3704 -65bc e 1056 3704 -65ca 10 1058 3704 -65da 4 1060 3704 -65de b 1061 3704 -65e9 2 1063 3704 -65eb a 1064 3704 -65f5 10 1065 3704 -6605 2 1068 3704 -6607 d 1069 3704 -6614 2a 1070 3704 -663e 2 1073 3704 -6640 1a 1076 3704 -665a 11 1083 3704 -666b 9 1084 3704 -6674 f 1087 3704 -6683 d 1090 3704 -FUNC 6690 e4 0 UnDecorator::getScopedName() -6690 7 2727 3704 -6697 e 2728 3704 -66a5 15 2733 3704 -66ba 1a 2737 3704 -66d4 2a 2738 3704 -66fe b 2742 3704 -6709 8 2743 3704 -6711 4 2744 3704 -6715 1b 2745 3704 -6730 b 2746 3704 -673b 7 2747 3704 -6742 2 2748 3704 -6744 2b 2749 3704 -676f 3 2753 3704 -6772 2 2755 3704 -FUNC 6774 f 0 UnDecorator::getECSUName() -6774 f 2758 3704 -FUNC 6783 100 0 UnDecorator::getECSUDataType() -6783 3 3392 3704 -6786 20 3395 3704 -67a6 37 3399 3704 -67dd 5 3424 3704 -67e2 2 3425 3704 -67e4 5 3420 3704 -67e9 2 3421 3704 -67eb 26 3431 3704 -6811 2 3432 3704 -6813 5 3415 3704 -6818 2 3416 3704 -681a 5 3411 3704 -681f 2 3412 3704 -6821 d 3407 3704 -682e 7 3439 3704 -6835 4 3441 3704 -6839 c 3442 3704 -6845 16 3446 3704 -685b e 3450 3704 -6869 18 3404 3704 -6881 2 3452 3704 -FUNC 6883 46 0 UnDecorator::getSymbolName() -6883 3 989 3704 -6886 a 990 3704 -6890 6 991 3704 -6896 c 992 3704 -68a2 16 997 3704 -68b8 f 1001 3704 -68c7 2 1003 3704 -FUNC 68c9 92 0 UnDecorator::getBasedType() -68c9 6 2653 3704 -68cf 13 2654 3704 -68e2 a 2659 3704 -68ec 17 2661 3704 -6903 c 2707 3704 -690f 13 2699 3704 -6922 2 2700 3704 -6924 d 2674 3704 -6931 2 2711 3704 -6933 a 2712 3704 -693d d 2716 3704 -694a f 2720 3704 -6959 2 2722 3704 -FUNC 695b b42 4 UnDecorator::composeDeclaration(DName const &) -695b 6 2045 3704 -6961 e 2046 3704 -696f 5 2047 3704 -6974 a 2048 3704 -697e b 2053 3704 -6989 f 2054 3704 -6998 8 2055 3704 -69a0 15 2056 3704 -69b5 8 2057 3704 -69bd 10 2058 3704 -69cd 83 2075 3704 -6a50 7 2081 3704 -6a57 19 2082 3704 -6a70 21 2083 3704 -6a91 2 2084 3704 -6a93 15 2085 3704 -6aa8 27 2090 3704 -6acf 33 2092 3704 -6b02 9 2094 3704 -6b0b 9 2096 3704 -6b14 2b 2098 3704 -6b3f d 2101 3704 -6b4c 9 2103 3704 -6b55 2d 2105 3704 -6b82 2e 2107 3704 -6bb0 5 2111 3704 -6bb5 3 2114 3704 -6bb8 3 2115 3704 -6bbb 3 2116 3704 -6bbe 3 2117 3704 -6bc1 3 2118 3704 -6bc4 26 2121 3704 -6bea 12 2123 3704 -6bfc 19 2125 3704 -6c15 19 2126 3704 -6c2e 2 2127 3704 -6c30 12 2129 3704 -6c42 19 2131 3704 -6c5b 1b 2134 3704 -6c76 13 2141 3704 -6c89 a 2142 3704 -6c93 15 2143 3704 -6ca8 2 2144 3704 -6caa f 2145 3704 -6cb9 10 2147 3704 -6cc9 9 2151 3704 -6cd2 22 2152 3704 -6cf4 2 2153 3704 -6cf6 13 2168 3704 -6d09 c 2172 3704 -6d15 14 2173 3704 -6d29 1a 2174 3704 -6d43 2 2175 3704 -6d45 b 2176 3704 -6d50 5 2182 3704 -6d55 6 2185 3704 -6d5b 27 2187 3704 -6d82 b 2189 3704 -6d8d 5 2190 3704 -6d92 1b 2194 3704 -6dad 15 2195 3704 -6dc2 1d 2202 3704 -6ddf 16 2204 3704 -6df5 55 2205 3704 -6e4a 12 2206 3704 -6e5c 2b 2207 3704 -6e87 2 2208 3704 -6e89 d 2209 3704 -6e96 1a 2211 3704 -6eb0 2e 2218 3704 -6ede 12 2222 3704 -6ef0 c 2223 3704 -6efc c 2227 3704 -6f08 15 2228 3704 -6f1d 2 2229 3704 -6f1f f 2230 3704 -6f2e 1a 2235 3704 -6f48 b 2237 3704 -6f53 3 2238 3704 -6f56 5 2243 3704 -6f5b b 2245 3704 -6f66 1c 2250 3704 -6f82 13 2251 3704 -6f95 e 2252 3704 -6fa3 2 2253 3704 -6fa5 10 2254 3704 -6fb5 3d 2255 3704 -6ff2 c 2256 3704 -6ffe e 2257 3704 -700c 4c 2258 3704 -7058 a 2259 3704 -7062 4b 2260 3704 -70ad 7 2261 3704 -70b4 4b 2262 3704 -70ff f 2263 3704 -710e f 2264 3704 -711d 6 2268 3704 -7123 61 2277 3704 -7184 15 2281 3704 -7199 2 2283 3704 -719b 18 2285 3704 -71b3 2d 2292 3704 -71e0 12 2294 3704 -71f2 37 2296 3704 -7229 23 2297 3704 -724c b7 2299 3704 -7303 23 2300 3704 -7326 12 2306 3704 -7338 37 2307 3704 -736f b 2308 3704 -737a 37 2309 3704 -73b1 b 2310 3704 -73bc 30 2311 3704 -73ec 23 2312 3704 -740f 36 2319 3704 -7445 1e 2320 3704 -7463 8 2325 3704 -746b 1e 2326 3704 -7489 12 2329 3704 -749b 2 2331 3704 -FUNC 749d 211 0 UnDecorator::getDecoratedName() -749d 7 861 3704 -74a4 e 864 3704 -74b2 a 868 3704 -74bc b 873 3704 -74c7 8 874 3704 -74cf 11 876 3704 -74e0 10 878 3704 -74f0 6 882 3704 -74f6 9 903 3704 -74ff 9 906 3704 -7508 8 910 3704 -7510 6 912 3704 -7516 5 910 3704 -751b 2 915 3704 -751d a 918 3704 -7527 19 919 3704 -7540 6 920 3704 -7546 f 924 3704 -7555 8 925 3704 -755d 17 929 3704 -7574 a 930 3704 -757e c 932 3704 -758a 8 933 3704 -7592 5 934 3704 -7597 18 935 3704 -75af a 936 3704 -75b9 13 937 3704 -75cc b 938 3704 -75d7 2 940 3704 -75d9 29 941 3704 -7602 4 945 3704 -7606 10 946 3704 -7616 9 948 3704 -761f 3 950 3704 -7622 1c 955 3704 -763e f 959 3704 -764d 4 976 3704 -7651 6 962 3704 -7657 14 964 3704 -766b 19 967 3704 -7684 5 968 3704 -7689 10 971 3704 -7699 2 979 3704 -769b 2 980 3704 -769d f 982 3704 -76ac 2 984 3704 -FUNC 76ae 28b 0 UnDecorator::getScope() -76ae d 1482 3704 -76bb f 1483 3704 -76ca 2a 1489 3704 -76f4 14 1492 3704 -7708 b 1495 3704 -7713 16 1496 3704 -7729 5 1498 3704 -772e 17 1499 3704 -7745 3 1500 3704 -7748 f 1506 3704 -7757 2a 1507 3704 -7781 10 1566 3704 -7791 5 1567 3704 -7796 34 1561 3704 -77ca 4 1562 3704 -77ce 5 1563 3704 -77d3 e 1510 3704 -77e1 5 1514 3704 -77e6 22 1515 3704 -7808 e 1518 3704 -7816 6 1519 3704 -781c 5 1522 3704 -7821 2a 1523 3704 -784b 2 1524 3704 -784d f 1546 3704 -785c 1a 1548 3704 -7876 b 1550 3704 -7881 9 1551 3704 -788a 2 1554 3704 -788c f 1530 3704 -789b 2 1570 3704 -789d 21 1571 3704 -78be a 1489 3704 -78c8 f 1577 3704 -78d7 18 1590 3704 -78ef 2 1591 3704 -78f1 b 1580 3704 -78fc 7 1581 3704 -7903 2 1582 3704 -7905 2b 1583 3704 -7930 4 1597 3704 -7934 5 1599 3704 -FUNC 7939 341 4 UnDecorator::getFunctionIndirectType(DName const &) -7939 3 3461 3704 -793c e 3462 3704 -794a 15 3463 3704 -795f f 3465 3704 -796e 10 3466 3704 -797e 7 3469 3704 -7985 a 3471 3704 -798f 6 3473 3704 -7995 7 3475 3704 -799c d 3477 3704 -79a9 17 3482 3704 -79c0 9 3485 3704 -79c9 3 3486 3704 -79cc 5 3490 3704 -79d1 f 3491 3704 -79e0 6 3496 3704 -79e6 13 3497 3704 -79f9 b 3501 3704 -7a04 1e 3503 3704 -7a22 8 3505 3704 -7a2a 29 3506 3704 -7a53 2 3507 3704 -7a55 17 3508 3704 -7a6c f 3510 3704 -7a7b 4 3511 3704 -7a7f 10 3518 3704 -7a8f 15 3519 3704 -7aa4 9 3527 3704 -7aad d 3528 3704 -7aba 30 3529 3704 -7aea 2 3530 3704 -7aec 11 3521 3704 -7afd 7 3514 3704 -7b04 16 3516 3704 -7b1a 13 3531 3704 -7b2d d 3535 3704 -7b3a 22 3537 3704 -7b5c 2 3546 3704 -7b5e 13 3547 3704 -7b71 c 3551 3704 -7b7d 28 3552 3704 -7ba5 1e 3557 3704 -7bc3 c 3558 3704 -7bcf 2e 3561 3704 -7bfd 10 3563 3704 -7c0d c 3564 3704 -7c19 c 3566 3704 -7c25 15 3567 3704 -7c3a 2 3568 3704 -7c3c f 3569 3704 -7c4b 4 3573 3704 -7c4f b 3574 3704 -7c5a e 3580 3704 -7c68 10 3576 3704 -7c78 2 3581 3704 -FUNC 7c7a 4e4 10 UnDecorator::getDataIndirectType(DName const &,char,DName const &,int) -7c7a 6 3707 3704 -7c80 23 3711 3704 -7ca3 4 3713 3704 -7ca7 17 3715 3704 -7cbe c 3717 3704 -7cca 10 3719 3704 -7cda e 3723 3704 -7ce8 6 3725 3704 -7cee 15 3726 3704 -7d03 17 3732 3704 -7d1a 11 3751 3704 -7d2b a 3752 3704 -7d35 32 3753 3704 -7d67 5 3754 3704 -7d6c 11 3743 3704 -7d7d a 3744 3704 -7d87 25 3745 3704 -7dac 2 3746 3704 -7dae 8 3747 3704 -7db6 2 3749 3704 -7db8 19 3735 3704 -7dd1 a 3736 3704 -7ddb 14 3737 3704 -7def 5 3738 3704 -7df4 11 3739 3704 -7e05 6 3766 3704 -7e0b a 3768 3704 -7e15 17 3770 3704 -7e2c 10 3772 3704 -7e3c 1a 3778 3704 -7e56 5 3780 3704 -7e5b 6 3782 3704 -7e61 9 3787 3704 -7e6a b 3789 3704 -7e75 19 3791 3704 -7e8e c 3793 3704 -7e9a 24 3794 3704 -7ebe c 3796 3704 -7eca 22 3797 3704 -7eec 9 3801 3704 -7ef5 5 3805 3704 -7efa 7 3806 3704 -7f01 6 3810 3704 -7f07 1e 3812 3704 -7f25 8 3814 3704 -7f2d 1b 3815 3704 -7f48 2 3816 3704 -7f4a 16 3817 3704 -7f60 a 3819 3704 -7f6a 13 3828 3704 -7f7d b 3833 3704 -7f88 c 3834 3704 -7f94 8 3835 3704 -7f9c 6 3836 3704 -7fa2 b 3842 3704 -7fad b 3843 3704 -7fb8 3 3863 3704 -7fbb 6 3864 3704 -7fc1 22 3866 3704 -7fe3 9 3871 3704 -7fec 13 3872 3704 -7fff 5 3876 3704 -8004 1e 3877 3704 -8022 5 3879 3704 -8027 1e 3880 3704 -8045 5 3884 3704 -804a e 3885 3704 -8058 14 3889 3704 -806c 28 3895 3704 -8094 2 3890 3704 -8096 b 3891 3704 -80a1 2 3892 3704 -80a3 c 3898 3704 -80af 17 3899 3704 -80c6 4 3902 3704 -80ca 6 3904 3704 -80d0 7 3906 3704 -80d7 8 3774 3704 -80df 13 3918 3704 -80f2 12 3922 3704 -8104 29 3925 3704 -812d 10 3923 3704 -813d c 3928 3704 -8149 3 3929 3704 -814c 10 3931 3704 -815c 2 3933 3704 -FUNC 815e 14c 0 UnDecorator::operator char *() -815e 6 762 3704 -8164 4 763 3704 -8168 f 764 3704 -8177 9 770 3704 -8180 c 772 3704 -818c 7 775 3704 -8193 1d 776 3704 -81b0 4 782 3704 -81b4 16 783 3704 -81ca 9 785 3704 -81d3 5 794 3704 -81d8 9 795 3704 -81e1 13 799 3704 -81f4 e 808 3704 -8202 2 809 3704 -8204 2 848 3704 -8206 1a 810 3704 -8220 e 813 3704 -822e e 811 3704 -823c 9 817 3704 -8245 e 819 3704 -8253 d 820 3704 -8260 a 824 3704 -826a f 825 3704 -8279 5 828 3704 -827e 2 829 3704 -8280 2 830 3704 -8282 5 831 3704 -8287 1 832 3704 -8288 5 833 3704 -828d 1 835 3704 -828e 5 834 3704 -8293 2 838 3704 -8295 a 839 3704 -829f 9 841 3704 -82a8 2 848 3704 -FUNC 82aa 116 c UnDecorator::getPtrRefType(DName const &,DName const &,char) -82aa 5 3585 3704 -82af f 3588 3704 -82be d 3589 3704 -82cb b 3591 3704 -82d6 20 3594 3704 -82f6 b 3595 3704 -8301 b 3597 3704 -830c 9 3598 3704 -8315 14 3600 3704 -8329 14 3606 3704 -833d 1b 3608 3704 -8358 a 3612 3704 -8362 b 3615 3704 -836d c 3617 3704 -8379 9 3618 3704 -8382 c 3620 3704 -838e c 3622 3704 -839a a 3623 3704 -83a4 b 3625 3704 -83af f 3629 3704 -83be 2 3632 3704 -FUNC 83c0 1b 8 UnDecorator::getPointerType(DName const &,DName const &) -83c0 1b 4037 3704 -FUNC 83db 1b 8 UnDecorator::getPointerTypeArray(DName const &,DName const &) -83db 1b 4040 3704 -FUNC 83f6 1b 8 UnDecorator::getReferenceType(DName const &,DName const &) -83f6 1b 4043 3704 -FUNC 8411 a3 18 __unDName -8411 f 604 3704 -8420 9 606 3704 -8429 4 607 3704 -842d a 612 3704 -8437 2 613 3704 -8439 8 614 3704 -8441 3 615 3704 -8444 20 618 3704 -8464 1a 627 3704 -847e e 628 3704 -848c a 633 3704 -8496 c 636 3704 -84a2 3 643 3704 -84a5 6 645 3704 -84ab 9 637 3704 -FUNC 84b4 a3 1c __unDNameEx -84b4 f 684 3704 -84c3 9 687 3704 -84cc 4 688 3704 -84d0 a 693 3704 -84da 2 694 3704 -84dc 8 695 3704 -84e4 3 696 3704 -84e7 20 699 3704 -8507 1a 708 3704 -8521 e 709 3704 -852f a 714 3704 -8539 c 717 3704 -8545 3 724 3704 -8548 6 726 3704 -854e 9 718 3704 -FUNC 8557 387 4 UnDecorator::getBasicDataType(DName const &) -8557 3 3162 3704 -855a 15 3163 3704 -856f 6 3165 3704 -8575 4 3168 3704 -8579 35 3173 3704 -85ae 5 3178 3704 -85b3 5 3179 3704 -85b8 5 3183 3704 -85bd 5 3184 3704 -85c2 5 3188 3704 -85c7 5 3189 3704 -85cc 5 3193 3704 -85d1 5 3194 3704 -85d6 5 3203 3704 -85db 5 3204 3704 -85e0 2a 3173 3704 -860a 3c 3222 3704 -8646 5 3231 3704 -864b 5 3232 3704 -8650 22 3273 3704 -8672 5 3235 3704 -8677 5 3236 3704 -867c f 3222 3704 -868b 5 3243 3704 -8690 5 3244 3704 -8695 5 3239 3704 -869a 5 3240 3704 -869f 5 3247 3704 -86a4 5 3248 3704 -86a9 1b 3222 3704 -86c4 3 3264 3704 -86c7 6 3262 3704 -86cd 10 3264 3704 -86dd 10 3266 3704 -86ed 11 3267 3704 -86fe 5 3275 3704 -8703 2 3276 3704 -8705 5 3255 3704 -870a 2 3257 3704 -870c 3 3224 3704 -870f 12 3343 3704 -8721 9 3345 3704 -872a 7 3347 3704 -8731 16 3348 3704 -8747 6 3352 3704 -874d d 3353 3704 -875a 5 3355 3704 -875f 5 3227 3704 -8764 2 3278 3704 -8766 d 3281 3704 -8773 2 3282 3704 -8775 5 3219 3704 -877a 2 3220 3704 -877c 3 3287 3704 -877f 5 3290 3704 -8784 d 3207 3704 -8791 d 3212 3704 -879e 9 3297 3704 -87a7 1f 3301 3704 -87c6 19 3314 3704 -87df c 3322 3704 -87eb 2 3326 3704 -87ed c 3307 3704 -87f9 2 3308 3704 -87fb 1e 3311 3704 -8819 10 3332 3704 -8829 18 3333 3704 -8841 5 3337 3704 -8846 c 3360 3704 -8852 5 3367 3704 -8857 d 3369 3704 -8864 5 3371 3704 -8869 d 3372 3704 -8876 2 3373 3704 -8878 5 3374 3704 -887d d 3375 3704 -888a 17 3380 3704 -88a1 16 3385 3704 -88b7 27 3387 3704 -FUNC 88de 13e 4 UnDecorator::getPrimaryDataType(DName const &) -88de 7 2962 3704 -88e5 2b 2966 3704 -8910 12 3027 3704 -8922 d 2972 3704 -892f c 2974 3704 -893b a 2975 3704 -8945 b 2981 3704 -8950 6 2984 3704 -8956 1e 2986 3704 -8974 7 2996 3704 -897b 2 2997 3704 -897d 6 2998 3704 -8983 f 3000 3704 -8992 8 3002 3704 -899a 10 3004 3704 -89aa 2f 3022 3704 -89d9 16 3012 3704 -89ef 17 3008 3704 -8a06 14 2969 3704 -8a1a 2 3030 3704 -FUNC 8a1c b1 4 UnDecorator::getDataType(DName *) -8a1c 6 2922 3704 -8a22 b 2923 3704 -8a2d 15 2928 3704 -8a42 10 2954 3704 -8a52 6 2934 3704 -8a58 c 2936 3704 -8a64 f 2937 3704 -8a73 13 2939 3704 -8a86 6 2944 3704 -8a8c 29 2946 3704 -8ab5 2 2947 3704 -8ab7 14 2931 3704 -8acb 2 2957 3704 -FUNC 8acd 64 4 UnDecorator::getExternalDataType(DName const &) -8acd 7 4244 3704 -8ad4 1e 4247 3704 -8af2 9 4248 3704 -8afb 30 4253 3704 -8b2b 4 4255 3704 -8b2f 2 4257 3704 -FUNC 8b31 4f 4 V6_HeapAlloc -8b31 c 27 3455 -8b3d 4 28 3455 -8b41 b 29 3455 -8b4c 8 31 3455 -8b54 4 32 3455 -8b58 a 33 3455 -8b62 c 35 3455 -8b6e 3 39 3455 -8b71 6 40 3455 -8b77 9 36 3455 -FUNC 8b80 75 4 _heap_alloc -8b80 0 90 3455 -8b80 9 95 3455 -8b89 5 96 3455 -8b8e 7 97 3455 -8b95 c 98 3455 -8ba1 a 104 3455 -8bab 18 105 3455 -8bc3 1 129 3455 -8bc4 a 107 3455 -8bce 9 108 3455 -8bd7 2 109 3455 -8bd9 4 121 3455 -8bdd 1 122 3455 -8bde 6 124 3455 -8be4 10 126 3455 -8bf4 1 129 3455 -FUNC 8bf5 c3 4 malloc -8bf5 1 155 3455 -8bf6 16 159 3455 -8c0c 65 163 3455 -8c71 4 168 3455 -8c75 b 172 3455 -8c80 b 179 3455 -8c8b 2 183 3455 -8c8d 7 174 3455 -8c94 8 193 3455 -8c9c 5 195 3455 -8ca1 1 196 3455 -8ca2 7 185 3455 -8ca9 b 186 3455 -8cb4 3 187 3455 -8cb7 1 196 3455 -FUNC 8cb8 3b 4 _get_errno_from_oserr -8cb8 0 119 3915 -8cb8 6 123 3915 -8cbe f 124 3915 -8ccd 8 133 3915 -8cd5 3 134 3915 -8cd8 1 139 3915 -8cd9 7 125 3915 -8ce0 1 139 3915 -8ce1 11 135 3915 -8cf2 1 139 3915 -FUNC 8cf3 13 0 _errno -8cf3 0 280 3915 -8cf3 5 281 3915 -8cf8 4 282 3915 -8cfc 5 283 3915 -8d01 1 288 3915 -8d02 3 285 3915 -8d05 1 288 3915 -FUNC 8d06 13 0 __doserrno -8d06 0 293 3915 -8d06 5 294 3915 -8d0b 4 295 3915 -8d0f 5 296 3915 -8d14 1 300 3915 -8d15 3 298 3915 -8d18 1 300 3915 -FUNC 8d19 1e 4 _dosmaperr -8d19 1 110 3915 -8d1a 9 111 3915 -8d23 13 113 3915 -8d36 1 114 3915 -FUNC 8d37 1b 4 _set_errno -8d37 0 157 3915 -8d37 5 158 3915 -8d3c 4 159 3915 -8d40 3 161 3915 -8d43 1 168 3915 -8d44 b 165 3915 -8d4f 2 166 3915 -8d51 1 168 3915 -FUNC 8d52 2a 4 _get_errno -8d52 1 187 3915 -8d53 1b 189 3915 -8d6e 1 195 3915 -8d6f 9 193 3915 -8d78 3 194 3915 -8d7b 1 195 3915 -FUNC 8d7c 1b 4 _set_doserrno -8d7c 0 213 3915 -8d7c 5 214 3915 -8d81 4 215 3915 -8d85 3 217 3915 -8d88 1 224 3915 -8d89 b 221 3915 -8d94 2 222 3915 -8d96 1 224 3915 -FUNC 8d97 2a 4 _get_doserrno -8d97 1 243 3915 -8d98 1b 245 3915 -8db3 1 251 3915 -8db4 9 249 3915 -8dbd 3 250 3915 -8dc0 1 251 3915 -FUNC 8dc1 21 0 _get_sbh_threshold -8dc1 0 61 3311 -8dc1 9 64 3311 -8dca 2 66 3311 -8dcc 1 81 3311 -8dcd 14 69 3311 -8de1 1 81 3311 -FUNC 8de2 46 4 _set_amblksiz -8de2 0 214 3311 -8de2 2b 216 3311 -8e0d 1 224 3311 -8e0e 11 217 3311 -8e1f 5 220 3311 -8e24 3 223 3311 -8e27 1 224 3311 -FUNC 8e28 3c 4 _get_amblksiz -8e28 0 243 3311 -8e28 27 245 3311 -8e4f 1 253 3311 -8e50 8 246 3311 -8e58 8 249 3311 -8e60 3 252 3311 -8e63 1 253 3311 -FUNC 8e64 48 4 __sbh_heap_init -8e64 0 274 3311 -8e64 1c 275 3311 -8e80 1 285 3311 -8e81 4 278 3311 -8e85 7 280 3311 -8e8c c 281 3311 -8e98 13 284 3311 -8eab 1 285 3311 -FUNC 8eac 2b 4 __sbh_find_block -8eac 0 306 3311 -8eac 12 307 3311 -8ebe 7 316 3311 -8ec5 8 317 3311 -8ecd 3 319 3311 -8ed0 4 314 3311 -8ed4 2 321 3311 -8ed6 1 322 3311 -FUNC 8ed7 314 8 __sbh_free_block -8ed7 6 381 3311 -8edd 7 399 3311 -8ee4 9 402 3311 -8eed 18 407 3311 -8f05 3 408 3311 -8f08 d 412 3311 -8f15 3 416 3311 -8f18 5 417 3311 -8f1d 6 420 3311 -8f23 b 424 3311 -8f2e 4 429 3311 -8f32 5 430 3311 -8f37 3 431 3311 -8f3a 8 434 3311 -8f42 3 439 3311 -8f45 b 441 3311 -8f50 e 442 3311 -8f5e 5 443 3311 -8f63 2 445 3311 -8f65 5 448 3311 -8f6a 11 449 3311 -8f7b 9 450 3311 -8f84 9 455 3311 -8f8d 15 459 3311 -8fa2 6 463 3311 -8fa8 5 464 3311 -8fad 3 465 3311 -8fb0 f 468 3311 -8fbf 3 474 3311 -8fc2 6 477 3311 -8fc8 b 478 3311 -8fd3 2 479 3311 -8fd5 3 483 3311 -8fd8 6 484 3311 -8fde 7 485 3311 -8fe5 2 486 3311 -8fe7 4 489 3311 -8feb b 493 3311 -8ff6 3 498 3311 -8ff9 11 501 3311 -900a 6 502 3311 -9010 5 503 3311 -9015 2 505 3311 -9017 e 508 3311 -9025 6 509 3311 -902b 6 511 3311 -9031 c 516 3311 -903d c 517 3311 -9049 8 520 3311 -9051 e 524 3311 -905f 6 528 3311 -9065 3 529 3311 -9068 6 530 3311 -906e 3 531 3311 -9071 6 532 3311 -9077 8 535 3311 -907f 18 541 3311 -9097 e 542 3311 -90a5 f 543 3311 -90b4 2 545 3311 -90b6 6 547 3311 -90bc 10 548 3311 -90cc 13 550 3311 -90df 5 556 3311 -90e4 4 558 3311 -90e8 b 561 3311 -90f3 d 564 3311 -9100 6 568 3311 -9106 1a 569 3311 -9120 15 573 3311 -9135 16 577 3311 -914b 19 578 3311 -9164 9 579 3311 -916d 6 583 3311 -9173 8 586 3311 -917b 16 589 3311 -9191 25 595 3311 -91b6 14 599 3311 -91ca 4 600 3311 -91ce a 603 3311 -91d8 8 608 3311 -91e0 9 609 3311 -91e9 2 611 3311 -FUNC 91eb b0 0 __sbh_alloc_new_region -91eb 0 891 3311 -91eb 13 897 3311 -91fe 1e 900 3311 -921c 4 901 3311 -9220 12 905 3311 -9232 9 909 3311 -923b 18 913 3311 -9253 2 914 3311 -9255 1a 918 3311 -926f 10 920 3311 -927f 2 921 3311 -9281 9 927 3311 -928a 6 930 3311 -9290 6 933 3311 -9296 4 935 3311 -929a 1 936 3311 -FUNC 929b 106 4 __sbh_alloc_new_group -929b 5 958 3311 -92a0 3 959 3311 -92a3 9 972 3311 -92ac 4 973 3311 -92b0 2 976 3311 -92b2 1 977 3311 -92b3 4 974 3311 -92b7 15 981 3311 -92cc c 986 3311 -92d8 1f 993 3311 -92f7 8 994 3311 -92ff 6 998 3311 -9305 12 1001 3311 -9317 4 1004 3311 -931b 7 1005 3311 -9322 8 1011 3311 -932a 10 1013 3311 -933a 12 1016 3311 -934c 3 1001 3311 -934f 8 1021 3311 -9357 6 1023 3311 -935d 3 1024 3311 -9360 6 1027 3311 -9366 3 1028 3311 -9369 5 1030 3311 -936e a 1031 3311 -9378 9 1032 3311 -9381 b 1033 3311 -938c e 1036 3311 -939a 5 1038 3311 -939f 2 1039 3311 -FUNC 93a1 2df c __sbh_resize_block -93a1 6 1061 3311 -93a7 c 1080 3311 -93b3 b 1083 3311 -93be 3 1084 3311 -93c1 12 1085 3311 -93d3 7 1089 3311 -93da 14 1096 3311 -93ee 13 1099 3311 -9401 7 1105 3311 -9408 8 1106 3311 -9410 6 1107 3311 -9416 8 1110 3311 -941e 3 1115 3311 -9421 9 1117 3311 -942a 11 1118 3311 -943b 5 1119 3311 -9440 2 1121 3311 -9442 5 1124 3311 -9447 14 1125 3311 -945b 6 1126 3311 -9461 9 1131 3311 -946a 9 1132 3311 -9473 12 1135 3311 -9485 a 1141 3311 -948f 9 1142 3311 -9498 3 1143 3311 -949b 9 1147 3311 -94a4 6 1148 3311 -94aa 6 1149 3311 -94b0 3 1150 3311 -94b3 6 1151 3311 -94b9 8 1154 3311 -94c1 18 1160 3311 -94d9 e 1161 3311 -94e7 6 1162 3311 -94ed 2 1164 3311 -94ef 6 1166 3311 -94f5 10 1167 3311 -9505 13 1169 3311 -9518 c 1174 3311 -9524 9 1176 3311 -952d 6 1180 3311 -9533 9 1182 3311 -953c 7 1100 3311 -9543 6 1186 3311 -9549 3 1189 3311 -954c d 1195 3311 -9559 7 1198 3311 -9560 b 1199 3311 -956b 3 1200 3311 -956e a 1203 3311 -9578 7 1208 3311 -957f 5 1209 3311 -9584 3 1210 3311 -9587 8 1213 3311 -958f 3 1218 3311 -9592 b 1221 3311 -959d e 1222 3311 -95ab 5 1223 3311 -95b0 2 1225 3311 -95b2 5 1228 3311 -95b7 11 1229 3311 -95c8 9 1231 3311 -95d1 9 1236 3311 -95da 9 1237 3311 -95e3 9 1240 3311 -95ec 4 1241 3311 -95f0 5 1242 3311 -95f5 3 1243 3311 -95f8 6 1249 3311 -95fe 3 1250 3311 -9601 6 1251 3311 -9607 3 1252 3311 -960a 6 1253 3311 -9610 8 1256 3311 -9618 18 1262 3311 -9630 e 1263 3311 -963e 6 1264 3311 -9644 2 1266 3311 -9646 6 1268 3311 -964c 10 1269 3311 -965c 13 1271 3311 -966f 5 1276 3311 -9674 4 1278 3311 -9678 6 1281 3311 -967e 2 1282 3311 -FUNC 9680 cd 0 __sbh_heapmin -9680 0 1302 3311 -9680 d 1306 3311 -968d 6 1310 3311 -9693 17 1311 3311 -96aa 15 1314 3311 -96bf 16 1318 3311 -96d5 19 1319 3311 -96ee 9 1320 3311 -96f7 f 1325 3311 -9706 11 1328 3311 -9717 28 1333 3311 -973f 6 1334 3311 -9745 7 1338 3311 -974c 1 1340 3311 -FUNC 974d 2e2 0 __sbh_heap_check -974d 3 1361 3311 -9750 12 1391 3311 -9762 8 1393 3311 -976a 16 1398 3311 -9780 3 1401 3311 -9783 8 1402 3311 -978b 6 1406 3311 -9791 9 1407 3311 -979a c 1408 3311 -97a6 3 1409 3311 -97a9 3 1410 3311 -97ac 6 1411 3311 -97b2 4 1418 3311 -97b6 1b 1421 3311 -97d1 9 1424 3311 -97da 9 1428 3311 -97e3 1c 1438 3311 -97ff 2 1445 3311 -9801 7 1446 3311 -9808 1 1449 3311 -9809 c 1452 3311 -9815 3 1456 3311 -9818 2 1458 3311 -981a 6 1462 3311 -9820 5 1463 3311 -9825 3 1464 3311 -9828 9 1465 3311 -9831 1e 1470 3311 -984f c 1475 3311 -985b 2 1479 3311 -985d 4 1481 3311 -9861 6 1484 3311 -9867 10 1488 3311 -9877 e 1492 3311 -9885 2 1498 3311 -9887 4 1502 3311 -988b 20 1505 3311 -98ab 19 1509 3311 -98c4 8 1514 3311 -98cc 3 1518 3311 -98cf 6 1520 3311 -98d5 8 1524 3311 -98dd 4 1527 3311 -98e1 e 1532 3311 -98ef 8 1536 3311 -98f7 6 1541 3311 -98fd 5 1542 3311 -9902 3 1543 3311 -9905 8 1544 3311 -990d c 1549 3311 -9919 11 1554 3311 -992a 6 1559 3311 -9930 3 1561 3311 -9933 e 1563 3311 -9941 3 1564 3311 -9944 2 1566 3311 -9946 8 1568 3311 -994e 3 1569 3311 -9951 1c 1575 3311 -996d c 1580 3311 -9979 10 1585 3311 -9989 17 1591 3311 -99a0 7 1595 3311 -99a7 7 1596 3311 -99ae 16 1597 3311 -99c4 f 1602 3311 -99d3 18 1606 3311 -99eb 5 1608 3311 -99f0 2 1609 3311 -99f2 4 1403 3311 -99f6 4 1425 3311 -99fa 4 1453 3311 -99fe 4 1485 3311 -9a02 4 1471 3311 -9a06 4 1439 3311 -9a0a 4 1493 3311 -9a0e 4 1537 3311 -9a12 4 1545 3311 -9a16 4 1550 3311 -9a1a 4 1510 3311 -9a1e 4 1581 3311 -9a22 4 1576 3311 -9a26 4 1592 3311 -9a2a 5 1603 3311 -FUNC 9a2f a8 4 _set_sbh_threshold -9a2f 1 102 3311 -9a30 a 104 3311 -9a3a 3 106 3311 -9a3d 1 195 3311 -9a3e a 109 3311 -9a48 25 112 3311 -9a6d 5 113 3311 -9a72 4 114 3311 -9a76 2 195 3311 -9a78 6 173 3311 -9a7e 2 175 3311 -9a80 5 179 3311 -9a85 2d 185 3311 -9ab2 6 186 3311 -9ab8 a 187 3311 -9ac2 5 188 3311 -9ac7 b 193 3311 -9ad2 4 194 3311 -9ad6 1 195 3311 -FUNC 9ad7 2e3 4 __sbh_alloc_block -9ad7 6 632 3311 -9add 5 633 3311 -9ae2 15 650 3311 -9af7 5 668 3311 -9afc 7 669 3311 -9b03 5 671 3311 -9b08 4 672 3311 -9b0c 2 674 3311 -9b0e d 677 3311 -9b1b a 682 3311 -9b25 e 686 3311 -9b33 3 688 3311 -9b36 2 683 3311 -9b38 5 688 3311 -9b3d 4 692 3311 -9b41 8 694 3311 -9b49 e 698 3311 -9b57 3 700 3311 -9b5a 2 695 3311 -9b5c 5 700 3311 -9b61 6 705 3311 -9b67 6 709 3311 -9b6d 6 711 3311 -9b73 4 707 3311 -9b77 4 715 3311 -9b7b 8 717 3311 -9b83 6 720 3311 -9b89 3 722 3311 -9b8c 2 718 3311 -9b8e 5 722 3311 -9b93 4 726 3311 -9b97 e 727 3311 -9ba5 7 728 3311 -9bac 12 733 3311 -9bbe 2 734 3311 -9bc0 6 737 3311 -9bc6 3 739 3311 -9bc9 2 740 3311 -9bcb 1c 745 3311 -9be7 4 749 3311 -9beb 14 751 3311 -9bff e 752 3311 -9c0d 3 751 3311 -9c10 12 754 3311 -9c22 a 760 3311 -9c2c d 763 3311 -9c39 2 768 3311 -9c3b 2 767 3311 -9c3d 1 768 3311 -9c3e 4 765 3311 -9c42 7 770 3311 -9c49 5 775 3311 -9c4e 6 776 3311 -9c54 8 777 3311 -9c5c 3 778 3311 -9c5f 8 781 3311 -9c67 8 784 3311 -9c6f 3 788 3311 -9c72 e 791 3311 -9c80 15 792 3311 -9c95 8 793 3311 -9c9d 2 795 3311 -9c9f f 798 3311 -9cae f 799 3311 -9cbd e 800 3311 -9ccb 1c 809 3311 -9ce7 6 813 3311 -9ced 3 814 3311 -9cf0 6 815 3311 -9cf6 3 816 3311 -9cf9 6 817 3311 -9cff 8 820 3311 -9d07 18 826 3311 -9d1f b 827 3311 -9d2a 10 829 3311 -9d3a 2 831 3311 -9d3c 6 833 3311 -9d42 d 835 3311 -9d4f 16 837 3311 -9d65 3 831 3311 -9d68 4 844 3311 -9d6c 2 846 3311 -9d6e 9 848 3311 -9d77 a 853 3311 -9d81 4 855 3311 -9d85 e 858 3311 -9d93 13 862 3311 -9da6 7 863 3311 -9dad 5 866 3311 -9db2 6 868 3311 -9db8 2 869 3311 -FUNC 9dba 39 0 terminate() -9dba c 94 3855 -9dc6 8 107 3855 -9dce 4 111 3855 -9dd2 4 116 3855 -9dd6 2 120 3855 -9dd8 2 121 3855 -9dda 7 122 3855 -9de1 7 127 3855 -9de8 5 135 3855 -9ded 6 136 3855 -FUNC 9df3 13 0 unexpected() -9df3 0 149 3855 -9df3 8 159 3855 -9dfb 4 163 3855 -9dff 2 167 3855 -9e01 5 173 3855 -FUNC 9e06 37 0 _inconsistency() -9e06 c 187 3855 -9e12 c 196 3855 -9e1e 4 197 3855 -9e22 4 202 3855 -9e26 2 203 3855 -9e28 2 204 3855 -9e2a 7 205 3855 -9e31 7 211 3855 -9e38 5 217 3855 -FUNC 9e3d 11 4 _initp_eh_hooks -9e3d 0 74 3855 -9e3d 10 80 3855 -9e4d 1 81 3855 -FUNC 9e4e b9 4 _onexit_nolock -9e4e 5 104 1673 -9e53 b 107 1673 -9e5e 13 108 1673 -9e71 16 112 1673 -9e87 d 122 1673 -9e94 d 127 1673 -9ea1 14 129 1673 -9eb5 3 134 1673 -9eb8 14 136 1673 -9ecc 3 147 1673 -9ecf f 149 1673 -9ede e 156 1673 -9eec c 157 1673 -9ef8 7 159 1673 -9eff 6 114 1673 -9f05 2 160 1673 -FUNC 9f07 2f 0 __onexitinit -9f07 1 205 1673 -9f08 b 208 1673 -9f13 9 209 1673 -9f1c e 211 1673 -9f2a 4 216 1673 -9f2e 1 221 1673 -9f2f 3 218 1673 -9f32 3 220 1673 -9f35 1 221 1673 -FUNC 9f36 3c 4 _onexit -9f36 c 85 1673 -9f42 5 88 1673 -9f47 4 90 1673 -9f4b c 91 1673 -9f57 c 93 1673 -9f63 3 97 1673 -9f66 6 98 1673 -9f6c 6 94 1673 -FUNC 9f72 12 4 atexit -9f72 0 165 1673 -9f72 11 166 1673 -9f83 1 167 1673 -FUNC 9f84 1f 0 _initp_misc_cfltcvt_tab -9f84 2 54 2488 -9f86 8 56 2488 -9f8e 14 58 2488 -9fa2 1 60 2488 -FUNC 9fb0 29 4 _ValidateImageBase -9fb0 0 44 1573 -9fb0 b 50 1573 -9fbb 2 52 1573 -9fbd 1 68 1573 -9fbe 5 55 1573 -9fc3 6 56 1573 -9fc9 2 58 1573 -9fcb d 62 1573 -9fd8 1 68 1573 -FUNC 9fe0 42 8 _FindPESection -9fe0 0 92 1573 -9fe0 9 99 1573 -9fe9 19 108 1573 -a002 10 111 1573 -a012 a 108 1573 -a01c 5 123 1573 -a021 1 124 1573 -FUNC a030 bb 4 _IsNonwritableInCurrentImage -a030 33 149 1573 -a063 7 156 1573 -a06a f 164 1573 -a079 2 166 1573 -a07b 8 174 1573 -a083 e 175 1573 -a091 2 176 1573 -a093 2 178 1573 -a095 12 185 1573 -a0a7 12 195 1573 -a0b9 17 187 1573 -a0d0 9 193 1573 -a0d9 12 195 1573 -FUNC a0eb 19 4 _initp_misc_winsig -a0eb 0 57 1199 -a0eb 9 58 1199 -a0f4 5 59 1199 -a0f9 5 60 1199 -a0fe 5 61 1199 -a103 1 62 1199 -FUNC a104 9b 4 ctrlevent_capture -a104 c 89 1199 -a110 9 94 1199 -a119 3 95 1199 -a11c 5 102 1199 -a121 5 103 1199 -a126 e 104 1199 -a134 7 105 1199 -a13b 2 107 1199 -a13d 5 108 1199 -a142 e 109 1199 -a150 7 110 1199 -a157 1 109 1199 -a158 9 113 1199 -a161 7 117 1199 -a168 c 120 1199 -a174 5 124 1199 -a179 4 128 1199 -a17d 2 120 1199 -a17f 8 121 1199 -a187 6 130 1199 -a18d 7 131 1199 -a194 3 138 1199 -a197 8 139 1199 -FUNC a19f 34 4 siglookup -a19f 0 634 1199 -a19f b 635 1199 -a1aa 15 645 1199 -a1bf f 649 1199 -a1ce 2 653 1199 -a1d0 2 658 1199 -a1d2 1 659 1199 -FUNC a1d3 d 0 __get_sigabrt -a1d3 0 676 1199 -a1d3 c 677 1199 -a1df 1 678 1199 -FUNC a1e0 9 0 __fpecode -a1e0 0 699 1199 -a1e0 8 700 1199 -a1e8 1 701 1199 -FUNC a1e9 9 0 __pxcptinfoptrs -a1e9 0 721 1199 -a1e9 8 722 1199 -a1f1 1 723 1199 -FUNC a1f2 23d 8 signal -a1f2 c 219 1199 -a1fe 4 224 1199 -a202 3 230 1199 -a205 3 244 1199 -a208 12 230 1199 -a21a 2f 244 1199 -a249 13 327 1199 -a25c 7 334 1199 -a263 8 335 1199 -a26b a 342 1199 -a275 17 346 1199 -a28c 10 352 1199 -a29c 13 367 1199 -a2af 3 380 1199 -a2b2 e 382 1199 -a2c0 3 395 1199 -a2c3 17 401 1199 -a2da 5 390 1199 -a2df 5 401 1199 -a2e4 8 246 1199 -a2ec 4 247 1199 -a2f0 12 254 1199 -a302 14 257 1199 -a316 6 259 1199 -a31c 2 261 1199 -a31e f 263 1199 -a32d a 264 1199 -a337 18 268 1199 -a34f f 288 1199 -a35e 4 289 1199 -a362 b 291 1199 -a36d 2 293 1199 -a36f f 279 1199 -a37e 4 280 1199 -a382 b 282 1199 -a38d 2 284 1199 -a38f f 296 1199 -a39e 4 297 1199 -a3a2 b 299 1199 -a3ad 2 301 1199 -a3af f 271 1199 -a3be 4 272 1199 -a3c2 c 274 1199 -a3ce c 305 1199 -a3da 9 309 1199 -a3e3 4 407 1199 -a3e7 3 305 1199 -a3ea 9 306 1199 -a3f3 19 410 1199 -a40c 1a 419 1199 -a426 3 417 1199 -a429 6 423 1199 -FUNC a42f 1b0 4 raise -a42f c 452 1199 -a43b 5 459 1199 -a440 3 460 1199 -a443 1f 462 1199 -a462 a 488 1199 -a46c 4 489 1199 -a470 8 490 1199 -a478 a 465 1199 -a482 2 467 1199 -a484 11 492 1199 -a495 2 493 1199 -a497 f 462 1199 -a4a6 1c 500 1199 -a4c2 a 476 1199 -a4cc 2 478 1199 -a4ce a 470 1199 -a4d8 2 472 1199 -a4da a 481 1199 -a4e4 7 482 1199 -a4eb a 502 1199 -a4f5 2 510 1199 -a4f7 4 509 1199 -a4fb 6 510 1199 -a501 5 515 1199 -a506 7 520 1199 -a50d 5 527 1199 -a512 7 528 1199 -a519 5 530 1199 -a51e f 543 1199 -a52d 6 544 1199 -a533 3 545 1199 -a536 5 551 1199 -a53b 6 552 1199 -a541 7 553 1199 -a548 5 561 1199 -a54d 1c 568 1199 -a569 d 571 1199 -a576 5 568 1199 -a57b 7 574 1199 -a582 c 577 1199 -a58e 5 582 1199 -a593 8 588 1199 -a59b 2 589 1199 -a59d 6 577 1199 -a5a3 6 578 1199 -a5a9 9 579 1199 -a5b2 5 590 1199 -a5b7 f 597 1199 -a5c6 6 598 1199 -a5cc 5 603 1199 -a5d1 6 604 1199 -a5d7 2 607 1199 -a5d9 6 608 1199 -FUNC a5df a 4 _initp_misc_rand_s -a5df 0 58 1489 -a5df 9 59 1489 -a5e8 1 60 1489 -FUNC a5e9 104 4 rand_s -a5e9 3 66 1489 -a5ec b 67 1489 -a5f7 2b 68 1489 -a622 c 71 1489 -a62e d 77 1489 -a63b 4 78 1489 -a63f 1e 80 1489 -a65d e 83 1489 -a66b 4 84 1489 -a66f 2f 86 1489 -a69e 9 88 1489 -a6a7 5 89 1489 -a6ac 16 94 1489 -a6c2 7 103 1489 -a6c9 9 107 1489 -a6d2 b 109 1489 -a6dd 9 110 1489 -a6e6 6 112 1489 -a6ec 1 113 1489 -FUNC a6ed 15a 14 __getlocaleinfo -a6ed 1d 70 1937 -a70a 7 76 1937 -a711 87 109 1937 -a798 13 103 1937 -a7ab 5 114 1937 -a7b0 7 115 1937 -a7b7 3 141 1937 -a7ba 12 142 1937 -a7cc 20 106 1937 -a7ec 5 108 1937 -a7f1 7 109 1937 -a7f8 4 111 1937 -a7fc 5 118 1937 -a801 1a 126 1937 -a81b 2 127 1937 -a81d 2 129 1937 -a81f 10 134 1937 -a82f 16 135 1937 -a845 2 139 1937 -FUNC a847 a 4 _initp_misc_purevirt -a847 0 166 1937 -a847 9 167 1937 -a850 1 168 1937 -FUNC a851 a 4 _initp_misc_initcrit -a851 0 47 2023 -a851 9 48 2023 -a85a 1 49 2023 -FUNC a85b 10 8 __crtInitCritSecNoSpinCount -a85b 0 76 2023 -a85b a 77 2023 -a865 3 78 2023 -a868 3 79 2023 -FUNC a86b c5 8 __crtInitCritSecAndSpinCount -a86b c 109 2023 -a877 5 111 2023 -a87c e 112 2023 -a88a 4 114 2023 -a88e 1b 120 2023 -a8a9 4 121 2023 -a8ad 2 129 2023 -a8af b 130 2023 -a8ba 4 131 2023 -a8be e 134 2023 -a8cc 4 136 2023 -a8d0 5 149 2023 -a8d5 c 152 2023 -a8e1 3 155 2023 -a8e4 b 161 2023 -a8ef 2 162 2023 -a8f1 1a 163 2023 -a90b 9 170 2023 -a914 8 171 2023 -a91c 4 173 2023 -a920 7 174 2023 -a927 3 176 2023 -a92a 6 177 2023 -FUNC a930 a 4 _initp_heap_handler -a930 0 31 3260 -a930 9 32 3260 -a939 1 33 3260 -FUNC a93a 31 4 _set_new_handler(int (*)(unsigned int)) -a93a 1 53 3260 -a93b 7 57 3260 -a942 b 59 3260 -a94d b 60 3260 -a958 f 63 3260 -a967 3 65 3260 -a96a 1 66 3260 -FUNC a96b 9 4 _set_new_handler(int) -a96b 0 86 3260 -a96b 8 89 3260 -a973 1 90 3260 -FUNC a974 d 0 _query_new_handler() -a974 0 110 3260 -a974 c 111 3260 -a980 1 112 3260 -FUNC a981 22 4 _callnewh -a981 0 131 3260 -a981 b 133 3260 -a98c 10 135 3260 -a99c 3 138 3260 -a99f 1 139 3260 -a9a0 2 136 3260 -a9a2 1 139 3260 -FUNC a9a3 1bd c __crtMessageBoxA -a9a3 9 41 2447 -a9ac 5 49 2447 -a9b1 2 56 2447 -a9b3 18 64 2447 -a9cb d 66 2447 -a9d8 2 67 2447 -a9da 6 69 2447 -a9e0 10 76 2447 -a9f0 6 78 2447 -a9f6 6 80 2447 -a9fc 15 83 2447 -aa11 1a 86 2447 -aa2b 1c 88 2447 -aa47 6 89 2447 -aa4d 8 95 2447 -aa55 6 98 2447 -aa5b a 100 2447 -aa65 14 102 2447 -aa79 14 116 2447 -aa8d 6 119 2447 -aa93 d 120 2447 -aaa0 c 122 2447 -aaac 1f 127 2447 -aacb 1b 136 2447 -aae6 6 137 2447 -aaec 7 138 2447 -aaf3 2 139 2447 -aaf5 7 140 2447 -aafc 2 142 2447 -aafe a 144 2447 -ab08 6 146 2447 -ab0e 5 147 2447 -ab13 2 149 2447 -ab15 11 153 2447 -ab26 6 155 2447 -ab2c 5 156 2447 -ab31 8 158 2447 -ab39 b 165 2447 -ab44 5 166 2447 -ab49 10 168 2447 -ab59 5 173 2447 -ab5e 2 176 2447 -FUNC ab60 71 c strcat_s -ab60 0 13 490 -ab60 30 18 490 -ab90 c 19 490 -ab9c 2 21 490 -ab9e 4 23 490 -aba2 1 25 490 -aba3 3 26 490 -aba6 2 29 490 -aba8 2 32 490 -abaa d 35 490 -abb7 4 39 490 -abbb 2 41 490 -abbd e 42 490 -abcb 5 45 490 -abd0 1 46 490 -FUNC abd1 b3 10 strncpy_s -abd1 5 13 406 -abd6 14 17 406 -abea 5 65 406 -abef 2 66 406 -abf1 26 24 406 -ac17 5 25 406 -ac1c 2 28 406 -ac1e 2 29 406 -ac20 b 31 406 -ac2b 8 35 406 -ac33 d 37 406 -ac40 2 41 406 -ac42 12 45 406 -ac54 5 48 406 -ac59 2 50 406 -ac5b 4 54 406 -ac5f 6 56 406 -ac65 3 58 406 -ac68 c 59 406 -ac74 2 61 406 -ac76 e 62 406 -FUNC ac84 46 4 _set_error_mode -ac84 0 43 2351 -ac84 15 50 2351 -ac99 6 58 2351 -ac9f 1 65 2351 -aca0 5 54 2351 -aca5 7 55 2351 -acac 1 65 2351 -acad 1c 61 2351 -acc9 1 65 2351 -FUNC acca a 4 __set_app_type -acca 0 91 2351 -acca 9 96 2351 -acd3 1 97 2351 -FUNC acd4 6 0 __get_app_type -acd4 0 120 2351 -acd4 5 125 2351 -acd9 1 126 2351 -FUNC acda 21 4 wait_a_bit -acda 1 18 3587 -acdb b 19 3587 -ace6 6 20 3587 -acec 8 21 3587 -acf4 3 22 3587 -acf7 3 23 3587 -acfa 1 24 3587 -FUNC acfb 10 4 _set_malloc_crt_max_wait -acfb 0 32 3587 -acfb f 34 3587 -ad0a 1 36 3587 -FUNC ad0b 40 4 _malloc_crt -ad0b 2 39 3587 -ad0d 2 40 3587 -ad0f b 44 3587 -ad1a d 45 3587 -ad27 18 46 3587 -ad3f 7 47 3587 -ad46 4 50 3587 -ad4a 1 51 3587 -FUNC ad4b 48 8 _calloc_crt -ad4b 2 54 3587 -ad4d 2 55 3587 -ad4f 14 61 3587 -ad63 c 62 3587 -ad6f 18 63 3587 -ad87 7 64 3587 -ad8e 4 67 3587 -ad92 1 68 3587 -FUNC ad93 4b 8 _realloc_crt -ad93 2 71 3587 -ad95 2 72 3587 -ad97 f 76 3587 -ada6 14 77 3587 -adba 18 78 3587 -add2 7 79 3587 -add9 4 82 3587 -addd 1 83 3587 -FUNC adde 50 c _recalloc_crt -adde 2 86 3587 -ade0 2 87 3587 -ade2 16 91 3587 -adf8 12 92 3587 -ae0a 18 94 3587 -ae22 7 95 3587 -ae29 4 100 3587 -ae2d 1 101 3587 -FUNC ae2e 8 0 _malloc_crt_fastcall -ae2e 0 105 3587 -ae2e 7 106 3587 -ae35 1 107 3587 -FUNC ae36 a 0 _calloc_crt_fastcall -ae36 0 110 3587 -ae36 9 111 3587 -ae3f 1 112 3587 -FUNC ae40 a 0 _realloc_crt_fastcall -ae40 0 115 3587 -ae40 9 116 3587 -ae49 1 117 3587 -FUNC ae4a e 0 _LocaleUpdate::~_LocaleUpdate() -ae4a 0 282 3057 -ae4a 6 283 3057 -ae50 7 284 3057 -ae57 1 285 3057 -FUNC ae58 3 0 _LocaleUpdate::GetLocaleT() -ae58 2 287 3057 -ae5a 1 289 3057 -FUNC ae5b 2f 0 CPtoLCID -ae5b 0 329 3029 -ae5b 14 330 3029 -ae6f 2 345 3029 -ae71 1 346 3029 -ae72 5 342 3029 -ae77 1 346 3029 -ae78 5 339 3029 -ae7d 1 346 3029 -ae7e 5 336 3029 -ae83 1 346 3029 -ae84 5 333 3029 -ae89 1 346 3029 -FUNC ae8a 55 0 setSBCS -ae8a 4 363 3029 -ae8e 14 368 3029 -aea2 3 371 3029 -aea5 3 374 3029 -aea8 3 376 3029 -aeab 8 379 3029 -aeb3 a 381 3029 -aebd 9 382 3029 -aec6 b 384 3029 -aed1 d 385 3029 -aede 1 386 3029 -FUNC aedf 18a 0 setSBUpLow -aedf 1d 402 3029 -aefc f 412 3029 -af0b d 415 3029 -af18 c 416 3029 -af24 e 420 3029 -af32 3 419 3029 -af35 28 421 3029 -af5d 1d 427 3029 -af7a 23 432 3029 -af9d 25 437 3029 -afc2 2 442 3029 -afc4 a 443 3029 -afce 5 445 3029 -afd3 9 446 3029 -afdc 5 448 3029 -afe1 5 450 3029 -afe6 e 451 3029 -aff4 2 453 3029 -aff6 8 454 3029 -affe 5 442 3029 -b003 8 456 3029 -b00b 2c 472 3029 -b037 5 466 3029 -b03c 5 468 3029 -b041 7 469 3029 -b048 2 471 3029 -b04a 3 472 3029 -b04d 5 460 3029 -b052 17 474 3029 -FUNC b069 a4 0 __updatetmbcinfo -b069 c 496 3029 -b075 7 499 3029 -b07c 10 500 3029 -b08c 3 533 3029 -b08f 4 536 3029 -b093 8 538 3029 -b09b 2 541 3029 -b09d 6 542 3029 -b0a3 8 501 3029 -b0ab 4 503 3029 -b0af e 506 3029 -b0bd 17 512 3029 -b0d4 7 517 3029 -b0db 11 524 3029 -b0ec 7 525 3029 -b0f3 11 528 3029 -b104 9 530 3029 -FUNC b10d 82 4 _LocaleUpdate::_LocaleUpdate(localeinfo_struct *) -b10d 0 261 3057 -b10d f 262 3057 -b11c 8 264 3057 -b124 5 265 3057 -b129 6 266 3057 -b12f 1c 268 3057 -b14b 21 269 3057 -b16c 9 270 3057 -b175 4 272 3057 -b179 4 273 3057 -b17d 2 276 3057 -b17f a 278 3057 -b189 6 280 3057 -FUNC b18f 7a 0 getSystemCP -b18f 7 282 3029 -b196 b 284 3029 -b1a1 b 289 3029 -b1ac a 291 3029 -b1b6 14 292 3029 -b1ca 5 295 3029 -b1cf a 297 3029 -b1d9 8 298 3029 -b1e1 5 302 3029 -b1e6 12 305 3029 -b1f8 f 308 3029 -b207 2 309 3029 -FUNC b209 1d9 8 _setmbcp_nolock -b209 15 686 3029 -b21e b 693 3029 -b229 9 696 3029 -b232 7 698 3029 -b239 7 699 3029 -b240 3 703 3029 -b243 2 705 3029 -b245 19 708 3029 -b25e 2a 743 3029 -b288 13 751 3029 -b29b f 756 3029 -b2aa 15 761 3029 -b2bf 17 764 3029 -b2d6 c 766 3029 -b2e2 f 712 3029 -b2f1 15 715 3029 -b306 9 720 3029 -b30f 8 723 3029 -b317 12 724 3029 -b329 9 723 3029 -b332 5 720 3029 -b337 12 715 3029 -b349 20 731 3029 -b369 d 733 3029 -b376 7 736 3029 -b37d 5 737 3029 -b382 6 767 3029 -b388 10 766 3029 -b398 8 771 3029 -b3a0 7 772 3029 -b3a7 b 775 3029 -b3b2 3 778 3029 -b3b5 2 780 3029 -b3b7 3 782 3029 -b3ba 8 785 3029 -b3c2 2 789 3029 -b3c4 6 794 3029 -b3ca 6 797 3029 -b3d0 3 746 3029 -b3d3 f 802 3029 -FUNC b3e2 3c 0 _getmbcp -b3e2 6 819 3029 -b3e8 a 821 3029 -b3f2 9 822 3029 -b3fb 10 823 3029 -b40b 2 826 3029 -b40d f 825 3029 -b41c 2 826 3029 -FUNC b41e 19a 4 _setmbcp -b41e c 574 3029 -b42a 4 575 3029 -b42e a 579 3029 -b438 5 581 3029 -b43d 3 582 3029 -b440 b 585 3029 -b44b 9 587 3029 -b454 d 593 3029 -b461 8 595 3029 -b469 c 597 3029 -b475 3 607 3029 -b478 16 612 3029 -b48e 1a 614 3029 -b4a8 7 615 3029 -b4af 3 619 3029 -b4b2 9 620 3029 -b4bb 17 622 3029 -b4d2 8 624 3029 -b4da 4 625 3029 -b4de 8 630 3029 -b4e6 8 631 3029 -b4ee 8 632 3029 -b4f6 a 633 3029 -b500 d 634 3029 -b50d 3 633 3029 -b510 c 635 3029 -b51c a 636 3029 -b526 3 635 3029 -b529 c 637 3029 -b535 d 638 3029 -b542 3 637 3029 -b545 1c 640 3029 -b561 7 641 3029 -b568 6 645 3029 -b56e 3 646 3029 -b571 e 648 3029 -b57f 9 650 3029 -b588 2 653 3029 -b58a 5 654 3029 -b58f 8 660 3029 -b597 7 661 3029 -b59e b 662 3029 -b5a9 2 668 3029 -b5ab 4 673 3029 -b5af 3 682 3029 -b5b2 6 683 3029 -FUNC b5b8 1e 0 __initmbctable -b5b8 0 843 3029 -b5b8 9 853 3029 -b5c1 8 854 3029 -b5c9 a 855 3029 -b5d3 2 860 3029 -b5d5 1 861 3029 -FUNC b5d6 51 10 x_ismbbtype_l -b5d6 6 213 3083 -b5dc b 214 3083 -b5e7 4 219 3083 -b5eb 3a 222 3083 -b625 2 223 3083 -FUNC b627 15 8 _ismbbkalnum_l -b627 0 80 3083 -b627 14 81 3083 -b63b 1 82 3083 -FUNC b63c 13 4 _ismbbkalnum -b63c 0 85 3083 -b63c 12 86 3083 -b64e 1 87 3083 -FUNC b64f 15 8 _ismbbkprint_l -b64f 0 90 3083 -b64f 14 91 3083 -b663 1 92 3083 -FUNC b664 13 4 _ismbbkprint -b664 0 95 3083 -b664 12 96 3083 -b676 1 97 3083 -FUNC b677 15 8 _ismbbkpunct_l -b677 0 100 3083 -b677 14 101 3083 -b68b 1 102 3083 -FUNC b68c 13 4 _ismbbkpunct -b68c 0 105 3083 -b68c 12 106 3083 -b69e 1 107 3083 -FUNC b69f 18 8 _ismbbalnum_l -b69f 0 113 3083 -b69f 17 114 3083 -b6b6 1 115 3083 -FUNC b6b7 16 4 _ismbbalnum -b6b7 0 118 3083 -b6b7 15 119 3083 -b6cc 1 120 3083 -FUNC b6cd 18 8 _ismbbalpha_l -b6cd 0 123 3083 -b6cd 17 124 3083 -b6e4 1 125 3083 -FUNC b6e5 16 4 _ismbbalpha -b6e5 0 128 3083 -b6e5 15 129 3083 -b6fa 1 130 3083 -FUNC b6fb 18 8 _ismbbgraph_l -b6fb 0 133 3083 -b6fb 17 134 3083 -b712 1 135 3083 -FUNC b713 16 4 _ismbbgraph -b713 0 138 3083 -b713 15 139 3083 -b728 1 140 3083 -FUNC b729 18 8 _ismbbprint_l -b729 0 143 3083 -b729 17 144 3083 -b740 1 145 3083 -FUNC b741 16 4 _ismbbprint -b741 0 148 3083 -b741 15 149 3083 -b756 1 150 3083 -FUNC b757 15 8 _ismbbpunct_l -b757 0 153 3083 -b757 14 154 3083 -b76b 1 155 3083 -FUNC b76c 13 4 _ismbbpunct -b76c 0 158 3083 -b76c 12 159 3083 -b77e 1 160 3083 -FUNC b77f 15 8 _ismbblead_l -b77f 0 166 3083 -b77f 14 167 3083 -b793 1 168 3083 -FUNC b794 13 4 _ismbblead -b794 0 171 3083 -b794 12 172 3083 -b7a6 1 173 3083 -FUNC b7a7 15 8 _ismbbtrail_l -b7a7 0 176 3083 -b7a7 14 177 3083 -b7bb 1 178 3083 -FUNC b7bc 13 4 _ismbbtrail -b7bc 0 181 3083 -b7bc 12 182 3083 -b7ce 1 183 3083 -FUNC b7cf 53 8 _ismbbkana_l -b7cf 6 189 3083 -b7d5 b 190 3083 -b7e0 10 192 3083 -b7f0 1f 194 3083 -b80f 2 197 3083 -b811 f 196 3083 -b820 2 197 3083 -FUNC b822 e 4 _ismbbkana -b822 0 200 3083 -b822 d 201 3083 -b82f 1 202 3083 -FUNC b830 365 c memcpy -b830 3 101 614 -b833 1 113 614 -b834 1 114 614 -b835 3 116 614 -b838 3 117 614 -b83b 3 119 614 -b83e 2 129 614 -b840 2 131 614 -b842 2 132 614 -b844 2 134 614 -b846 2 135 614 -b848 2 137 614 -b84a 6 138 614 -b850 6 147 614 -b856 2 148 614 -b858 7 150 614 -b85f 2 151 614 -b861 1 153 614 -b862 1 154 614 -b863 3 155 614 -b866 3 156 614 -b869 2 157 614 -b86b 1 158 614 -b86c 1 159 614 -b86d 2 160 614 -b86f 1 163 614 -b870 1 164 614 -b871 1 165 614 -b872 5 166 614 -b877 6 179 614 -b87d 2 180 614 -b87f 3 182 614 -b882 3 183 614 -b885 3 185 614 -b888 2 186 614 -b88a 2 188 614 -b88c 8 190 614 -b894 2 208 614 -b896 5 209 614 -b89b 3 211 614 -b89e 2 212 614 -b8a0 3 214 614 -b8a3 2 215 614 -b8a5 7 217 614 -b8ac 8 221 614 -b8b4 14 225 614 -b8c8 2 232 614 -b8ca 2 233 614 -b8cc 2 235 614 -b8ce 3 236 614 -b8d1 3 238 614 -b8d4 3 239 614 -b8d7 3 241 614 -b8da 3 242 614 -b8dd 3 244 614 -b8e0 3 245 614 -b8e3 3 247 614 -b8e6 2 248 614 -b8e8 2 250 614 -b8ea a 252 614 -b8f4 2 256 614 -b8f6 2 257 614 -b8f8 2 259 614 -b8fa 3 260 614 -b8fd 3 262 614 -b900 3 263 614 -b903 3 265 614 -b906 3 266 614 -b909 3 268 614 -b90c 2 269 614 -b90e 2 271 614 -b910 8 273 614 -b918 2 277 614 -b91a 2 278 614 -b91c 2 280 614 -b91e 3 281 614 -b921 3 283 614 -b924 3 284 614 -b927 3 286 614 -b92a 2 287 614 -b92c 2 289 614 -b92e 2a 291 614 -b958 4 298 614 -b95c 4 300 614 -b960 4 302 614 -b964 4 304 614 -b968 4 306 614 -b96c 4 308 614 -b970 4 310 614 -b974 4 312 614 -b978 4 314 614 -b97c 4 316 614 -b980 4 318 614 -b984 4 320 614 -b988 4 322 614 -b98c 4 324 614 -b990 7 326 614 -b997 2 328 614 -b999 2 329 614 -b99b 19 331 614 -b9b4 3 340 614 -b9b7 1 341 614 -b9b8 1 342 614 -b9b9 3 344 614 -b9bc 2 348 614 -b9be 2 350 614 -b9c0 3 351 614 -b9c3 1 352 614 -b9c4 1 353 614 -b9c5 3 354 614 -b9c8 2 358 614 -b9ca 2 360 614 -b9cc 3 361 614 -b9cf 3 362 614 -b9d2 3 363 614 -b9d5 1 364 614 -b9d6 1 365 614 -b9d7 5 366 614 -b9dc 2 370 614 -b9de 2 372 614 -b9e0 3 373 614 -b9e3 3 374 614 -b9e6 3 375 614 -b9e9 3 376 614 -b9ec 3 377 614 -b9ef 1 378 614 -b9f0 1 379 614 -b9f1 3 380 614 -b9f4 4 391 614 -b9f8 4 392 614 -b9fc 6 397 614 -ba02 2 398 614 -ba04 3 400 614 -ba07 3 401 614 -ba0a 3 403 614 -ba0d 2 404 614 -ba0f 1 406 614 -ba10 2 407 614 -ba12 1 408 614 -ba13 9 410 614 -ba1c 2 414 614 -ba1e a 417 614 -ba28 2 422 614 -ba2a 5 423 614 -ba2f 3 425 614 -ba32 2 426 614 -ba34 3 428 614 -ba37 2 429 614 -ba39 7 431 614 -ba40 14 435 614 -ba54 3 442 614 -ba57 2 443 614 -ba59 3 445 614 -ba5c 3 446 614 -ba5f 3 448 614 -ba62 3 449 614 -ba65 3 451 614 -ba68 2 452 614 -ba6a 1 454 614 -ba6b 2 455 614 -ba6d 1 456 614 -ba6e a 458 614 -ba78 3 462 614 -ba7b 2 463 614 -ba7d 3 465 614 -ba80 3 466 614 -ba83 3 468 614 -ba86 3 469 614 -ba89 3 471 614 -ba8c 3 472 614 -ba8f 3 474 614 -ba92 2 475 614 -ba94 1 477 614 -ba95 2 478 614 -ba97 1 479 614 -ba98 8 481 614 -baa0 3 485 614 -baa3 2 486 614 -baa5 3 488 614 -baa8 3 489 614 -baab 3 491 614 -baae 3 492 614 -bab1 3 494 614 -bab4 3 495 614 -bab7 3 497 614 -baba 3 498 614 -babd 3 500 614 -bac0 6 501 614 -bac6 1 503 614 -bac7 2 504 614 -bac9 1 505 614 -baca 2a 507 614 -baf4 4 516 614 -baf8 4 518 614 -bafc 4 520 614 -bb00 4 522 614 -bb04 4 524 614 -bb08 4 526 614 -bb0c 4 528 614 -bb10 4 530 614 -bb14 4 532 614 -bb18 4 534 614 -bb1c 4 536 614 -bb20 4 538 614 -bb24 4 540 614 -bb28 4 542 614 -bb2c 7 544 614 -bb33 2 546 614 -bb35 2 547 614 -bb37 19 549 614 -bb50 3 558 614 -bb53 1 560 614 -bb54 1 561 614 -bb55 3 562 614 -bb58 3 566 614 -bb5b 3 568 614 -bb5e 3 569 614 -bb61 1 570 614 -bb62 1 571 614 -bb63 5 572 614 -bb68 3 576 614 -bb6b 3 578 614 -bb6e 3 579 614 -bb71 3 580 614 -bb74 3 581 614 -bb77 1 582 614 -bb78 1 583 614 -bb79 3 584 614 -bb7c 3 588 614 -bb7f 3 590 614 -bb82 3 591 614 -bb85 3 592 614 -bb88 3 593 614 -bb8b 3 594 614 -bb8e 3 595 614 -bb91 1 596 614 -bb92 1 597 614 -bb93 2 598 614 -FUNC bb95 6 0 ___setlc_active_func -bb95 0 90 1409 -bb95 5 91 1409 -bb9a 1 92 1409 -FUNC bb9b 6 0 ___unguarded_readlc_active_add_func -bb9b 0 104 1409 -bb9b 5 105 1409 -bba0 1 106 1409 -FUNC bba1 140 4 __freetlocinfo -bba1 3 144 1409 -bba4 26 152 1409 -bbca e 155 1409 -bbd8 6 157 1409 -bbde d 158 1409 -bbeb e 162 1409 -bbf9 6 164 1409 -bbff d 165 1409 -bc0c b 168 1409 -bc17 d 169 1409 -bc24 e 176 1409 -bc32 11 178 1409 -bc43 13 179 1409 -bc56 e 180 1409 -bc64 e 181 1409 -bc72 17 188 1409 -bc89 6 190 1409 -bc8f 9 191 1409 -bc98 6 194 1409 -bc9e 13 197 1409 -bcb1 7 199 1409 -bcb8 10 205 1409 -bcc8 d 207 1409 -bcd5 b 214 1409 -bce0 1 215 1409 -FUNC bce1 86 4 __addlocaleref -bce1 3 225 1409 -bce4 e 227 1409 -bcf2 a 228 1409 -bcfc 3 229 1409 -bcff a 231 1409 -bd09 3 232 1409 -bd0c a 234 1409 -bd16 3 235 1409 -bd19 a 237 1409 -bd23 3 238 1409 -bd26 6 240 1409 -bd2c f 242 1409 -bd3b 3 243 1409 -bd3e d 245 1409 -bd4b 9 246 1409 -bd54 12 248 1409 -bd66 1 249 1409 -FUNC bd67 8c 4 __removelocaleref -bd67 1 259 1409 -bd68 b 261 1409 -bd73 9 263 1409 -bd7c a 265 1409 -bd86 3 266 1409 -bd89 a 268 1409 -bd93 3 269 1409 -bd96 a 271 1409 -bda0 3 272 1409 -bda3 a 274 1409 -bdad 3 275 1409 -bdb0 6 277 1409 -bdb6 f 279 1409 -bdc5 3 280 1409 -bdc8 d 282 1409 -bdd5 9 283 1409 -bdde 11 285 1409 -bdef 3 287 1409 -bdf2 1 288 1409 -FUNC bdf3 24 0 _copytlocinfo_nolock -bdf3 3 302 1409 -bdf6 d 303 1409 -be03 7 304 1409 -be0a 3 305 1409 -be0d 9 306 1409 -be16 1 308 1409 -FUNC be17 3e 0 _updatetlocinfoEx_nolock -be17 0 321 1409 -be17 9 324 1409 -be20 2 326 1409 -be22 4 327 1409 -be26 8 334 1409 -be2e 5 339 1409 -be33 6 341 1409 -be39 e 350 1409 -be47 7 351 1409 -be4e 3 355 1409 -be51 1 356 1409 -be52 2 325 1409 -be54 1 356 1409 -FUNC be55 76 0 __updatetlocinfo -be55 c 382 1409 -be61 7 384 1409 -be68 10 386 1409 -be78 8 397 1409 -be80 4 399 1409 -be84 8 401 1409 -be8c 2 404 1409 -be8e 6 405 1409 -be94 8 387 1409 -be9c 4 388 1409 -bea0 11 390 1409 -beb1 e 392 1409 -bebf 8 394 1409 -bec7 4 395 1409 -FUNC becb 66 4 _configthreadlocale -becb 2 420 1409 -becd 5 434 1409 -bed2 10 435 1409 -bee2 19 437 1409 -befb 1d 456 1409 -bf18 3 444 1409 -bf1b 2 445 1409 -bf1d 6 440 1409 -bf23 2 441 1409 -bf25 7 452 1409 -bf2c 4 460 1409 -bf30 1 462 1409 -FUNC bf31 53 0 sync_legacy_variables_lk -bf31 0 489 1409 -bf31 e 490 1409 -bf3f 9 491 1409 -bf48 c 492 1409 -bf54 c 493 1409 -bf60 c 494 1409 -bf6c c 495 1409 -bf78 b 496 1409 -bf83 1 497 1409 -FUNC bf84 96 4 _free_locale -bf84 c 517 1409 -bf90 9 518 1409 -bf99 1c 522 1409 -bfb5 7 524 1409 -bfbc 4 526 1409 -bfc0 8 534 1409 -bfc8 3 535 1409 -bfcb 8 537 1409 -bfd3 11 540 1409 -bfe4 7 541 1409 -bfeb c 543 1409 -bff7 7 552 1409 -bffe 3 553 1409 -c001 7 554 1409 -c008 6 556 1409 -c00e 3 543 1409 -c011 9 545 1409 -FUNC c01a 5 4 __free_locale -c01a 0 562 1409 -c01a 5 563 1409 -FUNC c01f 88 0 _get_current_locale -c01f c 687 1409 -c02b 7 689 1409 -c032 14 691 1409 -c046 b 693 1409 -c051 4 694 1409 -c055 5 697 1409 -c05a 5 698 1409 -c05f 5 706 1409 -c064 6 707 1409 -c06a 8 708 1409 -c072 4 709 1409 -c076 8 710 1409 -c07e c 712 1409 -c08a 9 715 1409 -c093 2 717 1409 -c095 6 718 1409 -c09b 3 712 1409 -c09e 9 713 1409 -FUNC c0a7 5 0 __get_current_locale -c0a7 0 722 1409 -c0a7 5 723 1409 -FUNC c0ac 3 4 __init_dummy -c0ac 0 1283 1409 -c0ac 2 1284 1409 -c0ae 1 1285 1409 -FUNC c0af 3e c _strcats -c0af 2 1288 1409 -c0b1 f 1294 1409 -c0c0 26 1296 1409 -c0e6 6 1294 1409 -c0ec 1 1299 1409 -FUNC c0ed 129 8 __lc_strtolc -c0ed 6 1302 1409 -c0f3 11 1307 1409 -c104 c 1309 1409 -c110 7 1310 1409 -c117 b 1313 1409 -c122 25 1315 1409 -c147 6 1317 1409 -c14d 2 1318 1409 -c14f 15 1323 1409 -c164 1d 1328 1409 -c181 9 1329 1409 -c18a 10 1331 1409 -c19a c 1332 1409 -c1a6 14 1334 1409 -c1ba 28 1335 1409 -c1e2 9 1340 1409 -c1eb b 1348 1409 -c1f6 18 1350 1409 -c20e 6 1338 1409 -c214 2 1353 1409 -FUNC c216 6b c __lc_lctostr -c216 5 1356 1409 -c21b 25 1357 1409 -c240 7 1358 1409 -c247 16 1359 1409 -c25d c 1360 1409 -c269 16 1361 1409 -c27f 2 1362 1409 -FUNC c281 171 0 _setlocale_get_all -c281 4 1124 1409 -c285 3 1126 1409 -c288 1d 1134 1409 -c2a5 3 1137 1409 -c2a8 3 1139 1409 -c2ab 2 1140 1409 -c2ad 2f 1143 1409 -c2dc 26 1146 1409 -c302 10 1147 1409 -c312 5 1148 1409 -c317 4 1141 1409 -c31b 2f 1143 1409 -c34a a 1144 1409 -c354 8 1152 1409 -c35c 14 1154 1409 -c370 9 1156 1409 -c379 e 1159 1409 -c387 9 1161 1409 -c390 7 1165 1409 -c397 7 1166 1409 -c39e 9 1168 1409 -c3a7 15 1170 1409 -c3bc 9 1172 1409 -c3c5 e 1175 1409 -c3d3 9 1177 1409 -c3dc 12 1183 1409 -c3ee 4 1187 1409 -FUNC c3f2 1d4 18 _expandlocale -c3f2 15 1198 1409 -c407 41 1230 1409 -c448 14 1211 1409 -c45c b 1216 1409 -c467 26 1219 1409 -c48d 4 1220 1409 -c491 3 1222 1409 -c494 4 1223 1409 -c498 4 1224 1409 -c49c 7 1226 1409 -c4a3 2 1228 1409 -c4a5 8 1230 1409 -c4ad 6 1234 1409 -c4b3 2f 1236 1409 -c4e2 4 1241 1409 -c4e6 e 1243 1409 -c4f4 6 1244 1409 -c4fa 10 1246 1409 -c50a 6 1247 1409 -c510 9 1251 1409 -c519 10 1253 1409 -c529 a 1255 1409 -c533 2 1260 1409 -c535 8 1263 1409 -c53d 26 1267 1409 -c563 5 1271 1409 -c568 e 1272 1409 -c576 5 1273 1409 -c57b 10 1274 1409 -c58b 22 1276 1409 -c5ad 5 1277 1409 -c5b2 2 1212 1409 -c5b4 12 1278 1409 -FUNC c5c6 2f6 4 _setlocale_set_cat -c5c6 19 980 1409 -c5df 5 993 1409 -c5e4 2f 998 1409 -c613 7 1000 1409 -c61a 19 1002 1409 -c633 6 1004 1409 -c639 c 1007 1409 -c645 16 1008 1409 -c65b 2 1010 1409 -c65d 3 1013 1409 -c660 d 1014 1409 -c66d 2c 1015 1409 -c699 3 1016 1409 -c69c 39 1019 1409 -c6d5 6 1020 1409 -c6db 15 1021 1409 -c6f0 17 1022 1409 -c707 a 1029 1409 -c711 6 1031 1409 -c717 18 1037 1409 -c72f 7 1039 1409 -c736 8 1053 1409 -c73e 14 1054 1409 -c752 18 1055 1409 -c76a 2 1039 1409 -c76c a 1044 1409 -c776 d 1046 1409 -c783 b 1047 1409 -c78e 9 1058 1409 -c797 26 1066 1409 -c7bd 2 1069 1409 -c7bf 10 1071 1409 -c7cf 22 1072 1409 -c7f1 2 1081 1409 -c7f3 4 1082 1409 -c7f7 5 1083 1409 -c7fc 9 1085 1409 -c805 6 1088 1409 -c80b 9 1089 1409 -c814 12 1091 1409 -c826 6 1094 1409 -c82c e 1095 1409 -c83a f 1096 1409 -c849 9 1097 1409 -c852 5 1099 1409 -c857 24 1106 1409 -c87b 7 1109 1409 -c882 8 1110 1409 -c88a 6 1111 1409 -c890 18 1116 1409 -c8a8 3 1118 1409 -c8ab 11 1119 1409 -FUNC c8bc 1ce 4 _setlocale_nolock -c8bc 1a 873 1409 -c8d6 7 877 1409 -c8dd 5 904 1409 -c8e2 17 880 1409 -c8f9 5 882 1409 -c8fe 12 888 1409 -c910 1d 890 1409 -c92d 2 894 1409 -c92f d 898 1409 -c93c 1e 900 1409 -c95a 11 904 1409 -c96b 1d 907 1409 -c988 e 904 1409 -c996 1b 913 1409 -c9b1 6 916 1409 -c9b7 24 918 1409 -c9db 18 922 1409 -c9f3 3 923 1409 -c9f6 7 925 1409 -c9fd 1 926 1409 -c9fe 9 928 1409 -ca07 c 930 1409 -ca13 4 901 1409 -ca17 19 935 1409 -ca30 3 937 1409 -ca33 4 939 1409 -ca37 11 941 1409 -ca48 c 943 1409 -ca54 2 947 1409 -ca56 3 949 1409 -ca59 2 952 1409 -ca5b 3 953 1409 -ca5e 9 937 1409 -ca67 5 956 1409 -ca6c 2 961 1409 -ca6e 3 962 1409 -ca71 2 965 1409 -ca73 5 966 1409 -ca78 12 972 1409 -FUNC ca8a f3 8 _create_locale -ca8a 0 605 1409 -ca8a 10 609 1409 -ca9a 13 612 1409 -caad b 614 1409 -cab8 4 610 1409 -cabc c 658 1409 -cac8 8 617 1409 -cad0 7 619 1409 -cad7 2 621 1409 -cad9 14 623 1409 -caed 7 625 1409 -caf4 7 626 1409 -cafb 2 628 1409 -cafd c 630 1409 -cb09 14 632 1409 -cb1d 7 634 1409 -cb24 7 635 1409 -cb2b 9 637 1409 -cb34 2 640 1409 -cb36 13 642 1409 -cb49 8 644 1409 -cb51 7 645 1409 -cb58 7 646 1409 -cb5f 9 647 1409 -cb68 2 648 1409 -cb6a 2 650 1409 -cb6c 5 652 1409 -cb71 5 653 1409 -cb76 7 657 1409 -FUNC cb7d 5 8 __create_locale -cb7d 0 665 1409 -cb7d 5 666 1409 -FUNC cb82 170 8 setlocale -cb82 c 791 1409 -cb8e 5 792 1409 -cb93 25 797 1409 -cbb8 a 799 1409 -cbc2 5 801 1409 -cbc7 4 806 1409 -cbcb 3 807 1409 -cbce 1b 808 1409 -cbe9 8 818 1409 -cbf1 7 819 1409 -cbf8 a 820 1409 -cc02 8 822 1409 -cc0a 19 826 1409 -cc23 18 834 1409 -cc3b a 836 1409 -cc45 8 839 1409 -cc4d 7 840 1409 -cc54 a 841 1409 -cc5e 7 842 1409 -cc65 f 846 1409 -cc74 c 847 1409 -cc80 18 849 1409 -cc98 5 850 1409 -cc9d b 852 1409 -cca8 8 822 1409 -ccb0 9 823 1409 -ccb9 3 852 1409 -ccbc 9 853 1409 -ccc5 2 855 1409 -ccc7 6 856 1409 -cccd 8 857 1409 -ccd5 c 860 1409 -cce1 3 865 1409 -cce4 6 866 1409 -ccea 3 860 1409 -cced 5 862 1409 -FUNC ccf2 f 0 __security_check_cookie -ccf2 0 52 2811 -ccf2 6 55 2811 -ccf8 2 56 2811 -ccfa 2 57 2811 -ccfc 5 59 2811 -FUNC cd04 90 0 _local_unwind4 -FUNC cd94 46 0 _unwind_handler4 -FUNC cdda 1c 4 _seh_longjmp_unwind4 -FUNC cdf6 17 0 _EH4_CallFilterFunc -FUNC ce0d 19 0 _EH4_TransferToHandler -FUNC ce26 1a 0 _EH4_GlobalUnwind -FUNC ce40 17 8 _EH4_LocalUnwind -FUNC ce57 8 4 _crt_debugger_hook -ce57 0 62 2380 -ce57 7 65 2380 -ce5e 1 66 2380 -FUNC ce60 7a c memset -ce60 0 59 601 -ce60 4 68 601 -ce64 4 69 601 -ce68 2 71 601 -ce6a 2 72 601 -ce6c 2 74 601 -ce6e 4 75 601 -ce72 2 78 601 -ce74 2 79 601 -ce76 6 80 601 -ce7c 2 81 601 -ce7e 7 82 601 -ce85 2 83 601 -ce87 5 85 601 -ce8c 1 91 601 -ce8d 2 92 601 -ce8f 3 94 601 -ce92 2 95 601 -ce94 2 97 601 -ce96 3 98 601 -ce99 2 99 601 -ce9b 2 101 601 -ce9d 2 103 601 -ce9f 3 104 601 -cea2 3 105 601 -cea5 2 106 601 -cea7 2 110 601 -cea9 3 111 601 -ceac 2 113 601 -ceae 2 115 601 -ceb0 3 117 601 -ceb3 2 119 601 -ceb5 2 122 601 -ceb7 3 123 601 -ceba 3 124 601 -cebd 2 125 601 -cebf 2 127 601 -cec1 2 129 601 -cec3 2 130 601 -cec5 2 134 601 -cec7 3 135 601 -ceca 3 137 601 -cecd 2 138 601 -cecf 4 142 601 -ced3 1 143 601 -ced4 1 145 601 -ced5 4 148 601 -ced9 1 150 601 -FUNC ceda 2a 0 _purecall -ceda 0 43 1533 -ceda b 44 1533 -cee5 5 45 1533 -ceea 2 47 1533 -ceec 7 54 1533 -cef3 c 56 1533 -ceff 5 57 1533 -FUNC cf04 22 4 _set_purecall_handler -cf04 1 82 1533 -cf05 b 85 1533 -cf10 12 86 1533 -cf22 3 88 1533 -cf25 1 89 1533 -FUNC cf26 d 0 _get_purecall_handler -cf26 0 92 1533 -cf26 c 93 1533 -cf32 1 94 1533 -FUNC cf40 95 0 _aulldvrm -cf40 0 45 3161 -cf40 1 47 3161 -cf41 4 79 3161 -cf45 2 80 3161 -cf47 2 81 3161 -cf49 4 82 3161 -cf4d 4 83 3161 -cf51 2 84 3161 -cf53 2 85 3161 -cf55 2 86 3161 -cf57 4 87 3161 -cf5b 2 88 3161 -cf5d 2 89 3161 -cf5f 2 94 3161 -cf61 4 95 3161 -cf65 2 96 3161 -cf67 2 97 3161 -cf69 4 98 3161 -cf6d 2 99 3161 -cf6f 2 100 3161 -cf71 2 107 3161 -cf73 4 108 3161 -cf77 4 109 3161 -cf7b 4 110 3161 -cf7f 2 112 3161 -cf81 2 113 3161 -cf83 2 114 3161 -cf85 2 115 3161 -cf87 2 116 3161 -cf89 2 117 3161 -cf8b 2 118 3161 -cf8d 2 119 3161 -cf8f 4 128 3161 -cf93 2 129 3161 -cf95 4 130 3161 -cf99 2 131 3161 -cf9b 2 132 3161 -cf9d 2 133 3161 -cf9f 4 141 3161 -cfa3 2 142 3161 -cfa5 2 143 3161 -cfa7 4 144 3161 -cfab 2 145 3161 -cfad 1 147 3161 -cfae 4 148 3161 -cfb2 4 149 3161 -cfb6 2 151 3161 -cfb8 4 160 3161 -cfbc 4 161 3161 -cfc0 2 162 3161 -cfc2 2 163 3161 -cfc4 3 164 3161 -cfc7 2 169 3161 -cfc9 2 170 3161 -cfcb 2 171 3161 -cfcd 2 172 3161 -cfcf 2 173 3161 -cfd1 1 179 3161 -cfd2 3 181 3161 -FUNC cfe0 34 0 _allmul -cfe0 0 47 3164 -cfe0 4 62 3164 -cfe4 4 63 3164 -cfe8 2 64 3164 -cfea 4 65 3164 -cfee 2 66 3164 -cff0 4 68 3164 -cff4 2 69 3164 -cff6 3 71 3164 -cff9 1 74 3164 -cffa 2 81 3164 -cffc 2 82 3164 -cffe 4 84 3164 -d002 4 85 3164 -d006 2 86 3164 -d008 4 88 3164 -d00c 2 89 3164 -d00e 2 90 3164 -d010 1 92 3164 -d011 3 94 3164 -FUNC d014 11 4 atol -d014 0 55 4301 -d014 10 56 4301 -d024 1 57 4301 -FUNC d025 15 8 _atol_l -d025 0 64 4301 -d025 14 65 4301 -d039 1 66 4301 -FUNC d03a 5 4 atoi -d03a 0 99 4301 -d03a 5 100 4301 -FUNC d03f 5 8 _atoi_l -d03f 0 107 4301 -d03f 5 108 4301 -FUNC d044 11 4 _atoi64 -d044 0 143 4301 -d044 10 144 4301 -d054 1 145 4301 -FUNC d055 15 8 _atoi64_l -d055 0 151 4301 -d055 14 152 4301 -d069 1 153 4301 -FUNC d070 365 c memmove -d070 3 101 604 -d073 1 113 604 -d074 1 114 604 -d075 3 116 604 -d078 3 117 604 -d07b 3 119 604 -d07e 2 129 604 -d080 2 131 604 -d082 2 132 604 -d084 2 134 604 -d086 2 135 604 -d088 2 137 604 -d08a 6 138 604 -d090 6 147 604 -d096 2 148 604 -d098 7 150 604 -d09f 2 151 604 -d0a1 1 153 604 -d0a2 1 154 604 -d0a3 3 155 604 -d0a6 3 156 604 -d0a9 2 157 604 -d0ab 1 158 604 -d0ac 1 159 604 -d0ad 2 160 604 -d0af 1 163 604 -d0b0 1 164 604 -d0b1 1 165 604 -d0b2 5 166 604 -d0b7 6 179 604 -d0bd 2 180 604 -d0bf 3 182 604 -d0c2 3 183 604 -d0c5 3 185 604 -d0c8 2 186 604 -d0ca 2 188 604 -d0cc 8 190 604 -d0d4 2 208 604 -d0d6 5 209 604 -d0db 3 211 604 -d0de 2 212 604 -d0e0 3 214 604 -d0e3 2 215 604 -d0e5 7 217 604 -d0ec 8 221 604 -d0f4 14 225 604 -d108 2 232 604 -d10a 2 233 604 -d10c 2 235 604 -d10e 3 236 604 -d111 3 238 604 -d114 3 239 604 -d117 3 241 604 -d11a 3 242 604 -d11d 3 244 604 -d120 3 245 604 -d123 3 247 604 -d126 2 248 604 -d128 2 250 604 -d12a a 252 604 -d134 2 256 604 -d136 2 257 604 -d138 2 259 604 -d13a 3 260 604 -d13d 3 262 604 -d140 3 263 604 -d143 3 265 604 -d146 3 266 604 -d149 3 268 604 -d14c 2 269 604 -d14e 2 271 604 -d150 8 273 604 -d158 2 277 604 -d15a 2 278 604 -d15c 2 280 604 -d15e 3 281 604 -d161 3 283 604 -d164 3 284 604 -d167 3 286 604 -d16a 2 287 604 -d16c 2 289 604 -d16e 2a 291 604 -d198 4 298 604 -d19c 4 300 604 -d1a0 4 302 604 -d1a4 4 304 604 -d1a8 4 306 604 -d1ac 4 308 604 -d1b0 4 310 604 -d1b4 4 312 604 -d1b8 4 314 604 -d1bc 4 316 604 -d1c0 4 318 604 -d1c4 4 320 604 -d1c8 4 322 604 -d1cc 4 324 604 -d1d0 7 326 604 -d1d7 2 328 604 -d1d9 2 329 604 -d1db 19 331 604 -d1f4 3 340 604 -d1f7 1 341 604 -d1f8 1 342 604 -d1f9 3 344 604 -d1fc 2 348 604 -d1fe 2 350 604 -d200 3 351 604 -d203 1 352 604 -d204 1 353 604 -d205 3 354 604 -d208 2 358 604 -d20a 2 360 604 -d20c 3 361 604 -d20f 3 362 604 -d212 3 363 604 -d215 1 364 604 -d216 1 365 604 -d217 5 366 604 -d21c 2 370 604 -d21e 2 372 604 -d220 3 373 604 -d223 3 374 604 -d226 3 375 604 -d229 3 376 604 -d22c 3 377 604 -d22f 1 378 604 -d230 1 379 604 -d231 3 380 604 -d234 4 391 604 -d238 4 392 604 -d23c 6 397 604 -d242 2 398 604 -d244 3 400 604 -d247 3 401 604 -d24a 3 403 604 -d24d 2 404 604 -d24f 1 406 604 -d250 2 407 604 -d252 1 408 604 -d253 9 410 604 -d25c 2 414 604 -d25e a 417 604 -d268 2 422 604 -d26a 5 423 604 -d26f 3 425 604 -d272 2 426 604 -d274 3 428 604 -d277 2 429 604 -d279 7 431 604 -d280 14 435 604 -d294 3 442 604 -d297 2 443 604 -d299 3 445 604 -d29c 3 446 604 -d29f 3 448 604 -d2a2 3 449 604 -d2a5 3 451 604 -d2a8 2 452 604 -d2aa 1 454 604 -d2ab 2 455 604 -d2ad 1 456 604 -d2ae a 458 604 -d2b8 3 462 604 -d2bb 2 463 604 -d2bd 3 465 604 -d2c0 3 466 604 -d2c3 3 468 604 -d2c6 3 469 604 -d2c9 3 471 604 -d2cc 3 472 604 -d2cf 3 474 604 -d2d2 2 475 604 -d2d4 1 477 604 -d2d5 2 478 604 -d2d7 1 479 604 -d2d8 8 481 604 -d2e0 3 485 604 -d2e3 2 486 604 -d2e5 3 488 604 -d2e8 3 489 604 -d2eb 3 491 604 -d2ee 3 492 604 -d2f1 3 494 604 -d2f4 3 495 604 -d2f7 3 497 604 -d2fa 3 498 604 -d2fd 3 500 604 -d300 6 501 604 -d306 1 503 604 -d307 2 504 604 -d309 1 505 604 -d30a 2a 507 604 -d334 4 516 604 -d338 4 518 604 -d33c 4 520 604 -d340 4 522 604 -d344 4 524 604 -d348 4 526 604 -d34c 4 528 604 -d350 4 530 604 -d354 4 532 604 -d358 4 534 604 -d35c 4 536 604 -d360 4 538 604 -d364 4 540 604 -d368 4 542 604 -d36c 7 544 604 -d373 2 546 604 -d375 2 547 604 -d377 19 549 604 -d390 3 558 604 -d393 1 560 604 -d394 1 561 604 -d395 3 562 604 -d398 3 566 604 -d39b 3 568 604 -d39e 3 569 604 -d3a1 1 570 604 -d3a2 1 571 604 -d3a3 5 572 604 -d3a8 3 576 604 -d3ab 3 578 604 -d3ae 3 579 604 -d3b1 3 580 604 -d3b4 3 581 604 -d3b7 1 582 604 -d3b8 1 583 604 -d3b9 3 584 604 -d3bc 3 588 604 -d3bf 3 590 604 -d3c2 3 591 604 -d3c5 3 592 604 -d3c8 3 593 604 -d3cb 3 594 604 -d3ce 3 595 604 -d3d1 1 596 604 -d3d2 1 597 604 -d3d3 2 598 604 -FUNC d3d5 f3 0 abort -d3d5 1b 53 2533 -d3f0 a 56 2533 -d3fa 8 59 2533 -d402 5 68 2533 -d407 4 69 2533 -d40b 8 71 2533 -d413 d 78 2533 -d420 6 87 2533 -d426 6 88 2533 -d42c 6 89 2533 -d432 3 90 2533 -d435 3 91 2533 -d438 3 92 2533 -d43b 7 93 2533 -d442 7 94 2533 -d449 4 95 2533 -d44d 4 96 2533 -d451 4 97 2533 -d455 4 98 2533 -d459 1 99 2533 -d45a 6 100 2533 -d460 6 106 2533 -d466 19 107 2533 -d47f 3 109 2533 -d482 13 117 2533 -d495 9 122 2533 -d49e 3 123 2533 -d4a1 15 126 2533 -d4b6 a 128 2533 -d4c0 8 137 2533 -FUNC d4c8 1e 8 _set_abort_behavior -d4c8 0 158 2533 -d4c8 1d 160 2533 -d4e5 1 162 2533 -FUNC d4e6 a3 4 _msize -d4e6 c 43 3413 -d4f2 2d 47 3413 -d51f 9 51 3413 -d528 8 55 3413 -d530 3 56 3413 -d533 e 57 3413 -d541 e 59 3413 -d54f c 61 3413 -d55b 5 64 3413 -d560 10 88 3413 -d570 2 91 3413 -d572 6 93 3413 -d578 8 61 3413 -d580 9 62 3413 -FUNC d589 9 0 _fptrap -d589 0 46 917 -d589 8 47 917 -d591 1 48 917 -FUNC d592 54 8 _isalpha_l -d592 6 57 4214 -d598 b 58 4214 -d5a3 41 60 4214 -d5e4 2 61 4214 -FUNC d5e6 2b 4 isalpha -d5e6 0 66 4214 -d5e6 9 67 4214 -d5ef 13 69 4214 -d602 1 75 4214 -d603 d 73 4214 -d610 1 75 4214 -FUNC d611 4f 8 _isupper_l -d611 6 81 4214 -d617 b 82 4214 -d622 3c 84 4214 -d65e 2 85 4214 -FUNC d660 29 4 isupper -d660 0 90 4214 -d660 9 91 4214 -d669 11 93 4214 -d67a 1 99 4214 -d67b d 97 4214 -d688 1 99 4214 -FUNC d689 4f 8 _islower_l -d689 6 105 4214 -d68f b 106 4214 -d69a 3c 108 4214 -d6d6 2 109 4214 -FUNC d6d8 29 4 islower -d6d8 0 114 4214 -d6d8 9 115 4214 -d6e1 11 117 4214 -d6f2 1 123 4214 -d6f3 d 121 4214 -d700 1 123 4214 -FUNC d701 4f 8 _isdigit_l -d701 6 129 4214 -d707 b 130 4214 -d712 3c 132 4214 -d74e 2 133 4214 -FUNC d750 29 4 isdigit -d750 0 138 4214 -d750 9 139 4214 -d759 11 141 4214 -d76a 1 147 4214 -d76b d 145 4214 -d778 1 147 4214 -FUNC d779 54 8 _isxdigit_l -d779 6 153 4214 -d77f b 154 4214 -d78a 41 156 4214 -d7cb 2 157 4214 -FUNC d7cd 2b 4 isxdigit -d7cd 0 162 4214 -d7cd 9 163 4214 -d7d6 13 165 4214 -d7e9 1 171 4214 -d7ea d 169 4214 -d7f7 1 171 4214 -FUNC d7f8 4f 8 _isspace_l -d7f8 6 177 4214 -d7fe b 178 4214 -d809 3c 180 4214 -d845 2 181 4214 -FUNC d847 29 4 isspace -d847 0 186 4214 -d847 9 187 4214 -d850 11 189 4214 -d861 1 195 4214 -d862 d 193 4214 -d86f 1 195 4214 -FUNC d870 4f 8 _ispunct_l -d870 6 201 4214 -d876 b 202 4214 -d881 3c 204 4214 -d8bd 2 205 4214 -FUNC d8bf 29 4 ispunct -d8bf 0 210 4214 -d8bf 9 211 4214 -d8c8 11 213 4214 -d8d9 1 219 4214 -d8da d 217 4214 -d8e7 1 219 4214 -FUNC d8e8 54 8 _isalnum_l -d8e8 6 225 4214 -d8ee b 226 4214 -d8f9 41 228 4214 -d93a 2 229 4214 -FUNC d93c 2b 4 isalnum -d93c 0 234 4214 -d93c 9 235 4214 -d945 13 237 4214 -d958 1 243 4214 -d959 d 241 4214 -d966 1 243 4214 -FUNC d967 54 8 _isprint_l -d967 6 249 4214 -d96d b 250 4214 -d978 41 252 4214 -d9b9 2 253 4214 -FUNC d9bb 2b 4 isprint -d9bb 0 258 4214 -d9bb 9 259 4214 -d9c4 13 261 4214 -d9d7 1 267 4214 -d9d8 d 265 4214 -d9e5 1 267 4214 -FUNC d9e6 54 8 _isgraph_l -d9e6 6 273 4214 -d9ec b 274 4214 -d9f7 41 276 4214 -da38 2 277 4214 -FUNC da3a 2b 4 isgraph -da3a 0 282 4214 -da3a 9 283 4214 -da43 13 285 4214 -da56 1 291 4214 -da57 d 289 4214 -da64 1 291 4214 -FUNC da65 4f 8 _iscntrl_l -da65 6 297 4214 -da6b b 298 4214 -da76 3c 300 4214 -dab2 2 301 4214 -FUNC dab4 29 4 iscntrl -dab4 0 306 4214 -dab4 9 307 4214 -dabd 11 309 4214 -dace 1 315 4214 -dacf d 313 4214 -dadc 1 315 4214 -FUNC dadd d 4 __isascii -dadd 0 320 4214 -dadd c 321 4214 -dae9 1 322 4214 -FUNC daea 8 4 __toascii -daea 0 327 4214 -daea 7 328 4214 -daf1 1 329 4214 -FUNC daf2 1f 8 _iscsymf_l -daf2 0 335 4214 -daf2 1a 336 4214 -db0c 1 337 4214 -db0d 3 336 4214 -db10 1 337 4214 -FUNC db11 1a 4 __iscsymf -db11 0 341 4214 -db11 15 342 4214 -db26 1 343 4214 -db27 3 342 4214 -db2a 1 343 4214 -FUNC db2b 1f 8 _iscsym_l -db2b 0 349 4214 -db2b 1a 350 4214 -db45 1 351 4214 -db46 3 350 4214 -db49 1 351 4214 -FUNC db4a 1c 4 __iscsym -db4a 0 356 4214 -db4a 17 357 4214 -db61 1 358 4214 -db62 3 357 4214 -db65 1 358 4214 -FUNC db66 12 8 _MarkAllocaS -db66 0 207 1309 -db66 8 208 1309 -db6e 6 210 1309 -db74 3 211 1309 -db77 1 214 1309 -FUNC db78 1b 4 _freea -db78 0 249 1309 -db78 8 251 1309 -db80 3 253 1309 -db83 8 255 1309 -db8b 7 257 1309 -db92 1 266 1309 -FUNC db93 13b 18 __crtGetLocaleInfoW_stat -db93 f 60 1290 -dba2 14 68 1290 -dbb6 d 70 1290 -dbc3 8 71 1290 -dbcb b 73 1290 -dbd6 f 74 1290 -dbe5 5 79 1290 -dbea 13 81 1290 -dbfd 7 86 1290 -dc04 2 140 1290 -dc06 8 96 1290 -dc0e b 97 1290 -dc19 16 100 1290 -dc2f 7 101 1290 -dc36 48 104 1290 -dc7e 2 105 1290 -dc80 2 106 1290 -dc82 e 110 1290 -dc90 7 113 1290 -dc97 2 121 1290 -dc99 2 123 1290 -dc9b 17 130 1290 -dcb2 6 134 1290 -dcb8 4 136 1290 -dcbc 12 141 1290 -FUNC dcce 3b 18 __crtGetLocaleInfoW -dcce 6 151 1290 -dcd4 b 152 1290 -dcdf 28 161 1290 -dd07 2 162 1290 -FUNC dd09 13d 18 __crtGetLocaleInfoA_stat -dd09 f 60 2665 -dd18 17 68 2665 -dd2f a 70 2665 -dd39 8 71 2665 -dd41 b 73 2665 -dd4c f 74 2665 -dd5b 11 79 2665 -dd6c 4 86 2665 -dd70 5 96 2665 -dd75 b 97 2665 -dd80 13 100 2665 -dd93 7 101 2665 -dd9a 49 104 2665 -dde3 2 105 2665 -dde5 2 106 2665 -dde7 10 110 2665 -ddf7 3 114 2665 -ddfa 6 124 2665 -de00 2 126 2665 -de02 15 135 2665 -de17 7 139 2665 -de1e 4 141 2665 -de22 12 81 2665 -de34 12 145 2665 -FUNC de46 3b 18 __crtGetLocaleInfoA -de46 6 155 2665 -de4c b 156 2665 -de57 28 165 2665 -de7f 2 166 2665 -FUNC de81 11e c _calloc_impl -de81 c 23 3622 -de8d 9 28 3622 -de96 2e 30 3622 -dec4 9 32 3622 -decd 4 36 3622 -ded1 3 37 3622 -ded4 5 41 3622 -ded9 5 43 3622 -dede 9 46 3622 -dee7 9 50 3622 -def0 b 52 3622 -defb 8 56 3622 -df03 3 57 3622 -df06 c 58 3622 -df12 c 60 3622 -df1e 7 64 3622 -df25 d 65 3622 -df32 4 93 3622 -df36 11 94 3622 -df47 c 97 3622 -df53 f 109 3622 -df62 b 111 3622 -df6d 6 112 3622 -df73 5 113 3622 -df78 5 60 3622 -df7d 9 61 3622 -df86 4 100 3622 -df8a 7 102 3622 -df91 6 103 3622 -df97 2 105 3622 -df99 6 119 3622 -FUNC df9f 3f 8 calloc -df9f 4 145 3622 -dfa3 5 146 3622 -dfa8 14 147 3622 -dfbc 15 149 3622 -dfd1 8 151 3622 -dfd9 3 153 3622 -dfdc 2 154 3622 -FUNC dfde 21b 8 realloc -dfde c 64 3368 -dfea 7 69 3368 -dff1 e 70 3368 -dfff 7 73 3368 -e006 7 75 3368 -e00d 5 76 3368 -e012 d 81 3368 -e01f 5 88 3368 -e024 9 89 3368 -e02d 8 91 3368 -e035 3 92 3368 -e038 12 96 3368 -e04a 8 100 3368 -e052 f 102 3368 -e061 5 103 3368 -e066 e 104 3368 -e074 4 107 3368 -e078 10 108 3368 -e088 9 110 3368 -e091 a 111 3368 -e09b 5 118 3368 -e0a0 4 120 3368 -e0a4 6 121 3368 -e0aa 9 123 3368 -e0b3 15 124 3368 -e0c8 4 127 3368 -e0cc 10 128 3368 -e0dc c 129 3368 -e0e8 c 135 3368 -e0f4 6 142 3368 -e0fa 4 144 3368 -e0fe 1 145 3368 -e0ff 9 147 3368 -e108 14 148 3368 -e11c 6 135 3368 -e122 9 137 3368 -e12b 3 148 3368 -e12e 10 158 3368 -e13e f 181 3368 -e14d 5 186 3368 -e152 5 183 3368 -e157 11 186 3368 -e168 2 188 3368 -e16a 8 160 3368 -e172 5 170 3368 -e177 3 167 3368 -e17a 2 172 3368 -e17c 6 174 3368 -e182 2 155 3368 -e184 4 321 3368 -e188 1 322 3368 -e189 12 323 3368 -e19b c 332 3368 -e1a7 b 347 3368 -e1b2 5 319 3368 -e1b7 7 327 3368 -e1be b 328 3368 -e1c9 2 329 3368 -e1cb 6 356 3368 -e1d1 5 349 3368 -e1d6 5 350 3368 -e1db 4 334 3368 -e1df 16 341 3368 -e1f5 4 343 3368 -FUNC e1f9 79 c _recalloc -e1f9 3 744 3368 -e1fc a 749 3368 -e206 28 751 3368 -e22e 4 753 3368 -e232 9 754 3368 -e23b b 755 3368 -e246 b 756 3368 -e251 a 757 3368 -e25b 10 759 3368 -e26b 5 761 3368 -e270 2 762 3368 -FUNC e272 1a 4 strncnt -e272 0 48 2617 -e272 6 49 2617 -e278 6 52 2617 -e27e 1 53 2617 -e27f 5 52 2617 -e284 7 55 2617 -e28b 1 56 2617 -FUNC e28c 3a2 20 __crtLCMapStringA_stat -e28c 12 99 2617 -e29e d 108 2617 -e2ab 1b 109 2617 -e2c6 8 110 2617 -e2ce b 111 2617 -e2d9 a 112 2617 -e2e3 5 119 2617 -e2e8 19 120 2617 -e301 5 124 2617 -e306 1 125 2617 -e307 3 127 2617 -e30a 16 133 2617 -e320 9 213 2617 -e329 8 235 2617 -e331 8 236 2617 -e339 27 247 2617 -e360 6 248 2617 -e366 48 251 2617 -e3ae 3 252 2617 -e3b1 6 253 2617 -e3b7 19 262 2617 -e3d0 21 271 2617 -e3f1 8 274 2617 -e3f9 9 277 2617 -e402 9 279 2617 -e40b 12 288 2617 -e41d 5 292 2617 -e422 4b 298 2617 -e46d 4 299 2617 -e471 18 309 2617 -e489 3 312 2617 -e48c 6 322 2617 -e492 2 325 2617 -e494 17 335 2617 -e4ab 7 342 2617 -e4b2 8 344 2617 -e4ba 9 346 2617 -e4c3 b 141 2617 -e4ce 8 142 2617 -e4d6 5 143 2617 -e4db 8 144 2617 -e4e3 11 146 2617 -e4f4 7 147 2617 -e4fb 9 153 2617 -e504 15 155 2617 -e519 5 156 2617 -e51e 2 157 2617 -e520 1b 164 2617 -e53b 7 166 2617 -e542 41 169 2617 -e583 2 170 2617 -e585 28 196 2617 -e5ad 2 183 2617 -e5af 2 184 2617 -e5b1 25 190 2617 -e5d6 7 198 2617 -e5dd 2 199 2617 -e5df 1a 202 2617 -e5f9 5 204 2617 -e5fe 9 205 2617 -e607 c 206 2617 -e613 7 207 2617 -e61a 2 208 2617 -e61c 12 350 2617 -FUNC e62e 43 24 __crtLCMapStringA -e62e 6 363 2617 -e634 b 364 2617 -e63f 30 376 2617 -e66f 2 377 2617 -FUNC e671 1b8 1c __crtGetStringTypeA_stat -e671 f 66 2569 -e680 10 75 2569 -e690 18 79 2569 -e6a8 8 80 2569 -e6b0 b 82 2569 -e6bb f 83 2569 -e6ca 11 88 2569 -e6db 9 120 2569 -e6e4 8 141 2569 -e6ec 8 142 2569 -e6f4 27 153 2569 -e71b 6 154 2569 -e721 3e 157 2569 -e75f 2 158 2569 -e761 2 159 2569 -e763 f 161 2569 -e772 13 169 2569 -e785 11 174 2569 -e796 6 176 2569 -e79c 6 178 2569 -e7a2 2 90 2569 -e7a4 5 94 2569 -e7a9 8 95 2569 -e7b1 5 96 2569 -e7b6 8 97 2569 -e7be e 99 2569 -e7cc 4 100 2569 -e7d0 5 104 2569 -e7d5 17 106 2569 -e7ec 2 107 2569 -e7ee 2 108 2569 -e7f0 3 109 2569 -e7f3 15 112 2569 -e808 6 113 2569 -e80e 7 114 2569 -e815 2 115 2569 -e817 12 182 2569 -FUNC e829 40 20 __crtGetStringTypeA -e829 6 194 2569 -e82f b 195 2569 -e83a 2d 206 2569 -e867 2 207 2569 -FUNC e869 87 c fastcopy_I -FUNC e8f0 e3 c _VEC_memcpy -FUNC e9d3 14 0 _sse2_mathfcns_init -FUNC e9e7 14 4 _set_SSE2_enable -FUNC e9fb 6 0 __pwctype_func -e9fb 0 24 2400 -e9fb 5 25 2400 -ea00 1 26 2400 -FUNC ea01 29 0 __pctype_func -ea01 0 29 2400 -ea01 7 35 2400 -ea08 3 36 2400 -ea0b 18 38 2400 -ea23 6 39 2400 -ea29 1 40 2400 -FUNC ea2a 419 0 _get_lc_time -ea2a 6 94 1793 -ea30 12 104 1793 -ea42 3 105 1793 -ea45 2 170 1793 -ea47 9 108 1793 -ea50 16 112 1793 -ea66 15 113 1793 -ea7b 15 114 1793 -ea90 18 115 1793 -eaa8 15 116 1793 -eabd 13 117 1793 -ead0 14 118 1793 -eae4 18 120 1793 -eafc 15 121 1793 -eb11 15 122 1793 -eb26 15 123 1793 -eb3b 18 124 1793 -eb53 15 125 1793 -eb68 15 126 1793 -eb7d 15 128 1793 -eb92 18 129 1793 -ebaa 15 130 1793 -ebbf 15 131 1793 -ebd4 15 132 1793 -ebe9 18 133 1793 -ec01 15 134 1793 -ec16 15 135 1793 -ec2b 15 136 1793 -ec40 18 137 1793 -ec58 15 138 1793 -ec6d 15 139 1793 -ec82 15 141 1793 -ec97 18 142 1793 -ecaf 15 143 1793 -ecc4 15 144 1793 -ecd9 15 145 1793 -ecee 18 146 1793 -ed06 18 147 1793 -ed1e 18 148 1793 -ed36 18 149 1793 -ed4e 1b 150 1793 -ed69 18 151 1793 -ed81 18 152 1793 -ed99 18 154 1793 -edb1 1b 155 1793 -edcc 18 160 1793 -ede4 18 161 1793 -edfc 1b 163 1793 -ee17 20 165 1793 -ee37 a 169 1793 -ee41 2 170 1793 -FUNC ee43 190 4 __free_lc_time -ee43 1 179 1793 -ee44 c 180 1793 -ee50 8 183 1793 -ee58 8 184 1793 -ee60 8 185 1793 -ee68 8 186 1793 -ee70 8 187 1793 -ee78 8 188 1793 -ee80 7 189 1793 -ee87 8 191 1793 -ee8f 8 192 1793 -ee97 8 193 1793 -ee9f 8 194 1793 -eea7 8 195 1793 -eeaf 8 196 1793 -eeb7 8 197 1793 -eebf 8 199 1793 -eec7 b 200 1793 -eed2 8 201 1793 -eeda 8 202 1793 -eee2 8 203 1793 -eeea 8 204 1793 -eef2 8 205 1793 -eefa 8 206 1793 -ef02 8 207 1793 -ef0a 8 208 1793 -ef12 8 209 1793 -ef1a 8 210 1793 -ef22 8 212 1793 -ef2a 8 213 1793 -ef32 8 214 1793 -ef3a 8 215 1793 -ef42 8 216 1793 -ef4a b 217 1793 -ef55 b 218 1793 -ef60 b 219 1793 -ef6b b 220 1793 -ef76 b 221 1793 -ef81 b 222 1793 -ef8c b 223 1793 -ef97 b 225 1793 -efa2 b 226 1793 -efad b 228 1793 -efb8 b 229 1793 -efc3 f 230 1793 -efd2 1 232 1793 -FUNC efd3 73 4 __init_time -efd3 4 56 1793 -efd7 f 60 1793 -efe6 16 64 1793 -effc 4 65 1793 -f000 b 67 1793 -f00b 6 69 1793 -f011 8 70 1793 -f019 2 71 1793 -f01b 6 73 1793 -f021 2 74 1793 -f023 2 75 1793 -f025 18 78 1793 -f03d 2 82 1793 -f03f 6 83 1793 -f045 1 84 1793 -FUNC f046 33 0 fix_grouping -f046 0 32 1841 -f046 8 40 1841 -f04e a 43 1841 -f058 4 45 1841 -f05c 1 61 1841 -f05d 6 40 1841 -f063 1 63 1841 -f064 4 50 1841 -f068 2 52 1841 -f06a 7 55 1841 -f071 6 56 1841 -f077 2 60 1841 -FUNC f079 40 4 __free_lconv_num -f079 1 211 1841 -f07a 8 212 1841 -f082 a 215 1841 -f08c 7 216 1841 -f093 b 218 1841 -f09e 7 219 1841 -f0a5 b 221 1841 -f0b0 8 222 1841 -f0b8 1 223 1841 -FUNC f0b9 1c8 4 __init_numeric -f0b9 7 84 1841 -f0c0 4 92 1841 -f0c4 2 93 1841 -f0c6 11 96 1841 -f0d7 3 177 1841 -f0da 3 178 1841 -f0dd c 179 1841 -f0e9 14 102 1841 -f0fd 8 103 1841 -f105 9 108 1841 -f10e 13 113 1841 -f121 9 115 1841 -f12a 2 116 1841 -f12c 2 118 1841 -f12e 9 120 1841 -f137 12 125 1841 -f149 8 127 1841 -f151 a 128 1841 -f15b 7 129 1841 -f162 2 131 1841 -f164 19 140 1841 -f17d 15 142 1841 -f192 1b 144 1841 -f1ad 2 146 1841 -f1af c 148 1841 -f1bb 1e 154 1841 -f1d9 2 156 1841 -f1db 17 154 1841 -f1f2 b 164 1841 -f1fd 9 165 1841 -f206 c 166 1841 -f212 8 168 1841 -f21a 7 169 1841 -f221 2 170 1841 -f223 13 186 1841 -f236 11 191 1841 -f247 b 193 1841 -f252 d 194 1841 -f25f 9 197 1841 -f268 9 198 1841 -f271 9 200 1841 -f27a 5 201 1841 -f27f 2 202 1841 -FUNC f281 33 0 fix_grouping -f281 0 214 1884 -f281 8 222 1884 -f289 a 225 1884 -f293 4 227 1884 -f297 1 243 1884 -f298 6 222 1884 -f29e 1 245 1884 -f29f 4 232 1884 -f2a3 2 234 1884 -f2a5 7 237 1884 -f2ac 6 238 1884 -f2b2 2 242 1884 -FUNC f2b4 89 4 __free_lconv_mon -f2b4 1 255 1884 -f2b5 8 256 1884 -f2bd b 259 1884 -f2c8 7 260 1884 -f2cf b 262 1884 -f2da 7 263 1884 -f2e1 b 265 1884 -f2ec 7 266 1884 -f2f3 b 268 1884 -f2fe 7 269 1884 -f305 b 271 1884 -f310 7 272 1884 -f317 b 274 1884 -f322 7 275 1884 -f329 b 277 1884 -f334 8 278 1884 -f33c 1 279 1884 -FUNC f33d 2c4 4 __init_monetary -f33d 8 65 1884 -f345 6 73 1884 -f34b 13 77 1884 -f35e 3 187 1884 -f361 3 188 1884 -f364 a 189 1884 -f36e 11 83 1884 -f37f 8 84 1884 -f387 f 89 1884 -f396 7 91 1884 -f39d 2 92 1884 -f39f 2 94 1884 -f3a1 9 96 1884 -f3aa f 101 1884 -f3b9 6 103 1884 -f3bf 9 104 1884 -f3c8 2 105 1884 -f3ca 2 107 1884 -f3cc 4 112 1884 -f3d0 14 117 1884 -f3e4 14 119 1884 -f3f8 14 121 1884 -f40c 17 123 1884 -f423 14 125 1884 -f437 14 128 1884 -f44b 14 130 1884 -f45f 17 133 1884 -f476 14 135 1884 -f48a 14 137 1884 -f49e 14 139 1884 -f4b2 17 141 1884 -f4c9 14 143 1884 -f4dd 14 145 1884 -f4f1 17 147 1884 -f508 2 149 1884 -f50a 6 150 1884 -f510 6 151 1884 -f516 8 152 1884 -f51e b 153 1884 -f529 5 154 1884 -f52e 1c 157 1884 -f54a 2 159 1884 -f54c 17 157 1884 -f563 c 169 1884 -f56f 3 175 1884 -f572 32 181 1884 -f5a4 11 194 1884 -f5b5 15 199 1884 -f5ca b 201 1884 -f5d5 d 202 1884 -f5e2 9 204 1884 -f5eb 9 205 1884 -f5f4 6 206 1884 -f5fa 5 208 1884 -f5ff 2 209 1884 -FUNC f601 395 4 __init_ctype -f601 11 59 1976 -f612 6 60 1976 -f618 1f 82 1976 -f637 7 84 1976 -f63e 20 89 1976 -f65e 7 94 1976 -f665 10 98 1976 -f675 b 100 1976 -f680 b 102 1976 -f68b 12 104 1976 -f69d 2f 106 1976 -f6cc 5 109 1976 -f6d1 2 112 1976 -f6d3 e 113 1976 -f6e1 15 115 1976 -f6f6 a 118 1976 -f700 4 121 1976 -f704 8 124 1976 -f70c e 126 1976 -f71a 9 128 1976 -f723 b 129 1976 -f72e b 128 1976 -f739 2c 140 1976 -f765 33 155 1976 -f798 2d 166 1976 -f7c5 37 178 1976 -f7fc 11 180 1976 -f80d 17 182 1976 -f824 15 183 1976 -f839 d 180 1976 -f846 12 189 1976 -f858 f 190 1976 -f867 12 191 1976 -f879 18 195 1976 -f891 11 198 1976 -f8a2 13 199 1976 -f8b5 e 200 1976 -f8c3 e 201 1976 -f8d1 9 203 1976 -f8da 6 204 1976 -f8e0 9 206 1976 -f8e9 9 207 1976 -f8f2 9 208 1976 -f8fb 9 209 1976 -f904 9 210 1976 -f90d 9 213 1976 -f916 4 214 1976 -f91a 8 217 1976 -f922 8 218 1976 -f92a 8 219 1976 -f932 10 220 1976 -f942 13 227 1976 -f955 2 231 1976 -f957 6 232 1976 -f95d a 233 1976 -f967 a 234 1976 -f971 a 235 1976 -f97b a 236 1976 -f985 2 238 1976 -f987 f 240 1976 -FUNC f996 29 0 ___mb_cur_max_func -f996 0 248 1976 -f996 7 254 1976 -f99d 3 255 1976 -f9a0 18 257 1976 -f9b8 6 259 1976 -f9be 1 260 1976 -FUNC f9bf 16 4 ___mb_cur_max_l_func -f9bf 0 263 1976 -f9bf 15 264 1976 -f9d4 1 265 1976 -FUNC f9d5 26 0 ___lc_codepage_func -f9d5 0 268 1976 -f9d5 7 274 1976 -f9dc 3 275 1976 -f9df 18 277 1976 -f9f7 3 279 1976 -f9fa 1 280 1976 -FUNC f9fb 26 0 ___lc_collate_cp_func -f9fb 0 284 1976 -f9fb 7 290 1976 -fa02 3 291 1976 -fa05 18 293 1976 -fa1d 3 295 1976 -fa20 1 296 1976 -FUNC fa21 26 0 ___lc_handle_func -fa21 0 300 1976 -fa21 7 306 1976 -fa28 3 307 1976 -fa2b 18 309 1976 -fa43 3 311 1976 -fa46 1 312 1976 -FUNC fa47 3 4 __init_collate -fa47 0 41 2064 -fa47 2 42 2064 -fa49 1 43 2064 -FUNC fa4a fe 4 _Getdays_l -fa4a 9 111 190 -fa53 d 115 190 -fa60 9 117 190 -fa69 9 119 190 -fa72 28 120 190 -fa9a b 121 190 -faa5 c 123 190 -fab1 4 126 190 -fab5 30 128 190 -fae5 8 129 190 -faed 31 131 190 -fb1e 12 132 190 -fb30 3 134 190 -fb33 13 137 190 -fb46 2 138 190 -FUNC fb48 9 0 _Getdays -fb48 0 142 190 -fb48 8 143 190 -fb50 1 144 190 -FUNC fb51 fe 4 _Getmonths_l -fb51 9 150 190 -fb5a d 154 190 -fb67 16 156 190 -fb7d 2b 159 190 -fba8 b 160 190 -fbb3 8 162 190 -fbbb a 163 190 -fbc5 2d 167 190 -fbf2 8 168 190 -fbfa 2c 170 190 -fc26 11 171 190 -fc37 3 173 190 -fc3a 13 176 190 -fc4d 2 177 190 -FUNC fc4f 9 0 _Getmonths -fc4f 0 181 190 -fc4f 8 182 190 -fc57 1 183 190 -FUNC fc58 355 4 _Gettnames_l -fc58 9 189 190 -fc61 d 193 190 -fc6e 9 195 190 -fc77 9 197 190 -fc80 28 198 190 -fca8 d 199 190 -fcb5 29 200 190 -fcde 18 201 190 -fcf6 11 202 190 -fd07 f 203 190 -fd16 f 204 190 -fd25 7 205 190 -fd2c e 206 190 -fd3a 8 208 190 -fd42 12 212 190 -fd54 13 213 190 -fd67 6 214 190 -fd6d 2a 215 190 -fd97 6 216 190 -fd9d d 217 190 -fdaa 26 218 190 -fdd0 1c 219 190 -fdec 18 221 190 -fe04 6 222 190 -fe0a 26 223 190 -fe30 a 224 190 -fe3a 5 225 190 -fe3f 2a 226 190 -fe69 18 227 190 -fe81 30 230 190 -feb1 a 231 190 -febb 30 233 190 -feeb a 234 190 -fef5 30 236 190 -ff25 a 237 190 -ff2f 30 239 190 -ff5f a 240 190 -ff69 30 242 190 -ff99 12 245 190 -ffab 2 246 190 -FUNC ffad 9 0 _Gettnames -ffad 0 250 190 -ffad 8 251 190 -ffb5 1 252 190 -FUNC ffb6 20 0 _store_str -ffb6 0 869 190 -ffb6 f 871 190 -ffc5 7 872 190 -ffcc 9 873 190 -ffd5 1 875 190 -FUNC ffd6 36 0 _store_number -ffd6 0 965 190 -ffd6 8 973 190 -ffde c 976 190 -ffea 2 977 190 -ffec b 978 190 -fff7 2 981 190 -fff9 2 982 190 -fffb 1 983 190 -fffc 7 988 190 -10003 3 989 190 -10006 5 990 190 -1000b 1 991 190 -FUNC 1000c 79 4 _store_num -1000c 8 909 190 -10014 2 910 190 -10016 8 912 190 -1001e 33 913 190 -10051 2 914 190 -10053 4 917 190 -10057 8 918 190 -1005f b 919 190 -1006a c 921 190 -10076 5 923 190 -1007b 2 924 190 -1007d 2 926 190 -1007f 4 927 190 -10083 2 928 190 -FUNC 10085 3e6 10 _expandtime -10085 5 548 190 -1008a 4f 558 190 -100d9 16 659 190 -100ef 5 662 190 -100f4 16 587 190 -1010a 7 589 190 -10111 5 590 190 -10116 16 571 190 -1012c 7 573 190 -10133 5 574 190 -10138 5 822 190 -1013d 7 823 190 -10144 5 824 190 -10149 16 667 190 -1015f 10 668 190 -1016f 2 669 190 -10171 5 672 190 -10176 23 558 190 -10199 6 787 190 -1019f 5 789 190 -101a4 15 736 190 -101b9 2 737 190 -101bb 2 739 190 -101bd 5 740 190 -101c2 15 722 190 -101d7 2 723 190 -101d9 16 742 190 -101ef 4 743 190 -101f3 2 744 190 -101f5 5 745 190 -101fa 6 746 190 -10200 8 747 190 -10208 1 748 190 -10209 5 752 190 -1020e f 715 190 -1021d 5 718 190 -10222 3 696 190 -10225 2 699 190 -10227 1d 804 190 -10244 6 806 190 -1024a d 808 190 -10257 2 809 190 -10259 37 558 190 -10290 19 678 190 -102a9 8 680 190 -102b1 2 681 190 -102b3 15 650 190 -102c8 13 652 190 -102db 5 653 190 -102e0 1e 601 190 -102fe 2 603 190 -10300 5 606 190 -10305 2 607 190 -10307 2 608 190 -10309 25 615 190 -1032e 2 617 190 -10330 1 627 190 -10331 2 642 190 -10333 e 579 190 -10341 7 581 190 -10348 5 582 190 -1034d 2d 562 190 -1037a 6 564 190 -10380 5 565 190 -10385 e 687 190 -10393 3 689 190 -10396 5 690 190 -1039b 15 558 190 -103b0 2 834 190 -103b2 5 814 190 -103b7 19 817 190 -103d0 5 819 190 -103d5 d 795 190 -103e2 b 798 190 -103ed 5 799 190 -103f2 11 762 190 -10403 5 764 190 -10408 1 774 190 -10409 5 776 190 -1040e 16 729 190 -10424 6 731 190 -1042a 5 732 190 -1042f 16 704 190 -10445 3 705 190 -10448 b 706 190 -10453 2 707 190 -10455 e 708 190 -10463 6 839 190 -10469 2 840 190 -FUNC 1046b 45d 18 _store_winword -1046b 10 1035 190 -1047b 5 1043 190 -10480 a 1053 190 -1048a 3 1043 190 -1048d 6 1053 190 -10493 2 1054 190 -10495 6 1049 190 -1049b 2 1050 190 -1049d 6 1046 190 -104a3 10 1057 190 -104b3 4 1066 190 -104b7 8 1067 190 -104bf 6 1069 190 -104c5 d 1075 190 -104d2 a 1076 190 -104dc 8 1077 190 -104e4 4 1078 190 -104e8 2a 1085 190 -10512 b 1087 190 -1051d 31 1092 190 -1054e 7 1093 190 -10555 3 1097 190 -10558 13 1100 190 -1056b 10 1101 190 -1057b b 1102 190 -10586 b 1103 190 -10591 9 1106 190 -1059a 3 1291 190 -1059d 12 1292 190 -105af 11 1114 190 -105c0 5 1117 190 -105c5 b 1120 190 -105d0 37 1125 190 -10607 14 1274 190 -1061b c 1277 190 -10627 8 1283 190 -1062f 4 1284 190 -10633 9 1286 190 -1063c c 1287 190 -10648 5 1277 190 -1064d e 1128 190 -1065b 7 1133 190 -10662 7 1132 190 -10669 7 1130 190 -10670 2 1131 190 -10672 5 1134 190 -10677 a 1156 190 -10681 7 1158 190 -10688 2 1159 190 -1068a 5 1160 190 -1068f 11 1175 190 -106a0 5 1176 190 -106a5 11 1177 190 -106b6 6 1178 190 -106bc 2 1179 190 -106be 5 1180 190 -106c3 b 1225 190 -106ce 13 1226 190 -106e1 4 1228 190 -106e5 1a 1233 190 -106ff 9 1236 190 -10708 8 1242 190 -10710 4 1243 190 -10714 9 1246 190 -1071d 8 1247 190 -10725 5 1277 190 -1072a 1 1230 190 -1072b 5 1250 190 -10730 12 1136 190 -10742 7 1141 190 -10749 7 1140 190 -10750 7 1138 190 -10757 2 1139 190 -10759 5 1142 190 -1075e 29 1125 190 -10787 e 1144 190 -10795 7 1147 190 -1079c 2 1146 190 -1079e 5 1148 190 -107a3 7 1182 190 -107aa b 1183 190 -107b5 2 1184 190 -107b7 6 1185 190 -107bd 12 1187 190 -107cf 17 1188 190 -107e6 c 1191 190 -107f2 8 1197 190 -107fa 4 1198 190 -107fe 8 1201 190 -10806 2 1202 190 -10808 5 1203 190 -1080d 9 1204 190 -10816 1a 1205 190 -10830 9 1207 190 -10839 8 1212 190 -10841 4 1213 190 -10845 9 1215 190 -1084e 8 1216 190 -10856 2 1220 190 -10858 d 1168 190 -10865 7 1170 190 -1086c 2 1171 190 -1086e 2 1172 190 -10870 d 1162 190 -1087d 7 1164 190 -10884 2 1165 190 -10886 2 1166 190 -10888 d 1150 190 -10895 7 1152 190 -1089c 2 1153 190 -1089e 1b 1268 190 -108b9 3 1272 190 -108bc 5 1273 190 -108c1 7 1194 190 -FUNC 108c8 1af 18 _Strftime_l -108c8 6 356 190 -108ce 4 361 190 -108d2 13 362 190 -108e5 33 364 190 -10918 33 365 190 -1094b d 368 190 -10958 10 375 190 -10968 e 385 190 -10976 a 387 190 -10980 1e 435 190 -1099e 4 438 190 -109a2 a 446 190 -109ac 5 447 190 -109b1 b 452 190 -109bc 3 453 190 -109bf 2 454 190 -109c1 7 400 190 -109c8 1 405 190 -109c9 2 408 190 -109cb 5 409 190 -109d0 1 411 190 -109d1 1 412 190 -109d2 1d 415 190 -109ef 1 428 190 -109f0 5 385 190 -109f5 5 464 190 -109fa 5 469 190 -109ff 13 470 190 -10a12 3 441 190 -10a15 f 478 190 -10a24 b 481 190 -10a2f 2 483 190 -10a31 b 402 190 -10a3c 2 403 190 -10a3e 5 421 190 -10a43 7 423 190 -10a4a 2 464 190 -10a4c 18 485 190 -10a64 11 488 190 -10a75 2 490 190 -FUNC 10a77 1e 14 _strftime_l -10a77 3 291 190 -10a7a 19 292 190 -10a93 2 293 190 -FUNC 10a95 1d 10 strftime -10a95 0 300 190 -10a95 1c 301 190 -10ab1 1 302 190 -FUNC 10ab2 1e 14 _Strftime -10ab2 3 343 190 -10ab5 19 345 190 -10ace 2 346 190 -FUNC 10ad0 26 0 localeconv -10ad0 0 69 1716 -10ad0 5 75 1716 -10ad5 1b 78 1716 -10af0 5 79 1716 -10af5 1 80 1716 -FUNC 10b00 46 8 strcspn -10b00 4 191 591 -10b04 2 198 591 -10b06 1 199 591 -10b07 1 200 591 -10b08 1 201 591 -10b09 1 202 591 -10b0a 1 203 591 -10b0b 1 204 591 -10b0c 1 205 591 -10b0d 1 206 591 -10b0e 6 212 591 -10b14 2 216 591 -10b16 2 217 591 -10b18 2 218 591 -10b1a 3 219 591 -10b1d 4 220 591 -10b21 2 221 591 -10b23 3 227 591 -10b26 6 229 591 -10b2c 3 234 591 -10b2f 2 236 591 -10b31 2 237 591 -10b33 2 238 591 -10b35 3 239 591 -10b38 4 240 591 -10b3c 2 245 591 -10b3e 2 255 591 -10b40 3 257 591 -10b43 3 259 591 -FUNC 10b46 60 c TranslateName -10b46 3 340 2263 -10b49 3 342 2263 -10b4c 3 343 2263 -10b4f b 346 2263 -10b5a a 348 2263 -10b64 14 349 2263 -10b78 6 351 2263 -10b7e a 352 2263 -10b88 2 353 2263 -10b8a 4 354 2263 -10b8e 2 355 2263 -10b90 3 356 2263 -10b93 7 346 2263 -10b9a a 359 2263 -10ba4 2 360 2263 -FUNC 10ba6 14 0 GetLcidFromDefault -10ba6 0 761 2263 -10ba6 7 762 2263 -10bad c 763 2263 -10bb9 1 764 2263 -FUNC 10bba 77 0 ProcessCodePage -10bba 13 784 2263 -10bcd 1a 787 2263 -10be7 11 795 2263 -10bf8 8 799 2263 -10c00 2 801 2263 -10c02 18 791 2263 -10c1a 3 793 2263 -10c1d 7 805 2263 -10c24 d 806 2263 -FUNC 10c31 1e 4 TestDefaultCountry -10c31 0 826 2263 -10c31 2 830 2263 -10c33 15 832 2263 -10c48 3 835 2263 -10c4b 1 836 2263 -10c4c 2 833 2263 -10c4e 1 836 2263 -FUNC 10c4f 32 0 LcidFromHexString -10c4f 1 893 2263 -10c50 2 895 2263 -10c52 2 897 2263 -10c54 9 899 2263 -10c5d 5 900 2263 -10c62 8 901 2263 -10c6a 3 902 2263 -10c6d 10 903 2263 -10c7d 3 906 2263 -10c80 1 907 2263 -FUNC 10c81 1b 0 GetPrimaryLen -10c81 0 926 2263 -10c81 2 927 2263 -10c83 3 930 2263 -10c86 12 931 2263 -10c98 1 933 2263 -10c99 2 935 2263 -10c9b 1 938 2263 -FUNC 10c9c 96 4 CountryEnumProc -10c9c 15 717 2263 -10cb1 7 718 2263 -10cb8 f 719 2263 -10cc7 23 725 2263 -10cea 3 728 2263 -10ced 3 729 2263 -10cf0 12 731 2263 -10d02 b 734 2263 -10d0d a 738 2263 -10d17 b 741 2263 -10d22 10 742 2263 -FUNC 10d32 72 8 TestDefaultLanguage -10d32 11 858 2263 -10d43 22 864 2263 -10d65 4 865 2263 -10d69 d 867 2263 -10d76 1c 871 2263 -10d92 2 872 2263 -10d94 3 874 2263 -10d97 d 875 2263 -FUNC 10da4 1d0 4 LangCountryEnumProc -10da4 16 435 2263 -10dba 7 436 2263 -10dc1 d 437 2263 -10dce 27 444 2263 -10df5 4 447 2263 -10df9 8 448 2263 -10e01 16 450 2263 -10e17 1d 456 2263 -10e34 2 460 2263 -10e36 11 462 2263 -10e47 7 467 2263 -10e4e 5 468 2263 -10e53 6 472 2263 -10e59 1a 475 2263 -10e73 14 482 2263 -10e87 3 483 2263 -10e8a a 487 2263 -10e94 b 490 2263 -10e9f 6 493 2263 -10ea5 3 494 2263 -10ea8 12 501 2263 -10eba 1d 506 2263 -10ed7 6 510 2263 -10edd c 513 2263 -10ee9 16 518 2263 -10eff 8 522 2263 -10f07 14 528 2263 -10f1b 2 531 2263 -10f1d 2 540 2263 -10f1f 1b 550 2263 -10f3a f 553 2263 -10f49 7 557 2263 -10f50 5 558 2263 -10f55 3 559 2263 -10f58 b 566 2263 -10f63 11 567 2263 -FUNC 10f74 bf 4 LanguageEnumProc -10f74 15 624 2263 -10f89 7 625 2263 -10f90 f 626 2263 -10f9f 23 632 2263 -10fc2 3 635 2263 -10fc5 3 636 2263 -10fc8 11 639 2263 -10fd9 7 643 2263 -10fe0 2 650 2263 -10fe2 1d 651 2263 -10fff f 654 2263 -1100e a 658 2263 -11018 b 662 2263 -11023 10 663 2263 -FUNC 11033 2c 0 GetLcidFromCountry -11033 0 686 2263 -11033 10 687 2263 -11043 11 689 2263 -11054 6 693 2263 -1105a 4 694 2263 -1105e 1 695 2263 -FUNC 1105f 65 0 GetLcidFromLangCountry -1105f 0 386 2263 -1105f 7 388 2263 -11066 1a 389 2263 -11080 5 390 2263 -11085 17 392 2263 -1109c 10 394 2263 -110ac 13 402 2263 -110bf 4 403 2263 -110c3 1 404 2263 -FUNC 110c4 3c 0 GetLcidFromLanguage -110c4 0 591 2263 -110c4 13 593 2263 -110d7 e 594 2263 -110e5 10 596 2263 -110f5 6 600 2263 -110fb 4 601 2263 -110ff 1 602 2263 -FUNC 11100 1e3 c __get_qualified_locale -11100 4 205 2263 -11104 5 208 2263 -11109 12 212 2263 -1111b 7 215 2263 -11122 5 217 2263 -11127 3 222 2263 -1112a f 223 2263 -11139 10 226 2263 -11149 d 230 2263 -11156 a 232 2263 -11160 5 235 2263 -11165 2 237 2263 -11167 5 240 2263 -1116c 5 243 2263 -11171 14 248 2263 -11185 a 250 2263 -1118f 5 252 2263 -11194 2 254 2263 -11196 5 256 2263 -1119b 2 261 2263 -1119d a 263 2263 -111a7 28 266 2263 -111cf 2 268 2263 -111d1 13 271 2263 -111e4 3 277 2263 -111e7 6 278 2263 -111ed 17 281 2263 -11204 32 285 2263 -11236 d 289 2263 -11243 6 290 2263 -11249 8 293 2263 -11251 7 295 2263 -11258 8 296 2263 -11260 4 297 2263 -11264 8 301 2263 -1126c d 305 2263 -11279 23 306 2263 -1129c 2 307 2263 -1129e f 308 2263 -112ad 2 309 2263 -112af 12 311 2263 -112c1 2 312 2263 -112c3 14 313 2263 -112d7 5 315 2263 -112dc 6 286 2263 -112e2 1 316 2263 -FUNC 112e3 12 0 cmpResult -FUNC 112f5 18 0 cmpBYTE -FUNC 1130d 40 0 cmpWORD -FUNC 1134d 78 0 cmpDWORD -FUNC 113c5 1490 0 unaligned_memcmp -FUNC 12855 1680 c memcmp -FUNC 13ed5 be c strncmp -13ed5 4 42 543 -13ed9 5 43 543 -13ede 7 45 543 -13ee5 7 46 543 -13eec 6 48 543 -13ef2 d 51 543 -13eff 11 56 543 -13f10 c 61 543 -13f1c c 66 543 -13f28 15 71 543 -13f3d 2 81 543 -13f3f a 73 543 -13f49 a 68 543 -13f53 a 63 543 -13f5d 10 58 543 -13f6d 2 79 543 -13f6f a 81 543 -13f79 1 85 543 -13f7a 4 86 543 -13f7e 5 79 543 -13f83 4 89 543 -13f87 2 90 543 -13f89 a 83 543 -FUNC 13fa0 40 8 strpbrk -13fa0 4 191 536 -13fa4 2 198 536 -13fa6 1 199 536 -13fa7 1 200 536 -13fa8 1 201 536 -13fa9 1 202 536 -13faa 1 203 536 -13fab 1 204 536 -13fac 1 205 536 -13fad 1 206 536 -13fae 6 212 536 -13fb4 2 216 536 -13fb6 2 217 536 -13fb8 2 218 536 -13fba 3 219 536 -13fbd 4 220 536 -13fc1 2 221 536 -13fc3 5 227 536 -13fc8 2 236 536 -13fca 2 237 536 -13fcc 2 238 536 -13fce 3 239 536 -13fd1 4 240 536 -13fd5 2 247 536 -13fd7 3 248 536 -13fda 3 257 536 -13fdd 3 259 536 -FUNC 13fe0 104 0 __report_gsfailure -13fe0 9 140 2145 -13fe9 5 170 2145 -13fee 6 171 2145 -13ff4 6 172 2145 -13ffa 6 173 2145 -14000 6 174 2145 -14006 6 175 2145 -1400c 7 176 2145 -14013 7 177 2145 -1401a 7 178 2145 -14021 7 179 2145 -14028 7 180 2145 -1402f 7 181 2145 -14036 1 182 2145 -14037 6 183 2145 -1403d 3 190 2145 -14040 5 191 2145 -14045 3 192 2145 -14048 5 193 2145 -1404d 3 194 2145 -14050 5 195 2145 -14055 6 201 2145 -1405b a 204 2145 -14065 a 206 2145 -1406f a 285 2145 -14079 a 286 2145 -14083 b 293 2145 -1408e b 294 2145 -14099 b 297 2145 -140a4 8 298 2145 -140ac 8 302 2145 -140b4 b 304 2145 -140bf 9 313 2145 -140c8 8 315 2145 -140d0 12 319 2145 -140e2 2 320 2145 -FUNC 140e4 20 0 _global_unwind2 -FUNC 14104 45 0 __unwind_handler -FUNC 14149 84 0 _local_unwind2 -FUNC 141cd 23 0 _abnormal_termination -FUNC 141f0 9 0 _NLG_Notify1 -FUNC 141f9 1f 0 _NLG_Notify -PUBLIC 14210 0 _NLG_Dispatch -FUNC 14218 3 0 _NLG_Call -PUBLIC 1421a 0 _NLG_Return2 -FUNC 1421b 57 8 fastzero_I -FUNC 14272 8f c _VEC_memzero -FUNC 14301 22b 14 strtoxl -14301 8 80 4034 -14309 b 86 4034 -14314 3 89 4034 -14317 b 92 4034 -14322 30 94 4034 -14352 11 95 4034 -14363 c 100 4034 -1436f 34 101 4034 -143a3 5 102 4034 -143a8 5 104 4034 -143ad 4 105 4034 -143b1 2 106 4034 -143b3 5 108 4034 -143b8 3 109 4034 -143bb 1d 111 4034 -143d8 4 118 4034 -143dc 5 121 4034 -143e1 9 122 4034 -143ea a 123 4034 -143f4 9 126 4034 -143fd 7 124 4034 -14404 2 129 4034 -14406 5 140 4034 -1440b f 142 4034 -1441a 1 143 4034 -1441b 9 144 4034 -14424 8 149 4034 -1442c c 154 4034 -14438 8 155 4034 -14440 7 156 4034 -14447 13 157 4034 -1445a 5 160 4034 -1445f 4 164 4034 -14463 b 171 4034 -1446e 4 177 4034 -14472 6 178 4034 -14478 8 190 4034 -14480 6 193 4034 -14486 3 195 4034 -14489 4 196 4034 -1448d 2 198 4034 -1448f c 173 4034 -1449b 3 185 4034 -1449e 2 186 4034 -144a0 24 201 4034 -144c4 5 204 4034 -144c9 c 205 4034 -144d5 6 206 4034 -144db 10 207 4034 -144eb 7 213 4034 -144f2 2 215 4034 -144f4 6 217 4034 -144fa 3 219 4034 -144fd 12 221 4034 -1450f 7 113 4034 -14516 2 115 4034 -14518 12 116 4034 -1452a 2 222 4034 -FUNC 1452c 29 c strtol -1452c 3 229 4034 -1452f 8 230 4034 -14537 13 232 4034 -1454a 9 236 4034 -14553 2 238 4034 -FUNC 14555 1b 10 _strtol_l -14555 0 246 4034 -14555 1a 247 4034 -1456f 1 248 4034 -FUNC 14570 2a c strtoul -14570 3 255 4034 -14573 7 256 4034 -1457a 14 258 4034 -1458e a 262 4034 -14598 2 264 4034 -FUNC 1459a 1b 10 _strtoul_l -1459a 0 272 4034 -1459a 1a 273 4034 -145b4 1 274 4034 -FUNC 145b5 294 14 strtoxq -145b5 8 80 3989 -145bd b 86 3989 -145c8 3 89 3989 -145cb b 92 3989 -145d6 31 94 3989 -14607 12 95 3989 -14619 c 100 3989 -14625 37 102 3989 -1465c 2 103 3989 -1465e 9 105 3989 -14667 4 106 3989 -1466b 2 107 3989 -1466d 6 109 3989 -14673 9 110 3989 -1467c 8 112 3989 -14684 6 115 3989 -1468a 9 116 3989 -14693 a 117 3989 -1469d 9 120 3989 -146a6 3 118 3989 -146a9 5 123 3989 -146ae 10 125 3989 -146be 1 126 3989 -146bf 9 127 3989 -146c8 26 132 3989 -146ee e 137 3989 -146fc 8 138 3989 -14704 6 139 3989 -1470a 11 140 3989 -1471b 5 143 3989 -14720 31 154 3989 -14751 4 160 3989 -14755 6 161 3989 -1475b a 173 3989 -14765 7 176 3989 -1476c 6 178 3989 -14772 6 179 3989 -14778 5 181 3989 -1477d 19 156 3989 -14796 b 168 3989 -147a1 5 169 3989 -147a6 35 184 3989 -147db 5 187 3989 -147e0 c 188 3989 -147ec a 189 3989 -147f6 6 190 3989 -147fc 7 191 3989 -14803 2 192 3989 -14805 7 193 3989 -1480c 8 195 3989 -14814 5 197 3989 -14819 6 199 3989 -1481f 13 201 3989 -14832 15 203 3989 -14847 2 204 3989 -FUNC 14849 29 c _strtoi64 -14849 3 211 3989 -1484c 8 212 3989 -14854 13 214 3989 -14867 9 218 3989 -14870 2 220 3989 -FUNC 14872 1b 10 _strtoi64_l -14872 0 227 3989 -14872 1a 228 3989 -1488c 1 229 3989 -FUNC 1488d 2a c _strtoui64 -1488d 3 236 3989 -14890 7 237 3989 -14897 14 239 3989 -148ab a 243 3989 -148b5 2 245 3989 -FUNC 148b7 1b 10 _strtoui64_l -148b7 0 253 3989 -148b7 1a 254 3989 -148d1 1 255 3989 -FUNC 148d2 b6 c _isctype_l -148d2 7 114 4078 -148d9 b 118 4078 -148e4 d 121 4078 -148f1 f 122 4078 -14900 1f 124 4078 -1491f 3 126 4078 -14922 d 129 4078 -1492f 2 130 4078 -14931 a 133 4078 -1493b 26 144 4078 -14961 10 146 4078 -14971 15 149 4078 -14986 2 150 4078 -FUNC 14988 2f 8 _isctype -14988 0 156 4078 -14988 9 157 4078 -14991 12 159 4078 -149a3 1 165 4078 -149a4 12 163 4078 -149b6 1 165 4078 -FUNC 149c0 2c 0 _alloca_probe_16 -149c0 0 44 1046 -149c0 1 46 1046 -149c1 4 47 1046 -149c5 2 48 1046 -149c7 3 49 1046 -149ca 2 50 1046 -149cc 2 51 1046 -149ce 2 52 1046 -149d0 1 53 1046 -149d1 5 54 1046 -149d6 1 59 1046 -149d7 4 60 1046 -149db 2 61 1046 -149dd 3 62 1046 -149e0 2 63 1046 -149e2 2 64 1046 -149e4 2 65 1046 -149e6 1 66 1046 -149e7 5 67 1046 -PUBLIC 149d6 0 _alloca_probe_8 -FUNC 149ec 47 4 __ansicp -149ec 10 39 1348 -149fc 1c 44 1348 -14a18 3 45 1348 -14a1b 2 46 1348 -14a1d a 47 1348 -14a27 c 49 1348 -FUNC 14a33 1b2 18 __convertcp -14a33 16 79 1348 -14a49 10 83 1348 -14a59 18 85 1348 -14a71 17 90 1348 -14a88 13 92 1348 -14a9b 6 93 1348 -14aa1 d 99 1348 -14aae 2 101 1348 -14ab0 c 103 1348 -14abc 2a 115 1348 -14ae6 15 111 1348 -14afb 7 112 1348 -14b02 1c 115 1348 -14b1e 3 116 1348 -14b21 2 117 1348 -14b23 10 119 1348 -14b33 15 127 1348 -14b48 7 129 1348 -14b4f 18 138 1348 -14b67 3 139 1348 -14b6a 2 140 1348 -14b6c 1f 149 1348 -14b8b 11 151 1348 -14b9c 12 160 1348 -14bae 9 162 1348 -14bb7 3 163 1348 -14bba 2 164 1348 -14bbc 6 165 1348 -14bc2 5 166 1348 -14bc7 9 174 1348 -14bd0 3 177 1348 -14bd3 12 178 1348 -FUNC 14be5 50 0 has_osfxsr_set -FUNC 14c35 60 0 _get_sse2_info -FUNC 14c95 d 0 __sse2_available_init -FUNC 14ca2 34 4 _get_daylight -14ca2 0 35 161 -14ca2 27 36 161 -14cc9 1 41 161 -14cca 8 39 161 -14cd2 3 40 161 -14cd5 1 41 161 -FUNC 14cd6 34 4 _get_dstbias -14cd6 0 44 161 -14cd6 27 45 161 -14cfd 1 50 161 -14cfe 8 48 161 -14d06 3 49 161 -14d09 1 50 161 -FUNC 14d0a 34 4 _get_timezone -14d0a 0 53 161 -14d0a 27 54 161 -14d31 1 59 161 -14d32 8 57 161 -14d3a 3 58 161 -14d3d 1 59 161 -FUNC 14d3e a2 10 _get_tzname -14d3e 3 62 161 -14d41 10 63 161 -14d51 4 64 161 -14d55 3 66 161 -14d58 7 68 161 -14d5f 27 69 161 -14d86 20 63 161 -14da6 f 72 161 -14db5 8 73 161 -14dbd 4 76 161 -14dc1 5 78 161 -14dc6 5 80 161 -14dcb 13 82 161 -14dde 2 83 161 -FUNC 14de0 6 0 __daylight -14de0 0 118 161 -14de0 5 119 161 -14de5 1 120 161 -FUNC 14de6 6 0 __dstbias -14de6 0 123 161 -14de6 5 124 161 -14deb 1 125 161 -FUNC 14dec 6 0 __timezone -14dec 0 128 161 -14dec 5 129 161 -14df1 1 130 161 -FUNC 14df2 6 0 __tzname -14df2 0 133 161 -14df2 5 134 161 -14df7 1 135 161 -FUNC 14df8 c 4 _set_daylight -14df8 c 189 92 -FUNC 14e04 c 4 _set_dstbias -14e04 c 190 92 -FUNC 14e10 c 4 _set_timezone -14e10 c 191 92 -FUNC 14e1c 349 0 _tzset_nolock -14e1c c 124 114 -14e28 5 127 114 -14e2d 3 129 114 -14e30 3 130 114 -14e33 3 131 114 -14e36 3 132 114 -14e39 3 133 114 -14e3c 8 135 114 -14e44 3 136 114 -14e47 8 139 114 -14e4f 1b 142 114 -14e6a 1b 143 114 -14e85 1b 144 114 -14ea0 8 149 114 -14ea8 6 154 114 -14eae f 160 114 -14ebd 18 165 114 -14ed5 14 260 114 -14ee9 b 268 114 -14ef4 4 274 114 -14ef8 7 275 114 -14eff 16 277 114 -14f15 6 281 114 -14f1b 32 283 114 -14f4d 9 174 114 -14f56 7 175 114 -14f5d 6 176 114 -14f63 13 179 114 -14f76 9 183 114 -14f7f b 188 114 -14f8a 9 190 114 -14f93 e 191 114 -14fa1 12 199 114 -14fb3 3 201 114 -14fb6 c 203 114 -14fc2 2 205 114 -14fc4 3 206 114 -14fc7 3 214 114 -14fca 27 234 114 -14ff1 8 235 114 -14ff9 2 236 114 -14ffb 7 237 114 -15002 23 247 114 -15025 9 248 114 -1502e 2 249 114 -15030 8 250 114 -15038 7 256 114 -1503f a 288 114 -15049 a 289 114 -15053 a 290 114 -1505d c 292 114 -15069 9 296 114 -15072 23 301 114 -15095 8 310 114 -1509d 7 311 114 -150a4 1 312 114 -150a5 10 318 114 -150b5 11 320 114 -150c6 5 292 114 -150cb 9 293 114 -150d4 5 325 114 -150d9 e 329 114 -150e7 d 330 114 -150f4 5 335 114 -150f9 b 339 114 -15104 d 340 114 -15111 5 344 114 -15116 3 345 114 -15119 6 350 114 -1511f 4 351 114 -15123 21 352 114 -15144 2 354 114 -15146 5 355 114 -1514b a 357 114 -15155 a 358 114 -1515f 6 360 114 -FUNC 15165 1f5 24 cvtdate -15165 6 409 114 -1516b 4 412 114 -1516f c 414 114 -1517b 52 424 114 -151cd 4c 430 114 -15219 14 436 114 -1522d 2 437 114 -1522f 2 438 114 -15231 46 447 114 -15277 3 449 114 -1527a 2 452 114 -1527c 3c 457 114 -152b8 3 459 114 -152bb 27 467 114 -152e2 6 472 114 -152e8 2 474 114 -152ea 29 485 114 -15313 11 486 114 -15324 a 487 114 -1532e 8 488 114 -15336 d 490 114 -15343 6 491 114 -15349 6 492 114 -1534f 9 499 114 -15358 2 503 114 -FUNC 1535a 1ae 0 _isindst_nolock -1535a 5 554 114 -1535f 20 558 114 -1537f 5 560 114 -15384 7 561 114 -1538b 1b 568 114 -153a6 c 569 114 -153b2 7 573 114 -153b9 34 584 114 -153ed 2 585 114 -153ef 19 596 114 -15408 40 611 114 -15448 2 612 114 -1544a 1e 623 114 -15468 2 626 114 -1546a 14 641 114 -1547e 1a 653 114 -15498 d 660 114 -154a5 d 664 114 -154b2 8 666 114 -154ba 4 674 114 -154be 2 697 114 -154c0 8 673 114 -154c8 8 675 114 -154d0 4 676 114 -154d4 14 679 114 -154e8 4 681 114 -154ec b 682 114 -154f7 2 685 114 -154f9 d 691 114 -15506 2 694 114 -FUNC 15508 4f 0 __tzset -15508 c 85 114 -15514 a 88 114 -1551e 8 90 114 -15526 3 91 114 -15529 8 93 114 -15531 5 94 114 -15536 6 95 114 -1553c c 98 114 -15548 6 103 114 -1554e 9 99 114 -FUNC 15557 38 0 _tzset -15557 c 109 114 -15563 8 110 114 -1556b 4 111 114 -1556f 5 113 114 -15574 c 115 114 -15580 6 118 114 -15586 9 116 114 -FUNC 1558f 41 4 _isindst -1558f c 538 114 -1559b 8 541 114 -155a3 4 542 114 -155a7 b 543 114 -155b2 c 544 114 -155be 3 548 114 -155c1 6 549 114 -155c7 9 545 114 -FUNC 155d0 35 8 __ascii_stricmp -155d0 a 75 367 -155da c 80 367 -155e6 3 81 367 -155e9 c 82 367 -155f5 3 83 367 -155f8 9 85 367 -15601 3 87 367 -15604 1 88 367 -FUNC 15605 d3 c _stricmp_l -15605 7 47 367 -1560c b 49 367 -15617 36 52 367 -1564d 32 53 367 -1567f 8 55 367 -15687 e 57 367 -15695 15 63 367 -156aa 11 64 367 -156bb 8 65 367 -156c3 13 68 367 -156d6 2 69 367 -FUNC 156d8 50 8 _stricmp -156d8 4 94 367 -156dc a 95 367 -156e6 24 98 367 -1570a 6 99 367 -15710 1 107 367 -15711 5 101 367 -15716 10 105 367 -15726 2 107 367 -FUNC 15728 36 8 _isleadbyte_l -15728 6 55 4169 -1572e b 56 4169 -15739 23 57 4169 -1575c 2 58 4169 -FUNC 1575e e 4 isleadbyte -1575e 0 63 4169 -1575e d 64 4169 -1576b 1 65 4169 -FUNC 1576c 16 8 _iswalpha_l -1576c 0 71 4169 -1576c 15 72 4169 -15781 1 73 4169 -FUNC 15782 11 4 iswalpha -15782 0 78 4169 -15782 10 79 4169 -15792 1 80 4169 -FUNC 15793 13 8 _iswupper_l -15793 0 86 4169 -15793 12 87 4169 -157a5 1 88 4169 -FUNC 157a6 e 4 iswupper -157a6 0 93 4169 -157a6 d 94 4169 -157b3 1 95 4169 -FUNC 157b4 13 8 _iswlower_l -157b4 0 101 4169 -157b4 12 102 4169 -157c6 1 103 4169 -FUNC 157c7 e 4 iswlower -157c7 0 108 4169 -157c7 d 109 4169 -157d4 1 110 4169 -FUNC 157d5 13 8 _iswdigit_l -157d5 0 116 4169 -157d5 12 117 4169 -157e7 1 118 4169 -FUNC 157e8 e 4 iswdigit -157e8 0 123 4169 -157e8 d 124 4169 -157f5 1 125 4169 -FUNC 157f6 16 8 _iswxdigit_l -157f6 0 131 4169 -157f6 15 132 4169 -1580b 1 133 4169 -FUNC 1580c 11 4 iswxdigit -1580c 0 138 4169 -1580c 10 139 4169 -1581c 1 140 4169 -FUNC 1581d 13 8 _iswspace_l -1581d 0 146 4169 -1581d 12 147 4169 -1582f 1 148 4169 -FUNC 15830 e 4 iswspace -15830 0 153 4169 -15830 d 154 4169 -1583d 1 155 4169 -FUNC 1583e 13 8 _iswpunct_l -1583e 0 161 4169 -1583e 12 162 4169 -15850 1 163 4169 -FUNC 15851 e 4 iswpunct -15851 0 168 4169 -15851 d 169 4169 -1585e 1 170 4169 -FUNC 1585f 16 8 _iswalnum_l -1585f 0 176 4169 -1585f 15 177 4169 -15874 1 178 4169 -FUNC 15875 11 4 iswalnum -15875 0 183 4169 -15875 10 184 4169 -15885 1 185 4169 -FUNC 15886 16 8 _iswprint_l -15886 0 191 4169 -15886 15 192 4169 -1589b 1 193 4169 -FUNC 1589c 11 4 iswprint -1589c 0 198 4169 -1589c 10 199 4169 -158ac 1 200 4169 -FUNC 158ad 16 8 _iswgraph_l -158ad 0 206 4169 -158ad 15 207 4169 -158c2 1 208 4169 -FUNC 158c3 11 4 iswgraph -158c3 0 213 4169 -158c3 10 214 4169 -158d3 1 215 4169 -FUNC 158d4 13 8 _iswcntrl_l -158d4 0 221 4169 -158d4 12 222 4169 -158e6 1 223 4169 -FUNC 158e7 e 4 iswcntrl -158e7 0 228 4169 -158e7 d 229 4169 -158f4 1 230 4169 -FUNC 158f5 c 4 iswascii -158f5 0 235 4169 -158f5 b 236 4169 -15900 1 237 4169 -FUNC 15901 26 8 _iswcsym_l -15901 0 243 4169 -15901 21 244 4169 -15922 1 245 4169 -15923 3 244 4169 -15926 1 245 4169 -FUNC 15927 21 4 __iswcsym -15927 0 250 4169 -15927 1c 251 4169 -15943 1 252 4169 -15944 3 251 4169 -15947 1 252 4169 -FUNC 15948 26 8 _iswcsymf_l -15948 0 258 4169 -15948 21 259 4169 -15969 1 260 4169 -1596a 3 259 4169 -1596d 1 260 4169 -FUNC 1596e 21 4 __iswcsymf -1596e 0 265 4169 -1596e 1c 266 4169 -1598a 1 267 4169 -1598b 3 266 4169 -1598e 1 267 4169 -FUNC 1598f f0 10 _strnicmp_l -1598f 7 51 324 -15996 d 54 324 -159a3 b 56 324 -159ae 33 59 324 -159e1 7 60 324 -159e8 32 61 324 -15a1a 8 63 324 -15a22 1d 65 324 -15a3f 15 71 324 -15a54 11 72 324 -15a65 d 74 324 -15a72 6 76 324 -15a78 5 79 324 -15a7d 2 80 324 -FUNC 15a7f 5c c _strnicmp -15a7f 4 125 324 -15a83 a 127 324 -15a8d 24 130 324 -15ab1 5 131 324 -15ab6 a 132 324 -15ac0 1 141 324 -15ac1 5 134 324 -15ac6 13 138 324 -15ad9 2 141 324 -FUNC 15adb db c xtoa_s -15adb 8 93 4260 -15ae3 24 102 4260 -15b07 24 103 4260 -15b2b 19 105 4260 -15b44 b 106 4260 -15b4f a 112 4260 -15b59 6 114 4260 -15b5f 7 116 4260 -15b66 2 118 4260 -15b68 2 121 4260 -15b6a 5 124 4260 -15b6f 5 128 4260 -15b74 3 129 4260 -15b77 2 130 4260 -15b79 6 131 4260 -15b7f 3 135 4260 -15b82 e 136 4260 -15b90 8 139 4260 -15b98 2 141 4260 -15b9a 2 142 4260 -15b9c 3 148 4260 -15b9f 6 152 4260 -15ba5 3 154 4260 -15ba8 1 155 4260 -15ba9 4 156 4260 -15bad 5 158 4260 -15bb2 4 160 4260 -FUNC 15bb6 28 10 _itoa_s -15bb6 3 172 4260 -15bb9 d 175 4260 -15bc6 4 176 4260 -15bca 2 177 4260 -15bcc 10 178 4260 -15bdc 2 181 4260 -FUNC 15bde 25 10 _ltoa_s -15bde 3 189 4260 -15be1 20 190 4260 -15c01 2 191 4260 -FUNC 15c03 18 10 _ultoa_s -15c03 0 199 4260 -15c03 17 200 4260 -15c1a 1 201 4260 -FUNC 15c1b f6 14 x64toa_s -15c1b 7 309 4260 -15c22 25 318 4260 -15c47 5 319 4260 -15c4c 19 321 4260 -15c65 b 322 4260 -15c70 3 327 4260 -15c73 20 333 4260 -15c93 3 336 4260 -15c96 1e 352 4260 -15cb4 3 344 4260 -15cb7 2 345 4260 -15cb9 5 346 4260 -15cbe 5 351 4260 -15cc3 13 352 4260 -15cd6 5 355 4260 -15cdb 3 357 4260 -15cde 13 358 4260 -15cf1 4 364 4260 -15cf5 9 368 4260 -15cfe 3 370 4260 -15d01 1 371 4260 -15d02 7 372 4260 -15d09 4 375 4260 -15d0d 4 377 4260 -FUNC 15d11 33 14 _i64toa_s -15d11 3 390 4260 -15d14 2e 391 4260 -15d42 2 392 4260 -FUNC 15d44 1d 14 _ui64toa_s -15d44 4 400 4260 -15d48 17 401 4260 -15d5f 2 402 4260 -FUNC 15d70 2b 0 _chkstk -15d70 0 65 1048 -15d70 1 69 1048 -15d71 4 73 1048 -15d75 2 74 1048 -15d77 2 79 1048 -15d79 2 80 1048 -15d7b 2 81 1048 -15d7d 2 83 1048 -15d7f 5 84 1048 -15d84 2 87 1048 -15d86 2 88 1048 -15d88 2 89 1048 -15d8a 1 90 1048 -15d8b 1 91 1048 -15d8c 2 92 1048 -15d8e 3 93 1048 -15d91 1 94 1048 -15d92 5 98 1048 -15d97 2 99 1048 -15d99 2 100 1048 -FUNC 15d9b 81 4 _getenv_helper_nolock -15d9b 0 95 2318 -15d9b 10 103 2318 -15dab 3 104 2318 -15dae 1 169 2318 -15daf e 128 2318 -15dbd 7 131 2318 -15dc4 2 132 2318 -15dc6 6 135 2318 -15dcc c 140 2318 -15dd8 9 142 2318 -15de1 2 150 2318 -15de3 22 154 2318 -15e05 3 164 2318 -15e08 6 150 2318 -15e0e 5 168 2318 -15e13 9 169 2318 -FUNC 15e1c 93 c _getenv_s_helper -15e1c 7 220 2318 -15e23 21 224 2318 -15e44 15 226 2318 -15e59 4 227 2318 -15e5d 3 229 2318 -15e60 a 233 2318 -15e6a 3 234 2318 -15e6d 2 236 2318 -15e6f 7 239 2318 -15e76 6 240 2318 -15e7c 2 243 2318 -15e7e 5 246 2318 -15e83 5 251 2318 -15e88 20 254 2318 -15ea8 5 256 2318 -15ead 2 257 2318 -FUNC 15eaf a2 8 _dupenv_s_helper -15eaf 6 339 2318 -15eb5 21 344 2318 -15ed6 9 346 2318 -15edf 2 348 2318 -15ee1 5 350 2318 -15ee6 8 352 2318 -15eee 6 353 2318 -15ef4 2 355 2318 -15ef6 9 358 2318 -15eff b 362 2318 -15f0a 6 364 2318 -15f10 b 366 2318 -15f1b 9 367 2318 -15f24 1e 370 2318 -15f42 7 371 2318 -15f49 2 373 2318 -15f4b 4 375 2318 -15f4f 2 376 2318 -FUNC 15f51 83 4 getenv -15f51 c 75 2318 -15f5d 2a 78 2318 -15f87 18 79 2318 -15f9f 8 81 2318 -15fa7 3 82 2318 -15faa c 83 2318 -15fb6 c 85 2318 -15fc2 3 89 2318 -15fc5 6 90 2318 -15fcb 9 86 2318 -FUNC 15fd4 d8 10 getenv_s -15fd4 c 198 2318 -15fe0 8 201 2318 -15fe8 5 202 2318 -15fed a1 203 2318 -1608e c 205 2318 -1609a 3 209 2318 -1609d 6 210 2318 -160a3 9 206 2318 -FUNC 160ac e6 c _dupenv_s -160ac c 303 2318 -160b8 8 306 2318 -160c0 5 307 2318 -160c5 af 311 2318 -16174 c 314 2318 -16180 3 318 2318 -16183 6 319 2318 -16189 9 315 2318 -FUNC 16192 8 4 _tolower -16192 0 48 3943 -16192 7 49 3943 -16199 1 50 3943 -FUNC 1619a 117 8 _tolower_l -1619a 8 70 3943 -161a2 b 74 3943 -161ad c 77 3943 -161b9 31 79 3943 -161ea f 80 3943 -161f9 14 82 3943 -1620d 2b 86 3943 -16238 3 88 3943 -1623b d 91 3943 -16248 2 92 3943 -1624a b 94 3943 -16255 a 97 3943 -1625f 25 110 3943 -16284 6 112 3943 -1628a 5 116 3943 -1628f 6 117 3943 -16295 1a 119 3943 -162af 2 120 3943 -FUNC 162b1 27 4 tolower -162b1 0 143 3943 -162b1 9 145 3943 -162ba f 147 3943 -162c9 1 153 3943 -162ca d 151 3943 -162d7 1 153 3943 -FUNC 162d8 82 c _iswctype_l -162d8 6 66 4124 -162de 8 69 4124 -162e6 6 70 4124 -162ec 8 71 4124 -162f4 18 72 4124 -1630c 2 73 4124 -1630e b 75 4124 -16319 25 85 4124 -1633e 3 86 4124 -16341 d 87 4124 -1634e a 89 4124 -16358 2 90 4124 -FUNC 1635a 6e 8 iswctype -1635a 4 96 4124 -1635e 8 97 4124 -16366 2 99 4124 -16368 2 122 4124 -1636a 8 101 4124 -16372 14 103 4124 -16386 2 122 4124 -16388 9 106 4124 -16391 25 117 4124 -163b6 10 121 4124 -163c6 2 122 4124 -FUNC 163c8 5 8 is_wctype -163c8 0 148 4124 -163c8 5 149 4124 -FUNC 163d0 61 c __ascii_strnicmp -163d0 6 69 538 -163d6 3 75 538 -163d9 2 76 538 -163db 2 77 538 -163dd 3 79 538 -163e0 3 80 538 -163e3 2 82 538 -163e5 2 83 538 -163e7 5 84 538 -163ec 2 89 538 -163ee 2 91 538 -163f0 2 93 538 -163f2 2 95 538 -163f4 2 97 538 -163f6 2 98 538 -163f8 3 100 538 -163fb 3 101 538 -163fe 2 103 538 -16400 2 104 538 -16402 2 106 538 -16404 2 107 538 -16406 2 109 538 -16408 2 112 538 -1640a 2 113 538 -1640c 2 115 538 -1640e 2 116 538 -16410 2 118 538 -16412 2 121 538 -16414 2 122 538 -16416 3 124 538 -16419 2 125 538 -1641b 2 128 538 -1641d 2 129 538 -1641f 2 130 538 -16421 5 133 538 -16426 2 134 538 -16428 2 135 538 -1642a 2 138 538 -1642c 5 140 538 -FUNC 16431 ec 10 _mbsnbicoll_l -16431 7 53 2932 -16438 b 55 2932 -16443 9 57 2932 -1644c 13 58 2932 -1645f 33 61 2932 -16492 6 62 2932 -16498 23 63 2932 -164bb 8 65 2932 -164c3 14 66 2932 -164d7 23 74 2932 -164fa 10 75 2932 -1650a 11 77 2932 -1651b 2 79 2932 -FUNC 1651d 17 c _mbsnbicoll -1651d 0 85 2932 -1651d 16 86 2932 -16533 1 87 2932 -FUNC 16534 95 0 __wtomb_environ -16534 7 43 1113 -1653b 3 44 1113 -1653e 9 45 1113 -16547 c 52 1113 -16553 12 57 1113 -16565 11 61 1113 -16576 12 65 1113 -16588 10 72 1113 -16598 5 74 1113 -1659d 9 76 1113 -165a6 3 77 1113 -165a9 9 81 1113 -165b2 5 84 1113 -165b7 2 85 1113 -165b9 5 58 1113 -165be 9 67 1113 -165c7 2 68 1113 -FUNC 165c9 1a 8 strnlen -165c9 0 38 531 -165c9 19 45 531 -165e2 1 49 531 -FUNC 165e3 224 1c __crtGetStringTypeW_stat -165e3 10 64 1242 -165f3 9 72 1242 -165fc 7 73 1242 -16603 14 75 1242 -16617 11 79 1242 -16628 8 80 1242 -16630 b 82 1242 -1663b f 83 1242 -1664a 4 88 1242 -1664e 13 90 1242 -16661 7 95 1242 -16668 2 199 1242 -1666a 8 119 1242 -16672 b 120 1242 -1667d 5 121 1242 -16682 b 122 1242 -1668d e 128 1242 -1669b 5 130 1242 -166a0 3 131 1242 -166a3 1d 142 1242 -166c0 6 143 1242 -166c6 40 146 1242 -16706 3 147 1242 -16709 6 148 1242 -1670f d 150 1242 -1671c 1a 160 1242 -16736 4d 164 1242 -16783 4 165 1242 -16787 5 170 1242 -1678c b 171 1242 -16797 3 174 1242 -1679a 23 178 1242 -167bd 12 186 1242 -167cf f 189 1242 -167de 4 187 1242 -167e2 7 191 1242 -167e9 8 194 1242 -167f1 4 196 1242 -167f5 12 200 1242 -FUNC 16807 3e 1c __crtGetStringTypeW -16807 6 211 1242 -1680d b 212 1242 -16818 2b 222 1242 -16843 2 223 1242 -FUNC 16845 1a 4 strncnt -16845 0 50 2759 -16845 6 51 2759 -1684b 6 54 2759 -16851 1 55 2759 -16852 5 54 2759 -16857 7 57 2759 -1685e 1 58 2759 -FUNC 1685f 389 18 __crtCompareStringA_stat -1685f 10 96 2759 -1686f 31 280 2759 -168a0 c 107 2759 -168ac b 109 2759 -168b7 a 110 2759 -168c1 5 118 2759 -168c6 1b 119 2759 -168e1 7 122 2759 -168e8 1f 123 2759 -16907 6 120 2759 -1690d 7 121 2759 -16914 3 124 2759 -16917 2 125 2759 -16919 17 130 2759 -16930 7 189 2759 -16937 8 201 2759 -1693f 8 202 2759 -16947 d 208 2759 -16954 5 214 2759 -16959 8 215 2759 -16961 2 218 2759 -16963 6 219 2759 -16969 5 222 2759 -1696e 4 223 2759 -16972 f 231 2759 -16981 2 232 2759 -16983 5 237 2759 -16988 4 239 2759 -1698c 2 240 2759 -1698e 10 244 2759 -1699e a 246 2759 -169a8 7 244 2759 -169af 2 262 2759 -169b1 5 253 2759 -169b6 6 255 2759 -169bc 8 256 2759 -169c4 10 260 2759 -169d4 11 262 2759 -169e5 7 260 2759 -169ec 2 262 2759 -169ee 1a 280 2759 -16a08 6 281 2759 -16a0e 4d 284 2759 -16a5b 4 285 2759 -16a5f 6 286 2759 -16a65 19 295 2759 -16a7e 17 305 2759 -16a95 46 309 2759 -16adb 4 310 2759 -16adf 13 320 2759 -16af2 17 326 2759 -16b09 7 328 2759 -16b10 8 331 2759 -16b18 9 333 2759 -16b21 4 132 2759 -16b25 5 137 2759 -16b2a 8 138 2759 -16b32 5 139 2759 -16b37 8 140 2759 -16b3f e 142 2759 -16b4d 6 143 2759 -16b53 5 148 2759 -16b58 19 155 2759 -16b71 2 156 2759 -16b73 6 157 2759 -16b79 19 163 2759 -16b92 4 164 2759 -16b96 7 166 2759 -16b9d 5 167 2759 -16ba2 3 169 2759 -16ba5 3 170 2759 -16ba8 18 178 2759 -16bc0 6 179 2759 -16bc6 6 181 2759 -16bcc 8 182 2759 -16bd4 2 184 2759 -16bd6 12 337 2759 -FUNC 16be8 40 20 __crtCompareStringA -16be8 6 349 2759 -16bee b 350 2759 -16bf9 2d 361 2759 -16c26 2 362 2759 -FUNC 16c28 f8 10 _strnicoll_l -16c28 7 55 277 -16c2f b 57 277 -16c3a 9 59 277 -16c43 13 60 277 -16c56 33 63 277 -16c89 6 64 277 -16c8f 23 65 277 -16cb2 a 67 277 -16cbc 15 68 277 -16cd1 21 78 277 -16cf2 b 80 277 -16cfd 10 81 277 -16d0d 11 84 277 -16d1e 2 85 277 -FUNC 16d20 27 c _strnicoll -16d20 3 92 277 -16d23 9 93 277 -16d2c 1 101 277 -16d2d 5 95 277 -16d32 13 99 277 -16d45 2 101 277 -FUNC 16d47 4d 4 findenv -16d47 1 387 1450 -16d48 8 390 1450 -16d50 12 394 1450 -16d62 d 399 1450 -16d6f 9 390 1450 -16d78 e 407 1450 -16d86 1 408 1450 -16d87 c 400 1450 -16d93 1 408 1450 -FUNC 16d94 5d 0 copy_environ -16d94 4 428 1450 -16d98 2 429 1450 -16d9a 6 434 1450 -16da0 2 464 1450 -16da2 7 438 1450 -16da9 8 439 1450 -16db1 14 443 1450 -16dc5 8 444 1450 -16dcd 6 448 1450 -16dd3 11 458 1450 -16de4 4 448 1450 -16de8 2 461 1450 -16dea 5 463 1450 -16def 2 464 1450 -FUNC 16df1 24c 8 __crtsetenv -16df1 6 76 1450 -16df7 2c 89 1450 -16e23 2 91 1450 -16e25 1c 98 1450 -16e41 5 114 1450 -16e46 13 125 1450 -16e59 c 126 1450 -16e65 4 130 1450 -16e69 d 153 1450 -16e76 9 155 1450 -16e7f b 100 1450 -16e8a 6 101 1450 -16e90 2 356 1450 -16e92 3 164 1450 -16e95 6 165 1450 -16e9b f 171 1450 -16eaa 2 172 1450 -16eac 2 173 1450 -16eae 8 176 1450 -16eb6 f 178 1450 -16ec5 2 179 1450 -16ec7 2 180 1450 -16ec9 6 196 1450 -16ecf 5 197 1450 -16ed4 2 200 1450 -16ed6 10 207 1450 -16ee6 9 210 1450 -16eef a 216 1450 -16ef9 6 218 1450 -16eff 5 235 1450 -16f04 5 238 1450 -16f09 5 241 1450 -16f0e c 222 1450 -16f1a 4 221 1450 -16f1e 1d 230 1450 -16f3b 2 233 1450 -16f3d 9 245 1450 -16f46 4 250 1450 -16f4a 2 251 1450 -16f4c 2f 255 1450 -16f7b 8 258 1450 -16f83 3 259 1450 -16f86 5 262 1450 -16f8b 5 264 1450 -16f90 21 287 1450 -16fb1 25 289 1450 -16fd6 21 338 1450 -16ff7 4 339 1450 -16ffb b 343 1450 -17006 7 346 1450 -1700d 5 349 1450 -17012 8 351 1450 -1701a 6 352 1450 -17020 8 355 1450 -17028 8 271 1450 -17030 6 274 1450 -17036 7 276 1450 -FUNC 1703d 50 4 _strdup -1703d 1 66 568 -1703e b 70 568 -17049 6 71 568 -1704f 9 73 568 -17058 e 77 568 -17066 1c 80 568 -17082 4 81 568 -17086 6 84 568 -1708c 1 85 568 -FUNC 1708d ba c _mbschr_l -1708d 7 53 2982 -17094 b 55 2982 -1709f 32 58 2982 -170d1 8 60 2982 -170d9 d 61 2982 -170e6 a 65 2982 -170f0 7 67 2982 -170f7 10 69 2982 -17107 3 70 2982 -1710a 8 72 2982 -17112 d 63 2982 -1711f 8 76 2982 -17127 e 77 2982 -17135 10 79 2982 -17145 2 80 2982 -FUNC 17147 13 8 _mbschr -17147 0 86 2982 -17147 12 87 2982 -17159 1 88 2982 -FUNC 17170 be 8 strchr -17170 0 60 595 -17170 2 68 595 -17172 4 69 595 -17176 1 73 595 -17177 2 74 595 -17179 3 75 595 -1717c 4 76 595 -17180 6 77 595 -17186 2 78 595 -17188 2 81 595 -1718a 3 82 595 -1718d 2 83 595 -1718f 2 84 595 -17191 2 85 595 -17193 2 86 595 -17195 6 87 595 -1719b 2 88 595 -1719d 2 91 595 -1719f 1 92 595 -171a0 2 93 595 -171a2 3 94 595 -171a5 1 95 595 -171a6 2 96 595 -171a8 2 101 595 -171aa 5 102 595 -171af 2 104 595 -171b1 2 105 595 -171b3 2 107 595 -171b5 2 108 595 -171b7 2 110 595 -171b9 3 111 595 -171bc 3 113 595 -171bf 2 114 595 -171c1 2 116 595 -171c3 3 117 595 -171c6 6 119 595 -171cc 2 120 595 -171ce 5 124 595 -171d3 2 125 595 -171d5 5 127 595 -171da 2 128 595 -171dc 6 130 595 -171e2 2 131 595 -171e4 1 134 595 -171e5 1 135 595 -171e6 1 137 595 -171e7 2 138 595 -171e9 1 139 595 -171ea 3 142 595 -171ed 2 143 595 -171ef 2 144 595 -171f1 2 145 595 -171f3 2 146 595 -171f5 2 147 595 -171f7 2 148 595 -171f9 2 149 595 -171fb 2 150 595 -171fd 3 151 595 -17200 2 152 595 -17202 2 153 595 -17204 2 154 595 -17206 2 155 595 -17208 2 156 595 -1720a 2 157 595 -1720c 2 158 595 -1720e 2 159 595 -17210 2 160 595 -17212 1 163 595 -17213 1 164 595 -17214 3 165 595 -17217 1 166 595 -17218 1 167 595 -17219 3 170 595 -1721c 1 171 595 -1721d 1 172 595 -1721e 1 173 595 -1721f 1 174 595 -17220 3 177 595 -17223 1 178 595 -17224 1 179 595 -17225 1 180 595 -17226 1 181 595 -17227 3 184 595 -1722a 1 185 595 -1722b 1 186 595 -1722c 1 187 595 -1722d 1 188 595 -PUBLIC 17176 0 __from_strstr_to_strchr -STACK WIN 4 1060 54 6 0 8 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10c0 a 3 0 0 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10f0 21 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1120 14 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1140 16 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1160 1e 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1190 10 7 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 11b0 7 3 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 11c0 2c 7 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 11f7 f 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1206 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1214 1c 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1215 18 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1230 f 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 123f 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1247 1b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1262 1c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 127e 1f 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 129d 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12a1 b 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12ac 5 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12b1 5 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12b6 a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12c0 a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12ca a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12d4 a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12de a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12e8 24 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 130c 41 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 134d 1b6 c 0 0 c 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14c5 14 0 0 0 c 2c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 1503 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 150d 22 3 0 18 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 152f 70 c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1596 8 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 159f f5 c 0 8 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1688 b 0 0 8 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 1694 70 c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16fb 8 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 1704 31 3 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1735 eb c 0 8 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1814 b 0 0 8 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 1820 53 c 0 4 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 186a 8 0 0 4 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 1908 8e c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 195e 8 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 1996 3d 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19d3 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 19e1 24 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a05 26 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a2b 15 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a40 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a49 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a52 18 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a53 16 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a6a 20 1 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a6b 1e 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a8a 37 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1a8f 31 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1ac1 3c 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1ac6 36 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1afd 3c 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b02 36 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b39 3c 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b3e 36 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b75 3c 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1b7a 36 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1bb1 37 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1bb6 31 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1be8 37 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1bed 31 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c1f 92 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c5d 34 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1c5e 32 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1cb1 e2 c 0 c c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1d7b 11 0 0 c c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 1d93 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1da4 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1db5 f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1dc4 f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1dd3 4c 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1dd4 4a 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1e1f 1a0 8 0 4 0 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1e21 19c 6 0 4 4 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 1e26 196 1 0 4 8 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 1e27 194 0 0 4 c 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 1e44 176 0 0 4 10 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 20 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 1fbf 20 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1fdf 39 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2018 1 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2019 32 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2024 1c 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 204b 15e 6 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2051 156 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2069 13d 0 0 8 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 206f 136 0 0 8 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 21a9 1b 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 21c4 db b 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 21c5 c3 a 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 21ce b9 1 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 21cf b7 0 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 221e 67 0 0 0 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 16 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 229f a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 22a9 198 e 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 22b1 187 6 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 22b7 180 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 2441 b9 11 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2448 b0 a 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 2451 a6 1 0 0 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 2452 a4 0 0 0 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 24fa 135 b 0 0 0 8 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2502 12a 3 0 0 4 8 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 12 - ^ = -STACK WIN 4 2503 128 2 0 0 8 8 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 16 - ^ = $ebx $T0 12 - ^ = -STACK WIN 4 2504 126 1 0 0 c 8 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 16 - ^ = $ebx $T0 12 - ^ = -STACK WIN 4 2505 124 0 0 0 10 8 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 16 - ^ = $ebx $T0 12 - ^ = -STACK WIN 4 262f 240 c 0 0 c 64 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2858 4 0 0 0 c 64 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 286f 4c 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2870 4a 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2871 48 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 28bb 24 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 28bc 22 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 28bd 20 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 28df 24 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 28e0 22 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 28e1 20 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2903 6c 7 0 0 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2909 64 1 0 0 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 290a 62 0 0 0 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 292a 41 0 0 0 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 296f 6e 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2970 6c 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 29dd 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 29e6 6e 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 29e7 6c 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2a54 9 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2a5d 15 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2a72 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2a78 32 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2a79 30 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2aaa 19 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2ac3 3d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2b00 bf c 0 8 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2bb6 8 0 0 8 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 2bbf 77 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2bc0 75 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2bc1 71 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2c36 18 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2c37 16 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2c4e 121 c 0 4 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2d57 b 0 0 4 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 2d63 b 0 0 4 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 2d6f 69 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2d79 4b 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2d82 25 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2dd8 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2dde 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2de4 184 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2de5 182 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2e00 166 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 2f68 5b 6 0 0 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2f6e 43 0 0 0 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 2fc3 5a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 301d 74 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 301e 72 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = -STACK WIN 4 302a 53 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 3031 4b 0 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 303c 30 0 0 0 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 3091 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3100 24 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3130 196 14 0 10 0 14 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3134 d3 10 0 10 4 14 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 24 - ^ = -STACK WIN 4 3139 cd b 0 10 8 14 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 28 - ^ = $ebx $T0 24 - ^ = -STACK WIN 4 313a cb a 0 10 c 14 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 28 - ^ = $ebx $T0 24 - ^ = -STACK WIN 4 3144 c0 0 0 10 10 14 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 28 - ^ = $ebx $T0 24 - ^ = -STACK WIN 4 32c6 94 15 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 32da 7e 1 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 32db 7c 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 32f7 5f 0 0 0 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 335a a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3364 fc 1c 0 14 4 328 0 1 $T0 $ebp 680 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 3460 22 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3461 20 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3482 d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 348f 9 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 3498 24 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 34bc 10 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 34cc 9 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 34d5 49 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 34d6 3b 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 34d7 39 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 351e 55 8 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 351f 53 7 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 3526 4b 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 352c 2a 0 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 3573 15 3 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 3588 18 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 35a0 c3 c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 365a 8 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 3663 31 7 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 366a 28 0 0 4 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 3694 65 b 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3699 5f 6 0 c 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 369e 59 1 0 c 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 369f 57 0 0 c c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 378b 6 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3791 1b 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 37ac 26 3 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 37ad 24 2 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 37d2 63 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3835 474 a 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 383c 42e 3 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 383d 42c 2 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 383e 42a 1 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 383f 428 0 0 0 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 3ca9 b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3cb4 d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3cc1 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3ccf e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3cdd e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3ceb e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3cf9 12 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3d0b e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3d19 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3d27 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3d35 b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3d40 b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3d4b b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3d56 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3d64 b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3d6f e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3d7d 19 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3d96 84 13 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3d97 80 12 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3d98 7e 11 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3dbe 57 0 0 8 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 12 - ^ = -STACK WIN 4 3e1a d 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3e27 12 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3e39 9c 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3e4c 86 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3ed5 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3edf 5 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3ee4 7 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3eeb a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3ef5 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3efd a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3f07 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3f11 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3f19 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3f23 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3f2b a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3f35 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3f3d a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3f47 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3f4f 7b 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3f52 75 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3fca 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3fd3 25 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 3ff8 d 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4005 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4009 29 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 401b f 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4032 16 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4048 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 404c 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4050 1b 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 406b 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 406f 2f 6 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 409e 25 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 40c3 4 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 40c7 d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 40d4 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 40e2 20 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4102 25 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4127 33 6 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 415a 34 6 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 418e 13 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 41a1 56 8 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 41a7 4d 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 41f7 61 b 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 41f8 5d a 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 41f9 59 9 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4258 17 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 426f 15 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4284 14 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4298 e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 42a6 14 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 42ba 25 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 42bb 23 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 42c7 14 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 42df 38 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 42e0 36 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 42e1 32 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4317 91 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 431b 89 3 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 431c 87 2 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4351 40 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 43a8 35 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 43ab 2f 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 43dd 81 b 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 43de 7d a 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 43df 79 9 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 445e 1e 3 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 445f 1c 2 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 447c 47 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 447d 43 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 44c3 47 7 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 44c4 45 6 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 44c5 43 5 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 44c6 41 4 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 450a 65 11 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 450b 61 10 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 4510 5b b 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 4511 57 a 0 8 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 456f 12 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4581 31 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 45b2 f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 45c1 f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 45d0 1d 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 45ed 33 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4620 73 7 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4624 6b 3 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4625 5b 2 0 14 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4693 2f 3 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 46c2 f 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 46d1 79 4 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 46d2 75 3 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 46d3 71 2 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 474a 68 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 474b 64 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 47b2 a6 3 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 47b3 a2 2 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 47d3 81 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 47e5 6e 0 0 8 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 4858 26 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4859 22 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 487e 31 7 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4883 29 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 48af d0 7 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 48b3 b3 3 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 48b4 b1 2 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 48c3 9f 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 497f 69 13 0 8 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4990 4f 2 0 8 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 4991 4b 1 0 8 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 4992 49 0 0 8 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 49e8 96 22 0 8 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 49fc 79 e 0 8 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4a0a 66 0 0 8 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4a2f 29 0 0 8 c 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 4a7e 2e 1 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4a7f 2a 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4aac 62 8 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4aad 5e 7 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4aae 5a 6 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4b0e 8b a 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4b0f 87 9 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4b10 83 8 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4b99 1c 9 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4b9a 18 8 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4bb5 2a 7 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4bba 22 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4bdf a6 5 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4c85 37 3 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4cbc 51 1 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4cbd 4d 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4d0d 2e 1 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4d0e 2a 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4d3b 6a a 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4d3c 66 9 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 4d43 5e 2 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 4da5 6c a 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4da6 68 9 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4da7 64 8 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4e11 e0 e 0 4 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4e18 d7 7 0 4 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4e1f cd 0 0 4 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4e3a b1 0 0 4 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 4ef1 4f 6 0 8 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4ef7 47 0 0 8 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4f40 22 5 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4f62 22 5 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4f84 22 5 0 c 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 4fa6 2e 1 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4fa7 2a 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4fd4 2e 1 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 4fd5 2a 0 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5002 141 7 0 8 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5009 138 0 0 8 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 508a b3 0 0 8 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 508b b1 0 0 8 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 5143 d4 6 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5217 c4 e 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 52db 7e d 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5359 125 11 0 10 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 536a 112 0 0 10 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 547e 15f f 0 8 0 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 548d 4a 0 0 8 4 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 54e5 b3 0 0 8 8 28 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 55dd 31 6 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 560e 12 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5620 12 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5632 12 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5644 150 7 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 564b 147 0 0 8 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5794 a0 6 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5834 50 5 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5884 2bb 2b 0 4 0 d0 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 589f 296 10 0 4 4 d0 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 58a8 28a 7 0 4 8 d0 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 58af 282 0 0 4 c d0 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 5b3f d9 b 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5bad 17 0 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5c18 14 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 5c2c 1b8 18 0 4 0 60 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5c3d 1a0 7 0 4 4 60 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5c44 18d 0 0 4 8 60 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5c65 168 0 0 4 c 60 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 108 - ^ = -STACK WIN 4 5de4 56f 22 0 c 0 a0 0 1 $T0 $ebp 108 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 5df8 97 e 0 c 4 a0 0 1 $T0 $ebp 108 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 164 - ^ = -STACK WIN 4 5e06 88 0 0 c 8 a0 0 1 $T0 $ebp 108 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 164 - ^ = -STACK WIN 4 6353 153 10 0 8 0 d0 0 1 $T0 $ebp 112 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 6377 11b 0 0 8 4 d0 0 1 $T0 $ebp 112 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 637e 113 0 0 8 8 d0 0 1 $T0 $ebp 112 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 6387 109 0 0 8 c d0 0 1 $T0 $ebp 112 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 212 - ^ = -STACK WIN 4 64a6 1ea 1b 0 8 0 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 64c1 1c8 0 0 8 4 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 6549 111 0 0 8 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 64 - ^ = -STACK WIN 4 654a 10f 0 0 8 c 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 64 - ^ = -STACK WIN 4 6690 e4 15 0 4 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 6697 db e 0 4 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 66a5 ca 0 0 4 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 6774 f 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 6783 100 19 0 4 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 678f f2 d 0 4 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 679c e4 0 0 4 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 6883 46 3 0 4 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 68c9 92 6 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 695b b42 14 0 8 0 6c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 6966 b35 9 0 8 4 6c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 696f b2b 0 0 8 8 6c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 69d8 abe 0 0 8 c 6c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 120 - ^ = -STACK WIN 4 749d 211 13 0 4 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 74a4 208 c 0 4 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 74b0 1fb 0 0 4 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 76ae 28b 1f 0 4 0 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 76ba 27a 13 0 4 4 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 76bb 278 12 0 4 8 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 76cd 263 0 0 4 c 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 7939 341 d 0 8 0 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 797e 2f7 0 0 8 4 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 79e5 28f 0 0 8 8 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 79e6 28d 0 0 8 c 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 52 - ^ = -STACK WIN 4 7c7a 4e4 18 0 14 0 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 7c88 4d4 a 0 14 4 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 88 - ^ = -STACK WIN 4 7c89 4d2 9 0 14 8 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 88 - ^ = -STACK WIN 4 7c92 4c8 0 0 14 c 54 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 88 - ^ = -STACK WIN 4 815e 14c 6 0 0 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 82aa 116 5 0 10 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 82cb 59 0 0 10 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 83c0 1b 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 83db 1b 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 83f6 1b 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8411 a3 f 0 18 c 94 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 84ab 8 0 0 18 c 94 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 84b4 a3 f 0 1c c 94 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 854e 8 0 0 1c c 94 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 8557 387 12 0 8 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8567 350 2 0 8 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 8568 34e 1 0 8 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 8569 34c 0 0 8 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 88de 13e 7 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 88e5 135 0 0 8 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8a1c b1 6 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8acd 64 7 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8ad4 5b 0 0 8 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8b31 4f c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8b77 8 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 8b80 75 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8bc8 2c 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8bf5 c3 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8bf6 c1 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = -STACK WIN 4 8c04 9c 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 8c0b 94 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 8c0c 90 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 8cb8 3b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8cf3 13 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8d06 13 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8d19 1e 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8d1a 1c 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8d37 1b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8d52 2a 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8d53 28 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8d7c 1b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8d97 2a 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8d98 28 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8dc1 21 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8de2 46 b 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8ded 3a 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8e28 3c 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8e2d 36 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8e64 48 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8eac 2b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 8ed7 314 11 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8ee4 305 4 0 8 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8ee8 300 0 0 8 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 8f15 2d2 0 0 8 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 91eb b0 d 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 91f1 a9 7 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 91f8 a1 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 929b 106 11 0 4 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 92a7 f8 5 0 4 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 92a8 f6 4 0 4 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 92ac f1 0 0 4 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 93a1 2df 12 0 c 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 93ae 2d0 5 0 c 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 93af 2ce 4 0 c 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 93b3 2c9 0 0 c c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 9680 cd 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 974d 2e2 f 0 0 0 138 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 975c 294 0 0 0 4 138 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 316 - ^ = -STACK WIN 4 9771 27e 0 0 0 8 138 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 316 - ^ = -STACK WIN 4 9774 27a 0 0 0 c 138 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 316 - ^ = -STACK WIN 4 9a2f a8 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9a30 a6 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9a78 5d 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9ad7 2e3 2a 0 4 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9afb 2bd 6 0 4 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 9b00 2b7 1 0 4 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 9b01 2b5 0 0 4 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 9dba 39 c 0 0 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9dda 4 0 0 0 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 9df3 13 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9e06 37 c 0 0 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9e2a 4 0 0 0 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 9e3d 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9e4e b9 5 0 4 0 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9e50 b5 3 0 4 4 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 9e51 b3 2 0 4 8 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 12 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 9e52 b1 1 0 4 c 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 12 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 9e53 af 0 0 4 10 4 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 12 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 9f07 2f 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9f08 2d 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9f36 3c c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 9f6c 5 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 9f72 12 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9f84 1f 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9f85 1d 1 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9f86 1b 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9fb0 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9fe0 42 18 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 9fee 33 a 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 9fef 31 9 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 9ff8 27 0 0 8 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 a030 bb 33 0 4 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 a04a a1 19 0 4 10 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 a0b9 14 0 0 4 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 a0eb 19 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a104 9b c 0 4 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 a17d 9 0 0 4 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 a19f 34 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a1aa 1d 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a1d3 d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a1e0 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a1e9 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a1f2 23d c 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 a3e7 b 0 0 8 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 a42f 1b0 c 0 4 c 30 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 a59d 14 0 0 4 c 30 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 a5df a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a5e9 104 3 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a5ea 102 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = -STACK WIN 4 a5eb 100 1 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = -STACK WIN 4 a5ec fe 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = -STACK WIN 4 a625 c4 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $ebx $T0 16 - ^ = -STACK WIN 4 a6ed 15a 24 0 14 0 94 0 1 $T0 $ebp 100 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 a706 bc b 0 14 4 94 0 1 $T0 $ebp 100 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 152 - ^ = -STACK WIN 4 a707 b8 a 0 14 8 94 0 1 $T0 $ebp 100 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 152 - ^ = -STACK WIN 4 a711 ad 0 0 14 c 94 0 1 $T0 $ebp 100 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 152 - ^ = -STACK WIN 4 a847 a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a851 a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a85b 10 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a86b c5 c 0 8 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 a8f1 17 0 0 8 c 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 a930 a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a93a 31 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a93b 2f 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a96b 9 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a974 d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a981 22 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 a9a3 1bd 9 0 c 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 a9aa 1b4 2 0 c 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 a9ab 1b2 1 0 c 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 a9ac 1b0 0 0 c c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 ab60 71 b 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ab65 6b 6 0 c 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 ab6a 65 1 0 c 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 ab6b 63 0 0 c c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 abd1 b3 e 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 abd5 1a a 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 abd6 2e 9 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 abdf e 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 ac84 46 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ac89 40 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 acca a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 acd4 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 acda 21 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 acdb 1f 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 acfb 10 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ad0b 40 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ad0c 3e 1 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ad0d 3c 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ad4b 48 2 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ad4c 46 1 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ad4d 44 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ad93 4b 2 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ad94 49 1 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ad95 47 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 adde 50 2 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 addf 4e 1 0 c 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ade0 4c 0 0 c 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ae2e 8 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ae36 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ae40 a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ae4a e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ae58 3 2 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ae5b 2f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ae8a 55 b 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ae8b 53 a 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 ae8c 51 9 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 ae8d 4f 8 0 0 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 ae8e 4d 7 0 0 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 aedf 18a 1d 0 0 0 51c 0 1 $T0 $ebp 1180 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 aefb 161 1 0 0 4 51c 0 1 $T0 $ebp 1180 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 1312 - ^ = -STACK WIN 4 aefc 15d 0 0 0 8 51c 0 1 $T0 $ebp 1180 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 1312 - ^ = -STACK WIN 4 b069 a4 c 0 0 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b101 b 0 0 0 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 b10d 82 9 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b114 78 2 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b18f 7a 7 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b196 71 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 b209 1d9 19 0 8 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b21a 1c1 8 0 8 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 b21e 1ba 4 0 8 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 b222 1b5 0 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 b3e2 3c 6 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b41e 19a c 0 4 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b57f 8 0 0 4 c 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 b5b8 1e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b5d6 51 6 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b627 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b63c 13 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b64f 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b664 13 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b677 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b68c 13 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b69f 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b6b7 16 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b6cd 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b6e5 16 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b6fb 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b713 16 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b729 18 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b741 16 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b757 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b76c 13 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b77f 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b794 13 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b7a7 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b7bc 13 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 b7cf 53 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 b822 e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 bb95 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 bb9b 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 bba1 140 12 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 bba2 13e 11 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 bba3 13c 10 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 bba4 13a f 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 bbb3 12a 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 bce1 86 8 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 bce2 84 7 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 bce3 82 6 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 bce4 80 5 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 bce9 7a 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 bd67 8c 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 bd68 8a 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 bd71 7e 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 bd72 7c 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 12 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 bd73 7a 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 12 - ^ = $ebx $T0 8 - ^ = -STACK WIN 4 bdf3 24 3 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 bdf4 22 2 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 be03 12 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 be17 3e 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 be20 31 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 be55 76 c 0 0 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 bebf 8 0 0 0 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 becb 66 2 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 becc 64 1 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 becd 62 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 bf31 53 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 bf84 96 c 0 4 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 c00e b 0 0 4 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 c01a 5 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c01f 88 c 0 0 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 c09b b 0 0 0 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 c0a7 5 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c0ac 3 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c0af 3e 2 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c0b0 3c 1 0 c 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 c0b1 3a 0 0 c 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 c0bc 2e 0 0 c c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 c0ed 129 6 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 c0f1 123 2 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 c0f2 121 1 0 8 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 c0f3 11f 0 0 8 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 c216 6b 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 c21a 4d 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 c21b 4b 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 c281 171 4 0 0 0 10 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 c285 169 0 0 0 4 10 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 20 - ^ = -STACK WIN 4 c2a4 149 0 0 0 8 10 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 24 - ^ = $ebx $T0 20 - ^ = -STACK WIN 4 c2a5 141 0 0 0 c 10 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 24 - ^ = $ebx $T0 20 - ^ = -STACK WIN 4 c3f2 1d4 1e 0 18 0 b4 0 1 $T0 $ebp 96 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 c40b 1b1 5 0 18 4 b4 0 1 $T0 $ebp 96 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 184 - ^ = -STACK WIN 4 c40c 1ad 4 0 18 8 b4 0 1 $T0 $ebp 96 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 184 - ^ = -STACK WIN 4 c410 1a8 0 0 18 c b4 0 1 $T0 $ebp 96 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 184 - ^ = -STACK WIN 4 c5c6 2f6 17 0 4 0 1c4 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 c5dc 2d6 1 0 4 4 1c4 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 456 - ^ = -STACK WIN 4 c5dd 2d2 0 0 4 8 1c4 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 456 - ^ = -STACK WIN 4 c8bc 1ce 18 0 4 0 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 c8d5 1ab 0 0 4 4 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 c8d6 1a7 0 0 4 8 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 c8dd 19f 0 0 4 c 98 0 1 $T0 $ebp 116 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 156 - ^ = -STACK WIN 4 ca8a f3 7 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ca90 2c 1 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ca91 2a 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 cb7d 5 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 cb82 170 c 0 8 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 cca8 10 0 0 8 c 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 ccb9 b 0 0 8 c 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 ccea 7 0 0 8 c 24 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 ccf2 f 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ce57 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ceda 2a 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 cf04 22 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 cf05 20 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 cf26 d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d014 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d025 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d03a 5 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d03f 5 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d044 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d055 15 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d3d5 f3 23 0 0 4 328 0 1 $T0 $ebp 680 + = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 d4c8 1e 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d4e6 a3 c 0 4 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 d578 10 0 0 4 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 d589 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d592 54 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 d5e6 2b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d611 4f 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 d660 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d689 4f 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 d6d8 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d701 4f 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 d750 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d779 54 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 d7cd 2b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d7f8 4f 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 d847 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d870 4f 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 d8bf 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d8e8 54 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 d93c 2b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d967 54 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 d9bb 2b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 d9e6 54 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 da3a 2b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 da65 4f 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 dab4 29 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 dadd d 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 daea 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 daf2 1f 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 db11 1a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 db2b 1f 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 db4a 1c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 db66 12 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 db78 1b 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 db93 13b 1d 0 18 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 dba8 126 8 0 18 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 dcce 3b 6 0 18 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 dd09 13d 1d 0 18 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 dd1e 128 8 0 18 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 de46 3b 6 0 18 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 de81 11e c 0 c c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 df78 d 0 0 c c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 df9f 3f 9 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 dfa8 34 0 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 dfc1 18 0 0 8 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 dfde 21b c 0 8 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 e11c e 0 0 8 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 e1f9 79 7 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 e200 70 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 e236 39 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 e237 37 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 e272 1a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e28c 3a2 1d 0 20 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 e29d 391 c 0 20 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 e62e 43 6 0 24 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 e671 1b8 1d 0 1c 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 e686 1a3 8 0 1c c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 e829 40 6 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 e869 87 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e8f0 e3 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e9d3 14 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e9e7 14 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 e9fb 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ea01 29 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ea2a 419 6 0 0 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 ea4c 3f5 0 0 0 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 ea4d 3ed 0 0 0 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 ee43 190 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ee44 18e 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 efd3 73 4 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 efd4 71 3 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 efd5 6f 2 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 efd6 6d 1 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 efd7 6b 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 f046 33 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f04d 16 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 f04e 14 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 f079 40 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f07a 3e 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f0b9 1c8 11 0 4 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 f0c0 1bf a 0 4 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 f0c4 1ba 6 0 4 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 f0ca 1b3 0 0 4 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 f281 33 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f288 16 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 f289 14 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 f2b4 89 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f2b5 87 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f33d 2c4 c 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 f344 2bb 5 0 4 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 f345 2b9 4 0 4 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 f349 2b4 0 0 4 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 f601 395 1b 0 4 0 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 f612 37d a 0 4 4 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 f615 377 7 0 4 8 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 f61c 36f 0 0 4 c 48 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 76 - ^ = -STACK WIN 4 f996 29 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f9bf 16 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f9d5 26 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 f9fb 26 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 fa21 26 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 fa47 3 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 fa4a fe 9 0 4 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 fa51 e9 2 0 4 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 fa52 e7 1 0 4 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 fa53 e5 0 0 4 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 fb48 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 fb51 fe 9 0 4 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 fb58 e9 2 0 4 4 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 fb59 e7 1 0 4 8 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 fb5a e5 0 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 fc4f 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 fc58 355 9 0 4 0 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 fc5f 34c 2 0 4 4 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 fc60 348 1 0 4 8 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 fc61 346 0 0 4 c 24 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 40 - ^ = -STACK WIN 4 ffad 9 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ffb6 20 6 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ffba 1b 2 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ffbf 15 0 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ffd6 36 6 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 ffdc 2f 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 1000c 79 8 0 4 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10011 72 3 0 4 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 10012 70 2 0 4 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 10085 3e6 11 0 10 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1008a 3df c 0 10 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 10091 3d7 5 0 10 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 10092 3d5 4 0 10 c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 1046b 45d 1d 0 18 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1047f 449 9 0 18 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 108c8 1af a 0 18 0 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 108d2 1a3 0 0 18 4 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 10918 15c 0 0 18 8 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 1094b 128 0 0 18 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 36 - ^ = -STACK WIN 4 10a77 1e 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10a95 1d 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10ab2 1e 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10ad0 26 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10b46 60 6 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10b4c 56 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 10b55 45 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 10b56 43 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 10ba6 14 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10bba 77 11 0 0 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10bcb 5f 0 0 0 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10c31 1e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10c4f 32 1 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10c50 30 0 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10c81 1b 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 10c9c 96 12 0 4 0 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10cad 7c 1 0 4 4 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10cae 78 0 0 4 8 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10d32 72 11 0 8 0 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10d43 5a 0 0 8 4 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10d7f 13 0 0 8 8 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10da4 1d0 13 0 4 0 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10db5 1b6 2 0 4 4 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 128 - ^ = -STACK WIN 4 10db6 1b2 1 0 4 8 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 128 - ^ = -STACK WIN 4 10db7 1b0 0 0 4 c 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 128 - ^ = -STACK WIN 4 10f74 bf 12 0 4 0 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10f85 a5 1 0 4 4 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 10f86 a1 0 0 4 8 7c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 11033 2c 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1105f 65 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 110c4 3c 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 11100 1e3 4 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 11101 1e1 3 0 c 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 11102 1df 2 0 c 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 11103 1dd 1 0 c c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 11104 1db 0 0 c 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 112e3 12 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 112f5 18 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1130d 40 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1134d 78 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 113c5 1490 4 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 113c6 83f 3 0 0 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 113c7 83d 2 0 0 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 12855 1680 5 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 12859 15f8 1 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1285a 15f6 0 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1288b 86c 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 13ed5 be 9 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 13ede a9 0 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 13ef0 96 0 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 13fe0 104 9 0 0 0 328 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1421b 57 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14272 8f 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14301 22b 8 0 14 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14308 222 1 0 14 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14309 220 0 0 14 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14367 1c1 0 0 14 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 32 - ^ = -STACK WIN 4 1452c 29 3 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14555 1b 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14570 2a 3 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1459a 1b 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 145b5 294 8 0 14 0 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 145bc 28b 1 0 14 4 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 145bd 289 0 0 14 8 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 14619 1f9 0 0 14 c 38 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 60 - ^ = -STACK WIN 4 14849 29 3 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14872 1b 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1488d 2a 3 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 148b7 1b 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 148d2 b6 7 0 c 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 148d9 ad 0 0 c 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 14988 2f 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 149ec 47 10 0 4 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14a33 1b2 2a 0 18 8 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14a50 195 d 0 18 c 34 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 56 - ^ = -STACK WIN 4 14be5 50 c 0 0 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14c02 1c 0 0 0 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 14c35 60 9 0 0 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14c3e 57 0 0 0 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 14c95 d 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14ca2 34 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14ca7 2e 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14cd6 34 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14cdb 2e 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14d0a 34 5 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14d0f 2e 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14d3e a2 c 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 14d45 99 5 0 10 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 14d4a 93 0 0 10 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 14d58 84 0 0 10 c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 14de0 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14de6 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14dec 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14df2 6 0 0 0 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14df8 c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14e04 c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14e10 c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 14e1c 349 c 0 0 c 3c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 150c6 d 0 0 0 c 3c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 15165 1f5 14 0 24 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15174 1e4 5 0 24 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 15175 1e2 4 0 24 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 15176 1e0 3 0 24 c c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 1535a 1ae 5 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1535f 15f 0 0 0 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1538f 12e 0 0 0 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 15508 4f c 0 0 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1554e 8 0 0 0 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 15557 38 c 0 0 c 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15586 8 0 0 0 c 18 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 1558f 41 c 0 4 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 155c7 8 0 0 4 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 155d0 35 a 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 155d5 2f 5 0 8 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 155da 27 0 0 8 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15605 d3 7 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1560c ca 0 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1564d 88 0 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 15695 33 0 0 c c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 156d8 50 4 0 8 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 156dc 4a 0 0 8 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15728 36 6 0 8 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1575e e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1576c 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15782 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15793 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 157a6 e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 157b4 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 157c7 e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 157d5 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 157e8 e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 157f6 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1580c 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1581d 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15830 e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1583e 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15851 e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1585f 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15875 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15886 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1589c 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 158ad 16 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 158c3 11 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 158d4 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 158e7 e 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 158f5 c 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15901 26 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15927 21 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15948 26 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1596e 21 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1598f f0 e 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15996 e7 7 0 10 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1599c e0 1 0 10 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1599d de 0 0 10 c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 15a7f 5c 4 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15a83 56 0 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15adb db 8 0 c 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15ae0 d2 3 0 c 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 15ae1 d0 2 0 c 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 15b0b a5 0 0 c c 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 15bb6 28 3 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15bde 25 3 0 10 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15c03 18 0 0 10 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15c1b f6 c 0 14 0 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15c22 eb 5 0 14 4 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 15c27 e5 0 0 14 8 c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 16 - ^ = -STACK WIN 4 15d11 33 3 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15d2c 16 0 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15d44 1d 4 0 14 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15d48 17 0 0 14 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15d9b 81 8 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15da3 70 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 15db2 60 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 15db3 5e 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 8 - ^ = -STACK WIN 4 15e1c 93 7 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15e20 8d 3 0 c 4 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 15e21 8b 2 0 c 8 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 15e60 4b 0 0 c c 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 4 - ^ = -STACK WIN 4 15eaf a2 6 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15eb4 9b 1 0 8 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15eb5 99 0 0 8 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15f51 83 c 0 4 c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 15fcb 8 0 0 4 c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 15fd4 d8 c 0 10 c 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 160a3 8 0 0 10 c 1c 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 160ac e6 c 0 c c 20 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16189 8 0 0 c c 20 0 1 $T0 $ebp = $T2 $esp = $T1 .raSearchStart = $eip $T1 ^ = $ebp $T0 = $esp $T1 4 + = $L $T0 .cbSavedRegs - = $P $T1 4 + .cbParams + = -STACK WIN 4 16192 8 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1619a 117 8 0 8 0 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 161a1 10e 1 0 8 4 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 161a2 10c 0 0 8 8 18 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 28 - ^ = -STACK WIN 4 162b1 27 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 162d8 82 6 0 c 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1635a 6e 4 0 8 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 163c8 5 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 16431 ec 7 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16438 e3 0 0 10 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 16498 82 0 0 10 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 1651d 17 0 0 c 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 16534 95 a 0 0 0 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 1653a 7d 4 0 0 4 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 1653b 7b 3 0 0 8 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 1653e 77 0 0 0 c 8 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 12 - ^ = -STACK WIN 4 165c9 1a 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 165e3 224 17 0 1c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 165f8 20f 2 0 1c c 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 16807 3e 6 0 1c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16845 1a 0 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1685f 389 16 0 18 8 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16873 375 2 0 18 c 2c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 48 - ^ = -STACK WIN 4 16be8 40 6 0 20 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16c28 f8 7 0 10 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16c2f ef 0 0 10 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 16c8f 8e 0 0 10 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 16d20 27 3 0 c 0 0 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16d47 4d 1 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 16d48 48 0 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 16d94 5d 4 0 0 0 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16db0 3f 0 0 0 4 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 16db1 3d 0 0 0 8 4 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 8 - ^ = -STACK WIN 4 16df1 24c f 0 8 0 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 16dfb 95 5 0 8 4 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 16e00 8f 0 0 8 8 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 16e23 6b 0 0 8 c 14 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 24 - ^ = -STACK WIN 4 1703d 50 6 0 4 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 4 1703e 4e 5 0 4 4 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebx $T0 4 - ^ = -STACK WIN 4 17043 48 0 0 4 8 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 1704e 3c 0 0 4 c 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 1704f 3a 0 0 4 10 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 8 - ^ = $ebx $T0 4 - ^ = -STACK WIN 4 1708d ba 7 0 c 0 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = -STACK WIN 4 17094 b1 0 0 c 4 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 170d1 73 0 0 c 8 10 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs - = $P $T0 8 + .cbParams + = $ebx $T0 20 - ^ = -STACK WIN 4 17147 13 0 0 8 0 0 0 1 $T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ = $esp $T0 4 + = -STACK WIN 0 14c5 14 0 0 0 0 0 0 0 0 -STACK WIN 0 1596 9 0 0 0 0 0 0 0 0 -STACK WIN 0 1688 c 0 0 0 0 0 0 0 0 -STACK WIN 0 16fb 9 0 0 0 0 0 0 0 0 -STACK WIN 0 1814 c 0 0 0 0 0 0 0 0 -STACK WIN 0 186a 9 0 0 0 0 0 0 0 0 -STACK WIN 0 1880 88 0 0 8 0 0 0 0 0 -STACK WIN 0 195e 9 0 0 0 0 0 0 0 0 -STACK WIN 0 1d7b 12 0 0 0 0 0 0 0 0 -STACK WIN 0 2858 4 0 0 0 0 0 0 0 0 -STACK WIN 0 2bb6 9 0 0 0 0 0 0 0 0 -STACK WIN 0 2d57 c 0 0 0 0 0 0 0 0 -STACK WIN 0 2d63 c 0 0 0 0 0 0 0 0 -STACK WIN 0 365a 9 0 0 0 0 0 0 0 0 -STACK WIN 0 3700 8b 0 0 4 0 0 0 0 0 -STACK WIN 0 84ab 9 0 0 0 0 0 0 0 0 -STACK WIN 0 854e 9 0 0 0 0 0 0 0 0 -STACK WIN 0 8b77 9 0 0 0 0 0 0 0 0 -STACK WIN 0 9dda 4 0 0 0 0 0 0 0 0 -STACK WIN 0 9e2a 4 0 0 0 0 0 0 0 0 -STACK WIN 0 9f6c 6 0 0 0 0 0 0 0 0 -STACK WIN 0 a0b9 14 0 0 0 0 0 0 0 0 -STACK WIN 0 a17d a 0 0 0 0 0 0 0 0 -STACK WIN 0 a3e7 c 0 0 0 0 0 0 0 0 -STACK WIN 0 a59d 15 0 0 0 0 0 0 0 0 -STACK WIN 0 a8f1 17 0 0 0 0 0 0 0 0 -STACK WIN 0 b101 c 0 0 0 0 0 0 0 0 -STACK WIN 0 b57f 9 0 0 0 0 0 0 0 0 -STACK WIN 0 bebf 9 0 0 0 0 0 0 0 0 -STACK WIN 0 c00e c 0 0 0 0 0 0 0 0 -STACK WIN 0 c09b c 0 0 0 0 0 0 0 0 -STACK WIN 0 cca8 11 0 0 0 0 0 0 0 0 -STACK WIN 0 ccb9 c 0 0 0 0 0 0 0 0 -STACK WIN 0 ccea 8 0 0 0 0 0 0 0 0 -STACK WIN 0 cd04 90 3 0 c c 0 0 0 0 -STACK WIN 0 cd94 46 0 0 10 4 0 0 0 1 -STACK WIN 0 cdf6 17 4 0 0 10 0 0 0 1 -STACK WIN 0 ce0d 19 0 0 0 0 0 0 0 0 -STACK WIN 0 ce40 17 1 0 8 4 0 0 0 1 -STACK WIN 0 ce60 7a 0 0 c 0 0 0 0 0 -STACK WIN 0 d578 11 0 0 0 0 0 0 0 0 -STACK WIN 0 df78 e 0 0 0 0 0 0 0 0 -STACK WIN 0 e11c f 0 0 0 0 0 0 0 0 -STACK WIN 0 14149 84 3 0 8 c 0 0 0 0 -STACK WIN 0 141cd 23 0 0 0 0 0 0 0 0 -STACK WIN 0 14218 3 0 0 0 0 0 0 0 0 -STACK WIN 0 14c02 1c 0 0 0 0 0 0 0 0 -STACK WIN 0 150c6 e 0 0 0 0 0 0 0 0 -STACK WIN 0 1554e 9 0 0 0 0 0 0 0 0 -STACK WIN 0 15586 9 0 0 0 0 0 0 0 0 -STACK WIN 0 155c7 9 0 0 0 0 0 0 0 0 -STACK WIN 0 15fcb 9 0 0 0 0 0 0 0 0 -STACK WIN 0 160a3 9 0 0 0 0 0 0 0 0 -STACK WIN 0 16189 9 0 0 0 0 0 0 0 0 -STACK WIN 0 17170 be 0 0 8 0 0 0 0 0 diff --git a/toolkit/airbag/airbag/src/tools/windows/symupload/symupload.cc b/toolkit/airbag/airbag/src/tools/windows/symupload/symupload.cc deleted file mode 100755 index e2ec640e8db7..000000000000 --- a/toolkit/airbag/airbag/src/tools/windows/symupload/symupload.cc +++ /dev/null @@ -1,202 +0,0 @@ -// Copyright (c) 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Tool to upload an exe/dll and its associated symbols to an HTTP server. -// The PDB file is located automatically, using the path embedded in the -// executable. The upload is sent as a multipart/form-data POST request, -// with the following parameters: -// code_file: the basename of the module, e.g. "app.exe" -// debug_file: the basename of the debugging file, e.g. "app.pdb" -// debug_identifier: the debug file's identifier, usually consisting of -// the guid and age embedded in the pdb, e.g. -// "11111111BBBB3333DDDD555555555555F" -// version: the file version of the module, e.g. "1.2.3.4" -// os: the operating system that the module was built for, always -// "windows" in this implementation. -// cpu: the CPU that the module was built for, typically "x86". -// symbol_file: the contents of the breakpad-format symbol file - -#include -#include -#include - -#include -#include -#include -#include - -#include "common/windows/string_utils-inl.h" - -#include "common/windows/http_upload.h" -#include "common/windows/pdb_source_line_writer.h" - -using std::string; -using std::wstring; -using std::vector; -using std::map; -using google_breakpad::HTTPUpload; -using google_breakpad::PDBModuleInfo; -using google_breakpad::PDBSourceLineWriter; -using google_breakpad::WindowsStringUtils; - -// Extracts the file version information for the given filename, -// as a string, for example, "1.2.3.4". Returns true on success. -static bool GetFileVersionString(const wchar_t *filename, wstring *version) { - DWORD handle; - DWORD version_size = GetFileVersionInfoSize(filename, &handle); - if (version_size < sizeof(VS_FIXEDFILEINFO)) { - return false; - } - - vector version_info(version_size); - if (!GetFileVersionInfo(filename, handle, version_size, &version_info[0])) { - return false; - } - - void *file_info_buffer = NULL; - unsigned int file_info_length; - if (!VerQueryValue(&version_info[0], L"\\", - &file_info_buffer, &file_info_length)) { - return false; - } - - // The maximum value of each version component is 65535 (0xffff), - // so the max length is 24, including the terminating null. - wchar_t ver_string[24]; - VS_FIXEDFILEINFO *file_info = - reinterpret_cast(file_info_buffer); - swprintf(ver_string, sizeof(ver_string) / sizeof(ver_string[0]), - L"%d.%d.%d.%d", - file_info->dwFileVersionMS >> 16, - file_info->dwFileVersionMS & 0xffff, - file_info->dwFileVersionLS >> 16, - file_info->dwFileVersionLS & 0xffff); - - // remove when VC++7.1 is no longer supported - ver_string[sizeof(ver_string) / sizeof(ver_string[0]) - 1] = L'\0'; - - *version = ver_string; - return true; -} - -// Creates a new temporary file and writes the symbol data from the given -// exe/dll file to it. Returns the path to the temp file in temp_file_path -// and information about the pdb in pdb_info. -static bool DumpSymbolsToTempFile(const wchar_t *file, - wstring *temp_file_path, - PDBModuleInfo *pdb_info) { - google_breakpad::PDBSourceLineWriter writer; - // Use EXE_FILE to get information out of the exe/dll in addition to the - // pdb. The name and version number of the exe/dll are of value, and - // there's no way to locate an exe/dll given a pdb. - if (!writer.Open(file, PDBSourceLineWriter::EXE_FILE)) { - return false; - } - - wchar_t temp_path[_MAX_PATH]; - if (GetTempPath(_MAX_PATH, temp_path) == 0) { - return false; - } - - wchar_t temp_filename[_MAX_PATH]; - if (GetTempFileName(temp_path, L"sym", 0, temp_filename) == 0) { - return false; - } - - FILE *temp_file = NULL; -#if _MSC_VER >= 1400 // MSVC 2005/8 - if (_wfopen_s(&temp_file, temp_filename, L"w") != 0) { -#else // _MSC_VER >= 1400 - // _wfopen_s was introduced in MSVC8. Use _wfopen for earlier environments. - // Don't use it with MSVC8 and later, because it's deprecated. - if (!(temp_file = _wfopen(temp_filename, L"w"))) { -#endif // _MSC_VER >= 1400 - return false; - } - - bool success = writer.WriteMap(temp_file); - fclose(temp_file); - if (!success) { - _wunlink(temp_filename); - return false; - } - - *temp_file_path = temp_filename; - - return writer.GetModuleInfo(pdb_info); -} - -int wmain(int argc, wchar_t *argv[]) { - if (argc < 3) { - wprintf(L"Usage: %s \n", argv[0]); - return 0; - } - const wchar_t *module = argv[1], *url = argv[2]; - - wstring symbol_file; - PDBModuleInfo pdb_info; - if (!DumpSymbolsToTempFile(module, &symbol_file, &pdb_info)) { - fwprintf(stderr, L"Could not get symbol data from %s\n", module); - return 1; - } - - wstring code_file = WindowsStringUtils::GetBaseName(wstring(module)); - - map parameters; - parameters[L"code_file"] = code_file; - parameters[L"debug_file"] = pdb_info.debug_file; - parameters[L"debug_identifier"] = pdb_info.debug_identifier; - parameters[L"os"] = L"windows"; // This version of symupload is Windows-only - parameters[L"cpu"] = pdb_info.cpu; - - // Don't make a missing version a hard error. Issue a warning, and let the - // server decide whether to reject files without versions. - wstring file_version; - if (GetFileVersionString(module, &file_version)) { - parameters[L"version"] = file_version; - } else { - fwprintf(stderr, L"Warning: Could not get file version for %s\n", module); - } - - bool success = HTTPUpload::SendRequest(url, parameters, - symbol_file, L"symbol_file", - NULL, NULL); - _wunlink(symbol_file.c_str()); - - if (!success) { - fwprintf(stderr, L"Symbol file upload failed\n"); - return 1; - } - - wprintf(L"Uploaded symbols for windows-%s/%s/%s (%s %s)\n", - pdb_info.cpu.c_str(), pdb_info.debug_file.c_str(), - pdb_info.debug_identifier.c_str(), code_file.c_str(), - file_version.c_str()); - return 0; -} diff --git a/toolkit/airbag/airbag/src/tools/windows/symupload/symupload.vcproj b/toolkit/airbag/airbag/src/tools/windows/symupload/symupload.vcproj deleted file mode 100755 index 49f6e51899e5..000000000000 --- a/toolkit/airbag/airbag/src/tools/windows/symupload/symupload.vcproj +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/toolkit/airbag/client/Makefile.in b/toolkit/airbag/client/Makefile.in deleted file mode 100644 index adcdeb61d710..000000000000 --- a/toolkit/airbag/client/Makefile.in +++ /dev/null @@ -1,112 +0,0 @@ -# vim:set ts=8 sw=8 sts=8 noet: -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is Mozilla Toolkit Crash Reporter -# -# The Initial Developer of the Original Code is -# Ted Mielczarek - -# Portions created by the Initial Developer are Copyright (C) 2005 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - - -DEPTH = ../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -PROGRAM = crashreporter$(BIN_SUFFIX) -DIST_PROGRAM = crashreporter$(BIN_SUFFIX) -REQUIRES = sender - -#XXX: should move to toolkit/locale -DIST_FILES = crashreporter.ini - -LOCAL_INCLUDES = -I$(srcdir)/../airbag/src - -CPPSRCS = crashreporter.cpp - -ifeq ($(OS_ARCH),WINNT) -CPPSRCS += crashreporter_win.cpp -LIBS += \ - $(DEPTH)/toolkit/airbag/airbag/src/client/windows/sender/$(LIB_PREFIX)crash_report_sender_s.$(LIB_SUFFIX) \ - $(DEPTH)/toolkit/airbag/airbag/src/common/windows/$(LIB_PREFIX)breakpad_windows_common_s.$(LIB_SUFFIX) \ - $(NULL) -LOCAL_INCLUDES += -I$(srcdir) -RCINCLUDE = crashreporter.rc -DEFINES += -DUNICODE -D_UNICODE -OS_LIBS += $(call EXPAND_LIBNAME,comctl32 shell32 wininet shlwapi) -MOZ_WINCONSOLE = 0 -endif - -ifeq ($(OS_ARCH),Darwin) -CMMSRCS += crashreporter_osx.mm -OS_LIBS += -framework Cocoa -LIBS += \ - $(DEPTH)/toolkit/airbag/airbag/src/client/mac/handler/$(LIB_PREFIX)exception_handler_s.$(LIB_SUFFIX) \ - $(DEPTH)/toolkit/airbag/airbag/src/common/mac/$(LIB_PREFIX)breakpad_mac_common_s.$(LIB_SUFFIX) \ - $(NULL) - -LOCAL_INCLUDES += -I$(srcdir) -I$(srcdir)/../airbag/src/common/mac/ -endif - -ifeq ($(OS_ARCH),Linux) -CPPSRCS += crashreporter_linux.cpp -LIBS += \ - $(DEPTH)/toolkit/airbag/airbag/src/common/linux/$(LIB_PREFIX)breakpad_linux_common_s.$(LIB_SUFFIX) \ - $(NULL) -LOCAL_INCLUDES += -I$(srcdir) -OS_CXXFLAGS += $(MOZ_GTK2_CFLAGS) -OS_LIBS += $(MOZ_GTK2_LIBS) -lcurl -CPPSRCS += http_upload.cc -FORCE_USE_PIC=1 -endif - -include $(topsrcdir)/config/rules.mk - -ifeq ($(OS_ARCH),Darwin) -libs:: - $(NSINSTALL) -D $(DIST)/bin/crashreporter.app - rsync -a -C --exclude "*.in" $(srcdir)/macbuild/Contents $(DIST)/bin/crashreporter.app - sed -e "s/%APP_NAME%/$(MOZ_APP_DISPLAYNAME)/" $(srcdir)/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in | \ - iconv -f UTF-8 -t UTF-16 > $(DIST)/bin/crashreporter.app/Contents/Resources/English.lproj/InfoPlist.strings - $(NSINSTALL) -D $(DIST)/bin/crashreporter.app/Contents/MacOS - $(NSINSTALL) $(DIST)/bin/crashreporter $(DIST)/bin/crashreporter.app/Contents/MacOS - rm -f $(DIST)/bin/crashreporter - $(NSINSTALL) $(DIST)/bin/crashreporter.ini $(DIST)/bin/crashreporter.app/Contents/MacOS - rm -f $(DIST)/bin/crashreporter.ini -endif - -ifeq ($(OS_ARCH),Linux) -export:: $(srcdir)/../airbag/src/common/linux/http_upload.cc - $(INSTALL) $^ . -endif diff --git a/toolkit/airbag/client/crashreporter.cpp b/toolkit/airbag/client/crashreporter.cpp deleted file mode 100644 index 569795a38bfc..000000000000 --- a/toolkit/airbag/client/crashreporter.cpp +++ /dev/null @@ -1,495 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Mozilla Toolkit Crash Reporter - * - * The Initial Developer of the Original Code is - * Mozilla Corporation - * Portions created by the Initial Developer are Copyright (C) 2006-2007 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Ted Mielczarek - * Dave Camp - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#include "crashreporter.h" - -#ifdef _MSC_VER -// Disable exception handler warnings. -# pragma warning( disable : 4530 ) -#endif - -#include -#include - -using std::string; -using std::istream; -using std::ifstream; -using std::istringstream; -using std::ostringstream; -using std::ostream; -using std::ofstream; -using std::vector; - -namespace CrashReporter { - -StringTable gStrings; -string gSettingsPath; -int gArgc; -char** gArgv; - -static string gDumpFile; -static string gExtraFile; - -static string kExtraDataExtension = ".extra"; - -void UIError(const string& message) -{ - string errorMessage; - if (!gStrings[ST_CRASHREPORTERERROR].empty()) { - char buf[2048]; - UI_SNPRINTF(buf, 2048, - gStrings[ST_CRASHREPORTERERROR].c_str(), - message.c_str()); - errorMessage = buf; - } else { - errorMessage = message; - } - - UIError_impl(errorMessage); -} - -static string Unescape(const string& str) -{ - string ret; - for (string::const_iterator iter = str.begin(); - iter != str.end(); - iter++) { - if (*iter == '\\') { - iter++; - if (*iter == '\\'){ - ret.push_back('\\'); - } else if (*iter == 'n') { - ret.push_back('\n'); - } else if (*iter == 't') { - ret.push_back('\t'); - } - } else { - ret.push_back(*iter); - } - } - - return ret; -} - -static string Escape(const string& str) -{ - string ret; - for (string::const_iterator iter = str.begin(); - iter != str.end(); - iter++) { - if (*iter == '\\') { - ret += "\\\\"; - } else if (*iter == '\n') { - ret += "\\n"; - } else if (*iter == '\t') { - ret += "\\t"; - } else { - ret.push_back(*iter); - } - } - - return ret; -} - -bool ReadStrings(istream& in, StringTable& strings, bool unescape) -{ - string currentSection; - while (!in.eof()) { - string line; - std::getline(in, line); - int sep = line.find('='); - if (sep >= 0) { - string key, value; - key = line.substr(0, sep); - value = line.substr(sep + 1); - if (unescape) - value = Unescape(value); - strings[key] = value; - } - } - - return true; -} - -bool ReadStringsFromFile(const string& path, - StringTable& strings, - bool unescape) -{ - ifstream* f = UIOpenRead(path); - bool success = false; - if (f->is_open()) { - success = ReadStrings(*f, strings, unescape); - f->close(); - } - - delete f; - return success; -} - -bool WriteStrings(ostream& out, - const string& header, - StringTable& strings, - bool escape) -{ - out << "[" << header << "]" << std::endl; - for (StringTable::iterator iter = strings.begin(); - iter != strings.end(); - iter++) { - out << iter->first << "="; - if (escape) - out << Escape(iter->second); - else - out << iter->second; - - out << std::endl; - } - - return true; -} - -bool WriteStringsToFile(const string& path, - const string& header, - StringTable& strings, - bool escape) -{ - ofstream* f = UIOpenWrite(path.c_str()); - bool success = false; - if (f->is_open()) { - success = WriteStrings(*f, header, strings, escape); - f->close(); - } - - delete f; - return success; -} - -static bool ReadConfig() -{ - string iniPath; - if (!UIGetIniPath(iniPath)) - return false; - - if (!ReadStringsFromFile(iniPath, gStrings, true)) - return false; - - return true; -} - -static string GetExtraDataFilename(const string& dumpfile) -{ - string filename(dumpfile); - int dot = filename.rfind('.'); - if (dot < 0) - return ""; - - filename.replace(dot, filename.length() - dot, kExtraDataExtension); - return filename; -} - -static string Basename(const string& file) -{ - int slashIndex = file.rfind(UI_DIR_SEPARATOR); - if (slashIndex >= 0) - return file.substr(slashIndex + 1); - else - return file; -} - -static bool MoveCrashData(const string& toDir, - string& dumpfile, - string& extrafile) -{ - if (!UIEnsurePathExists(toDir)) { - UIError(gStrings[ST_ERROR_CREATEDUMPDIR]); - return false; - } - - string newDump = toDir + UI_DIR_SEPARATOR + Basename(dumpfile); - string newExtra = toDir + UI_DIR_SEPARATOR + Basename(extrafile); - - if (!UIMoveFile(dumpfile, newDump)) { - UIError(gStrings[ST_ERROR_DUMPFILEMOVE]); - return false; - } - - if (!UIMoveFile(extrafile, newExtra)) { - UIError(gStrings[ST_ERROR_EXTRAFILEMOVE]); - return false; - } - - dumpfile = newDump; - extrafile = newExtra; - - return true; -} - -static bool AddSubmittedReport(const string& serverResponse) -{ - StringTable responseItems; - istringstream in(serverResponse); - ReadStrings(in, responseItems, false); - - if (responseItems.find("CrashID") == responseItems.end()) - return false; - - string submittedDir = - gSettingsPath + UI_DIR_SEPARATOR + "submitted"; - if (!UIEnsurePathExists(submittedDir)) { - return false; - } - - string path = submittedDir + UI_DIR_SEPARATOR + - responseItems["CrashID"] + ".txt"; - - ofstream* file = UIOpenWrite(path); - if (!file->is_open()) { - delete file; - return false; - } - - char buf[1024]; - UI_SNPRINTF(buf, 1024, - gStrings["CrashID"].c_str(), - responseItems["CrashID"].c_str()); - *file << buf << "\n"; - - if (responseItems.find("ViewURL") != responseItems.end()) { - UI_SNPRINTF(buf, 1024, - gStrings["CrashDetailsURL"].c_str(), - responseItems["ViewURL"].c_str()); - *file << buf << "\n"; - } - - file->close(); - delete file; - - return true; -} - -bool SendCompleted(bool success, const string& serverResponse) -{ - if (success) { - const char* noDelete = getenv("MOZ_CRASHREPORTER_NO_DELETE_DUMP"); - if (!noDelete || *noDelete == '\0') { - if (!gDumpFile.empty()) - UIDeleteFile(gDumpFile); - if (!gExtraFile.empty()) - UIDeleteFile(gExtraFile); - } - - return AddSubmittedReport(serverResponse); - } - return true; -} - -} // namespace CrashReporter - -using namespace CrashReporter; - -void RewriteStrings(StringTable& queryParameters) -{ - // rewrite some UI strings with the values from the query parameters - string product = queryParameters["ProductName"]; - string vendor = queryParameters["Vendor"]; - if (vendor.empty()) { - // Assume Mozilla if no vendor is specified - vendor = "Mozilla"; - } - - char buf[4096]; - UI_SNPRINTF(buf, sizeof(buf), - gStrings[ST_CRASHREPORTERVENDORTITLE].c_str(), - vendor.c_str()); - gStrings[ST_CRASHREPORTERTITLE] = buf; - - // Leave a format specifier for UIError to fill in - UI_SNPRINTF(buf, sizeof(buf), - gStrings[ST_CRASHREPORTERPRODUCTERROR].c_str(), - product.c_str(), - "%s"); - gStrings[ST_CRASHREPORTERERROR] = buf; - - UI_SNPRINTF(buf, sizeof(buf), - gStrings[ST_CRASHREPORTERDESCRIPTION].c_str(), - product.c_str()); - gStrings[ST_CRASHREPORTERDESCRIPTION] = buf; - - UI_SNPRINTF(buf, sizeof(buf), - gStrings[ST_CHECKSUBMIT].c_str(), - vendor.c_str()); - gStrings[ST_CHECKSUBMIT] = buf; - - UI_SNPRINTF(buf, sizeof(buf), - gStrings[ST_RESTART].c_str(), - product.c_str()); - gStrings[ST_RESTART] = buf; -} - -int main(int argc, char** argv) -{ - gArgc = argc; - gArgv = argv; - - if (!ReadConfig()) { - UIError("Couldn't read configuration."); - return 0; - } - - if (!UIInit()) - return 0; - - if (argc > 1) { - gDumpFile = argv[1]; - } - - if (gDumpFile.empty()) { - // no dump file specified, run the default UI - UIShowDefaultUI(); - } else { - gExtraFile = GetExtraDataFilename(gDumpFile); - if (gExtraFile.empty()) { - UIError(gStrings[ST_ERROR_BADARGUMENTS]); - return 0; - } - - if (!UIFileExists(gExtraFile)) { - UIError(gStrings[ST_ERROR_EXTRAFILEEXISTS]); - return 0; - } - - StringTable queryParameters; - if (!ReadStringsFromFile(gExtraFile, queryParameters, true)) { - UIError(gStrings[ST_ERROR_EXTRAFILEREAD]); - return 0; - } - - if (queryParameters.find("ProductName") == queryParameters.end()) { - UIError(gStrings[ST_ERROR_NOPRODUCTNAME]); - return 0; - } - - // There is enough information in the extra file to rewrite strings - // to be product specific - RewriteStrings(queryParameters); - - if (queryParameters.find("ServerURL") == queryParameters.end()) { - UIError(gStrings[ST_ERROR_NOSERVERURL]); - return 0; - } - - string product = queryParameters["ProductName"]; - string vendor = queryParameters["Vendor"]; - if (!UIGetSettingsPath(vendor, product, gSettingsPath)) { - UIError(gStrings[ST_ERROR_NOSETTINGSPATH]); - return 0; - } - - if (!UIFileExists(gDumpFile)) { - UIError(gStrings[ST_ERROR_DUMPFILEEXISTS]); - return 0; - } - - string pendingDir = gSettingsPath + UI_DIR_SEPARATOR + "pending"; - if (!MoveCrashData(pendingDir, gDumpFile, gExtraFile)) { - return 0; - } - - string sendURL = queryParameters["ServerURL"]; - // we don't need to actually send this - queryParameters.erase("ServerURL"); - - // re-set XUL_APP_FILE for xulrunner wrapped apps - const char *appfile = getenv("MOZ_CRASHREPORTER_RESTART_XUL_APP_FILE"); - if (appfile && *appfile) { - const char prefix[] = "XUL_APP_FILE="; - char *env = (char*) malloc(strlen(appfile)+strlen(prefix)); - if (!env) { - UIError("Out of memory"); - return 0; - } - strcpy(env, prefix); - strcat(env, appfile); - putenv(env); - free(env); - } - - vector restartArgs; - - ostringstream paramName; - int i = 0; - paramName << "MOZ_CRASHREPORTER_RESTART_ARG_" << i++; - const char *param = getenv(paramName.str().c_str()); - while (param && *param) { - restartArgs.push_back(param); - - paramName.str(""); - paramName << "MOZ_CRASHREPORTER_RESTART_ARG_" << i++; - param = getenv(paramName.str().c_str()); - }; - - // allow override of the server url via environment variable - //XXX: remove this in the far future when our robot - // masters force everyone to use XULRunner - char* urlEnv = getenv("MOZ_CRASHREPORTER_URL"); - if (urlEnv && *urlEnv) { - sendURL = urlEnv; - } - - UIShowCrashUI(gDumpFile, queryParameters, sendURL, restartArgs); - } - - UIShutdown(); - - return 0; -} - -#if defined(XP_WIN) && !defined(__GNUC__) -// We need WinMain in order to not be a console app. This function is unused -// if we are a console application. -int WINAPI wWinMain( HINSTANCE, HINSTANCE, LPWSTR args, int ) -{ - char** argv = static_cast(malloc(__argc * sizeof(char*))); - for (int i = 0; i < __argc; i++) { - argv[i] = strdup(WideToUTF8(__wargv[i]).c_str()); - } - - // Do the real work. - return main(__argc, argv); -} -#endif diff --git a/toolkit/airbag/client/crashreporter.exe.manifest b/toolkit/airbag/client/crashreporter.exe.manifest deleted file mode 100644 index 606a9da4ce2c..000000000000 --- a/toolkit/airbag/client/crashreporter.exe.manifest +++ /dev/null @@ -1,22 +0,0 @@ - - - -Updater - - - - - - diff --git a/toolkit/airbag/client/crashreporter.h b/toolkit/airbag/client/crashreporter.h deleted file mode 100644 index aaac7fb90808..000000000000 --- a/toolkit/airbag/client/crashreporter.h +++ /dev/null @@ -1,127 +0,0 @@ -#ifndef CRASHREPORTER_H__ -#define CRASHREPORTER_H__ - -#ifdef _MSC_VER -# pragma warning( push ) -// Disable exception handler warnings. -# pragma warning( disable : 4530 ) -#endif - -#include -#include -#include -#include -#include -#include -#include - -#if defined(XP_WIN32) - -#include - -#define UI_SNPRINTF _snprintf -#define UI_DIR_SEPARATOR "\\" - -std::string WideToUTF8(const std::wstring& wide, bool* success = 0); - -#else - -#define UI_SNPRINTF snprintf -#define UI_DIR_SEPARATOR "/" - -#endif - -typedef std::map StringTable; - -#define ST_CRASHREPORTERTITLE "CrashReporterTitle" -#define ST_CRASHREPORTERVENDORTITLE "CrashReporterVendorTitle" -#define ST_CRASHREPORTERERROR "CrashReporterError" -#define ST_CRASHREPORTERPRODUCTERROR "CrashReporterProductError" -#define ST_CRASHREPORTERHEADER "CrashReporterHeader" -#define ST_CRASHREPORTERDESCRIPTION "CrashReporterDescription" -#define ST_CRASHREPORTERDEFAULT "CrashReporterDefault" -#define ST_VIEWREPORT "ViewReport" -#define ST_EXTRAREPORTINFO "ExtraReportInfo" -#define ST_CHECKSUBMIT "CheckSubmit" -#define ST_CHECKEMAIL "CheckEmail" -#define ST_CLOSE "Close" -#define ST_RESTART "Restart" -#define ST_SUBMITFAILED "SubmitFailed" - -#define ST_ERROR_BADARGUMENTS "ErrorBadArguments" -#define ST_ERROR_EXTRAFILEEXISTS "ErrorExtraFileExists" -#define ST_ERROR_EXTRAFILEREAD "ErrorExtraFileRead" -#define ST_ERROR_EXTRAFILEMOVE "ErrorExtraFileMove" -#define ST_ERROR_DUMPFILEEXISTS "ErrorDumpFileExists" -#define ST_ERROR_DUMPFILEMOVE "ErrorDumpFileMove" -#define ST_ERROR_NOPRODUCTNAME "ErrorNoProductName" -#define ST_ERROR_NOSERVERURL "ErrorNoServerURL" -#define ST_ERROR_NOSETTINGSPATH "ErrorNoSettingsPath" -#define ST_ERROR_CREATEDUMPDIR "ErrorCreateDumpDir" - -//============================================================================= -// implemented in crashreporter.cpp -//============================================================================= - -namespace CrashReporter { - extern StringTable gStrings; - extern std::string gSettingsPath; - extern int gArgc; - extern char** gArgv; - - void UIError(const std::string& message); - - // The UI finished sending the report - bool SendCompleted(bool success, const std::string& serverResponse); - - bool ReadStrings(std::istream& in, - StringTable& strings, - bool unescape); - bool ReadStringsFromFile(const std::string& path, - StringTable& strings, - bool unescape); - bool WriteStrings(std::ostream& out, - const std::string& header, - StringTable& strings, - bool escape); - bool WriteStringsToFile(const std::string& path, - const std::string& header, - StringTable& strings, - bool escape); - -} - -//============================================================================= -// implemented in the platform-specific files -//============================================================================= - -bool UIInit(); -void UIShutdown(); - -// Run the UI for when the app was launched without a dump file -void UIShowDefaultUI(); - -// Run the UI for when the app was launched with a dump file -void UIShowCrashUI(const std::string& dumpfile, - const StringTable& queryParameters, - const std::string& sendURL, - const std::vector& restartArgs); - -void UIError_impl(const std::string& message); - -bool UIGetIniPath(std::string& path); -bool UIGetSettingsPath(const std::string& vendor, - const std::string& product, - std::string& settingsPath); -bool UIEnsurePathExists(const std::string& path); -bool UIFileExists(const std::string& path); -bool UIMoveFile(const std::string& oldfile, const std::string& newfile); -bool UIDeleteFile(const std::string& oldfile); -std::ifstream* UIOpenRead(const std::string& filename); -std::ofstream* UIOpenWrite(const std::string& filename); - -#ifdef _MSC_VER -# pragma warning( pop ) -#endif - -#endif diff --git a/toolkit/airbag/client/crashreporter.ico b/toolkit/airbag/client/crashreporter.ico deleted file mode 100755 index 086c955410c0..000000000000 Binary files a/toolkit/airbag/client/crashreporter.ico and /dev/null differ diff --git a/toolkit/airbag/client/crashreporter.ini b/toolkit/airbag/client/crashreporter.ini deleted file mode 100644 index 48b24307323c..000000000000 --- a/toolkit/airbag/client/crashreporter.ini +++ /dev/null @@ -1,30 +0,0 @@ -; This file is in the UTF-8 encoding -[Strings] -CrashReporterTitle=Crash Reporter -CrashReporterVendorTitle=%s Crash Reporter -CrashReporterError=We're sorry, but the application hit an unexpected problem and crashed.\n\nUnfortunately the crash reporter is unable to submit a report for this crash.\n\nDetails: %s -CrashReporterProductError=We're sorry, but %s hit an unexpected problem and crashed. We'll try to restore your tabs and windows when it restarts.\n\nUnfortunately the crash reporter is unable to submit a crash report.\n\nDetails: %s -CrashReporterHeader=Crash! Bang! Boom! -CrashReporterDescription=We're sorry, but %s hit an unexpected problem and crashed. We'll try to restore your tabs and windows when it restarts.\n\nTo help us diagnose and repair this problem, you can send us a crash report. -CrashReporterDefault=This application is run after a crash to report the problem to the application vendor. It should not be run directly. -ViewReport=View Report -ExtraReportInfo=This report also contains information about the state of the application when it crashed. -CheckSubmit=Submit crash report to %s -CheckEmail=Email me when the problem is fixed -Close=Close -Restart=Restart %s -SubmitFailed=Failed to submit crash report -CrashID=Crash ID: %s -CrashDetailsURL=You can view details of this crash at %s - -ErrorBadArguments=The application passed an invalid argument. -ErrorExtraFileExists=The application didn't leave an application data file. -ErrorExtraFileRead=Couldn't read the application data file. -ErrorExtraFileMove=Couldn't move application data file. -ErrorDumpFileExists=The application did not leave a crash dump file. -ErrorDumpFileMove=Couldn't move crash dump. -ErrorNoProductName=The application did not identify itself. -ErrorNoServerURL=The application did not specify a crash reporting server. -ErrorNoSettingsPath=Couldn't find the crash reporter's settings. -ErrorCreateDumpDir=Couldn't create pending dump directory. - diff --git a/toolkit/airbag/client/crashreporter.rc b/toolkit/airbag/client/crashreporter.rc deleted file mode 100755 index c6be09671b30..000000000000 --- a/toolkit/airbag/client/crashreporter.rc +++ /dev/null @@ -1,114 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winresrc.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winresrc.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_DIALOG ICON "crashreporter.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_SENDDIALOG DIALOGEX 0, 0, 239, 105 -STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Sending Crash Report..." -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - CONTROL "",IDC_DESCRIPTIONTEXT,"RichEdit20A",ES_MULTILINE | ES_READONLY,7,7,226,12,WS_EX_TRANSPARENT - CONTROL "view report",IDC_VIEWREPORTCHECK,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | WS_TABSTOP,12,24,54,12 - CONTROL "",IDC_VIEWREPORTTEXT,"RichEdit20A",ES_MULTILINE | ES_READONLY | NOT WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_TABSTOP,12,42,222,56 - CONTROL "submit a crash report to mozilla",IDC_SUBMITREPORTCHECK, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,42,222,10 - CONTROL "email me when the problem is fixed",IDC_EMAILMECHECK, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,54,222,10 - EDITTEXT IDC_EMAILTEXT,24,66,208,14,ES_AUTOHSCROLL - PUSHBUTTON "close",IDC_CLOSEBUTTON,111,84,50,14 - DEFPUSHBUTTON "restart firefox",IDC_RESTARTBUTTON,165,84,68,14 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_SENDDIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 232 - TOPMARGIN, 7 - BOTTOMMARGIN, 98 - END -END -#endif // APSTUDIO_INVOKED - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/toolkit/airbag/client/crashreporter_linux.cpp b/toolkit/airbag/client/crashreporter_linux.cpp deleted file mode 100644 index ab4654db9afc..000000000000 --- a/toolkit/airbag/client/crashreporter_linux.cpp +++ /dev/null @@ -1,516 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Mozilla Toolkit Crash Reporter - * - * The Initial Developer of the Original Code is - * Ted Mielczarek - * Portions created by the Initial Developer are Copyright (C) 2006 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#include "crashreporter.h" - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "common/linux/http_upload.h" - -using std::string; -using std::vector; - -using namespace CrashReporter; - -static GtkWidget* gWindow = 0; -static GtkWidget* gViewReportTextView = 0; -static GtkWidget* gSubmitReportCheck = 0; -static GtkWidget* gEmailMeCheck = 0; -static GtkWidget* gEmailEntry = 0; - -static bool gInitialized = false; -static string gDumpFile; -static StringTable gQueryParameters; -static string gSendURL; -static vector gRestartArgs; - -static const char kIniFile[] = "crashreporter.ini"; - -static void LoadSettings() -{ - StringTable settings; - if (ReadStringsFromFile(gSettingsPath + "/" + kIniFile, settings, true)) { - if (settings.find("Email") != settings.end()) { - gtk_entry_set_text(GTK_ENTRY(gEmailEntry), settings["Email"].c_str()); - } - if (settings.find("EmailMe") != settings.end()) { - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gEmailMeCheck), - settings["EmailMe"][0] != '0'); - } - if (settings.find("SubmitReport") != settings.end()) { - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gSubmitReportCheck), - settings["SubmitReport"][0] != '0'); - } - } -} - -static void SaveSettings() -{ - StringTable settings; - - ReadStringsFromFile(gSettingsPath + "/" + kIniFile, settings, true); - settings["Email"] = gtk_entry_get_text(GTK_ENTRY(gEmailEntry)); - settings["EmailMe"] = - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gEmailMeCheck)) ? "1" : "0"; - - settings["SubmitReport"] = - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gSubmitReportCheck)) - ? "1" : "0"; - - WriteStringsToFile(gSettingsPath + "/" + kIniFile, - "Crash Reporter", settings, true); -} - -static bool RestartApplication() -{ - char** argv = reinterpret_cast( - malloc(sizeof(char*) * (gRestartArgs.size() + 1))); - - if (!argv) return false; - - unsigned int i; - for (i = 0; i < gRestartArgs.size(); i++) { - argv[i] = (char*)gRestartArgs[i].c_str(); - } - argv[i] = 0; - - pid_t pid = fork(); - if (pid == -1) - return false; - else if (pid == 0) { - (void)execv(argv[0], argv); - _exit(1); - } - - free(argv); - - return true; -} - -static gboolean SendReportIdle(gpointer userData) -{ - string response; - bool success = google_breakpad::HTTPUpload::SendRequest - (gSendURL, - gQueryParameters, - gDumpFile, - "upload_file_minidump", - "", "", - &response); - SendCompleted(success, response); - - if (!success) { - GtkWidget* errorDialog = - gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_CLOSE, - "%s", gStrings[ST_SUBMITFAILED].c_str()); - - gtk_window_set_title(GTK_WINDOW(errorDialog), - gStrings[ST_CRASHREPORTERTITLE].c_str()); - gtk_dialog_run(GTK_DIALOG(errorDialog)); - } - gtk_main_quit(); - - return FALSE; -} - -static void SendReport() -{ - // On the other platforms we spawn off a thread here. Because the window - // should be hidden before the report is sent, don't bother to spawn - // a thread here. Just kick it out to an idle handler (to give - // gtk_widget_hide() a chance to take) - g_idle_add(SendReportIdle, 0); -} - -static void ShowReportInfo() -{ - GtkTextBuffer* buffer = - gtk_text_view_get_buffer(GTK_TEXT_VIEW(gViewReportTextView)); - - GtkTextIter start, end; - gtk_text_buffer_get_start_iter(buffer, &start); - gtk_text_buffer_get_end_iter(buffer, &end); - - gtk_text_buffer_delete(buffer, &start, &end); - - for (StringTable::iterator iter = gQueryParameters.begin(); - iter != gQueryParameters.end(); - iter++) { - gtk_text_buffer_insert(buffer, &end, iter->first.c_str(), -1); - gtk_text_buffer_insert(buffer, &end, ": ", -1); - gtk_text_buffer_insert(buffer, &end, iter->second.c_str(), -1); - gtk_text_buffer_insert(buffer, &end, "\n", -1); - } - - gtk_text_buffer_insert(buffer, &end, "\n", -1); - gtk_text_buffer_insert(buffer, &end, - gStrings[ST_EXTRAREPORTINFO].c_str(), -1); -} - -static gboolean WindowDeleted(GtkWidget* window, - GdkEvent* event, - gpointer userData) -{ - SaveSettings(); - gtk_main_quit(); - return TRUE; -} - -static void CloseClicked(GtkButton* button, - gpointer userData) -{ - SaveSettings(); - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gSubmitReportCheck))) { - gtk_widget_hide(gWindow); - SendReport(); - } else { - gtk_main_quit(); - } -} - -static void RestartClicked(GtkButton* button, - gpointer userData) -{ - SaveSettings(); - RestartApplication(); - - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gSubmitReportCheck))) { - gtk_widget_hide(gWindow); - SendReport(); - } else { - gtk_main_quit(); - } -} - -static void UpdateEmail() -{ - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gEmailMeCheck))) { - gQueryParameters["Email"] = gtk_entry_get_text(GTK_ENTRY(gEmailEntry)); - } else { - gQueryParameters.erase("Email"); - } -} - -static void EmailMeClicked(GtkButton* sender, gpointer userData) -{ - UpdateEmail(); - ShowReportInfo(); -} - -static void EmailChanged(GtkEditable* editable, gpointer userData) -{ - // Email text changed, assume they want the "Email me" checkbox - // updated appropriately - const char* email = gtk_entry_get_text(GTK_ENTRY(editable)); - if (email[0] == '\0') - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gEmailMeCheck), FALSE); - else - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gEmailMeCheck), TRUE); - - UpdateEmail(); - ShowReportInfo(); -} - -/* === Crashreporter UI Functions === */ - -bool UIInit() -{ - // breakpad probably left us with blocked signals, unblock them here - sigset_t signals, old; - sigfillset(&signals); - sigprocmask(SIG_UNBLOCK, &signals, &old); - - if (gtk_init_check(&gArgc, &gArgv)) { - gInitialized = true; - return true; - } - - return false; -} - -void UIShutdown() -{ -} - -void UIShowDefaultUI() -{ - GtkWidget* errorDialog = - gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_CLOSE, - "%s", gStrings[ST_CRASHREPORTERDEFAULT].c_str()); - - gtk_window_set_title(GTK_WINDOW(errorDialog), - gStrings[ST_CRASHREPORTERTITLE].c_str()); - gtk_dialog_run(GTK_DIALOG(errorDialog)); -} - -void UIShowCrashUI(const string& dumpfile, - const StringTable& queryParameters, - const string& sendURL, - const vector& restartArgs) -{ - gDumpFile = dumpfile; - gQueryParameters = queryParameters; - gSendURL = sendURL; - gRestartArgs = restartArgs; - - gWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_window_set_title(GTK_WINDOW(gWindow), - gStrings[ST_CRASHREPORTERTITLE].c_str()); - gtk_window_set_resizable(GTK_WINDOW(gWindow), FALSE); - gtk_container_set_border_width(GTK_CONTAINER(gWindow), 12); - g_signal_connect(gWindow, "delete-event", G_CALLBACK(WindowDeleted), 0); - - GtkWidget* vbox = gtk_vbox_new(FALSE, 6); - gtk_container_add(GTK_CONTAINER(gWindow), vbox); - - GtkWidget* titleLabel = gtk_label_new(""); - gtk_box_pack_start(GTK_BOX(vbox), titleLabel, FALSE, FALSE, 0); - gtk_misc_set_alignment(GTK_MISC(titleLabel), 0, 0.5); - char* markup = g_strdup_printf("%s", - gStrings[ST_CRASHREPORTERHEADER].c_str()); - gtk_label_set_markup(GTK_LABEL(titleLabel), markup); - g_free(markup); - - GtkWidget* descriptionLabel = - gtk_label_new(gStrings[ST_CRASHREPORTERDESCRIPTION].c_str()); - gtk_box_pack_start(GTK_BOX(vbox), descriptionLabel, TRUE, TRUE, 0); - // force the label to line wrap - gtk_widget_set_size_request(descriptionLabel, 400, -1); - gtk_label_set_line_wrap(GTK_LABEL(descriptionLabel), TRUE); - gtk_label_set_selectable(GTK_LABEL(descriptionLabel), TRUE); - gtk_misc_set_alignment(GTK_MISC(descriptionLabel), 0, 0.5); - - // this is honestly how they suggest you indent a section - GtkWidget* indentBox = gtk_hbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), indentBox, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(indentBox), gtk_label_new(""), FALSE, FALSE, 6); - - GtkWidget* innerVBox = gtk_vbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(indentBox), innerVBox, TRUE, TRUE, 0); - - GtkWidget* expander = gtk_expander_new(gStrings[ST_VIEWREPORT].c_str()); - gtk_box_pack_start(GTK_BOX(innerVBox), expander, FALSE, FALSE, 6); - - GtkWidget* scrolled = gtk_scrolled_window_new(0, 0); - gtk_container_add(GTK_CONTAINER(expander), scrolled); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), - GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); - gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), - GTK_SHADOW_IN); - - gViewReportTextView = gtk_text_view_new(); - gtk_container_add(GTK_CONTAINER(scrolled), gViewReportTextView); - gtk_text_view_set_editable(GTK_TEXT_VIEW(gViewReportTextView), FALSE); - gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(gViewReportTextView), - GTK_WRAP_WORD); - gtk_widget_set_size_request(GTK_WIDGET(gViewReportTextView), -1, 100); - - gSubmitReportCheck = - gtk_check_button_new_with_label(gStrings[ST_CHECKSUBMIT].c_str()); - gtk_box_pack_start(GTK_BOX(innerVBox), gSubmitReportCheck, FALSE, FALSE, 0); - - gEmailMeCheck = - gtk_check_button_new_with_label(gStrings[ST_CHECKEMAIL].c_str()); - gtk_box_pack_start(GTK_BOX(innerVBox), gEmailMeCheck, FALSE, FALSE, 0); - g_signal_connect(gEmailMeCheck, "clicked", G_CALLBACK(EmailMeClicked), 0); - - GtkWidget* emailIndentBox = gtk_hbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(innerVBox), emailIndentBox, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(emailIndentBox), gtk_label_new(""), - FALSE, FALSE, 9); - - gEmailEntry = gtk_entry_new(); - gtk_box_pack_start(GTK_BOX(emailIndentBox), gEmailEntry, TRUE, TRUE, 0); - g_signal_connect(gEmailEntry, "changed", G_CALLBACK(EmailChanged), 0); - - GtkWidget* buttonBox = gtk_hbutton_box_new(); - gtk_box_pack_end(GTK_BOX(vbox), buttonBox, FALSE, FALSE, 0); - gtk_box_set_spacing(GTK_BOX(buttonBox), 6); - gtk_button_box_set_layout(GTK_BUTTON_BOX(buttonBox), GTK_BUTTONBOX_END); - - GtkWidget* closeButton = - gtk_button_new_with_label(gStrings[ST_CLOSE].c_str()); - gtk_box_pack_start(GTK_BOX(buttonBox), closeButton, FALSE, FALSE, 0); - GTK_WIDGET_SET_FLAGS(closeButton, GTK_CAN_DEFAULT); - g_signal_connect(closeButton, "clicked", G_CALLBACK(CloseClicked), 0); - - GtkWidget* restartButton = 0; - if (restartArgs.size() > 0) { - restartButton = gtk_button_new_with_label(gStrings[ST_RESTART].c_str()); - gtk_box_pack_start(GTK_BOX(buttonBox), restartButton, FALSE, FALSE, 0); - GTK_WIDGET_SET_FLAGS(restartButton, GTK_CAN_DEFAULT); - g_signal_connect(restartButton, "clicked", G_CALLBACK(RestartClicked), 0); - } - - gtk_widget_grab_focus(gEmailEntry); - - gtk_widget_grab_default(restartButton ? restartButton : closeButton); - - LoadSettings(); - ShowReportInfo(); - - gtk_widget_show_all(gWindow); - - gtk_main(); -} - -void UIError_impl(const string& message) -{ - if (!gInitialized) { - // Didn't initialize, this is the best we can do - printf("Error: %s\n", message.c_str()); - return; - } - - GtkWidget* errorDialog = - gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_CLOSE, - "%s", message.c_str()); - - gtk_window_set_title(GTK_WINDOW(errorDialog), - gStrings[ST_CRASHREPORTERTITLE].c_str()); - gtk_dialog_run(GTK_DIALOG(errorDialog)); -} - -bool UIGetIniPath(string& path) -{ - path = gArgv[0]; - path.append(".ini"); - - return true; -} - -/* - * Settings are stored in ~/.vendor/product, or - * ~/.product if vendor is empty. - */ -bool UIGetSettingsPath(const string& vendor, - const string& product, - string& settingsPath) -{ - char* home = getenv("HOME"); - - if (!home) - return false; - - settingsPath = home; - settingsPath += "/."; - if (!vendor.empty()) { - string lc_vendor; - std::transform(vendor.begin(), vendor.end(), back_inserter(lc_vendor), - (int(*)(int)) std::tolower); - settingsPath += lc_vendor + "/"; - } - string lc_product; - std::transform(product.begin(), product.end(), back_inserter(lc_product), - (int(*)(int)) std::tolower); - settingsPath += lc_product + "/Crash Reports"; - return UIEnsurePathExists(settingsPath); -} - -bool UIEnsurePathExists(const string& path) -{ - int ret = mkdir(path.c_str(), S_IRWXU); - int e = errno; - if (ret == -1 && e != EEXIST) - return false; - - return true; -} - -bool UIFileExists(const string& path) -{ - struct stat sb; - int ret = stat(path.c_str(), &sb); - if (ret == -1 || !(sb.st_mode & S_IFREG)) - return false; - - return true; -} - -bool UIMoveFile(const string& file, const string& newfile) -{ - return (rename(file.c_str(), newfile.c_str()) != -1); -} - -bool UIDeleteFile(const string& file) -{ - return (unlink(file.c_str()) != -1); -} - -std::ifstream* UIOpenRead(const string& filename) -{ - return new std::ifstream(filename.c_str(), std::ios::in); -} - -std::ofstream* UIOpenWrite(const string& filename) -{ - return new std::ofstream(filename.c_str(), std::ios::out); -} - diff --git a/toolkit/airbag/client/crashreporter_osx.h b/toolkit/airbag/client/crashreporter_osx.h deleted file mode 100644 index a753bc185eaf..000000000000 --- a/toolkit/airbag/client/crashreporter_osx.h +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Mozilla Toolkit Crash Reporter - * - * The Initial Developer of the Original Code is - * Mozilla Corporation - * Portions created by the Initial Developer are Copyright (C) 2006 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Dave Camp - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef CRASHREPORTER_OSX_H__ -#define CRASHREPORTER_OSX_H__ - -#include -#include "HTTPMultipartUpload.h" -#include "crashreporter.h" - -@interface CrashReporterUI : NSObject -{ - IBOutlet NSWindow* window; - - /* Crash reporter view */ - IBOutlet NSTextField* headerLabel; - IBOutlet NSTextField* descriptionLabel; - IBOutlet NSButton* viewReportButton; - IBOutlet NSTextField* viewReportLabel; - IBOutlet NSScrollView* viewReportScrollView; - IBOutlet NSTextView* viewReportTextView; - IBOutlet NSButton* submitReportButton; - IBOutlet NSButton* emailMeButton; - IBOutlet NSTextField* emailText; - IBOutlet NSButton* closeButton; - IBOutlet NSButton* restartButton; - - /* Error view */ - IBOutlet NSView* errorView; - IBOutlet NSTextField* errorHeaderLabel; - IBOutlet NSTextField* errorLabel; - IBOutlet NSButton* errorCloseButton; - - HTTPMultipartUpload *mPost; -} - -- (void)showCrashUI:(const std::string&)dumpfile - queryParameters:(const StringTable&)queryParameters - sendURL:(const std::string&)sendURL; -- (void)showErrorUI:(const std::string&)dumpfile; -- (void)showReportInfo; - -- (IBAction)viewReportClicked:(id)sender; -- (IBAction)closeClicked:(id)sender; -- (IBAction)closeAndSendClicked:(id)sender; -- (IBAction)restartClicked:(id)sender; -- (IBAction)emailMeClicked:(id)sender; - -- (void)controlTextDidChange:(NSNotification *)note; - -- (float)setStringFitVertically:(NSControl*)control - string:(NSString*)str - resizeWindow:(BOOL)resizeWindow; -- (void)setView:(NSView*)v animate: (BOOL) animate; -- (void)updateEmail; -- (void)sendReport; -- (bool)setupPost; -- (void)uploadThread:(id)post; -- (void)uploadComplete:(id)data; - -@end - -#endif diff --git a/toolkit/airbag/client/crashreporter_osx.mm b/toolkit/airbag/client/crashreporter_osx.mm deleted file mode 100644 index b9eccedb75f5..000000000000 --- a/toolkit/airbag/client/crashreporter_osx.mm +++ /dev/null @@ -1,534 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Mozilla Toolkit Crash Reporter - * - * The Initial Developer of the Original Code is - * Mozilla Corporation - * Portions created by the Initial Developer are Copyright (C) 2006 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Dave Camp - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#import -#import -#include "crashreporter.h" -#include "crashreporter_osx.h" -#include -#include -#include - -using std::string; -using std::vector; - -using namespace CrashReporter; - -static NSAutoreleasePool* gMainPool; -static CrashReporterUI* gUI = 0; -static string gDumpFile; -static StringTable gQueryParameters; -static string gSendURL; -static vector gRestartArgs; - -#define NSSTR(s) [NSString stringWithUTF8String:(s).c_str()] - -static NSString* Str(const char* aName) -{ - string str = gStrings[aName]; - if (str.empty()) str = "?"; - return NSSTR(str); -} - -static bool RestartApplication() -{ - char** argv = reinterpret_cast( - malloc(sizeof(char*) * (gRestartArgs.size() + 1))); - - if (!argv) return false; - - unsigned int i; - for (i = 0; i < gRestartArgs.size(); i++) { - argv[i] = (char*)gRestartArgs[i].c_str(); - } - argv[i] = 0; - - pid_t pid = fork(); - if (pid == -1) - return false; - else if (pid == 0) { - (void)execv(argv[0], argv); - _exit(1); - } - - free(argv); - - return true; -} - -@implementation CrashReporterUI - --(void)awakeFromNib -{ - gUI = self; - [window center]; - - [window setTitle:[[NSBundle mainBundle] - objectForInfoDictionaryKey:@"CFBundleName"]]; -} - --(void)showCrashUI:(const string&)dumpfile - queryParameters:(const StringTable&)queryParameters - sendURL:(const string&)sendURL -{ - gDumpFile = dumpfile; - gQueryParameters = queryParameters; - gSendURL = sendURL; - - [headerLabel setStringValue:Str(ST_CRASHREPORTERHEADER)]; - - [self setStringFitVertically:descriptionLabel - string:Str(ST_CRASHREPORTERDESCRIPTION) - resizeWindow:YES]; - [viewReportLabel setStringValue:Str(ST_VIEWREPORT)]; - [submitReportButton setTitle:Str(ST_CHECKSUBMIT)]; - [emailMeButton setTitle:Str(ST_CHECKEMAIL)]; - [closeButton setTitle:Str(ST_CLOSE)]; - - [viewReportScrollView retain]; - [viewReportScrollView removeFromSuperview]; - - if (gRestartArgs.size() == 0) { - NSRect restartFrame = [restartButton frame]; - [restartButton removeFromSuperview]; - NSRect closeFrame = [closeButton frame]; - closeFrame.origin.x = restartFrame.origin.x + - (restartFrame.size.width - closeFrame.size.width); - [closeButton setFrame: closeFrame]; - [closeButton setKeyEquivalent:@"\r"]; - } else { - [restartButton setTitle:Str(ST_RESTART)]; - [restartButton setKeyEquivalent:@"\r"]; - } - - [self updateEmail]; - [self showReportInfo]; - - [window makeKeyAndOrderFront:nil]; -} - --(void)showErrorUI:(const string&)message -{ - [self setView: errorView animate: NO]; - - [errorHeaderLabel setStringValue:Str(ST_CRASHREPORTERHEADER)]; - [self setStringFitVertically:errorLabel - string:NSSTR(message) - resizeWindow:YES]; - [errorCloseButton setTitle:Str(ST_CLOSE)]; - - [window makeKeyAndOrderFront:nil]; -} - --(void)showReportInfo -{ - NSDictionary* boldAttr = [NSDictionary - dictionaryWithObject:[NSFont boldSystemFontOfSize:0] - forKey:NSFontAttributeName]; - NSDictionary* normalAttr = [NSDictionary - dictionaryWithObject:[NSFont systemFontOfSize:0] - forKey:NSFontAttributeName]; - - [viewReportTextView setString:@""]; - for (StringTable::iterator iter = gQueryParameters.begin(); - iter != gQueryParameters.end(); - iter++) { - [[viewReportTextView textStorage] - appendAttributedString: [[NSAttributedString alloc] - initWithString:NSSTR(iter->first + ": ") - attributes:boldAttr]]; - [[viewReportTextView textStorage] - appendAttributedString: [[NSAttributedString alloc] - initWithString:NSSTR(iter->second + "\n") - attributes:normalAttr]]; - } - - [[viewReportTextView textStorage] - appendAttributedString: [[NSAttributedString alloc] - initWithString:NSSTR("\n" + gStrings[ST_EXTRAREPORTINFO]) - attributes:normalAttr]]; -} - --(IBAction)viewReportClicked:(id)sender -{ - NSRect frame = [window frame]; - NSRect scrolledFrame = [viewReportScrollView frame]; - - float delta = scrolledFrame.size.height + 5; // FIXME - - if ([viewReportButton state] == NSOnState) { - [[window contentView] addSubview:viewReportScrollView]; - } else { - delta = 0 - delta; - } - - frame.origin.y -= delta; - frame.size.height += delta; - - int buttonMask = [viewReportButton autoresizingMask]; - int textMask = [viewReportLabel autoresizingMask]; - int reportMask = [viewReportScrollView autoresizingMask]; - - [viewReportButton setAutoresizingMask:NSViewMinYMargin]; - [viewReportLabel setAutoresizingMask:NSViewMinYMargin]; - [viewReportScrollView setAutoresizingMask:NSViewMinYMargin]; - - [window setFrame: frame display: true animate: NO]; - - if ([viewReportButton state] == NSOffState) { - [viewReportScrollView removeFromSuperview]; - } - - [viewReportButton setAutoresizingMask:buttonMask]; - [viewReportLabel setAutoresizingMask:textMask]; - [viewReportScrollView setAutoresizingMask:reportMask]; -} - --(IBAction)closeClicked:(id)sender -{ - [NSApp terminate: self]; -} - --(IBAction)closeAndSendClicked:(id)sender -{ - if ([submitReportButton state] == NSOnState) { - // Hide the dialog after "closing", but leave it around to coordinate - // with the upload thread - [window orderOut:nil]; - [self sendReport]; - } else { - [NSApp terminate:self]; - } -} - --(IBAction)restartClicked:(id)sender -{ - RestartApplication(); - if ([submitReportButton state] == NSOnState) { - // Hide the dialog after "closing", but leave it around to coordinate - // with the upload thread - [window orderOut:nil]; - [self sendReport]; - } else { - [NSApp terminate:self]; - } -} - --(IBAction)emailMeClicked:(id)sender -{ - [self updateEmail]; - [self showReportInfo]; -} - --(void)controlTextDidChange:(NSNotification *)note -{ - // Email text changed, assume they want the "Email me" checkbox - // updated appropriately - if ([[emailText stringValue] length] > 0) - [emailMeButton setState:NSOnState]; - else - [emailMeButton setState:NSOffState]; - - [self updateEmail]; - [self showReportInfo]; -} - --(float)setStringFitVertically:(NSControl*)control - string:(NSString*)str - resizeWindow:(BOOL)resizeWindow -{ - // hack to make the text field grow vertically - NSRect frame = [control frame]; - float oldHeight = frame.size.height; - - frame.size.height = 10000; - NSSize oldCellSize = [[control cell] cellSizeForBounds: frame]; - [control setStringValue: str]; - NSSize newCellSize = [[control cell] cellSizeForBounds: frame]; - - float delta = newCellSize.height - oldCellSize.height; - frame.origin.y -= delta; - frame.size.height = oldHeight + delta; - [control setFrame: frame]; - - if (resizeWindow) { - NSRect frame = [window frame]; - frame.origin.y -= delta; - frame.size.height += delta; - [window setFrame:frame display: true animate: NO]; - } - - return delta; -} - --(void)setView: (NSView*)v animate: (BOOL)animate -{ - NSRect frame = [window frame]; - - NSRect oldViewFrame = [[window contentView] frame]; - NSRect newViewFrame = [v frame]; - - frame.origin.y += oldViewFrame.size.height - newViewFrame.size.height; - frame.size.height -= oldViewFrame.size.height - newViewFrame.size.height; - - frame.origin.x += oldViewFrame.size.width - newViewFrame.size.width; - frame.size.width -= oldViewFrame.size.width - newViewFrame.size.width; - - [window setContentView:v]; - [window setFrame:frame display:true animate:animate]; -} - --(void)updateEmail -{ - if ([emailMeButton state] == NSOnState) { - NSString* email = [emailText stringValue]; - gQueryParameters["Email"] = [email UTF8String]; - } else { - gQueryParameters.erase("Email"); - } -} - --(void)sendReport -{ - if (![self setupPost]) - [NSApp terminate:self]; - - [NSThread detachNewThreadSelector:@selector(uploadThread:) - toTarget:self - withObject:mPost]; -} - --(bool)setupPost -{ - NSURL* url = [NSURL URLWithString:NSSTR(gSendURL)]; - if (!url) return false; - - mPost = [[HTTPMultipartUpload alloc] initWithURL: url]; - if (!mPost) return false; - - NSMutableDictionary* parameters = - [[NSMutableDictionary alloc] initWithCapacity: gQueryParameters.size()]; - if (!parameters) return false; - - StringTable::const_iterator end = gQueryParameters.end(); - for (StringTable::const_iterator i = gQueryParameters.begin(); - i != end; - i++) { - NSString* key = NSSTR(i->first); - NSString* value = NSSTR(i->second); - [parameters setObject: value forKey: key]; - } - - [mPost addFileAtPath: NSSTR(gDumpFile) name: @"upload_file_minidump"]; - [mPost setParameters: parameters]; - - return true; -} - --(void)uploadComplete:(id)data -{ - NSHTTPURLResponse* response = [mPost response]; - - bool success; - string reply; - if (!data || !response || [response statusCode] != 200) { - success = false; - reply = ""; - } else { - success = true; - - NSString* encodingName = [response textEncodingName]; - NSStringEncoding encoding; - if (encodingName) { - encoding = CFStringConvertEncodingToNSStringEncoding( - CFStringConvertIANACharSetNameToEncoding((CFStringRef)encodingName)); - } else { - encoding = NSISOLatin1StringEncoding; - } - NSString* r = [[NSString alloc] initWithData: data encoding: encoding]; - reply = [r UTF8String]; - } - - SendCompleted(success, reply); - - if (success) { - [NSApp terminate:self]; - } else { - [self showErrorUI:gStrings[ST_SUBMITFAILED]]; - } -} - --(void)uploadThread:(id)post -{ - NSAutoreleasePool* autoreleasepool = [[NSAutoreleasePool alloc] init]; - NSError* error = nil; - NSData* data = [post send: &error]; - if (error) - data = nil; - - [self performSelectorOnMainThread: @selector(uploadComplete:) - withObject: data - waitUntilDone: YES]; - - [autoreleasepool release]; -} - -@end - -/* === Crashreporter UI Functions === */ - -bool UIInit() -{ - gMainPool = [[NSAutoreleasePool alloc] init]; - [NSApplication sharedApplication]; - [NSBundle loadNibNamed:@"MainMenu" owner:NSApp]; - - return true; -} - -void UIShutdown() -{ - [gMainPool release]; -} - -void UIShowDefaultUI() -{ - [gUI showErrorUI: gStrings[ST_CRASHREPORTERDEFAULT]]; - [NSApp run]; -} - -void UIShowCrashUI(const string& dumpfile, - const StringTable& queryParameters, - const string& sendURL, - const vector& restartArgs) -{ - gRestartArgs = restartArgs; - - [gUI showCrashUI: dumpfile - queryParameters: queryParameters - sendURL: sendURL]; - [NSApp run]; -} - -void UIError_impl(const string& message) -{ - if (!gUI) { - // UI failed to initialize, printing is the best we can do - printf("Error: %s\n", message.c_str()); - return; - } - - [gUI showErrorUI: message]; - [NSApp run]; -} - -bool UIGetIniPath(string& path) -{ - path = gArgv[0]; - path.append(".ini"); - - return true; -} - -bool UIGetSettingsPath(const string& vendor, - const string& product, - string& settingsPath) -{ - FSRef foundRef; - OSErr err = FSFindFolder(kUserDomain, kApplicationSupportFolderType, - kCreateFolder, &foundRef); - if (err != noErr) - return false; - - unsigned char path[PATH_MAX]; - FSRefMakePath(&foundRef, path, sizeof(path)); - NSString* destPath = [NSString stringWithUTF8String:reinterpret_cast(path)]; - - // Note that MacOS ignores the vendor when creating the profile hierarchy - - // all application preferences directories live alongside one another in - // ~/Library/Application Support/ - destPath = [destPath stringByAppendingPathComponent: NSSTR(product)]; - destPath = [destPath stringByAppendingPathComponent: @"Crash Reports"]; - - settingsPath = [destPath UTF8String]; - - if (!UIEnsurePathExists(settingsPath)) - return false; - - return true; -} - -bool UIEnsurePathExists(const string& path) -{ - int ret = mkdir(path.c_str(), S_IRWXU); - int e = errno; - if (ret == -1 && e != EEXIST) - return false; - - return true; -} - -bool UIFileExists(const string& path) -{ - struct stat sb; - int ret = stat(path.c_str(), &sb); - if (ret == -1 || !(sb.st_mode & S_IFREG)) - return false; - - return true; -} - -bool UIMoveFile(const string& file, const string& newfile) -{ - return (rename(file.c_str(), newfile.c_str()) != -1); -} - -bool UIDeleteFile(const string& file) -{ - return (unlink(file.c_str()) != -1); -} - -std::ifstream* UIOpenRead(const string& filename) -{ - return new std::ifstream(filename.c_str(), std::ios::in); -} - -std::ofstream* UIOpenWrite(const string& filename) -{ - return new std::ofstream(filename.c_str(), std::ios::out); -} diff --git a/toolkit/airbag/client/crashreporter_win.cpp b/toolkit/airbag/client/crashreporter_win.cpp deleted file mode 100644 index a92f63661f2c..000000000000 --- a/toolkit/airbag/client/crashreporter_win.cpp +++ /dev/null @@ -1,824 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Mozilla Toolkit Crash Reporter - * - * The Initial Developer of the Original Code is - * Ted Mielczarek - * Portions created by the Initial Developer are Copyright (C) 2006 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Ted Mielczarek - * Dave Camp - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifdef WIN32_LEAN_AND_MEAN -#undef WIN32_LEAN_AND_MEAN -#endif - -#include "crashreporter.h" - -#include -#include -#include -#include -#include -#include -#include -#include "resource.h" -#include "client/windows/sender/crash_report_sender.h" -#include "common/windows/string_utils-inl.h" - -#define CRASH_REPORTER_VALUE L"Enabled" -#define SUBMIT_REPORT_VALUE L"SubmitReport" -#define EMAIL_ME_VALUE L"EmailMe" -#define EMAIL_VALUE L"Email" -#define MAX_EMAIL_LENGTH 1024 - -#define WM_UPLOADCOMPLETE WM_APP - -using std::string; -using std::wstring; -using std::map; -using std::vector; -using std::set; -using std::ios; -using std::ifstream; -using std::ofstream; - -using namespace CrashReporter; - -typedef struct { - HWND hDlg; - wstring dumpFile; - map queryParameters; - wstring sendURL; - - wstring serverResponse; -} SendThreadData; - -static HANDLE gThreadHandle; -static SendThreadData gSendData = { 0, }; -static vector gRestartArgs; -static map gQueryParameters; -static wstring gCrashReporterKey(L"Software\\Mozilla\\Crash Reporter"); - -// When vertically resizing the dialog, these items should move down -static set gAttachedBottom; - -// Default set of items for gAttachedBottom -static const UINT kDefaultAttachedBottom[] = { - IDC_VIEWREPORTCHECK, - IDC_VIEWREPORTTEXT, - IDC_SUBMITCRASHCHECK, - IDC_EMAILMECHECK, - IDC_EMAILTEXT, - IDC_CLOSEBUTTON, - IDC_RESTARTBUTTON, -}; - -static wstring UTF8ToWide(const string& utf8, bool *success = 0); -static DWORD WINAPI SendThreadProc(LPVOID param); - -static wstring Str(const char* key) -{ - return UTF8ToWide(gStrings[key]); -} - -/* === win32 helper functions === */ - -static void DoInitCommonControls() -{ - INITCOMMONCONTROLSEX ic; - ic.dwSize = sizeof(INITCOMMONCONTROLSEX); - ic.dwICC = ICC_PROGRESS_CLASS; - InitCommonControlsEx(&ic); - // also get the rich edit control - LoadLibrary(L"riched20.dll"); -} - -static bool GetBoolValue(HKEY hRegKey, LPCTSTR valueName, DWORD* value) -{ - DWORD type, dataSize; - dataSize = sizeof(DWORD); - if (RegQueryValueEx(hRegKey, valueName, NULL, &type, (LPBYTE)value, &dataSize) == ERROR_SUCCESS - && type == REG_DWORD) - return true; - - return false; -} - -static bool CheckBoolKey(const wchar_t* key, - const wchar_t* valueName, - bool* enabled) -{ - *enabled = false; - bool found = false; - HKEY hRegKey; - DWORD val; - // see if our reg key is set globally - if (RegOpenKey(HKEY_LOCAL_MACHINE, key, &hRegKey) == ERROR_SUCCESS) { - if (GetBoolValue(hRegKey, valueName, &val)) { - *enabled = (val == 1); - found = true; - } - RegCloseKey(hRegKey); - } else { - // look for it in user settings - if (RegOpenKey(HKEY_CURRENT_USER, key, &hRegKey) == ERROR_SUCCESS) { - if (GetBoolValue(hRegKey, valueName, &val)) { - *enabled = (val == 1); - found = true; - } - RegCloseKey(hRegKey); - } - } - - return found; -} - -static void SetBoolKey(const wchar_t* key, const wchar_t* value, bool enabled) -{ - HKEY hRegKey; - if (RegCreateKey(HKEY_CURRENT_USER, key, &hRegKey) == ERROR_SUCCESS) { - DWORD data = (enabled ? 1 : 0); - RegSetValueEx(hRegKey, value, 0, REG_DWORD, (LPBYTE)&data, sizeof(data)); - RegCloseKey(hRegKey); - } -} - -static bool GetStringValue(HKEY hRegKey, LPCTSTR valueName, wstring& value) -{ - DWORD type, dataSize; - wchar_t buf[2048]; - dataSize = sizeof(buf); - if (RegQueryValueEx(hRegKey, valueName, NULL, &type, (LPBYTE)buf, &dataSize) == ERROR_SUCCESS - && type == REG_SZ) { - value = buf; - return true; - } - - return false; -} - -static bool GetStringKey(const wchar_t* key, - const wchar_t* valueName, - wstring& value) -{ - value = L""; - bool found = false; - HKEY hRegKey; - // see if our reg key is set globally - if (RegOpenKey(HKEY_LOCAL_MACHINE, key, &hRegKey) == ERROR_SUCCESS) { - if (GetStringValue(hRegKey, valueName, value)) { - found = true; - } - RegCloseKey(hRegKey); - } else { - // look for it in user settings - if (RegOpenKey(HKEY_CURRENT_USER, key, &hRegKey) == ERROR_SUCCESS) { - if (GetStringValue(hRegKey, valueName, value)) { - found = true; - } - RegCloseKey(hRegKey); - } - } - - return found; -} - -static void SetStringKey(const wchar_t* key, - const wchar_t* valueName, - const wstring& value) -{ - HKEY hRegKey; - if (RegCreateKey(HKEY_CURRENT_USER, key, &hRegKey) == ERROR_SUCCESS) { - RegSetValueEx(hRegKey, valueName, 0, REG_SZ, - (LPBYTE)value.c_str(), - (value.length() + 1) * sizeof(wchar_t)); - RegCloseKey(hRegKey); - } -} - -// Gets the position of a window relative to another window's client area -static void GetRelativeRect(HWND hwnd, HWND hwndParent, RECT* r) -{ - GetWindowRect(hwnd, r); - ScreenToClient(hwndParent, (POINT*)&(r->left)); - ScreenToClient(hwndParent, (POINT*)&(r->right)); -} - -static void SetDlgItemVisible(HWND hwndDlg, UINT item, bool visible) -{ - HWND hwnd = GetDlgItem(hwndDlg, item); - LONG style = GetWindowLong(hwnd, GWL_STYLE); - if (visible) - style |= WS_VISIBLE; - else - style &= ~WS_VISIBLE; - - SetWindowLong(hwnd, GWL_STYLE, style); -} - -static void SetDlgItemDisabled(HWND hwndDlg, UINT item, bool disabled) -{ - HWND hwnd = GetDlgItem(hwndDlg, item); - LONG style = GetWindowLong(hwnd, GWL_STYLE); - if (!disabled) - style |= WS_DISABLED; - else - style &= ~WS_DISABLED; - - SetWindowLong(hwnd, GWL_STYLE, style); -} - -/* === Crash Reporting Dialog === */ - -static void StretchDialog(HWND hwndDlg, int ydiff) -{ - RECT r; - GetWindowRect(hwndDlg, &r); - r.bottom += ydiff; - MoveWindow(hwndDlg, r.left, r.top, - r.right - r.left, r.bottom - r.top, TRUE); -} - -static void ReflowDialog(HWND hwndDlg, int ydiff) -{ - // Move items attached to the bottom down/up by as much as - // the window resize - for (set::const_iterator item = gAttachedBottom.begin(); - item != gAttachedBottom.end(); - item++) { - RECT r; - HWND hwnd = GetDlgItem(hwndDlg, *item); - GetRelativeRect(hwnd, hwndDlg, &r); - r.top += ydiff; - r.bottom += ydiff; - MoveWindow(hwnd, r.left, r.top, - r.right - r.left, r.bottom - r.top, TRUE); - } -} - -static DWORD WINAPI SendThreadProc(LPVOID param) -{ - bool finishedOk; - SendThreadData* td = (SendThreadData*)param; - - if (td->sendURL.empty()) { - finishedOk = false; - } else { - google_breakpad::CrashReportSender sender(L""); - finishedOk = (sender.SendCrashReport(td->sendURL, - td->queryParameters, - td->dumpFile, - &td->serverResponse) - == google_breakpad::RESULT_SUCCEEDED); - } - - PostMessage(td->hDlg, WM_UPLOADCOMPLETE, finishedOk ? 1 : 0, 0); - - return 0; -} - -static void EndCrashReporterDialog(HWND hwndDlg, int code) -{ - // Save the current values to the registry - wchar_t email[MAX_EMAIL_LENGTH]; - GetDlgItemText(hwndDlg, IDC_EMAILTEXT, email, sizeof(email)); - SetStringKey(gCrashReporterKey.c_str(), EMAIL_VALUE, email); - - SetBoolKey(gCrashReporterKey.c_str(), EMAIL_ME_VALUE, - IsDlgButtonChecked(hwndDlg, IDC_EMAILMECHECK) != 0); - SetBoolKey(gCrashReporterKey.c_str(), SUBMIT_REPORT_VALUE, - IsDlgButtonChecked(hwndDlg, IDC_SUBMITREPORTCHECK) != 0); - - EndDialog(hwndDlg, code); -} - -static void MaybeSendReport(HWND hwndDlg) -{ - if (!IsDlgButtonChecked(hwndDlg, IDC_SUBMITREPORTCHECK)) { - EndCrashReporterDialog(hwndDlg, 0); - return; - } - - gThreadHandle = NULL; - gSendData.hDlg = hwndDlg; - gSendData.queryParameters = gQueryParameters; - - gThreadHandle = CreateThread(NULL, 0, SendThreadProc, &gSendData, 0, NULL); -} - -static void RestartApplication() -{ - wstring cmdLine; - - for (unsigned int i = 0; i < gRestartArgs.size(); i++) { - cmdLine += L"\"" + UTF8ToWide(gRestartArgs[i]) + L"\" "; - } - - STARTUPINFO si; - PROCESS_INFORMATION pi; - - ZeroMemory(&si, sizeof(si)); - si.cb = sizeof(si); - si.dwFlags = STARTF_USESHOWWINDOW; - si.wShowWindow = SW_SHOWNORMAL; - ZeroMemory(&pi, sizeof(pi)); - - if (CreateProcess(NULL, (LPWSTR)cmdLine.c_str(), NULL, NULL, FALSE, 0, - NULL, NULL, &si, &pi)) { - CloseHandle(pi.hProcess); - CloseHandle(pi.hThread); - } -} - -static void ShowReportInfo(HWND hwndDlg) -{ - wstring description; - - for (map::const_iterator i = gQueryParameters.begin(); - i != gQueryParameters.end(); - i++) { - description += i->first; - description += L": "; - description += i->second; - description += L"\n"; - } - - description += L"\n"; - description += Str(ST_EXTRAREPORTINFO); - - SetDlgItemText(hwndDlg, IDC_VIEWREPORTTEXT, description.c_str()); -} - -static void ShowHideReport(HWND hwndDlg) -{ - // When resizing the dialog to show the report, these items should - // stay put - gAttachedBottom.erase(IDC_VIEWREPORTCHECK); - gAttachedBottom.erase(IDC_VIEWREPORTTEXT); - - RECT r; - HWND hwnd = GetDlgItem(hwndDlg, IDC_VIEWREPORTTEXT); - - GetWindowRect(hwnd, &r); - int diff = (r.bottom - r.top) + 10; - if (IsDlgButtonChecked(hwndDlg, IDC_VIEWREPORTCHECK)) { - SetDlgItemVisible(hwndDlg, IDC_VIEWREPORTTEXT, true); - } else { - SetDlgItemVisible(hwndDlg, IDC_VIEWREPORTTEXT, false); - diff = -diff; - } - - StretchDialog(hwndDlg, diff); - - // set these back to normal - gAttachedBottom.insert(IDC_VIEWREPORTCHECK); - gAttachedBottom.insert(IDC_VIEWREPORTTEXT); -} - -static void UpdateEmail(HWND hwndDlg) -{ - if (IsDlgButtonChecked(hwndDlg, IDC_EMAILMECHECK)) { - wchar_t email[MAX_EMAIL_LENGTH]; - GetDlgItemText(hwndDlg, IDC_EMAILTEXT, email, sizeof(email)); - gQueryParameters[L"Email"] = email; - } else { - gQueryParameters.erase(L"Email"); - } -} - -static BOOL CALLBACK CrashReporterDialogProc(HWND hwndDlg, UINT message, - WPARAM wParam, LPARAM lParam) -{ - static int sHeight = 0; - - bool success; - bool enabled; - - switch (message) { - case WM_INITDIALOG: { - RECT r; - GetClientRect(hwndDlg, &r); - sHeight = r.bottom - r.top; - - SetWindowText(hwndDlg, Str(ST_CRASHREPORTERTITLE).c_str()); - - SendDlgItemMessage(hwndDlg, IDC_DESCRIPTIONTEXT, - EM_SETEVENTMASK, (WPARAM)NULL, - ENM_REQUESTRESIZE); - wstring description = Str(ST_CRASHREPORTERHEADER); - description += L"\n\n"; - description += Str(ST_CRASHREPORTERDESCRIPTION); - SetDlgItemText(hwndDlg, IDC_DESCRIPTIONTEXT, description.c_str()); - - // Make the title bold. - CHARFORMAT fmt = { 0, }; - fmt.cbSize = sizeof(fmt); - fmt.dwMask = CFM_BOLD; - fmt.dwEffects = CFE_BOLD; - SendDlgItemMessage(hwndDlg, IDC_DESCRIPTIONTEXT, EM_SETSEL, - 0, Str(ST_CRASHREPORTERHEADER).length()); - SendDlgItemMessage(hwndDlg, IDC_DESCRIPTIONTEXT, EM_SETCHARFORMAT, - SCF_SELECTION, (LPARAM)&fmt); - SendDlgItemMessage(hwndDlg, IDC_DESCRIPTIONTEXT, EM_SETSEL, 0, 0); - SendDlgItemMessage(hwndDlg, IDC_DESCRIPTIONTEXT, - EM_SETTARGETDEVICE, (WPARAM)NULL, 0); - - SetDlgItemText(hwndDlg, IDC_VIEWREPORTCHECK, Str(ST_VIEWREPORT).c_str()); - SendDlgItemMessage(hwndDlg, IDC_VIEWREPORTTEXT, - EM_SETTARGETDEVICE, (WPARAM)NULL, 0); - - - SetDlgItemText(hwndDlg, IDC_SUBMITREPORTCHECK, - Str(ST_CHECKSUBMIT).c_str()); - if (CheckBoolKey(gCrashReporterKey.c_str(), - SUBMIT_REPORT_VALUE, &enabled) && - !enabled) { - CheckDlgButton(hwndDlg, IDC_SUBMITREPORTCHECK, BST_UNCHECKED); - EnableWindow(GetDlgItem(hwndDlg, IDC_EMAILMECHECK), enabled); - EnableWindow(GetDlgItem(hwndDlg, IDC_EMAILTEXT), enabled); - } else { - CheckDlgButton(hwndDlg, IDC_SUBMITREPORTCHECK, BST_CHECKED); - } - - SetDlgItemText(hwndDlg, IDC_EMAILMECHECK, Str(ST_CHECKEMAIL).c_str()); - if (CheckBoolKey(gCrashReporterKey.c_str(), EMAIL_ME_VALUE, &enabled) && - enabled) { - CheckDlgButton(hwndDlg, IDC_EMAILMECHECK, BST_CHECKED); - } else { - CheckDlgButton(hwndDlg, IDC_EMAILMECHECK, BST_UNCHECKED); - } - - wstring email; - if (GetStringKey(gCrashReporterKey.c_str(), EMAIL_VALUE, email)) { - SetDlgItemText(hwndDlg, IDC_EMAILTEXT, email.c_str()); - } - - SetDlgItemText(hwndDlg, IDC_CLOSEBUTTON, Str(ST_CLOSE).c_str()); - - if (gRestartArgs.size() > 0) { - SetDlgItemText(hwndDlg, IDC_RESTARTBUTTON, Str(ST_RESTART).c_str()); - } else { - // No restart arguments, move the close button over to the side - // and hide the restart button - SetDlgItemVisible(hwndDlg, IDC_RESTARTBUTTON, false); - - RECT closeRect; - HWND hwndClose = GetDlgItem(hwndDlg, IDC_CLOSEBUTTON); - GetRelativeRect(hwndClose, hwndDlg, &closeRect); - - RECT restartRect; - HWND hwndRestart = GetDlgItem(hwndDlg, IDC_RESTARTBUTTON); - GetRelativeRect(hwndRestart, hwndDlg, &restartRect); - - int size = closeRect.right - closeRect.left; - closeRect.right = restartRect.right; - closeRect.left = closeRect.right - size; - - MoveWindow(hwndClose, closeRect.left, closeRect.top, - closeRect.right - closeRect.left, - closeRect.bottom - closeRect.top, - TRUE); - } - UpdateEmail(hwndDlg); - ShowReportInfo(hwndDlg); - - SetFocus(GetDlgItem(hwndDlg, IDC_EMAILTEXT)); - return FALSE; - } - case WM_SIZE: { - ReflowDialog(hwndDlg, HIWORD(lParam) - sHeight); - sHeight = HIWORD(lParam); - InvalidateRect(hwndDlg, NULL, TRUE); - return FALSE; - } - case WM_NOTIFY: { - NMHDR* notification = reinterpret_cast(lParam); - if (notification->code == EN_REQUESTRESIZE) { - // Resizing the rich edit control to fit the description text. - REQRESIZE* reqresize = reinterpret_cast(lParam); - RECT newSize = reqresize->rc; - RECT oldSize; - GetRelativeRect(notification->hwndFrom, hwndDlg, &oldSize); - - // resize the text box as requested - MoveWindow(notification->hwndFrom, newSize.left, newSize.top, - newSize.right - newSize.left, newSize.bottom - newSize.top, - TRUE); - - // Resize the dialog to fit (the WM_SIZE handler will move the controls) - StretchDialog(hwndDlg, newSize.bottom - oldSize.bottom); - } - return FALSE; - } - case WM_COMMAND: { - if (HIWORD(wParam) == BN_CLICKED) { - switch(LOWORD(wParam)) { - case IDC_VIEWREPORTCHECK: - ShowHideReport(hwndDlg); - break; - case IDC_SUBMITREPORTCHECK: - enabled = (IsDlgButtonChecked(hwndDlg, IDC_SUBMITREPORTCHECK) != 0); - EnableWindow(GetDlgItem(hwndDlg, IDC_EMAILMECHECK), enabled); - EnableWindow(GetDlgItem(hwndDlg, IDC_EMAILTEXT), enabled); - break; - case IDC_EMAILMECHECK: - UpdateEmail(hwndDlg); - ShowReportInfo(hwndDlg); - break; - case IDC_CLOSEBUTTON: - // Hide the dialog after "closing", but leave it around to coordinate - // with the upload thread - ShowWindow(hwndDlg, SW_HIDE); - MaybeSendReport(hwndDlg); - break; - case IDC_RESTARTBUTTON: - // Hide the dialog after "closing", but leave it around to coordinate - // with the upload thread - ShowWindow(hwndDlg, SW_HIDE); - RestartApplication(); - MaybeSendReport(hwndDlg); - break; - } - } else if (HIWORD(wParam) == EN_CHANGE) { - switch(LOWORD(wParam)) { - case IDC_EMAILTEXT: - wchar_t email[MAX_EMAIL_LENGTH]; - if (GetDlgItemText(hwndDlg, IDC_EMAILTEXT, email, sizeof(email)) > 0) - CheckDlgButton(hwndDlg, IDC_EMAILMECHECK, BST_CHECKED); - else - CheckDlgButton(hwndDlg, IDC_EMAILMECHECK, BST_UNCHECKED); - UpdateEmail(hwndDlg); - ShowReportInfo(hwndDlg); - } - } - - return FALSE; - } - case WM_UPLOADCOMPLETE: { - WaitForSingleObject(gThreadHandle, INFINITE); - success = (wParam == 1); - SendCompleted(success, WideToUTF8(gSendData.serverResponse)); - if (!success) { - MessageBox(hwndDlg, - Str(ST_SUBMITFAILED).c_str(), - Str(ST_CRASHREPORTERTITLE).c_str(), - MB_OK | MB_ICONERROR); - } - EndCrashReporterDialog(hwndDlg, success ? 1 : 0); - return TRUE; - } - } - return FALSE; -} - -static wstring UTF8ToWide(const string& utf8, bool *success) -{ - wchar_t* buffer = NULL; - int buffer_size = MultiByteToWideChar(CP_UTF8, 0, utf8.c_str(), - -1, NULL, 0); - if(buffer_size == 0) { - if (success) - *success = false; - return L""; - } - - buffer = new wchar_t[buffer_size]; - if(buffer == NULL) { - if (success) - *success = false; - return L""; - } - - MultiByteToWideChar(CP_UTF8, 0, utf8.c_str(), - -1, buffer, buffer_size); - wstring str = buffer; - delete [] buffer; - - if (success) - *success = true; - - return str; -} - -string WideToUTF8(const wstring& wide, bool* success) -{ - char* buffer = NULL; - int buffer_size = WideCharToMultiByte(CP_UTF8, 0, wide.c_str(), - -1, NULL, 0, NULL, NULL); - if(buffer_size == 0) { - if (success) - *success = false; - return ""; - } - - buffer = new char[buffer_size]; - if(buffer == NULL) { - if (success) - *success = false; - return ""; - } - - WideCharToMultiByte(CP_UTF8, 0, wide.c_str(), - -1, buffer, buffer_size, NULL, NULL); - string utf8 = buffer; - delete [] buffer; - - if (success) - *success = true; - - return utf8; -} - -/* === Crashreporter UI Functions === */ - -bool UIInit() -{ - for (int i = 0; i < sizeof(kDefaultAttachedBottom) / sizeof(UINT); i++) { - gAttachedBottom.insert(kDefaultAttachedBottom[i]); - } - - DoInitCommonControls(); - return true; -} - -void UIShutdown() -{ -} - -void UIShowDefaultUI() -{ - MessageBox(NULL, Str(ST_CRASHREPORTERDEFAULT).c_str(), - L"Crash Reporter", - MB_OK | MB_ICONSTOP); -} - -void UIShowCrashUI(const string& dumpFile, - const StringTable& queryParameters, - const string& sendURL, - const vector& restartArgs) -{ - gSendData.hDlg = NULL; - gSendData.dumpFile = UTF8ToWide(dumpFile); - gSendData.sendURL = UTF8ToWide(sendURL); - - for (StringTable::const_iterator i = queryParameters.begin(); - i != queryParameters.end(); - i++) { - gQueryParameters[UTF8ToWide(i->first)] = UTF8ToWide(i->second); - } - - if (gQueryParameters.find(L"Vendor") != gQueryParameters.end()) { - gCrashReporterKey = L"Software\\" + - gQueryParameters[L"Vendor"] + - L"\\Crash Reporter"; - } - - gRestartArgs = restartArgs; - - DialogBoxParam(NULL, MAKEINTRESOURCE(IDD_SENDDIALOG), NULL, - (DLGPROC)CrashReporterDialogProc, 0); -} - -void UIError_impl(const string& message) -{ - wstring title = Str(ST_CRASHREPORTERTITLE); - if (title.empty()) - title = L"Crash Reporter Error"; - - MessageBox(NULL, UTF8ToWide(message).c_str(), title.c_str(), - MB_OK | MB_ICONSTOP); -} - -bool UIGetIniPath(string& path) -{ - wchar_t fileName[MAX_PATH]; - if (GetModuleFileName(NULL, fileName, MAX_PATH)) { - // get crashreporter ini - wchar_t* s = wcsrchr(fileName, '.'); - if (s) { - wcscpy(s, L".ini"); - path = WideToUTF8(fileName); - return true; - } - } - - return false; -} - -bool UIGetSettingsPath(const string& vendor, - const string& product, - string& settings_path) -{ - wchar_t path[MAX_PATH]; - if(SUCCEEDED(SHGetFolderPath(NULL, - CSIDL_APPDATA, - NULL, - 0, - path))) { - if (!vendor.empty()) { - PathAppend(path, UTF8ToWide(vendor).c_str()); - } - PathAppend(path, UTF8ToWide(product).c_str()); - PathAppend(path, L"Crash Reports"); - // in case it doesn't exist - CreateDirectory(path, NULL); - settings_path = WideToUTF8(path); - return true; - } - return false; -} - -bool UIEnsurePathExists(const string& path) -{ - if (CreateDirectory(UTF8ToWide(path).c_str(), NULL) == 0) { - if (GetLastError() != ERROR_ALREADY_EXISTS) - return false; - } - - return true; -} - -bool UIFileExists(const string& path) -{ - DWORD attrs = GetFileAttributes(UTF8ToWide(path).c_str()); - return (attrs != INVALID_FILE_ATTRIBUTES); -} - -bool UIMoveFile(const string& oldfile, const string& newfile) -{ - if (oldfile == newfile) - return true; - - return MoveFile(UTF8ToWide(oldfile).c_str(), UTF8ToWide(newfile).c_str()) - == TRUE; -} - -bool UIDeleteFile(const string& oldfile) -{ - return DeleteFile(UTF8ToWide(oldfile).c_str()) == TRUE; -} - -ifstream* UIOpenRead(const string& filename) -{ - // adapted from breakpad's src/common/windows/http_upload.cc - - // The "open" method on pre-MSVC8 ifstream implementations doesn't accept a - // wchar_t* filename, so use _wfopen directly in that case. For VC8 and - // later, _wfopen has been deprecated in favor of _wfopen_s, which does - // not exist in earlier versions, so let the ifstream open the file itself. -#if _MSC_VER >= 1400 // MSVC 2005/8 - ifstream* file = new ifstream(); - file->open(UTF8ToWide(filename).c_str(), ios::in); -#else // _MSC_VER >= 1400 - ifstream* file = new ifstream(_wfopen(UTF8ToWide(filename).c_str(), L"r")); -#endif // _MSC_VER >= 1400 - - return file; -} - -ofstream* UIOpenWrite(const string& filename) -{ - // adapted from breakpad's src/common/windows/http_upload.cc - - // The "open" method on pre-MSVC8 ifstream implementations doesn't accept a - // wchar_t* filename, so use _wfopen directly in that case. For VC8 and - // later, _wfopen has been deprecated in favor of _wfopen_s, which does - // not exist in earlier versions, so let the ifstream open the file itself. -#if _MSC_VER >= 1400 // MSVC 2005/8 - ofstream* file = new ofstream(); - file->open(UTF8ToWide(filename).c_str(), ios::out); -#else // _MSC_VER >= 1400 - ofstream* file = new ofstream(_wfopen(UTF8ToWide(filename).c_str(), L"w")); -#endif // _MSC_VER >= 1400 - - return file; -} diff --git a/toolkit/airbag/client/macbuild/Contents/Info.plist b/toolkit/airbag/client/macbuild/Contents/Info.plist deleted file mode 100644 index ee10ae5b0841..000000000000 --- a/toolkit/airbag/client/macbuild/Contents/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - crashreporter - CFBundleIconFile - crashreporter.icns - CFBundleIdentifier - org.mozilla.crashreporter - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/toolkit/airbag/client/macbuild/Contents/PkgInfo b/toolkit/airbag/client/macbuild/Contents/PkgInfo deleted file mode 100644 index cae6d0a58f25..000000000000 --- a/toolkit/airbag/client/macbuild/Contents/PkgInfo +++ /dev/null @@ -1,2 +0,0 @@ -APPL???? - diff --git a/toolkit/airbag/client/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in b/toolkit/airbag/client/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in deleted file mode 100644 index 85f0e12cfecd..000000000000 --- a/toolkit/airbag/client/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in +++ /dev/null @@ -1,4 +0,0 @@ -/* Localized versions of Info.plist keys */ - -CFBundleName = "%APP_NAME% Crash Reporter"; -NSHumanReadableCopyright = "Copyright © 2007 Mozilla Foundation"; diff --git a/toolkit/airbag/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/classes.nib b/toolkit/airbag/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/classes.nib deleted file mode 100644 index a34e313e8a50..000000000000 --- a/toolkit/airbag/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/classes.nib +++ /dev/null @@ -1,36 +0,0 @@ -{ - IBClasses = ( - { - ACTIONS = { - closeAndSendClicked = id; - closeClicked = id; - emailMeClicked = id; - restartClicked = id; - viewReportClicked = id; - }; - CLASS = CrashReporterUI; - LANGUAGE = ObjC; - OUTLETS = { - closeButton = NSButton; - descriptionLabel = NSTextField; - emailMeButton = NSButton; - emailText = NSTextField; - errorCloseButton = NSButton; - errorHeaderLabel = NSTextField; - errorLabel = NSTextField; - errorView = NSView; - headerLabel = NSTextField; - restartButton = NSButton; - submitReportButton = NSButton; - viewReportButton = NSButton; - viewReportLabel = NSTextField; - viewReportScrollView = NSScrollView; - viewReportTextView = NSTextView; - window = NSWindow; - }; - SUPERCLASS = NSObject; - }, - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/toolkit/airbag/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/info.nib b/toolkit/airbag/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/info.nib deleted file mode 100644 index de43cc106026..000000000000 --- a/toolkit/airbag/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/info.nib +++ /dev/null @@ -1,36 +0,0 @@ - - - - - IBDocumentLocation - 128 190 504 836 0 0 1920 1178 - IBEditorPositions - - 282 - 685 720 550 163 0 0 1920 1178 - 29 - 447 315 137 44 0 0 1440 878 - 356 - 684 695 551 213 0 0 1920 1178 - 386 - 492 520 456 164 0 0 1440 878 - - IBFramework Version - 446.1 - IBLockedObjects - - 282 - 356 - - IBOldestOS - 2 - IBOpenObjects - - 29 - 386 - 21 - - IBSystem Version - 8P2137 - - diff --git a/toolkit/airbag/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/keyedobjects.nib b/toolkit/airbag/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/keyedobjects.nib deleted file mode 100644 index e7b0de090f1f..000000000000 Binary files a/toolkit/airbag/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/keyedobjects.nib and /dev/null differ diff --git a/toolkit/airbag/client/macbuild/Contents/Resources/crashreporter.icns b/toolkit/airbag/client/macbuild/Contents/Resources/crashreporter.icns deleted file mode 100644 index 0cb65f1256a7..000000000000 Binary files a/toolkit/airbag/client/macbuild/Contents/Resources/crashreporter.icns and /dev/null differ diff --git a/toolkit/airbag/client/resource.h b/toolkit/airbag/client/resource.h deleted file mode 100644 index a2d75032f774..000000000000 --- a/toolkit/airbag/client/resource.h +++ /dev/null @@ -1,30 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by crashreporter.rc -// -#define IDD_SENDDIALOG 102 -#define IDC_PROGRESS 1003 -#define IDC_DESCRIPTIONTEXT 1004 -#define IDC_CLOSEBUTTON 1005 -#define IDC_VIEWREPORTBUTTON 1006 -#define IDC_SUBMITCRASHCHECK 1007 -#define IDC_SUBMITREPORTCHECK 1007 -#define IDC_EMAILMECHECK 1008 -#define IDC_EMAILTEXT 1009 -#define IDC_HEADERLABEL 1010 -#define IDC_RESTARTBUTTON 1012 -#define IDC_DESCRIPTIONLABEL 1013 -#define IDC_VIEWREPORTTEXT 1015 -#define IDC_VIEWREPORTCHECK 1016 -#define IDC_PROGRESSLABEL -1 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 103 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1017 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif