This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: crash on the first statement in main()


> * In message <uk7as63nh.fsf@gnu.org>
> * On the subject of "Re: crash on the first statement in main()"
> * Sent on 08 Jul 2003 18:43:14 -0400
> * I write:
> > * I write:
> >
> > I get a segfault on the first executable line in main() (confirmed in
> > the debugger), both when produced by cygwin:
> > 
> > gcc modules.o regexp.o regexi.o regex.o lisp.a
> >  -lintl libcharset.a libavcall.a libcallback.a -lreadline -lncurses
> >  -liconv -lm -o lisp.exe
> > ...
> > full/lisp.exe -B . -M base/lispinit.mem -norc -q -i regexp/regexp
> >  -x (saveinitmem "full/lispinit.mem") 
> > Signal 11
> > make: *** [full] Error 1
> > 
> > and mingw:
> > 
> > gcc -mno-cygwin modules.o regexp.o
> >  regexi.o regex.o lisp.a libcharset.a libavcall.a libcallback.a -luser32
> >  -lws2_32 -lole32 -luuid -o lisp.exe 
> > full/lisp.exe -B . -M base/lispinit.mem -norc -q -i regexp/regexp
> >  -x (saveinitmem "full/lispinit.mem")
> > <win32 crash dialog box>
> > 
> > the lines don't do anything special, in fact, "p <the offending line>"
> > executes just fine in gdb right after the crash.
> 
> I forgot a crucial piece of information:
> 
> the segfault happens only with "-g"!
> when I compile with "-O2", it works like a charm.

Another crucial piece of information, just discovered:

lisp.a is built like this:

ld -r -o lisp.o <a couple of dozens object files>
chmod a-x lisp.o
ar rcv lisp.a lisp.o
ranlib lisp.a

if I replace "lisp.a" with "lisp.o" in the GCC call that creates
lisp.exe, I get the same crash.
if I replace "lisp.a" with the full list of <a couple of dozens
object files>, everything works out just fine.

if I remove "lisp.o" altogether and create "lisp.a" with

ar rcv lisp.a <a couple of dozens object files>

everything works out just fine.

So, for now, I have a workaround.
However, this appears to be a bug in binutils.
Comments?

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.palestine-central.com/links.html>
My other CAR is a CDR.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]