-
Notifications
You must be signed in to change notification settings - Fork 0
/
hda000000083.bin
1857 lines (1466 loc) · 64 KB
/
hda000000083.bin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
t HWR (hardware register, used by the `rdhwr'
instruction) names as appropriate for the CPU or architecture
specified by ARCH. By default, HWR names are selected
according to the architecture and CPU of the binary being
disassembled.
`reg-names=ABI'
Print GPR and FPR names as appropriate for the selected ABI.
`reg-names=ARCH'
Print CPU-specific register names (CP0 register and HWR names)
as appropriate for the selected CPU or architecture.
For any of the options listed above, ABI or ARCH may be specified
as `numeric' to have numbers printed rather than names, for the
selected types of registers. You can list the available values of
ABI and ARCH using the `--help' option.
For VAX, you can specify function entry addresses with `-M
entry:0xf00ba'. You can use this multiple times to properly
disassemble VAX binary files that don't contain symbol tables (like
ROM dumps). In these cases, the function entry mask would
otherwise be decoded as VAX instructions, which would probably
lead the rest of the function being wrongly disassembled.
`-p'
`--private-headers'
Print information that is specific to the object file format. The
exact information printed depends upon the object file format.
For some object file formats, no additional information is printed.
`-r'
`--reloc'
Print the relocation entries of the file. If used with `-d' or
`-D', the relocations are printed interspersed with the
disassembly.
`-R'
`--dynamic-reloc'
Print the dynamic relocation entries of the file. This is only
meaningful for dynamic objects, such as certain types of shared
libraries. As for `-r', if used with `-d' or `-D', the
relocations are printed interspersed with the disassembly.
`-s'
`--full-contents'
Display the full contents of any sections requested. By default
all non-empty sections are displayed.
`-S'
`--source'
Display source code intermixed with disassembly, if possible.
Implies `-d'.
`--prefix=PREFIX'
Specify PREFIX to add to the absolute paths when used with `-S'.
`--prefix-strip=LEVEL'
Indicate how many initial directory names to strip off the
hardwired absolute paths. It has no effect without
`--prefix='PREFIX.
`--show-raw-insn'
When disassembling instructions, print the instruction in hex as
well as in symbolic form. This is the default except when
`--prefix-addresses' is used.
`--no-show-raw-insn'
When disassembling instructions, do not print the instruction
bytes. This is the default when `--prefix-addresses' is used.
`--insn-width=WIDTH'
Display WIDTH bytes on a single line when disassembling
instructions.
`-W[lLiaprmfFsoRt]'
`--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges]'
Displays the contents of the debug sections in the file, if any are
present. If one of the optional letters or words follows the
switch then only data found in those specific sections will be
dumped.
Note that there is no single letter option to display the content
of trace sections.
`-G'
`--stabs'
Display the full contents of any sections requested. Display the
contents of the .stab and .stab.index and .stab.excl sections from
an ELF file. This is only useful on systems (such as Solaris 2.0)
in which `.stab' debugging symbol-table entries are carried in an
ELF section. In most other file formats, debugging symbol-table
entries are interleaved with linkage symbols, and are visible in
the `--syms' output. For more information on stabs symbols, see
*Note Stabs: (stabs.info)Top.
`--start-address=ADDRESS'
Start displaying data at the specified address. This affects the
output of the `-d', `-r' and `-s' options.
`--stop-address=ADDRESS'
Stop displaying data at the specified address. This affects the
output of the `-d', `-r' and `-s' options.
`-t'
`--syms'
Print the symbol table entries of the file. This is similar to
the information provided by the `nm' program, although the display
format is different. The format of the output depends upon the
format of the file being dumped, but there are two main types.
One looks like this:
[ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss
[ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred
where the number inside the square brackets is the number of the
entry in the symbol table, the SEC number is the section number,
the FL value are the symbol's flag bits, the TY number is the
symbol's type, the SCL number is the symbol's storage class and
the NX value is the number of auxilary entries associated with the
symbol. The last two fields are the symbol's value and its name.
The other common output format, usually seen with ELF based files,
looks like this:
00000000 l d .bss 00000000 .bss
00000000 g .text 00000000 fred
Here the first number is the symbol's value (sometimes refered to
as its address). The next field is actually a set of characters
and spaces indicating the flag bits that are set on the symbol.
These characters are described below. Next is the section with
which the symbol is associated or _*ABS*_ if the section is
absolute (ie not connected with any section), or _*UND*_ if the
section is referenced in the file being dumped, but not defined
there.
After the section name comes another field, a number, which for
common symbols is the alignment and for other symbol is the size.
Finally the symbol's name is displayed.
The flag characters are divided into 7 groups as follows:
`l'
`g'
`u'
`!'
The symbol is a local (l), global (g), unique global (u),
neither global nor local (a space) or both global and local
(!). A symbol can be neither local or global for a variety
of reasons, e.g., because it is used for debugging, but it is
probably an indication of a bug if it is ever both local and
global. Unique global symbols are a GNU extension to the
standard set of ELF symbol bindings. For such a symbol the
dynamic linker will make sure that in the entire process
there is just one symbol with this name and type in use.
`w'
The symbol is weak (w) or strong (a space).
`C'
The symbol denotes a constructor (C) or an ordinary symbol (a
space).
`W'
The symbol is a warning (W) or a normal symbol (a space). A
warning symbol's name is a message to be displayed if the
symbol following the warning symbol is ever referenced.
`I'
`i'
The symbol is an indirect reference to another symbol (I), a
function to be evaluated during reloc processing (i) or a
normal symbol (a space).
`d'
`D'
The symbol is a debugging symbol (d) or a dynamic symbol (D)
or a normal symbol (a space).
`F'
`f'
`O'
The symbol is the name of a function (F) or a file (f) or an
object (O) or just a normal symbol (a space).
`-T'
`--dynamic-syms'
Print the dynamic symbol table entries of the file. This is only
meaningful for dynamic objects, such as certain types of shared
libraries. This is similar to the information provided by the `nm'
program when given the `-D' (`--dynamic') option.
`--special-syms'
When displaying symbols include those which the target considers
to be special in some way and which would not normally be of
interest to the user.
`-V'
`--version'
Print the version number of `objdump' and exit.
`-x'
`--all-headers'
Display all available header information, including the symbol
table and relocation entries. Using `-x' is equivalent to
specifying all of `-a -f -h -p -r -t'.
`-w'
`--wide'
Format some lines for output devices that have more than 80
columns. Also do not truncate symbol names when they are
displayed.
`-z'
`--disassemble-zeroes'
Normally the disassembly output will skip blocks of zeroes. This
option directs the disassembler to disassemble those blocks, just
like any other data.
File: binutils.info, Node: ranlib, Next: readelf, Prev: objdump, Up: Top
5 ranlib
********
ranlib [`-vVt'] ARCHIVE
`ranlib' generates an index to the contents of an archive and stores
it in the archive. The index lists each symbol defined by a member of
an archive that is a relocatable object file.
You may use `nm -s' or `nm --print-armap' to list this index.
An archive with such an index speeds up linking to the library and
allows routines in the library to call each other without regard to
their placement in the archive.
The GNU `ranlib' program is another form of GNU `ar'; running
`ranlib' is completely equivalent to executing `ar -s'. *Note ar::.
`-v'
`-V'
`--version'
Show the version number of `ranlib'.
`-t'
Update the timestamp of the symbol map of an archive.
File: binutils.info, Node: size, Next: strings, Prev: readelf, Up: Top
6 size
******
size [`-A'|`-B'|`--format='COMPATIBILITY]
[`--help']
[`-d'|`-o'|`-x'|`--radix='NUMBER]
[`--common']
[`-t'|`--totals']
[`--target='BFDNAME] [`-V'|`--version']
[OBJFILE...]
The GNU `size' utility lists the section sizes--and the total
size--for each of the object or archive files OBJFILE in its argument
list. By default, one line of output is generated for each object file
or each module in an archive.
OBJFILE... are the object files to be examined. If none are
specified, the file `a.out' will be used.
The command line options have the following meanings:
`-A'
`-B'
`--format=COMPATIBILITY'
Using one of these options, you can choose whether the output from
GNU `size' resembles output from System V `size' (using `-A', or
`--format=sysv'), or Berkeley `size' (using `-B', or
`--format=berkeley'). The default is the one-line format similar
to Berkeley's.
Here is an example of the Berkeley (default) format of output from
`size':
$ size --format=Berkeley ranlib size
text data bss dec hex filename
294880 81920 11592 388392 5ed28 ranlib
294880 81920 11888 388688 5ee50 size
This is the same data, but displayed closer to System V
conventions:
$ size --format=SysV ranlib size
ranlib :
section size addr
.text 294880 8192
.data 81920 303104
.bss 11592 385024
Total 388392
size :
section size addr
.text 294880 8192
.data 81920 303104
.bss 11888 385024
Total 388688
`--help'
Show a summary of acceptable arguments and options.
`-d'
`-o'
`-x'
`--radix=NUMBER'
Using one of these options, you can control whether the size of
each section is given in decimal (`-d', or `--radix=10'); octal
(`-o', or `--radix=8'); or hexadecimal (`-x', or `--radix=16').
In `--radix=NUMBER', only the three values (8, 10, 16) are
supported. The total size is always given in two radices; decimal
and hexadecimal for `-d' or `-x' output, or octal and hexadecimal
if you're using `-o'.
`--common'
Print total size of common symbols in each file. When using
Berkeley format these are included in the bss size.
`-t'
`--totals'
Show totals of all objects listed (Berkeley format listing mode
only).
`--target=BFDNAME'
Specify that the object-code format for OBJFILE is BFDNAME. This
option may not be necessary; `size' can automatically recognize
many formats. *Note Target Selection::, for more information.
`-V'
`--version'
Display the version number of `size'.
File: binutils.info, Node: strings, Next: strip, Prev: size, Up: Top
7 strings
*********
strings [`-afovV'] [`-'MIN-LEN]
[`-n' MIN-LEN] [`--bytes='MIN-LEN]
[`-t' RADIX] [`--radix='RADIX]
[`-e' ENCODING] [`--encoding='ENCODING]
[`-'] [`--all'] [`--print-file-name']
[`-T' BFDNAME] [`--target='BFDNAME]
[`--help'] [`--version'] FILE...
For each FILE given, GNU `strings' prints the printable character
sequences that are at least 4 characters long (or the number given with
the options below) and are followed by an unprintable character. By
default, it only prints the strings from the initialized and loaded
sections of object files; for other types of files, it prints the
strings from the whole file.
`strings' is mainly useful for determining the contents of non-text
files.
`-a'
`--all'
`-'
Do not scan only the initialized and loaded sections of object
files; scan the whole files.
`-f'
`--print-file-name'
Print the name of the file before each string.
`--help'
Print a summary of the program usage on the standard output and
exit.
`-MIN-LEN'
`-n MIN-LEN'
`--bytes=MIN-LEN'
Print sequences of characters that are at least MIN-LEN characters
long, instead of the default 4.
`-o'
Like `-t o'. Some other versions of `strings' have `-o' act like
`-t d' instead. Since we can not be compatible with both ways, we
simply chose one.
`-t RADIX'
`--radix=RADIX'
Print the offset within the file before each string. The single
character argument specifies the radix of the offset--`o' for
octal, `x' for hexadecimal, or `d' for decimal.
`-e ENCODING'
`--encoding=ENCODING'
Select the character encoding of the strings that are to be found.
Possible values for ENCODING are: `s' = single-7-bit-byte
characters (ASCII, ISO 8859, etc., default), `S' =
single-8-bit-byte characters, `b' = 16-bit bigendian, `l' = 16-bit
littleendian, `B' = 32-bit bigendian, `L' = 32-bit littleendian.
Useful for finding wide character strings. (`l' and `b' apply to,
for example, Unicode UTF-16/UCS-2 encodings).
`-T BFDNAME'
`--target=BFDNAME'
Specify an object code format other than your system's default
format. *Note Target Selection::, for more information.
`-v'
`-V'
`--version'
Print the program version number on the standard output and exit.
File: binutils.info, Node: strip, Next: elfedit, Prev: strings, Up: Top
8 strip
*******
strip [`-F' BFDNAME |`--target='BFDNAME]
[`-I' BFDNAME |`--input-target='BFDNAME]
[`-O' BFDNAME |`--output-target='BFDNAME]
[`-s'|`--strip-all']
[`-S'|`-g'|`-d'|`--strip-debug']
[`-K' SYMBOLNAME |`--keep-symbol='SYMBOLNAME]
[`-N' SYMBOLNAME |`--strip-symbol='SYMBOLNAME]
[`-w'|`--wildcard']
[`-x'|`--discard-all'] [`-X' |`--discard-locals']
[`-R' SECTIONNAME |`--remove-section='SECTIONNAME]
[`-o' FILE] [`-p'|`--preserve-dates']
[`--keep-file-symbols']
[`--only-keep-debug']
[`-v' |`--verbose'] [`-V'|`--version']
[`--help'] [`--info']
OBJFILE...
GNU `strip' discards all symbols from object files OBJFILE. The
list of object files may include archives. At least one object file
must be given.
`strip' modifies the files named in its argument, rather than
writing modified copies under different names.
`-F BFDNAME'
`--target=BFDNAME'
Treat the original OBJFILE as a file with the object code format
BFDNAME, and rewrite it in the same format. *Note Target
Selection::, for more information.
`--help'
Show a summary of the options to `strip' and exit.
`--info'
Display a list showing all architectures and object formats
available.
`-I BFDNAME'
`--input-target=BFDNAME'
Treat the original OBJFILE as a file with the object code format
BFDNAME. *Note Target Selection::, for more information.
`-O BFDNAME'
`--output-target=BFDNAME'
Replace OBJFILE with a file in the output format BFDNAME. *Note
Target Selection::, for more information.
`-R SECTIONNAME'
`--remove-section=SECTIONNAME'
Remove any section named SECTIONNAME from the output file. This
option may be given more than once. Note that using this option
inappropriately may make the output file unusable.
`-s'
`--strip-all'
Remove all symbols.
`-g'
`-S'
`-d'
`--strip-debug'
Remove debugging symbols only.
`--strip-unneeded'
Remove all symbols that are not needed for relocation processing.
`-K SYMBOLNAME'
`--keep-symbol=SYMBOLNAME'
When stripping symbols, keep symbol SYMBOLNAME even if it would
normally be stripped. This option may be given more than once.
`-N SYMBOLNAME'
`--strip-symbol=SYMBOLNAME'
Remove symbol SYMBOLNAME from the source file. This option may be
given more than once, and may be combined with strip options other
than `-K'.
`-o FILE'
Put the stripped output in FILE, rather than replacing the
existing file. When this argument is used, only one OBJFILE
argument may be specified.
`-p'
`--preserve-dates'
Preserve the access and modification dates of the file.
`-w'
`--wildcard'
Permit regular expressions in SYMBOLNAMEs used in other command
line options. The question mark (?), asterisk (*), backslash (\)
and square brackets ([]) operators can be used anywhere in the
symbol name. If the first character of the symbol name is the
exclamation point (!) then the sense of the switch is reversed for
that symbol. For example:
-w -K !foo -K fo*
would cause strip to only keep symbols that start with the letters
"fo", but to discard the symbol "foo".
`-x'
`--discard-all'
Remove non-global symbols.
`-X'
`--discard-locals'
Remove compiler-generated local symbols. (These usually start
with `L' or `.'.)
`--keep-file-symbols'
When stripping a file, perhaps with `--strip-debug' or
`--strip-unneeded', retain any symbols specifying source file
names, which would otherwise get stripped.
`--only-keep-debug'
Strip a file, removing contents of any sections that would not be
stripped by `--strip-debug' and leaving the debugging sections
intact. In ELF files, this preserves all note sections in the
output.
The intention is that this option will be used in conjunction with
`--add-gnu-debuglink' to create a two part executable. One a
stripped binary which will occupy less space in RAM and in a
distribution and the second a debugging information file which is
only needed if debugging abilities are required. The suggested
procedure to create these files is as follows:
1. Link the executable as normal. Assuming that is is called
`foo' then...
2. Run `objcopy --only-keep-debug foo foo.dbg' to create a file
containing the debugging info.
3. Run `objcopy --strip-debug foo' to create a stripped
executable.
4. Run `objcopy --add-gnu-debuglink=foo.dbg foo' to add a link
to the debugging info into the stripped executable.
Note--the choice of `.dbg' as an extension for the debug info file
is arbitrary. Also the `--only-keep-debug' step is optional. You
could instead do this:
1. Link the executable as normal.
2. Copy `foo' to `foo.full'
3. Run `strip --strip-debug foo'
4. Run `objcopy --add-gnu-debuglink=foo.full foo'
i.e., the file pointed to by the `--add-gnu-debuglink' can be the
full executable. It does not have to be a file created by the
`--only-keep-debug' switch.
Note--this switch is only intended for use on fully linked files.
It does not make sense to use it on object files where the
debugging information may be incomplete. Besides the
gnu_debuglink feature currently only supports the presence of one
filename containing debugging information, not multiple filenames
on a one-per-object-file basis.
`-V'
`--version'
Show the version number for `strip'.
`-v'
`--verbose'
Verbose output: list all object files modified. In the case of
archives, `strip -v' lists all members of the archive.
File: binutils.info, Node: c++filt, Next: addr2line, Prev: elfedit, Up: Top
9 c++filt
*********
c++filt [`-_'|`--strip-underscores']
[`-n'|`--no-strip-underscores']
[`-p'|`--no-params']
[`-t'|`--types']
[`-i'|`--no-verbose']
[`-s' FORMAT|`--format='FORMAT]
[`--help'] [`--version'] [SYMBOL...]
The C++ and Java languages provide function overloading, which means
that you can write many functions with the same name, providing that
each function takes parameters of different types. In order to be able
to distinguish these similarly named functions C++ and Java encode them
into a low-level assembler name which uniquely identifies each
different version. This process is known as "mangling". The `c++filt'
(1) program does the inverse mapping: it decodes ("demangles") low-level
names into user-level names so that they can be read.
Every alphanumeric word (consisting of letters, digits, underscores,
dollars, or periods) seen in the input is a potential mangled name. If
the name decodes into a C++ name, the C++ name replaces the low-level
name in the output, otherwise the original word is output. In this way
you can pass an entire assembler source file, containing mangled names,
through `c++filt' and see the same source file containing demangled
names.
You can also use `c++filt' to decipher individual symbols by passing
them on the command line:
c++filt SYMBOL
If no SYMBOL arguments are given, `c++filt' reads symbol names from
the standard input instead. All the results are printed on the
standard output. The difference between reading names from the command
line versus reading names from the standard input is that command line
arguments are expected to be just mangled names and no checking is
performed to separate them from surrounding text. Thus for example:
c++filt -n _Z1fv
will work and demangle the name to "f()" whereas:
c++filt -n _Z1fv,
will not work. (Note the extra comma at the end of the mangled name
which makes it invalid). This command however will work:
echo _Z1fv, | c++filt -n
and will display "f(),", i.e., the demangled name followed by a
trailing comma. This behaviour is because when the names are read from
the standard input it is expected that they might be part of an
assembler source file where there might be extra, extraneous characters
trailing after a mangled name. For example:
.type _Z1fv, @function
`-_'
`--strip-underscores'
On some systems, both the C and C++ compilers put an underscore in
front of every name. For example, the C name `foo' gets the
low-level name `_foo'. This option removes the initial
underscore. Whether `c++filt' removes the underscore by default
is target dependent.
`-n'
`--no-strip-underscores'
Do not remove the initial underscore.
`-p'
`--no-params'
When demangling the name of a function, do not display the types of
the function's parameters.
`-t'
`--types'
Attempt to demangle types as well as function names. This is
disabled by default since mangled types are normally only used
internally in the compiler, and they can be confused with
non-mangled names. For example, a function called "a" treated as
a mangled type name would be demangled to "signed char".
`-i'
`--no-verbose'
Do not include implementation details (if any) in the demangled
output.
`-s FORMAT'
`--format=FORMAT'
`c++filt' can decode various methods of mangling, used by
different compilers. The argument to this option selects which
method it uses:
`auto'
Automatic selection based on executable (the default method)
`gnu'
the one used by the GNU C++ compiler (g++)
`lucid'
the one used by the Lucid compiler (lcc)
`arm'
the one specified by the C++ Annotated Reference Manual
`hp'
the one used by the HP compiler (aCC)
`edg'
the one used by the EDG compiler
`gnu-v3'
the one used by the GNU C++ compiler (g++) with the V3 ABI.
`java'
the one used by the GNU Java compiler (gcj)
`gnat'
the one used by the GNU Ada compiler (GNAT).
`--help'
Print a summary of the options to `c++filt' and exit.
`--version'
Print the version number of `c++filt' and exit.
_Warning:_ `c++filt' is a new utility, and the details of its user
interface are subject to change in future releases. In particular,
a command-line option may be required in the future to decode a
name passed as an argument on the command line; in other words,
c++filt SYMBOL
may in a future release become
c++filt OPTION SYMBOL
---------- Footnotes ----------
(1) MS-DOS does not allow `+' characters in file names, so on MS-DOS
this program is named `CXXFILT'.
File: binutils.info, Node: addr2line, Next: nlmconv, Prev: c++filt, Up: Top
10 addr2line
************
addr2line [`-a'|`--addresses']
[`-b' BFDNAME|`--target='BFDNAME]
[`-C'|`--demangle'[=STYLE]]
[`-e' FILENAME|`--exe='FILENAME]
[`-f'|`--functions'] [`-s'|`--basename']
[`-i'|`--inlines']
[`-p'|`--pretty-print']
[`-j'|`--section='NAME]
[`-H'|`--help'] [`-V'|`--version']
[addr addr ...]
`addr2line' translates addresses into file names and line numbers.
Given an address in an executable or an offset in a section of a
relocatable object, it uses the debugging information to figure out
which file name and line number are associated with it.
The executable or relocatable object to use is specified with the
`-e' option. The default is the file `a.out'. The section in the
relocatable object to use is specified with the `-j' option.
`addr2line' has two modes of operation.
In the first, hexadecimal addresses are specified on the command
line, and `addr2line' displays the file name and line number for each
address.
In the second, `addr2line' reads hexadecimal addresses from standard
input, and prints the file name and line number for each address on
standard output. In this mode, `addr2line' may be used in a pipe to
convert dynamically chosen addresses.
The format of the output is `FILENAME:LINENO'. The file name and
line number for each address is printed on a separate line. If the
`-f' option is used, then each `FILENAME:LINENO' line is preceded by a
`FUNCTIONNAME' line which is the name of the function containing the
address. If the `-a' option is used, then the address read is first
printed.
If the file name or function name can not be determined, `addr2line'
will print two question marks in their place. If the line number can
not be determined, `addr2line' will print 0.
The long and short forms of options, shown here as alternatives, are
equivalent.
`-a'
`--addresses'
Display address before function names or file and line number
information. The address is printed with a `0x' prefix to easily
identify it.
`-b BFDNAME'
`--target=BFDNAME'
Specify that the object-code format for the object files is
BFDNAME.
`-C'
`--demangle[=STYLE]'
Decode ("demangle") low-level symbol names into user-level names.
Besides removing any initial underscore prepended by the system,
this makes C++ function names readable. Different compilers have
different mangling styles. The optional demangling style argument
can be used to choose an appropriate demangling style for your
compiler. *Note c++filt::, for more information on demangling.
`-e FILENAME'
`--exe=FILENAME'
Specify the name of the executable for which addresses should be
translated. The default file is `a.out'.
`-f'
`--functions'
Display function names as well as file and line number information.
`-s'
`--basenames'
Display only the base of each file name.
`-i'
`--inlines'
If the address belongs to a function that was inlined, the source
information for all enclosing scopes back to the first non-inlined
function will also be printed. For example, if `main' inlines
`callee1' which inlines `callee2', and address is from `callee2',
the source information for `callee1' and `main' will also be
printed.
`-j'
`--section'
Read offsets relative to the specified section instead of absolute
addresses.
`-p'
`--pretty-print'
Make the output more human friendly: each location are printed on
one line. If option `-i' is specified, lines for all enclosing
scopes are prefixed with `(inlined by)'.
File: binutils.info, Node: nlmconv, Next: windres, Prev: addr2line, Up: Top
11 nlmconv
**********
`nlmconv' converts a relocatable object file into a NetWare Loadable
Module.
_Warning:_ `nlmconv' is not always built as part of the binary
utilities, since it is only useful for NLM targets.
nlmconv [`-I' BFDNAME|`--input-target='BFDNAME]
[`-O' BFDNAME|`--output-target='BFDNAME]
[`-T' HEADERFILE|`--header-file='HEADERFILE]
[`-d'|`--debug'] [`-l' LINKER|`--linker='LINKER]
[`-h'|`--help'] [`-V'|`--version']
INFILE OUTFILE
`nlmconv' converts the relocatable `i386' object file INFILE into
the NetWare Loadable Module OUTFILE, optionally reading HEADERFILE for
NLM header information. For instructions on writing the NLM command
file language used in header files, see the `linkers' section,
`NLMLINK' in particular, of the `NLM Development and Tools Overview',
which is part of the NLM Software Developer's Kit ("NLM SDK"),
available from Novell, Inc. `nlmconv' uses the GNU Binary File
Descriptor library to read INFILE; see *Note BFD: (ld.info)BFD, for
more information.
`nlmconv' can perform a link step. In other words, you can list
more than one object file for input if you list them in the definitions
file (rather than simply specifying one input file on the command line).
In this case, `nlmconv' calls the linker for you.
`-I BFDNAME'
`--input-target=BFDNAME'
Object format of the input file. `nlmconv' can usually determine
the format of a given file (so no default is necessary). *Note
Target Selection::, for more information.
`-O BFDNAME'
`--output-target=BFDNAME'
Object format of the output file. `nlmconv' infers the output
format based on the input format, e.g. for a `i386' input file the
output format is `nlm32-i386'. *Note Target Selection::, for more
information.
`-T HEADERFILE'
`--header-file=HEADERFILE'
Reads HEADERFILE for NLM header information. For instructions on
writing the NLM command file language used in header files, see
see the `linkers' section, of the `NLM Development and Tools
Overview', which is part of the NLM Software Developer's Kit,
available from Novell, Inc.
`-d'
`--debug'
Displays (on standard error) the linker command line used by
`nlmconv'.
`-l LINKER'
`--linker=LINKER'
Use LINKER for any linking. LINKER can be an absolute or a
relative pathname.
`-h'
`--help'
Prints a usage summary.
`-V'
`--version'
Prints the version number for `nlmconv'.
File: binutils.info, Node: windmc, Next: dlltool, Prev: windres, Up: Top
12 windmc
*********
`windmc' may be used to generator Windows message resources.
_Warning:_ `windmc' is not always built as part of the binary
utilities, since it is only useful for Windows targets.
windmc [options] input-file
`windmc' reads message definitions from an input file (.mc) and
translate them into a set of output files. The output files may be of
four kinds:
`h'
A C header file containing the message definitions.
`rc'
A resource file compilable by the `windres' tool.
`bin'
One or more binary files containing the resource data for a
specific message language.
`dbg'
A C include file that maps message id's to their symbolic name.
The exact description of these different formats is available in
documentation from Microsoft.
When `windmc' converts from the `mc' format to the `bin' format,
`rc', `h', and optional `dbg' it is acting like the Windows Message
Compiler.
`-a'
`--ascii_in'
Specifies that the input file specified is ASCII. This is the
default behaviour.
`-A'
`--ascii_out'
Specifies that messages in the output `bin' files should be in
ASCII format.
`-b'
`--binprefix'
Specifies that `bin' filenames should have to be prefixed by the
basename of the source file.
`-c'
`--customflag'
Sets the customer bit in all message id's.
`-C CODEPAGE'
`--codepage_in CODEPAGE'
Sets the default codepage to be used to convert input file to
UTF16. The default is ocdepage 1252.
`-d'
`--decimal_values'
Outputs the constants in the header file in decimal. Default is
using hexadecimal output.
`-e EXT'
`--extension EXT'
The extension for the header file. The default is .h extension.
`-F TARGET'
`--target TARGET'
Specify the BFD format to use for a bin file as output. This is a
BFD target name; you can use the `--help' option to see a list of
supported targets. Normally `windmc' will use the default format,
which is the first one listed by the `--help' option. *Note
Target Selection::.
`-h PATH'
`--headerdir PATH'
The target directory of the generated header file. The default is