Messages in this thread | | | Date | Sun, 2 Aug 2009 22:25:22 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH] basic perf support for sparc |
| |
* David Miller <davem@davemloft.net> wrote:
> From: Jens Axboe <jens.axboe@oracle.com> > Date: Wed, 29 Jul 2009 13:25:10 +0200 > > > -#define NR_SYSCALLS 327 > > +#define NR_SYSCALLS 328 > > When you increase this value, you have to add entries to all of > the syscall tables. The syscall dispatch checks against this as a > limit, so if you don't explicitly add an entry to all the tables, > it's possible to deref garbage past the end of the table and try > to jump to it as a syscall. > > And if you somehow arrange for adding a compat syscall entry here > for this, and build the perf tools 32-bit, you can forego all of > these rediculious issues with trying to get a 64-bit BFD library. > If the perf tools are written portably and use types like u64 etc. > for holding addresses and similar things, this should not be an > issue. > > The 32-bit sparc BFD library has full support for all the 64-bit > binary formats and whatnot.
That would work too. On x86 perf works all across the compatibility spectrum, and we do use strict u32/u64 typing and ABIs.
Note that we'll also solve (remove) the binutils-devel dependency, it creates a way too large set of external build constraints for perf. But in any case both 32-bit and 64-bit perf should work just fine.
Ingo
| |