Subject: Re: CVS commit: src/libexec/ld.elf_so/arch/powerpc
To: Charles M. Hannum <>
From: Bill Studenmund <>
List: tech-userlevel
Date: 09/29/2005 14:30:36
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 26, 2005 at 02:33:52PM +0000, Charles M. Hannum wrote:
> On Monday 26 September 2005 05:45, Chuck Silvers wrote:
> > Module Name:	src
> > Committed By:	chs
> > Date:		Mon Sep 26 05:45:13 UTC 2005
> >
> > Modified Files:
> > 	src/libexec/ld.elf_so/arch/powerpc: ppc_reloc.c
> >
> > Log Message:
> > fix two problems with icache invalidation of the PLT:
> >  - restore revision 1.33, it was correct.
> It took me a few minutes to refresh myself on what's going on here, but...
> No, it is *not* correct.  Please take the time to understand the PLT form=
> before messing with it.
> On PPC, the PLT area is split into two sections: the first contains code,=
> is actually 8 or 16 bytes per entry; the second contains pointers, and do=
> not need to be synced.  The 8 vs. 16 split happens if the PLT is larger t=
> 8192 entries.
> I have to admit that I'm not completely sure if the "large PLT" support d=
> the right arithmetic -- I never got clear documentation on the format -- =
> the basic deal of only flushing 8 (or 16) bytes is definitely correct, an=
> should not have been changed.
> Please revert it and add a comment for the next person who is going to sc=
> it up.  I believe Matt Thomas is the one who clued me into this the first=
> time around.

Then I think we are left with a problem. A previous thread on=20
tech-userlevel indicated that this change (well, the patch Chuck sent out=
which led to this change) fixed build issues for at least one user. So if=
this fix is not right, then we have a problem that it masks. :-|

Take care,


Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.2.3 (NetBSD)