joekewoud_@joekewoud.nl schrieb:
When I start *any* gnustep program. Including most from the Tools directory
I get a segmentation fault
[snip]
I use GCC4.02 FSF
[snip]
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x746f7270
0x90a418b0 in objc_msgSend ()
(gdb) bt
#0 0x90a418b0 in objc_msgSend ()
(gdb)
Hello Ewoud,
This is an indication that your binary is being linked against Apple's
libobjc as this function is called objc_msg_send on FSF libobjc.
This is the crashlog:
[snip]
Thread 0 Crashed:
0 libobjc.A.dylib 0x90a418b0 objc_msgSend + 16
Note the name.
1 dyld 0x8fe0e2d6
ImageLoaderMachO::doNotification(dyld_image_mode, unsigned, dyld_image_info
const*) + 70
2 dyld 0x8fe03409
dyld::notifyAdding(std::vector<ImageLoader*, std::allocator<ImageLoader*>
&) + 201
3 dyld 0x8fe0c4bd
ImageLoader::runInitializers(ImageLoader::LinkContext const&) + 75
4 dyld 0x8fe02cfa dyld::initializeMainExecutable() + 112
5 Affiche 0x0000214d _call_mod_init_funcs + 36 (crt.c:305)
6 Affiche 0x00002079 _start + 79 (crt.c:240)
7 Affiche 0x00002029 start + 41
Thread 0 crashed with i386 Thread State:
eax: 0x746f7250 ebx: 0x90a404e8 ecx:0x90a4f33c edx: 0x00095470
edi: 0x00000000 esi: 0x00095470 ebp:0xbfffee58 esp: 0xbfffec98
ss: 0x0000002f efl: 0x00010282 eip:0x90a418b0 cs: 0x00000027
ds: 0x0000002f es: 0x0000002f fs:0x00000000 gs: 0x00000037
Binary Images Description:
0x1000 - 0x17fff Affiche
/usr/GNUstep/Local/Applications/Affiche.app/Affiche
0x81000 - 0x92fff libobjc-gnu.1.dylib
/opt/local/lib/gcc40/libobjc-gnu.1.dylib
This is the libobjc you actually want.
0x907f0000 - 0x908b9fff com.apple.CoreFoundation 6.4.4 (368.22)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundatio
Not sure where CoreFoundation comes from...
0x908fa000 - 0x909eefff libicucore.A.dylib /usr/lib/libicucore.A.dylib
0x90a3f000 - 0x90abffff libobjc.A.dylib /usr/lib/libobjc.A.dylib
And here is Apples libobjc
0x90ae8000 - 0x90b4cfff libstdc++.6.dylib /usr/lib/libstdc++.6.dylib
0x90bbb000 - 0x90bc2fff libgcc_s.1.dylib /usr/lib/libgcc_s.1.dylib
and Apples gcc.
So it seems you have linked code previously linked with something that
pulls in CoreFoundation which is possibly responsible for also linking
the NeXT runtime, so your code is currently linked with both runtimes
which is causing the confusion.
I'm no expert on Darwin but I think with otool you can figure out the
dependencies of dylibs to determine what is pulling in the Apple code.
Good luck!
David
_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep