[cfe-dev] objc protocol: invalid pointer in property of protocol list inside binary with gnustep runtime (with lto)

Perevalov Alexey via cfe-dev cfe-dev at lists.llvm.org
Tue Oct 11 08:28:49 PDT 2016




________________________________
От: Dr D. Chisnall <dc552 at hermes.cam.ac.uk> от имени David Chisnall <David.Chisnall at cl.cam.ac.uk>
Отправлено: 11 октября 2016 г. 15:08
Кому: Perevalov Alexey
Копия: Clang Dev
Тема: Re: objc protocol: invalid pointer in property of protocol list inside binary with gnustep runtime (with lto)

On 11 Oct 2016, at 13:02, Perevalov Alexey <Alexey.Perevalov at hotmail.com> wrote:
>
> -fobjc-runtime=gnustep

>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.

Honestly, I could not rebuild all object files so quickly, I don't have all sources )
But we will try.


> 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...


Right now yes, I could reproduce it only with LTO,

but one half year ago we faced with the same issue w/o using LTO,
it was solved just moved protocol declaration like that:

+ at protocol MDLComponent <NSObject>
+ at end
+

 @protocol MDLObjectContainerComponent <MDLComponent, NSFastEnumeration>
 #ifdef OBJC_FEATURE_TEMPLATE
@@ -39,8 +52,6 @@
 - (void)removeObject:(MDLObject *)object;
 @end

- at protocol MDLComponent <NSObject>
- at end




> David

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20161011/808dd3ef/attachment.html>


More information about the cfe-dev mailing list