Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!brl-adm!seismo!rochester!kodak!gardner From: gardner@kodak.UUCP Newsgroups: comp.sys.ibm.pc Subject: Re: Bug in Microsoft C 4.00? Message-ID: <709@kodak.UUCP> Date: Wed, 18-Feb-87 08:07:18 EST Article-I.D.: kodak.709 Posted: Wed Feb 18 08:07:18 1987 Date-Received: Thu, 19-Feb-87 19:22:48 EST References: <216700008@orstcs.UUCP> <216700009@orstcs.UUCP> <2395@homxb.UUCP> Reply-To: gardner@kodak.UUCP (dick gardner) Organization: Eastman Kodak Co, Rochester, NY Lines: 38 In article <2395@homxb.UUCP> gemini@homxb.UUCP (Rick Richardson) writes: >There is a bug in the linker, somewhere. I can't be sure, but I ^---- (Microsoft) >had the same problem when I mixed assembler and MS 4.0. Some of the >assembler declared variables ended up loaded over the top of the >C variables. Some, but not all. I gave up, and declared the problem >ones in the C portion and the problem went away. I haven't got time >to chase down anything but the "workaround" any more. > I just went through a painful experience that might be related. I was putting together some function libraries that were originally written for Lattice C, and had huge number of errors on all of the functions written in assembler. After a lot of trouble, I found that there are several rules to be followed when integrating assembler: 1 - All PUBLIC labels (function names) must be preceeded by an underscore character. 2 - The code segment must be named '_TEXT' (at least in the small model, which is all I used. See the manual for segment names for larger models.) 3 - The 'class' must be type 'CODE'. My experience with this is also limited to the small memory model. I hope this is helpful. =#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# Dick Gardner Eastman Kodak Co. Rochester, New York 14650 (716) 477-1002 UUCP: seismo!rochester!kodak!gardner To err is human -- to really screw it up you need a computer! =#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#