| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | .\" $NetBSD: ctfmerge.1,v 1.4 2024/05/04 13:11:41 christos Exp $ | | 1 | .\" $NetBSD: ctfmerge.1,v 1.5 2024/05/04 18:20:44 uwe Exp $ |
2 | .\" | | 2 | .\" |
3 | .\" Copyright (c) 2010 The FreeBSD Foundation | | 3 | .\" Copyright (c) 2010 The FreeBSD Foundation |
4 | .\" All rights reserved. | | 4 | .\" All rights reserved. |
5 | .\" | | 5 | .\" |
6 | .\" This software was developed by Rui Paulo under sponsorship from the | | 6 | .\" This software was developed by Rui Paulo under sponsorship from the |
7 | .\" FreeBSD Foundation. | | 7 | .\" FreeBSD Foundation. |
8 | .\" | | 8 | .\" |
9 | .\" Redistribution and use in source and binary forms, with or without | | 9 | .\" Redistribution and use in source and binary forms, with or without |
10 | .\" modification, are permitted provided that the following conditions | | 10 | .\" modification, are permitted provided that the following conditions |
11 | .\" are met: | | 11 | .\" are met: |
12 | .\" 1. Redistributions of source code must retain the above copyright | | 12 | .\" 1. Redistributions of source code must retain the above copyright |
13 | .\" notice, this list of conditions and the following disclaimer. | | 13 | .\" notice, this list of conditions and the following disclaimer. |
14 | .\" 2. Redistributions in binary form must reproduce the above copyright | | 14 | .\" 2. Redistributions in binary form must reproduce the above copyright |
| @@ -31,61 +31,65 @@ | | | @@ -31,61 +31,65 @@ |
31 | .\" | | 31 | .\" |
32 | .Dd May 4, 2024 | | 32 | .Dd May 4, 2024 |
33 | .Dt CTFMERGE 1 | | 33 | .Dt CTFMERGE 1 |
34 | .Os | | 34 | .Os |
35 | .Sh NAME | | 35 | .Sh NAME |
36 | .Nm ctfmerge | | 36 | .Nm ctfmerge |
37 | .Nd merge several CTF data sections into one | | 37 | .Nd merge several CTF data sections into one |
38 | .Sh SYNOPSIS | | 38 | .Sh SYNOPSIS |
39 | .Nm | | 39 | .Nm |
40 | .Op Fl fgstv | | 40 | .Op Fl fgstv |
41 | .Fl l Ar label | | 41 | .Fl l Ar label |
42 | .Fl L Ar labelenv | | 42 | .Fl L Ar labelenv |
43 | .Fl o Ar outfile | | 43 | .Fl o Ar outfile |
44 | file ... | | 44 | .Ar |
45 | .Nm | | 45 | .Nm |
46 | .Op Fl fgstv | | 46 | .Op Fl fgstv |
47 | .Fl l Ar label | | 47 | .Fl l Ar label |
48 | .Fl L Ar labelenv | | 48 | .Fl L Ar labelenv |
49 | .Fl o Ar outfile | | 49 | .Fl o Ar outfile |
50 | .Fl d Ar uniqfile | | 50 | .Fl d Ar uniqfile |
51 | .Op Fl g | | 51 | .Op Fl g |
52 | .Op Fl D Ar uniqlabel | | 52 | .Op Fl D Ar uniqlabel |
53 | file ... | | 53 | .Ar |
54 | .Nm | | 54 | .Nm |
55 | .Op Fl fgstv | | 55 | .Op Fl fgstv |
56 | .Fl l Ar label | | 56 | .Fl l Ar label |
57 | .Fl L Ar labelenv | | 57 | .Fl L Ar labelenv |
58 | .Fl o Ar outfile | | 58 | .Fl o Ar outfile |
59 | .Fl w Ar withfile | | 59 | .Fl w Ar withfile |
60 | file ... | | 60 | .Ar |
61 | .Nm | | 61 | .Nm |
62 | .Op Fl g | | 62 | .Op Fl g |
63 | .Fl c Ar srcfile | | 63 | .Fl c Ar srcfile |
64 | .Ar destfile | | 64 | .Ar destfile |
65 | .Sh DESCRIPTION | | 65 | .Sh DESCRIPTION |
66 | The | | 66 | The |
67 | .Nm | | 67 | .Nm |
68 | utility merges several CTF data sections from several files into one | | 68 | utility merges several CTF data sections from several files into one |
69 | output file, unifying common data. | | 69 | output file, unifying common data. |
70 | .Pp | | 70 | .Pp |
71 | The following options are available: | | 71 | The following options are available: |
72 | .Bl -tag -width indent | | 72 | .Bl -tag -width Fl |
73 | .It Fl f | | 73 | .It Fl f |
74 | Match global symbols to global CTF data. | | 74 | Match global symbols to global CTF data. |
75 | .It Fl g | | 75 | .It Fl g |
76 | Don't delete the original debugging sections. | | 76 | Don't delete the original debugging sections. |
77 | .It Fl s | | 77 | .It Fl s |
78 | Use the .dynsym ELF section instead of the .symtab ELF section. | | 78 | Use the |
| | | 79 | .Ql .dynsym |
| | | 80 | ELF section instead of the |
| | | 81 | .Ql .symtab |
| | | 82 | ELF section. |
79 | .It Fl t | | 83 | .It Fl t |
80 | Make sure that all object files have a CTF section. | | 84 | Make sure that all object files have a CTF section. |
81 | .It Fl v | | 85 | .It Fl v |
82 | Enable verbose mode. | | 86 | Enable verbose mode. |
83 | .It Fl l Ar label | | 87 | .It Fl l Ar label |
84 | Sets the label as | | 88 | Sets the label as |
85 | .Ar label . | | 89 | .Ar label . |
86 | .It Fl L Ar labelenv | | 90 | .It Fl L Ar labelenv |
87 | Instructs | | 91 | Instructs |
88 | .Nm | | 92 | .Nm |
89 | to read the label from the environment variable | | 93 | to read the label from the environment variable |
90 | .Ar labelenv . | | 94 | .Ar labelenv . |
91 | .It Fl o Ar outfile | | 95 | .It Fl o Ar outfile |
| @@ -100,44 +104,52 @@ Uniquify against label | | | @@ -100,44 +104,52 @@ Uniquify against label |
100 | .Ar uniqlabel | | 104 | .Ar uniqlabel |
101 | .It Fl w Ar withfile | | 105 | .It Fl w Ar withfile |
102 | Additive merge with | | 106 | Additive merge with |
103 | .Ar withfile . | | 107 | .Ar withfile . |
104 | .It Fl c Ar srcfile Ar destfile | | 108 | .It Fl c Ar srcfile Ar destfile |
105 | Copy CTF data from | | 109 | Copy CTF data from |
106 | .Ar srcfile | | 110 | .Ar srcfile |
107 | into | | 111 | into |
108 | .Ar destfile . | | 112 | .Ar destfile . |
109 | .El | | 113 | .El |
110 | .Sh ENVIRONMENT VARIABLES | | 114 | .Sh ENVIRONMENT VARIABLES |
111 | The following environment variables are used in | | 115 | The following environment variables are used in |
112 | .Nm : | | 116 | .Nm : |
113 | .Bl -tag -width x | | 117 | .Bl -tag -width Ev |
114 | .It CTFMERGE_TERMINATE_NO_UNLINK | | 118 | .It Ev CTFMERGE_TERMINATE_NO_UNLINK |
115 | Don't remove temporary files on exit, so that they can be examined | | 119 | Don't remove temporary files on exit, so that they can be examined |
116 | for debugging. | | 120 | for debugging. |
117 | .It CTFMERGE_MAX_SLOTS | | 121 | .It Ev CTFMERGE_MAX_SLOTS |
118 | Number of round-robin slots in the input queue that it is processed by | | 122 | Number of round-robin slots in the input queue that it is processed by |
119 | worker threads. | | 123 | worker threads. |
120 | Each slot represents a file batch (default 5). | | 124 | Each slot represents a file batch |
121 | .It CTFMERGE_PHASE1_BATCH_SIZE | | 125 | .Pq default 5 . |
122 | Number of files in a slot that are needed before processing starts (default 8). | | 126 | .It Ev CTFMERGE_PHASE1_BATCH_SIZE |
123 | .It CTFMERGE_NUM_THREADS | | 127 | Number of files in a slot that are needed before processing starts |
| | | 128 | .Pq default 8 . |
| | | 129 | .It Ev CTFMERGE_NUM_THREADS |
124 | Set the number of worker threads. | | 130 | Set the number of worker threads. |
125 | If the number of processors can be determined it defaults to | | 131 | If the number of processors can be determined it defaults to |
126 | min(processors * 3 / 2, nslots), if not it defaults to 2. | | 132 | .Fo min |
127 | .It CTFMERGE_INPUT_THROTTLE | | 133 | .Fa "processors\|*\|3\|/\|2" |
128 | Max queue size to queue (defaults to 10). | | 134 | .Fa "nslots" |
129 | .It CTFMERGE_DEBUG_LEVEL | | 135 | .Fc |
130 | Increase debugging verbosity (maximum is 3). | | 136 | if not it defaults to 2. |
| | | 137 | .It Ev CTFMERGE_INPUT_THROTTLE |
| | | 138 | Max queue size to queue |
| | | 139 | .Pq defaults to 10 . |
| | | 140 | .It Ev CTFMERGE_DEBUG_LEVEL |
| | | 141 | Increase debugging verbosity |
| | | 142 | .Pq maximum is 3 . |
131 | .El | | 143 | .El |
132 | .Sh EXIT STATUS | | 144 | .Sh EXIT STATUS |
133 | .Ex -std | | 145 | .Ex -std |
134 | .Sh SEE ALSO | | 146 | .Sh SEE ALSO |
135 | .Xr ctfconvert 1 , | | 147 | .Xr ctfconvert 1 , |
136 | .Xr ctfdump 1 | | 148 | .Xr ctfdump 1 |
137 | .Sh HISTORY | | 149 | .Sh HISTORY |
138 | The | | 150 | The |
139 | .Nm | | 151 | .Nm |
140 | utility first appeared in | | 152 | utility first appeared in |
141 | .Fx 7.0 . | | 153 | .Fx 7.0 . |
142 | .Sh AUTHORS | | 154 | .Sh AUTHORS |
143 | The CTF utilities came from OpenSolaris. | | 155 | The CTF utilities came from OpenSolaris. |