summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog14
-rw-r--r--gdb/buildsym.c2
-rw-r--r--gdb/findvar.c21
-rw-r--r--gdb/objfiles.c3
-rw-r--r--gdb/printcmd.c20
-rw-r--r--gdb/symmisc.c9
-rw-r--r--gdb/symtab.c2
-rw-r--r--gdb/symtab.h15
-rw-r--r--gdb/tracepoint.c7
9 files changed, 15 insertions, 78 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 18e7ba11de5..299f3fefeed 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,17 @@
+2008-05-22 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * symtab.h (enum address_class): Remove LOC_INDIRECT and
+ LOC_HP_THREAD_LOCAL_STATIC.
+
+ * findvar.c (symbol_read_needs_frame, read_var_value): Do not
+ handle LOC_INDIRECT or LOC_HP_THREAD_LOCAL_STATIC.
+ (read_var_value): Likewise.
+ * buildsym.c (finish_block): Likewise.
+ * objfiles.c (objfile_relocate): Likewise.
+ * printcmd.c (address_info): Likewise.
+ * symmisc.c (print_symbol, print_partial_symbols): Likewise.
+ * tracepoint.c (scope_info): Likewise.
+
2008-05-21 Markus Deuling <deuling@de.ibm.com>
Maxim Grigoriev <maxim2405@gmail.com>
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index 282dc4ec244..e9d5d0fcdf2 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -297,7 +297,6 @@ finish_block (struct symbol *symbol, struct pending **listhead,
case LOC_UNDEF:
case LOC_CONST:
case LOC_STATIC:
- case LOC_INDIRECT:
case LOC_REGISTER:
case LOC_LOCAL:
case LOC_TYPEDEF:
@@ -340,7 +339,6 @@ finish_block (struct symbol *symbol, struct pending **listhead,
case LOC_UNDEF:
case LOC_CONST:
case LOC_STATIC:
- case LOC_INDIRECT:
case LOC_REGISTER:
case LOC_LOCAL:
case LOC_TYPEDEF:
diff --git a/gdb/findvar.c b/gdb/findvar.c
index 69fb6fbbd94..1f853b397c4 100644
--- a/gdb/findvar.c
+++ b/gdb/findvar.c
@@ -362,13 +362,11 @@ symbol_read_needs_frame (struct symbol *sym)
case LOC_LOCAL_ARG:
case LOC_BASEREG:
case LOC_BASEREG_ARG:
- case LOC_HP_THREAD_LOCAL_STATIC:
return 1;
case LOC_UNDEF:
case LOC_CONST:
case LOC_STATIC:
- case LOC_INDIRECT:
case LOC_TYPEDEF:
case LOC_LABEL:
@@ -457,24 +455,6 @@ read_var_value (struct symbol *var, struct frame_info *frame)
addr = SYMBOL_VALUE_ADDRESS (var);
break;
- case LOC_INDIRECT:
- {
- /* The import slot does not have a real address in it from the
- dynamic loader (dld.sl on HP-UX), if the target hasn't
- begun execution yet, so check for that. */
- CORE_ADDR locaddr;
- struct value *loc;
- if (!target_has_execution)
- error (_("\
-Attempt to access variable defined in different shared object or load module when\n\
-addresses have not been bound by the dynamic loader. Try again when executable is running."));
-
- locaddr = SYMBOL_VALUE_ADDRESS (var);
- loc = value_at (lookup_pointer_type (type), locaddr);
- addr = value_as_address (loc);
- break;
- }
-
case LOC_ARG:
if (frame == NULL)
return 0;
@@ -509,7 +489,6 @@ addresses have not been bound by the dynamic loader. Try again when executable i
case LOC_BASEREG:
case LOC_BASEREG_ARG:
- case LOC_HP_THREAD_LOCAL_STATIC:
{
struct value *regval;
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index 2b30b6c432a..235f8ffcb4d 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -597,8 +597,7 @@ objfile_relocate (struct objfile *objfile, struct section_offsets *new_offsets)
But I'm leaving out that test, on the theory that
they can't possibly pass the tests below. */
if ((SYMBOL_CLASS (sym) == LOC_LABEL
- || SYMBOL_CLASS (sym) == LOC_STATIC
- || SYMBOL_CLASS (sym) == LOC_INDIRECT)
+ || SYMBOL_CLASS (sym) == LOC_STATIC)
&& SYMBOL_SECTION (sym) >= 0)
{
SYMBOL_VALUE_ADDRESS (sym) +=
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index 44fb2e1fd72..d698a83908b 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -1150,20 +1150,6 @@ address_info (char *exp, int from_tty)
}
break;
- case LOC_INDIRECT:
- printf_filtered (_("external global (indirect addressing), at address *("));
- fputs_filtered (paddress (load_addr = SYMBOL_VALUE_ADDRESS (sym)),
- gdb_stdout);
- printf_filtered (")");
- if (section_is_overlay (section))
- {
- load_addr = overlay_unmapped_address (load_addr, section);
- printf_filtered (_(",\n -- loaded at "));
- fputs_filtered (paddress (load_addr), gdb_stdout);
- printf_filtered (_(" in overlay section %s"), section->name);
- }
- break;
-
case LOC_REGPARM:
printf_filtered (_("an argument in register %s"),
gdbarch_register_name (current_gdbarch, val));
@@ -1241,12 +1227,6 @@ address_info (char *exp, int from_tty)
}
break;
- case LOC_HP_THREAD_LOCAL_STATIC:
- printf_filtered (_("\
-a thread-local variable at offset %ld from the thread base register %s"),
- val, gdbarch_register_name (current_gdbarch, basereg));
- break;
-
case LOC_OPTIMIZED_OUT:
printf_filtered (_("optimized out"));
break;
diff --git a/gdb/symmisc.c b/gdb/symmisc.c
index bb5f6e3ba4f..d2306acf898 100644
--- a/gdb/symmisc.c
+++ b/gdb/symmisc.c
@@ -642,12 +642,6 @@ print_symbol (void *args)
SYMBOL_BFD_SECTION (symbol)));
break;
- case LOC_INDIRECT:
- fprintf_filtered (outfile, "extern global at *(");
- fputs_filtered (paddress (SYMBOL_VALUE_ADDRESS (symbol)), outfile);
- fprintf_filtered (outfile, "),");
- break;
-
case LOC_REGISTER:
fprintf_filtered (outfile, "register %ld", SYMBOL_VALUE (symbol));
break;
@@ -832,9 +826,6 @@ print_partial_symbols (struct partial_symbol **p, int count, char *what,
case LOC_STATIC:
fputs_filtered ("static", outfile);
break;
- case LOC_INDIRECT:
- fputs_filtered ("extern global", outfile);
- break;
case LOC_REGISTER:
fputs_filtered ("register", outfile);
break;
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 4e2b2a5043e..d4f3bfe3040 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -1116,7 +1116,6 @@ fixup_symbol_section (struct symbol *sym, struct objfile *objfile)
{
case LOC_STATIC:
case LOC_LABEL:
- case LOC_INDIRECT:
addr = SYMBOL_VALUE_ADDRESS (sym);
break;
case LOC_BLOCK:
@@ -1151,7 +1150,6 @@ fixup_psymbol_section (struct partial_symbol *psym, struct objfile *objfile)
{
case LOC_STATIC:
case LOC_LABEL:
- case LOC_INDIRECT:
case LOC_BLOCK:
addr = SYMBOL_VALUE_ADDRESS (psym);
break;
diff --git a/gdb/symtab.h b/gdb/symtab.h
index 3bbc3930bc2..3b4350ac0eb 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -524,26 +524,11 @@ enum address_class
LOC_UNRESOLVED,
- /* Value is at a thread-specific location calculated by a
- target-specific method. This is used only by hppa. */
-
- LOC_HP_THREAD_LOCAL_STATIC,
-
/* The variable does not actually exist in the program.
The value is ignored. */
LOC_OPTIMIZED_OUT,
- /* The variable is static, but actually lives at * (address).
- * I.e. do an extra indirection to get to it.
- * This is used on HP-UX to get at globals that are allocated
- * in shared libraries, where references from images other
- * than the one where the global was allocated are done
- * with a level of indirection.
- */
-
- LOC_INDIRECT,
-
/* The variable's address is computed by a set of location
functions (see "struct symbol_ops" below). */
LOC_COMPUTED,
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index 40e3c0fa590..255d0b75d15 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -2520,13 +2520,6 @@ scope_info (char *args, int from_tty)
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 ");
- printf_filtered ("%s", paddress (SYMBOL_VALUE_ADDRESS (sym)));
- break;
case LOC_COMPUTED:
case LOC_COMPUTED_ARG:
SYMBOL_OPS (sym)->describe_location (sym, gdb_stdout);