bug-binutils
[Top][All Lists]
Advanced

[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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]