2001-02-28 Michael Snyder <msnyder@mvstp600e.cygnus.com>
authorMichael Snyder <msnyder@vmware.com>
Fri, 11 May 2001 17:48:31 +0000 (17:48 +0000)
committerMichael Snyder <msnyder@vmware.com>
Fri, 11 May 2001 17:48:31 +0000 (17:48 +0000)
* symtab.c (print_msymbol_info): Print addresses by portable method
longest_local_hex_string_custom.  Allow for 64-bit addresses.

gdb/symtab.c

index 8207eef5c2a2076769b31269b28a9318477d9e96..8eab3d227ac4824b769530a3955f6e8e05928e7b 100644 (file)
@@ -2644,9 +2644,17 @@ print_symbol_info (namespace_enum kind, struct symtab *s, struct symbol *sym,
 static void
 print_msymbol_info (struct minimal_symbol *msymbol)
 {
-  printf_filtered ("   %08lx  %s\n",
-                  (unsigned long) SYMBOL_VALUE_ADDRESS (msymbol),
-                  SYMBOL_SOURCE_NAME (msymbol));
+  char *tmp;
+
+  if (TARGET_ADDR_BIT <= 32)
+    tmp = longest_local_hex_string_custom (SYMBOL_VALUE_ADDRESS (msymbol)
+                                          & (CORE_ADDR) 0xffffffff,
+                                          "08l");
+  else
+    tmp = longest_local_hex_string_custom (SYMBOL_VALUE_ADDRESS (msymbol),
+                                          "016l");
+  printf_filtered ("%s  %s\n",
+                  tmp, SYMBOL_SOURCE_NAME (msymbol));
 }
 
 /* This is the guts of the commands "info functions", "info types", and