[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug binutils/31096] nm for mips32 (native or cross-compiled) shows 32bi
From: |
nickc at redhat dot com |
Subject: |
[Bug binutils/31096] nm for mips32 (native or cross-compiled) shows 32bit addresses as sign-extended 64bit addresses |
Date: |
Thu, 30 Nov 2023 12:41:28 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=31096
Nick Clifton <nickc at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |nickc at redhat dot com
--- Comment #1 from Nick Clifton <nickc at redhat dot com> ---
Hi Nicolas,
This is actually expected behaviour.
The MIPS architecture uses a signed address space, and tools configured to
support the MIPS are aware of this. Hence the mips-linux-gnu-nm tool displays
a signed address. Some tools however can be used on architectures for which
they were not configured. Nm is one of these tools. So if you use
x86_64-linux-gnu-nm on a MIPS binary, it will be able to display the symbols,
but it will display their addresses as unsigned values, since that is how the
x86_64 architecture treats its addresses.
Basically if you want to discover information about MIPS binaries, use tools
that are configured to support the MIPS architecture.
Note - it is still possible to use cross tools, they just need to support the
MIPS. So for example if you build the binutils on an x86_64 host and use the
"--enable-targets=all" configure option, then they will be able to correctly
handle MIPS binaries, as well as x86_64 binaries and indeed most other
architectures as well.
Does this make sense ?
Cheers
Nick
--
You are receiving this mail because:
You are on the CC list for the bug.