object_file.hh (9641:2285b98847d7) | object_file.hh (10037:5cac77888310) |
---|---|
1/* 2 * Copyright (c) 2002-2004 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 38 unchanged lines hidden (view full) --- 47 enum Arch { 48 UnknownArch, 49 Alpha, 50 SPARC64, 51 SPARC32, 52 Mips, 53 X86_64, 54 I386, | 1/* 2 * Copyright (c) 2002-2004 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 38 unchanged lines hidden (view full) --- 47 enum Arch { 48 UnknownArch, 49 Alpha, 50 SPARC64, 51 SPARC32, 52 Mips, 53 X86_64, 54 I386, |
55 Arm64, |
|
55 Arm, 56 Thumb, 57 Power 58 }; 59 60 enum OpSys { 61 UnknownOpSys, 62 Tru64, --- 16 unchanged lines hidden (view full) --- 79 Arch _arch, OpSys _opSys); 80 81 public: 82 virtual ~ObjectFile(); 83 84 void close(); 85 86 virtual bool loadSections(PortProxy& memProxy, Addr addrMask = | 56 Arm, 57 Thumb, 58 Power 59 }; 60 61 enum OpSys { 62 UnknownOpSys, 63 Tru64, --- 16 unchanged lines hidden (view full) --- 80 Arch _arch, OpSys _opSys); 81 82 public: 83 virtual ~ObjectFile(); 84 85 void close(); 86 87 virtual bool loadSections(PortProxy& memProxy, Addr addrMask = |
87 std::numeric_limits<Addr>::max()); | 88 std::numeric_limits<Addr>::max(), 89 Addr offset = 0); |
88 virtual bool loadGlobalSymbols(SymbolTable *symtab, Addr addrMask = 89 std::numeric_limits<Addr>::max()) = 0; 90 virtual bool loadLocalSymbols(SymbolTable *symtab, Addr addrMask = 91 std::numeric_limits<Addr>::max()) = 0; 92 virtual bool loadWeakSymbols(SymbolTable *symtab, Addr addrMask = 93 std::numeric_limits<Addr>::max()) 94 { return false; } 95 --- 13 unchanged lines hidden (view full) --- 109 110 Addr entry; 111 Addr globalPtr; 112 113 Section text; 114 Section data; 115 Section bss; 116 | 90 virtual bool loadGlobalSymbols(SymbolTable *symtab, Addr addrMask = 91 std::numeric_limits<Addr>::max()) = 0; 92 virtual bool loadLocalSymbols(SymbolTable *symtab, Addr addrMask = 93 std::numeric_limits<Addr>::max()) = 0; 94 virtual bool loadWeakSymbols(SymbolTable *symtab, Addr addrMask = 95 std::numeric_limits<Addr>::max()) 96 { return false; } 97 --- 13 unchanged lines hidden (view full) --- 111 112 Addr entry; 113 Addr globalPtr; 114 115 Section text; 116 Section data; 117 Section bss; 118 |
117 bool loadSection(Section *sec, PortProxy& memProxy, Addr addrMask); | 119 bool loadSection(Section *sec, PortProxy& memProxy, Addr addrMask, 120 Addr offset = 0); |
118 void setGlobalPointer(Addr global_ptr) { globalPtr = global_ptr; } 119 120 public: 121 Addr entryPoint() const { return entry; } 122 123 Addr globalPointer() const { return globalPtr; } 124 125 Addr textBase() const { return text.baseAddr; } --- 19 unchanged lines hidden --- | 121 void setGlobalPointer(Addr global_ptr) { globalPtr = global_ptr; } 122 123 public: 124 Addr entryPoint() const { return entry; } 125 126 Addr globalPointer() const { return globalPtr; } 127 128 Addr textBase() const { return text.baseAddr; } --- 19 unchanged lines hidden --- |