Mail Archives: djgpp/1996/09/06/11:48:56
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
- Raw text -