On 2024-05-29, Gustavo Rios <rios.gust...@gmail.com> wrote: > i have installed obsd 7.5 amd64. I wrote a small function and apparently, > obsd is not generating x64 bit code. I am very confused by the output os > file and nm program on my anci c code. > > Here you have them: > > etosha# file xdr_vopq.o > xdr_vopq.o: ELF 64-bit LSB relocatable, x86-64, version 1 > etosha# > > That=C2=B4s ok, the output above reports 64-bit, but when i run nm: > > etosha# nm xdr_vopq.o > 00000000 W __retguard_1176 > 00000000 W __retguard_3137 > U __xdri32 > U __xdropq > 00000000 T __xdrvopq > 00000070 T xdr_vopq > 00000000 F xdr_vopq.c > etosha# > > Why the address showed are 32-bit. I simply cannot understand this.
That's just nm(1)'s display format using %08lx. Install one of the package versions of llvm and use llvm-nm-$version and you'll see it printed with a wider column.