* bucomm.c (template_in_dir): New function, split out from..
(make_tempname): ..here. Open the file with O_EXCL if !HAVE_MKSTEMP.
(make_tempdir): Use template_in_dir. Handle directory creation
when !HAVE_MKDTEMP.
* objcopy.c (MKDIR): Don't define.
(copy_archive): Use make_tempdir when !HAVE_MKDTEMP too. Fix
error message.
* configure.in: Check for the mkstemp and mkdtemp functions.
* configure: Regenerate.
* config.in (HAVE_MKDTEMP): New potential define.
(MAKE_MKSTEMP): Likewise.
* bucomm.c (make_tempname): Use mkstemp if it is available.
* make_tempdir): New function: Create a temporary directory using mkdtemp, if
it is available.
* bucomm.h (make_tempdir): New prototype.
* objcopy.c (copy_archive): Use make_tempdir if it is available.
(strip_main): Produce an warning message if a temporary file could not be
(copy_main): Likewise.
* ar.c (write_archive): Likewise.
* elf.c (_bfd_elf_copy_private_header_data): Fix group members
that have had their SHT_GROUP section removed.
* objcopy.c (group_signature): New function, split out from..
(setup_section): ..here.
(is_strip_section): Return true for SHT_GROUP sections that are
going to lose their group signature symbol.
* objcopy.c (copy_archive): Add new parameter: force_output_target. If not
true, then perserve the file formats of each copied archive element,
otherwise force them to be one specific file format.
(copy_file): Compute force_output_target parameter to pass to copy_archive.
* 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.
* addr2line.c (process_file): Change function from void to returning an int. Return 0 upon success, 1 otherwise.
(main): Use return value from process_file as the exit value.
* ar.c (ranlib_only): Change function from void to returning an int. Return 0 upon success, 1 otherwise.
(ranlib_touch): Likewise.
(main): Use return value from ranlib functions as exit value.
* objcopy.c (add_specific_symbol): Set status to 1 if get_file_size fails.
(copy_file): Likewise.
(strip_main): Likewise.
(copy_main): Likewise.
* objdump.c (display_file): Set exit_status to 1 if get_file_size fails.
* size.c (display_file): Set return_code to 1 if get_file_size fails.
(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.
* objcopy.c (copy_object): For PE format targets set the VMA of a newly
created gnu_debuglink section to a non-zero, aligned, contiguous value.
* Makefile.am (objcopy.c): Add a dependency upon libbfd.h.
* Makefile.in: Regenerate.
* 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.
2005-03-02 Jan Beulich <jbeulich@novell.com>
* Makefile.am: Add dependency of cache.o on libiberty.h.
* cache.c: Include libiberty.h.
(bfd_open_file): Use unlink_if_ordinary instead of unlink.
binutils/
2005-03-02 Jan Beulich <jbeulich@novell.com>
* ar.c (remove_output): Use unlink_if_ordinary instead of unlink.
* objcopy.c (copy_file): Likewise.
(strip_main): Likewise.
gas/
2005-03-02 Jan Beulich <jbeulich@novell.com>
* as.c (main): Use unlink_if_ordinary instead of unlink.
* messages.c (as_fatal): Likewise.
ld/
2005-03-02 Jan Beulich <jbeulich@novell.com>
* ldmain.c (remove_output): Use unlink_if_ordinary instead of unlink.
* pe-dll.c (pe_dll_generate_implib): Likewise.
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.
objcopy.c (add_redefine_syms_file): Change error messages to use
<filename>:<linenumber>: format for easier parsing by automatic tools.
srconv.c (show_usage): Fix spelling typo.
windres.c (format_from_filename): Suggest the use of -J instead of -I if the
file type cannot be determined.
(is_strip_section): Don't strip debugging sections if
STRIP_NONDEBUG.
(setup_section): If STRIP_NONDEBUG make SEC_ALLOC sections
~(SEC_LOAD | SEC_HAS_CONTENTS) and on ELF targets also SHT_NOBITS.
* objcopy.c (copy_section): Free relpp if relcount == 0.
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.