Re: [PATCH] gcc4: Add 'asm goto' miscompilation quirk

From: Ingo Molnar
Date: Thu Oct 10 2013 - 04:45:47 EST



* Jakub Jelinek <jakub@xxxxxxxxxx> wrote:

> On Thu, Oct 10, 2013 at 10:24:30AM +0200, Ingo Molnar wrote:
> > Something like the patch below? (Totally untested and all that.)
> >
> > Notes:
> >
> > - If the bug is fixed in 4.8.3 then the version check can be sharpened
> > from 99999 to 40803.
>
> The bug is likely going to be fixed already for 4.8.2 (to be released
> next week or so).
>
> > - I'd really prefer this quirk versus having to add the extra barrier to
> > the label, as it makes the actual usage sites a lot less painful.
>
> Please check how much it bloats the generated code.

on Linus's latest tree plain 'asm goto' is only rarely used, so the size
impact of the patch, on x86-64 defconfig, is zero:

vmlinux:
text data bss dec hex filename
11166823 1448024 1187840 13802687 d29cbf vmlinux.before
11166823 1448024 1187840 13802687 d29cbf vmlinux.after
1f7c3c1fd71b4b1327965bcfbc7a77fb vmlinux.before
3b246add801bc170e47096b712942395 vmlinux.after

Using GCC 4.8.1.

> Also, for the bitops patch, you probably want an asm_volatile_goto variant.

Also, for mutex_64.h - good point, will fix that.

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/