aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-08-17 23:20:40 +0000
committerChris Lattner <sabre@nondot.org>2003-08-17 23:20:40 +0000
commit7540565863c11ae3a65fe1a8159cedc0caf55c07 (patch)
treef0f7422ae422c9be76a8f92d871df6b86f50b2c1
parent57e5a702d0e3c49c67208bf07212c878d34e73ca (diff)
downloadexternal_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.cpp3
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) {
}