Commit Graph

31437 Commits

Author SHA1 Message Date
Andrew Cagney e712c1cf79 * rs6000-tdep.c (rs6000_gdbarch_init): Don't use the previous
architecture to infer the wordsize.  Previous architecture may not
be a PowerPC.
2001-09-29 21:32:01 +00:00
Alexandre Oliva 373688ac81 * Makefile.in (configure-target-gperf): Depend on $(ALL_GCC_CXX). 2001-09-29 19:38:32 +00:00
DJ Delorie da191b5b76 merge from gcc 2001-09-29 16:55:59 +00:00
Hans-Peter Nilsson c9253ef63b Oops - forgot to remove xfail 2001-09-29 13:02:24 +00:00
Hans-Peter Nilsson 8e13f7b1f9 * ld-linkonce/linkonce.exp: New file.
* ld-linkonce/x.s, ld-linkonce/y.s, ld-linkonce/zeroeh.ld,
	ld-linkonce/zeroehl32.d: New test.
2001-09-29 13:01:17 +00:00
Alan Modra 4818e05fe5 From John Reiser <jreiser@BitWagon.com>
* ldlang.c (lang_common): Conditionally inhibit Common allocation.
	* lexsup.c: Add --no-define-common commandline option.
	* ldgram.y: Add INHIBIT_COMMON_ALLOCATION script command.
	* ldlex.l: Likewise.
	* ld.h: Add command_line.inhibit_common_definition.
	* ldmain.c (main): Initialize.
	* ld.texinfo: Document.
2001-09-29 12:57:54 +00:00
Alan Modra 862517b650 * section.c (struct sec): Remove kept_section.
(STD_SECTION): Remove kept_section initialisation.
	(bfd_make_section_anyway): Here too.
	* ecoff.c (bfd_debug_section): Remove kept_section initialisation.
	* cofflink.c (_bfd_coff_link_input_bfd): Don't test kept_section.
	* elflink.h (elf_link_input_bfd): Set discarded link-once section
	symbols to zero, and remove all code involved with kept_section
	and tracking section symbol values.
	* bfd-in2.h: Regenerate.
	* configure.in: Bump version number.
	* configure: Regenerate.

	* ldlang.c (section_already_linked): Remove assignment to kept_section.
2001-09-29 12:07:01 +00:00
Alan Modra 65f38f15bf * elf64-ppc.c (struct ppc_dyn_relocs): New.
(IS_ABSOLUTE_RELOC): Define.
	(struct ppc_link_hash_entry): New.
	(struct ppc_link_hash_table): New.
	(ppc_hash_table): Define.
	(link_hash_newfunc): New function.
	(ppc64_elf_link_hash_table_create): New function.
	(create_got_section): New function.
	(ppc64_elf_create_dynamic_sections): Call create_got_section.  Stash
	pointers to our dynamic sections in hash table.
	(ppc64_elf_copy_indirect_symbol): New function.
	(ppc64_elf_check_relocs): Remove DEBUG code.  Use short-cuts to
	dynamic sections.  Localise vars.  Modify code for refcounts
	starting from zero.  Don't allocate here, or force symbols dynamic.
	Don't copy all relocs if shared, select ones we need.  Add code
	to track possible copy relocs for non-shared link.
	(ppc64_elf_gc_mark_hook): Update comment.
	(ppc64_elf_gc_sweep_hook): Sweep dynrelocs too.
	(ppc64_elf_adjust_dynamic_symbol): Remove DEBUG code.  Rewrite .plt
	code for reference counting garbage collection.  Don't create .plt
	entries for functions that don't comply with ABI naming convention,
	and don't allocate .plt space here.  Use short-cuts to dynamic
	sections.  If possible, keep dynamic relocations instead of using
	copy relocs.  Remove confused comments.
	(ppc_adjust_dynindx): Delete.
	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
	(allocate_dynrelocs): New function.
	(readonly_dynrelocs): New function.
	(ppc64_elf_size_dynamic_sections): Rewrite.  Allocate local .got
	space here, and call allocate_dynrelocs to allocate space for
	global .plt, .got and reloc sections.  Use short-cuts to dynamic
	sections.  Call readonly_dynrelocs to determine whether we need
	DT_TEXTREL.  Don't generate section symbols here, the generic
	ELF linker code does it for us.
	(ppc64_elf_final_link): Call regular ELF backend linker rather than
	gc variety, since we do our own .got handling.
	(ppc64_elf_relocate_section): Remove DEBUG code.  Make use of
	dynamic section short-cuts.  Localise vars, and delay setting.
	Handle unknown relocs in main switch statement.  Replace ugly
	complicated tests for unresolvable relocs with a simple direct
	scheme using "unresolved_reloc" var.  Test ELF_ST_VISIBILITY
	before allowing an undefined sym in a shared lib.  Do R_*_DS tests
	after main switch, when we've set addend.  Do non-addend insn
	tweaks before main swithc.  Ignore input_section->vma when
	calculating reloc offsets as it's always zero.  Rewrite dynamic
	reloc handling.  Consolidate R_*_HA handling.  Handle more relocs.
	(ppc64_elf_finish_dynamic_symbol): Remove DEBUG code.  Make use
	of dynamic section short-cuts.  Reorganise .plt handling code.
	Remove confused comments.  Take note of ELF_LINK_FORCED_LOCAL.
	Move expressions out of swap_reloca_out function calls.
	(ppc64_elf_reloc_type_class): New function.
	(ppc64_elf_info_to_howto): Move common expression to local var.
	(ppc64_elf_finish_dynamic_sections): Remove DEBUG code.  Make use
	of dynamic section short-cuts.  Don't fiddle with section syms
	here as the ELF linker does it for us.
	(elf_backend_can_refcount): Define.
	(bfd_elf64_bfd_link_hash_table_create): Define.
	(elf_backend_copy_indirect_symbol): Define.
	(elf_backend_reloc_type_class): Define.
	(elf_backend_*, bfd_elf64_bfd_* defines): Sort.
2001-09-29 06:49:16 +00:00
Alan Modra 51b64d56a7 * elf-bfd.h (struct elf_link_local_dynamic_entry): Add init_refcount.
(struct elf_backend_data): Add can_refcount.
	* elf.c (_bfd_elf_link_hash_newfunc): Get rid of a few casts.  Set
	got.refcount and plt.refcount from init_refcount.
	(_bfd_elf_link_hash_table_init): Set up init_refcount.
	(_bfd_elf_link_hash_copy_indirect): Reference got/plt.refcount
	rather than got/plt.offset, and test for <= 0 rather than -1.
	* elflink.h (size_dynamic_sections): Set init_refcount to -1.
	* elfxx-target.h (elf_backend_can_refcount): Define.
	(elfNN_bed): Init can_refcount.
	* linker.c (_bfd_link_hash_newfunc): Get rid of a few casts.
	(_bfd_generic_link_hash_newfunc): Likewise.
	* elf32-cris.c (cris_elf_check_relocs): Modify for refcounts
	starting from zero.
	(elf_backend_can_refcount): Define.
	* elf32-hppa.c (elf32_hppa_check_relocs): Modify for refcounts
	starting from zero.
	(elf32_hppa_copy_indirect_symbol): Make static to agree with
	prototype.
	(elf_backend_can_refcount): Define.
	* elf32-i386.c (elf_i386_check_relocs): Modify for refcounts
	starting from zero.
	(allocate_dynrelocs): Set plt/got.offset rather than *.refcount.
	(elf_i386_finish_dynamic_symbol): Expand SHN_UNDEF comment.
	(elf_i386_finish_dynamic_sections): Use local var so line < 80 chars.
	(elf_backend_can_refcount): Define.
	(elf_i386_copy_indirect_symbol): Make static to agree with
	prototype.  Formatting fix.
	* elf32-m68k.c (elf_m68k_check_relocs): Modify for refcounts
	starting from zero.
	(elf_backend_can_refcount): Define.
	* elf32-ppc.c (ppc_elf_check_relocs): Modify for refcounts
	starting from zero.
	(elf_backend_can_refcount): Define.
	* elf32-s390.c (elf_s390_check_relocs): Modify for refcounts
	starting from zero.
	(elf_backend_can_refcount): Define.
	* elf64-s390.c (elf_s390_check_relocs): Modify for refcounts
	starting from zero.
	(elf_backend_can_refcount): Define.
	* elf64-x86-64.c (elf64_x86_64_check_relocs): Modify for refcounts
	starting from zero.
	(elf_backend_can_refcount): Define.
2001-09-29 06:21:59 +00:00
Alan Modra 21d17a588f * som.c (som_write_symbol_strings): Cast current_offset in
bfd_seek call to match param type.
2001-09-29 06:13:53 +00:00
DJ Delorie 916aaa1251 merge from gcc 2001-09-29 03:19:56 +00:00
gdbadmin 6e73fe5560 *** empty log message *** 2001-09-29 00:00:04 +00:00
Richard Henderson e0aae569d6 * elfxx-target.h [section_flags]: Add SEC_ARCH_BIT_0, SEC_SMALL_DATA,
SEC_MERGE, SEC_STRINGS.
2001-09-28 21:47:25 +00:00
Joel Brobecker 78ae4cb9c0 Document changes to som.c revision 1.22. 2001-09-28 21:36:18 +00:00
Joel Brobecker 982cfd7867 som_write_symbol_strings: Fix incorrect type of current_offset to match
the function definition. Fixes a build failure on HPUX-11.00.
2001-09-28 21:35:45 +00:00
Richard Henderson 9e85c2a02f * objdump.c (dump_section_header): Dump SEC_ARCH_BIT_0. 2001-09-28 21:10:41 +00:00
Hans-Peter Nilsson 9c07660b93 * config.sub, config.guess: Import latest from subversions. 2001-09-28 21:04:51 +00:00
Richard Henderson 65db3b0dbf * section.c (SEC_ARCH_BIT_0): New; replace unused SEC_BALIGN.
* bfd-in2.h: Rebuild.
2001-09-28 20:51:15 +00:00
Tom Tromey 7cacb6a3a7 * tuiLayout.h (tui_set_layout): Don't declare.
* tui.h (tui_vAddWinToLayout): Don't declare.
	(tui_vSetLayoutTo): Likewise.
	(tui_set_layout): Declare.
2001-09-28 17:39:09 +00:00
Alan Modra ffaef15911 * elf64-x86-64.c (elf64_x86_64_reloc_type_lookup): Don't map bfd
reloc code using x86_64_reloc_map.
2001-09-28 12:54:53 +00:00
Corinna Vinschen 674f90ff34 * gdb.base/volatile.exp (local_compiler_xfail_check): Change qux2
check to allow additional `int'.
2001-09-28 11:41:30 +00:00
Alan Modra 3ac8354b40 * elf32-hppa.c (elf32_hppa_check_relocs): Update comment since we
no longer allocate here.  Localise some vars to blocks where they
	are used.
	(elf32_hppa_adjust_dynamic_symbol): Correct a comment.  Delay
	setting of vars until needed.
	(allocate_dynrelocs): Don't create a .plt entry without a reloc
	when symbol visibilty makes a function local.
	(elf32_hppa_finish_dynamic_symbol): Move expressions out of
	swap_reloca_out function calls.
	(elf32_hppa_relocate_section): Likewies.  Comment typo fix.
	(elf32_hppa_finish_dynamic_sections): Migrate common code out of
	switch statement.
2001-09-28 08:56:51 +00:00
gdbadmin b43d14f89c *** empty log message *** 2001-09-28 00:00:01 +00:00
Michael Snyder 2e2394a075 2001-09-20 Michael Snyder <msnyder@redhat.com>
Changes by Daniel Berlin  <dan@cgsoftware.com>, to support
	better parsing of const and volatile type expressions.
	* c-exp.y (const_and_volatile, const_or_volatile_noopt,
	const_or_volatile): New non-terminals.
	(ptype): Use new rule for const_or_volatile.
	(typebase): Use new rule for const_or_volatile_noopt.
	* parser-defs.h (enum type_pieces): New values tp_const, tp_volatile.
	* parse.c (follow_types): Handle tp_const and tp_volatile on the
	type stack: call make_cv_type to create new const/volatile type.
2001-09-27 22:39:05 +00:00
Daniel Jacobowitz 9b28427211 * gdb.base/completion.exp: Remove incorrect 'p "a' test.
Add tests for 'p "break' (pass) and 'p "break.' (xfail).
2001-09-27 22:21:22 +00:00
Michael Snyder b55a47712d 2001-09-27 Michael Snyder <msnyder@redhat.com>
* lib/gdb.exp (test_debug_format): New proc.
	(setup_xfail_format): Use new proc test_debug_format.
	* gdb.base/constvars.exp (local_compiler_xfail_check): New
	proc; use new service proc test_debug_format.
	Replace all other "gcc_compiled" tests with this test.
	* gdb.base/volatile.exp (local_compiler_xfail_check): New
	proc; use new service proc test_debug_format.
	Replace all other "gcc_compiled" tests with this test.
2001-09-27 21:35:56 +00:00
Michael Snyder 56e2d25ab5 2001-09-20 Michael Snyder <msnyder@redhat.com>
Changes by Daniel Berlin  <dan@cgsoftware.com>, to support
	better parsing of const and volatile type expressions.
	* c-exp.y (const_and_volatile, const_or_volatile_noopt,
	const_or_volatile): New non-terminals.
	(ptype): Use new rule for const_or_volatile.
	(typebase): Use new rule for const_or_volatile_noopt.
	* parser-defs.h (enum type_pieces): New values tp_const, tp_volatile.
	* parse.c (follow_types): Handle tp_const and tp_volatile on the
        type stack: call make_cv_type to create new const/volatile type.
2001-09-27 21:16:43 +00:00
Michael Snyder 3e9986d221 2001-09-21 Michael Snyder <msnyder@redhat.com>
* c-exp.y (typebase): Accept (signed long long) as a type expr.
2001-09-27 21:14:48 +00:00
DJ Delorie fa9f0e33b3 merge from gcc 2001-09-27 20:27:58 +00:00
Alan Modra 0ac8d2cabf * elf32-i386.c (elf_i386_check_relocs): Update comment since we
no longer allocate here.  Localise some vars to blocks where they
	are used.  Remove separate switch stmt for creating .got sec.
	(elf_i386_adjust_dynamic_symbol): Correct a comment.  Remove
	redundant casts and aborts.  Delay setting of vars until needed.
	(allocate_dynrelocs): Remove redundant casts and aborts.
	(elf_i386_size_dynamic_sections): Move comment.
	(elf_i386_finish_dynamic_symbol): Move expressions out of function
	calls.
	(elf_i386_relocate_section): Likewise.  Comment typo fix.
	(elf_i386_finish_dynamic_sections): Migrate common code out of
	switch statement.
	(elf_backend_* defines): Sort.
2001-09-27 16:18:42 +00:00
Alan Modra ced53ee5da * elf32-i386.c (allocate_dynrelocs): Don't create a .plt entry
without a reloc when symbol visibilty makes a function local.
2001-09-27 16:10:28 +00:00
Nick Clifton 06317a278f Revert most of previous delta. Do not call bfd_archive_filename on output
bfd, nor twice in one expression.
2001-09-27 13:49:27 +00:00
Joel Brobecker d68f31a9f3 Document changes in infttrace.c (for HPUX 11.00). 2001-09-27 13:32:17 +00:00
Joel Brobecker d3340a536f kill_inferior: Issue a TT_PROC_EXIT request rather than a TT_PROC_STOP
request to kill the inferior and its child processes. Otherwise, the
inferior is not killed on HPUX 11.0.  Removed the code that detaches the
child processes since we just killed them.
2001-09-27 13:31:45 +00:00
Nick Clifton 2c20dfb248 Add missing function protoypes. 2001-09-27 09:58:01 +00:00
Nick Clifton 63b0f74538 Replace bfd_get_filename with bfd_archive_filename in error message.
Fix detection of conflicting float flags.
2001-09-27 07:49:27 +00:00
Nick Clifton 6ff2f2ba11 Remove spurious comment 2001-09-27 07:45:32 +00:00
gdbadmin 53a55750dd *** empty log message *** 2001-09-27 00:00:01 +00:00
Andrew Cagney e3abfe1d65 Add framework for ``set/show serial ...''. 2001-09-26 23:27:39 +00:00
Andrew Cagney ff1da24e18 * CONTRIBUTE: Update. 2001-09-26 20:52:56 +00:00
Jeff Johnston 1fd716b9b2 2001-09-26 Jeff Johnston <jjohnstn@redhat.com>
* input-file.c (input_file_open): When reading the
        first line looking for #NO_APP, prepare for the possibility
        of finding #APP instead.  Also fix algorithm to allow
        white-space to follow either #NO_APP or #APP directives.
2001-09-26 20:32:17 +00:00
DJ Delorie 3942352316 merge from gcc 2001-09-26 18:45:50 +00:00
Corinna Vinschen 4e6667ac4f * gdb.base/constvars.exp: Check for different orders of keywords
and additional "int" strings in output.
2001-09-26 16:06:28 +00:00
Alan Modra ebe50baeda * elf32-i386 (elf_i386_copy_indirect_symbol): New function.
(elf_backend_copy_indirect_symbol): Define.
	(struct elf_i386_link_hash_entry): Rename "root" to "elf".
	(struct elf_i386_link_hash_table): Likewise.
	(link_hash_newfunc): Get rid of unnecessary casts.
	(elf_i386_link_hash_table_create): Likewise.
	(elf_i386_check_relocs): Initialise local_got_refcounts to 0.
	Don't test input section SEC_READONLY here to try to avoid copy
	relocs, and keep dyn_relocs regardleas of ELF_LINK_NON_GOT_REF.
	(elf_i386_adjust_dynamic_symbol): Check output section SEC_READONLY
	here to properly test whether we need copy relocs.  Do so for weak
	syms too.

	* elf32-hppa (elf32_hppa_copy_indirect_symbol): New function.
	(elf_backend_copy_indirect_symbol): Define.
	(struct elf32_hppa_link_hash_table): Rename "root" to "elf".
	(stub_hash_newfunc): Get rid of unnecessary casts.
	(hppa_link_hash_newfunc): Likewise.
	(elf32_hppa_check_relocs): Initialise local_got_refcounts to 0.
	Don't test input section SEC_READONLY here to try to avoid copy
	relocs, and keep dyn_relocs regardleas of ELF_LINK_NON_GOT_REF.
	(elf32_hppa_adjust_dynamic_symbol): Check output section SEC_READONLY
	here to properly test whether we need copy relocs.  Do so for weak
	syms too.
2001-09-26 09:25:04 +00:00
Kevin Buettner e5e2b9ff10 Use gdbarch data mechanism instead of gdbarch swap mechanism to manage
the fetching of architecture specific link map offsets.
2001-09-26 07:03:13 +00:00
Alan Modra d5e0ebeb62 * ldmisc.c (USE_STDARG): Remove.
(info_msg): Define using VPARAMS, VA_OPEN, VA_FIXEDARG, VA_CLOSE.
	(einfo): Likewise.
	(minfo): Likewise.
	(lfinfo): Likewise.

	* ldmisc.h: Remove #ifdef ANSI_PROTOTYPES and non-ansi
	declarations.  Update copyright.
2001-09-26 01:55:44 +00:00
Alan Modra 451dad9c58 * bucomm.c (fatal): Define using VPARAMS, VA_OPEN, VA_FIXEDARG,
VA_CLOSE.
	(non_fatal): Likewise.
	* objdump.c (objdump_sprintf): Likewise.
	* readelf.c (error): Likewise.
	(warn): Likewise.
2001-09-26 01:55:19 +00:00
Alan Modra 86caa542b1 * arc-dis.c: Formatting fixes.
(my_sprintf): Define using VPARAMS, VA_OPEN, VA_FIXEDARG, VA_CLOSE.
2001-09-26 01:54:07 +00:00
Alan Modra af6166c063 * bfd.c (_bfd_default_error_handlerl): Define using VPARAMS,
VA_OPEN, VA_FIXEDARG, VA_CLOSE.
	(bfd_archive_filename): Cast bfd_malloc arg to the correct size.
2001-09-26 01:53:25 +00:00
gdbadmin ca990479da *** empty log message *** 2001-09-26 00:00:02 +00:00