Michael Chastain [Sat, 28 Aug 2004 23:55:48 +0000 (23:55 +0000)]
2004-08-27 Michael Chastain <mec.gnu@mindspring.com>
With code from Manoj Iyer <manjo@austin.ibm.com>:
* lib/gdb.exp (gdb_file_cmd): Return more information in the
return value. Add an arm for "no debugging symbols found".
Change a stray "error" to "perror".
(gdb_run_cmd): Adapt to new return value.
* gdb.base/remote.exp: Adapt to new return value.
* gdb.gdb/complaints.exp: Likewise.
* gdb.gdb/observer.exp: Likewise.
* gdb.gdb/selftest.exp: Likewise.
* gdb.gdb/xfullpath.exp: Likewise.
Alan Modra [Sat, 28 Aug 2004 03:05:18 +0000 (03:05 +0000)]
bfd/
* bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
* elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust.
* elf.c (_bfd_elf_get_synthetic_symtab): Adjust.
* libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust.
* targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust.
* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols.
Use both symbol tables on non-relocatable objects. Use a common
error exit. Fix "mid" warning.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
binutils/
* objdump.c (dump_bfd): Pass both symbol tables to
bfd_get_synthetic_symtab.
Alan Modra [Fri, 27 Aug 2004 14:54:41 +0000 (14:54 +0000)]
* elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular
object file.
(struct sfpr_def_parms): Save some space.
(sfpr_define): Here too.
* elf64-ppc.c (compare_symbols): Put section syms first.
(sym_exists_at): New function.
(ppc64_elf_get_synthetic_symtab): Use relocs to find code entry
points only for relocatable files. Use .opd section contents
otherwise. Generally clean up the code.
Joel Brobecker [Fri, 27 Aug 2004 13:37:42 +0000 (13:37 +0000)]
* procfs.c (dbx_link_bpt_addr): New static global variable.
(dbx_link_shadow_contents): New static global variable.
(procfs_wait, case <PR_SYSEXIT>): Handle syssgi events.
(procfs_wait, case <FLTBPT>): Remove the __dbx_link brekapoint
if we just hit it.
(procfs_init_inferior): Enable syssgi() syscall trace if appropriate.
Reset dbx_link_bpt_addr as the address of __dbx_link() may change
from run to run.
(procfs_create_inferior): Remove syssgi syscall-exit notifications
after the inferior has been forked.
(remove_dbx_link_breakpoint): New function.
(dbx_link_addr): New function.
(insert_dbx_link_bpt_in_file): New function.
(insert_dbx_link_bpt_in_region): New function.
(insert_dbx_link_breakpoint): New function.
(proc_trace_syscalls_1): New function, extracted from
proc_trace_syscalls.
(proc_trace_syscalls): Replace extract code by call to
proc_trace_syscalls_1.
* solib-irix.c (disable_break): Remove stop_pc assertion, as it
is no longer valid.
Nick Clifton [Fri, 27 Aug 2004 07:10:30 +0000 (07:10 +0000)]
* gas/i386/i386.exp: Group ELF specific tests together. Move the pcrel
test into the ELF only section. Use is_elf_format to test for ELF based
toolchains.
Andrew Cagney [Wed, 25 Aug 2004 15:26:19 +0000 (15:26 +0000)]
2004-08-25 Andrew Cagney <cagney@gnu.org>
* gdb.base/sigstep.exp (breakpoint_to_handler, skip_to_handler)
(skip_over_handler, breakpoint_over_hander): New test procedures.
(advance, advancei): Add a proper prefix, do not use
rerun_to_main.
* gdb.base/sigstep.c (main): Change to use an infinite loop.
Andrew Cagney [Wed, 25 Aug 2004 15:18:05 +0000 (15:18 +0000)]
2004-08-25 Andrew Cagney <cagney@gnu.org>
* infrun.c (struct execution_control_state): Delete field
"stepping_through_sigtramp".
(init_execution_control_state): Do not set same.
(context_switch): Do not pass same to save_infrun_state and
load_infrun_state.
* gdbthread.h (struct thread_info): Delete field
stepping_through_sigtramp.
(save_infrun_state, load_infrun_state): Delete parameter
stepping_through_sigtramp.
* thread.c (load_infrun_state, save_infrun_state): Update.
Jim Blandy [Tue, 24 Aug 2004 21:01:49 +0000 (21:01 +0000)]
* dwarf2expr.h (struct dwarf_expr_context): New members
'num_pieces' and 'pieces', for returning the result of an
expression that uses DW_OP_piece.
(struct dwarf_expr_piece): New struct type.
* dwarf2expr.c (new_dwarf_expr_context): Initialize num_pieces and
pieces.
(free_dwarf_expr_context): Free pieces, if any.
(add_piece): New function.
(execute_stack_op): Implement DW_OP_piece.
* dwarf2loc.c (dwarf2_evaluate_loc_desc): If the result of the
expression is a list of pieces, print an error message.
(dwarf2_loc_desc_needs_frame): If the expression yields
pieces, and any piece is in a register, then we need a frame.
Jim Blandy [Tue, 24 Aug 2004 17:31:49 +0000 (17:31 +0000)]
* dwarf2loc.c (dwarf2_evaluate_loc_desc): Wait to fetch the top of
the stack until we've decided what sort of result the evaluation
has produced. Use separate variables, with more specific names.
Nick Clifton [Tue, 24 Aug 2004 11:37:54 +0000 (11:37 +0000)]
altmacro.[sd]: Split out part from here...
altmac2.[sd]: ... to here.
excl.s: New.
gas.exp: Suppress both tests for a few targets known to break. Run the new
(split out) test only when the target doesn't use '!' as a comment character.
Mark Kettenis [Sun, 22 Aug 2004 19:03:41 +0000 (19:03 +0000)]
* infptrace.c: Remove #ifdef'ed out inclusion of gdb_stat.h.
Reorder includes.
(fetch_register, store_register): Remove prototypes.
(child_resume): Reorganize code and comments such that it is
grouped a bit more logically.
(attach): Explicitly compare errno against 0.
(detach): Likewise. Use perror_with_name instead of
print_sys_errmsg.
* Makefile.in (infptrace.o): Update dependencies.
Mark Kettenis [Sun, 22 Aug 2004 16:27:30 +0000 (16:27 +0000)]
* amd64-linux-tdep.c (amd64_linux_sigtramp_start): Change argument
from CORE_ADDR to struct frame_info *. Use
safe_frame_unwind_memory instead of deprecated_read_memory_nobpt.
(amd64_linux_sigtramp_p): Adjust for changed signature of
and64_linux_sigtramp_start
Alan Modra [Thu, 19 Aug 2004 08:30:16 +0000 (08:30 +0000)]
* elf64-ppc.c (ppc_get_stub_entry): Change third param to a
"struct ppc_link_hash_entry *".
(ppc64_elf_relocate_section): Ditto for type of h. Introduce h_elf
to satisfy RELOC_FOR_GLOBAL_SYMBOL.
Jakub Jelinek [Thu, 19 Aug 2004 07:47:25 +0000 (07:47 +0000)]
* elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd
entries (where fd_aux overlaps next entry's fd_func).
Add non_overlapping argument, use it.
(ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms,
ppc64_elf_size_stubs, ppc64_elf_relocate_section,
ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24
as indexes into opd_sym_map/opd_adjust array.
* elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype.
* emultempl/ppc64elf.em (non_overlapping_opd): New variable.
(ppc_before_allocation): Pass it to ppc64_elf_edit_opd).
(OPTION_NON_OVERLAPPING_OPD): Define.
(PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Add
--non-overlapping-opd option.
Jakub Jelinek [Wed, 18 Aug 2004 09:51:29 +0000 (09:51 +0000)]
* config/tc-ia64.c (start_unwind_section): Add linkonce_empty
argument, don't do anything if current section is not
.gnu.linkonce.t.* and linkonce_empty is set.
(generate_unwind_image, dot_endp): Adjust callers, call
start_unwind_section (*, 1) if nothing will be put into the
section.
* Makefile.def (bootstrap-stage): Rename extra_*_flags to
stage_*_flags.
* Makefile.tpl (configure-[+module+], all-[+module+]): Exit
for bootstrapped modules if toplevel bootstrap is going.
(GCC bootstrap): Generate per-stage targets for all bootstrapped
modules. Adjust for changes in Makefile.def. Enable several
rules even in non-bootstrap mode, just to avoid peppering the
template with unnecessary "@if/@endif gcc-bootstrap" pairs.
(stage-[+prev+]-bubble): Remove.
* Makefile.def (Dependencies): Depend on all-build-bison,
all-build-flex, all-build-byacc, all-build-texinfo, rather
than the host variations.
* Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout
with BUILD_SUBDIR.
(BISON): Update for recent Bisons.
(YACC): Fix typo.
(cross): Depend on all-build.
(all): Do not depend on all-build.
(prebootstrap): Remove.
(dep-kind): Accept separate prefixes for MODULE and ON variables.
(Prebootstrap dependencies): Add them to the per-stage targets
and to all-prebootstrap.
* configure.in (build_configdirs): Always enable build_tools.
(BUILD_DIR_PREFIX): Remove.
* Makefile.def (gcc): Add target variable.
(gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags.
* Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*)
in the recursive `make', instead of hardwiring `all'.
(Autogenerated TARGET-* variables): New.
Alan Modra [Wed, 18 Aug 2004 02:45:43 +0000 (02:45 +0000)]
PR 338
* elflink.c (bfd_elf_record_link_assignment): Add comment about
changing bfd_link_hash_undefined to bfd_link_hash_new.
* ldexp.c (fold_name): Don't call bfd_link_add_undef if the symbol
was already on the undefs list.