[LLVMdev] r102300 breaks Obj-C codegen on Darwin x86
Eric Christopher
echristo at apple.com
Mon Apr 26 08:14:02 PDT 2010
Sending to Chris explicitly since he checked it in :)
-eric
On Apr 26, 2010, at 4:01 AM, Jean-Daniel Dupas wrote:
> I managed to build a reduced test case:
>
> ================== foo.m ==================
>
> #include <Foundation/Foundation.h>
>
> @interface BaseNode : NSObject <NSCoding, NSCopying> { }
>
> @end
>
> @implementation BaseNode
>
> @end
>
> int main(int argc, char **argv) {
> return 0;
> }
>
> ==========================================
>
> # clang -o foo -arch i386 -framework Foundation foo.m
> foo.m:8:1: warning: incomplete implementation
> @implementation BaseNode
> ^
> 1 warning generated.
> # ./foo
> Segmentation fault
>
> Program received signal EXC_BAD_ACCESS, Could not access memory.
> Reason: KERN_INVALID_ADDRESS at address: 0x6e697970
>
> #0 0x913d3348 in _objc_search_builtins ()
> #1 0x913d313e in __sel_registerName ()
> #2 0x913d6269 in map_method_descs ()
> #3 0x913d4094 in _read_images ()
> #4 0x913e9933 in map_images_nolock ()
> #5 0x913d30d9 in map_images ()
> #6 0x8fe03ecc in __dyld__ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE ()
> #7 0x8fe04359 in __dyld__ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE ()
> #8 0x958d3892 in dyld_register_image_state_change_handler ()
> #9 0x913d306d in _objc_init ()
> #10 0x8fe0ed6d in __dyld__ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE ()
> #11 0x8fe0d31e in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj ()
> #12 0x8fe0d2c2 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj ()
> #13 0x8fe0d2c2 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj ()
> #14 0x8fe0d3d1 in __dyld__ZN11ImageLoader15runInitializersERKNS_11LinkContextE ()
> #15 0x8fe024a9 in __dyld__ZN4dyld24initializeMainExecutableEv ()
> #16 0x8fe07950 in __dyld__ZN4dyld5_mainEPK12macho_headermiPPKcS5_S5_ ()
> #17 0x8fe018b1 in __dyld__ZN13dyldbootstrap5startEPK12macho_headeriPPKcl ()
> #18 0x8fe01057 in __dyld__dyld_start ()
>
>
> Le 26 avr. 2010 à 10:13, Jean-Daniel Dupas a écrit :
>
>> After commit 102300, any obj-c software compiled with clang crashes at launch time with the following stack trace.
>> Reverting this specific commit fix the issue.
>>
>> ------------------------------------------------------------------------------------------------
>> Date/Time: 2010-04-26 10:07:01.630 +0200
>> OS Version: Mac OS X 10.6.3 (10D573)
>> Report Version: 6
>>
>> Interval Since Last Report: 333376 sec
>> Crashes Since Last Report: 5
>> Per-App Crashes Since Last Report: 1
>> Anonymous UUID: C67EBC9D-4A73-4DA7-B067-E5006618C178
>>
>> Exception Type: EXC_BAD_ACCESS (SIGSEGV)
>> Exception Codes: KERN_INVALID_ADDRESS at 0x0000000074696e55
>> Crashed Thread: 0 Dispatch queue: com.apple.main-thread
>>
>> Thread 0 Crashed: Dispatch queue: com.apple.main-thread
>> 0 libobjc.A.dylib 0x913d3348 _objc_search_builtins + 299
>> 1 libobjc.A.dylib 0x913d313e __sel_registerName + 44
>> 2 libobjc.A.dylib 0x913d6269 map_method_descs + 47
>> 3 libobjc.A.dylib 0x913d4094 _read_images + 2116
>> 4 libobjc.A.dylib 0x913e9933 map_images_nolock + 1545
>> 5 libobjc.A.dylib 0x913d30d9 map_images + 72
>> 6 dyld 0x8fe03ecc dyld::notifyBatchPartial(dyld_image_states, bool, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)) + 698
>> 7 dyld 0x8fe04359 dyld::registerImageStateBatchChangeHandler(dyld_image_states, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*)) + 452
>> 8 libSystem.B.dylib 0x958d3892 dyld_register_image_state_change_handler + 98
>> 9 libobjc.A.dylib 0x913d306d _objc_init + 77
>> 10 dyld 0x8fe0ed6d ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 235
>> 11 dyld 0x8fe0d31e ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 246
>> 12 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154
>> 13 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154
>> 14 dyld 0x8fe0d2c2 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int) + 154
>> 15 dyld 0x8fe0d3d1 ImageLoader::runInitializers(ImageLoader::LinkContext const&) + 61
>> 16 dyld 0x8fe024a9 dyld::initializeMainExecutable() + 134
>> 17 dyld 0x8fe07950 dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**) + 4189
>> 18 dyld 0x8fe018b1 dyldbootstrap::start(macho_header const*, int, char const**, long) + 779
>> 19 dyld 0x8fe01057 _dyld_start + 39
>>
>>
>>
>> -- Jean-Daniel
>>
>>
>>
>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> -- Jean-Daniel
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list