[llvm-dev] llc generating code that writes below the stack pointer on darwin/x86-64

Jonas Maebe via llvm-dev llvm-dev at lists.llvm.org
Sun Nov 13 12:20:31 PST 2016


On 13/11/16 18:48, Stephen Checkoway wrote:
>
>> On Nov 13, 2016, at 11:12, Jonas Maebe via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>
>> This code use a negative stack offset, which is forbidden on x86-64 (there's no red zone). This happens with llc from llvm 3.7, 3.8 and 3.9.
>
> Doesn't Darwin use the System V ABI [1]? As I understand it, there's a 128-byte red zone on x86-64.

You're right, sorry. I got a crash in this routine, saw the negative 
stack offset, quickly searched to check whether there was a red zone, 
and from a summary of a found page assumed there wasn't, but the quoted 
section was about the Win64 ABI.

I'll have to look further to determine what caused the actual crash.

Thanks,


Jonas



More information about the llvm-dev mailing list