RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
Loading...
Searching...
No Matches
resolution.h
1#ifndef RESOLUTION_H
2#define RESOLUTION_H
3
4#include <iostream>
5#include "../common.h"
6#include "target.h"
7#include "segment.h"
8
9namespace Linker
10{
17 {
18 public:
22 uint64_t value;
26 std::shared_ptr<Segment> target;
32 std::shared_ptr<Segment> reference;
33
35 {
36 }
37
38 Resolution(uint64_t value, std::shared_ptr<Segment> target, std::shared_ptr<Segment> reference)
39 :
40 value(value),
41 target(target == reference ? nullptr : target),
42 reference(target == reference ? nullptr : reference)
43 {
44 }
45 };
46
47 std::ostream& operator<<(std::ostream& out, const Resolution& resolution);
48}
49
50#endif /* RESOLUTION_H */
Representing a resolved relocation.
Definition resolution.h:17
uint64_t value
The resolved value.
Definition resolution.h:22
std::shared_ptr< Segment > target
The segment of the target.
Definition resolution.h:26
std::shared_ptr< Segment > reference
The segment of the reference.
Definition resolution.h:32