On Sun, May 18, 2025 at 9:09 AM John Paul Adrian Glaubitz < [email protected]> wrote:
> Hi James, > > On Sat, 2023-08-26 at 09:53 +0100, James Le Cuirot wrote: > > Once that is agreed, I'm happy to put together the patch to automatically > > enable the flag for this tuple in GCC. The part I do need help with is > > necessary changes to glibc, if any. Assembly is not my area at all, so > what I > > came up with here was a total guess. > > > > > > --- a/sysdeps/m68k/crti.S 2022-07-29 23:03:09.000000000 +0100 > > +++ b/sysdeps/m68k/crti.S 2022-11-30 21:41:52.710135230 +0000 > > @@ -56,7 +56,7 @@ > > #endif > > > > .section .init,"ax",@progbits > > - .align 2 > > + .p2align 2 > > .globl _init > > .hidden _init > > .type _init, @function > > @@ -74,7 +74,7 @@ > > #endif > > > > .section .fini,"ax",@progbits > > - .align 2 > > + .p2align 2 > > .globl _fini > > .hidden _fini > > .type _fini, @function > > > > > > I did try this out, and it largely seemed to work, although processes > > occasionally hung. Perhaps this was unrelated. > > I was just looking at the necessary changes to switch m68k to 32-bit > alignment > and I'm not sure we need to do anything about glibc. I am documenting my > current > findings here [1]. > > What I have found out so far is that official ELF ABI documentation from > AT&T > mandates a default alignment of four bytes and any SVR4-based distribution > such > as Amiga Unix and NetBSD/ELF actually adheres to that. Why Linux uses a 2 > bytes > alignment when the official ELF ABI documentation clearly says 4 bytes, > remains > a mystery to me. > > If we are willing to guess, I'd say it's because it is the norm in AmigaOS. > I'm not even sure whether we would have to change the target triplet since > the > current implementation for Linux is actually violating the standard and any > application adhering to spec written for Linux ELF m68k would actually not > work. > > Anyway, looking at crti.s for other 32-bit architectures such as powerpc, > I'm not > sure we actually need to do anything about glibc. I think just changing the > default value for BIGGEST_ALIGNMENT from 16 to 64 similar to NetBSD/ELF in > GCC > should be enough, shouldn't it? > > Adrian > > > [1] https://wiki.debian.org/M68k/Alignment > > -- > .''`. John Paul Adrian Glaubitz > : :' : Debian Developer > `. `' Physicist > `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913 > > -- Antonio Vargas Gonzalez | winden ^ capsule ^ rgba ^ network ^ batman.group | +windenntw <https://plus.google.com/117143451409201100384/about> | [email protected]

