---
name: "ctfmerge"
section: "1"
platform: "linux"
package: "ctfutils"
version: "10.3~svn297264-2+b1"
release: "Debian 10 (Buster)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/ctfmerge"
---

# ctfmerge(1)

merge several CTF data sections into one

## 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*.

## EXIT STATUS

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

## SEE ALSO

[ctfconvert(1)](/ctfconvert/1.md), [ctfdump(1)](/ctfdump/1.md)

## HISTORY

The **ctfmerge** utility first appeared in FreeBSD 7.0.

## AUTHORS

The CTF utilities came from OpenSolaris.
