Linux PARISC architecture development
 help / color / mirror / Atom feed
From: David Huggins-Daines <dhd@linuxcare.com>
To: Cary Coutant <cary@cup.hp.com>
Cc: <parisc-linux@thepuffingroup.com>, "Alan Modra" <alan@linuxcare.com.au>
Subject: Re: [parisc-linux] userspace function pointers in the kernel
Date: 12 Sep 2000 23:27:18 -0400	[thread overview]
Message-ID: <87its1km3t.fsf@linuxcare.com> (raw)
In-Reply-To: Cary Coutant's message of "Tue, 12 Sep 2000 18:05:38 -0700"

Cary Coutant <cary@cup.hp.com> writes:

> I can't say for sure how Linux/IA-64 uses the .opd section, but the 
> runtime and the psABI recommend that the "official" function descriptors 
> be created by the dynamic loader as needed in response to dynamic FPTR 
> relocations.

Ah, okay, that makes sense.  This is what Linux/IA-64 does - dynamic
FPTR relocations result in OFDs being created dynamically (always, for
both local and global symbols).  And yes, the code in GNU libc does
ensure that they are mapped one-to-one with symbols in each process.

As mentioned earlier we have been trying to decide whether to do this
on PA-RISC as well.  Originally I threw it in so that (you guessed it)
comparisons of function pointers with NULL would work properly :-)

But as Alan says, it looks like we need it for other reasons as well.

> One way of avoiding the dynamic allocation by the dynamic loader is for 
> the linker to allocate OFDs statically for each exported function, and 
> for each hidden or static function whose address is taken.

Hm.  I'm not nearly as familiar with the linker code as I am with the
dynamic linker code, so I'm not sure what it does.  But, as noted
above, GNU libc does dynamic allocation, so it's probably not relevant.

-- 
dhd@linuxcare.com, http://www.linuxcare.com/
Linuxcare. Support for the revolution.

  reply	other threads:[~2000-09-13  3:40 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-09-13  1:05 [parisc-linux] userspace function pointers in the kernel Cary Coutant
2000-09-13  3:27 ` David Huggins-Daines [this message]
2000-09-13  4:06   ` Alan Modra
2000-09-13 22:04     ` Function descriptors, etc. (was Re: [parisc-linux] userspace function pointers in the kernel) David Huggins-Daines
2000-09-14  0:22       ` Alan Modra
  -- strict thread matches above, loose matches on Subject: below --
2000-09-13 17:11 [parisc-linux] userspace function pointers in the kernel Cary Coutant
2000-09-14  0:32 ` Alan Modra
     [not found] <873dj5mfmb.fsf@linuxcare.com>
2000-09-13  0:59 ` Alan Modra
2000-09-12 20:54 Cary Coutant
2000-09-12 21:22 ` David Huggins-Daines
2000-09-13  0:23   ` Alan Modra
2000-09-12 20:12 David Huggins-Daines

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87its1km3t.fsf@linuxcare.com \
    --to=dhd@linuxcare.com \
    --cc=alan@linuxcare.com.au \
    --cc=cary@cup.hp.com \
    --cc=parisc-linux@thepuffingroup.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox