Subject: Re: compiling coolview on W95.
From: [email-masked] (Mikey)

29 Dec 1997 14:04:58 -0800
Message-ID: <[email-masked]>
References: <[email-masked]>
Reply-To: [email-masked]
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
To: [email-masked]

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----
>[email-masked]
>------ooo0O--O0ooo-------
>
>>Date: Mon, 29 Dec 1997 12:03:48 +0100 (MET)
>>From: [email-masked] (Peter Boncz)
>>To: [email-masked]
>>
>>This is a discussion between me and Bart Anderson 
>([email-masked]) 
>>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
>>"[email-masked]" 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
>"[email-masked]" 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.

([email-masked])
delete REMOVETHIS from the above to reply
         Mikey
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".