This happens since binutils 2.32.51.20190611 (The Debian version mostly tracks svn)
and it was working on 2.32-8 (updated to 20190424)
to reproduce:
nm elfmix1.not_a
nm: 42-Mach-O.o: file format not recognized
nm: 43-Mach-O.o: file format not recognized
nm: Mach-O.o: file format not recognized
return42_or_3_long_name.o:
0000000000000000 T return42_or_3
nm: return42_or_3_long_name.c: file format not recognized
nm: regen_elfmix.sh: file format not recognized
return42_or_3_long_name.obj:
ffa49ce800000000 T return42_or_3
before, with old binutils it was printed correctly
nm elfmix1.not_a
nm: 42-Mach-O.o: file format not recognized
nm: 43-Mach-O.o: file format not recognized
nm: Mach-O.o: file format not recognized
return42_or_3_long_name.o:
0000000000000000 T return42_or_3
nm: return42_or_3_long_name.c: file format not recognized
nm: regen_elfmix.sh: file format not recognized
return42_or_3_long_name.obj:
00000000 T return42_or_3
Looks like the returned output is half full of uninitialized values
on amd64 it works correctly
nm elfmix1.not_a
nm: 42-Mach-O.o: file format not recognized
nm: 43-Mach-O.o: file format not recognized
nm: Mach-O.o: file format not recognized
return42_or_3_long_name.o:
0000000000000000 T return42_or_3
nm: return42_or_3_long_name.c: file format not recognized
nm: regen_elfmix.sh: file format not recognized
return42_or_3_long_name.obj:
0000000000000000 T return42_or_3
Created attachment 12001
example
This happens since binutils 2.32.51.20190611 (The Debian version mostly tracks svn)
and it was working on 2.32-8 (updated to 20190424)
to reproduce:
nm elfmix1.not_a
nm: 42-Mach-O.o: file format not recognized
nm: 43-Mach-O.o: file format not recognized
nm: Mach-O.o: file format not recognized
return42_ or_3_long_ name.o: or_3_long_ name.c: file format not recognized
0000000000000000 T return42_or_3
nm: return42_
nm: regen_elfmix.sh: file format not recognized
return42_ or_3_long_ name.obj:
ffa49ce800000000 T return42_or_3
before, with old binutils it was printed correctly
nm elfmix1.not_a
nm: 42-Mach-O.o: file format not recognized
nm: 43-Mach-O.o: file format not recognized
nm: Mach-O.o: file format not recognized
return42_ or_3_long_ name.o: or_3_long_ name.c: file format not recognized
0000000000000000 T return42_or_3
nm: return42_
nm: regen_elfmix.sh: file format not recognized
return42_ or_3_long_ name.obj:
00000000 T return42_or_3
Looks like the returned output is half full of uninitialized values
on amd64 it works correctly
nm elfmix1.not_a
nm: 42-Mach-O.o: file format not recognized
nm: 43-Mach-O.o: file format not recognized
nm: Mach-O.o: file format not recognized
return42_ or_3_long_ name.o: or_3_long_ name.c: file format not recognized
0000000000000000 T return42_or_3
nm: return42_
nm: regen_elfmix.sh: file format not recognized
return42_ or_3_long_ name.obj:
0000000000000000 T return42_or_3