Hi ,

Thanks a lot for your reply.
I tried -mt but my gcc said that it was an invalid option.
I will also see if I can try with dbx. One thing I don't understand is
how come things work fine when a 64 bit binary is used.

Thanks
Priya

-----Original Message-----
From: Ian Collins [mailto:[EMAIL PROTECTED] 
Sent: Monday, December 24, 2007 11:33 AM
To: Vamsee Priya
Cc: [email protected]
Subject: Re: [osol-discuss] SIGSEGV in libc.so.1`_malloc_unlocked
onSolaris x86 machine

Vamsee Priya wrote:
> Hi All
>
> When I use my 32 bit binary on Solaris x86 machine, I get a
segmentation
> fault with the following stack trace.
>
> libc.so.1`_malloc_unlocked+0x14c(4000, 3, 80a3130, 1, 8046a38,
805763f)
> libc.so.1`malloc+0x39(4000, 0, 8046a1c, fef9e455, fef9158c, 4)
> meta_del+0x13(2, 80a3100, 10, 0)
> standby_fix+0x75e(2, 8047e8f, 8046b10, 0)
> standby+0xcc(2, 8047e8f, 0, 0, 8046bc7)
> main+0xd59(6, 8047d80, 8047d9c)
> _start+0x80(6, 8047e48, 8047e67, 8047e6a, 8047e7c, 8047e8f)
>
> The same binary when compiled with -m64 and linked with amd64
libraries
> works fine on the same machine.
> When I searched in Google many suggested that  _REENTRANT flag must be
> defined while compiling. I used it but same problem persisted.
> Can anyone help me as to what could be done in this case?
>
>   
One of the Studio forums would be a better place to ask. 

If your application isn't too big, run it under dbx with access checking
enabled, it looks like something's soiled the heap.  Never define
_REENTRANT, if your application is multi-threaded, use the -mt option.

Ian



_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to