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]

Reply via email to