diff options
| author | Ian Stakenvicius <axs@gentoo.org> | 2015-12-15 12:05:11 -0500 |
|---|---|---|
| committer | Ian Stakenvicius <axs@gentoo.org> | 2015-12-15 12:05:36 -0500 |
| commit | 9236cac3ad29a31f428157026801827d58c3b8a3 (patch) | |
| tree | 7ec9fb6009adccd733c604fe6fc60b8601f5a989 /dev-lang/python/python-3.4.3.ebuild | |
| parent | 0280d4a259b2cb4393da0fb377422a667e611d73 (diff) | |
| download | gentoo-9236cac3ad29a31f428157026801827d58c3b8a3.tar.gz gentoo-9236cac3ad29a31f428157026801827d58c3b8a3.tar.bz2 gentoo-9236cac3ad29a31f428157026801827d58c3b8a3.zip | |
sys-boot/grub:0 - Properly fix misoptimization by -fcombine-stack-adjustmemts (gcc-4.9+)
GCC assumes that it can combine stacks from outer "grub_stage2()"
and inner trampoline "doit()" functions (optimisation -fcombine-stack-adjustments).
But doit() function clobbers %esp in inline assebly statement as:
asm volatile ("movl %%esp, %0\n\tmovl %1, %%esp\n"
: "=&r" (realstack) : "r" (simstack));
which tricks gcc into computing invalid local variable offsets from current %esp value.
Fix by hinting gcc about %esp change in clobber list.
Thanks to slyfox for his debugging and patch! This properly fixes bug 564890, allowing
for the -O0 hack to be removed.
Package-Manager: portage-2.2.24
Diffstat (limited to 'dev-lang/python/python-3.4.3.ebuild')
0 files changed, 0 insertions, 0 deletions
