1 //===- SymbolSize.h ---------------------------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLVM_OBJECT_SYMBOLSIZE_H 11 #define LLVM_OBJECT_SYMBOLSIZE_H 12 13 #include "llvm/Object/ObjectFile.h" 14 15 namespace llvm { 16 namespace object { 17 18 struct SymEntry { 19 symbol_iterator I; 20 uint64_t Address; 21 unsigned Number; 22 unsigned SectionID; 23 }; 24 25 int compareAddress(const SymEntry *A, const SymEntry *B); 26 27 std::vector<std::pair<SymbolRef, uint64_t>> 28 computeSymbolSizes(const ObjectFile &O); 29 30 } 31 } // namespace llvm 32 33 #endif 34