Message-ID: <01BB9BE7.7763CB00@kelmr.fh.trw.com> From: Ray Kelm To: "'ddk AT cfn DOT ist DOT utl DOT pt'" , "'djgpp AT delorie DOT com'" Cc: "'root AT spider DOT fh DOT trw DOT com'" Subject: VxD development using GCC/DJGPP Date: Fri, 6 Sep 1996 11:35:11 -0400 Encoding: 39 TEXT I am trying to create a VxD using GCC 2.7.2 (cross-compiling from linux to COFF-I386, using the DJGPP configuration, and patched to handle the section attribute), binutils-2.7, MASM 6.11, and the version of LINK that comes with the DDK. I am attempting to use GCC to create VxD's for Windows 95. I have been able to compile and link, but for some reason all the symbols seem to be shifted, and as a result sometimes the VxD will load, and sometimes it won't, and sometimes it crashes hard. (depending on what new code I have TRIED to put into it). WDEB386 shows me that the code I wrote is there, but the addresses don't match the .SYM file. So, for example, my control procedure address shows up at C0060B97 according to WDEB, but looking at the code, it really starts at C0060B94. Here is a list of things I have tried: modified linker scripts code/data in various section names (_LTEXT, .text, etc) linking .OBJ files from MASM with .o files from GCC pulling out my hair I am wondering if anyone has been able to get this working using similar tools. ALSO, if anyone has information about the format of the VxD file (aside from that in WINNT.H) I'd appreciate it. I am trying to write a stubber to create the VxD files directly from the Linux host (or from Win95/DOS). My initial attempts create me with non-working VxDs with VxD headers that LOOK correct, and I have not found enough documentation to fix them. --- Ray Kelm Test Engineer TRW AEN kelmr AT spider DOT fh DOT trw DOT com