Re: compile and run 32bit programs on aarch64eb
Christian Groessler <[email protected]> Mon, 24 Nov 2025 11:13:09 +0100
| Newsgroups | gmane.os.netbsd.ports.arm |
|---|---|
| Message-ID | <[email protected]> |
On 11/20/25 18:05, Martin Husemann wrote: > On Thu, Nov 20, 2025 at 05:33:22PM +0100, Christian Groessler wrote: >> Hi, >> >> what do I need in order to compile and run armv7eb binaries on an aarch64eb >> system? >> >> I've built a compiler using "./build.sh -m evbarm -a earmv7hfeb -M /usr/obj >> -T /usr/tools tools", but this compiler misses libraries (and probably >> header files): > You need /usr/include, /lib and /usr/lib from a earmv7hfeb build too. > You could do a full build like above but with s/tools/build/, or download > the prebuild ones and extract only the comp and (if needed) xcomp sets. > Then point the compiler with -sysroot=/your/build/destdir at it. Thanks Martin. I've done this and now i can successfully compile programs. If I build a statically linked executable the program can be run. A dynamic program fails with "cannot execute binary file: Exec format error". I guess this is because it wants to use "/usr/libexec/ld.elf_so" as runtime linker which is 64 bit, and not "<destdir>/usr/libexec/ld.elf_so". Is there a way to tell the system to load 32bit binaries from somewhere else? I remember in former times one could setup a tree under /usr/emul (or so) for example to run iBCS2 or Solaris programs. regards, chris