[Info-vax] PATCH/ABSOLUTE does not PATCH/ABSOLUTE

VAXman- at SendSpamHere.ORG VAXman- at SendSpamHere.ORG
Mon Aug 20 07:42:07 EDT 2012


In article <08718cad-5d41-4b7f-9fb8-1853ebd0df2d at googlegroups.com>, Hein RMS van den Heuvel <heinvandenheuvel at gmail.com> writes:
>On Saturday, August 18, 2012 11:47:24 AM UTC-4, (unknown) wrote:
>> On Itanium:
>:
>> $ MACRO/OBJECT=X.OBJ SYS$INPUT
>> .ENTRY GO,0 
>> .END
>:
>> %PATCH-I-WRTFIL, updating image file DISK:[DIRECTORY]X.OBJ;2
>:
>> $ DIFF X.OBJ
>> Fails miserably.
>: 
>> PATCH does not maintain this file's undefined format.
>
>It does stay undefined.
>It fails to maintain the EOF information properly
>If so inclined one can fix it with:
>
>
>$ set file tmp.obj;/att=(ffb='f$file("tmp.obj;-1","ffb"),ebk='f$file("tmp.obj;-1","eof"))
>
>If you made no change, then diff will bless the file after that.
>
>What I find more worrisome is that it appears NOT to listen to /ABSOLUTE.
>It updated a timestamp in the data block with the patch time???
>
>Check the bytes at 0C0...
>
>PATCH>ex/as 0a0
>000000A0:  '19-A'
>PATCH>dep/as .="test"
>old:    000000A0:  '19-A'
>new:    000000A0:  'test'
>PATCH>update
>%PATCH-I-WRTFIL, updating image file TMP.OBJ;3
>$ set file tmp.obj;/att=(ffb='f$file("tmp.obj;-1","ffb"),ebk='f$file("tmp.obj;-1","eof"))
>$ dump/blo/wid=80 tmp.obj;2 /out=2.tmp
>$ dump/blo/wid=80 tmp.obj;3 /out=3.tmp
>$ diff 2.tmp,3
>.... Dump of file TMP.OBJ;3 on 19-AUG-2012 20:23:50.03...
>:
>   17    313A3032 20323130 322D4755 412D3931 19-AUG-2012 20:1 0000A0
>   18    3A303220 32313032 2D475541 2D393131 119-AUG-2012 20: 0000B0
>   19    00000000 00315600 2E4E4941 4D2E3131 11.MAIN..V1..... 0000C0
>******
>File 3.TMP;1
>   17    313A3032 20323130 322D4755 74736574 testUG-2012 20:1 0000A0
>   18    3A303220 32313032 2D475541 2D393131 119-AUG-2012 20: 0000B0
>   19    00000000 00315600 2E4E4941 4D2E3232 22.MAIN..V1..... 0000C0
>:
>PATCH>dep/as 0a0="xxxx"
>old:    000000A0:  'test'
>new:    000000A0:  'xxxx'
>PATCH>update
>%PATCH-I-WRTFIL, updating image file TMP.OBJ;4
>$ set file tmp.obj;/att=(ffb='f$file("tmp.obj;-1","ffb"),ebk='f$file("tmp.obj;-1","eof"))
>$ dump/blo/wid=80 tmp.obj;4 /out=4.tmp
>$ diff 3.TMP, 4
>.... Dump of file TMP.OBJ;4 on 19-AUG-2012 20:27:17.56...
>:
>File 3.TMP;1
>   17    313A3032 20323130 322D4755 74736574 testUG-2012 20:1 0000A0
>   18    3A303220 32313032 2D475541 2D393131 119-AUG-2012 20: 0000B0
>   19    00000000 00315600 2E4E4941 4D2E3232 22.MAIN..V1..... 0000C0
>******
>File 4.TMP;1
>   17    313A3032 20323130 322D4755 78787878 xxxxUG-2012 20:1 0000A0
>   18    3A303220 32313032 2D475541 2D393131 119-AUG-2012 20: 0000B0
>   19    00000000 00315600 2E4E4941 4D2E3632 26.MAIN..V1..... 0000C0
>
>Hmmm.
>Hein.

I'll give it a whirl.  The problem I was trying to understand no longer
requires that I patch any .OBJ but it would be nice to know if I can do
this in the future.
-- 
VAXman- A Bored Certified VMS Kernel Mode Hacker    VAXman(at)TMESIS(dot)ORG

Well I speak to machines with the voice of humanity.



More information about the Info-vax mailing list