* elfcode.h (bfd_section_from_shdr): Get vma and alignment_power
of an SHT_STRTAB section from sh_addr and sh_addralign, rather
than just setting them to zero.
Ken Raeburn [Mon, 7 Feb 1994 10:11:43 +0000 (10:11 +0000)]
* tc-alpha.c (md_section_align): Change second argument and
return type to valueT, to agree with tc.h.
(alpha_do_align): Local static array nop_pattern is now unsigned
char, to avoid overflow warnings.
* tc-alpha.h (md_section_align): Delete declaration.
* obj-ecoff.c (ecoff_frob_file): Ensure that ecoff_data for
output bfd is non-null before indirecting through it.
Crock to get GP set right:
* tc-alpha.c (alpha_frob_ecoff_data): Renamed from alpha_frob_file.
* tc-alpha.h (tc_frob_file): Macro deleted.
* obj-ecoff.c (ecoff_frob_file) [TC_ALPHA]: Call alpha_frob_ecoff_data, then
fill in optional-header info with gp value and register masks.
Ken Raeburn [Mon, 7 Feb 1994 09:56:47 +0000 (09:56 +0000)]
(atof_generic): Calculate maximum number of useful digits in integer
arithmetic, to eliminate only source of dependence on floating point support,
which currently doesn't work yet on the Alpha.
David MacKenzie [Mon, 7 Feb 1994 05:17:21 +0000 (05:17 +0000)]
* elfcode.h (prep_headers, swap_out_syms): Check for NULL return
from bfd_new_strtab.
(elf_compute_section_file_positions): Check for false return from
swap_out_syms.
* linker.c (default_indirect_link_order): Check for NULL return
from bfd_get_relocated_section_contents.
* syms.c: Make example application in doc call xmalloc, not
bfd_xmalloc.
Jim Kingdon [Mon, 7 Feb 1994 02:06:27 +0000 (02:06 +0000)]
* gdb.t02/whatis.exp (v_char_array, v_signed_char_array),
gdb.t03/ptype.exp (ptype structure, ptype union):
Remove xfails; the test is looser than when the xfails were added.
Jim Kingdon [Mon, 7 Feb 1994 01:50:51 +0000 (01:50 +0000)]
* config/udi-gdb.exp (gdb_load): Use "file", not "load" command,
since "run" automatically loads if necessary. Call gdb_target_udi
after the "file" since "file" kills any execution target.
Jim Kingdon [Mon, 7 Feb 1994 00:53:43 +0000 (00:53 +0000)]
* coffread.c (process_coff_symbol, case C_TPDEF): Don't set name
of TYPE_CODE_PTR or TYPE_CODE_FUNC types. This parallels similar
changes to stabsread.c from summer 1993.
Jim Kingdon [Sun, 6 Feb 1994 23:45:18 +0000 (23:45 +0000)]
* config/udi-gdb.exp (gdb_start): Don't send "set args main" to
GDB. GDB doesn't work that way (not anymore at least) on UDI.
* gdb.t01/run.exp: Don't pass extra first argument for UDI.
Jim Kingdon [Sun, 6 Feb 1994 23:34:13 +0000 (23:34 +0000)]
* remote-udi.c (udi_files_info): If prog_name is NULL, just skip
printing the program, rather than passing NULL to printf.
(udi_detach): Set udi_session_id to -1 so that udi_close doesn't
try to call UDIDisconnect again. Print better message.
(udi_kill): Just call UDIDisconnect ourselves, rather than doing
it via udi_close.
(udi_open): Unpush UDI target after target_preopen, now that
udi_kill doesn't pop the target.
(udi_create_inferior): If udi_session_id is negative, open a new
TIP rather than giving an error.
Jim Kingdon [Sun, 6 Feb 1994 22:38:28 +0000 (22:38 +0000)]
* config/mips/mipsm3.mh, config/i386/i386m3.mh,
config/ns32k/ns32km3.mh: Define NAT_FILE.
* config/nm-m3.h: Change guard from _OS_MACH3_H_ and _OS_MACH3_H
(it was inconsistent and namespace-wrong) to NM_M3_H.
* m3-nat.c (mach_really_wait): Change parameter name to ourstatus.
(m3_open): New function.
(m3_ops): Use it.
* TODO: Update Mach section.
* Makefile.in: Remove "rapp" stuff; it is superseded by gdbserver.
Jim Kingdon [Sun, 6 Feb 1994 16:16:39 +0000 (16:16 +0000)]
* corelow.c (solib_add_stub, core_open): Pass address of from_tty
rather than trying to shove an int into a pointer and back out
again. This avoids compiler warnings.
* config/obj-coffbfd.c (obj_coff_init_stab_section): Zero the
initial stab symbol after allocating it.
* config/obj-elf.c (obj_elf_init_stab_section): Ditto.
This fixes a critical bug observed in Q4 for Lynx.
Jim Kingdon [Sat, 5 Feb 1994 20:30:35 +0000 (20:30 +0000)]
* remote-mips.c (mips_insert_breakpoint, mips_remove_breakpoint):
New functions.
(mips_store_word): Change calling convention to return errors, and
to provide old contents if the caller wants it.
(mips_xfer_memory): Deal with errors from mips_store_word.
* config/mips/tm-idt.h, config/mips/tm-idtl.h: Remove BREAKPOINT
define now that remote-mips.c doesn't use BREAKPOINT.
Jeff Law [Sat, 5 Feb 1994 19:54:51 +0000 (19:54 +0000)]
* config/tc-hppa.c (pa_ip): addb[tf] should only accept
non-negated condition completers. Add support for addb pseudo-op
which accepts both negated and non-negated completers.
Jim Kingdon [Sat, 5 Feb 1994 18:34:33 +0000 (18:34 +0000)]
* gdb.t24/demangle.exp: Re-write demangle to just call gdb_test,
properly quoting regexps. This makes the second argument to
demangle a fixed string, which matches the callers, instead of a
shell-style pattern which is what the previous implementation
used. Update some of the callers.
Jeff Law [Sat, 5 Feb 1994 18:18:49 +0000 (18:18 +0000)]
* hppa-dis.c (print_insn_hppa): No space before 'H' operand.
Floating point format for 'H' operand is backwards from normal
case (0 == double, 1 == single). For '4', '6', '7', '9', and '8'
operands (fmpyadd and fmpysub), handle bizarre register translation
correctly for single precision format.
Peter Schauer [Sat, 5 Feb 1994 13:38:52 +0000 (13:38 +0000)]
* srec.c (srec_write_record): Put CONST keyword for "src" before
"unsigned", some compilers don't like it after "unsigned".
* libcoff.h, libcoff-in.h (bfd_perform_slip): Rename "value" to
"val" in prototype declaration because some compilers don't like
arguments whose names are the same as types.
Peter Schauer [Sat, 5 Feb 1994 13:37:00 +0000 (13:37 +0000)]
* value.h (print_longest): Rename "value" to "val" in prototype
declaration because some compilers don't like arguments whose
names are the same as types.
* remote.c (remote_xfer_memory): Cast "myaddr" to unsigned char *
before passing it to remote_*_bytes.
David MacKenzie [Sat, 5 Feb 1994 12:00:15 +0000 (12:00 +0000)]
* emultempl/lnk960.em (append), emultempl/hppaosf.em
(hppaosf_finish): Call xmalloc, not ldmalloc.
* ldmain.c (preserve_output): Function removed.
(main): Do it here instead.
* aoutx.h (aout_link_check_ar_symbols): Correct test for whether
object file defines symbol. Also, if skipping a symbol, skip the
second symbol of a N_WARNING or N_INDR symbol as well.
Changed relocs to be based on subsegments (when BFD_ASSEMBLER).
* subsegs.h (struct frchain): If BFD_ASSEMBLER, added new fields
fix_root and fix_tail.
(segment_info_type): If BFD_ASSEMBLER, don't define fix_tail
field.
* write.c (fix_new_internal): If BFD_ASSEMBLER, set fix_rootP and
fix_tailP based on frchain_now, not seg_info (now_seg).
(chain_frchains_together_1): Chain the subsegment relocs together.
* subsegs.c (subseg_change): Don't clear fix_tail field.
(subseg_get): Likewise.
* literal.c (add_to_literal_pool): Look through the relocs via
frchain_now, not seginfo.
* write.c (write_object_file): Simplified usage of obj_frob_symbol
and tc_frob_symbol. Always call both if the symbol is going to be
output.
* write.c (relax_segment): Use %ld rather than %d when printing
fragP->fr_var, and cast it to long.
* reloc.c (bfd_perform_relocation): Work around one gross hack
with another: actually look at the target name to avoid the broken
COFF check.
(bfd_reloc_code_real_type): Add BFD_RELOC_PPC_B26,
BFD_RELOC_PPC_BA26 and BFD_RELOC_PPC_TOC16.
* bfd-in2.h: Rebuilt.
* coffcode.h (combined_entry_type): Changed fix_tag and fix_end
fields to bitfields. Added fields fix_value and fix_scnlen.
(sec_to_styp_flags): If STYP_DEBUG is defined, use it rather than
STYP_INFO for the type of a section named .debug.
(coff_add_missing_symbols): Don't define if RS6000COFF_C.
(coff_write_object_contents): If RS6000COFF_C, don't call
coff_add_missing_symbols.
(coff_slurp_symbol_table): If RS6000COFF_C, then if the last aux
entry has type STY_LD change the x_scnlen into a pointer to a
symbol and set fix_scnlen. Also, for a C_BSTAT symbol, change the
value into a pointer to a symbol and set fix_value.
* libcoff.h: Rebuilt.
* coffgen.c (coff_mangle_symbols): Reindent. If fix_value is set,
get the symbol offset. Likewise for fix_scnlen.
(string_size): Change type to bfd_size_type.
(debug_string_size, debug_string_section): New static variables.
(coff_fix_symbol_name): If bfd_coff_symname_in_debug returns true,
write the symbol name into the .debug section; assume that the
section has already been created with the right size.
(coff_write_symbols): Initialize debug_string_size to 0. If
bfd_coff_symname_in_debug returns true, don't put symbol name in
usual string table. After writing out all symbols, if
debug_string_size is not 0, check that it matches the size of the
.debug section.
(coff_get_normalized_symtab): Clear new fix_value and fix_scnlen
fields. If the string offset is 0, always use an empty string as
the name.
(coff_make_empty_symbol): Zero out the symbol structure.
* ppc-opc.c (powerpc_operands): New operand type MBE to handle a
single number giving a bitmask for the MB and ME fields of an M
form instruction. Change NB to accept 32, and turn it into 0;
also turn 0 into 32 when disassembling. Seperated SH from NB.
(insert_mbe, extract_mbe): New functions.
(insert_nb, extract_nb): New functions.
(SC_MASK): Mask out SA and LK bits.
(powerpc_opcodes): Change "cal" to use RT, D, RA rather than RT,
RA, SI. Change "liu" and "cau" to use UI rather than SI. Mark
"bctr" and "bctrl" as accepted by POWER. Change "rlwimi",
"rlimi", "rlwimi.", "rlimi.", "rlwinm", "rlinm", "rlwinm.",
"rlinm.", "rlmi", "rlmi.", "rlwnm", "rlnm", "rlwnm.", "rlnm." to
use MBE rather than MB. Add "mfmq" and "mtmq" POWER instructions.
(powerpc_macros): Define table of macro definitions.
(powerpc_num_macros): Define.
* ppc.h (PPC_OPERAND_NEXT): Define.
(PPC_OPERAND_NEGATIVE): Change value to make room for above.
(struct powerpc_macro): Define.
(powerpc_macros, powerpc_num_macros): Declare.
* ldmisc.c (vfinfo): Remove cleanup code.
* ldmain.c (remove_output): Put it here (new function).
(preserve_output): New function.
(main): Register remove_output and preserve_output with atexit.
* ldmain.c ldgram.y: Call xexit instead of exit.
* ldmisc.h: Declare xexit.
* h8500-tdep.c (saved_pc_after_call): The size of the
pc is memory model dependent. (segmented_command,
unsegmented_command, _initialize_h8500_tdep): New commands to
change memory model.
* remote-7000.c (initialize_remote_e7000): Change name of snoop
command.
* remote-hms.c (hms_load): Remove breakpoints when loaded.
(hms_wait): Use new status structure
(hms_open): Push the target here. (hms_before_main_loop): Not
here. (supply_val, hms_fetch_register, hms_store_register): Cope
with H8/500 names too.
* sh-tdep.c (show_regs, initialize_sh_tdep): New command to print
all registers in a compact way.
Ken Raeburn [Fri, 4 Feb 1994 22:19:31 +0000 (22:19 +0000)]
* lib/gas-defs.exp (regexp_diff): New procedure, vaguely based on
"simple_diff" from linker test suite.
* gas/sun4/addend.exp: Use it.
* gas/sun4/addend.d: New file.
Jim Kingdon [Fri, 4 Feb 1994 18:45:39 +0000 (18:45 +0000)]
* gdb.t24/demangle.exp: Remove a bunch more tests which differ
only in the names (I probably got most of them). I was even
generous with some which differed in underscores in names, and
probably missed a few, and I *still* was able to remove almost a
third of the file with almost no impact on testsuite coverage.
Jim Kingdon [Fri, 4 Feb 1994 14:40:56 +0000 (14:40 +0000)]
* gdb.texinfo (Continuing and Stepping): When talking about "step"
versus functions without line numbers, also mention stepping into
them as well as "step" when you are in them. Tell the user how to
deal with the situation. Add comment about "debugging information".
Peter Schauer [Fri, 4 Feb 1994 09:19:35 +0000 (09:19 +0000)]
* dwarfread.c (process_dies): Skip nested TAG_compile_unit DIEs.
* dwarfread.c (add_partial_symbol): Do not enter opaque aggregate
definitions into the psymtab.
* ecofflink.c (bfd_ecoff_debug_externals): If a small undefined
symbol has a value in the ECOFF symbol but not in the BFD symbol,
keep the value in the ECOFF symbol. This helps gas.
* ecoff.c (ecoff_symbol_new_hook): Clear ecoff_extern_size, not
ecoff_undefined.
(ecoff_frob_symbol): Don't check ecoff_undefined.
(ecoff_build_symbols): Get size of an undefined symbol from
sym->ecoff_extern_size, not S_GET_VALUE (sym).
* config/tc-mips.c (md_apply_fix): If this is an undefined symbol,
subtract the value from fx_addnumber to since
bfd_perform_relocation is going to add it in.
* linker.c (_bfd_generic_link_output_symbols,
_bfd_generic_link_write_global_symbol): Don't require that all
references to a common symbol be themselves common symbols.