Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!sun-barr!cs.utexas.edu!uunet!murtoa.cs.mu.oz.au!goanna!trlamct!trlluna!bruce!monu1!vaxc!obb130t From: obb130t@vaxc.cc.monash.edu.au Newsgroups: comp.unix.xenix,aus.computers Subject: Wierd problem: XENIX 386 + Microsoft COBOL Message-ID: <6055@vaxc.cc.monash.edu.au> Date: 3 Jul 89 00:27:43 GMT Organization: Blood Bank, Melbourne Lines: 52 We have a strange problem with XENIX COBOL which Microsoft Australia have not (so far)been able to help with...wondering if the net can help. Aim: add C subroutines to COBOL, intended to run under Xenix 386. Method: RTFM. Do it just like so. Problem 1. It doesn't work. Various diagnostics relating to Memory model, etc. Solution 1. Add -M0 to cc command line in mknewcob. Compile, link and initial testing all work fine. Note that the new COBOL run-time system is MUCH larger (120K instead of 90K). Problem 2. Record locking no longer works! Specifically, on Xenix 386 and 286 a READ with LOCK (MANUAL locking) on an indexed or relative file always succeeds, even if 2 or more copies read/lock the same record. The old RTS still locks fine, the new doesn't. Always status 00. Solution 2. Build the cobol on Xenix 286 (no -M0 switch). Works just fine. Old and new RTS lock records exactly the way they should (status 94). Note: cobsub.o (binary of C routines) is identical. New COBOL run-time system is bigger again (122K). Question 1: Why? Why is it different and why doesn't it work? Question 2: Is there any way we can build the COBOL RTS on Xenix 386? (depending on finding a friendly Xenix 286 when we need it is a real pain). Versions (sorry - bit vague): Latest COBOL: V2.2? (18 months old) Latest Xenix 386? (1 month old) Far-from-latest Xenix 286 (18 months old) Any help gratefully received. thADVANCEanx ..david.. -- ////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ / David M. Bennett obb130t@vaxc.cc.monash.edu.au \ / Demileigh Consulting, 22 Tourello Ave, East Hawthorn 61 3 882 7599 \ \ Victorian Red Cross Blood Bank, Balston St, South Melbourne 61 3 616 0353 / \ I never refuse. I never contradict. I sometimes forget. - Disraeli. / \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////////////////////