Tuple and changes for m68k with -malign-int
Antonio Vargas Gonzalez
windenntw@gmail.com
Sun May 18 14:02:06 GMT 2025
On Sun, May 18, 2025 at 9:09 AM John Paul Adrian Glaubitz <
glaubitz@physik.fu-berlin.de> 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> |
windenntw@gmail.com
More information about the Libc-help
mailing list