2004-05-07 Michael Snyder * tracepoint.c (scope_info): Add handling for LOC_COMPUTED, LOC_COMPUTED_ARG, and LOC_INDIRECT. Index: tracepoint.c =================================================================== RCS file: /cvs/src/src/gdb/tracepoint.c,v retrieving revision 1.59 diff -p -r1.59 tracepoint.c *** tracepoint.c 28 Apr 2004 16:36:25 -0000 1.59 --- tracepoint.c 7 May 2004 21:26:22 -0000 *************** scope_info (char *args, int from_tty) *** 2345,2351 **** sals = decode_line_1 (&args, 1, NULL, 0, &canonical, NULL); if (sals.nelts == 0) ! return; /* presumably decode_line_1 has already warned */ /* Resolve line numbers to PC */ resolve_sal_pc (&sals.sals[0]); --- 2345,2351 ---- sals = decode_line_1 (&args, 1, NULL, 0, &canonical, NULL); if (sals.nelts == 0) ! return; /* presumably decode_line_1 has already warned */ /* Resolve line numbers to PC */ resolve_sal_pc (&sals.sals[0]); *************** scope_info (char *args, int from_tty) *** 2387,2393 **** break; case LOC_STATIC: printf_filtered ("in static storage at address "); ! print_address_numeric (SYMBOL_VALUE_ADDRESS (sym), 1, gdb_stdout); break; case LOC_REGISTER: printf_filtered ("a local variable in register $%s", --- 2387,2394 ---- break; case LOC_STATIC: printf_filtered ("in static storage at address "); ! print_address_numeric (SYMBOL_VALUE_ADDRESS (sym), ! 1, gdb_stdout); break; case LOC_REGISTER: printf_filtered ("a local variable in register $%s", *************** scope_info (char *args, int from_tty) *** 2419,2430 **** continue; case LOC_LABEL: printf_filtered ("a label at address "); ! print_address_numeric (SYMBOL_VALUE_ADDRESS (sym), 1, gdb_stdout); break; case LOC_BLOCK: printf_filtered ("a function at address "); ! print_address_numeric (BLOCK_START (SYMBOL_BLOCK_VALUE (sym)), 1, ! gdb_stdout); break; case LOC_BASEREG: printf_filtered ("a variable at offset %ld from register $%s", --- 2420,2432 ---- continue; case LOC_LABEL: printf_filtered ("a label at address "); ! print_address_numeric (SYMBOL_VALUE_ADDRESS (sym), ! 1, gdb_stdout); break; case LOC_BLOCK: printf_filtered ("a function at address "); ! print_address_numeric (BLOCK_START (SYMBOL_BLOCK_VALUE (sym)), ! 1, gdb_stdout); break; case LOC_BASEREG: printf_filtered ("a variable at offset %ld from register $%s", *************** scope_info (char *args, int from_tty) *** 2437,2443 **** REGISTER_NAME (SYMBOL_BASEREG (sym))); break; case LOC_UNRESOLVED: ! msym = lookup_minimal_symbol (DEPRECATED_SYMBOL_NAME (sym), NULL, NULL); if (msym == NULL) printf_filtered ("Unresolved Static"); else --- 2439,2446 ---- REGISTER_NAME (SYMBOL_BASEREG (sym))); break; case LOC_UNRESOLVED: ! msym = lookup_minimal_symbol (DEPRECATED_SYMBOL_NAME (sym), ! NULL, NULL); if (msym == NULL) printf_filtered ("Unresolved Static"); else *************** scope_info (char *args, int from_tty) *** 2450,2459 **** case LOC_OPTIMIZED_OUT: printf_filtered ("optimized out.\n"); continue; } if (SYMBOL_TYPE (sym)) printf_filtered (", length %d.\n", ! TYPE_LENGTH (check_typedef (SYMBOL_TYPE (sym)))); } if (BLOCK_FUNCTION (block)) break; --- 2453,2474 ---- case LOC_OPTIMIZED_OUT: printf_filtered ("optimized out.\n"); continue; + case LOC_HP_THREAD_LOCAL_STATIC: + printf_filtered ("HP thread local static "); + break; + case LOC_INDIRECT: + printf_filtered ("extern (local indirect) at address "); + print_address_numeric (SYMBOL_VALUE_ADDRESS (sym), + 1, gdb_stdout); + break; + case LOC_COMPUTED: + case LOC_COMPUTED_ARG: + SYMBOL_OPS (sym)->describe_location (sym, gdb_stdout); + break; } if (SYMBOL_TYPE (sym)) printf_filtered (", length %d.\n", ! TYPE_LENGTH (check_typedef (SYMBOL_TYPE (sym)))); } if (BLOCK_FUNCTION (block)) break;