Fix ABI issue: Longs really do need to be only 4 byte aligned on X86.
authorChris Lattner <sabre@nondot.org>
Sun, 17 Aug 2003 23:20:40 +0000 (23:20 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 17 Aug 2003 23:20:40 +0000 (23:20 +0000)
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

lib/Target/X86/X86TargetMachine.cpp

index e3cc88078cfe63204fc4257b3dbf946b710e4256..6a88390963c714fdd02727ecbd5b25238de5ead9 100644 (file)
@@ -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) {
 }