making lint libraries

Guy Harris guy at auspex.UUCP
Sat Jan 7 08:47:28 AEST 1989


>I would like to add some lint libraries to our Sys3r1 system, but I
>can't find any documentation for how to do it,

"Sys3r1"?  As in System III, Release 1?  I know of no "Release n"
numbers for System III.  Do you mean "System III", or "System V Release
3.1", or something else?  If it's S5R3.1, check LINT(1), if you have it;
it should mention the "-c" flag for "lint".  Basically, you made a C
"lint library" file (like "/usr/lib/llib-lc"), and run "lint -c" on it,
to produce a ".ln" file.

>or what the format of the /usr/lib/llib-*.ln files is.  They
>contain a lot of nulls interspersed with ASCII function names,
>so I'm guessing that they're the contents of some C structure.

This is correct.  Basically, "lint" pass 1 is a hacked-up version of the
C compiler that reports some errors immediately, and writes information
to a file for pass 2 to process.  The information in the file is
basically the definitions and declarations of, and references to,
various external objects; this includes the types of formal and actual
arguments to procedures.  Pass 2 consumes this stuff and checks that
(among other things) the formal and actual arguments agree.

".ln" files are basically the result of running a C "lint library" file
through pass 1.  If you don't have "lint -c", check out the "lint"
command (it's just a shell script on most systems); you may be able to
figure out how to run just pass 1.



More information about the Comp.unix.wizards mailing list