On 10. Aug 2021, at 14.17, Michael Ströder <mich...@stroeder.com> wrote:
> 
> On 8/10/21 11:16 AM, Timo Sirainen wrote:
>> On 10. Aug 2021, at 10.33, Michael Ströder <mich...@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.

Reply via email to