|
From: Tom H. <to...@co...> - 2005-06-22 13:09:27
|
In message <200...@ac...>
Julian Seward <js...@ac...> wrote:
> * PIE is helpful, but not essential, for running Valgrind on
> Valgrind. The alternative is change the hardwired
> stage2 load address for the outer valgrind by hand, which is
> a minor burden for V developers and then only those playing
> self-hosting games.
It's helpful as Paul says in that it allows us to give the maximum
possible space to the client on 32 bit systems. With a fixed load
address there are two problems that arise:
- If the user/kernel boundary is higher than expected then
some space that could be given to the client is wasted. Your
planned address space management changes may avoid this.
- If the user/kernel boundary is higher than expected then
valgrind may fail to load because the fixed load address
is in kernel space.
> * Tom -- you said that PIE was necessary for using large
> address spaces with memcheck on your amd64 distros. Is
> that still the case? Could you clarify this?
That is largely based on this comment (your's I think) in the
configure script:
# XXX: relocations under amd64's "small model" are 32-bit signed
# quantities; therefore going above 0x7fffffff doesn't work... this is
# a problem.
KICKSTART_BASE="0x70000000"
If we have to keep KICKSTART_BASE that low on amd64 then the client
gets even less space that on most x86 systems unless PIE is used.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|