Stu Grossman [Wed, 15 May 1996 01:09:57 +0000 (01:09 +0000)]
* procfs.c (procfs_thread_alive procfs_stop): Make static.
* (procfs_pid_to_str): New routine to print out thread id's in an
intelligible manner.
* sol-thread.c (sol_thread_fetch_registers): Re-order manner in
which supply_register is called to fix bug with writing writing
individual regs.
* config/sparc/tm-sun4sol2.h: Define default for
target_pid_to_str in case host lacks libthread_db.
Stu Grossman [Tue, 14 May 1996 07:02:56 +0000 (07:02 +0000)]
* Makefile.in config.in configure configure.in
config/sparc/nm-sun4sol2.h config/sparc/sun4sol2.mh
config/sparc/tm-sun4sol2.h: Use autoconf to config Solaris thread
and pthread support, since pre-2.5 systems don't come with
libthread_db.so.1.
* procfs.c (info_proc): Use int instead of id_t. Old versions of
Irix don't see to define this.
Ian Lance Taylor [Tue, 14 May 1996 00:25:50 +0000 (00:25 +0000)]
* libcoff-in.h (struct pei_section_tdata): Define structure.
(pei_section_data): Define macro.
* libcoff.h: Rebuild.
* coffcode.h (coff_set_alignment_hook): If COFF_IMAGE_WITH_PE,
store s_paddr field in pei_section_data.
(coff_compute_section_file_positions): Use pei_section_data rather
than _cooked_size, and don't overwrite an existing value.
(coff_write_object_contents): If COFF_OBJ_WITH_PE, set s_paddr to
0. If COFF_IMAGE_WITH_PE, set s_paddr to pei_section_data.
* peicode.h (coff_bfd_copy_private_section_data): Define if
COFF_IMAGE_WITH_PE.
(pe_bfd_copy_private_section_data): New static function if
COFF_IMAGE_WITH_PE.
PR 9667.
Stu Grossman [Mon, 13 May 1996 23:22:32 +0000 (23:22 +0000)]
* sol-thread.c: More cleanup, add comments.
* (sol_thread_resume): Prevent people from trying to step
inactive threads.
* (sol_thread_wait sol_thread_fetch_registers
sol_thread_store_registers): Remove unnecessary check for
sol_thread_active. These routines won't get called unless threads
are active.
Stan Shebs [Mon, 13 May 1996 18:34:09 +0000 (18:34 +0000)]
SH3-E support from Allan Tajii <atajii@hmsi.com>:
* sh-tdep.c (sh_reg_names, sh3_reg_names): Add empty names for
float registers.
(sh3e_reg_names): New register name array.
(sh_processor_type_table): Add sh3e processor type.
* config/sh/tm-sh.h (REGISTER_VIRTUAL_TYPE): Fix test.
(REGISTER_NAMES, NUM_REGS, NUM_REALREGS, etc): Adjust for
full set of registers.
* remote-e7000.c (want_sh3, want_sh3_nopc): New globals.
(e7000_fetch_registers, e7000_wait): Use them.
* sh3-rom.c (sh3_regnames): Add float registers.
(sh3e_cmds, sh3e_ops): New globals.
(sh3e_open): New function.
(_initialize_sh3_rom): Rename from _initialize_sh3, set up
sh3e target vector.
* gdbwin.c (reg_order) [TARGET_SH]: Update for SH3-E.
* initfake.c: Call _initialize_sh3_rom instead of _initialize_sh3.
Stu Grossman [Fri, 10 May 1996 23:05:01 +0000 (23:05 +0000)]
* sol-thread.c: Cleanup. gcc -Wall fixes. Add prototypes.
Print out messages instead of codes for thread_db errors. Make
access macros for thread and lwp manipulation. Make cleanups to
fixup inferior_pid in case of errors.
Fred Fish [Fri, 10 May 1996 02:06:36 +0000 (02:06 +0000)]
* aclocal.m4: Remove unused definition of AC_C_CROSS.
* configure.in: Add powerpcle-*-solaris* host and target config
so April 30th change does not get lost next time configure is
rebuilt.
Rob Savoye [Thu, 9 May 1996 18:39:15 +0000 (18:39 +0000)]
* abug-rom.c: Config file for the older style ABug monitor thatg
runs on the mvme13x boards.
* config/m68k/monitor.mt: Add abug support for m68k croos
debugging.
Rob Savoye [Thu, 9 May 1996 15:56:58 +0000 (15:56 +0000)]
* emulparams/{elf32bmip.sh,elf32lmip.sh,mipsidt.sh,mipsidtl.sh}:
Set a new variable to signify if the final target is an embedded
system.
* scripttempl/{mips.sc,elfmips.sc}: Don't add SIZEOF_HEADERS to
.text for an embedded system.
Fred Fish [Thu, 9 May 1996 04:20:43 +0000 (04:20 +0000)]
* infcmd.c (do_registers_info): Always print the raw floating
point value's bytes in big endian order, so the the leftmost bit
is the most significant.
PR-9540
Fred Fish [Wed, 8 May 1996 23:34:34 +0000 (23:34 +0000)]
* breakpoint.c (clear_momentary_breakpoints): Remove dead code
that is referenced nowhere else.
(set_breakpoint): Ditto.
(do_enable_breakpoint): Created from enable_once_breakpoint
with a couple of changes.
(enable_breakpoint): Call do_enable_breakpoint with an appropriate
bpdisp enum value to set disposition of breakpoint.
(enable_once_breakpoint): Ditto.
(enable_delete_breakpoint): Ditto.
* breakpoint.h (clear_momentary_breakpoints): Remove prototype.
* symtab.c (find_pc_line): Improve comments.
* gdbtk.c: Fix a couple of misspellings.
* xcoffread.c: Ditto.
Wed May 8 15:12:58 1996 James G. Smith <jsmith@cygnus.co.uk>
* interp.c (xfer_direct_word, xfer_direct_long,
swap_direct_word, swap_direct_long, xfer_big_word,
xfer_big_long, xfer_little_word, xfer_little_long,
swap_word,swap_long): Added.
* interp.c (ColdReset): Provide function indirection to
host<->simulated_target transfer routines.
* interp.c (sim_store_register, sim_fetch_register): Updated to
make use of indirected transfer routines.
Rob Savoye [Wed, 8 May 1996 04:04:25 +0000 (04:04 +0000)]
* config/abug.exp: New file for the older Motorola Bug monitor
that runs on the mvme13x series VME boards.
* config/monitor.exp: Use the new config array for target settings
if they exist.
Jeff Law [Tue, 7 May 1996 21:26:58 +0000 (21:26 +0000)]
* scripttempl/h8300.sc: Place ".tiny" sections right
after ".data" sections.
* scripttempl/h8300h.sc: Place ".tiny" sections into
the "tiny" memory region, 0xff8000 through 0xffff00.
HMSE.
Jeff Law [Tue, 7 May 1996 19:36:38 +0000 (19:36 +0000)]
* scripttempl/h8300.sc: Set the entry point to the value of
"_start" rather than the start of the text segment.
* scripttempl/h8300h.sc: Likewise.
So we can have data at the start of the text space.
Jeff Law [Tue, 7 May 1996 17:33:17 +0000 (17:33 +0000)]
* scripttempl (h8300.sc, h8300h.sc): Place .rodata sections
before .text sections in main ram.
Gets "read only" data out of the instruction stream -- improves
relaxing linker. HMSE.
Jeff Law [Tue, 7 May 1996 17:17:11 +0000 (17:17 +0000)]
* coff-h8300.c (howto_table): Update names to match recent
changes to include/coff/internal.h. Fix minor errors in the
existing relocs. Add R_MOVL1 and R_MOVL2.
(rtype2howto): Similarly.
(h8300_reloc16_estimate): Rewrite to simplify, fix bugs in the
existing relaxing code and peform more relaxing.
(h8300_reloc16_extra_cases): Likewise.
Simplify, cleanup, fix bugs and improve existing relaxing code.
Add code for changing a 24/32bit absolute address into a 16bit absolute
address.
* config/obj-coff.c (yank_symbols): Check that FNAME_OFFSET is
non-zero before assuming this is a long file name.
(w_strings): Likewise.
(c_dot_file_symbol): Set FNAME_OFFSET to 1 for a long file name.
* config/obj-coff.c (w_strings): Move declaration of i inside
#ifdef block which uses it.
Jeff Law [Tue, 7 May 1996 06:47:56 +0000 (06:47 +0000)]
* config/tc-h8300.c (do_a_fix_imm): Rename last argument to
"relaxmode". Output relocs which identify various relaxing
possibilities for mov.[bwl] instructions.
(build_bytes): Pass in a relaxing mode to do_a_fix_imm.
So the linker can identify more potential relaxations. HMSE.
Jeff Law [Tue, 7 May 1996 06:40:28 +0000 (06:40 +0000)]
* internal.h (H8/300 specific relocs): Add comments better
explaining what each reloc is used for.
(R_MOV16B1, R_MOV16B2): Renamed from R_MOVB1 and R_MOVB2.
(R_MOV24B1, R_MOV24B2): Renamed from R_MOVLB1 and R_MOVLB2.
(R_MOVL1, R_MOVL2): New relocs.
More changes for the H8/300 relaxing linker. HMSE.
David Edelsohn [Mon, 6 May 1996 22:30:52 +0000 (22:30 +0000)]
* config/tc-arm.h (TC_HANDLES_FX_DONE): Define.
(MD_APPLY_FIX3): Define.
* config/tc-arm.c (my_get_expression): Only watch for bad segments
if OBJ_AOUT.
(md_apply_fix3): Renamed from md_apply_fix.
If pcrel reloc and symbol is in different section, undo effects
of md_pcrel_from.
Stu Grossman [Mon, 6 May 1996 21:27:37 +0000 (21:27 +0000)]
* fork-child.c (fork_inferior), inferior.h: init_trace_fun now
returns a possibly modified pid.
* inftarg.c (ptrace_him): Now returns pid;
* m3-nat.c (m3_trace_him): Now returns pid;
* infcmd.c (run_command): Minor cleanup.
* infrun.c (wait_for_inferior): Add another check for one_stepped
near where we read the pc to avoid erroneously setting
random_signal for multi-threaded support.
* procfs.c: Add support for Solaris LWPs. Remove def of
LOSING_POLL. Many cleanups... Several workarounds for Solaris
lossage. System call entry and exit are now handled by
dynamically registered handlers.
* (syscallname): Don't barf when handed an unknown syscall
number.
* (info_proc_syscalls): Ditto.
* sol-thread.c: New file. Implements Solaris thread support.
* symfile.c (symbol_file_add): Add call to target_new_objfile to
notify target-dependent code about new symbol tables.
* (clear_symtab_users): Call target_new_objfile to notify it of
the removal of all symbol tables.
* target.c (push_target): Make sure that to_close is non-zero
before calling it.
* target.h (target_new_objfile): Provide default.
* config/alpha/nm-osf2.h: Define LOSING_POLL because this version
of OSF can't hack using poll with /proc.
* config/sparc/nm-sun4sol2.h (target_new_objfile): Define to be
sol-thread-new-objfile.
* config/sparc/sun4sol2.mh: Add sol-thread.o to NATDEFFILES, and
add libthread_db.so.1 to NAT_CLIBS.
* config/sparc/tm-sun4sol2.h: Define PIDGET, TIDGET, and
target_pid_to_str.
Jeff Law [Fri, 3 May 1996 19:07:31 +0000 (19:07 +0000)]
* coff-h8300.c (reloc_howto_type): Add howto entry for
R_PCRWORD_B.
(rtype2howto): Handle R_PCRWORD_B.
(h8300_reloc16_extra_cases): Handle R_PCRWORD_B.
(h8300_reloc_16_estimate): Likewise. Try to turn a 16bit
pc-relative branch (R_PCRWORD) into an 8bit pc-relative
branch (R_PCWORD_B).
So we can turn 16bit pcrel branches into 8bit pcrel branches on the H8/300H.
HMSE.
Stan Shebs [Fri, 3 May 1996 02:28:13 +0000 (02:28 +0000)]
* gdbtk.tcl (debug_interface): New global, use to aid debugging.
(insert_breakpoint_tag, delete_breakpoint_tag): Fix range.
(file_popup_menu): Delete, never used.
(listing_window_popup): Rename from listing_window_button_1,
remove breakpoint toggling code.
(toggle_breakpoint): New procedure.
(create_file_win): Bind popup menu to button 2, toggle breakpoints
with button 1 in breakpoint area, add display of tagged areas if
debugging on.
Jeff Law [Thu, 2 May 1996 18:43:28 +0000 (18:43 +0000)]
* From Peter Schauer:
* breakpoint.h (enum bpdisp): Add del_at_next_stop.
* breakpoint.c (insert_breakpoints, watchpoint_check,
bpstat_stop_status): Avoid bad references to memory freed via
delete_breakpoint on watchpoints going out of scope.
Do not delete these watchpoints, disable them and change their
disposition to del_at_next_stop instead.
(breakpoint_auto_delete): Delete all breakpoints whose disposition
is del_at_next_stop.
(breakpoint_init_inferior): Use switch to avoid reference to
already deleted breakpoint.
Fixes dangling pointer problems with watchpoints.
* subsegs.h (segment_info_type): If MANY_SEGMENTS and not
BFD_ASSEMBLER, add name field.
* config/obj-coff.c (coff_header_append): Handle long section
names.
(crawl_symbols): Just use the name field for the symbol name,
without worrying about null byte termination.
(w_strings): Handle long section names.
(write_object_file): Likewise. Also, use the name field, rather
than scnhdr.s_name.
(obj_coff_add_segment): Permit long section names.
(obj_coff_init_stab_section): Use the name field, rather than
scnhdr.s_name.
(adjust_stab_section): Likewise.
* config/te-pe.h (COFF_LONG_SECTION_NAMES): Define.
Fred Fish [Thu, 2 May 1996 01:32:41 +0000 (01:32 +0000)]
* Makefile.in (rs6000-nat.o): Dependant on xcoffsolib.h.
* config/rs6000/rs6000.mh (NATDEPFILES): Move xcoffread.o ...
* config/rs6000/rs6000.mt (TDEPFILES): ... to here
* xcoffsolib.c (xcoff_relocate_symtab_hook): Define and initialize.
(solib_info): Call xcoff_relocate_symtab via the hook.
(sharedlibrary_command): Ditto.
* xcoffread.c: Remove all FAKING_RS6000 comments and defines.
(xcoff_add_toc_to_loadinfo_hook): Define and initialize here.
(xcoff_init_loadinfo_hook): Define and initialize here.
(scan_xcoff_symtab): Call xcoff_add_toc_to_loadinfo via the hook.
(xcoff_initial_scan): Call xcoff_init_loadinfo via the hook.
* xcoffsolib.h (xcoff_relocate_symtab_hook): Declare extern func.
* rs6000-tdep.c (_initialize_rs6000_tdep): Add initializations
of xcoff_add_toc_to_loadinfo_hook and xcoff_init_loadinfo_hook.
* rs6000-nat.c (_initialize_core_rs6000): Add initialization
of xcoff_relocate_symtab_hook.
* bout.c (b_out_callback): Set lma of sections.
(b_out_bfd_get_relocated_section_contents): Rename in_abfd
parameter to output_bfd. Used input_bfd instead of output_bfd in
several places.
* config/tc-i960.c (brtab_emit): Don't set fx_im_disp field.
(mem_fmt): Likewise.
(md_apply_fix): Don't check fx_im_disp field.
Fixes problem introduced by September 5, 1995 change to fx_im_disp
definition.
Ian Lance Taylor [Mon, 29 Apr 1996 17:27:02 +0000 (17:27 +0000)]
* elf32-mips.c (struct mips_elf_link_hash_entry): Add
mips_32_relocs field.
(mips_elf_link_hash_newfunc): Initialize mips_32_relocs field.
(mips_elf_relocate_section): Copy R_MIPS_REL32 and R_MIPS_32
relocs against a global symbol which is not defined in a regular
file.
(mips_elf_check_relocs): For a R_MIPS_REL32 or R_MIPS_32 reloc
against a global symbol, increment mips_32_relocs.
(mips_elf_adjust_dynamic_symbol): If mips_32_relocs is set, and
the symbol is not defined in a regular file, make room in the
.rel.dyn section.
Ian Lance Taylor [Mon, 29 Apr 1996 14:34:14 +0000 (14:34 +0000)]
Mon Apr 29 10:29:07 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.host (m68*-*-linux*): Add -dynamic-linker to
HOSTING_CRT0. Search -lgcc both before and after -lc in
HOSTING_LIBS. Look for crt{begin,end}.o in the compiler directory
at first.
(i[345]86-*-linux*): Look for crt{begin,end}.o in the compiler
directory at first.
* infcmd.c (run_command), solib.c (locate_base): Check for
target_has_execution in addition to inferior_pid, a core file
from a threaded program is yielding a non-zero inferior_pid.
* sparc-tdep.c (get_saved_register): Handle window registers
in a dummy frame correctly.
Fred Fish [Sun, 28 Apr 1996 03:47:49 +0000 (03:47 +0000)]
* Makefile.in (CLIBS): Move $(MMALLOC) past all other libs,
so that anything that wants an allocation function not yet pulled
in, will get it from mmalloc rather than a system library.
* Makefile.in (INSTALLED_LIBS): Reorder to match order of CLIBS,
to avoid surprising results when used.
Dawn Perchik [Sat, 27 Apr 1996 09:47:53 +0000 (09:47 +0000)]
* stabsread.c: Changes and bug fixes for cfront support.
Fix bug for class data members.
Fix parsing bug when no base classes exist.
Fix memory bug - allocate space for cplusplus specific info.
Add support for static data.
Add prototypes for static functions.
Enhance comments to show what each function expects to parse.
Cleanup code.
* stabsread.c(resolve_cont),dbxread.c(resolve_cont): Rename
function to resolve_cfront_continuation.
Jeff Law [Sat, 27 Apr 1996 05:56:07 +0000 (05:56 +0000)]
* infrun.c (wait_for_inferior): Call registers_changed when
restarting the inferior to get over a nullified instructions.
Fixes PA testsuite regressions.
Ian Lance Taylor [Fri, 26 Apr 1996 23:16:52 +0000 (23:16 +0000)]
* ecoff.c (ecoff_compute_section_file_positions): Track the real
file position and the virtual file position separately. Set
filepos information bsaed on the real file position.
(_bfd_ecoff_set_section_contents): Handle .lib sections like the
Jan 23 change to coffcode.h.
Make Irix 4 shared libraries work again.
Ian Lance Taylor [Fri, 26 Apr 1996 22:15:10 +0000 (22:15 +0000)]
* ldmisc.h (demangle): Declare.
* ldmisc.c: Include "libiberty.h". Include demangle.h with "",
not <>.
(demangle): Make non-static. Remove remove_underscore paramter.
Always return an allocated string.
(vfinfo): Free result of demangle. Add case 'G'. Use %T to print
functionname, rather than calling demangle. Print a colon between
the BFD(section+offset) and the line number.
* ldmain.c (add_archive_element): Improve format of archive
information in map file.
(constructor_callback): Don't print anything to the map file.
* ldlang.c (lang_one_common): Improve format of common symbol
information in map file.
* ldctor.c (ldctor_build_sets): If producing a map file, print set
information.
* ldwrite.c (print_symbol_table): Print a newline before the
header in the map file.
* Makefile.in: Rebuild dependencies.