On Wed, 2010-01-06 at 12:42 -0800, Peter Naulls wrote: > John-Mark Bell wrote: > > > > > > When arm-unknown-riscos-ln is used in a native RISC OS environment, > > it should do whatever the rest of the toolchain does wrt paths and > > appropriately type the link file. Off-hand, I cannot recall what the > > toolchain's path behaviour is. > > I think this is the main problem. The rest of the toolchain is UnixLib, > and makes use of riscosify around all file operations.
Right, so that implies Unix paths everywhere, no? In which case, item 1 in my suggested solution certainly needs to happen. > Because SOManager is a module, it has a special version of this code based > upon the special version also used for our SCL, and handling of symlinks > is therefore not part of this. Sure. However, as my previous email implied (though I didn't explicitly point out), if the soname is in RISC OS format, nothing works at all right now, regardless of symlink contents. So, if SOManager is performing its own riscosify-like processing on library soname->filename lookup, then it's broken for the case where the soname is already in RO format. The soname->filename mapping works correctly when there's a Unix format soname. Which brings us on to symlinks: > As in all these cases, there's a degree of ambiguity, but do you think > it would be reasonable for SOManager to just "try harder" with more > combinations when looking for shared libraries? I think that's part of a solution, yes (although, personally, I've absolutely no objection to mandating Unix format sonames -- in fact, I suspect it makes sense from an ease of porting perspective). I think SOManager probably could try a little harder when dereferencing symlinks, in that if it's already got riscosify-like behaviour, then there's no harm in applying that to symlink targets. However, fundamentally, if symlinks are ever going to be used by things other than SOManager, then any solution has to be completely consistent in its behaviour, particularly in the case where symlinks generated in a cross-compilation environment (with all the Unix-like path foo that that implies) are then copied unmodified to a RISC OS machine. Certainly, my expectation is that this should work. Which is where we came in :) J. _______________________________________________ GCCSDK mailing list [email protected] Bugzilla: http://www.riscos.info/bugzilla/index.cgi List Info: http://www.riscos.info/mailman/listinfo/gcc Main Page: http://www.riscos.info/index.php/GCCSDK
