This is the mail archive of the
mailing list for the glibc project.
Re: Question about the highly optimized aspects of libc implementation
- From: Siddhesh Poyarekar <siddhesh dot poyarekar at gmail dot com>
- To: Will Hawkins <whh8b at virginia dot edu>
- Cc: Florian Weimer <fweimer at redhat dot com>, libc-help <libc-help at sourceware dot org>
- Date: Mon, 4 Dec 2017 13:42:42 +0530
- Subject: Re: Question about the highly optimized aspects of libc implementation
- Authentication-results: sourceware.org; auth=none
- References: <CAE+MWFsT5vu4yW0zDKgyinZky=2s-i2wzK7N-fnKuQP0kGQ_Bw@mail.gmail.com> <email@example.com> <CAE+MWFuN091txG2F-eTQ=wi_bL7GhWALoJhNoThUYMzg5s7-zQ@mail.gmail.com>
On 4 December 2017 at 06:45, Will Hawkins <firstname.lastname@example.org> wrote:
> Are there any places where, I know this sounds crazy, but functions
> are invoked with push/jump (or straight jumps) because, for instance
> they are tail calls or somehow the return address is known statically?
That's not uncommon - ancillary memcpy functions (such as mempcpy,
__memcpy_chk) get implemented that way and I'm sure there are other
such routines in there.