Summary of ELF file formats in Android

Source: Internet
Author: User

I recently read some elf files from Android and summarized some points. Some of them may not be accurate, just a personal summary.

Differences between Elf files in Android and elf files in Linux:

1. in Linux, symbol-related tables include dynamic link symbol tables, symbol tables, and relocation tables.

In Android, there is only one string table (. dynstr) and one symbol table (. dynsym ).

2. in Linux, The. Got table and. Got. PLT table are separated.

In Android, only one. Got table exists.

3. In Android, the rel. PLT function is relocated. The type is r_arm_jump_slot, And the rel. Dyn parameter is relocated. The type isR_arm_glob_dat.

4. Android runs after loading the dynamic shared library (. So file)ProgramThe previous relocation has been completed, and there is no PLT process.

The PLT process is available in Linux.

5. Obtain the handle of the global symbol table: dlopen (filename, flag). When filename = 0, the function returns the handle of the global symbol table.


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.