* 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.
Fri Feb 4 15:53:18 1994 Steve Chamberlain (sac@cygnus.com)
* 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.
David MacKenzie [Thu, 3 Feb 1994 22:21:28 +0000 (22:21 +0000)]
* objdump.c (dump_section_stabs, read_section_stabs,
print_section_stabs): Functions broken out of dump_stabs_1.
Free the stabs and strings when done with them.
Jim Kingdon [Thu, 3 Feb 1994 19:39:47 +0000 (19:39 +0000)]
* command.c (empty_sfunc): New function.
(add_set_cmd): Use it instead of not_just_help_class_command.
(not_just_help_class_command): Change calling convention back to
what it was before yesterday's change.
Jim Kingdon [Thu, 3 Feb 1994 17:25:43 +0000 (17:25 +0000)]
* Move test with enums and partial symbols back to
gdb.t03/{ptype.exp,gdbme.c} from gdb.stabs/{weird.def,weird.exp}.
Reverts the change of 26 May 93. Per today's change to
stabs.texinfo, the behavior that weird.exp was expecting was
unreasonable; what is important is that the compiler+gdb get
things right, which happens with a recent gcc. Also fix the test
to deal with native compilers which put out the stab gdb can't
deal with.
Jim Kingdon [Thu, 3 Feb 1994 03:58:26 +0000 (03:58 +0000)]
* valarith.c (value_binop): Figure out type ourself based on
sizeof (LONGEST) rather than relying on BUILTIN_TYPE_LONGEST. The
point is that we don't depend on CC_HAS_LONG_LONG anymore.
Jim Kingdon [Thu, 3 Feb 1994 03:18:58 +0000 (03:18 +0000)]
* printcmd.c (decode_format): Don't blithely set the size for
an address to 'w'. Make it 'g' or 'h', depending on TARGET_PTR_BIT.
* defs.h: Just typedef CORE_ADDR to bfd_vma. Include bfd.h.
If BFD64, make a LONGEST a BFD_HOST_64_BIT.
* defs.h (longest_to_int): Don't depend on CC_HAS_LONG_LONG; instead
always just check against INT_MIN and INT_MAX (this also fixes things
if sizeof (long) > sizeof (int), e.g. Alpha).
* config/pa/tm-hppa.h, config/i386/sun386.h, config/rs6000/tm-rs6000.h:
Don't define LONGEST or BUILTIN_TYPE_LONGEST.
* gdbtypes.h: Remove BUILTIN_TYPE_LONGEST and
BUILTIN_TYPE_UNSIGNED_LONGEST.
* language.h, c-lang.c, ch-lang.c, m2-lang.c: Remove longest_int
and longest_unsigned_int.
* value.h (struct value): Just align to LONGEST, rather than worrying
about CC_HAS_LONG_LONG.
* valarith.c (value_binop, _initialize_valarith): Figure out type
ourself based on sizeof (LONGEST) rather than relying on
BUILTIN_TYPE_LONGEST. The point is that we don't depend on
CC_HAS_LONG_LONG anymore.
* valprint.c (val_print_type_code_int): Just call
extract_unsigned_integer directly, rather than going through
unpack_long.
* printcmd.c (decode_format): Remove code which would sometimes
change 'g' size to 'w' for integers. print_scalar_formatted handles
printing huge integers well enough, thank you.
Roland Pesch [Thu, 3 Feb 1994 03:12:38 +0000 (03:12 +0000)]
misc updates:
(1) show `-y SYMBOL' with space
(2) weaken multi-target stuff, to avoid false expectations now that
linker now often config'd with only one target
(3) describe -relax support on i960
(4) correct description of hyphen chars in symbols
(5) describe CONSTRUCTORS linker script cmd
David MacKenzie [Thu, 3 Feb 1994 01:39:10 +0000 (01:39 +0000)]
* nlmconv.c (main): Use bfd_get_flavour instead of struct member.
* ar.c (print_contents, extract_file), size.c
(print_berkeley_format): Use bfd_get_filename and
bfd_my_archive instead of dereferencing the structs directly.
David MacKenzie [Thu, 3 Feb 1994 00:25:30 +0000 (00:25 +0000)]
* nlmconv.c (main), objcopy.c (copy_file): Print matching formats
if ambiguous match.
* nm.c (display_file), size.c (display_bfd): Eliminate gotos.
Print matching formats if there is an ambiguous match. Use
bfd_nonfatal instead of hardcoded error message if nothing matches.
* arsup.c, ar.c, objdump.c: Use bfd_get_filename instead of
abfd->filename.
* nm.c (display_archive): New function, from code in display_file.
(display_rel_file): Renamed from do_one_rel_file.
* size.c: Indent.
(display_archive): New function from code in display_file.
(display_file): Check bfd_close error return.
* strings.c, objdump.c, size.c: Use bfd_nonfatal instead of bfd_perror.
* bucomm.c: Delete references to exit_handler. It wasn't set
anywhere, and now that we're using the libiberty xmalloc, it
wouldn't always get called before exiting.
(list_matching_formats): Function moved from objdump.c.
* bucomm.h: Declare it.
* objdump.c (disassemble_data): Move some variable decls closer to
their use. Add some comments. Replace a nested block with a
return.
Jim Kingdon [Wed, 2 Feb 1994 20:20:59 +0000 (20:20 +0000)]
* command.c (add_set_cmd, no_just_help_class_command): Change
to make this the sfunc, not cfunc, since that is how we call it.
* command.h: Comment difference between sfunc and cfunc.
* demangle.c (set_demangling_command): Add third arg since that
is how it is called.
(_initialize_demangler): Use sfunc, not cfunc, for
set_demangling_command, since that is how it is called.
Remove show_demangling_command; it has no effect.
* coffswap.h (coff_swap_reloc_out): If RS6000COFF_C, handle type
and size correctly.
(coff_swap_aux_in): If RS6000COFF_C, change x_csect.x_scnlen to
x_csect.x_scnlen.l to match change in coff/internal.h.
(coff_swap_aux_out): Likewise.
* internal.h (union internal_auxent): Change x_csect.x_scnlen into
a union of a long and a pointer to a symbol. XCOFF sometimes uses
this field as a symbol index.
* coff-mips.c (mips_ecoff_backend_data), coff-alpha.c
(alpha_ecoff_backend_data): Change casts of aux_in and aux_out
fields to match yesterday's changes.
* coffcode.h (coff_write_relocs): If SELECT_RELOC is defined, pass
in the internal_reloc itself, not the type.
* coff-apollo.c, coff-h8300.c, coff-h8500.c, coff-i386.c,
coff-m68k.c, coff-sh.c, coff-we32k.c, coff-z8k.c: Changed
definition of SELECT_RELOC accordingly.
Ken Raeburn [Wed, 2 Feb 1994 00:35:37 +0000 (00:35 +0000)]
* gasp.c (malloc): Don't declare, since host.h or system header files may
declare it differently.
(Actually, the only use is in xmalloc; if xmalloc didn't also zero out the
region of memory, I'd delete the function altogether and use the libiberty
version...)
Roland Pesch [Wed, 2 Feb 1994 00:01:44 +0000 (00:01 +0000)]
(1) use new flag SMALL to control whether or not insn tables appear
where avail (see comments in src)
(2) minor proofreading improvements to HPPA sec, and page break
improvement (for Cygnus format) to M68K sec
* config/obj-coff.c (dot_text_symbol, dot_data_symbol,
dot_bss_symbol): Don't define if BFD_ASSEMBLER.
(obj_symbol_to_chars): bfd_coff_swap_aux_out now takes more
arguments.
(coff_line_base): Renamed from line_base. Changed all uses.
(coff_add_linesym): Renamed from add_line_sym. Made non-static.
Changed all uses.
* config/obj-coff.h: If TC_PPC, include coff/rs6000.h.
(S_SET_STORAGE_CLASS, S_GET_STORAGE_CLASS): Declare if
BFD_ASSEMBLER.
(coff_line_base): Declare.
(coff_add_linesym): Declare if BFD_ASSEMBLER.
* coffcode.h (bfd_coff_backend_data): Added new arguments to
_bfd_coff_swap_aux_in and _bfd_coff_swap_aux_out: aux index number
and number of aux entries.
(bfd_coff_swap_aux_in, bfd_coff_swap_aux_out): Changed
accordingly.
* libcoff.h: Rebuilt.
* coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Accept new
arguments. If RS6000COFF_C, only treat C_EXT and C_HIDEXT
specially if this is the last aux entry.
* coffgen.c (coff_write_symbol, coff_get_normalized_symtab): Pass
new arguments to swap_aux functions.
Roland Pesch [Tue, 1 Feb 1994 05:27:07 +0000 (05:27 +0000)]
Revisions from Jeff Law to HPPA-directives section.
This version formats cleanly under makeinfo, and in Cygnus format.
Default FSF format works without error, but tables of machine
instructions for some machines have stupid page boundaries (FSF
version uses larger page size).
Roland Pesch [Tue, 1 Feb 1994 03:48:35 +0000 (03:48 +0000)]
(1) summary descriptions of HPPA-specific directives
(2) leading comments for future updates, about places to check for new
directives
(3) doc for new portable ".string" directive
(4) minor updates to dates etc.
Jim Kingdon [Mon, 31 Jan 1994 21:22:44 +0000 (21:22 +0000)]
* mips-tdep.c: Remove code which sets saved_regs from
init_extra_frame_info and put it in new function mips_find_saved_regs.
(READ_FRAME_REG): Remove macro and replace uses with the expansion.
* mips-tdep.c, config/mips/tm-mips.h: When examining ->saved_regs,
check if it is NULL and call mips_find_saved_regs if so.
Jim Kingdon [Mon, 31 Jan 1994 21:15:53 +0000 (21:15 +0000)]
* gdb.t24/demangle.exp: Remove a bunch of tests which differ only
in the names. The main thing these accomplish is to slow things down.
Many more such duplicates surely remain.