21dd57a2ed720df908ab768d77ea4ea56dcace65
[deliverable/binutils-gdb.git] / gold / i386.cc
1 // i386.cc -- i386 target support for gold.
2
3 #include "gold.h"
4 #include "elfcpp.h"
5 #include "target.h"
6 #include "target-select.h"
7
8 namespace
9 {
10
11 using namespace gold;
12
13 // The i386 target class.
14
15 class Target_i386 : public Sized_target<32, false>
16 {
17 public:
18 Target_i386()
19 : Sized_target<32, false>(&i386_info)
20 { }
21
22 private:
23 static const Target::Target_info i386_info;
24 };
25
26 const Target::Target_info Target_i386::i386_info =
27 {
28 32, // size
29 false, // is_big_endian
30 false, // has_make_symbol
31 false, // has_resolve,
32 0x08048000, // text_segment_address,
33 0x1000, // abi_pagesize
34 0x1000 // common_pagesize
35 };
36
37 // The selector for i386 object files.
38
39 class Target_selector_i386 : public Target_selector
40 {
41 public:
42 Target_selector_i386()
43 : Target_selector(elfcpp::EM_386, 32, false)
44 { }
45
46 Target*
47 recognize(int machine, int osabi, int abiversion) const;
48 };
49
50 // Recognize an i386 object file when we already know that the machine
51 // number is EM_386.
52
53 Target*
54 Target_selector_i386::recognize(int, int, int) const
55 {
56 return new Target_i386();
57 }
58
59 Target_selector_i386 target_selector_i386;
60
61 } // End anonymous namespace.
This page took 0.031827 seconds and 4 git commands to generate.