Update of /cvsroot/wisp/wisp/users/dig
In directory sc8-pr-cvs1:/tmp/cvs-serv2588
Modified Files:
linkie.py
Log Message:
added the skip_addr argument to Linkie.paste
Index: linkie.py
===================================================================
RCS file: /cvsroot/wisp/wisp/users/dig/linkie.py,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- linkie.py 12 Apr 2003 11:10:51 -0000 1.22
+++ linkie.py 14 Apr 2003 00:21:58 -0000 1.23
@@ -258,7 +258,7 @@
for ofs, typ, arg in that._linker_notes:
this._linker_notes.append((ofs + delta, typ, arg))
return delta
- def paste (this, offset, that):
+ 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).
@@ -286,8 +286,10 @@
for sym, val in that._symbols:
if sym[0] == '!':
this._symbols.append((sym, val + thatofs))
- elif sym[0] in '#&':
+ elif sym[0] in '#':
this._symbols.append((sym, val))
+ elif sym[0] in '&':
+ if not skip_addr: this._symbols.append((sym, val))
else:
raise 'unprefixed symbol', sym
|