Closed birdie-github closed 5 months ago
Test case (Ubuntu):
$ gcc --version
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
$ ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3.7) 2.35
$ git clone https://github.com/nidud/asmc.git
$ cd asmc/source/asmc
$ make
chmod a+x ../../bin/asmc64
../../bin/asmc64 -fpic -Zp8 -Cs -Iinc -I../../include ../libc/fltintrn/*.asm src/*.asm
Asmc Macro Assembler (x64) Version 2.34.49
Copyright (C) The Asmc Contributors. All Rights Reserved.
Assembling: ../libc/fltintrn/__addo.asm
...
gcc -Wl,-pie,-z,now,-z,noexecstack -s -o asmc *.o
../../bin/asmc64 -DASMC64 -fpic -Zp8 -Cs -Iinc -I../../include ../libc/fltintrn/*.asm src/*.asm
Asmc Macro Assembler (x64) Version 2.34.49
Copyright (C) The Asmc Contributors. All Rights Reserved.
Assembling: ../libc/fltintrn/__addo.asm
...
gcc -Wl,-pie,-z,now,-z,noexecstack -s -o asmc64 *.o
rm *.o
Did a test in Manjaro:
$ gcc --version
gcc (GCC) 13.2.1 2023080
$ ldd --version
ldd (GNU libc) 2.39
$ git clone https://github.com/nidud/asmc.git
$ cd asmc/source/asmc
$ make
...
So it seems to work, at least using the default settings.
Maybe RHEL 9.3 has some weirdness, dunno.
Maybe RHEL 9.3 has some weirdness, dunno.
There's a mixed bag of Linux distributions with a variety of dependencies. Some are also exclusively 64-bit so it's difficult to provide binaries that works for all.
In most cases the default setting using a dynamically linked 64-bit binary works. However, there is a statically linked 32-bit binary provided for incompatibility issues like this, so you may try to see if that works.
To test this change the line in the makefile acc = asmc64
to acc = asmc
Using GCC 11.4.1. It builds with 13.1 though.