[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20130807043807.GV19750@two.firstfloor.org>
Date: Wed, 7 Aug 2013 06:38:07 +0200
From: Andi Kleen <andi@...stfloor.org>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Andi Kleen <andi@...stfloor.org>, linux-kernel@...r.kernel.org,
Andi Kleen <ak@...ux.intel.com>, wim@...ana.be
Subject: Re: [PATCH] lto, watchdog/hpwdt.c: Make assembler label global
On Tue, Aug 06, 2013 at 01:51:18PM -0700, Andrew Morton wrote:
> On Mon, 5 Aug 2013 15:16:39 -0700 Andi Kleen <andi@...stfloor.org> wrote:
>
> > We cannot assume that the inline assembler code always ends up
> > in the same file as the original C file.
>
> um, why not? You put an asm(".text\n...") into a .c file and you
> expect that assembly code to be emitted into the .s file then assembled
> into the .o file.
>
> Obviously something somewhere is doing something unexpected. Much more
> detail needed, please.
Sorry this is an extract from my larger LTO patchkit. I didn't fully
adapt the description.
With LTO (yes Link Time Optimization) the compiler repartitions the
individual definitions into new files, so yes the assembler statement
and the rest of the file can end up separated.
> Also... what's "lto"? Link Time Optimization? It's unclear how this
> fits into that. Please provide that additional background info in these
> patches so that others know what's going on and so that others (such as
> me) can help people avoid making these mistakes in the future.
I catch them by fixing compiler errors in my whole tree (well not
all, only the ones that happen in my setup)
https://github.com/andikleen/linux-misc/commits/lto-3.11
There's much more there, I'm currently just trying extract
some patches and make my pile smaller.
-Andi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists