This is the mail archive of the
mailing list for the GCC project.
Re: powerpc-ibm-aix220.127.116.11 bootstrap issue
- To: David Edelsohn <dje at watson dot ibm dot com>
- Subject: Re: powerpc-ibm-aix18.104.22.168 bootstrap issue
- From: Richard Henderson <rth at redhat dot com>
- Date: Wed, 24 Oct 2001 16:20:29 -0700
- Cc: mike stump <mrs at windriver dot com>, aoliva at redhat dot com, grahams at redhat dot com, gcc at gcc dot gnu dot org, john at feith dot com
- References: <email@example.com> <200110242159.RAA23120@makai.watson.ibm.com>
On Wed, Oct 24, 2001 at 05:59:59PM -0400, David Edelsohn wrote:
> The debugger requires non-shareable copies of text (executable,
> shared libraries, etc.) in order to set breakpoints. The copies may shift
> the data layout of the process.
Ug. A broken OS.
I repeat my assertion that nothing *should* change. Most sane
operating systems can manage to copy-on-write those portions of
the shared libraries in which breakpoints are set.
AIX of course uses that segment based shared page table thing
for the system shared library segment. Which is nice under normal
circumstances, but lousy when debugging. IMO what ought to happen
is that ptrace(PTRACE_POKETEXT) (or whatever AIX uses) should not
only COW the shared library page, but also COW the page tables for
the entire segment and swap out the relevant page table register.
A vain hope, I know.
> Even without the debugger involvement, the address-based hash
> prevents deterministically repeatable behavior from GCC if the storage
> layout of the executable is changed by relinking.
Or when cross compiled. I agree.
Anyhow, didn't the fix get acked?