[Wisp-cvs] wisp/users/dig linkie.py,1.60,1.61
Status: Alpha
Brought to you by:
digg
From: <di...@us...> - 2003-05-13 13:42:37
|
Update of /cvsroot/wisp/wisp/users/dig In directory sc8-pr-cvs1:/tmp/cvs-serv32067 Modified Files: linkie.py Log Message: dropped Linkie.paste Index: linkie.py =================================================================== RCS file: /cvsroot/wisp/wisp/users/dig/linkie.py,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- linkie.py 13 May 2003 13:20:21 -0000 1.60 +++ linkie.py 13 May 2003 13:42:34 -0000 1.61 @@ -199,46 +199,6 @@ for ofs, typ, arg in that._linker_notes: this._linker_notes.append((ofs + delta, typ, arg)) return delta - def paste (this, offset, that, skip_addr = 0): - # Pastes /that/ into /this/ at specified /offset/ (if negative, - # /offset/ is treated as an alignment restriction and the actual - # offset is automatically calculated from that). - # Note that the specified alignment of /that/ is IGNORED. - # Origin of /this/ *should* be zero. - - if this._unresolved_locals: raise 'Incomplete linkie', this - if that._unresolved_locals: raise 'Incomplete linkie', that - - # provide sufficient padding - if offset == None: this.align(that.get_alignment()) - elif offset < 0: this.align(- offset) - else: this.skip(offset - this.memsz()) - - # convert any padding to hard zeroes if needed - if that.filesz(): this.deskip() - - # remember the start offset of /that/ - thatofs = this.memsz() - - # carry over all the bits - this._contents.extend(that._contents) - this._skipped = that._skipped - - # carry over and process the symbols - for sym, val in that._symbols: - if sym[0] == '!': - this._symbols.append((sym, val + thatofs)) - elif sym[0] == '#': - this._symbols.append((sym, val)) - elif sym[0] in '&%': - if not skip_addr: this._symbols.append((sym, val)) - else: - raise 'unprefixed symbol', sym - - # carry over the linker notes - for ofs, typ, arg in that._linker_notes: - this._linker_notes.append((ofs + thatofs, typ, arg)) - # return nothing def glue (this, offset, that, origin): # Pastes /that/ into /this/ at specified /offset/. # Adds /origin/ to all &symbols in /that/ and converta sll |