[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: intl segfault on solaris
From: |
Xavier Nicollet |
Subject: |
Re: intl segfault on solaris |
Date: |
Thu, 18 Jul 2002 15:15:24 +0200 |
User-agent: |
Mutt/1.4i |
On Wed, Jul 17, 2002 at 07:26:20PM +0200, Bruno Haible wrote:
> > It seems that strcmp() is run with a null second argument: old_domain =
> > NULL (according to gdb).
> >
> > old_domain seems to be equal to _nl_current_default_domain.
>
> Sounds quite strange, because _nl_current_default_domain is statically
> initialized to a non-NULL pointer, and is never assigned NULL. Can you
> dig a little deeper with gdb's help? When you set a breakpoint at
> 'main', what is the value of _nl_current_default_domain when this
> breakpoint is reached?
_nl_default_default_domain__ = "messages"
_nl_current_default_domain__ = NULL according to ddd.
However, I have compiled the same app (dpkg) under the same os and
architecture, except that it is now in 32 bit.
Now it works, and ddd tells:
_nl_default_default_domain__ = "messages"
_nl_current_default_domain__ = "messages"
/* The internal variables in the standalone libintl.a must have different
names than the internal variables in GNU libc, otherwise programs
using libintl.a cannot be linked statically. */
#if !defined _LIBC
// Note: I have tested this code is executed
# define _nl_default_default_domain _nl_default_default_domain__
# define _nl_current_default_domain _nl_current_default_domain__
#endif
I did not find any references to _nl_current_default_domain when doing a "man
libc" under solaris.
Thank you for your enlightenment.
--
Nicollet Xavier I2 Info
EFREI Linux: http://www.linux.efrei.fr/
Le piratage tue le libre