This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: Question about prelink address layout
- From: Maxim Kuvyrkov <maxim at kugelworks dot com>
- To: jiji vinitha <jiji dot vinitha at gmail dot com>
- Cc: libc-help at sourceware dot org,prelink at sourceware dot org
- Date: Tue, 5 Feb 2013 08:57:55 +1300
- Subject: Re: Question about prelink address layout
- References: <CADRbbMXJXbUaH6CUOrLUs8AJGU5ozg1dy7EZ7cxxi0XXVwYxqg@mail.gmail.com>
<Moved to libc-help@ and prelink@ from libc-alpha@>
On 5/02/2013, at 12:13 AM, jiji vinitha wrote:
> Hi,
> Sorry if its not proper to ask here.
The canonical list for prelink questions is prelink@sourceware.org , but libc-help@ is also OK. Libc-alpha is for glibc development.
> I have question regarding prelink virtual space address layout .
> I am using prelink in an arm linux environment.
> I can see that prelink virtual memory slot is fixed in the prelink
> source code(arch-arm.c) ie, 0x41000000-0x50000000 for arm.
> With this, prelinking was working fine for me with kernel
> configurations (CONFIG_VMSPLIT_3G = y and CONFIG_VMSPLIT_2G = y).
> But when I changed my kernel configuration to CONFIG_VMSPLIT_1G=y, I
> find that prelink checking is failed at runtime, because prelink
> expects the libaries to be loaded at 0x41xxxxxx and it is not possible
> to mmap in this address range in 1G/3G configuarion.
> Is this virtual space address layout is fixed in prelink or can it be
> configurable ?
You need to adjust mmap_base setting in arch-arm.c from 0x41000000 to a value that your 1G kernel uses to map shared libraries. AFAICT, there's no configurable setting to adjust this from command line.
--
Maxim Kuvyrkov
KugelWorks