JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.

If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.

If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.

CodeSonar® 9.2p0 CONFIDENTIAL CodeSecure Inc
General
Third-Party External

Upgrading Configuration Files

The available configuration file parameters, and default parameter values, may change between successive versions of CodeSonar. If you upgrade, you may need to update your configuration files.



If you are upgrading CodeSonar, use the following table to determine whether you need to update any of your configuration files.

Configuration File Did you edit it?
Yes (or not sure) No
general template
Before Upgrading CodeSonar Save a copy of your modified template.
After Upgrading CodeSonar Apply the general template configuration file patch, then copy back to the correct template location ($CSONAR/codesonar/template.conf).
Do nothing. Your new CodeSonar version will install and use an updated template.
general project Delete all file lines except for the ones you modified. Make sure you check the lines you modified to ensure they have not been updated.

or

Apply the general project configuration file patch.

Delete the configuration file, and let CodeSonar construct a new, updated one next time you build.
compiler template
Before Upgrading CodeSonar Save a copy of your modified template.
After Upgrading CodeSonar Compare your saved copy against the updated template installed by CodeSonar. Copy any changes you wish to retain back into the updated template.
Do nothing. Your new CodeSonar version will install and use an updated template.
project-compiler Delete all file lines except for the ones you modified. Make sure you check the lines you modified to ensure they have not been updated. Delete the configuration file, and let CodeSonar construct a new, updated one next time you build.
per-compiler Per-compiler configuration has been superseded by compiler template and project compiler configuration files. If you created per-compiler configuration files to use with an earlier version of CodeSonar, see Per-Compiler → Compiler Template.

Note that you need the patch tool that works with the unified diff format. See Wikipedia: Patch (Unix) for more information about the patch tool.

Patching Configuration Files

We have provided patch files to enable you to update old configuration files for use with the latest version of CodeSonar. To apply the changes:

  1. Save a copy of the appropriate patch file in the same directory as the configuration file you wish to update.
  2. Change the name of the patch file to fname.conf.patch, where fname.conf is the name of the configuration file.
  3. Edit the first two lines of the patch file to refer to fname.conf.
  4. Run the patch command:
    patch -p0 < fname.conf.patch
  5. If patch reports any conflicts, go through fname.conf.rej manually and decide, for each conflict, whether to use the text from your original file or from the patch.

Per-Compiler → Compiler Template

If you created per-compiler configuration files to use with an earlier version of CodeSonar, you will need to integrate them with the appropriate compiler configuration file templates.

Before upgrading CodeSonar:

  1. Identify your old per-compiler configuration files, if any. They will have paths of the form $CSONAR/csurf/compiler_confs/ compilername.conf.
  2. Save copies of the per-compiler configuration files.

Once you have upgraded CodeSonar, do the following for each old per-compiler configuration file C.conf.

  1. Determine which of the new compiler configuration file templates in $CSONAR/csurf/compiler_confs/ corresponds to C.conf.
  2. Compare the settings in C.conf to the settings in the new template(s) you identified in the previous step.
    diff C.conf C.L.S.conf
    If there is no difference, you can discard C.conf. No integration is necessary.
  3. If there are differences, you may need to edit the new template(s) C.L.S.conf.

The Patch Files

The patch files currently available are listed in the following table.

Upgrade General Template Configuration File Patch General Project Configuration File Patch
CodeSonar 9.0p0 to CodeSonar 9.1p0 template.conf.9.0p0-9.1p0.patch project.conf.9.0p0-9.1p0.patch
CodeSonar 8.3p0 to CodeSonar 9.0p0 template.conf.8.3p0-9.0p0.patch project.conf.8.3p0-9.0p0.patch
CodeSonar 8.2p0 to CodeSonar 8.3p0 template.conf.8.2p0-8.3p0.patch project.conf.8.2p0-8.3p0.patch
CodeSonar 8.1p0 to CodeSonar 8.2p0 template.conf.8.1p0-8.2p0.patch project.conf.8.1p0-8.2p0.patch
CodeSonar 8.0p0 to CodeSonar 8.1p0 template.conf.8.0p0-8.1p0.patch project.conf.8.0p0-8.1p0.patch
CodeSonar 7.4p0 to CodeSonar 8.0p0 template.conf.7.4p0-8.0p0.patch project.conf.7.4p0-8.0p0.patch
CodeSonar 7.3p0 to CodeSonar 7.4p0 template.conf.7.3p0-7.4p0.patch project.conf.7.3p0-7.4p0.patch
CodeSonar 7.2p0 to CodeSonar 7.3p0 template.conf.7.2p0-7.3p0.patch project.conf.7.2p0-7.3p0.patch
CodeSonar 7.1p0 to CodeSonar 7.2p0 template.conf.7.1p0-7.2p0.patch project.conf.7.1p0-7.2p0.patch
CodeSonar 7.0p1 to CodeSonar 7.1p0 template.conf.7.0p1-7.1p0.patch project.conf.7.0p1-7.1p0.patch
CodeSonar 7.0p0 to CodeSonar 7.0p1 template.conf.7.0p0-7.0p1.patch project.conf.7.0p0-7.0p1.patch
CodeSonar 6.2p0 to CodeSonar 7.0p0 template.conf.6.2p0-7.0p0.patch project.conf.6.2p0-7.0p0.patch
CodeSonar 6.1p0 to CodeSonar 6.2p0 template.conf.6.1p0-6.2p0.patch project.conf.6.1p0-6.2p0.patch
CodeSonar 6.0p0 to CodeSonar 6.1p0 template.conf.6.0p0-6.1p0.patch project.conf.6.0p0-6.1p0.patch
CodeSonar 5.4p0 to CodeSonar 6.0p0 template.conf.5.4p0-6.0p0.patch project.conf.5.4p0-6.0p0.patch
CodeSonar 5.3p0 to CodeSonar 5.4p0 template.conf.5.3p0-5.4p0.patch project.conf.5.3p0-5.4p0.patch
CodeSonar 5.2p0 to CodeSonar 5.3p0 template.conf.5.2p0-5.3p0.patch project.conf.5.2p0-5.3p0.patch
CodeSonar 5.1p0 to CodeSonar 5.2p0 template.conf.5.1p0-5.2p0.patch project.conf.5.1p0-5.2p0.patch
CodeSonar 5.0p0 to CodeSonar 5.1p0 template.conf.5.0p0-5.1p0.patch project.conf.5.0p0-5.1p0.patch
CodeSonar 4.5p2 to CodeSonar 5.0p0 template.conf.4.5p2-5.0p0.patch project.conf.4.5p2-5.0p0.patch
CodeSonar 4.5p1 to 4.5p0 or 4.5p2 template.conf.4.5p1-4.5p2.patch project.conf.4.5p1-4.5p2.patch
CodeSonar 4.4p0 to 4.5p0 or 4.5p1 template.conf.4.4p0-4.5p0.patch project.conf.4.4p0-4.5p0.patch
CodeSonar 4.2p0 to 4.4p0 template.conf.4.2p0-4.4p0.patch project.conf.4.2p0-4.4p0.patch
CodeSonar 4.1p0 to 4.2p0 template.conf.4.1p0-4.2p0.patch project.conf.4.1p0-4.2p0.patch
CodeSonar 4.0p1 to 4.1p0 template.conf.4.0p1-4.1p0.patch project.conf.4.0p1-4.1p0.patch
CodeSonar 4.0p0 to 4.0p1 template.conf.4.0p0-4.0p1.patch project.conf.4.0p0-4.0p1.patch
CodeSonar 3.9 to 4.0 template.conf.3.9p0-4.0p0.patch project.conf.3.9p0-4.0p0.patch
CodeSonar 3.8 to 3.9 template.conf.3.8p0-3.9p0.patch project.conf.3.8p0-3.9p0.patch
CodeSonar 3.7 to 3.8 template.conf.3.7p0-3.8p0.patch project.conf.3.7p0-3.8p0.patch
CodeSonar 3.6 to 3.7 template.conf.3.6p0-3.7p0.patch project.conf.3.6p0-3.7p0.patch
CodeSonar 3.5p2 to 3.6 template.conf.3.5p2-3.6p0.patch project.conf.3.5p2-3.6p0.patch
CodeSonar 3.5p1 to 3.5p2 template.conf.3.5p1-3.5p2.patch project.conf.3.5p1-3.5p2.patch
CodeSonar 3.4 to 3.5p1 template.conf.3.4p0-3.5p1.patch project.conf.3.4p0-3.5p1.patch
CodeSonar 3.3p1 to 3.4 template.conf.3.3p1-3.4p0.patch project.conf.3.3p1-3.4p0.patch
CodeSonar 3.3 to 3.3p1 no change no change
CodeSonar 3.2 to 3.3 template.conf.3.2p0-3.3p0.patch project.conf.3.2p0-3.3p0.patch
 

To report problems with this documentation, please visit https://support.codesecure.com/.