* objdump.c (display_bfd): Break into two functions. The
actual dumping code moves to dump_bfd. If bfd is not
unambiguously recognized as a bfd_object, attempt to dump
it as a bfd_core.
(dump_bfd): New function.
Geoffrey Keating [Mon, 11 Oct 1999 04:07:10 +0000 (04:07 +0000)]
* as.c (show_usage): Document new options.
(parse_args): Add --no-warn, --warn, --fatal-warnings,
which become 'W', OPTION_WARN, and OPTION_WARN_FATAL.
(parse_args): Parse the new options.
(main): If there were warnings, and --fatal-warnings
was specified, print an error.
* as.h: New variable, flag_fatal_warnings, for new option.
* elf32-mips.c (mips_elf_calculate_relocation): R_MIPS_LITERAL
relocs also need the GP value.
(_bfd_mips_elf_relocate_section): Handle unpaired LO16 relocs
properly. Handle sign-extension for R_MIPS_64 correctly. Correct
the GP value for R_MIPS_LITERAL relocs too. Handle
R_MIPS_64 relocs properly on big-endian MIPS.
(mips_elf_sign_extend): Behave properly with 'long long'.
(mips_elf_highest): Correct typo.
* gas/mips/elf-rel.s: New file.
* gas/mips/elf-rel.d: New file.
* gas/mips/elf-rel2.d: New file.
* gas/mips/e32-rel2.d: New file.
* gas/mips/elf-rel2.s: New file.
* gas/mips/mips.exp: Add elf-rel, elf-rel2.
* gas/mips/elf_e_flags1.d: Tweak a little so it passes
even if the CPU is set to something by default.
* scripttempl/elf.sc (.rel.sdata): Combine all the sdata relocs
being .rel.sdata, .rel.sdata.*, .rel.gnu.linkonce.s*.
(.rela.sdata): Likewise for .rela.sdata.* and .rela.gnu.linkonce.s*.
(.rel.sbss): Make like .rel.bss.
(.rela.sbss): Make like .rel.bss.
(.sdata): Don't include .gnu.linkonce.s.* or .sdata.* when
ld -r.
(.sbss): Do the same things as for .bss: include SDATA_START_SYMBOLS,
.dynsbss.
Doug Evans [Tue, 5 Oct 1999 01:27:35 +0000 (01:27 +0000)]
* gas/m32r/error.exp: New testcase driver.
* gas/m32r/m32rx.exp: New testcase driver.
* gas/m32r/fslotx.[sd]: New testcase.
* gas/m32r/m32rx.[sd]: New testcase.
* gas/m32r/relax-s.[sd]: New testcase.
* gas/m32r/interfere.s: New testcase.
* gas/m32r/wrongsize.s: New testcase.
Doug Evans [Tue, 5 Oct 1999 00:37:17 +0000 (00:37 +0000)]
Add support for m32rx.
* config/tc-m32r.c (enable_m32rx): New static global.
(enable_special,warn_explicit_parallel_conflicts,optimize): Ditto.
(allow_m32rx): New function.
(M32R_SHORTOPTS): Add `O'.
(md_longopts): Add --m32rx plus several warning options.
(md_parse_option): Handle new options.
(md_show_usage): Print them.
(md_begin): Enable m32rx.
(OPERAND_IS_COND_BIT): New macro.
(first_writes_to_seconds_operands): New function.
(writes_to_pc,can_make_parallel,make_parallel): New functions.
(target_make_parallel,assemble_two_insns): New functions.
(md_assemble): Recognize "insn1 -> insn2" and "insn1 || insn2".
If optimizing and m32rx, try to make consecutive insns parallel.
* readelf.c (dynamic_segment_parisc_val): Print 0 for DLD_FLAGS if
the value is zero.
(process_symbol_table): Don't print histogram if hash table is empty.
* targets.c (cisco_core_vec): Replaced with two new vecs ...
(cisco_core_big_vec): Add new bigendian vec.
(cisco_core_little_vec): Add new little endian vec.
* cisco-core.c (CRASH_INFO): Fixed offset replaced with ...
(crash_info_locs): Add array of possible offsets.
(MASK_ADDR): Mask to apply to crash info offset.
(crashinfo_external): Add textbase, database, bssbase and
turn into a typedef.
(cisco_core_file_validate): Renamed from cisco_core_file_p.
Many small changes to account for additional hardware versions.
Pick a reasonable size for ".reg" section. Add a ".crash"
section to allow access to crashinfo_external struct.
(cisco_core_file_p): New version of this function that
iterates over crash_info_locs, calling cisco_core_file_validate.
(cisco_core_vec): Old big endian only vec replaced with ...
(cisco_core_big_vec): Add big endian version.
(cisco_core_little_vec): Add little endian version.
* configure.in (cisco_core_vec): Split to two new vectors ...
(cisco_core_big_vec): New target vector.
(cisco_core_little_vec): New target vector.
* configure: Regenerate.
* config.bfd (targ): For m68*-*-aout* targ, change cisco_core_vec
to cisco_core_big_vec in targ_selvecs.
DJ Delorie [Tue, 28 Sep 1999 20:22:55 +0000 (20:22 +0000)]
* deffilep.y (tokens): Add upper and lower case versions of DATA,
CONSTANT, NONAME and PRIVATE tokens.
(command): Use DATAU.
(expline): Allow for drectve syntax as well.
(exp_opt_list): Likewise.
(exp_opt): Likewise.
* pe-dll.c (make_one): Only generate the idata entries for data
symbols.
* config/tc-mips.c (nopic_need_relax): Allow for the
.sdata.foo sections generated by -fdata-sections,
and for the .gnu.linkonce.s sections generated by C++.
* elf.c (bfd_section_from_phdr): Add typename variable. Use p_type
to initialize it to something meaningful. Then use it to generate
more useful segment names.
Jeff Law [Wed, 22 Sep 1999 15:43:26 +0000 (15:43 +0000)]
* config/tc-hppa.c (pa_ip): Avoid ANSI specific initialization.
(pa_ip, case 'm'): Failure to get a CBIT specifier just means the
insn does not match and we should try the next insn in the table.
Ian Lance Taylor [Sun, 19 Sep 1999 23:59:35 +0000 (23:59 +0000)]
* resrc.c (write_rc_rcdata): Fix local variable shadowing
problem. If RCDATA_BUFFER data can be read as strings, modify
code to print the strings as comments.
* resres.c: Add casts to avoid warnings.
(write_res_data, read_res_data): Don't put the program name in the
error message; fatal already puts it there.
* config/tc-i386.c (md_shortopts): Check OBJ_MAYBE_ELF as well as
OBJ_ELF. If ELF, add "sq".
(md_parse_option): If ELF, ignore -s and -q.
(md_show_usage): Mention ELF options.