* config/tc-hppa.c: Disable multiple $CODE$ subspace code. It

confuses GDB for some unknown reason.
        * cofnig/obj-som.c: Likewise.
This commit is contained in:
Jeff Law 1994-01-19 00:21:16 +00:00
parent ec0bcbbaa1
commit 2f156c92bd
3 changed files with 19 additions and 0 deletions

View file

@ -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

View file

@ -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
}

View file

@ -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)");