In Xcode 15 update (for iOS 17) Apple upgrade theirs linker.
When I try to compile my ecs+netcode project, I had linker error:
GOT load reloc does not point to a LDR instruction in _Unity.NetCode.RpcSystemErrors+ReportRpcErrors, Unity.NetCode, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.Execute(Unity.NetCode.RpcSystemErrors+ReportRpcErrors*, Unity.NetCode, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null this, Unity.Entities.Entity, Unity.Entities, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null entity, Unity.NetCode.RpcSystem+ProtocolVersionError&, Unity.NetCode, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null rpcError) → System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_50995116f7c5eb6731bfc26f9fb05f45 from Unity.NetCode, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
Its fix by setting -ld64 flag to Other Linker Flags to UnityFramework target, to use legacy linker (which will be removed in a future release)
Potentially this can be bug in Mach-O https://developer.apple.com/forums/thread/737707?answerId=765203022#765203022
I don’t try to reproduce it on clear Unity or clear netcode or clear ecs, may be its generic Unity bug.
I use:
Unity 2022.3.7f1
Netcode: 1.0.17
Burst: 1.8.8
Xcode: 15.0