HP-UX HB v13.00 Ch-11 - Software Development

HP-UX Handbook Rev 13.00 Page 10 (of 101)
Chapter 11 Software Development
October 29, 2013
On IA:
Symbols from HelloWorld.o:
[Index] Value Size Type Bind O Shndx Name
[0] | 0| 0|NOTYP|LOCAL|0| UNDEF|
[8] | 0| 0|SECT
|LOCAL|0|.HP.opt_annot|.HP.opt_annot
[7] | 0| 0|SECT
|LOCAL|0|.IA_64.unwind_info|.IA_64.unwind_info
[3] | 0| 0|SECT
|LOCAL|0|.debug_actual|.debug_actual
[2] | 0| 0|SECT |LOCAL|0|.debug_line|.debug_line
[6] | 0| 0|SECT
|LOCAL|0|.debug_procs_abbrev|.debug_procs_abbrev
[4] | 0| 0|SECT |LOCAL|0| .rodata|.rodata
[5] | 0| 0|SECT |LOCAL|0| .text|.text
[1] | 0| 0|FILE |LOCAL|0| ABS|HelloWorld.c
[10] | 0| 112|FUNC |GLOB |0| .text|main
[9] | 0| 0|FUNC |GLOB |0| UNDEF|printf
nm(1) lists all symbol names and shows address, scope, symbol type and the location of the
symbol in the object.
main has an external scope which means it is globally accessible, a type of entry/FUNC means
that the symbol is inside the object, and it is contained in the code section of the object. The
scope of printf is undefined, it is only a code reference. The value column shows the location
(address) of the symbol inside the object.
For 64-bit objects, the nm(1) output looks somewhat different, but basically contains the same
information:
$ nm HelloWorld.o
On PA:
Symbols from HelloWorld.o:
[Index] Value Size Type Bind O Shndx Name
[0] | 0| 0|NOTYP|LOCAL|0| UNDEF|
[4] | 0| 0|OBJT |LOCAL|0| .text|$PIC$0
[2] | 0| 0|SECT |LOCAL|0| .bdata|.bdata
[1] | 0| 0|SECT |LOCAL|0| .btext|.btext
[3] | 0| 14|OBJT |LOCAL|0| .rodata|C$10
[5] | 0| 72|FUNC |GLOB |0| .text|main
[6] | 0| 0|FUNC |GLOB |0| UNDEF|printf
On IA: