Finished layout code.
[binutils.git] / gold / i386.cc
blob21dd57a2ed720df908ab768d77ea4ea56dcace65
1 // i386.cc -- i386 target support for gold.
3 #include "gold.h"
4 #include "elfcpp.h"
5 #include "target.h"
6 #include "target-select.h"
8 namespace
11 using namespace gold;
13 // The i386 target class.
15 class Target_i386 : public Sized_target<32, false>
17 public:
18 Target_i386()
19 : Sized_target<32, false>(&i386_info)
20 { }
22 private:
23 static const Target::Target_info i386_info;
26 const Target::Target_info Target_i386::i386_info =
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
37 // The selector for i386 object files.
39 class Target_selector_i386 : public Target_selector
41 public:
42 Target_selector_i386()
43 : Target_selector(elfcpp::EM_386, 32, false)
44 { }
46 Target*
47 recognize(int machine, int osabi, int abiversion) const;
50 // Recognize an i386 object file when we already know that the machine
51 // number is EM_386.
53 Target*
54 Target_selector_i386::recognize(int, int, int) const
56 return new Target_i386();
59 Target_selector_i386 target_selector_i386;
61 } // End anonymous namespace.