[llvm-commits] CVS: llvm/tools/lli/ExecutionEngine.cpp
Chris Lattner
lattner at cs.uiuc.edu
Wed Apr 23 15:42:01 PDT 2003
Changes in directory llvm/tools/lli:
ExecutionEngine.cpp updated: 1.6 -> 1.7
---
Log message:
Fix bug where pointers were assumed to always be 64 bits in size!
---
Diffs of the changes:
Index: llvm/tools/lli/ExecutionEngine.cpp
diff -u llvm/tools/lli/ExecutionEngine.cpp:1.6 llvm/tools/lli/ExecutionEngine.cpp:1.7
--- llvm/tools/lli/ExecutionEngine.cpp:1.6 Wed Apr 23 14:01:49 2003
+++ llvm/tools/lli/ExecutionEngine.cpp Wed Apr 23 15:41:01 2003
@@ -92,6 +92,7 @@
case Type::ShortTyID: Ptr->Untyped[0] = Val.UShortVal & 255;
Ptr->Untyped[1] = (Val.UShortVal >> 8) & 255;
break;
+ Store4BytesLittleEndian:
case Type::FloatTyID:
case Type::UIntTyID:
case Type::IntTyID: Ptr->Untyped[0] = Val.UIntVal & 255;
@@ -99,10 +100,11 @@
Ptr->Untyped[2] = (Val.UIntVal >> 16) & 255;
Ptr->Untyped[3] = (Val.UIntVal >> 24) & 255;
break;
+ case Type::PointerTyID: if (CurMod.has32BitPointers())
+ goto Store4BytesLittleEndian;
case Type::DoubleTyID:
case Type::ULongTyID:
- case Type::LongTyID:
- case Type::PointerTyID: Ptr->Untyped[0] = Val.ULongVal & 255;
+ case Type::LongTyID: Ptr->Untyped[0] = Val.ULongVal & 255;
Ptr->Untyped[1] = (Val.ULongVal >> 8) & 255;
Ptr->Untyped[2] = (Val.ULongVal >> 16) & 255;
Ptr->Untyped[3] = (Val.ULongVal >> 24) & 255;
@@ -123,6 +125,7 @@
case Type::ShortTyID: Ptr->Untyped[1] = Val.UShortVal & 255;
Ptr->Untyped[0] = (Val.UShortVal >> 8) & 255;
break;
+ Store4BytesBigEndian:
case Type::FloatTyID:
case Type::UIntTyID:
case Type::IntTyID: Ptr->Untyped[3] = Val.UIntVal & 255;
@@ -130,10 +133,11 @@
Ptr->Untyped[1] = (Val.UIntVal >> 16) & 255;
Ptr->Untyped[0] = (Val.UIntVal >> 24) & 255;
break;
+ case Type::PointerTyID: if (CurMod.has32BitPointers())
+ goto Store4BytesBigEndian;
case Type::DoubleTyID:
case Type::ULongTyID:
- case Type::LongTyID:
- case Type::PointerTyID: Ptr->Untyped[7] = Val.ULongVal & 255;
+ case Type::LongTyID: Ptr->Untyped[7] = Val.ULongVal & 255;
Ptr->Untyped[6] = (Val.ULongVal >> 8) & 255;
Ptr->Untyped[5] = (Val.ULongVal >> 16) & 255;
Ptr->Untyped[4] = (Val.ULongVal >> 24) & 255;
More information about the llvm-commits
mailing list