diff options
author | Chris Lattner <sabre@nondot.org> | 2003-08-17 23:20:40 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-08-17 23:20:40 +0000 |
commit | 7540565863c11ae3a65fe1a8159cedc0caf55c07 (patch) | |
tree | f0f7422ae422c9be76a8f92d871df6b86f50b2c1 | |
parent | 57e5a702d0e3c49c67208bf07212c878d34e73ca (diff) | |
download | external_llvm-7540565863c11ae3a65fe1a8159cedc0caf55c07.zip external_llvm-7540565863c11ae3a65fe1a8159cedc0caf55c07.tar.gz external_llvm-7540565863c11ae3a65fe1a8159cedc0caf55c07.tar.bz2 |
Fix ABI issue: Longs really do need to be only 4 byte aligned on X86.
This bug caused miscompilation of programs using 'struct stat', but only if
compiled with support for 64-bit filesystems. This could in theory effect
other things, but only if the LLVM code shared data structures with native code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7928 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86TargetMachine.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp index e3cc880..6a88390 100644 --- a/lib/Target/X86/X86TargetMachine.cpp +++ b/lib/Target/X86/X86TargetMachine.cpp @@ -39,7 +39,8 @@ X86TargetMachine::X86TargetMachine(unsigned Config) (Config & TM::EndianMask) == TM::LittleEndian, (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4, (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4, - (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4), + (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4, + 4, (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4), FrameInfo(TargetFrameInfo::StackGrowsDown, 8/*16 for SSE*/, 4) { } |