Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cprs(1) — CX/UX 6.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

strip(1)

a.out(4)

syms(4)

cprs(1)

NAME

cprs − compress a common object file

SYNOPSIS

cprs [ -p ] [ -u ] file1 file2

DESCRIPTION

The cprs command reduces the size of a common object file, file1, by removing duplicate structure and union descriptors.  The reduced file, file2, is produced as output.  Compressing the symbol table saves disk space and debugger initialization time. 

The options are

-p Print statistical messages including: total number of tags, total duplicate tags, and total reduction of file1.

-u (Not a standard AT&T option.)  Consider the C structure definition
 
   struct a {
      ...
      struct b ∗bp;
      ...
   };
 
C does not require the definition for structure b in order to compile the definition for structure a. Field bp is entered into the description of a in the symbol table as a "pointer to an unknown structure".  In this case, the normal structure comparison algorithm used by cprs causes a to compare unequal to every other structure, even one with the same name, same size, same number of fields, same field names, same field offsets, etc.  The u option changes the structure comparison algorithm to be more aggressive, so that a "pointer to unknown structure" field compares equal to another "pointer to [unknown] structure" field, all other things being the same. 

Diagnostics are written to the standard error file if cprs finds inconsistencies in the symbol table. 

SEE ALSO

strip(1), a.out(4), syms(4). 

CX/UX User’s Reference Manual

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026