[64bit] openldap compilation doesn't produce shared libraries
Dr. Volker Zell
dr.volker.zell@oracle.com
Thu Jun 13 08:38:00 GMT 2013
>>>>> 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
More information about the Cygwin-apps
mailing list