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.
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.