From: jeffdbREMOVETHIS AT netzone DOT com (Mikey) Subject: Re: compiling coolview on W95. 29 Dec 1997 14:04:58 -0800 Message-ID: <34a7d34f.159010409.cygnus.gnu-win32@smtp.netzone.com> References: <19971229141412 DOT 3270 DOT qmail AT hotmail DOT com> Reply-To: jeffdbREMOVETHIS AT netzone DOT com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: gnu-win32 AT cygnus DOT com In a copy of your linker script, ..../H-i386-cygwin32/i386-cygwin32/lib/ldscripts/i386pe.x replace the .idata{} section with .idata BLOCK(__section_alignment__) : { /* This cannot currently be handled with grouped sections. See pe.em:sort_sections. */ *(.idata$2) *(.idata$3) /* These zeroes mark the end of the import list. */ LONG (0); LONG (0); LONG (0); LONG (0); LONG (0); *(.idata$4) *(.idata$5) *(.idata$6) *(.idata$7) } and replace the .reloc{} section with .reloc BLOCK(__section_alignment__) : { *(.reloc) /* These zeroes mark the end of the reloc section. */ LONG (0); LONG (0); LONG (0); LONG (0); LONG (0); } name the copy i386pe.xfixed or something similar and use -T i386pe.xfixed on your link line to use that linker script. or you could download and install B18-patched-link-compat-ld.tgz available at ftp://ftp.deninc.com/pub/sdk which has these and several other fixes, (end of blatant plug ;^) but just these 2 fixes will eliminate the need for dllfix.exe and for fixup.o. to add an .idata$3 section to dll's. The first change has been made to current sources, and that is why your dll import list (.idata$2) isn't terminated properly. and the dllfix.exe problem does exist on some versions of NT according to comments posted to the list. Why you are having problems with gcc <-> g++ I have no Idea, have you make any changes to your specs file? On Mon, 29 Dec 1997 06:14:11 PST, you wrote: >Check out Mumit Khan's page for a newer version of dllfix. The problem >with W95 is that the file cluster is not clean. Garbage exists beyond >the end of file. This causes problems with binary mode opens because >you end up with a physical end of file and not a logical end of file. >This means that the garbage remaining in the file cluster is being read >as part of the DLL. This problem doesn't exist on NT. Check out >Sergey's page for more info. > >- \\||// >---o0O0--Earnie--0O0o---- >-earnie_boyd AT hotmail DOT com- >------ooo0O--O0ooo------- > >>Date: Mon, 29 Dec 1997 12:03:48 +0100 (MET) >>From: boncz AT wins DOT uva DOT nl (Peter Boncz) >>To: gnu-win32 AT cygnus DOT com >> >>This is a discussion between me and Bart Anderson >(banders AT ecd DOT rockwell DOT com) >>which I would like to bring back to the mailing list. >> >>The problem is compiling coolview on W95. Admittedly a crazy >>idea, but some people (including me) really want to do it. >> >>Problem #1 is that if you do a ./configure the following make chokes >>on the c++ files in the winsup/ directory. This problem I could resolve >>with a simple hack. >> >>My fix in the Makefile for the .cc files is in the .cc.o line. >>As a quick hack, I simply replaced the compiler variable by g++ >>the include variable by their actual values *minus* the -nostdinc >> >>Then on to Problem #2, which is more serious. >> >>It then compiles fine and produces a new-cygwin.dll. The trouble starts >>when you try to actually use it. All dependent programs that try to >start >>fail with an error that there is no "r.dll". >>If you put a dummy r.dll in the directory, it goes on, but >>only to complain about a missing "|.dll". >> >>The most probable explanation is that the created cygwin.dll has >>a 'dependency dll section' or something like it, which is >>corrupted. It should be empty but it contains that characters >>'r' and '|' (in my case, anyway). >> >>This may or may not have something to do with the seek trouble, >>signalled in the [Did _you_ ever try to compile..] thread on >>this list, also talked about earlier, in July 1997. >> >>In the mailing list archives I myself found a dllfix.exe program >>providid by a guy called Greathouse (july 1997). >>This program claims to fix the end part of my dll (it indeed says >>that mine wrong and claims to fix it), but it doesn't resolve my >problem. >> >>Moreover, I inspected the end of the dll and it seems to contain >>routine names in the library, not a 'dependency section'. >>I could speculate that not only in the end, but also in other >>sections of the dll the 'garbage on seek past eof' occurs. >> >>If anybody knows anything, please help. >> >>I wish you a thread-safe 1998, >> >>Peter Boncz >>- >>For help on using this list (especially unsubscribing), send a message >to >>"gnu-win32-request AT cygnus DOT com" with one line of text: "help". >> > > > >______________________________________________________ >Get Your Private, Free Email at http://www.hotmail.com >- >For help on using this list (especially unsubscribing), send a message to >"gnu-win32-request AT cygnus DOT com" with one line of text: "help". Linux a platform built by, and for users, standing on the firm legs of reliability, and speed. Microsoft Windows, a platform without a leg to stand on. (jeffdbREMOVETHIS AT netzone DOT com) delete REMOVETHIS from the above to reply Mikey - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".