dovecot 2.3.16 fail one test on s390x, alpine linux

Timo Sirainen timo at sirainen.com
Tue Aug 10 18:55:40 EEST 2021


On 10. Aug 2021, at 14.17, Michael Ströder <michael at stroeder.com> wrote:
> 
> On 8/10/21 11:16 AM, Timo Sirainen wrote:
>> On 10. Aug 2021, at 10.33, Michael Ströder <michael at stroeder.com> wrote:
>>> 
>>> On 8/10/21 10:02 AM, Milan P. Stanić wrote:
>>>> I'm trying to upgrade dovecot from version 2.3.15 to 2.3.16 for alpine
>>>> linux. Build and 'make check' pass on all alpine architectures except on
>>>> s390x which is big-endian while all other are little-endian.
>>> 
>>> You're probably hitting the same issues like me on openSUSE.
>>> 
>>> See Timo's response to that:
>>> 
>>> https://dovecot.org/pipermail/dovecot/2021-August/122787.html
>> 
>> The attached patch probably helps?
> 
> Assuming I've applied the patch correctly it does not help on ppc64 and
> S/390:
> 
> https://build.opensuse.org/package/show/home:stroeder:network/dovecot23 <https://build.opensuse.org/package/show/home:stroeder:network/dovecot23>

Well, that's annoying. I thought it would have worked. I wonder if it's still some issue with the #if not being right. Can you try once more with disabling the #if lines, i.e. just:

+static void
+copy_to_buf_last_used(struct mail_cache *cache, buffer_t *dest, bool add_new)
+{
+	size_t offset = offsetof(struct mail_cache_field, last_used);
+//#if defined(WORDS_BIGENDIAN) && TIME_T_BITS > 32
+	offset += sizeof(uint32_t);
+//#endif
+	copy_to_buf(cache, dest, add_new, offset, sizeof(uint32_t));
+}

If that doesn't work either, I'd somehow need to get access to a big-endian CPU to try to figure out where it's going wrong.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20210810/78d6ff2f/attachment.html>


More information about the dovecot mailing list