|
|
Message-ID: <CALzRTRnqJ+oRs=4n=jvJprDTvbaTGiT07BwS50xvWBufQSNQyA@mail.gmail.com>
Date: Mon, 27 Jun 2016 14:33:53 -0700
From: Daniel Wilkerson <daniel.wilkerson@...il.com>
To: musl@...ts.openwall.com
Cc: Mark Winterrowd <markwinterrowd4@...il.com>
Subject: Re: request for help with aux
Ah, thank you. From that page:
This function is a nonstandard glibc extension.
And:
The primary consumer of the information in the auxiliary vector is
the dynamic linker ld-linux.so(8). The auxiliary vector is a
convenient and efficient shortcut that allows the kernel to
communicate a certain set of standard information that the dynamic
linker usually or always needs. In some cases, the same information
could be obtained by system calls, but using the auxiliary vector is
cheaper.
It seems therefore that if I am doing static linking that it is safe
to simply provide an empty aux vector?
Daniel
On Mon, Jun 27, 2016 at 2:00 PM, Bobby Bingham <koorogi@...rogi.info> wrote:
> On Mon, Jun 27, 2016 at 01:07:59PM -0700, Daniel Wilkerson wrote:
>> This seems to initalize aux to be all zeros, so it seems that in
>> theory all of the aux values could be optional:
>>
>> size_t i, *auxv, aux[AUX_CNT] = { 0 };
>>
>> What I'm wondering is where to find the semantics of all of the aux
>> names; I could hunt through all of the code, but any high-level
>> suggestions you could provide could help a lot. As a bonus, which
>> ones might not have sensible defaults and are actually non-optional,
>> if any.
>
> The getauxval man page is a good starting point:
> http://man7.org/linux/man-pages/man3/getauxval.3.html
>
> --
> Bobby
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.