diff options
author | dim <dim@FreeBSD.org> | 2013-02-15 23:12:58 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2013-02-15 23:12:58 +0000 |
commit | ff49b0d5878fa588874022dc953f5d74e1056213 (patch) | |
tree | 6b94b8e4909b082a6070e389b63947decb6c68f8 /lib/libc | |
parent | 62a21e98adbed0abb1b8dc22cdae0e111277b466 (diff) | |
download | FreeBSD-src-ff49b0d5878fa588874022dc953f5d74e1056213.zip FreeBSD-src-ff49b0d5878fa588874022dc953f5d74e1056213.tar.gz |
Pull in r175057 from upstream llvm trunk:
X86: Disable generation of rep;movsl when %esi is used as a base pointer.
This happens when there is both stack realignment and a dynamic alloca in the
function. If we overwrite %esi (rep;movsl uses fixed registers) we'll lose the
base pointer and the next register spill will write into oblivion.
Fixes PR15249 and unbreaks firefox on i386/freebsd. Mozilla uses dynamic allocas
and freebsd a 4 byte stack alignment.
MFC after: 1 week
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions