[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libobjc2-clang
From: |
David Chisnall |
Subject: |
Re: libobjc2-clang |
Date: |
Thu, 18 Jun 2020 09:42:18 +0100 |
Wow, I ignored email for a week and there are 50 unread emails in my GNUstep
folder! Great to see some renewed interest and activity in the project!
> On 17 Jun 2020, at 12:28, Riccardo Mottola <riccardo.mottola@libero.it> wrote:
>
> Hi,
>
> Wolfgang Lux wrote:
>>> Perhaps libobjc? how can I compile libobic2 in debug? I think I need to
>>> activate CMAKE_ASM_FLAGS_DEBUG somehow
>> No. But you want to reconfigure libobjc2 with
>> CMAKE_BUILD_TYPE=RelWithDebInfo (or, if you absolutely insist on turning off
>> optimization, CMAKE_BUILD_TYPE=Debug).
>
> thank you. I used "Debug" to be most extreme (and also to exclude issues with
> optimizations, which never hurts).
Debug doesn’t make actually much of a difference to overall performance. The
most performance critical bits are hand-coded assembly.
> It still crashes and so:
>
> 0x0000753c801678aa in _lwp_kill () from /usr/lib/libc.so.12
> (gdb) bt
> #0 0x0000753c801678aa in _lwp_kill () from /usr/lib/libc.so.12
> #1 0x0000753c8016715a in abort () from /usr/lib/libc.so.12
> #2 0x0000753c80a18d56 in init_protocols (protocols=0x753c816c91b0
> <objc_protocol_list>)
> at /home/multix/code/gnustep-vcs/libobjc2/protocol.c:225
> #3 0x0000753c80a18b0d in objc_init_protocols (protocols=0x753c816c91b0
> <objc_protocol_list>)
> at /home/multix/code/gnustep-vcs/libobjc2/protocol.c:258
> #4 0x0000753c80a12647 in objc_load_class (class=0x753c816c91d0
> <._OBJC_CLASS_NSAffineTransform>)
> at /home/multix/code/gnustep-vcs/libobjc2/class_table.c:465
> #5 0x0000753c80a18235 in __objc_load (init=0x753c816ba9a0 <objc_init>)
> at /home/multix/code/gnustep-vcs/libobjc2/loader.c:268
> #6 0x0000753c812baced in objcv2_load_function () from
> /System/Library/Libraries/libgnustep-base.so.1.27.0
> #7 0x0000753c812b9ab4 in ?? () from
> /System/Library/Libraries/libgnustep-base.so.1.27.0
> #8 0x0000753c81cf7c00 in ?? ()
> #9 0x0000753c812b6749 in _init () from
> /System/Library/Libraries/libgnustep-base.so.1.27.0
> #10 0x0000000000000000 in ?? ()
>
> how can I print out this?
> (gdb) p protocols
> $4 = (struct objc_protocol_list *) 0x753c816c91b0 <objc_protocol_list>
>
> just to know which "list" and what should be loaded, I suppose there is an
> error here.
This is the protocol list that is currently being initialised. It would be
interesting to see what `i` is (I guess 0), because they tells us if we’re
failing on the first protocol in a class or a subsequent one. Then look at
`version`, which should be a protocol version number. If it isn’t a small
value (<16), look at `aProto->isa`.
Can you also confirm whether you’ve built with OLDABI_COMPAT enabled? If you
didn’t, then you’ll see this message if you try to load any code that isn’t
compiled with the v2 ABI.
David
- libobjc2-clang, Riccardo Mottola, 2020/06/10
- Re: libobjc2-clang, David Chisnall, 2020/06/11
- Re: libobjc2-clang, Riccardo Mottola, 2020/06/12
- Re: libobjc2-clang, Wolfgang Lux, 2020/06/12
- Re: libobjc2-clang, Riccardo Mottola, 2020/06/17
- Re: libobjc2-clang, Wolfgang Lux, 2020/06/17
- Re: libobjc2-clang,
David Chisnall <=
- Re: libobjc2-clang, Riccardo Mottola, 2020/06/18
- Re: libobjc2-clang, David Chisnall, 2020/06/18
- Re: libobjc2-clang, Riccardo Mottola, 2020/06/18
- Re: libobjc2-clang, Wolfgang Lux, 2020/06/28
- Re: libobjc2-clang, Wolfgang Lux, 2020/06/28
- Re: libobjc2-clang, Riccardo Mottola, 2020/06/29
- Re: libobjc2-clang, Wolfgang Lux, 2020/06/30
- Re: libobjc2-clang, Riccardo Mottola, 2020/06/30