aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1994-01-19 00:21:16 +0000
committerJeff Law <law@redhat.com>1994-01-19 00:21:16 +0000
commit2f156c92bdff30019f890307d7276ba6813fec24 (patch)
tree064599ea8c4a3ab38c6940cde4072e29d3b163a0
parentec0bcbbaa11ea9207ae00dc142d3b6e41556d2a0 (diff)
downloadgdb-2f156c92bdff30019f890307d7276ba6813fec24.zip
gdb-2f156c92bdff30019f890307d7276ba6813fec24.tar.gz
gdb-2f156c92bdff30019f890307d7276ba6813fec24.tar.bz2
* config/tc-hppa.c: Disable multiple $CODE$ subspace code. It
confuses GDB for some unknown reason. * cofnig/obj-som.c: Likewise.
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/obj-som.c5
-rw-r--r--gas/config/tc-hppa.c8
3 files changed, 19 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 47c6e89..bac672c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+Tue Jan 18 16:19:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * config/tc-hppa.c: Disable multiple $CODE$ subspace code. It
+ confuses GDB for some unknown reason.
+ * cofnig/obj-som.c: Likewise.
+
Tue Jan 18 19:05:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
* literal.c (add_to_literal_pool): Handle duplicates of values
diff --git a/gas/config/obj-som.c b/gas/config/obj-som.c
index 77f6335..80beab3 100644
--- a/gas/config/obj-som.c
+++ b/gas/config/obj-som.c
@@ -206,6 +206,7 @@ adjust_stab_sections (abfd, sec, xxx)
bfd_h_put_32 (abfd, (bfd_vma) strsz, (bfd_byte *) p + 8);
}
+#if 0
/* Adjust the VMA address for each $CODE$ subspace. */
static void
adjust_code_sections (abfd, sec, xxx)
@@ -221,6 +222,7 @@ adjust_code_sections (abfd, sec, xxx)
bfd_set_section_vma (stdoutput, sec, size_so_far);
size_so_far += bfd_get_section_size_before_reloc (sec);
}
+#endif
/* Called late in the asssembly phase to adjust the special
stab entry and to set the starting address for each code subspace. */
@@ -229,5 +231,8 @@ void
som_frob_file ()
{
bfd_map_over_sections (stdoutput, adjust_stab_sections, (PTR) 0);
+#if 0
+ See comment in tc-hppa.c:pa_proc about GDB lossage
bfd_map_over_sections (stdoutput, adjust_code_sections, (PTR) 0);
+#endif
}
diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index 90cea10..7674fb4 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -4866,6 +4866,11 @@ pa_proc (unused)
callinfo_found = FALSE;
within_procedure = TRUE;
+#if 0
+ Enabling this code creates severe problems with GDB. It appears as if
+ inserting linker stubs between functions within a single .o makes GDB
+ blow chunks.
+
/* Create a new CODE subspace for each procedure if we are not
using space/subspace aliases. */
if (!USE_ALIASES && call_info_root != NULL)
@@ -4892,6 +4897,7 @@ pa_proc (unused)
obj_set_subsection_attributes (seg, current_space->sd_seg, 0x2c, 24, 0);
#endif
}
+#endif
/* Create another call_info structure. */
call_info = (struct call_info *) xmalloc (sizeof (struct call_info));
@@ -4931,6 +4937,7 @@ pa_proc (unused)
{
last_call_info->start_symbol = label_symbol->lss_label;
label_symbol->lss_label->bsym->flags |= BSF_FUNCTION;
+#if 0
if (! USE_ALIASES)
{
/* The label was defined in a different segment. Fix that
@@ -4941,6 +4948,7 @@ pa_proc (unused)
- frag_now->fr_literal));
last_call_info->start_symbol->sy_frag = frag_now;
}
+#endif
}
else
as_bad ("Missing function name for .PROC (corrupted label chain)");