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