linux-m68k.vger.kernel.org archive mirror
 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; 151+ 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] 151+ messages in thread

end of thread, other threads:[~2025-06-23  7:13 UTC | newest]

Thread overview: 151+ 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
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).