From: Alan Modra <amodra@bigpond.net.au>
To: Carlos O'Donell <carlos@baldric.uwo.ca>
Cc: John David Anglin <dave@hiauly1.hia.nrc.ca>,
parisc-linux@lists.parisc-linux.org, tausq@debian.org
Subject: [parisc-linux] Re: OPD's on hppa-linux, and what to do about __cffc's fragility.
Date: Fri, 11 Mar 2005 08:57:51 +1030 [thread overview]
Message-ID: <20050310222751.GE7616@bubble.modra.org> (raw)
In-Reply-To: <20050310153120.GJ22872@baldric.uwo.ca>
On Thu, Mar 10, 2005 at 10:31:20AM -0500, Carlos O'Donell wrote:
> On Wed, Mar 09, 2005 at 08:55:13AM +1030, Alan Modra wrote:
> > No, in an hppa-linux shared lib, a function pointer is accessed via a
> > word with a PLABEL32 reloc on it. This reloc is processed before any
> > code in the shared lib runs, to point to a function descriptor created
> > by _dl_make_fptr.
>
> In shared libraries the function pointer is also allocated a PLT slot
> and an IPLT relocation.
>
> I don't understand the reasons for the allocation of a PLT slot if all
> references generated go through the local label word that has the
> PLABEL32 reloc, which now contains the address returned by
> _dl_make_ftpr.
There probably isn't a good reason. Blame that on me not understanding
what I was doing when dhd and I hacked together ld and glibc hppa-linux
support.
> I'm still trying to understand your earlier recommendation. Do you
> suggest that the executable have PLABEL32 relocs for all the symbols,
> local and global, which assures that _dl_make_fptr creates a unique OPD?
I was really just thinking of global symbols. If ld handles descriptors
for locals, you save on dynamic relocs and program startup time. I
haven't spent a great deal of time thinking about it though, so it's
highly likely that there is some reason why it won't work. eg. You
wouldn't want dynamic plabel relocs to appear in read-only sections.
--
Alan Modra
IBM OzLabs - Linux Technology Centre
_______________________________________________
parisc-linux mailing list
parisc-linux@lists.parisc-linux.org
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
next prev parent reply other threads:[~2005-03-10 22:27 UTC|newest]
Thread overview: 179+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <no.id>
1999-06-10 18:32 ` [parisc-linux] booting problems Stan Sieler
1999-06-21 17:03 ` Hack to head.S John David Anglin
1999-06-21 19:38 ` John David Anglin
2000-10-11 20:11 ` [parisc-linux] __hp9000s700 predefined John David Anglin
2000-11-09 17:39 ` testcase for hppa64 gcc bug John David Anglin
2000-12-06 4:12 ` Jeffrey A Law
2000-12-06 4:14 ` John David Anglin
2000-12-06 5:28 ` Alan Modra
2001-02-01 1:19 ` [parisc-linux] " Jeffrey A Law
2000-11-09 23:57 ` abort in eliminate_regs compiling glob.c from glibc John David Anglin
2000-11-10 0:36 ` Alan Modra
2000-11-10 2:50 ` John David Anglin
2000-11-14 21:40 ` John David Anglin
2001-01-27 20:12 ` Richard Henderson
2000-12-14 0:48 ` pa reload problem John David Anglin
2000-12-14 3:43 ` Jeffrey A Law
2000-12-14 16:40 ` John David Anglin
2000-12-27 20:08 ` Jeffrey A Law
2000-12-28 5:18 ` John David Anglin
2000-12-16 20:38 ` [parisc-linux] PATCH: Adjust label usage count for new insns [was Re: pa reload problem] John David Anglin
2001-01-02 9:51 ` Jeffrey A Law
2002-01-07 18:39 ` [parisc-linux] PIC assembly John David Anglin
2002-01-09 1:05 ` Grant Grundler
2002-01-11 20:45 ` Grant Grundler
2002-07-15 17:21 ` [parisc-linux] compiling kernels with gcc-3.1 John David Anglin
2002-07-15 17:32 ` Randolph Chung
2002-07-15 17:43 ` Matthew Wilcox
2002-07-15 18:18 ` John David Anglin
2002-07-16 9:02 ` joel.soete
2002-07-16 17:01 ` [parisc-linux] gcc-3.[02] alignment problem John David Anglin
2002-07-16 17:01 ` John David Anglin
2002-07-16 17:22 ` Randolph Chung
2002-07-16 17:22 ` Randolph Chung
2002-07-16 17:24 ` Matthew Wilcox
2002-07-16 17:24 ` Matthew Wilcox
2002-07-17 3:19 ` Randolph Chung
2002-07-17 3:19 ` Randolph Chung
2002-07-16 20:21 ` Richard Henderson
2002-07-16 20:21 ` Richard Henderson
2002-07-16 17:27 ` [parisc-linux] gcc-3.2 bootstrap? John David Anglin
2003-01-31 21:27 ` [parisc-linux] PATCH hppa ordered load absolute ops John David Anglin
2003-01-31 21:27 ` John David Anglin
2003-08-31 19:10 ` [parisc-linux] Re: [glibc] tststatic failues, reduced to simp le testcase John David Anglin
2003-08-31 20:22 ` Carlos O'Donell
2003-08-31 20:47 ` John David Anglin
2003-09-01 6:05 ` Carlos O'Donell
2003-12-15 22:05 ` [parisc-linux] dlopen failed on 'libthread_db.so.1' - /lib/libthread_db.so.1: undefined symbol: ps_pglobal_lookup John David Anglin
2003-12-17 15:32 ` [parisc-linux] " Carlos O'Donell
2003-12-17 15:53 ` Carlos O'Donell
2003-12-17 16:43 ` [parisc-linux] Re: dlopen failed on 'libthread_db.so.1' - John David Anglin
2003-12-17 18:35 ` Carlos O'Donell
2003-12-18 0:21 ` John David Anglin
2003-12-18 0:32 ` John David Anglin
2003-12-18 0:42 ` [parisc-linux] Re: dlopen failed on 'libthread_db.so.1' -g John David Anglin
2004-01-07 21:14 ` [parisc-linux] [Testers wanted] New glibc with profiling fixed John David Anglin
2004-01-07 21:14 ` John David Anglin
2004-08-31 4:23 ` [parisc-linux] Re: linux signal race fixes, patches against hppa tree, please test John David Anglin
2004-08-31 20:43 ` [parisc-linux] Re: linux signal race fixes, patches against hppa tree, please te John David Anglin
2004-09-01 20:08 ` John David Anglin
2004-09-11 7:24 ` [parisc-linux] Another SIGSEGV, this time in /bin/sh John David Anglin
2004-09-13 15:01 ` [parisc-linux] " Carlos O'Donell
2004-09-02 6:29 ` [parisc-linux] Re: linux signal race fixes, patches against hppa tree, please te Carlos O'Donell
2005-03-05 21:53 ` [parisc-linux] Re: Comments? John David Anglin
2005-03-06 0:22 ` John David Anglin
2005-03-08 17:32 ` Carlos O'Donell
2005-03-08 17:44 ` John David Anglin
2005-03-08 17:54 ` Carlos O'Donell
2005-03-08 19:02 ` John David Anglin
2005-03-08 21:08 ` [parisc-linux] OPD's on hppa-linux, and what to do about __cffc's fragility Carlos O'Donell
2005-03-08 21:48 ` [parisc-linux] " John David Anglin
2005-03-08 21:52 ` John David Anglin
2005-03-08 22:25 ` Alan Modra
2005-03-10 15:31 ` Carlos O'Donell
2005-03-10 22:27 ` Alan Modra [this message]
2005-03-11 18:05 ` [parisc-linux] Solution to OPD's in hppa-linux, including a transition plan? Carlos O'Donell
2005-03-12 0:49 ` [parisc-linux] " John David Anglin
[not found] ` <20050315220842.GC22872@baldric.uwo.ca>
[not found] ` <20050315224142.GC21148@bubble.modra.org>
2005-03-16 20:36 ` Carlos O'Donell
2005-03-16 23:54 ` Alan Modra
[not found] ` <200503160410.j2G4ALcu021219@hiauly1.hia.nrc.ca>
2005-03-16 21:37 ` Carlos O'Donell
2005-03-17 3:51 ` John David Anglin
2005-07-16 2:55 ` [parisc-linux] Re: Non-inline math, and inline math broken, GCC to blame? (1 hppa tls toolchain regression) John David Anglin
2005-07-16 16:16 ` Carlos O'Donell
2005-07-16 17:37 ` John David Anglin
2005-07-16 17:54 ` John David Anglin
2005-07-16 19:41 ` Carlos O'Donell
2005-07-16 19:56 ` John David Anglin
2005-07-16 19:15 ` Carlos O'Donell
2005-08-16 3:32 ` [parisc-linux] Re: gsyprf11 and 2.6.13-rc3-pa1 John David Anglin
2005-12-26 19:58 ` [parisc-linux] strtold John David Anglin
2006-01-07 21:07 ` [parisc-linux] strtold Carlos O'Donell
2006-01-07 22:41 ` John David Anglin
2006-01-07 23:42 ` Carlos O'Donell
2006-01-07 23:49 ` John David Anglin
2006-01-07 23:56 ` John David Anglin
2006-01-08 4:28 ` Grant Grundler
2005-12-26 21:54 ` [parisc-linux] Re: nscd: error while loading shared libraries: unexpected reloc type 0x42 John David Anglin
2006-01-07 23:53 ` Carlos O'Donell
2006-01-08 0:16 ` [parisc-linux] Re: nscd: error while loading shared libraries: John David Anglin
2006-02-04 23:41 ` [parisc-linux] long double on hppa64-*-linux* John David Anglin
2006-02-05 0:45 ` Grant Grundler
2006-02-05 3:42 ` John David Anglin
2006-03-12 20:15 ` [parisc-linux] Re: gcj can't make shared libs on hppa John David Anglin
2006-03-13 14:24 ` Carlos O'Donell
2006-03-13 20:50 ` John David Anglin
2006-06-09 0:56 ` [parisc-linux] User space locks -- what's wrong John David Anglin
2007-01-03 1:41 ` [parisc-linux] Re: PA8800 Status (Happy New Year) John David Anglin
2007-01-03 4:24 ` John David Anglin
2007-02-17 20:32 ` [parisc-linux] Re: call_init in libc6 2.3.6.ds1-11 John David Anglin
2007-09-04 1:19 ` [parisc-linux] 2.6.23-rc5 warnings John David Anglin
2008-08-23 16:48 ` X won't start with VisEG and 2.6.22.19 John David Anglin
2008-08-24 10:35 ` Helge Deller
2008-08-24 14:09 ` John David Anglin
2008-08-24 14:38 ` Helge Deller
2009-05-03 0:48 ` Kernel Panic during init with 2.6.29-gb609308 (fresh clone of git John David Anglin
2009-08-23 21:21 ` Reproducible random python crash John David Anglin
2009-12-23 22:18 ` futex wait failure John David Anglin
2009-12-24 2:22 ` Carlos O'Donell
2009-12-28 18:59 ` John David Anglin
2009-12-29 13:47 ` Helge Deller
2009-12-29 15:00 ` John David Anglin
2009-12-30 10:49 ` Randolph Chung
2009-12-31 18:14 ` Carlos O'Donell
2009-12-31 19:11 ` Helge Deller
2010-01-01 3:49 ` John David Anglin
2010-01-01 5:02 ` John David Anglin
2010-01-04 16:27 ` Helge Deller
2010-01-04 17:16 ` Carlos O'Donell
2010-01-04 18:11 ` John David Anglin
2010-01-04 18:29 ` John David Anglin
2010-01-04 20:51 ` Helge Deller
2010-01-04 21:39 ` John David Anglin
2010-01-05 22:27 ` John David Anglin
2010-01-06 23:33 ` John David Anglin
2010-01-07 16:13 ` Helge Deller
2010-01-08 16:37 ` John David Anglin
2010-01-08 21:17 ` John David Anglin
2010-02-02 21:16 ` Helge Deller
2010-02-03 3:44 ` John David Anglin
2010-02-03 22:03 ` Helge Deller
2010-03-07 17:12 ` John David Anglin
2010-03-07 20:32 ` John David Anglin
2010-03-11 3:20 ` John David Anglin
2010-03-11 13:54 ` Kyle McMartin
2010-03-11 22:40 ` John David Anglin
2010-03-11 23:32 ` John David Anglin
2010-03-13 2:06 ` John David Anglin
2010-03-15 1:10 ` John David Anglin
2010-03-16 11:49 ` Carlos O'Donell
2010-03-21 18:19 ` John David Anglin
2010-03-22 14:26 ` Carlos O'Donell
2010-03-23 21:32 ` Carlos O'Donell
2010-03-23 22:23 ` John David Anglin
2010-02-03 22:44 ` Carlos O'Donell
2010-01-08 21:18 ` Helge Deller
2010-01-08 21:43 ` John David Anglin
2010-01-08 21:44 ` Carlos O'Donell
2010-01-08 21:44 ` Carlos O'Donell
2010-01-08 21:56 ` Kyle McMartin
2010-01-08 22:28 ` John David Anglin
2010-01-08 22:33 ` Kyle McMartin
2010-01-08 22:31 ` John David Anglin
2010-01-16 23:17 ` Helge Deller
2010-01-18 15:50 ` John David Anglin
2010-01-18 20:44 ` John David Anglin
2010-01-18 20:49 ` Carlos O'Donell
2010-01-29 17:53 ` Carlos O'Donell
2010-01-31 21:14 ` Helge Deller
2010-01-01 0:26 ` John David Anglin
2010-02-01 12:58 ` Carlos O'Donell
2010-02-01 15:47 ` John David Anglin
2010-02-01 19:02 ` Helge Deller
2010-02-01 19:11 ` John David Anglin
2010-02-01 21:36 ` Carlos O'Donell
2010-01-04 17:32 ` John David Anglin
2010-01-04 18:02 ` Carlos O'Donell
2010-01-04 18:22 ` John David Anglin
2010-01-04 21:24 ` Helge Deller
2009-12-31 22:38 ` John David Anglin
2010-01-01 0:36 ` John David Anglin
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=20050310222751.GE7616@bubble.modra.org \
--to=amodra@bigpond.net.au \
--cc=carlos@baldric.uwo.ca \
--cc=dave@hiauly1.hia.nrc.ca \
--cc=parisc-linux@lists.parisc-linux.org \
--cc=tausq@debian.org \
/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