ctfmerge(1)

ctfmerge1

Merge several ctf data sections into one

Usage

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

Overview

The ctfmerge utility merges several CTF (Compact C Type Format) 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

The following environment variables are used by ctfmerge:

CTFMERGE_DEBUG_LEVEL

Increase debugging verbosity (maximum 3).

CTFMERGE_INPUT_THROTTLE

Max queue size to queue (default 10).

CTFMERGE_PHASE1_BATCH_SIZE

Number of files in a slot that are needed before processing starts (default 8).

CTFMERGE_MAX_SLOTS

Number of round-robin slots in the input queue that is processed by worker threads. Each slot represents a file batch (default 5).

CTFMERGE_TERMINATE_NO_UNLINK

Do not remove temporary files on exit, so that they can be examined for debugging.

Exit status

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

Releases

37 releases since FreeBSD 8.2-RELEASE; the text changed 27 times.

  1. 8.2
  2. 8.3
  3. 8.4
  4. 9.0
  5. 9.1
  6. 9.2
  7. 9.3
  8. 10.0
  9. 10.1
  10. 10.2
  11. 10.3
  12. 10.4
  13. 11.0
  14. 11.1
  15. 11.2
  16. 11.3
  17. 11.4
  18. 12.0
  19. 12.1
  20. 12.2
  21. 12.3
  22. 12.4
  23. 13.0–13.1
  24. 13.2
  25. 13.3–14.4
  26. 14.5
  27. 15.0–15.1
  28. 16.0

-D since FreeBSD 16.0-CURRENT (2026-10-27).

History

The ctfmerge utility first appeared in FreeBSD 7.0.

Authors

The CTF utilities came from OpenSolaris.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.