HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu (Christoph van Wuellen) (06/06/90)
The question if c68 and ACK-compiled stuff can be intermixed reached me and this is perhaps of general interest, so I post the answer. 1.) The calling conventions are the same 2.) The compiler scratch registers are the same: th (The MINIX version of) c68 uses d0-d1/a0-a2 as scratch registers Conclusion: No problem to mix C68 and ACK-generated code in any way. Of course, the objects are compatible since the C68 output is processed by the ACK assembler etc. C.v.W.
HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu (Christoph van Wuellen) (06/08/90)
An additional statement must be made: The floating-point format is different, AND c68 uses sizeof(float)==siz ==sizeof(double)==4, so the storage layout of structures etc. may be affected. The C68/ACK interworking is OK when no floating point stuff is around. C.v.W.
archer%segin4.segin.fr@prime.com (Vincent Archer) (06/09/90)
Christoph van Wuellen <HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu> writes: > The floating-point format is different, AND c68 uses sizeof(float)== > ==sizeof(double)==4, so the storage layout of structures etc. may be > affected. > > The C68/ACK interworking is OK when no floating point stuff is around. It doesn't matter, since the ACK compiler doesn't understand anything about floating point anyway (on the ST). If you put 0.0 in a source, it will echo "dummy floating constant". If you try to do an operation involving floats, the library function (lib/atari/_ffp.s) does a call to exit(), without any explanation. :-( So do not speak of floating compatibility, Chris, there's nothing to be compatible with. :-) Btw: The crc list for 1.5.10 ST says that .s stuff is found in lib/atari. However, the LIBORDER picks its .o files from lib/M68000! Since this .s stuff is really motorola dependant, not machine-dependant, the LIBORDER approach is better. You'll have to correct the lib/Makefile however... That's for 2.0 :-) Btw2: I tried to recompile Felix Croes ld(1) package (posted last December) but it fails miserably to understand anything about archives, does not generate correct symbol tables, and so on. I lack the time to fix it, is there a correct version for 1.5? Btw3: I'm starved for a lint(1) C-Syntax checker for Minix. Is there one (I don't think so)? Would one be useful (yes, no more int malloc() :-)? Do I need to write one myself? (In other word, does somebody else intend to write or port one) Btw4: There's no btw4 :-) Vincent Vincent Archer | Email:archer%segin4.segin.fr@prime.com "People that are good at finding excuses are never good at anything else"
croes@fwi.uva.nl (Felix A. Croes) (06/09/90)
In article <21525@nigel.udel.EDU> archer%segin4.segin.fr@prime.com (Vincent Archer) writes: >Btw2: I tried to recompile Felix Croes ld(1) package (posted last December) > but it fails miserably to understand anything about archives, does > not generate correct symbol tables, and so on. I lack the time to fix > it, is there a correct version for 1.5? The updated version, which unfortunately did not make it into the official 1.5 distribution, was posted in January. -- Felix Croes (croes@fwi.uva.nl)
HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu (Christoph van Wuellen) (06/11/90)
Oh well, the ACK Compilers knows everything about floating point it is supposed to, it is the code generator which cannot generate floating point constants and it is the library which lacks the floating point routines. It is not that much to incorporate floating point into ACK, as several postings show. C.v.W.