At 16:00 +0000 on 07 Mar (1299513606), Keir Fraser wrote:
> On 07/03/2011 15:56, "Tim Deegan" <Tim.Deegan@xxxxxxxxxx> wrote:
>
> > At 15:38 +0000 on 07 Mar (1299512321), Tim Deegan wrote:
> >> At 15:15 +0000 on 07 Mar (1299510944), Keir Fraser wrote:
> >>> On 07/03/2011 15:05, "Keir Fraser" <keir.xen@xxxxxxxxx> wrote:
> >>>
> >>> Like the attached patch (against latest tip).
> >>
> >> Sorry, I had missed that other user. I'll see if I can find a way to
> >> make clang use the function address directly; if not, I'd be inclined to
> >> have dump_execution_state have its own ID anyway, to keep %rax valid(er)
> >> in BUG()s.
> >
> > Turns out to be very straightforward: another level of indirection makes
> > the parser happy. If it's OK with you, I'll revert 22987:3147f2d1c6fb
> > and apply this instead:
>
> If you've successfully both build- and run-tested it with gcc then it's fine
> with me. It needs testing as it's a moderately skanky construct in the first
> place.
I have, and at least with 64bit gcc 4.4.5 dump_execution_state() still
works fine. :)
Tim.
> -- Keir
>
> > diff -r 3147f2d1c6fb xen/include/asm-x86/bug.h
> > --- a/xen/include/asm-x86/bug.h Mon Mar 07 15:47:59 2011 +0000
> > +++ b/xen/include/asm-x86/bug.h Mon Mar 07 15:48:32 2011 +0000
> > @@ -22,7 +22,7 @@ struct bug_frame {
> > asm volatile ( \
> > "ud2 ; ret %0" BUG_STR(1) \
> > : : "i" (BUGFRAME_run_fn), \
> > - "i" (fn) )
> > + "i" (&(fn)) )
> >
> > #define WARN() \
> > asm volatile ( \
> >
> > Cheers,
> >
> > Tim.
>
>
--
Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Principal Software Engineer, Xen Platform Team
Citrix Systems UK Ltd. (Company #02937203, SL9 0BG)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|