* printcmd.c (print_address_symbolic): Initialize name to empty
string to avoid core dump if lookup fails.
* remote-e7000.c (printf_e7000debug): Error if target not open.
* Makefile.in, configure.in: Support for go32 coff.
* config/i386-go32.mt: New file
* emulparams/i386go32.sh: New file
* scripttempl/i386go32.sc: New file
Stu Grossman [Wed, 27 Apr 1994 05:50:42 +0000 (05:50 +0000)]
* nlm/gdbserve.c (putDebugChar): Install bug fix from i386-nlmstub.
* (hex2mem): Init ptr.
* General cleanups to use ConsolePrintf, standard prologues, etc...
Stu Grossman [Wed, 27 Apr 1994 05:50:14 +0000 (05:50 +0000)]
* i386-nlmstub.c: Update to be more in line with PIN stub.
* nlm/gdbserve.c (putDebugChar): Install bug fix from i386-nlmstub.
* (hex2mem): Init ptr.
* General cleanups to use ConsolePrintf, standard prologues, etc...
Jeff Law [Wed, 27 Apr 1994 05:24:08 +0000 (05:24 +0000)]
* gdb.t17/callfuncs.exp: More comments about t_func_values tests.
* gdb.t17/gdbme.c (t_func_values): Add comments about how and why
the code has been restructured.
* mpw-make.in (MacGDB): New target, standalone Mac-hosted gdb.
(XDEPFILES): Define.
(main.c.o): Compile with gC instead of C.
* mac-defs.h: New file, menu etc definitions shared between
C and Rez files.
* macgdb.r: New file, Rez (resource compiler) resource
definitions.
* mac-xdep.c: New file, Mac host interface code.
* config/m68k/xm-mpw.h (PATHNAME_SEPARATOR): Rename to
DIRNAME_SEPARATOR.
(PATHNAME_SEPARATOR_STRING): Remove.
(SIGQUIT, SIGHUP): Define.
(fileno, R_OK): Define.
* Makefile.in (em_m68klynx.c, em_i386lynx.c, em_sparclynx.c): Use
Lynx-specific script templates.
* configure.in (sparclite*-*-coff): Use coff-sparc.
* emulparams/i386lynx.sh (SCRIPT_NAME): Set to i386lynx.
* emulparams/sparclynx.sh (SCRIPT_NAME): Set to sparclynx.
(ENTRY): Set to __main.
* scripttempl/i386lynx.sc: New file, script for I386 Lynx.
* scripttempl/m68klynx.sc: Add insertion of ctor/dtor sections.
* scripttempl/sparclynx.sc: New file, script for uSparc Lynx.
Ken Raeburn [Tue, 26 Apr 1994 22:21:15 +0000 (22:21 +0000)]
* tc-m68k.c (flag_reg_prefix_optional): New variable. Initialized to value of
REGISTER_PREFIX_OPTIONAL, if defined, or zero.
(m68k_reg_parse): If flag_reg_prefix_optional is set, permit register prefix to
be absent.
(m68k_ip_op): Accept `&' also for immediate constants.
(insert_reg): Don't bother with (two!?) sanity checks of the symbol table when
inserting each register.
(m68k_parse_long_option): New function. Set flag_reg_prefix_optional if
"register-prefix-optional" is passed.
* tc-m68k.h (REGISTER_PREFIX): Always define if not already defined.
(OPTIONAL_REGISTER_PREFIX): Don't define.
(REGISTER_PREFIX_OPTIONAL): If not already defined, define as zero
or one depending on M68KCOFF.
Some changes to help Apollo support, from [email protected]:
* tc-m68k.c (DATA, ADDR, SP, FPREG, COPNUM, BAD, BAC): Define as macros instead
of enumerators, since the Apollo compiler can't handle "enumVal1, enumVal2 =
enumVal1" when defining an enum type.
(make_pcrel_absolute) [NO_PCREL_RELOCS]: New function.
(tc_coff_fix2rtype) [NO_PCREL_RELOCS]: Generate only R_RELBYTE, R_DIR16, and
R_DIR32 relocs.
* tc-m68k.h [TE_APOLLO] (COFF_MAGIC, COFF_AOUTHDR_MAGIC): Use Apollo versions.
[TE_APOLLO] (OBJ_COFF_OMIT_OPTIONAL_HEADER): Undefine. That is, do include the
optional header for Apollo target.
(COFF_MAGIC): Don't define as MC68MAGIC if it's already defined.
* tc-m68k.h [TE_DELTA] (LEX_PCT): Define as 1, so that `%' can be used within a
label name.
* tc-m68k.h (m68k_init_after_args): Declare.
(tc_init_after_args): Define as m68k_init_after_args.
* tc-m68k.c (m68k_init_after_args): New function, containing one-shot code from
md_assemble. Added warning for combination of 68040 and 68851.
(md_assemble): Startup-time code deleted.
* cf-sparclynx.c (LYNXOS, COFF_LONG_FILENAMES): Define.
* coff-sparc.c (BADMAG): Recognize LYNXCOFFMAGIC.
(COFF_SPARC): Define.
* coffcode.h (coff_new_section_hook): If COFF_SPARC, set alignment
power of data and bss sections to 3.
* hosts/lynx.h (__LYNXOS): Define.
Ken Raeburn [Tue, 26 Apr 1994 21:26:04 +0000 (21:26 +0000)]
* listing.c (list_symbol_table): Print "NO DEFINED SYMBOLS" and "NO UNDEFINED
SYMBOLS" if there aren't any, instead of displaying the header with an empty
list.
Stu Grossman [Tue, 26 Apr 1994 17:14:52 +0000 (17:14 +0000)]
* dbxread.c (record_minimal_symbol): Record the section
associated with the symbol to make dynmaic relocation work.
* (dbx_symfile_read, process_one_symbol): Fixes to work around
Solaris brain-damage which don't apply to relocatable object
files.
* (stabsect_build_psymtabs): New routine to read stabs out of an
arbitrarily named section.
* nlmread.c (nlm_symtab_read): Read ALL syms from the NLM, not just
globals.
* (nlm_symfile_read): Call stabsect_build_psymtabs to read the
stabs out of the nlm.
* partial-stabs.h (cases 'f' & 'F'): Fixes to work around Solaris
brain-damage which don't apply to relocatable object files.
* remote.c (putpkt): Improve error reporting and error handling.
* stabsread.c (define_symbol, scan_file_globals): Record section
info in sym.
Ian Lance Taylor [Tue, 26 Apr 1994 16:42:52 +0000 (16:42 +0000)]
* config/i386v4.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.
Ian Lance Taylor [Mon, 25 Apr 1994 19:36:51 +0000 (19:36 +0000)]
* elfcode.h (bfd_section_from_shdr): Use bfd_make_section_anyway
to create sections. Check return value of recursive calls.
(bfd_section_from_phdr): Check return value of bfd_make_section.
(elf_symbol_from_bfd_symbol): Likewise.
(elf_object_p): Check return value of bfd_section_from_shdr.
(section_from_elf_index): Likewise.
(elf_slurp_symbol_table): Check return value of
section_from_elf_index.
(bfd_prstatus): Return boolean value. Check return value of
bfd_make_section.
(bfd_fpregset): Likewise.
(bfd_prpsinfo): Return boolean value.
(elf_corefile_note): Check return values of bfd_prstatus,
bfd_fpregset, and bfd_prpsinfo.
(elf_core_file_p): Check return value of elf_corefile_note.
Jim Kingdon [Sat, 23 Apr 1994 03:00:04 +0000 (03:00 +0000)]
* infrun.c (wait_for_inferior): Move call to flush_cached_frames
to after call to target_wait. This means that flush_cached_frames
can call target_terminal_ours if it wants to.
* infrun.c (wait_for_inferior) [HAVE_NONSTEPPABLE_WATCHPOINT]: Add
comment about why the code is dubious.
Ian Lance Taylor [Fri, 22 Apr 1994 22:13:23 +0000 (22:13 +0000)]
* nlmconv.c (setup_sections): Remove special handling of .reginfo
section.
(copy_sections): Likewise.
(alpha_mangle_relocs): Use bfd_ecoff_get_gp_value rather than the
special ECOFF .reginfo section.
Ian Lance Taylor [Fri, 22 Apr 1994 22:09:44 +0000 (22:09 +0000)]
* config/obj-ecoff.c (ecoff_frob_file): Use bfd_ecoff_set_gp_value
and bfd_ecoff_set_regmasks to set the GP value and the register
masks, rather than using the now obsolete fake .reginfo section.
Ian Lance Taylor [Fri, 22 Apr 1994 22:09:25 +0000 (22:09 +0000)]
Get rid of the ECOFF .reginfo section hack.
* ecoff.c (ecoff_mkobject_hook): Don't create a .reginfo section.
(ecoff_new_section_hook): Don't handle the .reginfo section.
(ecoff_sizeof_headers): Likewise.
(ecoff_get_section_contents): Likewise.
(ecoff_compute_section_file_positions): Likewise.
(ecoff_compute_reloc_file_positions): Likewise.
(ecoff_set_section_contents): Likewise.
(ecoff_write_object_contents): Likewise.
(ecoff_bfd_final_link): Likewise.
(ecoff_bfd_copy_private_bfd_data): Copy the GP value and the
register masks.
(bfd_ecoff_get_gp_value): New function.
(bfd_ecoff_set_gp_value): New function.
(bfd_ecoff_set_regmasks): New function.
* bfd-in.h (bfd_ecoff_get_gp_value): Declare.
(bfd_ecoff_set_gp_value): Declare.
(bfd_ecoff_set_regmasks): Declare.
* bfd-in2.h: Rebuilt.
* remote-os9k.c (rombug_fetch_registers): set trace mode
correctly.
* remote-os9k.c (rombug_read_inferior_memory): cache data in
buffer.
* os9kread,c (read_os9k_psymtab): process file symbol to truncate
extra info.
* os9kread.c (os9k_read_ofile_symtab): proper casting of args
passed to process_one_symbol.
* stabsread.c (read_type): process os9k functio prototype.
Ken Raeburn [Fri, 22 Apr 1994 20:39:01 +0000 (20:39 +0000)]
* config/obj-coff.c (obj_symbol_new_hook): Don't need to strip underscores,
since symbol_new will already have done it.
* config/obj-coffbfd.c (obj_symbol_new_hook): Ditto.
Ian Lance Taylor [Fri, 22 Apr 1994 20:32:51 +0000 (20:32 +0000)]
Fix ECOFF objcopy to actually copy debugging information.
* ecoff.c (ecoff_bfd_copy_private_bfd_data): New function.
(ecoff_get_extr): Assume that any ECOFF symbol with local clear is
an external symbol, rather than checking the symbol flags. Only
check the flags for non-ECOFF symbols.
* ecofflink.c (bfd_ecoff_debug_externals): Don't crash if the
output_section field of the symbol section is NULL.
* libecoff.h (ecoff_bfd_copy_private_bfd_data): Declare as
function rather than defining as macro.
Ian Lance Taylor [Fri, 22 Apr 1994 17:15:27 +0000 (17:15 +0000)]
* objdump.c: Include libiberty.h.
(display_target_list): If a format fails, just go on to the next
one. Check return value of bfd_set_format.
(display_info_table): Likewise. Don't increment loop variable in
for loop test, since that skips the first element.
(display_target_tables): Rewrite loop for clarity. Ensure that it
always prints at least one element.
Ian Lance Taylor [Fri, 22 Apr 1994 17:11:37 +0000 (17:11 +0000)]
* aout-adobe.c (aout_adobe_set_arch_mach): Check return value of
bfd_default_set_arch_mach. Accept bfd_arch_m68k as well as
bfd_arch_unknown.
* elfcode.h (elf_set_arch_mach): Don't check a list of ELF
architectures, just see if the desired architecture matches what
the ELF backend permits.
Ian Lance Taylor [Fri, 22 Apr 1994 15:16:34 +0000 (15:16 +0000)]
Follow convention in which each NLM header has an 8 byte stamp
followed by a four byte length.
* libnlm.h (struct nlm_obj_tdata): Rename nlm_cygnus_section_hdr
to nlm_cygnus_ext_header, and change type to
Nlm_Internal_Cygnus_Ext_Header.
(nlm_cygnus_ext_header): Rename from nlm_cygnus_section_header.
* nlmcode.h (nlm_swap_auxiliary_headers_in): Use CyGnUsEx instead
of CyGnUsSeCs. Rename from cygnus_section to cygnus_ext. Require
length word to be 8.
(nlm_swap_auxiliary_headers_out): Rename from cygnus_section to
cygnus_ext. Set length word to 8.
(nlm_compute_section_file_positions): Rename from cygnus_section
to cygnus_ext.
Ian Lance Taylor [Fri, 22 Apr 1994 03:47:57 +0000 (03:47 +0000)]
* objdump.c (_DUMMY_NAME_): Don't define.
(display_target_list): Use tmpnam to get a file name rather than
using _DUMMY_NAME_. Unlink it when done.
(display_info_table): Likewise.
Jim Kingdon [Fri, 22 Apr 1994 03:01:25 +0000 (03:01 +0000)]
* utils.c (prompt_for_continue): Annotate prompt.
(query): Annotate query.
* printcmd.c (print_frame_args): Change syntax of argument
annotation to make name and value part of a single group of
annotations, not two separate groups.
* cp-valprint.c (cp_print_value_fields): Likewise for fields.
* valprint.c (val_print_array_elements): Change syntax of
annotation to be more concise.
* main.c, defs.h (command_line_input): New argument tells what
string to include in the annotations.
* symtab.c (decode_line_2), main.c (read_command_lines,
command_loop): Change callers.
Jim Kingdon [Thu, 21 Apr 1994 21:19:58 +0000 (21:19 +0000)]
* breakpoint.c (watch_command): Use (CORE_ADDR)0, not NULL, for
target null pointer.
* blockframe.c (find_frame_addr_in_frame_chain): Likewise.
* printcmd.c (output_command): Annotate things we print here too.
* Move declaration of print_value_flags from defs.h to value.h.
* main.c (command_line_input): Call wrap_here as well as gdb_flush.
Ian Lance Taylor [Thu, 21 Apr 1994 19:53:25 +0000 (19:53 +0000)]
* config/tc-mips.c (append_insn): Permit branches to be switched
with the preceding instruction even if .set nobopt has been seen.
.set nobopt actually controls whether to bring up an instruction
from the branch target, which gas does not currently support.
Ian Lance Taylor [Thu, 21 Apr 1994 18:19:22 +0000 (18:19 +0000)]
Clean up uses of _bfd_dummy_target (from Peter Schauer).
* libbfd.c (_bfd_dummy_target): Set bfd_error_wrong_format.
* nlm-target.h (nlm_core_file_p): Define as _bfd_dummy_target, not
NULL.
* srec.c (srec_vec): Use _bfd_dummy_target, not NULL, in
_bfd_check_format.
(symbolsrec_vec): Likewise.
* tekhex.c (tekhex_vec): Likewise.
Peter Schauer [Thu, 21 Apr 1994 17:01:12 +0000 (17:01 +0000)]
* libelf.h (elf_obj_tdata): Add members for dynamic symbol table
handling.
* elfcode.h (bfd_section_from_shdr): Handle dynamic symbol table.
* elfcode.h (elf_slurp_symbol_table): Take additional parameter
to select static or dynamic symbol table and return number of
symbols slurped or -1 on error.
* elfcode.h (elf_get_symtab): Set bfd symcount from
elf_slurp_symbol_table result.
* elfcode.h (elf_get_dynamic_symtab_upper_bound,
elf_canonicalize_dynamic_symtab): New functions to handle dynamic
symbol table.
* elf32-target.h, elf64-target.h (BFD_JUMP_TABLE_DYNAMIC):
Change to handle dynamic symbol table, provide default definitions
for dynamic relocs.
* aoutx.h (howto_table_std, NAME(aout,swap_std_reloc_out),
NAME(aout,swap_std_reloc_in), aout_link_input_section_std,
aout_link_reloc_link_order): Handle r_jmptable and r_relative
relocations.
Ian Lance Taylor [Thu, 21 Apr 1994 16:15:00 +0000 (16:15 +0000)]
* nlmconv.c (secsec): New static variable.
(main): Create .nlmsections section in output BFD. Store
information about it in sections header.
(setup_sections): Allocate space in sections header.
(copy_sections): Copy zero sized sections. Put information about
each section in the sections header.
Ian Lance Taylor [Thu, 21 Apr 1994 16:13:01 +0000 (16:13 +0000)]
* libnlm.h (struct nlm_obj_tdata): Add nlm_cygnus_section_hdr
field.
(nlm_cygnus_section_header): New accessor macro.
* nlmcode.h (nlm_object_p): Free new tdata structure if failure.
Add fixed sections before swapping in auxiliary headers. After
adding sections, treat errors as real, not as wrong format.
(nlm_swap_auxiliary_headers_in): Swap in the sections header; add
sections to the BFD for each section it describes.
(nlm_swap_auxiliary_headers_out): Swap out the sections header.
(nlm_compute_section_file_positions): Account for the size of the
sections header.
Jim Kingdon [Thu, 21 Apr 1994 04:28:08 +0000 (04:28 +0000)]
* printcmd.c (print_command_1): Annotate the top-level expressions
that we print.
(print_frame_args): Annotate each argument.
* printcmd.c, defs.h (print_value_flags): New function.
* cp-valprint.c (cp_print_value_fields): Annotate each field.
* valprint.c (val_print_array_elements): Annotate each array element.
Ken Raeburn [Wed, 20 Apr 1994 23:01:40 +0000 (23:01 +0000)]
* config/obj-coff.h, config/obj-coff.c: Deleted all code used only when
BFD_ASSEMBLER is not defined, and all conditionals relating to such code. No
such targets remain.
Fixes for stabs-in-coff:
* config/obj-coff.c: Include subsegs.h.
(coff_frob_section): New function.
(obj_coff_init_stab_section): New function.
* config/obj-coff.h (obj_coff_init_stab_section, coff_frob_section): Declare.
(obj_frob_section): New macro; uses coff_frob_section.
(INIT_STAB_SECTION): New macro; uses obj_coff_init_stab_section.
Jim Kingdon [Wed, 20 Apr 1994 19:23:30 +0000 (19:23 +0000)]
* main.c (main): Accept --annotate=N option and make --fullname
the same as --annotate=1.
(command_line_input): Print annotatation before and after prompt.
* blockframe.c (flush_cached_frames): Print annotation.
* Rename frame_file_full_name to annotation_level and move it from
symtab.h to defs.h.
* source.c (identify_source_line): If annotation_level > 1,
change output format.
* breakpoint.c: Print annotation whenever a breakpoint changes.
* main.c: New variable server_command.
(command_line_input): Parse "server " and set server_command.
(dont_repeat): Check server_command.
Ian Lance Taylor [Wed, 20 Apr 1994 18:38:22 +0000 (18:38 +0000)]
start-sanitize-powerpc-netware
* nlm32-ppc.c: Complete rewrite for new version of PowerPC
NetWare. Old code still present, but ifdeffed out.
end-sanitize-powerpc-netware
* nlmcode.h (nlm_swap_auxiliary_headers_in): Don't assume a
particular format for the customer header. Allocate a block of
memory and read it into that.
(nlm_swap_auxiliary_headers_out): Write out the block of memory.
(nlm_compute_section_file_positions): Include length of customer
header when computing its size.
Ian Lance Taylor [Wed, 20 Apr 1994 18:37:13 +0000 (18:37 +0000)]
start-sanitize-powerpc-netware
* nlmconv.c (powerpc_build_stubs): Take new outbfd argument.
Change caller. Create custom header for new PowerPC NetWare
format.
end-sanitize-powerpc-netware
* Makefile.in (nlmheader.o, nlmconv.o): Update dependencies.
* nlmconv.c: Include bfd.h and libiberty.h with "", not <>.
* nlmheader.y: Include bfd.h with "", not <>.
Jim Kingdon [Wed, 20 Apr 1994 18:26:12 +0000 (18:26 +0000)]
* stabs.texinfo (Stab Section Basics): Say what is in .stab
section, and say n_strx field is compilation unit relative.
* stabs.texinfo: Don't use @code for a.out when it is the name of
an object file format.