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 /www-client/qupzilla | |
parent | dev-python/numpy: Version Bump (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 'www-client/qupzilla')
0 files changed, 0 insertions, 0 deletions