blob: 085623e35907d5f6e3b9de8ec3c0ac1e4b1b0b41 [file] [log] [blame]
Yi Kong83283012023-12-13 12:57:00 +09001//===- 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
15namespace llvm {
16namespace object {
17
18struct SymEntry {
19 symbol_iterator I;
20 uint64_t Address;
21 unsigned Number;
22 unsigned SectionID;
23};
24
25int compareAddress(const SymEntry *A, const SymEntry *B);
26
27std::vector<std::pair<SymbolRef, uint64_t>>
28computeSymbolSizes(const ObjectFile &O);
29
30}
31} // namespace llvm
32
33#endif