Port-m68k archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: List of packages that fail to build with 4 byte alignment



> Since NetBSD/m68k has been using 4-byte alignment for a long time already, I was
> wondering whether there were any packages that had to be patched in order to build
> with the 4-byte alignment on NetBSD/m68k?

I don't think any application specific patches for 4-byte alignment
are necessary.

At least python 3.12 from pkgsrc builds on NetBSD/m68k 10.1 without
(m68k specific) patches.

> Also, if there is anything else that comes to your mind that had to be taken care of
> when NetBSD/m68k switched from 2- to 4-bytes alignment, please let me know.

On NetBSD/m68k, alignment change was done on a.out -> ELF migration.

We cannot link a.out libraries against ELF binaries, so there was no
compatibility issue on userland (IIUC).

The only issue was kernel and userland ABI,
i.e. old a.out binaries used 2-byte alignment and
newer ELF kernels assume 4-byte alignment.

We had to prepare compat layer that converted all system call
arguments that contain structures, but it was unlikely so only
limited conversions were prepared:
 https://github.com/NetBSD/src/blob/a1680574/sys/compat/aoutm68k/aoutm68k_stat.h#L39
and most old a.out binaries (including SunOS and HP-UX ones with
compat layers) no longer worked on ELF kernels.

In debian case, I'm afraid some versioning methods are necessary
to avoid mixing different alignment binaries.

---
Izumi Tsutsui


Home | Main Index | Thread Index | Old Index