[Dwarf-Discuss] arm literal pool

Metzger, Markus T markus.t.metzger@intel.com
Wed Sep 16 06:52:25 GMT 2009

>-----Original Message-----
>From: dwarf-discuss-bounces at lists.dwarfstd.org [mailto:dwarf-discuss-bounces at lists.dwarfstd.org] On
>Behalf Of ranjith kumar

>1)   Given an ARM executable, how to know weather a given address
>contains  an 'arm instruction' or 'literal pool' ??

Afaik, ARM uses mapping symbols. $a would start an ARM code region, $t a Thumb code region, $d a data region. The region lasts until the next mapping symbol.

You should find this information in the ARM EABI - it's (or had been) available from their web-site.

>2) What happens when we strip that binary?  Can we still determine
>whether given address contains  an 'arm instruction' or 'literal

The mapping symbols are part of the symbol table and should not be stripped. I guess you could ask your linker to remove them, though.

>3)Can    libelf/libdwarf libraries  determine  whether given address
>contains  an 'arm instruction' or 'literal pool'  even after that
>library has been stripped? Where can I find sample programs which uses
>libelf/libdwarf libraries and will tell  whether given address
>contains  an 'arm instruction' or 'literal pool' ?

Give it a try.

>4) How debuggers build control flow graph from an executable, when
>'literal pool' appears in between 'instructions'?

Control should always flow around literal pools. I don't think you even need to be aware of literal pools to construct a control flow graph. As long as you don't mix modes, I guess you may even ignore mapping symbols completely.

Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen Germany
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
Registergericht: Muenchen HRB 47456 Ust.-IdNr.
VAT Registration No.: DE129385895
Citibank Frankfurt (BLZ 502 109 00) 600119052

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

More information about the Dwarf-discuss mailing list