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