The gap between RO and RW segments

OP (Company: TK) #2115248
Rate this post
• ▲ useful
▼ not useful
I'm doing something in memory lacking situations. When a shared object 
is loaded, there will be a memory gap between RO and RW segments. 
Running fromelf on a so file, I could get these:
1
====================================
2
** Program header #1
3
    Type          : PT_LOAD (1)
4
    File Offset   : 0 (0x0)
5
    Virtual Addr  : 0x00000000
6
    Physical Addr : 0x00000000
7
    Size in file  : 20468 bytes (0x4ff4)
8
    Size in memory: 20468 bytes (0x4ff4)
9
    Flags         : PF_X + PF_R (0x5)
10
    Alignment     : 32768
11
====================================
12
** Program header #2
13
    Type          : PT_LOAD (1)
14
    File Offset   : 20468 (0x4ff4)
15
    Virtual Addr  : 0x0000cff4
16
    Physical Addr : 0x0000cff4
17
    Size in file  : 264 bytes (0x108)
18
    Size in memory: 40608 bytes (0x9ea0)
19
    Flags         : PF_W + PF_R (0x6)
20
    Alignment     : 32768
21
====================================

The gap is 32K (from 0x4ff4 to 0x0000cff4).

I've tried RVCT armlink and yagarto arm-none-eabi-ld, they are both 32K. 
And using Sourcery G++ arm-uclinuxeabi-ld, it's just a little bigger. 
When I tried arm-eabi-ld from Android ndk r5, it's only 4K. So I finally 
choose Android ndk r5 arm-eabi-ld as my linker to save memory.

But I couldn't figure out why there will be such a big gap. Are there 
any options to control its size?

Please help me out, thank you very much.

Reply

Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.

Formatting
  • [c]C-Code[/c]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]
  • [[Title]] – link to an article
  • Link to another post: right-click its post ID (#8078628), copy the address, paste it into the text

More about formatting

Post long source code as an attachment, not in the text.

Already registered? Log in

Not shown to anyone. We send you a link; your post appears once you confirm it there.

By submitting you create a free account and accept the terms of use.