daleske@cbdkc1.UUCP (08/20/86)
Here's a bug I found in the 2.0 C compiler: If the address of a routine over 32k bytes away is passed to another routine as a third argument, the address is passed incorrectly without any warning from the linker. The offending code is a pc relitive pea instruction, which the -a option to l68 does not convert or give an error about. (The linker is only documented to fix branch and lea instructions.) I can supply an example program if there is interest. Users of tputs in large programs beware. The C compiler will accept a variable named PC, but the assebler will not asseble the code produced. This is a problem because PC is an external variable used by the termlib routines. Make (1.3) does not like tabs. Depending on where the tab is in your makefile, it may bomb out or may just silently not compile files needing compiled. -- Bob Larson Arpa: Blarson@Usc-Eclb.Arpa or blarson@usc-oberon.arpa Uucp: (ihnp4,hplabs,tektronix)!sdcrdcf!usc-oberon!blarson