200x-xx-xx Phil Edwards <phil@codesourcery.com>
Richard Sandiford <richard@codesourcery.com>
* NEWS: Mention addition of --extract-symbol.
* doc/binutils.texi: Document it.
* objcopy.c (extract_symbol): New variable.
(OPTION_EXTRACT_SYMBOLS): New command_line_switch.
(copy_options): Add an entry for --extract-symbol.
(copy_usage): Mention --extract-symbol.
(copy_object): Set the start address to zero for --extract-symbol.
Do not copy private BFD data in that case.
(setup_section): Set the size, LMA and VMA to zero for
--extract-symbol. Do not copy private BFD data in that case.
(copy_section): Do not copy section contents if --extract-symbol
is passed.
(copy_main): Set extract_symbol to TRUE if --extract-symbol
is passed.
ld/testsuite/
* ld-elf/extract-symbol-1sym.d, ld-elf/extract-symbol-1sec.d,
* ld-elf/extract-symbol-1.s, ld-elf/extract-symbol-1.ld: New tests.
* ld-elf/binutils.exp: Run them.
2076-02-02 H.J. Lu <hongjiu.lu@intel.com>
* doc/binutils.texi (objdump): Document the new addr64 option
for i386 disassembler.
include/
2076-02-02 H.J. Lu <hongjiu.lu@intel.com>
* dis-asm.h (print_i386_disassembler_options): New.
opcodes/
2076-02-02 H.J. Lu <hongjiu.lu@intel.com>
* disassemble.c (disassembler_usage): Call
print_i386_disassembler_options for i386 disassembler.
* i386-dis.c (print_i386_disassembler_options): New.
(print_insn): Support the new addr64 option.
* objcopy.c (is_strip_section): Do not treat group sections as debugging sections.
* doc/binutils.texi (--only-keep-debug): Document that this switch is only intended for use on fully linked files.
(usage): Document new -j/--section option.
(find_offset_in_section): New function.
(translate_addresses): Add 'section' parameter.
If it is non-null, call find_offset_in_section on it.
(process_file): Add 'section_name' parameter.
If it is non-null, look for the section in the BFD object.
Pass the section to translate_addresses.
(main): Handle new -j option.
Pass the section name to process_file.
* doc/binutils.texi (addr2line): Document new -j/--section option.
(xlate): Also add underscore to stdcall symbol if
add_stdcall_underscore set.
(usage): Document --add-stdcall-underscore option.
(OPTION_ADD_STDCALL_UNDERSCORE): New define.
(long_options): Use it for --add-stdcall-underscore option.
(main): Handle it.
* doc/binutils.texi: Document --add-stdcall-underscore option
and differentiate from --add-underscore.
(copy_object): If bfd_alt_mach_code fails emit a more helpful message
and if the target architecture is ELF use the alternative as replacement
value for the e_machine number.
(copy_main): Use strtoul to parse the number provided with the
--alt-mach-code switch.
* doc/binutils.texi (--alt-mach-code): Document that this switch can now
set the absolute e_machine value.
for manual pages.
* Makefile.am (gprof.info, gprof.1): Depend on config.texi.
(config.texi): New file.
* Makefile.in: Regenerated.
* Makefile.am (configdoc.texi): Set top_srcdir in configdoc.texi..
* Makefile.in: Regenerated.
* ld.texinfo: Include configdoc.texi and ldver.texi in man pages.
Add @file documentation.
* cxxfilt.c (flags): Remove DMGL_TYPES;
(long_options): Rename --no-types to --types.
(usage): Likewise.
(demangle_it): Add a comment describing why _ and $ prefixes are skipped.
Use printf rather than puts to emit the demangled output in order to avoid
emitting a new line character.
(main): Have the -t flag enable type demangling.
Emit a newline after every demangled command line argument.
Copy whitespace from stdin to stdout.
* doc/binutils.texi (c++filt): Document the change to the -t switch.
Document why demangling names on the command line is slightly different
to demangling names read from the standard input.
as mangled names read from stdin.
Add -i switch to disable the display of implementation details.
Add -t switch to disable the demangling of types.
* NEWS: Mention the new switches.
* doc/binutils.texi (cxxfilt): Document the -i and -t switches.
* NEWS: Mention new readelf options, "-N/--full-section-name"
and "-g/--section-groups".
* doc/binutils.texi: Document new readelf options,
"-N/--full-section-name" and "-g/--section-groups".
* doc/binutils.texi (c++filt): Use uppercase CXXFILT in the footnote in order
to prevent the sed script in the Makefile from converting it into c++filt.
2004-12-15 Jan Beulich <jbeulich@novell.com>
* doc/binutils.texi: Document --strip-unneeded-symbol and
--strip-unneeded-symbols.
* objcopy.c (strip_unneeded_list): New.
(enum command_line_switch): Add OPTION_STRIP_UNNEEDED_SYMBOL
and OPTION_STRIP_UNNEEDED_SYMBOLS.
(copy_options): Add --strip-unneeded-symbol and
--strip-unneeded-symbols.
(copy_usage): Likewise.
(filter_symbols): Suppress copying of symbol if in strip_unneeded_list
and the symbol is not needed.
(copy_main): Handle OPTION_STRIP_UNNEEDED_SYMBOL and
OPTION_STRIP_UNNEEDED_SYMBOLS.
config.texi whose value is the current month and year.
* doc/Makefile.in: Rebuild.
* doc/binutils.texi: Set the document subtitle to be the value of
the Texinfo UPDATED variable (obtained from config.texi).
* doc/binutils.texi (def file format): New node.
(dlltool): Use the tool name as the @chapter name, like all the
other binutils. Use @file{.def} throughout for consistency.
* bfd/cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
externals properly.
* src/gas/config/obj-coff.c (obj_coff_weak): New .weak syntax for PE weak
externals.
* binutils/doc/binutils.texi (nm): Clarify weak symbol description.
* gas/config/tc-i386.c (tc_gen_reloc): Use addend for weak symbols in TE_PE.
* gas/doc/as.texinfo (Weak): Document PE weak symbols.
* ld/ld.texinfo (WIN32): Document PE weak symbols.
to handle flags for tweaking.
(copy_options): New options: impure, pure, readonly-text,
writable-text.
(copy_usage, copy_object, command_line_switch): Handle the new
options.
* doc/binutils.texi: Document the new options.
* doc/binutils.texi: Document new command line option.
* prdbg.c: Code to print the debug info as tags compatible with ctags.
* budbg.h: Adjust prototype.
* NEWS: Mention new switch
* doc/binutils.texi: Document that multiple -M switches are accepted and that
a single -M switch can contain comma separated options.
* arm-dis.c (parse_arm_disassembler_option): Do not expect option string to be
NUL terminated.
(parse_disassembler_options): Allow options to be space or comma separated.
indicates the context from which this function is being
called. Change all callers.
(copy_options): Add a new option, --redefine-syms.
(copy_usage): Document new option.
(copy_main): Handle the --redefine-syms option.
* doc/binutils.text (objcopy): Document new option.
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.
* 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.
* 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.
* doc/binutils.texi (objdump): Document x86 -M options.
include/ChangeLog
* dis-asm.h (print_insn_i386): Declare.
opcodes/ChangeLog
* disassemble.c (disassembler): Call print_insn_i386.
* i386-dis.c (SUFFIX_ALWAYS): Define.
(struct dis_private): Add orig_sizeflag.
(print_insn_i386): Make it a wrapper, calling..
(print_insn): ..The old body of print_insn_i386. Avoid longjmp
warning without using volatile by moving orig_sizeflag to priv,
and removing inbuf. Parse disassembler_options.
(print_insn_i386_att, print_insn_i386_intel): Move initialisation
code to print_insn.
(putop): Remove #ifdef SUFFIX_ALWAYS.
(options): Add --wide.
(usage, parse_args): Likewise.
(process_program_headers): Put each segment on a single line if
--wide is given.
(process_section_headers): Put each section on a single line if
--wide is given.
* doc/binutils.texi: Document it.
* NEWS: Likewise.