Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

gnatsync(1) [debian man page]

GNATSYNC(1)							    ASIS Tools							       GNATSYNC(1)

NAME
gnatsync - The GNAT global dependency detector SYNOPSIS
gnatsync [OPTION]... filename [-cargs gcc_switches] gnatsync [OPTION]... -files=filename [-cargs gcc_switches] DESCRIPTION
gnatsync is the GNAT static analysis tool that helps to detect potential race conditions in multitasking programs, by exposing the global data that is accessed in unsynchronized manner by independent threads or Ada tasks. Input to gnatsync is a set of compilable Ada sources that constitutes a complete program. As it output, the tool prints out a list of a data objects for which potential unsynchronized access is detected, and for each such object the tool provides a list of threads that access this object. Each access is specified by a full sequence of subprograms calls when a given thread does not reference the object directly. gnatsync is an ASIS-based tool. It compiles the given sources to create the corresponding tree files. All these compilations take place in a temporary directory, which is created in the beginning of a gnatsync run and is deleted when the processing of the argument sources is completed. If a source file specified as gnatsync argument does not contain a legal Ada program unit, that is to say if the program has syntactic of semantic errors, gnatsync cannot process it. If the specified source contains an Ada unit which depends on Ada units located in other directories, the user can either specify the source search path by means of a -I option in '-cargs' section of gnatsync parame- ters, in the same way as the source search path can be specified for GNAT. This is not needed if gnatsync is called from the GNAT driver with the corresponding project file. In the first form, gnatsync examines the specified Ada source files (wildcards are allowed). In the second form, gnatsync examines the Ada source files listed in the specified file. OPTIONS
-a Process RTL units. -cargs gcc_switches Pass gcc_switches to GCC when producing the tree files. -d Debug mode. -dd Progress indicator mode, for use in the GNAT Programming Studio. -main=filename Specify file containing main subprogram -o(s|m|f) Output detail level: s=short, m=medium (the default), f=full. -out_file=filename Send output to filename. -q Quiet mode: do not report detections on standard output. -t Output execution time. -threads=filename Specify file describing foreign threads -v Verbose mode. -wq Turn warnings off. PROJECT FILE SUPPORT
gnasync can be applied to any set of sources, but it can produce useful and complete results when called to a set of sources that make up a complete program. The most convenient way to specify such a set of sources is a project file. gnatsync can be called from the GNAT driver as other tools, so the most practical way of invoking the tool is: gnat sync -Pproj -U [options] AUTHOR
gnatsync was written by AdaCore (http://www.adacore.com). This manual page was written by Ludovic Brenta <lbrenta@debian.org> for the Debian project, from gnatsync's README file. COPYRIGHT
gnatsync is Copyright (c) 2007-2009 AdaCore This manual page is Copyright (C) 2009 Ludovic Brenta <lbrenta@debian.org>. SEE ALSO
asistant(1), gnat(1), gnatcheck(1), gnatelim(1), gnatmetric(1), gnatpp(1) The full documentation for gnatsync in /usr/share/doc/asis-programs/README.gnatsync. info asis_ug ASIS-for-GNAT User's Guide info asis_rm ASIS-for-GNAT Reference Manual GNU Ada Tools November 2009 GNATSYNC(1)

Check Out this Related Man Page

GNATELIM(1)							    ASIS Tools							       GNATELIM(1)

NAME
gnatelim - eliminate dead code from Ada programs SYNOPSIS
gnatelim [OPTION]... name DESCRIPTION
When you are working with a program which shares some set of Ada packages with other programs, it may happen, that your program uses only a part of subprogram defined in these packages, whereas the code created for unused subprograms increases the size of the executable your program. gnatelim is a utility tracking unused subprograms in an Ada program. Its output consists of a list of Eliminate pragmas marking all the subprograms that are declared, but never called in a given program. Eliminate is a GNAT-specific pragma. By ecompiling your program with these pragmas, you may decrease the size of its executable, because the compiler will not create the code for unused subprograms. gnatelim is an ASIS application developed on top of the ASIS implementation for GNAT. It needs a set of tree files representing a program to analyze and the bind file for its main subprogram to be created in the current directory. For the current version, it is a the user's responsibility to maintain the consistency of the set of tree files processed by gnatelim, if the user also changes the sources of the Ada program to be processed. To produce a list of Eliminate pragmas, gnatelim has to do an extensive analysis and it may take some time. For example, to process itself, gnatelim takes 4 minutes of CPU time on a Pentium 200. OPTIONS
-v verbose mode: gnatelim version information is printed (in the form of Ada comments) in stdout; the names of the files being pro- cessed are printed to standard-error. -vf Same as -v, but in addition various debugging information and information reflecting some details of the analysis done by gnatelim are printed to standard-error. -a Process RTL components: by default, gnatelim does not analyze the units which are the components of the GNAT Run-Time Library (RTL), and it does not generate Eliminate pragmas for subprograms declared in the RTL. If '-a' option is set, RTL components are also ana- lyzed (except some units, which contains subprograms implicitly called by the compiler). -m Check missed units: if this option is set, gnatelim checks that all the units which (according to the bind file) has to be analyzed by gnatelim are really represented by the set of tree files processed by gnatelim (depending on whether or not '-a' option is set). By default (that is, if '-m' option is not set), gnatelim analyzes a set of units represented by a given set of tree files "as is" (excluding library packages which require bodies, but for which bodies are not available). AUTHOR
ASIS-for-GNAT was originally developed by the ASIS-for-GNAT team at the Software Engineering Laboratory of the Swiss Federal Insti- tute of Technology (LGL-EPFL) in Lausanne, Switzerland, in cooperation with the Scientific Research Computer Center of Moscow State University (SRCC MSU), Russia, with funding partially provided by grants from the Swiss National Science Foundation and the Swiss Academy of Engineering Sciences. ASIS-for-GNAT is now maintained by Ada Core Technologies Inc (http://www.gnat.com). This manual page was written by Ludovic Brenta <ludovic@ludovic-brenta.org> for the Debian project. COPYRIGHT
Copyright (c) 1995-1997, Free Software Foundation, Inc. SEE ALSO
asistant(1), gnat(1), gnatcheck(1), gnatmetric(1), gnatpp(1), gnatstub(1) The full documentation for gnatelim in /usr/share/doc/asis-programs/README.gnatelim info asis_ug ASIS-for-GNAT User's Guide info asis_rm ASIS-for-GNAT Reference Manual GNU Ada Tools January 2002 GNATELIM(1)
Man Page