elf_object.hh (8852:c744483edfcf) elf_object.hh (9641:2285b98847d7)
1/*
2 * Copyright (c) 2003-2005 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;

--- 57 unchanged lines hidden (view full) ---

66 virtual ~ElfObject() {}
67
68 bool loadSections(PortProxy& memProxy,
69 Addr addrMask = std::numeric_limits<Addr>::max());
70 virtual bool loadGlobalSymbols(SymbolTable *symtab, Addr addrMask =
71 std::numeric_limits<Addr>::max());
72 virtual bool loadLocalSymbols(SymbolTable *symtab, Addr addrMask =
73 std::numeric_limits<Addr>::max());
1/*
2 * Copyright (c) 2003-2005 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;

--- 57 unchanged lines hidden (view full) ---

66 virtual ~ElfObject() {}
67
68 bool loadSections(PortProxy& memProxy,
69 Addr addrMask = std::numeric_limits<Addr>::max());
70 virtual bool loadGlobalSymbols(SymbolTable *symtab, Addr addrMask =
71 std::numeric_limits<Addr>::max());
72 virtual bool loadLocalSymbols(SymbolTable *symtab, Addr addrMask =
73 std::numeric_limits<Addr>::max());
74 virtual bool loadWeakSymbols(SymbolTable *symtab, Addr addrMask =
75 std::numeric_limits<Addr>::max());
74
75 virtual bool isDynamic() { return sectionExists(".interp"); }
76 virtual bool hasTLS() { return sectionExists(".tbss"); }
77
78 static ObjectFile *tryFile(const std::string &fname, int fd,
79 size_t len, uint8_t *data);
80 Addr programHeaderTable() {return _programHeaderTable;}
81 uint16_t programHeaderSize() {return _programHeaderSize;}
82 uint16_t programHeaderCount() {return _programHeaderCount;}
83};
84
85#endif // __ELF_OBJECT_HH__
76
77 virtual bool isDynamic() { return sectionExists(".interp"); }
78 virtual bool hasTLS() { return sectionExists(".tbss"); }
79
80 static ObjectFile *tryFile(const std::string &fname, int fd,
81 size_t len, uint8_t *data);
82 Addr programHeaderTable() {return _programHeaderTable;}
83 uint16_t programHeaderSize() {return _programHeaderSize;}
84 uint16_t programHeaderCount() {return _programHeaderCount;}
85};
86
87#endif // __ELF_OBJECT_HH__