Checker V0.1e  (c) 1993 Tristan Gingold
Checker will be a free and GNU implementation of Purify(tm).

If you don't know what is Checker, see INTRO.

How to compile it?
 Look at config.h and type:
 make
 It will make libchecker.a, and three simple programs:
 try_checker, try_detector and try_maccess
 Try them, and look at their source.
Makefile.lib is the old makefile.

What is the patches/ dir?
 It contains changed file from other packages. See patches/README file.
 If you don't want to build a new gas, only specs is interested for you.
 specs file is read by gcc, to known your configuration.
 Change your old specs by this one. specs is usually in:
 /usr/lib/gcc-lib/MACHINE/VERSION/specs
 MACHINE can be i486-linux and VERSION 2.4.5
 Try gcc -v to see that.

When I link Checker with my program, I have link error:
    "Undefined symbol chkr_?_?_?_?_chkr referenced from text segment", where
   '?' is a number? Is it a bug?
 Not really. An address extractor function has not been defined. The changes
 is rather easy: just a line to add in addrextract.S. Mail me, please.

When I kill a program linked with Checker, some files appear in /tmp.
 This temp file contains the symbol table, from your binary. Checker usually
  delete it, but sometimes, it can't. So, remove them.

When I compile Checker, gcc fails on find_exec.c
 Compile find_exec.c without -O options.

What is export ?
 The binary (./export) controls which symbols are exported. This is used by
 libchecker.o, so that defined symbols such as strcmp, will not be used by
 your programm.

What are the new options of as?
 -checker : insert code
 -checker -checker : insert code and tell where
 -nochecker : normal mode
 -checker-verbose : verbose, but a little to much ( debbuging)
 
If you want to port it:
there are 3 machine dependant files: symtab.c and sysdep.c
They are symbolic link to files located in sysdep/
 symtab.c is OS dependant. It depends of the format of the executable file.
   At this time, only (GNU) a.out is recognized (sysdep/gnu.a.out.c)
 sysdep.c is OS and CPU dependant. It depends of the memory organisation,
   the stack organisation...
   At this time, only Linux is recognized (sysdep/linux.c)
 codecheck.S is CPU dependant. It is called by the code inserted, compute
   the address and call chkr_check_addr().

Changes against Checker V0.1e-7
 o implementation of bitmaps and code insertion
 o one bug in the garbage collector fixed (Thanks to linus@lysator.liu.se)
 o chkr_save_stack is more robust. Must never make core dump (Thanks to
    Warner Losh imp@Boulder.ParcPlace.COM for his patch)
