Thiemo Seufer [Wed, 10 Oct 2001 01:08:35 +0000 (01:08 +0000)]
* config/tc-mips.c (mips_cpreturn_offset): New variable.
(mips_cpreturn_register): Likewise.
(mips_gp_register): Likewise.
(s_cpsetup): New function prototype.
(s_cplocal): Likewise.
(s_cpreturn): Likewise.
(s_gpvalue): Likewise.
(mips_pseudo_table): Add .cpsetup, .cplocal, .cpreturn, .gpvalue
pseudo-ops.
(macro): Don't warn about .cprestore for NewABI.
(md_pcrel_from): Code cleanup.
(mips_force_relocation): Force output of some NewABI relocations even
without a defined symbol.
(s_cpload): Ignore .cpload for NewABI.
(s_cpsetup): Handle .cpsetup.
(s_cplocal): Handle .cplocal.
(s_cprestore): Ignore .cprestore for NewABI.
(s_cpreturn): Handle .cpreturn.
(s_gpvalue): Handle .gpvalue.
(s_cpadd): Ignore .cpadd for NewABI.
(nopic_need_relax): Take g_switch_value into account as gp
optimization.
(tc_gen_reloc): Don't handle BFD_RELOC_MIPS_{CALL,GOT}* for NewABI.
Thiemo Seufer [Wed, 10 Oct 2001 00:54:53 +0000 (00:54 +0000)]
* config/tc-mips.c (my_getSmallParser): New function prototype.
(small_ex_type): Named this enum, more return values for
my_getSmallExpression.
(mips_ip): Allow SPC and HT between arguments. Handle some NewABI
triple relocations. Protect some parts with ifdef OBJ_ELF.
(percent_op_match): New struct, lookup table for %some_reloc().
(my_getSmallParser): New function, parses nested percent_ops also.
(my_getSmallExpression): Rewite to support nested percent_ops.
Alan Modra [Tue, 9 Oct 2001 13:13:09 +0000 (13:13 +0000)]
* config/obj-elf.c: Make use of elf_group_name and elf_next_in_group
throughout file.
(obj_elf_change_section): Rename "group" to "group_name".
(obj_elf_section): Likewise.
(elf_frob_file): Don't use sec->lineno for SHT_GROUP section to store
first member section; Instead use elf_next_in_group.
Alan Modra [Tue, 9 Oct 2001 13:12:19 +0000 (13:12 +0000)]
* elf-bfd.h (struct bfd_elf_section_data): Rename "group" to
"group_name".
(elf_group_name): Define.
(elf_next_in_group): Define.
* elf.c: Make use of elf_group_name and elf_next_in_group throughout.
(setup_group): Don't use sec->lineno for SHT_GROUP section to store
first member section; Instead use elf_next_in_group.
(bfd_section_from_shdr): Likewise.
(set_group_contents): Likewise. Use elf_section_syms, not sec->symbol.
Alan Modra [Tue, 9 Oct 2001 06:07:33 +0000 (06:07 +0000)]
* config/obj-elf.c: (obj_elf_change_section): Add "group" param.
Set elf_section_data group from it. Warn if group name changed.
(obj_elf_parse_section_letters): Parse 'G' too.
(obj_elf_section): Parse group name.
(struct group_list): New.
(build_group_lists): New function.
(elf_frob_file): Create SEC_GROUP section(s).
Alan Modra [Tue, 9 Oct 2001 06:05:17 +0000 (06:05 +0000)]
* elf-bfd.h (struct bfd_elf_section_data): Add "group" and
"next_in_group". Fix gp and gp_size comments.
* elf.c (union elf_internal_group): New.
(setup_group): New function.
(_bfd_elf_make_section_from_shdr): Set BFD flags for SHT_GROUP.
Call setup_group for SHF_GROUP sections.
(bfd_section_from_shdr): Build a BFD section for SHT_GROUP.
(elf_fake_sections): Set header type for SEC_GROUP, and header
flags for sections in a group.
(set_group_contents): New function.
(_bfd_elf_compute_section_file_positions): Call it.
(assign_section_numbers): Set sh_link for SHT_GROUP.
* elflink.h (gc_mark_hook): Handle section groups.
* elfxx-target.h: Add SEC_GROUP to applicable_flags.
* section.c (SEC_GROUP): Define.
(struct sec): Comment fixes.
* bfd-in2.h: Regenerate.
* elf.c (bfd_elf_print_symbol): Formatting fix; migrate expression
out of function args.
(_bfd_elf_canonicalize_reloc): Similarly.
(_bfd_elf_get_symtab): Here too.
(_bfd_elf_canonicalize_dynamic_symtab): And here.
* elfcode.h (elf_slurp_symbol_table): Don't recalculate size for
bfd_bread, and remove unnecessary cast.
Joel Brobecker [Mon, 8 Oct 2001 20:42:08 +0000 (20:42 +0000)]
Rewrite find_active_thread() and find_tcb() to use ptid_t, instead of
overloading the thread and the pid into the same 32-bit value. Make
associated necessary adaptations. Also remove unused variable
cached_active_thread.
Alan Modra [Sun, 7 Oct 2001 06:16:54 +0000 (06:16 +0000)]
* config/obj-elf.c: Standardize error/warning messages - don't
capitalise, no final period or newline, don't say "ignoring" for
as_bad messages. In some cases, change the wording to that used
elsewhere for similar messages.
(obj_elf_section_name): New function, split out from ..
(obj_elf_section): .. here. Correctly mask off SHF_MERGE if
entsize not specified.
Alan Modra [Sat, 6 Oct 2001 07:25:40 +0000 (07:25 +0000)]
* elflink.h (elf_link_input_bfd): Don't zero discarded link-once
section sym values. Instead replace any relocs against them with
relocs against STN_UNDEF, which has a zero value.
Jeff Law [Fri, 5 Oct 2001 21:55:12 +0000 (21:55 +0000)]
* som.h (som_exec_data): New field "version_id".
* som.c (som_object_setup): Record the version_id if it
exists.
(som_prep_headers): Do not initialize version_id here.
(som_finish_writing): Initialize version_id here.
Thiemo Seufer [Thu, 4 Oct 2001 20:07:00 +0000 (20:07 +0000)]
* config/tc-mips.c (prev_insn_reloc_type): Make it an array to hold a
relocation triple.
(prev_insn_fixp): Likewise.
(append_insn): Changed prototype to accept a relocation pointer.
(imm_reloc): Make it an array.
(offset_reloc): Likewise.
(md_assemble): Handle triple relocations.
(append_insn): Likewise. Add handling for some NewABI relocations.
(mips_no_prev_insn): Handle triple relocations.
(macro_build): Likewise. Add handling for some NewABI relocations.
Move handling for the 'u' case to append_insn().
(mips16_macro_build): Handle triple relocations.
(macro_build_lui): Likewise. Don't handle _gp_disp as special symbol
for NewABI.
(mips_ip): Handle triple relocations.
(mips16_ip): Likewise.
(mips_force_relocation): Force handling of triple relocations
without symbols for NewABI.
(md_apply_fix): Add handling for some NewABI relocations.
Alan Modra [Thu, 4 Oct 2001 18:01:46 +0000 (18:01 +0000)]
* config/tc-i386.c (parse_register): If not producing code for
x86_64, reject x86_64 register name matches.
(md_assemble): Remove now redundant check for x86_64 regs.
Alan Modra [Thu, 4 Oct 2001 05:50:29 +0000 (05:50 +0000)]
* elf32-mips.c (mips_elf_record_global_got_symbol): Set got.offset
to 1 rather than 0 to avoid confusing copy_indirect_symbol.
(mips_elf_sort_hash_table_f): Compare got.offset against 1.
Alan Modra [Thu, 4 Oct 2001 05:40:43 +0000 (05:40 +0000)]
* Makefile.am (BFD_H_DEPS): Add symcat.h. Ensure everything
depends on $(BFD_H) $(BFD_H_DEPS) $(LOCAL_H_DEPS), not just those
backends we configure. Run "make dep-am".
(install-data-local): Install symcat.h.
* dep-in.sed: Remove symcat.h from dependencies.
* Makefile.in: Regenerate.
Alan Modra [Thu, 4 Oct 2001 05:03:44 +0000 (05:03 +0000)]
* config/tc-ppc.c (md_assemble <DS relocs>): Test ppc_size as well
as BFD_DEFAULT_TARGET_SIZE.
(ppc_tc): Likewise.
(ppc_is_toc_sym): Likewise.
(md_apply_fix3): Likewise.
Thiemo Seufer [Wed, 3 Oct 2001 20:30:15 +0000 (20:30 +0000)]
* config/tc-mips.c (mips_64): Remove.
(mips_target_format): Move downwards in file, use HAVE_64BIT_OBJECTS
in it.
(mips_abi_level, mips_abi): New enum.
(mips_32bit_abi): Remove.
(HAVE*PRS): Use mips_abi instead of mips_32bit_abi.
(HAVE_NEWABI): New define.
(HAVE_64BIT_OBJECTS): New define.
(HAVE_32BIT_ADDRESSES): Don't return true for 64bit objects.
(HAVE_64BIT_ADDRESSES): New define, inverse of HAVE_32BIT_ADDRESSES.
(support_64bit_objects): New prototype.
(md_begin): Use mips_abi instead of mips_32bit_abi. Don't write
.reginfo section for n32, use .MIPS.options instead.
(support_64bit_objects): New function, code from md_parse_option.
(md_longopts): Add -n32 option.
(md_parse_option): Use mips_abi instead of mips_32bit_abi/mips64.
Add -n32 option. Protect with OBJ_ELF.
(s_mipsset): Use mips_abi instead of mips_32bit_abi.
(mips_elf_final_processing): Likewise. Don't write .reginfo section
for n32, use .MIPS.options instead.
Alan Modra [Wed, 3 Oct 2001 08:33:18 +0000 (08:33 +0000)]
* elflink.h (elf_fix_symbol_flags): Copy flags to weakdef using
elf_backend_copy_indirect_symbol so that backend has a chance to
copy other necessary fields.
* elf-bfd.h (struct elf_backend_data): Update description of
elf_backend_copy_indirect_symbol.
* elf.c (_bfd_elf_link_hash_copy_indirect): Bail out after
copying flags if this is a weakdef.
* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
(elfNN_ia64_aix_add_symbol_hook): Use elf_link_hash_lookup rather
than bfd_link_hash_lookup.
* elf32-i386 (elf_i386_adjust_dynamic_symbol): Don't do copy
reloc processing for weakdefs.
* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
Alan Modra [Tue, 2 Oct 2001 09:22:46 +0000 (09:22 +0000)]
* elf64-ppc.c (ppc64_elf_check_relocs): Use a local var and cast
result of ELF64_R_TYPE to enum before using in a switch.
(ppc64_elf_gc_mark_hook): Likewise.
(ppc64_elf_gc_sweep_hook): Likewise.
(ppc64_elf_reloc_type_class): Likewise.
Alan Modra [Tue, 2 Oct 2001 06:04:23 +0000 (06:04 +0000)]
* ldver.h (ld_program_version): Remove declaration.
* lexsup.c (parse_args): Move printing of copyright message..
* ldver.c (ldversion): .. to here.
Use BFD_VERSION_STRING in place of BFD_VERSION.
(ld_program_version): Remove.
* Makefile.am (Makefile): Depend on bfd/configure.in
Run "make dep-am"
* Makefile.in: Regenerate.
Alan Modra [Tue, 2 Oct 2001 06:02:51 +0000 (06:02 +0000)]
* as.c (print_version_id): Use BFD_VERSION_STRING in place of
BFD_VERSION.
* Makefile.am (Makefile): Depend on bfd/configure.in
Run "make dep-am"
* Makefile.in: Regenerate.
Alan Modra [Tue, 2 Oct 2001 06:02:12 +0000 (06:02 +0000)]
* coffdump.c (PROGRAM_VERSION): Delete.
(main <'V'>): Call print_version.
* srconv.c: Likewise.
* sysdump.c: Likewise.
* version.c (program_version): Remove.
(print_version): Use BFD_VERSION_STRING. Just print the current
year in copyright message.
* addr2line.c (program_version): Remove unused declaration.
* objdump.c (display_target_tables): Use BFD_VERSION_STRING in
place of BFD_VERSION.
* Makefile.am (Makefile): Depend on bfd/configure.in
(cplus-dem.o): Depend on Makefile.
Run "make dep-am"
* Makefile.in: Regenerate.
Elena Zannoni [Tue, 2 Oct 2001 02:51:41 +0000 (02:51 +0000)]
2001-10-01 Elena Zannoni <ezannoni@redhat.com>
* xcoffread.c (N_UNDF, N_ABS, N_TEXT, N_DATA, N_BSS, N_COMM, N_FN,
N_EXT, N_INDR, N_SETA, N_SETT, N_SETD, N_SETB, N_SETV,
CUR_SYMBOL_TYPE, CUR_SYMBOL_VALUE, START_PSYMTAB, END_PSYMTAB,
SET_NAMESTRING): Delete definitions.
Don't include language.h any more.
Don't include partial-stab.h any more.
(scan_xcoff_symtab): Don't jump through hoops to reuse code in
partial-stab.h, include the code directly, instead.
* Makefile.in (xcoffread.o): Remove dependency on partial-stab.h.
Elena Zannoni [Tue, 2 Oct 2001 02:39:48 +0000 (02:39 +0000)]
2001-10-01 Elena Zannoni <ezannoni@redhat.com>
* xcoffread.c (N_UNDF, N_ABS, N_TEXT, N_DATA, N_BSS, N_COMM, N_FN,
N_EXT, N_INDR, N_SETA, N_SETT, N_SETD, N_SETB, N_SETV,
CUR_SYMBOL_TYPE, CUR_SYMBOL_VALUE, START_PSYMTAB, END_PSYMTAB,
SET_NAMESTRING): Delete definitions.
Don't include language.h any more.
Don't include partial-stab.h any more.
(scan_xcoff_symtab): Don't jump through hoops to reuse code in
partial-stab.h, include the code directly, instead.
* Makefile.in (xcoffread.o): Remove dependency on partial-stab.h.
* gdb.mi/mi-var-display.exp (continue to incr_a): Recognize
some incorrect output instead of timing out.
* gdb.mi/mi-var-display.exp (continue to incr_a): Likewise.