1*fcaf7f86SDimitry Andric //===- DebugInfoLinker.h ----------------------------------------*- C++ -*-===// 2*fcaf7f86SDimitry Andric // 3*fcaf7f86SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*fcaf7f86SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*fcaf7f86SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*fcaf7f86SDimitry Andric // 7*fcaf7f86SDimitry Andric //===----------------------------------------------------------------------===// 8*fcaf7f86SDimitry Andric 9*fcaf7f86SDimitry Andric #ifndef LLVM_TOOLS_LLVM_DWARFUTIL_DEBUGINFOLINKER_H 10*fcaf7f86SDimitry Andric #define LLVM_TOOLS_LLVM_DWARFUTIL_DEBUGINFOLINKER_H 11*fcaf7f86SDimitry Andric 12*fcaf7f86SDimitry Andric #include "Options.h" 13*fcaf7f86SDimitry Andric #include "llvm/Object/Archive.h" 14*fcaf7f86SDimitry Andric #include "llvm/Object/ELFObjectFile.h" 15*fcaf7f86SDimitry Andric #include "llvm/Object/ObjectFile.h" 16*fcaf7f86SDimitry Andric 17*fcaf7f86SDimitry Andric namespace llvm { 18*fcaf7f86SDimitry Andric namespace dwarfutil { 19*fcaf7f86SDimitry Andric 20*fcaf7f86SDimitry Andric inline bool isDebugSection(StringRef SecName) { 21*fcaf7f86SDimitry Andric return SecName.startswith(".debug") || SecName.startswith(".zdebug") || 22*fcaf7f86SDimitry Andric SecName == ".gdb_index"; 23*fcaf7f86SDimitry Andric } 24*fcaf7f86SDimitry Andric 25*fcaf7f86SDimitry Andric bool linkDebugInfo(object::ObjectFile &file, const Options &Options, 26*fcaf7f86SDimitry Andric raw_pwrite_stream &OutStream); 27*fcaf7f86SDimitry Andric 28*fcaf7f86SDimitry Andric } // end of namespace dwarfutil 29*fcaf7f86SDimitry Andric } // end of namespace llvm 30*fcaf7f86SDimitry Andric 31*fcaf7f86SDimitry Andric #endif // LLVM_TOOLS_LLVM_DWARFUTIL_DEBUGINFOLINKER_H 32