Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!ns-mx!umaxc.weeg.uiowa.edu!williams From: williams@umaxc.weeg.uiowa.edu (Kent Williams) Newsgroups: comp.os.msdos.programmer Subject: Re: GNU ld is not working Message-ID: <3637@ns-mx.uiowa.edu> Date: 18 Dec 90 18:04:07 GMT References: <19720002@hpctdkg.HP.COM> <580@lobster.NOSC.Mil> Sender: news@ns-mx.uiowa.edu Reply-To: williams@umaxc.weeg.uiowa.edu.UUCP (Kent Williams) Organization: U of Iowa, Iowa City, IA Lines: 37 In art. <580@lobster.NOSC.Mil> gag@lobster.NOSC.Mil (Gary A. Gilbreath) writes: >I used this package several months ago, so keep in mind that my >experiences are dated. > >I was using DOS 4.01 with a 320MB hard disk, so I naturally had SHARE.EXE >loaded. After finding that ld would not work properly, and after wading >through the source and re-compiling it under two different compilers, I >finally tracked it down to a section of code where a file that had already >been opened was being re-opened. Unless you open the files with the proper >flags set, when you have SHARE loaded This Is Bad. So I renamed SHARE and >rebooted the PC and it worked fine. > >So the way to get ld to work is to make sure you *don't* have SHARE loaded. > If you have large media, and you don't load share, you could have big trouble with your hard disk. The REAL problem with gnu-ld has to do with a difference in file-system semantices between 3.X and 4.XX. When ld goes to write an output file, it creates it, and then tries to chmod it without closing it first. Under 3.3, the directory entry was there, so the chmod worked. Under 4.XX, the directory entry isn't there until the file gets closed. As near as I can figure out. I told uchida about this and he changed ld and mailed it to me. If you have ftp access, the new loader is on ocf.berkeley.edu in pub/GNU/gcc or thereabouts. If you don't have ftp access I can mail it to you. Kent Williams --- williams@umaxc.weeg.uiowa.edu "'Is this heaven?' --- 'No, this is Iowa'" - from the movie "Field of Dreams" "This isn't heaven, ... this is Cleveland" - Harry Allard, in "The Stupids Die" -- Kent Williams --- williams@umaxc.weeg.uiowa.edu "'Is this heaven?' --- 'No, this is Iowa'" - from the movie "Field of Dreams" "This isn't heaven, ... this is Cleveland" - Harry Allard, in "The Stupids Die"