[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] Re: BFD relocations
From: |
Daniel Jacobowitz |
Subject: |
Re: [Gcl-devel] Re: BFD relocations |
Date: |
Wed, 5 Jun 2002 21:09:56 -0400 |
User-agent: |
Mutt/1.5.1i |
On Wed, Jun 05, 2002 at 08:21:24PM -0400, Camm Maguire wrote:
> Thanks as always. Forgot two more:
>
> Daniel Jacobowitz <address@hidden> writes:
>
> > On Wed, Jun 05, 2002 at 07:03:51PM -0400, Camm Maguire wrote:
> > > Greetings! Many thanks again!
> > >
> > > This works without problem! Hooray!
> > >
> > > 1) Is it possible to know for sure that a smaller range could be
> > > flushed safely?
> >
> > I believe glibc has an "aux" mechanism to convey this. I don't know
> > how it works, though. Geoff?
> >
> > > 2) Any other machines supported by binutils which require similar
> > > flushing? Assembly instructions?
> >
> > Almost every machine has some requirements here; if x86 does not expose
> > them than that is probably a remnant of its CISC beginnings. You will
> > need to look through glibc's loader code, I expect.
> >
> > > 3) Separately, do you know what the alignment requirements are for
> > > sparc32 user code on a sparc64 system? I'm getting a SIGBUS on
> > > Debian sparc, but the relevant addresses seem to be aligned on 8
> > > byte boundaries, which I thought should be plenty.
> >
> > Probably again a cache issue.
> >
>
> 4) Does cache corruption always result in a signal delivery? -- My
> guess, no. If so, is the only other definitive symptom of missing
> cache flushing unexplained memory corruption, (which itself of
> course is not definitive)?
Exactly. There are no definitive symptoms of missing cache flushes
(although each architecture will tend to have a "usual" behavior).
> 5) On RISC machines, when is cache flushing generally necessary, apart
> from the already identified case of reading in executable code and
> jumping to it from within the program? Why does the write to
> memory on program load not dirty the cache, and instruct the cpu to
> reread from main memory? It would seem that any case of passing
> function pointers around might require a cache flush.
On many RISC systems, and probably many non-RISC, the data cache is not
synchronized to the instruction cache. The icache will not fetch
blocks from the data cache, only direct from main memory. So if it's
in-cache and dirty...
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer
- [Gcl-devel] Re: BFD relocations, Camm Maguire, 2002/06/03
- [Gcl-devel] Re: BFD relocations, Daniel Jacobowitz, 2002/06/03
- Re: [Gcl-devel] Re: BFD relocations, Camm Maguire, 2002/06/04
- Re: [Gcl-devel] Re: BFD relocations, Geoff Keating, 2002/06/04
- Re: [Gcl-devel] Re: BFD relocations, Daniel Jacobowitz, 2002/06/04
- Re: [Gcl-devel] Re: BFD relocations, Camm Maguire, 2002/06/04
- Re: [Gcl-devel] Re: BFD relocations, Daniel Jacobowitz, 2002/06/04
- Re: [Gcl-devel] Re: BFD relocations, Camm Maguire, 2002/06/05
- Re: [Gcl-devel] Re: BFD relocations, Daniel Jacobowitz, 2002/06/05
- Re: [Gcl-devel] Re: BFD relocations, Camm Maguire, 2002/06/05
- Re: [Gcl-devel] Re: BFD relocations,
Daniel Jacobowitz <=
- Re: [Gcl-devel] Re: BFD relocations, Camm Maguire, 2002/06/06
- Re: [Gcl-devel] Re: BFD relocations, Daniel Jacobowitz, 2002/06/07
- Re: [Gcl-devel] Re: BFD relocations, Jason R Thorpe, 2002/06/07
- Re: [Gcl-devel] Re: BFD relocations, Paul Koning, 2002/06/07
- Re: [Gcl-devel] Re: BFD relocations, Camm Maguire, 2002/06/10
- Re: [Gcl-devel] Re: BFD relocations, Daniel Jacobowitz, 2002/06/10
- [Gcl-devel] Flushing the d-cache (was Re: BFD relocations), Camm Maguire, 2002/06/14
- [Gcl-devel] Re: Flushing the d-cache (was Re: BFD relocations), Philip Blundell, 2002/06/14
- Re: [Gcl-devel] Re: Flushing the d-cache (was Re: BFD relocations), Camm Maguire, 2002/06/14
- Re: [Gcl-devel] Re: Flushing the d-cache (was Re: BFD relocations), Philip Blundell, 2002/06/14