Commit graph

38096 commits

Author SHA1 Message Date
Alexandre Oliva
38985a1cb4 * elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
entry->abfd when it's NULL.
2003-01-29 08:29:34 +00:00
gdbadmin
1dc0220c4f *** empty log message *** 2003-01-29 00:00:02 +00:00
Alan Modra
2d313b2b7c daily update 2003-01-28 23:00:04 +00:00
Alexandre Oliva
578460f23e * Makefile.in (all-subdir, check-subdir, installcheck-subdir)
(info-subdir, install-info-subdir, clean-info-subdir)
(dvi-subdir, install-subdir, etags-subdir, mostlyclean-subdir)
(clean-subdir, distclean-subdir, maintainer-clean-subdir):
Pass $(FLAGS_TO_PASS).
2003-01-28 21:53:39 +00:00
Andrew Cagney
1ae18a04ce 2003-01-28 Andrew Cagney <ac131313@redhat.com>
* complaints.c (complain): Delete function.
	* complaints.h (struct deprecated_complaint): Delete definition.
	(complain): Delete declaration.
2003-01-28 19:53:25 +00:00
Kevin Buettner
f2c16bd605 * mips-tdep.c (mips_init_extra_frame_info): Return early for
dummy frames.
2003-01-28 16:31:11 +00:00
Richard Sandiford
1a677ea81e * readelf.c (dump_relocations): Reorder the r_info field for
little-endian mips elf64.  Move #ifdef BFD64 to cover the new code.
2003-01-28 12:51:07 +00:00
Nick Clifton
a35bc64f56 Add code to prevent importing a dll multiple times. 2003-01-28 11:39:43 +00:00
Nick Clifton
a7ed1ca202 Add code to create and use directory tables. 2003-01-28 11:20:36 +00:00
Nick Clifton
df25fda59c Replace occurences of 'tolower' with 'TOLOWER'. 2003-01-28 11:02:40 +00:00
Jim Wilson
69906a9b3a Patch from David Mosberger.
* config/tc-ia64.c (dot_vframesp): Correct error message.
	(dot_vframepsp): Ditto.
2003-01-28 03:24:12 +00:00
Alexandre Oliva
7f285245cf * Makefile.in (install_to_tooldir): Instead of $(MULTISUBDIR), use
/`$$CC -print-multi-os-directory`.
2003-01-28 01:46:13 +00:00
Alexandre Oliva
70d554c0d0 Remove duplicate date line 2003-01-28 00:19:13 +00:00
Alexandre Oliva
4bb9a95f40 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
_bfd_elf_section_offset returning -2 the same way as -1.
2003-01-28 00:18:45 +00:00
Alexandre Oliva
8914585cde * ld-mips-elf/multi-got-1.d: New.
* ld-mips-elf/multi-got-1-1.s: New.
* ld-mips-elf/multi-got-1-2.s: New.
* ld-mips-elf/mips-elf.exp (elf): mips*-*-irix* is elf.
Run multi-got-1.
2003-01-28 00:01:53 +00:00
Alexandre Oliva
f4416af69e * elfxx-mips.c (mips_elf_multi_got): New function.
(struct mips_got_entry): Make symndx and gotidx signed.  Moved
addend into union along with address and link hash entry.
(struct mips_got_info): Added bfd2got and next.
(struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
(mips_elf_got_section, mips_elf_create_got_section): Use
SEC_EXCLUDE bit to tell whether we really need the got
section.  Take boolean arguments to disregard an excluded
section, or to create it as excluded.  Adjust all callers.
Use mips_elf_got_section all over.
(mips_elf_local_got_index, mips_elf_got_page,
mips_elf_got16_entry): Take input bfd as argument, and pass it
on to mips_elf_create_local_got_entry.
(mips_elf_global_got_index, mips_elf_create_local_got_entry):
Take input bfd as argument, and manage entries in the
appropriate GOT.
(mips_elf_got_offset_from_index): Take input bfd as argument,
and use it to adjust the GP offset of the bfd.
(mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
unreferenced GOT entries of global symbols to the end.
(mips_elf_record_global_got_symbol): Take input bfd as
argument.  Add entries to the master GOT hash table.
(struct mips_elf_bfd2got_hash): New.
(struct mips_elf_got_per_bfd_arg): New.
(struct mips_elf_set_global_got_offset_arg): New.
(mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
mips_elf_merge_gots, mips_elf_set_global_got_offset,
mips_elf_resolve_final_got_entry,
mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
mips_elf_got_for_ibfd): New functions.
(ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
(MIPS_ELF_GOT_MAX_SIZE): New macro.
(STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
(mips_elf_got_entry_hash): Take new fields into account.  Use
mips_elf_hash_bfd_vma.
(mips_elf_got_entry_eq): Take new fields into account.
(mips_elf_create_got_section): Initialize new fields.
(mips_elf_calculate_relocation): Pass input_bfd to functions
that now take it.  Adjust gp for the input_bfd.
(mips_elf_allocate_dynamic_relocation,
mips_elf_create_dynamic_relocation,
_bfd_mips_elf_create_dynamic_sections): Use...
(mips_elf_rel_dyn_section): New function.  Borrow code from...
(_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
now take it.  Create the got section if needed, even if
excluded, before recording a global got symbol.  Move some
code to...
(mips_elf_record_local_got_symbol): New fn.
(_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
Compute multi-got global entries offsets.  Move GOT code to...
(_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
if the GOT is too big.
(_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
undefweak symbol to zero.  Generate dynamic relocations for
non-primary GOT entries for global symbols.
(_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
case.  Generate dynamic relocations for local got entries.
Sort dynamic relocations on N64 too, using...
(sort_dynamic_relocs_64): New fns.
(_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
2003-01-28 00:01:27 +00:00
Alexandre Oliva
6aefc2162d * mips.h (EF_MIPS_XGOT): Define. 2003-01-28 00:01:08 +00:00
gdbadmin
3ebd9f331f *** empty log message *** 2003-01-28 00:00:31 +00:00
Alexandre Oliva
52b69c9e01 * bfd.c (struct _bfd): Added id field.
* opncls.c (_bfd_id_counter): New static variable.
(_bfd_new_bfd): Use it.
* bfd-in2.h: Rebuilt.
2003-01-27 23:40:39 +00:00
Alexandre Oliva
a4cb6c4d87 * gas/mips/n32-consec.d: New.
* gas/mips/n32-consec.s: New.
* gas/mips/mips.exp (run_list_test_arches): Run it on irix6 and
mips64*-linux* systems.
2003-01-27 23:01:55 +00:00
Alan Modra
93ac67b5ec daily update 2003-01-27 23:00:05 +00:00
Alexandre Oliva
1de5b6a1a2 * configure.in (em): Set to irix on all Irix systems.
* configure: Rebuilt.
* config/te-irix.h: New file.
* config/tc-mips.c (mips_dwarf2_format): Use TE_IRIX to decide
whether to use Irix-specific 64-bit format.
2003-01-27 22:45:58 +00:00
Andrew Cagney
a94dd1fda2 2003-01-27 Andrew Cagney <ac131313@redhat.com>
* sentinel-frame.h, sentinel-frame.c: New files.
	* Makefile.in (frame.o): Update dependencies.
	(SFILES): Add sentinel-frame.c.
	(sentinel_frame_h): Define.
	(COMMON_OBS): Add sentinel-frame.o.
	(sentinel-frame.o): Specify dependencies.
	* frame.c: Include "sentinel-frame.h".
	(frame_register_unwind): Rewrite assuming that there is always a a
	->next frame.
	(frame_register, generic_unwind_get_saved_register): Ditto.
	(frame_read_unsigned_register, frame_read_signed_register): Ditto.
	(create_sentinel_frame, unwind_to_current_frame): New functions.
	(get_current_frame): Rewrite using create_sentinel_frame and
	unwind_to_current_frame.  When possible, always create a frame.
	(create_new_frame): Set next to the sentinel frame.
	(get_next_frame): Rewrite.  Don't go below the level 0 frame.
	(deprecated_update_frame_pc_hack): Update the next frame's PC and
	ID cache when necessary.
	(frame_saved_regs_id_unwind): Use frame_relative_level.
	(deprecated_generic_get_saved_register): Use frame_relative_level,
	get_frame_saved_regs, get_frame_pc, get_frame_base and
	get_next_frame.
	(frame_saved_regs_register_unwind): Use get_frame_saved_regs and
	frame_register.
2003-01-27 21:41:41 +00:00
Daniel Jacobowitz
5378adc435 * gdb_indent.sh: Add -T bfd and -T asection to the indent arguments. 2003-01-27 21:16:06 +00:00
Daniel Jacobowitz
51ee2ddc9e * maint.c [! (HAVE_MONSTARTUP && HAVE__MCLEANUP)]
(maintenance_set_profile_cmd): Use error () instead of warning ().
2003-01-27 20:25:35 +00:00
Alexandre Oliva
a84dbcb3d9 * configure.in: Revert 24Jan change.
* configure:  Regenerate.
2003-01-27 19:47:23 +00:00
Daniel Jacobowitz
d9feb4e7bf * configure.in: Check that -pg works if using --enable-profiling.
Check for monstartup and _mcleanup regardless of --enable-profiling.
	* maint.c: Check for monstartup and _mcleanup before using them.
	* config.in: Regenerated.
	* configure: Regenerated.
2003-01-27 14:36:56 +00:00
Martin Schwidefsky
5cfbfc2b20 * Avoid designated initializers. 2003-01-27 08:44:21 +00:00
gdbadmin
523d7c12c7 *** empty log message *** 2003-01-27 00:00:01 +00:00
Daniel Jacobowitz
5f9624e37e include/
* hashtab.h (htab_alloc_with_arg, htab_free_with_arg): Add new types.
	(struct htab): Add alloc_arg, alloc_with_arg_f, free_with_arg_f.
	(htab_create_alloc_ex): New prototype.
	(htab_set_functions_ex): New prototype.
libiberty/
	* hashtab.c (htab_create_alloc_ex): New function.
	(hatab_set_functions_ex): New function.
	(htab_delete, htab_expand): Support alternate allocation functions.
2003-01-26 07:33:29 +00:00
gdbadmin
cad81edc07 *** empty log message *** 2003-01-26 00:00:01 +00:00
Alan Modra
71e5db1cc5 * elf32-sparc.c (bfd_elf32_new_section_hook): Define. 2003-01-25 08:20:38 +00:00
DJ Delorie
9c2259b8d5 merge from gcc 2003-01-25 00:23:30 +00:00
gdbadmin
ba25ff99d4 *** empty log message *** 2003-01-25 00:00:03 +00:00
Jakub Jelinek
b9734f3572 bfd/
* elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
	(elf32_sparc_rev32_howto): New variable.
	(sparc_reloc_map): Add TLS relocs.
	(elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
	Handle REV32.
	(sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
	New functions.
	(struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
	struct elf32_sparc_link_hash_table):
	New structures.
	(elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
	elf32_sparc_hash_table): Define.
	(link_hash_newfunc, elf32_sparc_link_hash_table_create,
	create_got_section, elf32_sparc_create_dynamic_sections,
	elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
	functions.
	(elf32_sparc_check_relocs): Handle TLS relocs.  Add dynamic reloc
	reference counting.
	(elf32_sparc_gc_sweep_hook): Likewise.
	(elf32_sparc_adjust_dynamic_symbol): Likewise.
	(elf32_sparc_size_dynamic_sections): Likewise.
	(elf32_sparc_relocate_section): Likewise.
	(allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
	New functions.
	(elf32_sparc_object_p): Allocate backend private object data.
	(bfd_elf32_bfd_link_hash_table_create,
	elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
	elf_backend_can_refcount): Define.
	(elf_backend_create_dynamic_sections): Define to
	elf32_sparc_create_dynamic_sections.
	* reloc.c: Add SPARC TLS relocs.
	* bfd-in2.h, libbfd.h: Rebuilt.
	* elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
	(sparc_reloc_map): Likewise.
gas/
	* config/tc-sparc.c (sparc_ip): Handle TLS % operators.
	(tc_gen_reloc): Handle TLS relocs.
	(sparc_cons, cons_fix_new_sparc): Handle %r_tls_dtpoff.
	* config/tc-sparc.h (tc_fix_adjustable): Don't adjust TLS
	relocs.
	* config/obj-elf.c (obj_elf_section_word): Handle tls.
	(obj_elf_type): Handle tls_object.
include/
	* elf/sparc.h: Add TLS relocs.  Move R_SPARC_REV32 to 252.
ld/testsuite/
	* ld-sparc/sparc.exp: New.
	* ld-sparc/tlsg32.s: New test.
	* ld-sparc/tlsg32.sd: Likewise.
	* ld-sparc/tlsg64.s: Likewise.
	* ld-sparc/tlsg64.sd: Likewise.
	* ld-sparc/tlslib.s: Likewise.
	* ld-sparc/tlsnopic.s: Likewise.
	* ld-sparc/tlspic.s: Likewise.
	* ld-sparc/tlssunbin32.dd: Likewise.
	* ld-sparc/tlssunbin32.rd: Likewise.
	* ld-sparc/tlssunbin32.s: Likewise.
	* ld-sparc/tlssunbin32.sd: Likewise.
	* ld-sparc/tlssunbin32.td: Likewise.
	* ld-sparc/tlssunbin64.dd: Likewise.
	* ld-sparc/tlssunbin64.rd: Likewise.
	* ld-sparc/tlssunbin64.s: Likewise.
	* ld-sparc/tlssunbin64.sd: Likewise.
	* ld-sparc/tlssunbin64.td: Likewise.
	* ld-sparc/tlssunbinpic32.s: Likewise.
	* ld-sparc/tlssunbinpic64.s: Likewise.
	* ld-sparc/tlssunnopic32.dd: Likewise.
	* ld-sparc/tlssunnopic32.rd: Likewise.
	* ld-sparc/tlssunnopic32.s: Likewise.
	* ld-sparc/tlssunnopic32.sd: Likewise.
	* ld-sparc/tlssunnopic64.dd: Likewise.
	* ld-sparc/tlssunnopic64.rd: Likewise.
	* ld-sparc/tlssunnopic64.s: Likewise.
	* ld-sparc/tlssunnopic64.sd: Likewise.
	* ld-sparc/tlssunpic32.dd: Likewise.
	* ld-sparc/tlssunpic32.rd: Likewise.
	* ld-sparc/tlssunpic32.s: Likewise.
	* ld-sparc/tlssunpic32.sd: Likewise.
	* ld-sparc/tlssunpic32.td: Likewise.
	* ld-sparc/tlssunpic64.dd: Likewise.
	* ld-sparc/tlssunpic64.rd: Likewise.
	* ld-sparc/tlssunpic64.s: Likewise.
	* ld-sparc/tlssunpic64.sd: Likewise.
	* ld-sparc/tlssunpic64.td: Likewise.
2003-01-24 23:44:45 +00:00
Alan Modra
c34ee0383a daily update 2003-01-24 23:00:06 +00:00
DJ Delorie
5a17353c6b merge from gcc 2003-01-24 21:31:35 +00:00
Martin Schwidefsky
6c5977968d * ld-s390/s390.exp: New file.
* ld-s390/tlsbin_64.dd: New file.
	* ld-s390/tlsbin_64.rd: New file.
	* ld-s390/tlsbin_64.s: New file.
	* ld-s390/tlsbin_64.sd: New file.
	* ld-s390/tlsbin_64.td: New file.
	* ld-s390/tlsbin.dd: New file.
	* ld-s390/tlsbinpic_64.s: New file.
	* ld-s390/tlsbinpic.s: New file.
	* ld-s390/tlsbin.rd: New file.
	* ld-s390/tlsbin.s: New file.
	* ld-s390/tlsbin.sd: New file.
	* ld-s390/tlsbin.td: New file.
	* ld-s390/tlslib_64.s: New file.
	* ld-s390/tlslib.s: New file.
	* ld-s390/tlspic1_64.s: New file.
	* ld-s390/tlspic1.s: New file.
	* ld-s390/tlspic2_64.s: New file.
	* ld-s390/tlspic2.s: New file.
	* ld-s390/tlspic_64.dd: New file.
	* ld-s390/tlspic_64.rd: New file.
	* ld-s390/tlspic_64.sd: New file.
	* ld-s390/tlspic_64.td: New file.
	* ld-s390/tlspic.dd: New file.
	* ld-s390/tlspic.rd: New file.
	* ld-s390/tlspic.sd: New file.
	* ld-s390/tlspic.td: New file.
2003-01-24 17:20:25 +00:00
Martin Schwidefsky
c20c23d506 * s390.h: Add s390 TLS relocations. 2003-01-24 17:15:29 +00:00
Martin Schwidefsky
1971b29d35 * config/tc-s390.c (s390_tls_suffix): New function.
(elf_suffix_type): Add suffix enums for TLS relocations.
	(s390_elf_suffix): Add suffix strings for TLS relocations.
	(s390_elf_cons): Map new lenght/elf suffix combinations for TLS to
	bfd relocations.
	(md_gather_operands): Map new instruction operand/elf suffix
	combinations for TLS to bfd relocations.
	(tc_s390_fix_adjustable): Add new TLS relocations.
	(tc_s390_force_relocation): Likewise.
	(md_apply_fix3): Likewise.
2003-01-24 17:14:25 +00:00
Martin Schwidefsky
69fc87f180 * bfd-in2.h: Regenerate.
* elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
	s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
	(elf_howto_table): Add TLS relocs.
	(elf_s390_reloc_type_lookup): Likewise.
	(elf_s390_link_hash_entry): Add tls_type.
	(elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
	New macros.
	(elf_s390_link_hash_table): Add tls_ldm_got.
	(link_hash_newfunc): Initialize tls_type.
	(elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
	(elf_s390_copy_indirect_symbol): Copy tls_type information.
	(elf_s390_check_relocs): Support TLS relocs.
	(elf_s390_gc_sweep_hook): Likewise.
	(allocate_dynrelocs): Likewise.
	(elf_s390_size_dynamic_sections): Likewise.
	(elf_s390_relocate_section): Likewise.
	(elf_s390_finish_dynamic_symbol): Likewise.
	(bfd_elf32_mkobject): Define for TLS.
	* elf64-s390.c: Same changes as for elf32-s390.c.
	* libbfd.h: Regenerate.
	* reloc.c: Add s390 TLS relocations.
2003-01-24 17:12:42 +00:00
Nick Clifton
9aa4e50515 Fix name of --enable-install-libbfd switch. 2003-01-24 16:50:24 +00:00
Alan Modra
1d3b2b274b Update copyright date 2003-01-24 01:12:30 +00:00
Nathanael Nerode
a3dd767d09 No, really this time. 2003-01-24 00:39:51 +00:00
gdbadmin
ab1fc019e0 *** empty log message *** 2003-01-24 00:00:02 +00:00
Alan Modra
d4c7c97146 * config/tc-hppa.h (DIFF_EXPR_OK): Define.
(MD_APPLY_SYM_VALUE): Move.
2003-01-23 23:17:57 +00:00
Jim Blandy
cb3c37b24c * symfile.c (syms_from_objfile): Don't print the "(no debugging
symbols found)" message here; we haven't checked for a separate
debug info file yet, so we don't know yet.
(symbol_file_add_with_addrs_or_offsets): Print it here, after
we've looked everywhere.  Also, there's no need to print a special
message when we're loading the separate debug info file: the one
symbol_file_add prints is fine.
2003-01-23 23:17:28 +00:00
Jim Blandy
5b5d99cf4d gdb/ChangeLog:
2003-01-23  Alexander Larsson <alexl@redhat.com>
	    Jim Blandy  <jimb@redhat.com>

	Add support for executables whose debug info has been separated
	out into a separate file, leaving only a link behind.
	* objfiles.h (struct objfile): New fields: separate_debug_objfile
	and separate_debug_objfile_backlink.
	(put_objfile_before): New declaration.
	* symfile.c: #include "filenames.h".
	(symbol_file_add_with_addrs_or_offsets): If this objfile has its
	debug info in a separate file, read that, too. Save the addrs
	argument, so we can use it again to read the separated debug info;
	syms_from_objfile modifies the table we pass it.
	(reread_symbols): After re-reading an objfile, call
	reread_separate_symbols to refresh its separate debug info
	objfile, if it has one.
	(reread_separate_symbols, find_separate_debug_file,
	get_debug_link_info, separate_debug_file_exists): New functions.
	(debug_file_directory): New global var.
	(_initialize_symfile): Initialize debug_file_directory, and
	provide the new `set debug-file-directory' command to let the user
	change it.
	* objfiles.c (free_objfile): If this objfile has its debug info in
	a separate objfile, free that one too.  If this is itself a
	separate debug info objfile, clear our parent's backlink.
	(put_objfile_before): New function.
	* utils.c (gnu_debuglink_crc32): New function.
	* defs.h (gnu_debuglink_crc32): New declaration.
	* Makefile.in (symfile.o): Note dependency on "filenames.h".
	* configure.in: Handle --with-separate-debug-dir config option.
	* acinclude.m4 (AC_DEFINE_DIR): New macro.
	* acconfig.h (DEBUGDIR): New macro.
	* configure, aclocal.m4, config.in: Regenerated.

gdb/doc/ChangeLog:
2003-01-23  Jim Blandy  <jimb@redhat.com>

	* gdb.texinfo (Separate Debug Files): New section.
2003-01-23 23:03:32 +00:00
Alan Modra
2e9d253267 daily update 2003-01-23 23:00:06 +00:00
Alan Modra
0ef7d236e5 * ld-alpha/tlsbin.sd: Cope with truncated address in data dumps.
* ld-alpha/tlsbin.td: Likewise.
	* ld-alpha/tlsbinr.sd: Likewise.
2003-01-23 22:37:21 +00:00