Age | Commit message (Collapse) | Author | Files | Lines |
|
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-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.
|
|
(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.
|
|
force old plt layout.
|
|
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.
|
|
* 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.
|
|
|
|
* cris-tdep.c: Tweak values for cris-mode.
|
|
* gdb.texinfo (CRIS): Update the cris-version and cris-dwarf2-cfi
documentation. Add documentation for cris-mode.
|
|
(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.
|
|
sections.
(elf64_alpha_check_relocs): Likewise.
(elf64_alpha_relocate_section): Don't emit dynamic relocations to
non-allocated sections.
|
|
|
|
|
|
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.
|
|
on SEC_CODE sections.
|
|
* ld-elfweak/weak.dsym: Likewise.
* ld-selective/selective.exp: Don't test alpha.
|
|
|
|
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.
|
|
Change type of last argument to `gdb_byte *'.
|
|
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 *.
|
|
* configure.tgt: Add arm*-*-openbsd*.
|
|
* 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.
|
|
|
|
only if an instruction match is found.
|
|
|
|
|
|
* Makefile.am (ld.1): Revert the last 2 changes.
(info-recursive): Depend on ld.1.
* Makefile.in: Regenerated.
|
|
* Makefile.am (ld.1): Depend on "info" instead of
"configdoc.texi ldver.texi".
* Makefile.in: Regenerated.
|
|
* Makefile.am (ld.1): Depend on "info".
* Makefile.in: Regenerated.
|
|
|
|
|
|
copy relocations for VxWorks.
|
|
* 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.
|
|
xtensa_default_isa is initialized.
|
|
|
|
to addition in argument to xtensa_dwarf2_emit_insn.
|
|
word in config.in to be enclosed in [].
* config.in: Regenerate.
|
|
|
|
|
|
|
|
more acurate.
|
|
|
|
* Makefile.def (configure-gcc): Depend on binutils having been built.
(all-gcc): No need to do it here.
* Makefile.in: Regenerate.
|
|
(fp_register_sign_bit): New function.
(alpha_next_pc): Add support for floating-point control instructions.
|
|
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.
|
|
|
|
|
|
* 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.
|
|
* configure.in: Rewrite misleading error message when requested
language cannot be built.
* configure: Regenerate.
|
|
* 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.
|