Disassembler.h revision 9347e0bdf9d9cb691c3681ea06c87716b6251af4
19347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien/* 29347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien * Copyright 2011, The Android Open Source Project 39347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien * 49347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien * Licensed under the Apache License, Version 2.0 (the "License"); 59347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien * you may not use this file except in compliance with the License. 69347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien * You may obtain a copy of the License at 79347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien * 89347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien * http://www.apache.org/licenses/LICENSE-2.0 99347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien * 109347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien * Unless required by applicable law or agreed to in writing, software 119347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien * distributed under the License is distributed on an "AS IS" BASIS, 129347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien * See the License for the specific language governing permissions and 149347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien * limitations under the License. 159347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien */ 169347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien 179347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien#ifndef BCC_DISASSEMBLER_H 189347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien#define BCC_DISASSEMBLER_H 199347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien 209347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien#include "Config.h" 219347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien 229347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien#if USE_DISASSEMBLER 239347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien 249347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien#include <string> 259347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien 269347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chiennamespace llvm { 279347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien class Target; 289347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien class TargetMachine; 299347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien} 309347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien 319347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chiennamespace bcc { 329347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien 339347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien void InitializeDisassembler(); 349347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien 359347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien void Disassemble(char const *OutputFileName, 369347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien llvm::Target const *Target, 379347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien llvm::TargetMachine *TM, 389347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien std::string const &Name, 399347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien unsigned char const *Func, 409347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien size_t FuncSize); 419347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien 429347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien} // namespace bcc 439347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien 449347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien#endif // USE_DISASSEMBLER 459347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien 469347e0bdf9d9cb691c3681ea06c87716b6251af4Logan Chien#endif // BCC_DISASSEMBLER_H 47