diff options
author | Andrew Cagney <cagney@redhat.com> | 2001-03-23 00:41:02 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2001-03-23 00:41:02 +0000 |
commit | 41899c04122d85b9ce11715061d03330b1d59175 (patch) | |
tree | b6dfcd7a802cc914dee8003654665a5d6b458908 | |
parent | 886655446608bea8e4cf8a93bf77df06dc087312 (diff) | |
download | fsf-binutils-gdb-41899c04122d85b9ce11715061d03330b1d59175.zip fsf-binutils-gdb-41899c04122d85b9ce11715061d03330b1d59175.tar.gz fsf-binutils-gdb-41899c04122d85b9ce11715061d03330b1d59175.tar.bz2 |
* config/pa/xm-hppah.h (HPPA_COMPILER_BUG): Delete. GDB only
compiles using an ISO-C compiler.
(MALLOC_INCOMPATIBLE): Ditto.
* linespec.c (decode_line_1): Delete hack to work around
HPPA_COMPILER_BUG.
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/config/pa/xm-hppah.h | 5 | ||||
-rw-r--r-- | gdb/linespec.c | 29 |
3 files changed, 8 insertions, 34 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 84d19b0..5ad26d3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,13 @@ 2001-03-22 Andrew Cagney <ac131313@redhat.com> + * config/pa/xm-hppah.h (HPPA_COMPILER_BUG): Delete. GDB only + compiles using an ISO-C compiler. + (MALLOC_INCOMPATIBLE): Ditto. + * linespec.c (decode_line_1): Delete hack to work around + HPPA_COMPILER_BUG. + +2001-03-22 Andrew Cagney <ac131313@redhat.com> + * exec.c (xfer_memory): Always initialize section. * infrun.c (normal_stop): Always initialize source_flag. diff --git a/gdb/config/pa/xm-hppah.h b/gdb/config/pa/xm-hppah.h index 497d2a7..796b17a 100644 --- a/gdb/config/pa/xm-hppah.h +++ b/gdb/config/pa/xm-hppah.h @@ -29,11 +29,6 @@ #define USG -#ifndef __STDC__ -/* This define is discussed in decode_line_1 in symtab.c */ -#define HPPA_COMPILER_BUG -#endif - #define HAVE_TERMIOS /* HP defines malloc and realloc as returning void *, even for non-ANSI diff --git a/gdb/linespec.c b/gdb/linespec.c index f78751b..35f225c 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -459,36 +459,7 @@ decode_line_1 (char **argptr, int funfirstline, struct symtab *default_symtab, int default_line, char ***canonical) { struct symtabs_and_lines values; -#ifdef HPPA_COMPILER_BUG - /* FIXME: The native HP 9000/700 compiler has a bug which appears - when optimizing this file with target i960-vxworks. I haven't - been able to construct a simple test case. The problem is that - in the second call to SKIP_PROLOGUE below, the compiler somehow - does not realize that the statement val = find_pc_line (...) will - change the values of the fields of val. It extracts the elements - into registers at the top of the block, and does not update the - registers after the call to find_pc_line. You can check this by - inserting a printf at the end of find_pc_line to show what values - it is returning for val.pc and val.end and another printf after - the call to see what values the function actually got (remember, - this is compiling with cc -O, with this patch removed). You can - also examine the assembly listing: search for the second call to - skip_prologue; the LDO statement before the next call to - find_pc_line loads the address of the structure which - find_pc_line will return; if there is a LDW just before the LDO, - which fetches an element of the structure, then the compiler - still has the bug. - - Setting val to volatile avoids the problem. We must undef - volatile, because the HPPA native compiler does not define - __STDC__, although it does understand volatile, and so volatile - will have been defined away in defs.h. */ -#undef volatile - volatile struct symtab_and_line val; -#define volatile /*nothing */ -#else struct symtab_and_line val; -#endif register char *p, *p1; char *q, *pp, *ii, *p2; #if 0 |