[llvm-commits] CVS: llvm/lib/Target/X86/X86TargetMachine.cpp

Chris Lattner lattner at cs.uiuc.edu
Sun Aug 17 18:21:01 PDT 2003


Changes in directory llvm/lib/Target/X86:

X86TargetMachine.cpp updated: 1.23 -> 1.24

---
Log message:

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.


---
Diffs of the changes:

Index: llvm/lib/Target/X86/X86TargetMachine.cpp
diff -u llvm/lib/Target/X86/X86TargetMachine.cpp:1.23 llvm/lib/Target/X86/X86TargetMachine.cpp:1.24
--- llvm/lib/Target/X86/X86TargetMachine.cpp:1.23	Wed Aug 13 13:15:52 2003
+++ llvm/lib/Target/X86/X86TargetMachine.cpp	Sun Aug 17 18:20:40 2003
@@ -39,7 +39,8 @@
 		  (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) {
 }
 





More information about the llvm-commits mailing list