Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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.