1.\" 2.\" Copyright (c) 2010 The FreeBSD Foundation 3.\" All rights reserved. 4.\" 5.\" This software was developed by Rui Paulo under sponsorship from the 6.\" FreeBSD Foundation. 7.\" 8.\" Redistribution and use in source and binary forms, with or without 9.\" modification, are permitted provided that the following conditions 10.\" are met: 11.\" 1. Redistributions of source code must retain the above copyright 12.\" notice, this list of conditions and the following disclaimer. 13.\" 2. Redistributions in binary form must reproduce the above copyright 14.\" notice, this list of conditions and the following disclaimer in the 15.\" documentation and/or other materials provided with the distribution. 16.\" 17.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 18.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 21.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27.\" SUCH DAMAGE. 28.\" 29.\" $FreeBSD$ 30.\" 31.Dd April 21, 2022 32.Dt CTFMERGE 1 33.Os 34.Sh NAME 35.Nm ctfmerge 36.Nd merge several CTF data sections into one 37.Sh SYNOPSIS 38.Nm 39.Op Fl fgstv 40.Fl l Ar label 41.Fl L Ar labelenv 42.Fl o Ar outfile 43file ... 44.Nm 45.Op Fl fgstv 46.Fl l Ar label 47.Fl L Ar labelenv 48.Fl o Ar outfile 49.Fl d Ar uniqfile 50.Op Fl g 51.Op Fl D Ar uniqlabel 52file ... 53.Nm 54.Op Fl fgstv 55.Fl l Ar label 56.Fl L Ar labelenv 57.Fl o Ar outfile 58.Fl w Ar withfile 59file ... 60.Nm 61.Op Fl g 62.Fl c Ar srcfile 63.Ar destfile 64.Sh DESCRIPTION 65The 66.Nm 67utility merges several CTF (Compact C Type Format) data sections from several 68files into one output file, unifying common data. 69.Pp 70The following options are available: 71.Bl -tag -width indent 72.It Fl f 73Match global symbols to global CTF data. 74.It Fl g 75Don't delete the original debugging sections. 76.It Fl s 77Use the .dynsym ELF section instead of the .symtab ELF section. 78.It Fl t 79Make sure that all object files have a CTF section. 80.It Fl v 81Enable verbose mode. 82.It Fl l Ar label 83Sets the label as 84.Ar label . 85.It Fl L Ar labelenv 86Instructs 87.Nm 88to read the label from the environment variable 89.Ar labelenv . 90.It Fl o Ar outfile 91Use 92.Ar outfile 93to store the merged CTF data. 94.It Fl d Ar uniqfile 95Uniquify against 96.Ar uniqfile . 97.It Fl d Ar uniqlabel 98Uniquify against label 99.Ar uniqlabel 100.It Fl w Ar withfile 101Additive merge with 102.Ar withfile . 103.It Fl c Ar srcfile Ar destfile 104Copy CTF data from 105.Ar srcfile 106into 107.Ar destfile . 108.El 109.Sh EXIT STATUS 110.Ex -std 111.Sh SEE ALSO 112.Xr ctfconvert 1 , 113.Xr ctfdump 1 , 114.Xr ctf 5 115.Sh HISTORY 116The 117.Nm 118utility first appeared in 119.Fx 7.0 . 120.Sh AUTHORS 121The CTF utilities came from OpenSolaris. 122