David Taylor [Fri, 24 Oct 1997 21:04:39 +0000 (21:04 +0000)]
fix for PR 13618 -- gdb incorrectly reports thread information.
If other systems besides nm-sun4sol2 exhibit the problem, they may need
definitions of FIND_NEW_THREADS and a corresponding support function.
* config/tc-sparc.c (sparc_memory_model): New variable.
(md_longopts): Add -TSO/-PSO/-RMO options.
(md_parse_options): Handle them.
(sparc_elf_final_processing): For 64 ELF, set required
memory ordering in e_flags. Default to RMO and let the user
override it through command line.
* elf64-sparc.c (sparc64_elf_merge_private_bfd_data):
New function. Avoid mixing US1 and HAL R1 code.
Set resulting memory ordering to the strongest one used.
(sparc64_elf_object_p): Set bfd_mach correctly.
Andrew Cagney [Fri, 24 Oct 1997 06:43:51 +0000 (06:43 +0000)]
Add function to fetch 32bit instructions
When address translation of insn fetch fails raise exception immediatly.
Use address_word as type of all address variables (instead of unsigned64),
the former is configured as either 32 or 64 bit type.
Always compile fpu code (no #if has fpu)
Jeff Law [Thu, 23 Oct 1997 22:42:07 +0000 (22:42 +0000)]
* dbxread.c (process_one_symbol): Put back initialization
of a variable lost during last change. Don't perform
assignment inside conditionals.
* stabsread.c (symbol_reference_defined): Return -1 for error/not
found. All callers changed appropriately.
(define_symbol): Don't perform assignment inside conditionals.
* elf-bfd.h (struct elf_backend_data): Add plt_alignment member.
* elflink.c (_bfd_elf_create_got_section): Set .got alignment based
on arch_size.
(_bfd_elf_create_dynamic_sections): Likewise for .rel* sections.
Set .plt alignment from new plt_alignment.
* elflink.h (elf_link_create_dynamic_sections): Set version section
alignment to LOG_FILE_ALIGN.
* elfxx-target.h (elf_backend_plt_alignment): Provide default.
(elfXX_bed): Init plt_alignment.
* elf64-sparc.c (sparc64_elf_check_relocs,
sparc64_elf_adjust_dynamic_symbol, sparc64_elf_size_dynamic_sections,
sparc64_elf_adjust_dynindx, sparc64_elf_finish_dynamic_symbol,
sparc64_elf_finish_dynamic_sections): New functions.
(sparc64_elf_howto_table): Fix a few name strings.
(ELF_DYNAMIC_INTERPRETER): New definition.
(sparc64_elf_relocate_section): Handle shared libraries.
* elf64-sparc.c (struct plt_template, plt_*_header, plt_*_entry,
sparc64_elf_build_plt_entry, sparc64_elf_finish_dynamic_symbol):
PLT definitions sparc64-linux originally choose. These will go
away soon in favour of the official abi definitions.
* sparc-opc.c: Add wr & rd for v9a asr's.
* sparc-dis.c (print_insn_sparc): Recognize '_' and '/' for v9a asr's.
(v9a_asr_reg_names): New variable.
Patch from David Miller <[email protected]>.
Jeff Law [Wed, 22 Oct 1997 23:28:30 +0000 (23:28 +0000)]
* mdebugread.c (psymtab_to_symtab_1): Handle new live range stabs
entries.
* dbxread.c: More comment cleanups.
* stabsread.c: Fix various violations of the GNU coding and
formatting standards. Update/add comments to make code clearer.
(resolve_reference): Delete unused function.
(ref_search_val): Remove function. It didn't belong in stabsread.c
(resolve_live_range): No longer returns a value. Do not add it
to the live range list until the entire range stab has been parsed.
(get_substring): Remove duplicate declaration.
(resolve_symbol_reference): Now static. Remove unnecessary code
to deal with cleanups.
(ref_add): Use xrealloc instea of realloc.
(process_reference): Reorganize slightly to make clearer.
* stabsread.h (resolve_symbol_reference): Remove declaration.
(resolve_reference): Likewise.
* symtab.c (find_active_alias): New function.
(lookup_block_symbol): Use find_active_alias.
* symtab.h (struct range_list): Fix dangling struct live_range
reference.
(ref_search_val): Remove decl.
* symtab.h (struct range_list): Renamed from struct live_range.
(struct symbol): Remove struct live_range_info substruct.
Bring the alias list and range list fields up to the toplevel
as "aliases" and "ranges".
(SYMBOL_ALIASES, SYMBOL_RANGES): Corresponding changes.
(SYMBOL_RANGE_START, SYMBOL_RANGE_END, SYMBOL_RANGE_NEXT): Delete.
* stabsread.c: Corresponding changes.
Bring first round of cleanups over from r5900 branch.
Jeff Law [Wed, 22 Oct 1997 19:04:30 +0000 (19:04 +0000)]
* dbxread.c: Fix various violations of the GNU coding and
formatting standards. Update/add comments to make code
clearer.
(process_later): Use xrealloc instead of realloc.
Andrew Cagney [Tue, 21 Oct 1997 03:41:21 +0000 (03:41 +0000)]
Delete profile support from MIPS simulator, use sim/common/sim-profile
module instead.
Generate a "gmon.out" (gprof) when profiling the target PC.
Add target PC profiling option --profile-pc-granularity (bucket size)
Doug Evans [Mon, 20 Oct 1997 17:23:10 +0000 (17:23 +0000)]
* tc-sparc.c (default_arch_size): New static local.
(struct sparc_arch): Rename arch_size to default_arch_size.
New member user_option_p.
(sparc_arch_table): Always include v9, v9a. New entry v9-64.
(init_default_arch): Check whether default arch is valid.
Set default_arch_size in addition to sparc_arch_size.
(OPTION_32,OPTION_64): Define.
(md_longopts): New entries for -32, -64.
(md_parse_option): Handle them.
(md_show_usage): Print them. Ensure init_default_arch called.
Jeff Law [Mon, 20 Oct 1997 15:37:44 +0000 (15:37 +0000)]
* som.c (normalize): Delete function.
(som_bfd_ar_write_symbol_stuff): New parameter elength. All callers
changed. Use passed in elength to determine size of the extended
name table instead of computing it again.
Ian Lance Taylor [Sun, 19 Oct 1997 18:14:01 +0000 (18:14 +0000)]
* write.c (subsegs_finish): New function, broken out of
write_object_file.
(write_object_file): Some code moves into subsegs_finish.
* write.c (subsegs_finish): Declare.
* as.c (main): Call subsegs_finish.
Fixes last frag when generating a listing for a file with an error.