This chapter describes the compiler tools that you can use to build code resources for Palm OS applications:
- "Compiler Chain: pacc, paasm, palink" describes the basic tools in the compiler chain.
- "Palm OS Librarian: palib" provides an overview of the Palm OS librarian tool.
- "Diagnostic Tool: elfdump" introduces how you can inspect ELF object file contents with the
elfdump
tool.
Compiler Chain: pacc, paasm, palink
As is common with command line compilers, the Palm OS Protein C/C++ Compiler, pacc
, acts as a driver. pacc
invokes all of the commands necessary to produce linked files from source code.
Figure 2.1 Compiler Chain Overview

-
pacc
compiles the source files into assembly language source files. -
pacc
calls the assembler,paasm
, to produce ELF object files from the assembly language source files. -
pacc
calls the linker,palink
, to generate the ELF executable image from the ELF object files.
For more information about using the compiler chain, see Chapter 3, "Using the Palm OS Compiler Chain."
IMPORTANT: It's important to note that
paac
and palink
are only used when compiling for ARM processors. When building to run in the Palm OS Simulator, the gcc
compiler is used instead, to build the necessary x86 executable code.
Palm OS Librarian: palib
The Palm OS librarian tool, palib
, lets you create and manage a collection of ELF object files. palib
creates library files that conform to the Unix 'ar'
archive file format.

- Create a new archive library.
- Add ELF object files to the library.
- Delete ELF object files from the library.
- Replace ELF object files in a library.
- Extract ELF object files from a library.
For more information about palib
, see Chapter 4, "Using the Palm OS Librarian."
Diagnostic Tool: elfdump
elfdump
lets you extract the contents of an ELF object file into a text file. With elfdump
, you can:
- Disassemble executable bytecode sections.
- Disassemble data sections as code.
- Disassemble for a given instruction set architecture.
- Show only segment and section summaries.
- Show specific sections, such as code, data, debug information or symbols.
For more information about elfdump
, see Chapter 8, "Using elfdump."
NOTE: This tool is included in the compiler suite because you may find it useful, but it is an unsupported tool. It is only available from the command line.