* nm.c (lineno_cache_bfd): New file static variable.
(lineno_cache_rel_bfd): New file static variable.
(display_archive): Clear lineno_cache_bfd and lineno_cache_rel_bfd
when closing a BFD.
(display_file): Likewise.
(print_symbol): Use lineno_cache_bfd and lineno_cache_rel_bfd
instead of cache_bfd and cache_rel_bfd. Make seccount static, and
only set it when setting relocs.
Andrew Cagney [Thu, 9 Oct 1997 08:35:33 +0000 (08:35 +0000)]
Add -Wnodiscard option so that warning about discarded instructions
can be suppressed.
Allow ``<insn-spec> { <nmemonic> | <model> }'' in instruction file.
* objcopy.c (keep_specific_list, privatize_specific_list,
weaken_specific_list): New variables.
(keep_symbols): Removed.
(add_specific_symbol): New function from the carcas of
add_strip_symbol. Takes a list as an argument.
(is_specified_symbol): Likewise from is_strip_symbol.
(filter_symbols): Honor the new privatize and weaken lists.
Optimize bfd_asymbol_name handling.
(copy_object, copy_options, copy_usage): Add privatize-symbol &
weaken-symbol options.
Updated first round of test suite drivers to accept symbol-offset
listings from "objdump" disassembly with or without the new "0x"
prefix before hexadecimal numbers.
David Edelsohn [Tue, 7 Oct 1997 19:53:17 +0000 (19:53 +0000)]
* config/tc-sparc.h (TARGET_FORMAT support): Moved to tc-sparc.c.
Redefine TARGET_FORMAT to call sparc_target_format.
* config/tc-sparc.c (in_unsigned_range): New function.
(sparc_arch_size): Make static.
(sparc_target_format): New function.
(sparc_ip): Delete variable immediate_max. Rewrite %hi/etc reloc
handling. Add support for %hh,%hm,%lm,%h44,%m44,%l44.
(output_insn): Set `fx_no_overflow'.
(md_apply_fix3): Handle BFD_RELOC_SPARC_{7,H44,M44,L44}.
(tc_gen_reloc): Likewise.
Per Bothner [Fri, 3 Oct 1997 23:05:12 +0000 (23:05 +0000)]
* c-lang.h, cp-valprint.c (static_field_print): Make non-static.
* parse.c, parser-defs.h (length_of_subexp): Make non-static.
* jv-exp.y (FieldAccess): Handle dollar-VARIABLE as primary.
(ArrayAccess): Likewise. Also remove warnings.
(CastExpression): Implement (typename) UnaryExpression.
(push_qualified_expression_name): Fix small bug.
* jv-lang.c: Use TYPE_TAG_NAME, not TYPE_NAME for class names.
(_initialize_jave_language): Fix typo (jave -> java).
(java_language): Java does *not* have C-style arrays.
(java_class_from_object): Make more general (and complicated).
(java_link_class_type): Fix typo "super" -> "class". Handle arrays.
(java_emit_char, java_printchar): New function.
(evaluate_subexp_java case BINOP_SUBSCRIPT): Handle Java arrays.
* jv-valprint.c (java_value_print): Implement printing of Java arrays.
(java_print_value_fields): New function.
(java_val_print): Better printing of TYPE_CODE_CHAR, TYPE_CODE_STRUCT.
* config/tc-mips.c: Undef OBJ_COPY_SYMBOL_ATTRIBUTES before
including obj-elf.h in OBJ_MAYBE_ELF case.
(mips_target_format): Return NULL after abort to avoid warning.
* objcopy.c (set_times): New static function, replacing
make_same_dates.
(strip_main): If preserve_dates, stat the input file before
copying it, and call set_times afterward.
(copy_main): Likewise.
Make ld -s work on AIX:
* xcofflink.c (xcoff_link_add_symbols): Don't create the .debug
section if we are stripping.
(bfd_xcoff_size_dynamic_sections): Don't set the .debug section
size if we are stripping.
(_bfd_xcoff_bfd_final_link): Don't set SEC_RELOC or rel_filepos,
and don't write out relocs, if we are stripping.
(xcoff_link_input_bfd): Don't set up reloc if we are stripping.
(xcoff_write_global_symbol): Don't write out symbol or reloc if we
are stripping.
Mark Alexander [Fri, 3 Oct 1997 16:58:31 +0000 (16:58 +0000)]
* config/mips/tm-mips.h (MAKE_MSYMBOL_SPECIAL): Force MIPS16
addresses to be odd.
(MIPS_FPU_SINGLE_REGSIZE, MIPS_FPU_DOUBLE_REGSIZE): Define.
* mips-tdep.c (mips_extract_return_value): Doubles aren't
returned in FP0 if FP registers are single-precision only.
start-sanitize-r5900
* config/mips/tm-r5900.h (MIPS_LAST_FP_ARG_REGNUM): Redefine
to disable use of FP registers for function arguments.
end-sanitize-r5900
* elf32-sparc.c (sparc_elf_wdisp16_reloc): Cast to bfd_byte *, not
char *, when calling bfd_get_32 and bfd_put_32.
* sunos.c (sunos_scan_dynamic_symbol): Cast contents to char *
when calling strcpy.
Andrew Cagney [Fri, 3 Oct 1997 00:03:35 +0000 (00:03 +0000)]
Rewrite simulator floating point module. Do not rely on host FP
implementation. Add preliminary support for different IEEE-754
rounding modes. Implement SQRT in software.
Update TiC80 simulator.
Add sim-fpu -> TestFloat interface for testing.
David Edelsohn [Thu, 2 Oct 1997 23:55:22 +0000 (23:55 +0000)]
* reloc.c (bfd_check_overflow): New function.
(bfd_perform_relocation, bfd_install_relocation): Use it.
(BFD_RELOC_SPARC_{DISP64,PLT64}): New relocs.
(BFD_RELOC_SPARC_{HIX22,LOX10,H44,M44,L44,REGISTER}): New relocs.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* ldlang.c (wild_doit): Rewrite flag handling for clarity. If we
are not adding the first input section, and SEC_READONLY is clear
on the output section, then don't copy it from the input section.
If SEC_READONLY is not set on the input section, then clear it on
the output section.
* configure.tgt (mips*-sgi-irix[56]*): Use elf32bsmip rather than
elf32bmip.
(mips*el-*-linux*): Change elf32lmip to elf32lsmip and elf32bmip
to elf32bsmip.
(mips*-*-linux*): Likewise.
* emulparams/elf32bsmip.sh: New file; just like elf32bmip.sh, but
setting ENTRY to __start.
* emulparams/elf32lsmip.sh: New file; just like elf32lmip.sh, but
setting ENTRY to __start.
* scripttempl/elf.sc: Always set ENTRY to _start if it was not
already set.
* Makefile.am ($(BFD_H)): Change stmp-bfd.h to stmp-bfd-h.
(stmp-bfd-h): Rename from stmp-bfd.h.
(BFD_H_FILES, LIBBFD_H_FILES, LIBCOFF_H_FILES): New variables.
($(srcdir)/bfd-in2.h): Just depend upon stmp-bin2-h.
(stmp-bin2-h): New target.
($(srcdir)/libbfd.h): Just depend upon stmp-lbfd-h.
(stmp-lbfd-h): New target.
($(srcdir)/libcoff.h): Just depend upon stmp-lcoff-h.
(stmp-lcoff-h): New target.
(CLEANFILES): Change stmp-bfd.h to stmp-bfd-h. Add stmp-bin2.h,
stmp-lbfd-h, and stmp-lcoff-h.
* Makefile.in: Rebuild.
Mark Alexander [Tue, 30 Sep 1997 06:20:59 +0000 (06:20 +0000)]
* mips-tdep.c (set_reg_offset): New function.
(mips16_heuristic_proc_desc): Calculate offsets of registers
saved by entry pseudo-op after rest of prologue has been read.
Use set_reg_offset to ignore all but the first save of a given
register.
(mips32_heuristic_proc_desc): Initialize frame adjustment value.
* remote-sim.c (gdbsim_store_register): Don't update registers
that have a null or empty name.
* findvar.c (read_register_bytes): Don't fetch registers
that have a null or empty name.
Mark Alexander [Fri, 26 Sep 1997 19:42:55 +0000 (19:42 +0000)]
* config/mips-tm-mips.h (mips_extra_func_info): New frame_adjust
member for storing offset of MIPS16 frame pointer from SP.
* mips-tdep.c: Use RA_REGNUM instead of hardcoded 31 throughout.
(PROC_FRAME_ADJUST): Define.
(mips16_heuristic_proc_desc): Store frame pointer adjustment value.
(get_frame_pointer): Use frame pointer adjustment value when
calculating frame address.
* remote-sim.c (gdbsim_fetch_register): Don't fetch registers
that have a null or empty name.
start-sanitize-tx19
* config/mips/tm-tx19.h (MIPS_DEFAULT_FPU_TYPE): Define.
(REGISTER_NAMES): Redefine to eliminate FP registers.
* config/mips/tm-tx19l.h: Ditto.
end-sanitize-tx19