https://bugs.kde.org/show_bug.cgi?id=370028

--- Comment #34 from Ivo Raisr <iv...@ivosh.net> ---
I am afraid I don't see how the latest patch for syswrap-generic.c improves the
situation. On sparc64/Linux, I see the following warnings (line numbers are
approximate but you get the idea):

m_syswrap/syswrap-generic.c: In function ‘inet6_format’:
m_syswrap/syswrap-generic.c:702:11: warning: cast increases required alignment
of target type [-Wcast-align]
           (const struct vki_in_addr *)(ip + 12);
           ^
m_syswrap/syswrap-generic.c: In function ‘pre_mem_read_sockaddr’:
m_syswrap/syswrap-generic.c:1119:36: warning: cast increases required alignment
of target type [-Wcast-align]
    struct vki_sockaddr_in*  sin  = (struct vki_sockaddr_in *)sa;
                                    ^
m_syswrap/syswrap-generic.c:1120:36: warning: cast increases required alignment
of target type [-Wcast-align]
    struct vki_sockaddr_in6* sin6 = (struct vki_sockaddr_in6 *)sa;
                                    ^
m_syswrap/syswrap-generic.c:1125:36: warning: cast increases required alignment
of target type [-Wcast-align]
    struct vki_sockaddr_nl*  nl   = (struct vki_sockaddr_nl *)sa;

If my understanding is correct then your patch deals just with the first
occurrence. And why is ipv6 now an array of 4 x UInt? This does not make much
sense - IPv6 is just 16 bytes, usually displayed per hextets [1].


Could you:
- Deal with all 4 occurrences
- Use for example ASSUME_ALIGNED for the casts?

[1] https://en.wikipedia.org/wiki/IPv6_address

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to