This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: [64bit] openldap compilation doesn't produce shared libraries
- From: "Dr. Volker Zell" <dr dot volker dot zell at oracle dot com>
- To: cygwin-apps at cygwin dot com
- Date: Thu, 13 Jun 2013 10:37:53 +0200
- Subject: Re: [64bit] openldap compilation doesn't produce shared libraries
- References: <87sj13i801 dot fsf at oracle dot com> <51A8D6C0 dot 3060507 at users dot sourceforge dot net> <51B1945E dot 6060002 at users dot sourceforge dot net> <87obbil3hb dot fsf at VZELL-LAP dot de dot oracle dot com> <87wqq2cotj dot fsf at oracle dot com> <20130610095305 dot GA32691 at calimero dot vinschen dot de> <87bo7ekuaz dot fsf at VZELL-LAP dot de dot oracle dot com> <51B925EC dot 1090706 at users dot sourceforge dot net>
>>>>> Yaakov writes:
> On 2013-06-10 07:46, Dr. Volker Zell wrote:
>> I think the stack trace translates to the following:
>>
>> Stack trace:
>> Frame Function Args
>> ber_get_stringbvl
>> /usr/src/debug/openldap-2.4.35-1/libraries/liblber/decode.c:414
>> ber_scanf
>> /usr/src/debug/openldap-2.4.35-1/libraries/liblber/decode.c:790
>> ldap_get_attribute_ber
>> /usr/src/debug/openldap-2.4.35-1/libraries/libldap/getattr.c:132
>> print_entry
>> /usr/src/debug/openldap-2.4.35-1/clients/tools/ldapsearch.c:1634
>> main
>> /usr/src/debug/openldap-2.4.35-1/clients/tools/ldapsearch.c:1222
>>
>> The offending code line
>> case BvOff:
>> res.bo = (char *) b->result + b->off;
>> ((struct berval *) (res.bo + tot_size))->bv_val = NULL; <- line 414
>> tot_size = 0;
>> break;
> That is where it is crashing, but after some debugging, AFAICS the real culprit
> is the call to ber_scanf() in ldap_get_attribute_ber(). Presumably because this
> is a varargs function, the compiler wasn't able to handle the necessary type
> promotion automatically (ber_len_t is an unsigned long); so b->off was showing
> here as 0x600000000, taking line 414 off to la-la land. Patch attached and
> pushed to Ports git.
Thanks for the patch. I will try the openldap 64bit testsuite on the
weekend.
By the way is this something which should be send to upstream ? or is it
cygwin specific.
> Yaakov
Ciao
Volker