Re: [PATCH 01/11] ftrace: handle generic arch calls

From: Sam Ravnborg
Date: Wed Oct 29 2008 - 15:53:37 EST


On Wed, Oct 29, 2008 at 03:24:19PM -0400, Steven Rostedt wrote:
>
> On Wed, 29 Oct 2008, Sam Ravnborg wrote:
> > >
> > > +if ($arch eq "x86") {
> > > + if ($bits == 64) {
> > > + $arch = "x86_64";
> > > + } else {
> > > + $arch = "i386";
> > > + }
> > > +}
> > > +
> > > if ($arch eq "x86_64") {
> > > $section_regex = "Disassembly of section";
> > > $function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:";
> > >
> >
> > This looks strange to my eyes.
> > Why not do the more obvious:
> > if ($arch eq "x86" && $bits == 64) {
> >
> > The change above is like trying to stick to the old i386/x86_64
> > notation.
>
> Trying to fix it tells me my answer to why I did it his way ;-)
>
> I have queued patches that will support other archs so x86 is not the
> only arch that can be used here. But x86 is special, it seems to be the
> only arch (that I know of, correct me if I'm wrong) that can compile with
> multiple archs defined: make ARCH=x86_64, make ARCH=i386, or
> make ARCH=x86. All are legit.
>
> Now how do we handle this. I've been fine for all my testing to do just
> x86_64 and i386 because a normal make of x86 will use automatically set
> ARCH to i386 or x86_64 depending on the build.
>
> But then Adrian Bunk pointed out that "make ARCH=x86" fails. Now I need to
> add a case for x86, but still allow for x86_64 or i386 being passed in.
>
> Since x86 is the ambiguous case, I made it the one that would be converted
> to i386 or x86_64 since those could be passed in directly.
The trick is usually to replace use of ARCH with SRCARCH.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/