raw_object.cc (3603:714467743f9b) raw_object.cc (3812:eaa215123a26)
1/*
2 * Copyright (c) 2006 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;

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

56 bss.fileImage = NULL;
57
58 DPRINTFR(Loader, "text: 0x%x %d\ndata: 0x%x %d\nbss: 0x%x %d\n",
59 text.baseAddr, text.size, data.baseAddr, data.size,
60 bss.baseAddr, bss.size);
61}
62
63bool
1/*
2 * Copyright (c) 2006 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;

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

56 bss.fileImage = NULL;
57
58 DPRINTFR(Loader, "text: 0x%x %d\ndata: 0x%x %d\nbss: 0x%x %d\n",
59 text.baseAddr, text.size, data.baseAddr, data.size,
60 bss.baseAddr, bss.size);
61}
62
63bool
64RawObject::loadGlobalSymbols(SymbolTable *symtab)
64RawObject::loadGlobalSymbols(SymbolTable *symtab, Addr addrMask)
65{
66 int fnameStart = filename.rfind('/',filename.size()) + 1;
67 int extStart = filename.rfind('.',filename.size());
65{
66 int fnameStart = filename.rfind('/',filename.size()) + 1;
67 int extStart = filename.rfind('.',filename.size());
68 symtab->insert(text.baseAddr, filename.substr(fnameStart,
68 symtab->insert(text.baseAddr & addrMask, filename.substr(fnameStart,
69 extStart-fnameStart) + "_start");
70 return true;
71}
72
73bool
69 extStart-fnameStart) + "_start");
70 return true;
71}
72
73bool
74RawObject::loadLocalSymbols(SymbolTable *symtab)
74RawObject::loadLocalSymbols(SymbolTable *symtab, Addr addrMask)
75{
76 int fnameStart = filename.rfind('/',filename.size()) + 1;
77 int extStart = filename.rfind('.',filename.size());
75{
76 int fnameStart = filename.rfind('/',filename.size()) + 1;
77 int extStart = filename.rfind('.',filename.size());
78 symtab->insert(text.baseAddr, filename.substr(fnameStart,
78 symtab->insert(text.baseAddr & addrMask, filename.substr(fnameStart,
79 extStart-fnameStart) + "_start");
80 return true;
81}
79 extStart-fnameStart) + "_start");
80 return true;
81}