Re: [tip:x86/asm] x86-64: Add CFI annotations to lib/rwsem_64.S

From: Ingo Molnar
Date: Tue Mar 01 2011 - 05:37:22 EST



* Jan Beulich <JBeulich@xxxxxxxxxx> wrote:

> >>> On 01.03.11 at 09:56, Ingo Molnar <mingo@xxxxxxx> wrote:
>
> > * Jan Beulich <JBeulich@xxxxxxxxxx> wrote:
> >
> >> >>> On 28.02.11 at 19:26, Ingo Molnar <mingo@xxxxxxx> wrote:
> >>
> >> > * tip-bot for Jan Beulich <JBeulich@xxxxxxxxxx> wrote:
> >> >
> >> >> Commit-ID: 39f2205e1abd1b6fffdaf45e1f1c3049a5f8999c
> >> >> Gitweb:
> >> > http://git.kernel.org/tip/39f2205e1abd1b6fffdaf45e1f1c3049a5f8999c
> >> >> Author: Jan Beulich <JBeulich@xxxxxxxxxx>
> >> >> AuthorDate: Mon, 28 Feb 2011 15:31:59 +0000
> >> >> Committer: Ingo Molnar <mingo@xxxxxxx>
> >> >> CommitDate: Mon, 28 Feb 2011 18:06:21 +0100
> >> >>
> >> >> x86-64: Add CFI annotations to lib/rwsem_64.S
> >> >>
> >> >> These weren't part of the initial commit of this code.
> >> >>
> >> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
> >> >> Cc: Alexander van Heukelum <heukelum@xxxxxxxxxxx>
> >> >> LKML-Reference: <4D6BCDFF02000078000341B0@xxxxxxxxxxxxxxxxxx>
> >> >> Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
> >> >> ---
> >> >> arch/x86/lib/rwsem_64.S | 56 ++++++++++++++++++++++++++++------------------
> >> >> 1 files changed, 34 insertions(+), 22 deletions(-)
> >> >
> >> > this change breaks the UML build:
> >> >
> >> > tip/arch/um/sys-x86_64/../../x86/lib/rwsem_64.S:46: Error: no such
> >> > instruction: `pushq_cfi %rdi'
> >>
> >> Any reason why arch/um/Kconfig.x86 has X86_32 but not
> >> X86_64? That's resulting in asm/dwarf2.h producing the 32-bit
> >> (pushl_cfi & Co) macros instead of the 64-bit ones. And I
> >> wonder what other inconsistencies this may cause...
> >
> > No idea - UML seems stale. I've Cc:-ed Jeff Dike just in case.
> >
> >> If this is on purpose (i.e. simply adding X86_64 as a new config
> >> option there isn't the right solution), what would be the preferred
> >> way of fixing this in asm/dwarf2.h:
> >> - #ifndef CONFIG_X86_32,
> >> - #ifdef CONFIG_64BIT,
> >> - yet something else?
> >
> > You could try it out - UML isnt that hard to build: "make ARCH=um" and then
> > run the
> > resulting binary. It will produce bootup messages then fails when mounting
> > root.
> > That's enough of a build & functionality test.
>
> That wasn't my question. What I wanted to know was, if adding
> X86_64 to UML's Kconfig.x86 isn't acceptable for some reason,
> whether any of the possible alternative forms would be preferred
> (all of them should work).

It's probably fine as long as you test a basic UML build+boot sequence. (I described
how to do that)

> Anyway, I'll wait for Jeff's response on whether adjusting the
> UML file is going to be acceptable.

Please submit the proposed fix so that we can unbreak x86/asm ASAP. If there's a
better solution suggested by Jeff or others we can still do that as well.

> Will you want a re-submission or an incremental fix?

Incremental fix would be nice.

Thanks,

Ingo
--
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/