[Issue 6215] ICE(el.c) DMD segfaults when built on system with XCode	4.2
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Thu Aug 11 16:16:27 PDT 2011
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=6215
Sean Kelly <sean at invisibleduck.org> changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sean at invisibleduck.org
--- Comment #3 from Sean Kelly <sean at invisibleduck.org> 2011-08-11 16:16:23 PDT ---
The first problem is in el_calloc():
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: 13 at address: 0x00000000
0x0009fc2f in el_calloc () at el.c:189
189        *e = ezero;                         /* clear it             */
(gdb) p e
$1 = (elem *) 0xa4e7bc
Current language:  auto; currently c++
(gdb) 
I can't explain why this isn't working, but it's easily fixed by replacing the
assignment with:
memset(e, 0, sizeof(elem));
That gets us to the next error:
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: 13 at address: 0x00000000
0x000aa08d in evalu8 (e=0xa50988) at evalu8.c:625
625            esave = *e;
(gdb) p e
$1 = (elem *) 0xa50988
Current language:  auto; currently c++
(gdb) 
Which is similarly fixed by replacing the assignment with:
memcpy(&esave, e, sizeof(elem));
These two changes are enough for LLVM-DMD to build druntime.
Given the two errors above, the problem seems to be with the default assignment
operator LLVM generates for the elem struct.  It's a very weird problem though.
-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
    
    
More information about the Digitalmars-d-bugs
mailing list