CTFMERGE(1) | General Commands Manual | CTFMERGE(1)

# NAME

`ctfmerge` — merge several CTF data sections into one

# SYNOPSIS

`ctfmerge` | [`-fgstv`] `-l` label `-L` labelenv `-o` outfile file ...

`ctfmerge` | [`-fgstv`] `-l` label `-L` labelenv `-o` outfile `-d` uniqfile [`-g`] [`-D` uniqlabel] file ...

`ctfmerge` | [`-fgstv`] `-l` label `-L` labelenv `-o` outfile `-w` withfile file ...

`ctfmerge` | [`-g`] `-c` srcfile destfile

# DESCRIPTION

The `ctfmerge` utility merges several CTF data sections from several files into one output file, unifying common data.

The following options are available:

`-f`
  Match global symbols to global CTF data.
`-g`
  Don't delete the original debugging sections.
`-s`
  Use the ‘`.dynsym`’ ELF section instead of the ‘`.symtab`’ ELF section.
`-t`
  Make sure that all object files have a CTF section.
`-v`
  Enable verbose mode.
`-l` label
  Sets the label as label.
`-L` labelenv
  Instructs `ctfmerge` to read the label from the environment variable labelenv.
`-o` outfile
  Use outfile to store the merged CTF data.
`-d` uniqfile
  Uniquify against uniqfile.
`-d` uniqlabel
  Uniquify against label uniqlabel
`-w` withfile
  Additive merge with withfile.
`-c` srcfile destfile
  Copy CTF data from srcfile into destfile.

# ENVIRONMENT VARIABLES

The following environment variables are used in `ctfmerge`:

`CTFMERGE_TERMINATE_NO_UNLINK`
  Don't remove temporary files on exit, so that they can be examined for debugging.
`CTFMERGE_MAX_SLOTS`
  Number of round-robin slots in the input queue that it is processed by worker threads. Each slot represents a file batch (default 5).
`CTFMERGE_PHASE1_BATCH_SIZE`
  Number of files in a slot that are needed before processing starts (default 8).
`CTFMERGE_NUM_THREADS`
  Set the number of worker threads. If the number of processors can be determined it defaults to `min`(processors*3/2, nslots); if not it defaults to 2.
`CTFMERGE_INPUT_THROTTLE`
  Max queue size to queue (defaults to 10).
`CTFMERGE_DEBUG_LEVEL`
  Increase debugging verbosity (maximum is 3).

# EXIT STATUS

The `ctfmerge` utility exits 0 on success, and >0 if an error occurs.

# SEE ALSO

ctfconvert(1), ctfdump(1)

# HISTORY

The `ctfmerge` utility first appeared in FreeBSD 7.0.

# AUTHORS

The CTF utilities came from OpenSolaris.

May 4, 2024 | NetBSD 11.0