discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Crash occurs when catching std::exception in Objective-C++ code comp


From: Lobron, David
Subject: Re: Crash occurs when catching std::exception in Objective-C++ code compiled with clang on Linux and using libobjc2
Date: Wed, 22 Nov 2017 17:56:55 +0000

> I think the correct place to look at is gnustep-make rather than 
> gnustep-base. If you configure gnustep-make with clang as compiler it should 
> be ignoring the gcc runtime files.

Yes, agreed.  I checked the compile and link flags in my gnustep-make, and they 
seem to point only to my local libraries, not to /usr/lib:

(ALSI8)dlobron@bos-lps80:~/build/clangport/akamai/gnustep-make/gnustep-make-2.6.0$
 ~/build/clangport/akamai/common/GNUstep/System/Tools/gnustep-config 
--objc-flags  
-MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_RUNTIME=1 
-DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing -fexceptions -fobjc-exceptions 
-D_NATIVE_OBJC_EXCEPTIONS -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import 
-fobjc-runtime=gnustep-1.8 -m64 -march=opteron -mno-3dnow -ggdb -O2 -Wall -fPIC 
-fPIC -fgnu-runtime -fconstant-string-class=NSConstantString -I. 
-I/home/dlobron/GNUstep/Library/Headers 
-I/home/dlobron/build/clangport/akamai/common/GNUstep/Local/Library/Headers 
-I/home/dlobron/build/clangport/akamai/common/GNUstep/System/Library/Headers

(ALSI8)dlobron@bos-lps80:~/build/clangport/akamai/gnustep-make/gnustep-make-2.6.0$
 ~/build/clangport/akamai/common/GNUstep/System/Tools/gnustep-config 
--objc-libs 
-rdynamic -m64 -rdynamic -shared-libgcc -fexceptions -fgnu-runtime 
-L/home/dlobron/GNUstep/Library/Libraries 
-L/home/dlobron/build/clangport/akamai/common/GNUstep/Local/Library/Libraries 
-L/home/dlobron/build/clangport/akamai/common/GNUstep/System/Library/Libraries 
-lobjc -lm

The compiler is definitely set to clang:

(ALSI8)dlobron@bos-lps80:~/build/clangport/akamai/gnustep-make/gnustep-make-2.6.0$
 ~/build/clangport/akamai/common/GNUstep/System/Tools/gnustep-config 
--variable=OBJCXX
/home/dlobron/build/clangport/akamai/llvm/llvm-5.0.0.install/bin/clang

(ALSI8)dlobron@bos-lps80:~/build/clangport/akamai/gnustep-make/gnustep-make-2.6.0$
 ~/build/clangport/akamai/common/GNUstep/System/Tools/gnustep-config 
--variable=CC    
/home/dlobron/build/clangport/akamai/llvm/llvm-5.0.0.install/bin/clang

(ALSI8)dlobron@bos-lps80:~/build/clangport/akamai/gnustep-make/gnustep-make-2.6.0$
 ~/build/clangport/akamai/common/GNUstep/System/Tools/gnustep-config 
--variable=CXX
/home/dlobron/build/clangport/akamai/llvm/llvm-5.0.0.install/bin/clang

I think the native versus non-native exceptions issue was a red herring caused 
by bad make flags: I fixed that, and I was able to build with native exceptions 
enabled.  But my code still crashes when I attempt to catch a C++ exception in 
a .mm file.

Please let me know if you guys have an idea where I might proceed from here, or 
if the gnustep-make output above looks suspicious to you.

--David




reply via email to

[Prev in Thread] Current Thread [Next in Thread]