aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2005-05-23Approved by nickc@redhat.com:Fred Fish4-30/+67
2005-05-23 Fred Fish <fnf@specifixinc.com> * addr2line.c (unwind_inlines): New flag for 'i' option. (usage): Document '-i' option. (long_options): Recognize '--inlines'. (translate_addresses): Loop, calling bfd_find_inliner_info as necessary and printing multiple output lines. (main): Handle 'i' option. * doc/binutils.texi (addr2line): Document '-i' option. * NEWS: Mention new addr2line '-i' option.
2005-05-23Approved by nickc@redhat.comFred Fish40-4/+325
2005-05-23 Fred Fish <fnf@specifixinc.com> * dwarf2.c (struct dwarf2_debug): Add inliner_chain member. (struct funcinfo): Add caller_func, caller_file, caller_line. tag, and nesting_level members. (lookup_address_in_function_table): Change first passed parameter from "struct funcinfo *" to "struct comp_unit *". (lookup_address_in_function_table): Dereference unit to find function table. (lookup_address_in_function_table): Traverse the function list to create a chain of inlined functions back to the first non inlined function. (scan_unit_for_functions): Remember tag and nesting level. Handle DW_AT_call_file and DW_AT_call_line. (comp_unit_find_nearest_line): Adjust lookup_address_in_function_table call to pass unit pointer instead of function table pointer. For inlined functions, save pointer to the inliner chain. (_bfd_dwarf2_find_nearest_line): Initialize inliner_chain to NULL. (_bfd_dwarf2_find_inliner_info): New function that returns information from the inliner chain after a call to bfd_find_nearest_line. * bfd.c (bfd_find_inliner_info): Define using BFD_SEND. * targets.c (BFD_JUMP_TABLE_SYMBOLS): Add entry for NAME##_find_inliner_info. (bfd_target): Add _bfd_find_inliner_info. * bfd-in2.h: Regenerate. * libbfd-in.h (_bfd_nosymbols_find_inliner_info): Define as macro that always returns bfd_false. (_bfd_dwarf2_find_inliner_info): Declare. * libbfd.h: Regenerate. * elf32-arm.c (elf32_arm_find_inliner_info): New function that calls _bfd_dwarf2_find_inliner_info. (bfd_elf32_find_inliner_info): Define to elf32_arm_find_inliner_info. * elfxx-mips.c (_bfd_mips_elf_find_inliner_info): New function that calls _bfd_dwarf2_find_inliner_info. * elfxx-mips.h (_bfd_mips_elf_find_inliner_info): Declare. * elfn32-mips.c (bfd_elf32_find_inliner_info): Define to _bfd_mips_elf_find_inliner_info. * elf64-mips.c (bfd_elf64_find_inliner_info): Ditto. * elf32-mips.c (bfd_elf32_find_inliner_info): Ditto. * elf.c (_bfd_elf_find_inliner_info): New function that calls _bfd_dwarf2_find_inliner_info. * elf-bfd.h (_bfd_elf_find_inliner_info): Declare. * elfxx-target.h (bfd_elfNN_find_inliner_info): Define to _bfd_elf_find_inliner_info. * coffgen.c (coff_find_inliner_info): New function that calls _bfd_dwarf2_find_inliner_info. * libcoff-in.h (coff_find_inliner_info): Declare. * libcoff.h: Regenerate. * coff-rs6000.c (rs6000coff_vec): Add coff_find_inliner_info. (pmac_xcoff_vec) Ditto. * coff64-rs6000.c (rs6000coff64_vec): Ditto. (aix5coff64_vec): Ditto. * aout-target.h (MY_find_inliner_info): Define as _bfd_nosymbols_find_inliner_info. * aout-tic30.c (MY_find_inliner_info): Ditto. * binary.c (binary_find_inliner_info): Ditto. * i386msdos.c (msdos_find_inliner_info): Ditto. * ihex.c (ihex_find_inliner_info): Ditto. * libaout.h (aout_32_find_inliner_info): Ditto. * libecoff.h (_bfd_ecoff_find_inliner_info): Ditto. * mach-o.c (bfd_mach_o_find_inliner_info): Ditto. * mmo.c (mmo_find_inliner_info): Ditto. * nlm-target.h (nlm_find_inliner_info): Ditto. * pef.c (bfd_pef_find_inliner_info): Ditto. * ppcboot.c (ppcboot_find_inliner_info): Ditto. * srec.c (srec_find_inliner_info): Ditto. * tekhex.c (tekhex_find_inliner_info): Ditto. * versados.c (versados_find_inliner_info): Ditto. * xsym.c (bfd_sym_find_inliner_info): Ditto. * ieee.c (ieee_find_inliner_info): New function that always returns FALSE. * oasys.c (oasys_find_inliner_info): Ditto. * vms.c (vms_find_inliner_info): Ditto.
2005-05-23 * hppa.h (FLAG_STRICT): Correct comment.Dave Anglin2-423/+555
(pa_opcodes): Update load and store entries to allow both PA 1.X and PA 2.0 mneumonics when equivalent. Entries with cache control completers now require PA 1.1. Adjust whitespace.
2005-05-23 * elf32-ppc.c (ppc_elf_check_relocs): For old gcc -fPIC codeAlan Modra2-4/+27
force old plt layout.
2005-05-23(fetch_indirect_string): Display a warning message when a corruptNick Clifton2-4/+17
DW_FORM_strp value is encountered. (process_debug_info): Mention that the compilation unit offset is being displayed in hexadecimal. (display_debug_lines): Fix typo in name of .debug_line section.
2005-05-232005-05-23 Orjan Friberg <orjanf@axis.com>Orjan Friberg5-1/+536
* linux-cris-low.c: New file with support for CRIS. * linux-crisv32-low.c: Ditto for CRISv32. * Makefile.in (SFILES): Add linux-cris-low.c, linux-crisv32-low.c. (clean): Add reg-cris.c and reg-crisv32.c. Add linux-cris-low.o, linux-crisv32-low.o, reg-cris.o, reg-cris.c, reg-crisv32.o, and reg-crisv32.c to make rules. * configure.srv: Add cris-*-linux* and crisv32-*-linux* to list of recognized targets.
2005-05-23* Last commit contained the wrong ChangeLog entry.Orjan Friberg1-2/+1
2005-05-232005-05-23 Orjan Friberg <orjanf@axis.com>Orjan Friberg2-2/+7
* cris-tdep.c: Tweak values for cris-mode.
2005-05-232005-05-23 Orjan Friberg <orjanf@axis.com>Orjan Friberg2-6/+20
* gdb.texinfo (CRIS): Update the cris-version and cris-dwarf2-cfi documentation. Add documentation for cris-mode.
2005-05-23 * mdebugread.c (record_minimal_symbol): New procedure.Joel Brobecker2-22/+97
(parse_partial_symbols): Use record_minimal_symbol to record the new minimal symbols instead of prim_record_minimal_symbol and prim_record_minimal_symbol_and_info.
2005-05-23 * elf64-alpha.c (elf64_alpha_relax_section): Ignore non-allocatedRichard Henderson2-15/+37
sections. (elf64_alpha_check_relocs): Likewise. (elf64_alpha_relocate_section): Don't emit dynamic relocations to non-allocated sections.
2005-05-23*** empty log message ***gdbadmin1-1/+1
2005-05-23daily updateAlan Modra1-1/+1
2005-05-22 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Relax jsr toRichard Henderson2-37/+95
undefweak to use zero register. Call elf64_alpha_relax_got_load if not all uses removed. (elf64_alpha_relax_got_load): Relax undefweak to lda zero. (elf64_alpha_relax_section): Handle undefweak symbols. (elf64_alpha_calc_dynrel_sizes): Don't add relocs for undefweak. (elf64_alpha_size_rela_got_1): Likewise. (elf64_alpha_relocate_section): Likewise.
2005-05-22 * elf64-alpha.c (elf64_alpha_relax_section): Only operateRichard Henderson2-1/+6
on SEC_CODE sections.
2005-05-22 * ld-elfweak/dsow.dsym: Adjust for non-zero ST_OTHER.Richard Henderson4-5/+12
* ld-elfweak/weak.dsym: Likewise. * ld-selective/selective.exp: Don't test alpha.
2005-05-22* NEWS: Mention OpenBSD/arm as a new native configuration.Mark Kettenis2-0/+3
2005-05-22* armnbsd-nat.c: Include "gdb_string.h" and "inf_ptrace.h".Mark Kettenis5-21/+42
Reorder includes. Don't require FETCH_INFERIOR_REGISTERS to be defined. (armnbsd_fetch_registers): Rename from armnbsd_fetch_registers. Make static. (armnbsd_store_registers): Rename from armnbsd_store_registers. Make static. (_initialize_arm_netbsd_nat): Construct and add target vector. * Makefile.in (armnbsd-nat.o): Update dependencies. * config/arm/nbsdaout.mh (NATDEPFILES): Remove infptrace.o and intarg.o, add inf-ptrace.o. (NAT_FILE): Set to solib.h. * config/arm/nbsdelf.mh (NATDEPFILES): Remove infptrace.o and inftarg.o, add inf-ptrace.o. (NAT_FILE): Remove.
2005-05-22* arm-tdep.c (arm_extract_return_value, arm_store_return_value):Mark Kettenis2-8/+6
Change type of last argument to `gdb_byte *'.
2005-05-22 * som.c (try_prev_fixup): Changed type of subspace_reloc_sizep toDave Anglin3-11/+25
unsigned int *. (som_write_space_strings): Change type of tmp_space and p to char *. (som_write_symbol_strings): Likewise. Also change type of comp to char *comp[4]. (som_begin_writing): Change type of strings_size to unsigned int. (som_finish_writing): Likewise. (som_slurp_reloc_table): Change type of external_relocs to unsigned char *. * som.h (struct som_section_data_struct): Change type of reloc_stream field to unsigned char *.
2005-05-22* configure.host: Add arm*-*-openbsd*.Mark Kettenis3-0/+7
* configure.tgt: Add arm*-*-openbsd*.
2005-05-222005-05-22 Andrew Cagney <cagney@gnu.org>Andrew Cagney19-49/+79
* frame.h (frame_register_unwind, frame_unwind_register) (get_frame_register, frame_register, put_frame_register) (get_frame_memory, safe_frame_unwind_memory) (frame_register_read): Use gdb_byte for byte buffer parameters. * trad-frame.h (trad_frame_get_register) (frame_get_prev_register): Ditto. * frame-unwind.h (frame_prev_register_ftype): Ditto. * frame.c (frame_pop, frame_register, frame_unwind_register) (get_frame_register, frame_unwind_register_signed) (frame_unwind_register_unsigned, frame_unwind_unsigned_register) (frame_register_read, get_frame_memory): Update. * trad-frame.c (trad_frame_get_prev_register): Update. (trad_frame_get_register): Update. * gdbcore.h (deprecated_read_memory_nobpt, read_memory): Ditto. * breakpoint.c (deprecated_read_memory_nobpt): Update. * corefile.c (read_memory): Update. * tramp-frame.c (tramp_frame_prev_register): Update. * valops.c (value_assign): Update. * sentinel-frame.c (sentinel_frame_prev_register): Update. * std-regs.c (value_of_builtin_frame_fp_reg) (value_of_builtin_frame_pc_reg): Update. * infcmd.c (default_print_registers_info): Update * dummy-frame.c (dummy_frame_prev_register): Update. * findvar.c (value_of_register, value_from_register): Update. * tui/tui-regs.c (tui_register_format, tui_get_register): Update. * mi/mi-main.c (register_changed_p, get_register): Update.
2005-05-22Fix typoNick Clifton2-1/+6
2005-05-22 * config/tc-hppa.c (pa_ip): Promote architecture from PA 1.0 to 1.1Dave Anglin2-14/+17
only if an instruction match is found.
2005-05-22daily updateAlan Modra1-1/+1
2005-05-22*** empty log message ***gdbadmin1-1/+1
2005-05-212005-05-21 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu3-6/+18
* Makefile.am (ld.1): Revert the last 2 changes. (info-recursive): Depend on ld.1. * Makefile.in: Regenerated.
2005-05-212005-05-21 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu3-6/+12
* Makefile.am (ld.1): Depend on "info" instead of "configdoc.texi ldver.texi". * Makefile.in: Regenerated.
2005-05-212005-05-21 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu3-0/+9
* Makefile.am (ld.1): Depend on "info". * Makefile.in: Regenerated.
2005-05-21daily updateAlan Modra1-1/+1
2005-05-21*** empty log message ***gdbadmin1-1/+1
2005-05-20 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't eliminateDaniel Jacobowitz2-5/+12
copy relocations for VxWorks.
2005-05-20bfd/Daniel Jacobowitz7-9/+57
* bfd/elf32-ppc.c (struct ppc_elf_link_hash_entry): Add new field has_sda_refs. (ppc_elf_copy_indirect_symbol): Copy has_sda_refs. (ppc_elf_check_relocs): Set has_sda_refs. (ppc_elf_adjust_dynamic_symbol): Check has_sda_refs before eliminating copy relocations. Use has_sda_refs to place variables in .sbss. (ppc_elf_finish_dynamic_symbol): Use has_sda_refs to place variables in .sbss. ld/testsuite/ * ld-powerpc/sdalib.s, ld-powerpc/sdadyn.s, ld-powerpc/sdadyn.d: New files. * ld-powerpc/powerpc.exp: Run the new test.
2005-05-20 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Make sure thatBob Wilson2-0/+8
xtensa_default_isa is initialized.
2005-05-20 * ld-undefined/undefined.exp: Revert xfail for xtensa-*-*.Bob Wilson2-2/+4
2005-05-20 * config/tc-xtensa.c (xg_assemble_vliw_tokens): Change subtractionBob Wilson2-1/+6
to addition in argument to xtensa_dwarf2_emit_insn.
2005-05-20 * configure.ac: Fix bad description of _MSE_INT_H that caused eachEli Zaretskii3-6/+7
word in config.in to be enclosed in []. * config.in: Regenerate.
2005-05-20*** empty log message ***Eli Zaretskii1-0/+1
2005-05-20 * configure, config.in: Regenerate.Eli Zaretskii2-1/+154
2005-05-20*** empty log message ***Eli Zaretskii1-0/+5
2005-05-20 * gdb.texinfo (Numbers): Explain the example and make the wordingEli Zaretskii1-8/+12
more acurate.
2005-05-20 * configure.ac: Add snprintf and vsnprintf to AC_CHECK_DECLS.Eli Zaretskii2-1/+7
2005-05-202005-05-20 Paolo Bonzini <bonzini@gnu.org>Paolo Bonzini3-60/+40
* Makefile.def (configure-gcc): Depend on binutils having been built. (all-gcc): No need to do it here. * Makefile.in: Regenerate.
2005-05-20 * alpha-tdep.c (fp_register_zero_p): New function.Joel Brobecker2-2/+60
(fp_register_sign_bit): New function. (alpha_next_pc): Add support for floating-point control instructions.
2005-05-20 * elf32-ppc.c (allocate_dynrelocs): Correct plt offset assignedAlan Modra2-33/+57
for second and subsequent list entries. Only allocate multiple glink stubs when shared or pie. (ppc_elf_finish_dynamic_symbol): Break out early when only one glink stub is needed.
2005-05-20*** empty log message ***gdbadmin1-1/+1
2005-05-20daily updateAlan Modra1-1/+1
2005-05-19 * bfd/Makefile.am, binutils/Makefile.am, etc/Makefile.inZack Weinberg14-34/+62
* gas/Makefile.am: Have 'all' depend on 'info'. * ld/Makefile.am: Have 'all' depend on 'info' and 'ld.1'. * bfd/Makefile.in, binutils/Makefile.in, gas/Makefile.in * ld/Makefile.in: Regenerate.
2005-05-192005-05-19 Paul Brook <paul@codesourcery.com>Paul Brook3-4/+10
* configure.in: Rewrite misleading error message when requested language cannot be built. * configure: Regenerate.
2005-05-192005-05-19 Andrew Cagney <cagney@gnu.org>Andrew Cagney4-75/+37
* defs.h (extract_signed_integer, extract_unsigned_integer) (extract_long_unsigned_integer, extract_typed_address) (store_signed_integer, store_unsigned_integer) (store_typed_address): Use gdb_byte for byte buffer parameters. (push_bytes, push_word): Delete declaration. * valops.c (push_bytes, push_word): Delete function. * findvar.c (extract_signed_integer, extract_unsigned_integer) (extract_typed_address, store_signed_integer) (store_unsigned_integer): Update. Index: defs.h =================================================================== RCS file: /cvs/src/src/gdb/defs.h,v retrieving revision 1.185 diff -p -u -r1.185 defs.h --- defs.h 9 May 2005 17:20:18 -0000 1.185 +++ defs.h 19 May 2005 17:54:12 -0000 @@ -1042,27 +1042,25 @@ enum { MAX_REGISTER_SIZE = 16 }; /* In findvar.c. */ -extern LONGEST extract_signed_integer (const void *, int); +extern LONGEST extract_signed_integer (const gdb_byte *, int); -extern ULONGEST extract_unsigned_integer (const void *, int); +extern ULONGEST extract_unsigned_integer (const gdb_byte *, int); -extern int extract_long_unsigned_integer (const void *, int, LONGEST *); +extern int extract_long_unsigned_integer (const gdb_byte *, int, LONGEST *); -extern CORE_ADDR extract_typed_address (const void *buf, struct type *type); +extern CORE_ADDR extract_typed_address (const gdb_byte *buf, + struct type *type); -extern void store_signed_integer (void *, int, LONGEST); +extern void store_signed_integer (gdb_byte *, int, LONGEST); -extern void store_unsigned_integer (void *, int, ULONGEST); +extern void store_unsigned_integer (gdb_byte *, int, ULONGEST); -extern void store_typed_address (void *buf, struct type *type, CORE_ADDR addr); +extern void store_typed_address (gdb_byte *buf, struct type *type, + CORE_ADDR addr); /* From valops.c */ -extern CORE_ADDR push_bytes (CORE_ADDR, char *, int); - -extern CORE_ADDR push_word (CORE_ADDR, ULONGEST); - extern int watchdog; /* Hooks for alternate command interfaces. */ Index: findvar.c =================================================================== RCS file: /cvs/src/src/gdb/findvar.c,v retrieving revision 1.91 diff -p -u -r1.91 findvar.c --- findvar.c 14 May 2005 06:07:41 -0000 1.91 +++ findvar.c 19 May 2005 17:54:12 -0000 @@ -49,7 +49,7 @@ you lose #endif LONGEST -extract_signed_integer (const void *addr, int len) +extract_signed_integer (const gdb_byte *addr, int len) { LONGEST retval; const unsigned char *p; @@ -83,7 +83,7 @@ That operation is not available on integ } ULONGEST -extract_unsigned_integer (const void *addr, int len) +extract_unsigned_integer (const gdb_byte *addr, int len) { ULONGEST retval; const unsigned char *p; @@ -117,16 +117,18 @@ That operation is not available on integ function returns 1 and sets *PVAL. Otherwise it returns 0. */ int -extract_long_unsigned_integer (const void *addr, int orig_len, LONGEST *pval) +extract_long_unsigned_integer (const gdb_byte *addr, int orig_len, + LONGEST *pval) { - char *p, *first_addr; + const gdb_byte *p; + const gdb_byte *first_addr; int len; len = orig_len; if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG) { - for (p = (char *) addr; - len > (int) sizeof (LONGEST) && p < (char *) addr + orig_len; + for (p = addr; + len > (int) sizeof (LONGEST) && p < addr + orig_len; p++) { if (*p == 0) @@ -138,9 +140,9 @@ extract_long_unsigned_integer (const voi } else { - first_addr = (char *) addr; - for (p = (char *) addr + orig_len - 1; - len > (int) sizeof (LONGEST) && p >= (char *) addr; + first_addr = addr; + for (p = addr + orig_len - 1; + len > (int) sizeof (LONGEST) && p >= addr; p--) { if (*p == 0) @@ -164,7 +166,7 @@ extract_long_unsigned_integer (const voi /* Treat the bytes at BUF as a pointer of type TYPE, and return the address it represents. */ CORE_ADDR -extract_typed_address (const void *buf, struct type *type) +extract_typed_address (const gdb_byte *buf, struct type *type) { if (TYPE_CODE (type) != TYPE_CODE_PTR && TYPE_CODE (type) != TYPE_CODE_REF) @@ -177,11 +179,11 @@ extract_typed_address (const void *buf, void -store_signed_integer (void *addr, int len, LONGEST val) +store_signed_integer (gdb_byte *addr, int len, LONGEST val) { - unsigned char *p; - unsigned char *startaddr = (unsigned char *) addr; - unsigned char *endaddr = startaddr + len; + gdb_byte *p; + gdb_byte *startaddr = addr; + gdb_byte *endaddr = startaddr + len; /* Start at the least significant end of the integer, and work towards the most significant. */ @@ -204,7 +206,7 @@ store_signed_integer (void *addr, int le } void -store_unsigned_integer (void *addr, int len, ULONGEST val) +store_unsigned_integer (gdb_byte *addr, int len, ULONGEST val) { unsigned char *p; unsigned char *startaddr = (unsigned char *) addr; @@ -233,7 +235,7 @@ store_unsigned_integer (void *addr, int /* Store the address ADDR as a pointer of type TYPE at BUF, in target form. */ void -store_typed_address (void *buf, struct type *type, CORE_ADDR addr) +store_typed_address (gdb_byte *buf, struct type *type, CORE_ADDR addr) { if (TYPE_CODE (type) != TYPE_CODE_PTR && TYPE_CODE (type) != TYPE_CODE_REF) Index: valops.c =================================================================== RCS file: /cvs/src/src/gdb/valops.c,v retrieving revision 1.157 diff -p -u -r1.157 valops.c --- valops.c 9 May 2005 21:20:35 -0000 1.157 +++ valops.c 19 May 2005 17:54:12 -0000 @@ -933,54 +933,6 @@ value_ind (struct value *arg1) return 0; /* For lint -- never reached */ } -/* Pushing small parts of stack frames. */ - -/* Push one word (the size of object that a register holds). */ - -CORE_ADDR -push_word (CORE_ADDR sp, ULONGEST word) -{ - int len = DEPRECATED_REGISTER_SIZE; - char buffer[MAX_REGISTER_SIZE]; - - store_unsigned_integer (buffer, len, word); - if (INNER_THAN (1, 2)) - { - /* stack grows downward */ - sp -= len; - write_memory (sp, buffer, len); - } - else - { - /* stack grows upward */ - write_memory (sp, buffer, len); - sp += len; - } - - return sp; -} - -/* Push LEN bytes with data at BUFFER. */ - -CORE_ADDR -push_bytes (CORE_ADDR sp, char *buffer, int len) -{ - if (INNER_THAN (1, 2)) - { - /* stack grows downward */ - sp -= len; - write_memory (sp, buffer, len); - } - else - { - /* stack grows upward */ - write_memory (sp, buffer, len); - sp += len; - } - - return sp; -} - /* Create a value for an array by allocating space in the inferior, copying the data into that space, and then setting up an array value.