### A.6 Platform Dependent Procedures ¶

Each combination of target and tool requires some target-dependent procedures. The names of these procedures have a common form: the tool name, followed by an underscore _, and finally a suffix describing the procedure’s purpose. For example, a procedure to extract the version from GDB is called `gdb_version`.

`runtest` itself calls only two of these procedures, `${tool}_exit` and `${tool}_version`; these procedures use no arguments.

The other two procedures, `${tool}_start` and `${tool}_load`, are only called by the test suites themselves (or by testsuite-specific initialization code); they may take arguments or not, depending on the conventions used within each testsuite.

The usual convention for return codes from any of these procedures (although it is not required by `runtest`) is to return 0 if the procedure succeeded, 1 if it failed, and -1 if there was a communication error.