All of lore.kernel.org
 help / color / mirror / Atom feed
* Question on BIGGEST_ALIGNMENT in GCC on NetBSD/m68k
@ 2025-05-26 15:05 John Paul Adrian Glaubitz
  2025-05-26 18:16 ` Jeffrey Walton
                   ` (2 more replies)
  0 siblings, 3 replies; 162+ messages in thread
From: John Paul Adrian Glaubitz @ 2025-05-26 15:05 UTC (permalink / raw)
  To: port-m68k; +Cc: debian-68k, linux-m68k

Hi,

I'm currently testing enabling 4 bytes alignment and first started looking into
what NetBSD does (gcc/config/m68k/linux.h in the GCC source). Surprisingly, this
is set to 64 and not 32 bits for the largest possible alignment.

The explanation is as follows:

/* No data type wants to be aligned rounder than this.                                                                                                                     
   For m68k/SVR4, some types (doubles for example) are aligned on 8 byte                                                                                                   
   boundaries */

#undef BIGGEST_ALIGNMENT
#define BIGGEST_ALIGNMENT 64

BIGGEST_ALIGNMENT is what's being toggled with the -malign-int option
in gcc/config/m68k/m68k.h:

/* No data type wants to be aligned rounder than this.                                                                                                                     
   Most published ABIs say that ints should be aligned on 16-bit                                                                                                           
   boundaries, but CPUs with 32-bit busses get better performance                                                                                                          
   aligned on 32-bit boundaries.  */
#define BIGGEST_ALIGNMENT (TARGET_ALIGN_INT ? 32 : 16)

In order to test GCC on Linux/m68k with 32-bit alignment, I just copied
the definitions from netbsd-elf.h into linux.h above which eventually
failed with:

free(): invalid pointer
during GIMPLE pass: slp
../../../../../src/libstdc++-v3/src/c++17/floating_from_chars.cc: In function 'std::from_chars_result std::from_chars(const char*, const char*, double&, chars_format)':
../../../../../src/libstdc++-v3/src/c++17/floating_from_chars.cc:1243:1: internal compiler error: Aborted

Now I'm wondering whether why some types on NetBSD such as double have 8 bytes
alignment on a 32-bit system. Does anyone know the reasoning for that?

And does libstdc++ have an additional codepath on NetBSD to deal with the
largest possible alignment to be 8 bytes so that the error above does not
occur?

Or could it just be a result of the ABI mismatch because glibc needs to be
patched as well?

Thanks,
Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

^ permalink raw reply	[flat|nested] 162+ messages in thread

end of thread, other threads:[~2026-03-02 10:11 UTC | newest]

Thread overview: 162+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-26 15:05 Question on BIGGEST_ALIGNMENT in GCC on NetBSD/m68k John Paul Adrian Glaubitz
2025-05-26 18:16 ` Jeffrey Walton
2025-05-26 18:23   ` John Paul Adrian Glaubitz
2025-05-26 18:48     ` Jeffrey Walton
2025-05-26 18:25 ` Jason Thorpe
2025-05-26 18:50   ` John Paul Adrian Glaubitz
2025-06-05  6:24 ` Jean-Michel Hautbois
2025-06-05  6:39   ` John Paul Adrian Glaubitz
2025-06-05  6:50     ` Jean-Michel Hautbois
2025-06-05  6:56       ` John Paul Adrian Glaubitz
2025-06-05  7:16         ` Geert Uytterhoeven
2025-06-05  7:36           ` John Paul Adrian Glaubitz
2025-06-05  8:49             ` Anders Magnusson
2025-06-05 10:33               ` Martin Husemann
2025-06-06  7:01                 ` Geert Uytterhoeven
2025-06-07  9:44                   ` John Paul Adrian Glaubitz
2025-06-06 10:20             ` Finn Thain
2025-06-07  9:44               ` John Paul Adrian Glaubitz
2025-06-07  9:58                 ` Andreas Schwab
2025-06-07 10:02                   ` Anders Magnusson
2025-06-07 11:11                     ` Andreas Schwab
2025-06-07 12:55                       ` Anders Magnusson
2025-06-07 13:57                         ` John Paul Adrian Glaubitz
2025-06-07 13:53                       ` John Paul Adrian Glaubitz
2025-06-07 13:50                   ` John Paul Adrian Glaubitz
2025-06-07 14:38                     ` Andreas Schwab
2025-06-07 14:54                       ` John Paul Adrian Glaubitz
2025-06-07 15:03                         ` Andreas Schwab
2025-06-07 15:19                           ` John Paul Adrian Glaubitz
2025-06-07 15:20                             ` Andreas Schwab
2025-06-07 15:23                               ` John Paul Adrian Glaubitz
2025-06-07 15:37                                 ` Andreas Schwab
2025-06-07 15:51                                   ` John Klos
2025-06-07 16:55                                     ` Andreas Schwab
2025-06-07 18:43                   ` Jason Thorpe
2025-06-07 21:43                     ` Andreas Schwab
2025-06-07 23:06                       ` Jason Thorpe
2025-06-10 11:16                       ` John Paul Adrian Glaubitz
2025-06-11  1:31                         ` Finn Thain
2025-06-08  1:10                 ` Finn Thain
2025-06-08 11:47                   ` Martin Husemann
2025-06-10 11:20                     ` John Paul Adrian Glaubitz
2025-06-10 11:18                   ` John Paul Adrian Glaubitz
2025-06-11  1:32                     ` Finn Thain
2025-06-10 11:26                   ` John Paul Adrian Glaubitz
2025-06-11  1:46                     ` Finn Thain
2025-06-11  3:04                     ` Stan Johnson
2025-06-11  7:44                       ` John Paul Adrian Glaubitz
2025-06-11 15:32                         ` Eero Tamminen
2025-06-11 15:49                           ` John Paul Adrian Glaubitz
2025-06-12 14:54                             ` Eero Tamminen
2025-06-13  1:36                               ` Finn Thain
2025-06-13 10:56                                 ` Eero Tamminen
2025-06-13 11:12                                   ` John Paul Adrian Glaubitz
2025-06-14  0:58                                     ` Finn Thain
2025-06-13 11:22                               ` John Paul Adrian Glaubitz
2025-06-13 13:21                                 ` John Klos
2025-06-13 13:33                                   ` John Paul Adrian Glaubitz
2025-06-13 20:10                                 ` Debian boot/login time Eero Tamminen
2025-06-14  1:13                                 ` Question on BIGGEST_ALIGNMENT in GCC on NetBSD/m68k Finn Thain
2025-06-12  1:54                         ` Finn Thain
2025-06-12  7:18                           ` John Paul Adrian Glaubitz
2025-06-12 10:00                             ` Jason Thorpe
     [not found]                           ` <CABq5eXH8S9MVoRi5znU+u7EJPmaRA+8yOyd-QKBJMQa10UoAmw@mail.gmail.com>
2025-06-12  7:27                             ` John Paul Adrian Glaubitz
2025-06-12  8:19                               ` Finn Thain
2025-06-13 11:15                                 ` John Paul Adrian Glaubitz
2025-06-14  1:06                                   ` Finn Thain
2025-06-12  8:25                               ` Administrator @ R·V·E
2025-06-12 13:06                                 ` Christian Groessler
2025-06-13 11:16                                 ` John Paul Adrian Glaubitz
2025-06-16 11:54                                   ` Geert Uytterhoeven
2025-06-16 12:21                                     ` John Paul Adrian Glaubitz
2025-06-16 12:29                                       ` Geert Uytterhoeven
2025-06-16 15:39                                         ` Preliminary results - was: " John Paul Adrian Glaubitz
2025-06-22 22:13                                           ` Eero Tamminen
2025-06-23  6:34                                             ` John Paul Adrian Glaubitz
2025-06-23  7:13                                             ` Geert Uytterhoeven
2026-01-06 13:34                                           ` Kolbjørn Barmen
2026-01-06 13:40                                             ` John Paul Adrian Glaubitz
2026-01-06 14:23                                               ` John Paul Adrian Glaubitz
2026-01-06 15:37                                               ` Arnd Bergmann
2026-01-06 19:31                                                 ` Geert Uytterhoeven
2026-01-07  8:19                                                   ` Arnd Bergmann
2026-01-07 20:45                                                     ` Finn Thain
2026-02-02 10:53                                                     ` Geert Uytterhoeven
2026-01-06 21:30                                                 ` John Paul Adrian Glaubitz
2026-02-11 10:41                                                 ` Geert Uytterhoeven
2026-03-02 10:11                                                   ` Geert Uytterhoeven
2025-06-13 11:55                 ` Geert Uytterhoeven
2025-06-13 12:00                   ` John Paul Adrian Glaubitz
2025-06-13 12:09                     ` Geert Uytterhoeven
2025-06-13 12:23                       ` John Paul Adrian Glaubitz
2025-06-13 12:30                         ` Geert Uytterhoeven
2025-06-13 12:51                           ` John Paul Adrian Glaubitz
2025-06-13 13:00                             ` John Paul Adrian Glaubitz
2025-06-14  1:34                               ` Finn Thain
2025-06-15  9:26                               ` Geert Uytterhoeven
2025-06-16  6:48                                 ` John Paul Adrian Glaubitz
2025-06-13 13:01                             ` ALeX Kazik
2025-06-14  1:46                               ` Finn Thain
2025-06-13 14:15                             ` Eero Tamminen
2025-06-13 14:53                               ` John Paul Adrian Glaubitz
2025-06-13 15:24                                 ` Laurent Vivier
2025-06-14  7:21                                   ` John Paul Adrian Glaubitz
2025-06-15  1:42                                     ` Finn Thain
2025-06-15  8:13                                       ` John Paul Adrian Glaubitz
2025-06-15  9:30                                         ` Finn Thain
2025-06-16  7:31                                           ` John Paul Adrian Glaubitz
2025-06-18  3:50                                             ` Finn Thain
2025-06-18  9:16                                               ` John Paul Adrian Glaubitz
2025-06-18  9:36                                                 ` Geert Uytterhoeven
2025-06-18  9:49                                                   ` John Paul Adrian Glaubitz
2025-06-18  9:56                                                     ` Geert Uytterhoeven
2025-06-18 10:04                                                       ` John Paul Adrian Glaubitz
2025-06-18 10:51                                                         ` Finn Thain
2025-06-18 12:21                                                         ` Greg Ungerer
2025-06-18 12:27                                                           ` John Paul Adrian Glaubitz
2025-06-18 12:54                                                             ` Geert Uytterhoeven
2025-06-18 12:57                                                               ` John Paul Adrian Glaubitz
2025-06-18 12:59                                                               ` Greg Ungerer
2025-06-18 22:29                                                           ` Finn Thain
2025-06-19  0:18                                                             ` Greg Ungerer
2025-06-19  5:31                                                               ` Finn Thain
2025-06-19  5:56                                                                 ` Greg Ungerer
2025-06-19 15:57                                                                   ` Jason Thorpe
2025-06-18 22:17                                                 ` Finn Thain
2025-06-16  6:33                                     ` Laurent Vivier
2025-06-16  7:39                                       ` John Paul Adrian Glaubitz
2025-06-16  8:00                                         ` Laurent Vivier
2025-06-16  8:14                                           ` John Paul Adrian Glaubitz
2025-06-16  8:32                                             ` Laurent Vivier
2025-06-16  8:45                                               ` Geert Uytterhoeven
2025-06-16  9:07                                                 ` John Paul Adrian Glaubitz
2025-06-16  9:00                                               ` John Paul Adrian Glaubitz
2025-06-16  9:10                                                 ` Laurent Vivier
2025-06-16  9:15                                                   ` John Paul Adrian Glaubitz
2025-06-16  9:26                                                     ` Laurent Vivier
2025-06-16  9:32                                                       ` John Paul Adrian Glaubitz
2025-06-16  9:45                                                         ` Laurent Vivier
2025-06-16 10:07                                                   ` Geert Uytterhoeven
2025-06-16 10:51                                                     ` Laurent Vivier
2025-06-16 11:01                                                     ` John Paul Adrian Glaubitz
2025-06-16 11:05                                                       ` Laurent Vivier
2025-06-16 11:10                                                         ` John Paul Adrian Glaubitz
2025-06-16 11:16                                                           ` John Paul Adrian Glaubitz
2025-06-16 11:16                                                           ` Laurent Vivier
2025-06-16 14:44                                                       ` Jason Thorpe
2025-06-16 14:43                                                   ` Jason Thorpe
2025-06-16 15:17                                                     ` John Paul Adrian Glaubitz
2025-06-18  3:19                                                     ` Finn Thain
2025-06-18  9:15                                                       ` John Paul Adrian Glaubitz
2025-06-18 22:16                                                         ` Finn Thain
2025-06-13 19:29                                 ` Eero Tamminen
2025-06-14  7:51                                   ` John Paul Adrian Glaubitz
2025-06-14 10:39                                     ` Eero Tamminen
2025-06-14 11:20                                       ` John Klos
2025-06-15  8:05                                         ` John Paul Adrian Glaubitz
2025-06-15  9:32                                   ` Geert Uytterhoeven
2025-06-16  6:42                                     ` John Paul Adrian Glaubitz
2025-06-14  1:29                     ` Finn Thain
2025-06-13 16:26                   ` David Brownlee
2025-06-16  6:39                     ` John Paul Adrian Glaubitz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.