168004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// Copyright (c) 2007, Google Inc.
268004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// All rights reserved.
368004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai//
468004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// Redistribution and use in source and binary forms, with or without
568004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// modification, are permitted provided that the following conditions are
668004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// met:
768004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai//
868004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai//     * Redistributions of source code must retain the above copyright
968004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// notice, this list of conditions and the following disclaimer.
1068004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai//     * Redistributions in binary form must reproduce the above
1168004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// copyright notice, this list of conditions and the following disclaimer
1268004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// in the documentation and/or other materials provided with the
1368004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// distribution.
1468004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai//     * Neither the name of Google Inc. nor the names of its
1568004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// contributors may be used to endorse or promote products derived from
1668004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// this software without specific prior written permission.
1768004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai//
1868004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1968004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2068004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
2168004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
2268004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2368004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2468004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2568004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2668004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2768004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2868004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2968004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai//
3068004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// dump_symbols.cc: Implements a Solaris stab debugging format dumper.
3168004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai//
3268004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai// Author: Alfred Peng
3368004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai
3468004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai#ifndef COMMON_SOLARIS_DUMP_SYMBOLS_H__
3568004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai#define COMMON_SOLARIS_DUMP_SYMBOLS_H__
3668004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai
3768004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai#include <string>
3868004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai
3968004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovainamespace google_breakpad {
4068004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai
4168004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovaiclass DumpSymbols {
4268004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai public:
4368004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai  bool WriteSymbolFile(const std::string &obj_file,
4468004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai                       int sym_fd);
4568004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai};
4668004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai
4768004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai}  // namespace google_breakpad
4868004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai
4968004c84d6b852cfd4096cd211d2f8d3ff1d9f48mmentovai#endif  // COMMON_SOLARIS_DUMP_SYMBOLS_H__
50