<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p><br>
</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>От:</b> Dr D. Chisnall <dc552@hermes.cam.ac.uk> от имени David Chisnall <David.Chisnall@cl.cam.ac.uk><br>
<b>Отправлено:</b> 11 октября 2016 г. 15:08<br>
<b>Кому:</b> Perevalov Alexey<br>
<b>Копия:</b> Clang Dev<br>
<b>Тема:</b> Re: objc protocol: invalid pointer in property of protocol list inside binary with gnustep runtime (with lto)</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">On 11 Oct 2016, at 13:02, Perevalov Alexey <Alexey.Perevalov@hotmail.com> wrote:<br>
> <br>
> -fobjc-runtime=gnustep<br>
<br>
>It’s probably worth specifying a version, otherwise it will default to the most compatible version.  For ARM, you’ll probably want to use >-fobjc-runtime=gnustep-1.8.  Let me know if that makes a difference.<br>
<br>
Honestly, I could not rebuild all object files so quickly, I don't have all sources )<br>
But we will try.<br>
<br>
<br>
> Does this only occur when you’re using LTO?  I seem to recall that we were not emitting sufficient alignment information on some of the > structs, which occasionally meant that the linker would align them incorrectly, but I thought that was fixed...<br>
<br>
<br>
Right now yes, I could reproduce it only with LTO,<br>
<br>
but one half year ago we faced with the same issue w/o using LTO,<br>
it was solved just moved protocol declaration like that:<br>
<br>
<div>+@protocol MDLComponent <NSObject><br>
+@end<br>
+<br>
 <br>
 @protocol MDLObjectContainerComponent <MDLComponent, NSFastEnumeration><br>
 #ifdef OBJC_FEATURE_TEMPLATE<br>
@@ -39,8 +52,6 @@<br>
 - (void)removeObject:(MDLObject *)object;<br>
 @end<br>
 <br>
-@protocol MDLComponent <NSObject><br>
-@end</div>
<br>
<br>
<br>
<br>
> David<br>
<br>
</div>
</span></font></div>
</div>
</body>
</html>