* readelf.c: Include "libiberty.h".
(dynamic_relocations): New.
(process_relocs): Properly handle dynamic relocation.
(process_dynamic_segment): Fill relocation elements in
dynamic_info.
value when --size-sort is used, unless -S is used.
doc/binutils.texi (--size-sort): For non-bsd formats both the value and size
of the symbols are displayed.
2002-12-30 Chris Demetriou <cgd@broadcom.com>
* aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
* archures.c (bfd_mach_mipsisa32r2): New define.
* bfd-in2.h: Regenerate.
* cpu-mips.c (I_mipsisa32r2): New enum value.
(arch_info_struct): Add entry for I_mipsisa32r2.
* elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
(_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
(_bfd_mips_elf_final_write_processing): Add
bfd_mach_mipsisa32r2 case.
(_bfd_mips_elf_merge_private_bfd_data): Handle merging of
binaries marked as using MIPS32 Release 2.
[ binutils/ChangeLog ]
2002-12-30 Chris Demetriou <cgd@broadcom.com>
* doc/binutils.texi (objdump): Note MIPS HWR (Hardware Register)
changes in MIPS -M options.
[ gas/ChangeLog ]
2002-12-30 Chris Demetriou <cgd@broadcom.com>
* configure.in: Recognize mipsisa32r2, mipsisa32r2el, and
CPU variants.
* configure: Regenerate.
* config/tc-mips.c (ISA_HAS_DROR, ISA_HAS_ROR): New defines.
(macro_build): Handle "K" operand.
(macro2): Use ISA_HAS_DROR and ISA_HAS_ROR in the places where
CPU_HAS_DROR and CPU_HAS_ROR are currently used.
(mips_ip): New variable "lastpos", and implement "+A", "+B",
and "+C" operands for MIPS32 Release 2 ins/ext instructions.
Implement "K" operand for MIPS32 Release 2 rdhwr instruction.
(validate_mips_insn): Implement "+" as a way to extend the
allowed operands, and implement "K", "+A", "+B", and "+C"
operands.
(OPTION_MIPS32R2): New define.
(md_longopts): Add entry for OPTION_MIPS32R2.
(OPTION_ELF_BASE): Adjust to accomodate OPTIONS_MIPS32R2.
(md_parse_option): Handle OPTION_MIPS32R2.
(s_mipsset): Reimplement handling of ".set mipsN" options
and add support for ".set mips32r2".
(mips_cpu_info_table): Add entry for "mips32r2" (MIPS32 Release 2).
(md_show_usage): Document "-mips32r2" option.
* doc/as.texinfo: Document "-mips32r2" option.
* doc/c-mips.texi: Likewise.
[ gas/testsuite/ChangeLog ]
2002-12-30 Chris Demetriou <cgd@broadcom.com>
* gas/mips/cp0-names-mips32r2.d: New test.
* gas/mips/hwr-names-mips32r2.d: New test.
* gas/mips/hwr-names-numeric.d: New test.
* gas/mips/hwr-names.s: New test source file.
* gas/mips/mips32r2.d: New test.
* gas/mips/mips32r2.s: New test source file.
* gas/mips/mips32r2-ill.l: New test.
* gas/mips/mips32r2-ill.s: New test source file.
* gas/mips/mips.exp: Add mips32r2 architecture data array
entry. Run new tests mentioned above.
[ include/elf/ChangeLog ]
2002-12-30 Chris Demetriou <cgd@broadcom.com>
* mips.h (E_MIPS_ARCH_32R2): New define.
[ include/opcode/ChangeLog ]
2002-12-30 Chris Demetriou <cgd@broadcom.com>
* mips.h: Document "+" as the start of two-character operand
type names, and add new "K", "+A", "+B", and "+C" operand types.
(OP_MASK_INSMSB, OP_SH_INSMSB, OP_MASK_EXTMSB)
(OP_SH_EXTMSB, INSN_ISA32R2, ISA_MIPS32R2, CPU_MIPS32R2): New
defines.
[ opcodes/ChangeLog ]
2002-12-30 Chris Demetriou <cgd@broadcom.com>
* mips-dis.c (mips_cp0_names_mips3264r2, mips_hwr_names_numeric)
(mips_hwr_names_mips3264r2): New arrays.
(mips_arch_choice): New "hwr_names" member.
(mips_arch_choices): Adjust for structure change, and add a new
entry for "mips32r2" ISA.
(mips_hwr_names): New variable.
(set_default_mips_dis_options): Set mips_hwr_names.
(parse_mips_dis_option): New "hwr-names" option which sets
mips_hwr_names, and adjust "reg-names=ARCH" to set mips_hwr_names.
(print_insn_arg): Change return type to "int"
and use that to indicate number of characters consumed.
Add support for "+" operand extension character, "+A", "+B",
"+C", and "K" operands.
(print_insn_mips): Adjust for changes to print_insn_arg.
(print_mips_disassembler_options): Adjust for "hwr-names"
addition and "reg-names" change.
* mips-opc (I33): New define (shorthand for INSN_ISA32R2).
(mips_builtin_opcodes): Note that "nop" and "ssnop" are special
forms of "sll". Add new MIPS32 Release 2 instructions: ehb,
di, ei, ext, ins, jr.hb, jalr.hb, mfhc1, mfhc2, mthc1, mthc2,
rdhwr, rdpgpr, seb, seh, synci, wrpgpr, wsbh.
Note that hardware rotate instructions (ror, rorv) can be
used on MIPS32 Release 2, and add the official mnemonics
for them (rotr, rotrv) and the similar "rotl" mnemonic for
left-rotate.
given prefix to the begining of the symbol name. This is useful to provide
name space seperation regardless of how the object file was created. Added
--prefix-sections <prefix> and --prefix-alloc-sections <prefix> options to
rename all sections (or all sections with the alloc flag set) by adding the
given prefix to the begining of the symbol name.
Elf64_Internal_* with Elf_Internal_*.
(slurp_rel_relocs): Change Elf_Internal_Rel to Elf_Internal_Rela.
Zero r_addend fields.
(dump_relocations): Remove relas variable, change Elf_Internal_Rel to
Elf_Internal_Rela.
(print_symbol): Constify "symbol" arg. Don't pass "symbol" to printf
as the format string.
(dump_relocations): Correct section sym names.
(process_section_headers): Clear symtab_shndx_hdr.
(read_and_display_attr_value): Don't pass indirect string to printf
as the format string.
(display_debug_frames): Indicate when zero terminator found. Decode
DW_EH_PE_pcrel addresses.
* Makefile.am (CFILES): Add cxxfilt.c.
(cxxfilt_SOURCES): Now just cxxfilt.c $(BULIBS).
(cxxfilt_LDADD): Delete.
Remove all references to underscore.c.
Regen dependencies.
* configure.in: Define TARGET_PREPENDS_UNDERSCORE in
config.h from $UNDERSCORE, rather than AC_SUBSTing it.
* binutils/cxxfilt.c: Moved here from gcc/cp, minor
adjustments to fit into binutils framework.
* configure, config.in, Makefile.in, doc/Makefile.in: Regenerate.
gcc/cp:
* Make-lang.in: Remove all references to the demangler.
* cxxfilt.c: Moved to binutils.
* objcopy.c (copy_object): Don't warn about the unsupported
architecture unless the input target is defaulted or the
output architecture is different from the input.
2002-07-01 Matt Thomas <matt@3am-software.com>
* Rename EF_* to EF_VAX_*.
bfd:
2002-07-01 Matt Thomas <matt@3am-software.com>
* elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
to EF_VAX_*.
binutils:
2002-07-01 Matt Thomas <matt@3am-software.com>
* readelf.c: Include "elf/vax.h".
(guess_is_rela): Move EM_VAX from unknown to RELA case.
(dump_relocations): Handle VAX relocations.
(get_machine_flags): Handle VAX machine flags.
* nm.c: Include "elf/common.h".
(extended_symbol_info): Add elfinfo, a pointer to
elf_symbol_type.
(SYM_SIZE): Use elfinfo if it is not NULL.
(get_symbol_type): New function.
(display_archive): Set print_width for each archive member.
(display_file): Likewise.
(display_rel_file): Don't set print_width here.
(print_object_filename_sysv): Handle print_width.
(print_archive_member_sysv): Likewise.
(print_symbols): Pass (bfd_vma) 0 to print_symbol.
(print_symbol): Set the elfinfo field in extended_symbol_info
for ELF.
(print_object_filename_sysv): Fix the output format.
(print_symbol_info_sysv): Print type and section for ELF.
2002-06-18 Elias Athanasopoulos <eathan@otenet.gr>
* nm.c (print_size_symbols): Remove assignment, which makes
the symbol's size equal to its value when --size-sort is
used.
* readelf.c (get_file_header): Only read the first section header if
e_shoff is non-zero.
bfd/
* elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
e_shnum == 0.
Only read the first section header if e_shoff is non-zero.
Don't consider e_shstrndx if there are no sections.
* nm.c (print_size): New variable. Initialize to 0.
(long_options): Add 'S'/"print-size".
(main): Handle 'S'.
(print_symbol_info_bsd): Print size only if print_size is not
0.
* doc/binutils.texi: Document -S/--print-size.