numbering changes in include/coff/mips.h. Add entries for
MIPS_R_RELHI and MIPS_R_RELLO.
(mips_ecoff_swap_reloc_in): Handle an extra bit for the reloc type
when little endian. Treat internal MIPS_R_RELLO or MIPS_R_RELHI
relocs like MIPS_R_SWITCH, and convert r_offset from 24 to 32
bits.
(mips_ecoff_swap_reloc_out): Likewise.
(mips_adjust_reloc_in): Handle internal MIPS_R_RELLO or
MIPS_R_RELHI relocs like MIPS_R_SWITCH.
(mips_adjust_reloc_out): Likewise.
(mips_relhi_addr, mips_relhi_addend): New static variables.
(mips_relhi_reloc, mips_rello_reloc): New functions.
(mips_bfd_reloc_type_lookup): Turn BFD_RELOC_PCREL_HI16_S into
MIPS_R_RELHI and turn BFD_RELOC_PCREL_LO16 into MIPS_R_RELLO.
(mips_relocate_hi): Rename from mips_relocate_refhi, and add pcrel
argument. Changed all callers.
(mips_relocate_section): Rename got_reflo to got_lo and
reflo_int_rel to lo_int_rel. Handle MIPS_R_RELLO and MIPS_R_RELHI
relocs.
(mips_relax_section): Adjust MIPS_R_RELHI/MIPS_R_RELLO pairs when
expanding a PC relative call.
(RELOC_BITS3_TYPEHI_LITTLE): Define.
(RELOC_BITS3_TYPEHI_SH_LITTLE): Define.
(MIPS_R_PCREL16): Change value from 8 to 12 to match Irix 4.
(MIPS_R_RELHI): Define.
(MIPS_R_RELLO): Define.
(MIPS_R_SWITCH): Change value from 9 to 22.
* config/unix.exp: Use nm.new, not nm, from newly built tree.
* binutils.all/objdump.exp: Add more wildcards to list of
single-letter options in pattern for usage message.
* binutils.all/nm.exp: Deleted debug-symbols test, since it only
works for a.out/stabs systems. Fixed regexps to make underscores
optional, since some C compilers don't prepend them. Deleted
check for foo.o symbol, since again some systems don't generate
it.
bp_watchpoint_scope breakpoints.
(struct breakpoint): Add val_chain and related_breakpoint fields
for use by watchpoints.
* breakpoint.c (within_scope): Delete. No longer used.
(TARGET_CAN_USE_HARDWARE_WATCHPOINT): Provide default definition.
(target_{remove,insert}_watchpoint): Likewise.
(can_use_hardware_watchpoint): New function.
(remove_breakpoint): New function to remove a single breakpoint
or hardware watchpoint.
(insert_breakpoints): Handle insertion of hardware watchpoints.
Store a copy of the value chain derived from the watchpoint
expression.
(remove_breakpoints): Simplify by using remove_breakpoint.
(delete_breakpoint): Likewise.
(watchpoint_check): Delete the watchpoint and watchpoint scope
breakpoints when the watchpoint goes out of scope. Save & restore
the current frame after checking watchpoints.
(breakpoint_init_inferior): Likewise (restarting the program
makes all local watchpoints go out of scope).
(bpstat_stop_status): Handle hardware watchpoints much like normal
watchpoints. Delete the watchpoint and watchpoint scope breakpoint
when the watchpoint goes out of scope. Remove and reinsert all
breakpoints before returning if we stopped when a hardware watchpoint
fired.
(watch_command): Use a hardware watchpoint when possible. If
watching a local expression, build a scope breakpoint too.
(map_breakpoint_numbers): Also call given function for any
related breakpoints.
(disable_breakpoint): Never disable a scope breakpoint.
(enable_breakpoint): Handle hardware breakpoints much like normal
breakpoints, but recompute the watchpoint_scope breakpoint's
frame and address (if we have an associated scope breakpoint).
(read_memory_nobpt): Handle hardware watchpoints like normal
watchpoints. When necessary handle watchpoint_scope breakpoints.
(print_it_normal, bpstat_what, breakpoint_1, mention): Likewise.
(clear_command, breakpoint_re_set_one, enable_command): Likewise.
(disable_command): Likewise.
* blockframe.c (find_frame_addr_in_frame_chain): New function.
Extern prototype added to frame.h
* infrun.c (wait_for_inferior): Set current_frame and select
a frame before checking if we stopped due to a hardare watchpoint
firing. Handle stepping over hardware watchpoints.
(normal_stop): Remove unnecessary call to select_frame.
* value.h (value_release_to_mark): Declare.
* values.c (value_release_to_mark): New function.
* procfs.c (procfs_wait): Add cases for hardware watchpoints.
(procfs_set_watchpoint, procfs_stopped_by_watchpoint): New functions.
* hppab-nat.c (hppa_set_watchpoint): New function.
* config/pa/nm-hppab.h (STOPPED_BY_WATCHPOINT): Define.
(HAVE_STEPPABLE_WATCHPOINT): Define.
(TARGET_CAN_USE_HARDWARE_WATCHPOINT): Define.
(target_{insert,delete}_watchpoint): Define.
* subsegs.c (subsegs_begin): Call memset with args in the correct
order.
(subseg_get): Clear newly allocated seginfo, set its pointer slots
to NULL instead of 0.
Fixes a problem observed in sparc-lynx progressive.
* xcoffread.c (read_xcoff_symtab): Ignore symbols of class C_EXT,
smtyp XTY_LD, sclass XMC_DS (external data segment label). They
often have the same names as debug symbols for functions, and
confuse lookup_symbol().
* config/pa/tm-hppa.h (REGISTER_BYTES): Use 4 rather than
REGISTER_RAW_SIZE (1).
Together these changes work around a bug in HP's compiler. Both
seem to be necessary.
.fini sections into .text; keep them separate.
* config/i386sco.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
exist, get crtbegin based on gcc -print-libgcc-file-name.
(HOSTING_LIBS): Similar change for ../gcc/crtend.o.
* gdb.t15/return.exp (return_tests): Handle targets where "return"
stops in mid-line in the caller. Add xfail for returning a float
value on X86 targets.
(NAME(aout,some_aout_object_p)): Call NAME(aout,make_sections)
rather than making sections inline.
(NAME(aout,mkobject)): Don't make any sections.
(NAME(aout,adjust_sizes_and_vmas)): Call NAME(aout,make_sections).
(NAME(aout,final_link)): Don't dereference obj_textsec (abfd) or
obj_datasec (abfd) if they are NULL.
* libaout.h (NAME(aout,make_sections)): Declare.
* bout.c (b_out_mkobject): Don't make any sections.
(b_out_write_object_contents): Call aout_32_make_sections.
(b_out_set_section_contents): Likewise.
* i386os9k.c (os9k_mkobject): Don't make any sections.
(os9k_write_object_contents): Call aout_32_make_sections.
(os9k_set_section_contents): Likewise.
are in the .plt section.
* minsyms.c (lookup_solib_trampoline_symbol_by_pc,
find_solib_trampoline_target): New functions for handling
stepping into -g compiled shared libraries.
* symtab.h (lookup_solib_trampoline_symbol_by_pc,
find_solib_trampoline_target): Add prototypes.
* config/tm-sunos.h (IN_SOLIB_TRAMPOLINE, SKIP_TRAMPOLINE_CODE):
Define to handle stepping into -g compiled shared libraries.
* config/tm-sysv4.h (SKIP_TRAMPOLINE_CODE): Define to handle
stepping into -g compiled shared libraries.
* configure.in: Add mips-*-sysv4* support.
* config/mips/mipsv4.mh, config/mips/mipsv4.mt,
config/mips/tm-mipsv4.h, config/mips/xm-mipsv4.h, mipsv4-nat.c:
New files for MIPS SVR4 support.
* Makefile.in: Update for new mipsv4 files.
* alpha-tdep.c (heuristic_proc_desc, find_proc_desc): Use
read_next_frame_reg to obtain the frame relative stack pointer.
* mips-tdep.c (heuristic_proc_desc): Use read_next_frame_reg to
obtain the frame relative stack pointer.
* mdebugread.c (parse_partial_symbols, psymtab_to_symtab1):
Handle stStatic and stStaticProc symbols in stabs-in-ecoff output
by entering them into the minimal symbol table.
* printcmd.c (print_scalar_formatted): Do not try to unpack to
a long for float formats.
* solib.c: Include "elf/mips.h" only if DT_MIPS_RLD_MAP does not
get defined in <link.h>.
* solib.c (solib_add): Add shared library sections to the section
table of the target before adding the symbols.
* partial-stab.h: Relocate static and global functions.
* dbxread.c (read_dbx_symtab): Remove unused variable
end_of_text_address. Relocate text_addr when passing it
to end_psymtab.
For Alpha OSF/1 targets, enable gdb to set breakpoints in shared
library functions before the executable is run. Retrieve dynamic
symbols from stripped executables.
* mipsread.c (read_alphacoff_dynamic_symtab): New function.
* mipsread.c (mipscoff_symfile_read): Use it. Issue warning message
if no debugging symbols were found.
* alpha-tdep.c (alpha_skip_prologue): Silently return the unaltered
pc if memory at the pc is not accessible and GDB_TARGET_HAS_SHARED_LIBS
is defined.
* config/alpha/nm-alpha.h (GDB_TARGET_HAS_SHARED_LIBS): Define,
OSF/1 has shared libraries.