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