Date: Mon, 25 Jun 2007 08:08:49 +0200 From: Ian FREISLICH <ianf@clue.co.za> To: gary.jennejohn@freenet.de Cc: freebsd-current@freebsd.org Subject: Re: weird error with nmh Message-ID: <E1I2hkn-0001mc-N6@clue.co.za> In-Reply-To: Message from Gary Jennejohn <garyj@jennejohn.org> of "Sun, 24 Jun 2007 19:13:45 %2B0200." <20070624191345.7f08c10e.garyj@jennejohn.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Gary Jennejohn wrote: > I'm using exmh with nmh on a freshly installed AMD64-current: > 7.0-CURRENT FreeBSD 7.0-CURRENT #4: Sat Jun 23 19:29:01 CEST > 2007 > > nmh uses its own version of strcasecmp() because in many cases it > passes NULL pointers to it and must check for that. > > However, somehow the version in libc gets used rather than the version > from nmh and calling e.g. repl results in a SIGSEGV because the NULL > pointer is dereferenced. > > I was forced to rename the routine to nmhstrcasecmp() all over the > place. After that repl works. > > My question - why isn't the version in nmh overriding the version in > libc? Am I misunderstanding something here? I traced this problem to the recent gcc import and then ran out of time to debug further. Glad that you've got furter than I did. It seems that strcasemp is defined in the repl binary: 08061abb T strcasecmp U strcat@@FBSD_1.0 U strchr@@FBSD_1.0 U strcmp@@FBSD_1.0 U strcpy@@FBSD_1.0 U strdup@@FBSD_1.0 U strerror@@FBSD_1.0 So I'm really not sure why the linker is choosing libc's version over this one. Ian -- Ian Freislich
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1I2hkn-0001mc-N6>