anchor.diff:              debug(PS2, {return, Res}),
               {Res, PS2}
       end;
  -prim_set_primary_archive(PS, ArchiveFile, ArchiveBin, #file_info{} = FileInfo)
  -  when is_list(ArchiveFile), is_binary(ArchiveBin) ->
  +prim_set_primary_archive(PS, ArchiveFile0, ArchiveBin, #file_info{} = FileInfo)
  +  when is_list(ArchiveFile0), is_binary(ArchiveBin) ->
       %% Try the archive file
  -    debug(PS, {set_primary_archive, ArchiveFile, byte_size(ArchiveBin)}),
  +    debug(PS, {set_primary_archive, ArchiveFile0, byte_size(ArchiveBin)}),
  +    ArchiveFile = absname(ArchiveFile0),
       {Res3, PS3} =
           case PS#prim_state.primary_archive of
               undefined ->
  
positive.code: 	    win32_pathtype([Char | List++Rest]);
  	[$/, $/|_] -> 
  	    absolute;
  	[$\\, $/|_] -> 
  	    absolute;
  	[$/, $\\|_] ->
  	    absolute;
  	[$\\, $\\|_] -> 
  	    absolute;
  	[$/|_] -> 
  	    volumerelative;
  	[$\\|_] -> 
  	    volumerelative;
  	[C1, C2, List | Rest] when is_list(List) ->
  	    pathtype([C1, C2|List ++ Rest]);
  	[_Letter, $:, $/|_] -> 
  	    absolute;
  	[_Letter, $:, $\\|_] ->
  	    absolute;
  	[_Letter, $:|_] -> 
  	    volumerelative;
  
negative.code: 	    {not_device, [], []};
  	[$/ | T] ->
  	    vxworks_first2(device, T, [$/]);
  	[H | T] when is_list(H) ->
  	    vxworks_first(H ++ T);
  	[H | T] ->
  