File tree Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change @@ -1342,10 +1342,13 @@ void ObjCProcessor::PostProcessObjCSections(ObjCReader* reader)
1342
1342
{
1343
1343
auto start = ivars->GetStart ();
1344
1344
auto end = ivars->GetEnd ();
1345
- auto ivarSectionEntryTypeBuilder = new TypeBuilder (Type::IntegerType (8 , false ));
1345
+ // The ivar section contains entries of type `long` for for all architectures
1346
+ // except arm64, which uses `int` for the ivar offset.
1347
+ size_t ivarOffsetSize = m_data->GetDefaultArchitecture ()->GetName () == " aarch64" ? 4 : ptrSize;
1348
+ auto ivarSectionEntryTypeBuilder = new TypeBuilder (Type::IntegerType (ivarOffsetSize, false ));
1346
1349
ivarSectionEntryTypeBuilder->SetConst (true );
1347
1350
auto type = ivarSectionEntryTypeBuilder->Finalize ();
1348
- for (view_ptr_t i = start; i < end; i += ptrSize )
1351
+ for (view_ptr_t i = start; i < end; i += ivarOffsetSize )
1349
1352
{
1350
1353
m_data->DefineDataVariable (i, type);
1351
1354
}
You can’t perform that action at this time.
0 commit comments