* mmo.c (mmo_write_section_description): New function broken out
of mmo_internal_write_section.
(mmo_internal_write_section): For each of .text and .data, call
mmo_write_section_description before outputting contents if it has
nontrivially deducible vma or contents.
(mmo_has_leading_or_trailing_zero_tetra_p): New function.
(mmo_canonicalize_symtab): Adjust absolute symbols to .data
symbols if found within the .data address range.
* ld-mmix/sec-8m.d: Adjust test for dump using correct section
length.
* ld-mmix/sec-9.d: Renamed test, formerly known as sec-5.d.
* ld-mmix/sec-5.d, ld-mmix/b-offloc.s: Rewritten test.
* dlltool.c: Include <assert.h>.
(PREFIX_ALIAS_BASE): Define.
(struct export): Add member import_name;
(def_exports): Set import_name.
(make_one_lib_file): Remove prefix alias code, use import_name in .idata$6.
(gen_lib_file): Create and delete aliases.
* binutils-all/alias.def: New file.
* binutils-all/dlltool.exp: Two new -p tests.
* config/default.exp (dlltool_gas_flag): New variable.
Copy gas and lds executables into tmpdir/gas directory rather than making
symlinks which might not be supported by the host OS.
Attempt to handle the case where the host OS does not use the .exe extension
but the target OS does.
* lib/utils-lib.exp (exe_ext): New procedure.
Andreas Schwab [Sat, 23 Oct 2004 19:13:26 +0000 (19:13 +0000)]
* ada-lang.c (grow_vect): Return the new array instead of
expecting pointer to pointer to avoid violation of aliasing rules.
* ada-lang.h (GROW_VECT): Adapt call to grow_vect.
Nick Clifton [Sat, 23 Oct 2004 17:26:36 +0000 (17:26 +0000)]
* dlltool.c: Include <assert.h>.
(PREFIX_ALIAS_BASE): Define.
(struct export): Add member import_name;
(def_exports): Set import_name.
(make_one_lib_file): Remove prefix alias code, use import_name in .idata$6.
(gen_lib_file): Create and delete aliases.
* binutils-all/alias.def: New file.
* binutils-all/dlltool.exp: Two new -p tests.
* config/default.exp (dlltool_gas_flag): New variable.
Copy gas and lds executables into tmpdir/gas directory rather than making
symlinks which might not be supported by the host OS.
Attempt to handle the case where the host OS does not use the .exe extension
but the target OS does.
* lib/utils-lib.exp (exe_ext): New procedure.
Ulrich Weigand [Sat, 23 Oct 2004 16:31:23 +0000 (16:31 +0000)]
* s390-tdep.c (enum pv_boolean): Remove.
(pv_is_array_ref): Remove.
(s390_on_stack): Remove.
(S390_NUM_SPILL_SLOTS): Remove.
(struct s390_prologue_data): Remove members 'spill' and 'back_chain',
add members 'gpr_slot', 'fpr_slot', and 'back_chain_saved_p'.
(s390_store): Track all stores of orginal incoming registers to the
stack constant offsets relative to the CFA, instead of only tracking
stores into specific spill slots.
(s390_load): Likewise.
(s390_analyze_prologue): Adapt to struct s390_prologue_data changes.
(s390_prologue_frame_unwind_cache): Likewise. Only track registers
defined as call-saved by the ABI.
(s390_push_dummy_call): Use bottom of dummy call argument save area
as return value, not the top. Do not store to the called function's
register save area.
(s390_unwind_dummy_id): Adapt accordingly.
Eli Zaretskii [Sat, 23 Oct 2004 13:52:37 +0000 (13:52 +0000)]
* gdb.texinfo (SVR4 Process Information): Document subcommands of
"info proc" that are already implemented. Add index entries.
(Working Directory): Add a cross-reference to "info proc" command.
Michael Snyder [Fri, 22 Oct 2004 00:34:42 +0000 (00:34 +0000)]
2004-10-21 msnyder <msnyder@redhat.com>
* mn10300-tdep.c: Replace struct mn10300_unwind_cache with
struct trad_frame_cache. Don't seem to need any more.
(mn10300_frame_unwind_cache): Use trad_frame_cache.
Tentatively try using SP or A3 reg as frame base.
(mn10300_frame_dummy_this_id): Rename to mn10300_frame_this_id.
Call trad_frame_get_id.
(mn10300_frame_prev_reg): Call trad_frame_get_reg.
(mn10300_frame_base_address): Call trad_frame_get_this_base.
(mn10300_frame_args_address, mn10300_frame_locals_address):
Delete. Substitute mn10300_frame_base_address.
(mn10300_frame_unwind_init): Call dwarf2_frame_sniffer (even
though it doesn't seem to work yet).
* linux-i386-low.c (ps_get_thread_area): New.
* linux-x86-64-low.c (ps_get_thread_area): New.
* linux-low.c: Include <sys/syscall.h>.
(linux_kill_one_process): Don't kill the first thread here.
(linux_kill): Kill the first thread here.
(kill_lwp): New function.
(send_sigstop, linux_send_signal): Use it.
* proc-service.c: Clean up #ifdefs.
(fpregset_info): Delete.
(ps_lgetregs): Update and enable implementation.
(ps_lsetregs, ps_lgetfpregs, ps_lsetfpregs): Remove disabled
implementations.
* remote-utils.c (struct sym_cache, symbol_cache): New.
(input_interrupt): Print a clearer message.
(async_io_enabled): New variable.
(enable_async_io, disable_async_io): Use it. Update comments.
(look_up_one_symbol): Use the symbol cache.
* thread-db.c (thread_db_look_up_symbols): New function.
(thread_db_init): Update comments. Call thread_db_look_up_symbols.
Andrew Cagney [Fri, 15 Oct 2004 13:29:33 +0000 (13:29 +0000)]
2004-10-15 Andrew Cagney <cagney@gnu.org>
* ada-exp.y, ada-lex.l: Use xmalloc and xrealloc through out.
* inf-ptrace.c: Include "gdb_wait.h" instead of <wait.h>.
* Makefile.in (.y.c, .l.c): Don't replace xmalloc with xxmalloc.
Update dependencies.
* ada-lang.c (ada_lookup_symbol): Correct comment.
(ada_evaluate_subexp): Change error message for
OP_FUNCALL case so as not to indicate an internal error.
From Joel Brobecker; committed by Paul Hilfinger.
* ada-lang.c (ada_template_to_fixed_record_type_1): Detect bogus
type sizes in XVE/XVU types, and emit a warning when that happens,
instead of rounding up the size of the resulting type.
Some minor reformatting.
(ada_is_aligner_type): Do not consider a type as an aligner type
if there is a corresponding XVS type as well.
(ada_evaluate_subexp): For TERNOP_SLICE, handle cases where we
have several levels of pointer indirection to the array.
From Jerome Guitton; committed by Paul Hilfinger.
* ada-lang.c (check_size): New function.
(coerce_unspec_val_to_type): call check_size to make sure
that the object size is reasonable.
(ada_evaluate_subexp): in UNOP_IND: Ditto. In TERNOP_SLICE:
Implements the case when we get a reference when we evaluate
the expression of one of the bounds of the slice.
(ada_value_struct_elt): when a packed array field is
a reference, use ada_coerce_ref to dereference it; use
ada_value_ind only if it is a pointer.
Joel Brobecker [Fri, 15 Oct 2004 07:25:04 +0000 (07:25 +0000)]
* mips-tdep.c (mips32_scan_prologue): Move the implementation up
a bit to avoid the necessity of an advance declaration. Remove
declaration.
(set_reg_offset): Move implemenation up.
(mips16_get_imm): Likewise.
(mips16_scan_prologue): Likewise.
(reset_saved_regs): Likewise.
(mips32_scan_prologue): Likewise.
Joel Brobecker [Fri, 15 Oct 2004 07:09:10 +0000 (07:09 +0000)]
* mips-tdep.c (mips32_scan_prologue): Add advance declaration.
Remove sp as a parameter, compute it internally instead. Move
prologue scanning limit from heuristic_proc_desc to here.
(mips16_scan_prologue): Likewise.
(mips_insn16_frame_cache): Replace call to heuristic_proc_desc
by call to mips16_scan_prologue.
(mips_insn32_frame_cache): Replace call to heuristic_proc_desc
by call to mips32_scan_prologue.
(heuristic_proc_desc): Remove code that's no longer necessary.
Update calls to mips16_scan_prologue and mips32_scan_prologue.
(mips_skip_prologue): Update calls to mips16_scan_prologue
and mips32_scan_prologue.
Jakub Jelinek [Fri, 15 Oct 2004 05:19:19 +0000 (05:19 +0000)]
* elflink.c (struct already_linked_section): Removed.
(try_match_symbols_in_sections, already_linked): Removed.
(_bfd_elf_section_already_linked): Skip ^\.gnu\.linkonce\.[^.]*\.
prefix of section names when finding already_linked_table
chain. Compare section names. Instead of calling already_linked,
do it inline and only for sections in the same already_linked_list.
Joel Brobecker [Fri, 15 Oct 2004 04:29:23 +0000 (04:29 +0000)]
* mips-tdep.c (mips16_scan_prologue): Merge code from
mips16_skip_prologue. Now return the address of the first
instruction past the function prologue.
(mips16_skip_prologue): Remove, no longer necessary.
(mips_skip_prologue): Replace call to mips16_skip_prologue
by call to mips16_scan_prologue.
Alan Modra [Thu, 14 Oct 2004 23:38:08 +0000 (23:38 +0000)]
* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Add "info"
parameter. If called after _bfd_elf_write_section_eh_frame,
don't allow a -2 return unless need_* bit is already set, and
handle offsets adjusted for output_offset.
* elf-bfd.h (_bfd_elf_eh_frame_section_offset): Update prototype.
* elf.c (_bfd_elf_section_offset): Update call.
Bob Wilson [Thu, 14 Oct 2004 22:58:33 +0000 (22:58 +0000)]
* doc/c-xtensa.texi (Xtensa Options, Absolute Literals Directive):
Remove comments about placement of literal pools.
(Literal Directive): Update description of literal placement.
(Literal Prefix Directive): Remove statement that this does not apply
to absolute-mode literals. Describe new section naming scheme.
Joel Brobecker [Thu, 14 Oct 2004 22:34:25 +0000 (22:34 +0000)]
* mips-tdep.c (mips32_scan_prologue): Merge code from
mips32_skip_prologue. Now return the address of the first
instruction past the function prologue.
(mips32_skip_prologue): Remove. No longer necessary.
(mips16_skip_prologue): Add parameter end_pc instead of
computing it.
(mips_skip_prologue): Compute the upper limit for the
prologue scanning. Update call to mips16_skip_prologue.
Replace call to mips32_skip_prologue by call to
mips32_scan_prologue.
Alan Modra [Thu, 14 Oct 2004 12:54:47 +0000 (12:54 +0000)]
ld/
PR 63
* ldlang.h (lang_output_section_statement_type): Make "next" a
struct lang_output_section_statement_struct *.
(struct orphan_save): Move from elf32.em. Add "name" and "flags".
(lang_output_section_find_by_flags, lang_insert_orphan): Declare.
* ldlang.c (lang_output_section_find_1): Adjust for changed
output_section_statement "next".
(strip_excluded_output_sections): Likewise.
(lang_record_phdrs): Likewise.
(lang_output_section_find_by_flags): New function.
(output_prev_sec_find): Move from pe.em. Adjust iterator.
(lang_insert_orphan): New function. Tail end of elf32.em's
place_orphan merged with that from pe.em. Allow bfd_section to
be placed first. New heuristic for placing new output section
statement in existing script, and accompanying split of __start
symbol alignment into a separate assignment to dot.
(lang_add_section): Consistently use output->bfd_section rather than
an alias, section->output_section.
(map_input_to_output_sections): Rename overly long arg. Move
initialization of data_statement output section to here..
(lang_check_section_addresses): ..from here.
(print_assignment): Correct printing of etree_assert.
(print_all_symbols): Don't bomb if userdata is NULL.
(IGNORE_SECTION): Rearrange.
* emultempl/elf32.em (output_rel_find): Adjust interator.
(output_prev_sec_find): Delete.
(struct orphan_save): Delete.
(gld${EMULATION_NAME}_place_orphan): Cater for zero bfd_section
flags without creating a duplicate output section statement.
Revise code holding history of various orphan section placements.
Allow orphan sections to place before script specified output
sections. Call lang_output_section_find_by_flags when placement
by name fails. Use lang_insert_orphan.
* emultempl/mmo.em (output_prev_sec_find): Delete.
(struct orphan_save): Delete.
(mmo_place_orphan): Revise code holding history of orphan placement.
Allow orphans to place before existing output sections. Use
lang_insert_orphan.
* emultempl/pe.em (output_prev_sec_find): Delete.
(struct orphan_save): Delete.
(gld_${EMULATION_NAME}_place_orphan): Revise to suit use of
lang_insert_orphan.
ld/testsuite/
* ld-scripts/overlay-size.d: Update for changed orphan section
placement.
* ld-mmix/bpo-18.d: Likewise.