Commit Graph

170 Commits

Author SHA1 Message Date
Jon Turney 6e6e7cfc78 This fixes a few issues with pe/coff build-ids that were discovered since the
original patches were posted:

  pe/coff: Display GUID build-id in the conventional way
  pe/coff: Don't interpret debug directory in section with no contents
  pe/coff: Keep .build-id with --only-keep-debug
  pe/coff: Don't break .build-id with objcopy/strip

	* peXXigen.c (pe_print_debugdata): Don't interpret debug directory
	in a section with no contents.
	(is_vma_in_section, find_section_by_vma): New functions.
	(_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file
	offsets in the debug directory.
	(_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
	Byte-swap GUID from little-endian to big-endian order for
	consistent and conventional display.

	* objcopy.c (is_nondebug_keep_contents_section): New function.
	(setup_section): Use it.
2014-05-16 15:34:13 +01:00
Alan Modra 5063a42103 Report an error on objcopy/strip of sectionless binaries
All strip operations require section headers to be present, as do most
objcopy operations.  BFD is seriously confused by objects without
section info.  The error message added here is similar to the error
on attempting to strip/objcopy a zero length object.

	PR binutils/16811
	* objcopy.c (copy_object): Error if no sections.
2014-04-07 13:59:31 +09:30
Anthony Green 182a105a38 Check fwrite return code 2014-03-14 12:56:12 -04:00
Alan Modra 4b95cf5c0c Update copyright years 2014-03-05 22:16:15 +10:30
Nick Clifton bbad633bb8 * objcopy.c (dump_sections): New list.
(command_line_switch): Add OPTION_DUMP_SECTION.
	(copy_options): Add dump-section.
	(copy_usage): Document new option.
	(copy_object): Dump requested sections.
	(copy_main): Handle --dump-section.
	* doc/binutils.texi: Document --dump-section option.
	* NEWS: Mention new feature.
2013-12-31 09:52:24 +00:00
Kai Tietz 76d8cf45bb * objcopy.c (copy_main): Initialize context variable. 2013-02-15 14:25:34 +00:00
Nick Clifton 2e62b7218b PR binutils/15033
* objcopy.c (enum change_action): Delete.
	(struct section_list): Delete remove, copy, change_vma, change_lma
	and set_flags fields.  Add context field.
	(find_section_list): Add a context parameter.  Add support for
	wildcard characters in section names.
	(is_strip_section): Check for sections being both  copied and
	removed.
	(copy_object): Pass context to find_section_list.
	(setup_section): Likewise.
	(copy_section): Likewise.
	(copy_main): Likewise.
	* doc/binutils: Document the new behaviour.
	* NEWS: Mention the new feature
2013-02-15 09:32:31 +00:00
Nick Clifton d99b05a32e PR binutils/15125
* objcopy.c (copy_object): Provide a helpful warning message when
	adding a gnu_debuglink section to an object which already contains
	one.
2013-02-14 11:52:25 +00:00
Alan Modra 5dddde8e64 * objcopy.c (parse_flags): Add merge and strings section flags. 2013-01-28 09:31:01 +00:00
Nick Clifton 9b8bf3211b * objcopy.c : Enable long section names for OPTION_ADD_GNU_DEBUGLINK. 2013-01-25 11:32:44 +00:00
Roland McGrath 955d0b3bd7 binutils/
* objcopy.c (deterministic): Make int rather than bfd_boolean,
	initialize to -1.
	(strip_options, copy_options): Add -U/--disable-deterministic-archives.
	(default_deterministic): New function.
	(strip_main, copy_main): Handle -U.  Call default_deterministic.
	(copy_usage, strip_usage): Describe -U.  Cite whether -D or -U is
	the default based on DEFAULT_AR_DETERMINISTIC.
	* doc/binutils.texi (objcopy, strip): Describe -U and effect of
	configure options on -D.

	* ar.c (default_deterministic): Comment fix.
2013-01-07 17:40:59 +00:00
H.J. Lu ee7da987c9 Don't read beyond section end
* objcopy.c (copy_section): Don't read beyond section end.
2012-11-07 06:16:26 +00:00
Kai Tietz 4fc8b8950a * objcopy.c (is_strip_section_1): Don't strip
.reloc section by default.
2012-10-18 17:29:54 +00:00
Cary Coutant 96109726a4 binutils/
* doc/binutils.texi (objcopy): Add --strip-dwo, --extract-dwo options.
	(strip): Add --strip-dwo option.
	* objcopy.c (enum strip_action): Add STRIP_DWO, STRIP_NONDWO.
	(enum command_line_switch): Add OPTION_EXTRACT_DWO, OPTION_STRIP_DWO.
	(strip_options): Add --strip-dwo option.
	(copy_options): Add --extract-dwo, --strip-dwo options.
	(copy_usage): Likewise.
	(strip_usage): Add --strip-dwo option.
	(is_dwo_section): New function.
	(is_strip_section_1): Check for DWO sections.
	(copy_object): Check for --strip-dwo, --extract-dwo options.
	(copy_relocations_in_section): Discard relocations for DWO sections.
	Discard entire relocation section when no relocations.
	(strip_main): Add --strip-dwo option.
	(copy_main): Add --strip-dwo, --extract-dwo options.
2012-05-08 17:49:36 +00:00
Cary Coutant 2e30cb575a * doc/binutils.texi: Add -D/--enable-deterministic-archives option
to strip and objcopy.
	* objcopy.c (deterministic): New global variable.
	(strip_options): Add --enable-deterministic-archives.
	(copy_options): Likewise.
	(copy_usage): Likewise.
	(strip_usage): Likewise.
	(copy_archive): When stripping all, don't add archive map; set
	deterministic output when requested.
	(strip_main): Add -D/--enable-deterministic-archives option.
	(copy_main): Likewise.
2012-04-25 17:50:14 +00:00
H.J. Lu c398915025 Don't generate empty reloc sections
binutils/

	PR binutils/13947
	* objcopy.c (copy_object): Call copy_relocations_in_section
	before copy_section.
	(skip_section): New.
	(copy_relocations_in_section): Likewise.
	(copy_section): Use skip_section.  Don't copy relocations here.

binutils/testsuite/

	PR binutils/13947
	* binutils-all/i386/compressed-1b.d: Remove empty REL section.
	* binutils-all/i386/compressed-1c.d: Likewise.

	* binutils-all/x86-64/compressed-1b.d: Remove empty RELA
	section.
	* binutils-all/x86-64/compressed-1c.d: Likewise.
2012-04-13 02:52:34 +00:00
Alan Modra dbb7c4414b * sysdep.h: Include sys/stat.h here.
* ar.c: Don't include headers already included by sysdep.h.
	* bucomm.c: Likewise.
	* budbg.h: Likewise.
	* dlltool.h: Likewise.
	* elfedit.c: Likewise.
	* nlmconv.c: Likewise.
	* objcopy.c: Likewise.
	* objdump.c: Likewise.
	* objdump.h: Likewise.
	* readelf.c: Likewise.
	* rename.c: Likewise.
	* resrc.c: Likewise.
	* strings.c: Likewise.
	* windres.c: Likewise.
	* od-macho.c: Ensure #include sysdep.h is first.
	* od-xcoff.c: Likewise.
	* dllwrap.c: Remove alloca pragma handled by sysdep.h, and
	remove duplicate headers.
	* dlltool.c: Likewise and ensure #include sysdep.h is first.
2012-02-09 04:51:44 +00:00
H.J. Lu 4c8e8a7ee0 Remove the group section if all members are removed.
binutils/

2011-09-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/13180
	* objcopy.c (is_strip_section_1): New.
	(is_strip_section): Use it.  Remove the group section if all
	members are removed.

binutils/testsuite/

2011-09-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/13180
	* binutils-all/group-6.d: New.
	* binutils-all/group-6.s: Likewise.

	* binutils-all/objcopy.exp: Run group-6 for ELF targrts.
2011-09-16 04:23:19 +00:00
Alan Modra 19094d10cd * objcopy.c (copy_archive): Check bfd_openw result in unknown object
case.  Rewrite without goto.
2011-05-06 14:41:56 +00:00
H.J. Lu 1e99536ae5 Make the unknown archive element readable.
2011-04-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/12632
	* objcopy.c (copy_unknown_object): Make the archive element
	readable.
2011-04-04 01:35:59 +00:00
Michael Snyder 0cbf353135 2011-03-14 Michael Snyder <msnyder@vmware.com>
* objcopy.c (set_pe_subsystem): Free subsystem.
2011-03-14 20:51:59 +00:00
Kai Tietz 8b6efd89a4 ChangeLog binutils/
2011-02-28  Kai Tietz  <kai.tietz@onevision.com>

	* debug.c (debug_start_source): Use filename_(n)cmp.
	* ieee.c (ieee_finish_compilation_unit): Likewise.
	(ieee_lineno): Likewise.
	* nlmconv.c (main): Likewise.
	* objcopy.c (strip_main): Likewise.
	(copy_main): Likewise.
	* objdump.c (show_line): Likewise.
	(dump_reloc_set): Likewise.
	* srconv.c (main): Likewise.
	* wrstabs.c (stab_lineno): Likewise.

ChangeLog gas/
2011-02-28  Kai Tietz  <kai.tietz@onevision.com>

	* depend.c (register_dependency): Use filename_(n)cmp.
	* dwarf2dbg.c (get_filenum): Likewise.
	* ecoff.c (add_file): Likewise.
	(ecoff_generate_asm_lineno): Likewise.
	* input-scrub.c (new_logical_line_flags): Likewise.
	* listing.c (file_info): Likewise.
	(listing_newline): Likewise.
	* remap.c (remap_debug_filename): Likewise.
	* stabs.c (generate_asm_file): Likewise.
	(stabs_generate_asm_lineno): Likewise.
2011-02-28 18:32:52 +00:00
Alan Modra 4e011fb578 bfd/
* hash.c (bfd_hash_hash): Extract from..
	(bfd_hash_lookup): ..here.
	(bfd_hash_rename): New function.
	* section.c (bfd_rename_section): New function.
	* bfd-in.h (bfd_hash_rename): Declare.
	* bfd-in2.h: Regenerate.
	* elf.c (_bfd_elf_make_section_from_shdr): Rename input sections
	when compressing or decompressing.  Don't assert name match.
	* elf64-hppa.c (get_reloc_section): Don't assert name match.
	* elfxx-ia64.c (get_reloc_section): Likewise.
binutils/
	* objcopy.c (copy_main): No need to rename sections when compressing
	or decompressing.
binutils/testsuite/
	* binutils-all/objdump.W: Adjust expected result for debug section
	rename.
2010-11-08 02:48:57 +00:00
H.J. Lu 4a114e3e0c Add compressed debug section support to binutils and ld.
bfd/

2010-10-29  H.J. Lu  <hongjiu.lu@intel.com>
	    Cary Coutant  <ccoutant@google.com>

	* archive.c (bfd_openr_next_archived_file): Copy BFD_COMPRESS
	and BFD_DECOMPRESS.

	* bfd.c (BFD_COMPRESS): New.
	(BFD_DECOMPRESS): Likewise.
	(BFD_FLAGS_SAVED): Likewise.
	(bfd_preserve_save): Replace BFD_IN_MEMORY with BFD_FLAGS_SAVED.

	* compress.c (bfd_uncompress_section_contents): Removed.
	(get_uncompressed_size): New.
	(decompress_contents): Likewise.
	(bfd_compress_section_contents): Likewise.
	(bfd_get_full_section_contents): Likewise.
	(bfd_is_section_compressed): Likewise.
	(bfd_init_section_decompress_status): Likewise.
	(bfd_init_section_compress_status): Likewise.

	* dwarf2.c (dwarf_debug_sections): New.
	(dwarf_debug_section_enum): Likewise.
	(read_section): Remove section_name and compressed_section_name.
	Add dwarf_debug_section_enum.  Try compressed debug section.
	(read_indirect_string): Updated.
	(read_abbrevs): Likewise.
	(decode_line_info): Likewise.
	(read_debug_ranges): Likewise.
	(find_line): Updated.

	* ecoff.c (bfd_debug_section): Add compress_status and
	compressed_size.

	* elf.c (_bfd_elf_make_section_from_shdr): Call
	bfd_is_section_compressed to check if a DWARF debug section is
	compressed.  Call bfd_init_section_compress_status or
	bfd_init_section_decompress_status if needed.

	* elflink.c (elf_link_input_bfd): Replace bfd_get_section_contents
	with bfd_get_full_section_contents.
	* merge.c (_bfd_add_merge_section): Likewise.
	* reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
	* simple.c (bfd_simple_get_relocated_section_contents): Likewise.

	* elfxx-target.h (TARGET_BIG_SYM): Allow BFD_COMPRESS and
	BFD_DECOMPRESS.
	(TARGET_LITTLE_SYM): Likewise.

	* libbfd-in.h (dwarf_debug_section): New.
	(dwarf_debug_sections): Likewise.

	* libbfd.c (_bfd_generic_get_section_contents): Issue an error
	when getting contents on compressed/decompressed section.

	* section.c (COMPRESS_SECTION_NONE): New.
	(COMPRESS_SECTION_DONE): Likewise.
	(DECOMPRESS_SECTION_SIZED): Likewise.
	(BFD_FAKE_SECTION): Add compress_status and compressed_size.
	(bfd_malloc_and_get_section): Replace bfd_get_section_contents
	with bfd_get_full_section_contents.

	* bfd-in2.h: Regenerated.
	* libbfd.h: Likewise.

binutils/

2010-10-29  H.J. Lu  <hongjiu.lu@intel.com>

	* addr2line.c (process_file): Set BFD_DECOMPRESS.

	* objcopy.c (do_debug_sections): New.
	(OPTION_COMPRESS_DEBUG_SECTIONS): New.
	(OPTION_DECOMPRESS_DEBUG_SECTIONS): Likewise.
	(copy_options): Add OPTION_COMPRESS_DEBUG_SECTIONS and
	OPTION_DECOMPRESS_DEBUG_SECTIONS.
	(copy_usage): Add --compress-debug-sections and
	--decompress-debug-sections.
	(copy_file): Set BFD_COMPRESS or BFD_DECOMPRESS.
	(copy_section): Replace bfd_get_section_contents with
	bfd_get_full_section_contents.
	(copy_main): Handle OPTION_COMPRESS_DEBUG_SECTIONS and
	OPTION_DECOMPRESS_DEBUG_SECTIONS.  Check do_debug_sections to
	rename DWARF debug sections.

	* objdump.c (load_specific_debug_section): Replace
	bfd_get_section_contents with bfd_get_full_section_contents.
	Remove bfd_uncompress_section_contents.
	(dump_section): Replace bfd_get_section_contents with
	bfd_get_full_section_contents.
	(display_file): Set BFD_DECOMPRESS if needed.

	* readelf.c (uncompress_section_contents): Set buffer to NULL
	to indiate decompression failure.
	(load_specific_debug_section): Always call
	uncompress_section_contents.

	* doc/binutils.texi: Document --compress-debug-sections and
	--decompress-debug-sections.

binutils/testsuite/

2010-10-29  H.J. Lu  <hongjiu.lu@intel.com>

	* binutils-all/compress.exp: New.
	* binutils-all/dw2-1.S: Likewise.
	* binutils-all/dw2-2.S: Likewise.
	* binutils-all/libdw2-compressed.out: Likewise.
	* binutils-all/libdw2.out: Likewise.

gas/

2010-10-29  H.J. Lu  <hongjiu.lu@intel.com>

	* write.c (compress_debug): Optimize section flags check.

gas/testsuite/

2010-10-29  H.J. Lu  <hongjiu.lu@intel.com>

	* elf/dwarf2-1.s: Replace .zdebug_abbrev section with
	.debug_abbrev section.
	* elf/dwarf2-2.3: Likewise.

	* elf/dwarf2-1.d: Pass --compress-debug-sections to assembler.
	Updated.
	* elf/dwarf2-2.d: Likewise.

	* gas/i386/i386.exp: Remove xfail on dw2-compress-2 and
	x86-64-dw2-compress-2.

ld/

2010-10-29  H.J. Lu  <hongjiu.lu@intel.com>

	* ldfile.c (ldfile_try_open_bfd): Set BFD_DECOMPRESS after
	bfd_openr returns.
	* emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Likewise.

	* scripttempl/elf.sc: Include compressed DWARF debug sections.

ld/testsuite/

2010-10-29  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-elf/compress.exp: New.
	* ld-elf/compress1.s: Likewise.
	* ld-elf/compress1a.d: Likewise.
	* ld-elf/compress1b.d: Likewise.
	* ld-elf/compress1c.d: Likewise.
2010-10-29 12:10:39 +00:00
Nick Clifton b7dd81f7c5 * objcopy.c: Add --interleave-width option to allow interleaving
of more than one byte at a time.
        (copy_width): New variable.
        (copy_options): Add --interleave-width.
        (copy_section): When interleaving copy in units of copy_width
        bytes.
        (copy_main): Parse the new option.
        * doc/binutils: Document the new option.
        * NEWS: Mention the new feature.

        * binutils-all/objcopy.exp: Add test of new --interleave-width
        option.
2010-09-10 12:11:28 +00:00
Dave Korn 447049af48 * objcopy.c (copy_usage): Tweak previous typofix. 2010-07-17 19:33:11 +00:00
H.J. Lu 235f6e5342 Fix a typo in "objcopy --help".
2010-07-17  H.J. Lu  <hongjiu.lu@intel.com>

	* objcopy.c (copy_usage): Fix a typo.
2010-07-17 14:41:28 +00:00
Alan Modra 6c67a030ce PR binutils/3166
* objcopy.c (is_strip_section): Revert 2006-09-05.
	(setup_section): Make SHT_GROUP section nobits.
2010-06-29 08:47:40 +00:00
Nathan Sidwell 0930eddd65 * objcopy.c (copy_object): Set SEC_LINKER_CREATED when adding
sections.

	testsuite/
	* binutils-all/note-1.d: New.
	* binutils-all/objcopy.exp: Add it.
2010-02-01 09:59:46 +00:00
Ian Lance Taylor 500ee42ee0 binutils/:
* objcopy.c (copy_main): Rewrite OPTION_ADD_SECTION code to work
	with non-ordinary files like /dev/null.
binutils/testsuite/:
	* lib/utils-lib.exp (run_dump_test): Permit option values to use
	$srcdir to refer to the source directory.
	* binutils-all/add-section.d: New test.
	* binutils-all/add-empty-section.d: New test.
	* binutils-all/empty-file: New test input file.
	* binutils-all/objcopy.exp: Run new tests.
2010-01-20 00:09:13 +00:00
H.J. Lu a0f1928042 Update copyright
2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>

	* objcopy.c: Update copyright.
	* readelf.c: Likewise.
2010-01-05 00:41:54 +00:00
H.J. Lu c1e2cb9d8c Remove "Warning: " from error message
2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/11130
	* objcopy.c (copy_object): Remove "Warning: " from error
	message.
2010-01-05 00:39:47 +00:00
Nick Clifton a6da20b52c * objcopy.c (add_redefine_syms_file): Avoid symbol buffer
overrun.
2009-12-31 14:40:36 +00:00
Nick Clifton 91d6fa6a03 Add -Wshadow to the gcc command line options used when compiling the binutils.
Fix up all warnings generated by the addition of this switch.
2009-12-11 13:42:17 +00:00
Nick Clifton 8b31b6c4c8 * obcopy.c (copy_object): New parameter `input_arch', architecture
of input file, if not specified in input file itself; all callers
       updated; `binary_architecture' hack removed.
       (copy_archive, copy_file): New parameter `input_arch', for
       `copy_object' usage.
       (copy_main): Accept `-B' (`--binary-architecture') option also
       for any arch-less input ifile format, not only `binary'; remove
       bfd_external_binary_architecture hack; instead, add `input_arch'
       to calls to `copy_file'.
       * windres.c, windmc.c : Obsolete and useless external references
       to `bfd_external_binary_architecture' or `bfd_external_machine'
       removed.

       * binary.c (binary_object_p): Remove bfd_external_binary_architecture
       hack.  objcopy `-B' (`--binary-architecture') option is now handled
       in a generic way.
2009-09-11 11:16:19 +00:00
Nick Clifton 3f5e193bd6 Updated soruces in binutils/* to compile cleanly with -Wc++-compat.
* binutils/addr2line.c (slurp_symtab): Fix casts. Introduce
        variable minisyms to avoid aliasing varning.
        * binutils/ar.c: Add casts. (normalize): Use name del instead of
        delete. (display_target_list,display_info_table): Change loop
        counter variable a to int.
        * binutils/bucomm.c: Add casts.
        * binutils/debug.c: Update function to use new names. (struct
        debug_baseclass): Rename member from virtual to
        is_virtual. (struct debug_type_s,struct debug_field_s,struct
        debug_baseclass_s,struct debug_method_s,struct
        debug_method_variant_s,struct debug_type_s): Rename struct from
        avoid name collision.
        * /binutils/debug.h: Use new struct names.
        * binutils/dwarf.c: Add casts. (free_debug_memory): Change loop
        counter variable a to int.
        * binutils/ieee.c: Add casts. (enum ieee_var_kind): Move to top
        level. (ieee_class_baseclass): Rename parameter virtual to
        is_virtual. (ieee_class_method_var): Rename variable virtual to
        is_virtual.
        * binutils/nm.c: Add casts.
        * binutils/objcopy.c: Add casts. (copy_archive): Rename variable
        delete to del.
        * binutils/objdump.c: Add casts. (dump_dwarf_section): Change loop
        counter variable i to int.
        * binutils/prdbg.c: Add
        casts. (pr_class_baseclass,tg_class_baseclass): Rename parameters
        virtual to is_virtual.
        * binutils/readelf.c: Add casts. (struct
        ia64_unw_table_entry,struct hppa_unw_table_entry): Move to top
        level.
        * binutils/size.c: Add casts.
        * binutils/stabs.c (parse_stab_type, parse_stab_range_type)
        (parse_stab_cpp_abbrev): Rename parameter from typename to
        type_name. (parse_stab_baseclasses): Rename variable virtual to
        is_virtual.
        * binutils/strings.c: Add casts.
        * binutils/wrstabs.c (stab_class_baseclass): Rename parameter
        virtual to is_virtual.
2009-09-10 13:40:44 +00:00
H.J. Lu 92fac5ecb0 2009-08-03 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/10364
	* objcopy.c (strip_main): Check return from smart_rename.
	(copy_main): Likewise.
2009-08-03 13:47:35 +00:00
H.J. Lu 52a476eeda 2009-06-27 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/10321
	* bucomm.c (get_file_size): Return -1 on error.

	* objcopy.c (copy_file): Report empty file.
2009-06-27 17:19:02 +00:00
Alan Modra 78e82dc3f1 * objcopy.c (set_long_section_mode): Check input_bfd is coff
before accessing coff specific fields of bfd.
2009-05-12 09:07:37 +00:00
H.J. Lu 325c681d94 bfd/
2009-04-27  H.J. Lu  <hongjiu.lu@intel.com>

	* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't
	copy pe_opthdr.

binutils/

2009-04-27  H.J. Lu  <hongjiu.lu@intel.com>

	* objcopy.c (copy_object): Copy pe_opthdr before changing PE
	parameters.
2009-04-27 13:59:43 +00:00
H.J. Lu d911860251 bfd/
2009-04-17  H.J. Lu  <hongjiu.lu@intel.com>

	* peXXigen.c (_bfd_XX_print_private_bfd_data_common): Replace
	IMAGE_SUBSYSTEM_EFI_ROM with IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER.

binutils/

2009-04-17  H.J. Lu  <hongjiu.lu@intel.com>

	* objcopy.c (set_pe_subsystem): Replace efi-rom with sal-rtd.
	* doc/binutils.texi: Likewise.

include/coff/

2009-04-17  H.J. Lu  <hongjiu.lu@intel.com>

	* pe.h (IMAGE_SUBSYSTEM_EFI_ROM): Renamed to ...
	(IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER): This.
2009-04-17 15:03:48 +00:00
H.J. Lu 92dd451149 bfd/
2009-04-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/10074
	* coffcode.h (bfd_pei_p): New.

	* config.bfd: Remove bfd_efi_bsdrv_ia32_vec,
	bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec,
	bfd_efi_rtdrv_x86_64_vec, bfd_efi_bsdrv_ia64_vec and
	bfd_efi_rtdrv_ia64_vec.  Replace bfd_efi_app_ia32_vec,
	bfd_efi_app_x86_64_vec and bfd_efi_app_ia64_vec with
	i386pei_vec, x86_64pei_vec and bfd_pei_ia64_vec, respectively.

	* configure.in: Remove bfd_efi_bsdrv_ia32_vec,
	bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec,
	bfd_efi_rtdrv_x86_64_vec,
	bfd_efi_bsdrv_ia64_vec and bfd_efi_rtdrv_ia64_vec.  Replace
	bfd_efi_ia64_vec with bfd_pei_ia64_vec.
	* targets.c: Likewise.

	* configure: Regenerated.
	* libcoff.h: Likewise.
	* Makefile.in: Likewise.

	* efi-app-ia32.c: Removed.
	* efi-app-x86_64.c: Likewise.
	* efi-bsdrv-ia32.c: Likewise.
	* efi-bsdrv-ia64.c: Likewise.
	* efi-bsdrv-x86_64.c: Likewise.
	* efi-rtdrv-ia32.c: Likewise.
	* efi-rtdrv-ia64.c: Likewise.
	* efi-rtdrv-x86_64.c: Likewise.
	* efi-rtdrv-ia32.c: Likewise.

	* efi-app-ia64.c: Moved to ...
	* pei-ia64.c: This.
	(TARGET_SYM): Set to bfd_pei_ia64_vec.
	(TARGET_NAME): Set to pei-ia64.

	* libpei.h (bfd_target_pei_p): Removed.
	(bfd_target_pei_arch): Likewise.
	(bfd_target_efi_app_p): Likewise.
	(bfd_target_efi_app_arch): Likewise.
	(bfd_target_efi_bsdrv_p): Likewise.
	(bfd_target_efi_bsdrv_arch): Likewise.
	(bfd_target_efi_rtdrv_p): Likewise.
	(bfd_target_efi_rtdrv_arch): Likewise.
	(bfd_pe_executable_p): Likewise.

	* Makefile.am (BFD32_BACKENDS): Remove efi-app-ia32.lo,
	efi-bsdrv-ia32.lo and efi-rtdrv-ia32.lo.
	(BFD32_BACKENDS_CFILES): Remove efi-app-ia32.c, efi-bsdrv-ia32.c
	and efi-rtdrv-ia32.c.
	(BFD64_BACKENDS): Remove efi-app-ia64.lo, efi-bsdrv-ia64.lo,
	efi-rtdrv-ia64.lo, efi-app-x86_64.lo, efi-bsdrv-x86_64.lo and
	efi-rtdrv-x86_64.lo. Add pei-ia64.lo.
	(BFD64_BACKENDS_CFILES): Remove efi-app-ia64.c, efi-bsdrv-ia64.c,
	efi-rtdrv-ia64.c, efi-app-x86_64.c, efi-bsdrv-x86_64.c and
	efi-rtdrv-x86_64.c. Add pei-ia64.c.
	(efi-app-ia64.lo): Removed.
	(efi-bsdrv-ia32.lo): Likewise.
	(efi-rtdrv-ia32.lo): Likewise.
	(efi-app-ia64.lo): Likewise.
	(efi-bsdrv-ia64.lo): Likewise.
	(efi-rtdrv-ia64.lo): Likewise.
	(efi-app-x86_64.lo): Likewise.
	(efi-bsdrv-x86_64.lo): Likewise.
	(efi-rtdrv-x86_64.lo): Likewise.
	(pei-ia64.lo): New.

	* peicode.h (coff_swap_scnhdr_in): Replace bfd_pe_executable_p
	with bfd_pei_p.
	(arch_type): Removed.
	(pe_arch): Likewise.
	(pe_bfd_object_p): Just return coff_object_p.

	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Replace
	bfd_pe_executable_p with bfd_pei_p.

binutils/

2009-04-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/10074
	* objcopy.c: Include coff/i386.h and coff/pe.h.
	(pe_file_alignment): New.
	(pe_heap_commit): Likewise.
	(pe_heap_reserve): Likewise.
	(pe_image_base): Likewise.
	(pe_section_alignment): Likewise.
	(pe_stack_commit): Likewise.
	(pe_stack_reserve): Likewise.
	(pe_subsystem): Likewise.
	(pe_major_subsystem_version): Likewise.
	(pe_minor_subsystem_version): Likewise.
	(set_pe_subsystem): Likewise.
	(convert_efi_target): Likewise.
	(command_line_switch): Add OPTION_FILE_ALIGNMENT,
	OPTION_HEAP, OPTION_IMAGE_BASE, OPTION_SECTION_ALIGNMENT,
	OPTION_STACK and OPTION_SUBSYSTEM.
	(copy_options): Likewise.
	(copy_usage): Add --file-alignment, --heap, --image-base,
	--section-alignment, --stack and --subsystem.
	(copy_object): Set up PE parameters.
	(copy_main): Process Add OPTION_FILE_ALIGNMENT,
	OPTION_HEAP, OPTION_IMAGE_BASE, OPTION_SECTION_ALIGNMENT,
	OPTION_STACK and OPTION_SUBSYSTEM.   Convert EFI target to
	PEI target.

	* NEWS: Mention --file-alignment, --heap, --image-base,
	--section-alignment, --stack and --subsystem command line
	options for objcopy.

	* doc/binutils.texi: Document --file-alignment, --heap,
	--image-base, --section-alignment, --stack and --subsystem
	command line options for objcopy.
2009-04-17 13:46:18 +00:00
Dave Korn 0408dee693 bfd/ChangeLog
* coffgen.c (make_a_section_from_file):  Set the backend long
	section names enable if long section names found on input.
	* coffcode.h:  Extend long section names documentation to match.

binutils/ChangeLog

	* objcopy.c (enum long_section_name_handling):  New enum type.
	(enum command_line_switch):  Add OPTION_LONG_SECTION_NAMES.
	(copy_options[]):  Add entry for --long-section-names option.
	(copy_usage):  Document it.
	(set_long_section_mode):  New subroutine.
	(copy_file):  Call it.
	(copy_main):  Accept OPTION_LONG_SECTION_NAMES and parse arg.
	* doc/binutils.texi:  Update objcopy documentation with details
	of new option.
2009-04-14 09:47:44 +00:00
H.J. Lu 3516e9841c bfd/
2009-03-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/9945
	* elf.c (assign_section_numbers): Generate symbol table if there
	is any relocation in output.
	(_bfd_elf_compute_section_file_positions): Likewise.

binutils/

2009-03-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/9945
	* objcopy.c (copy_object): Clear HAS_RELOC when stripping all.
2009-03-13 13:39:57 +00:00
H.J. Lu 0691f7afbc binutils/
2009-03-09  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/9933
	* objcopy.c (filter_symbols): Properly handle common symbols
	in relocatable file.

binutils/testsuite/

2009-03-09  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/9933
	* binutils-all/copy-4.d: New.

	* binutils-all/objcopy.exp: Run copy-4.
2009-03-10 00:48:10 +00:00
Alan Modra 8d8e0703f4 PR 9798
* bucomm.c (bfd_nonfatal_message): Use bfd_get_archive_filename.
	(bfd_get_archive_filename): Constify param.
	* bucomm.h (bfd_get_archive_filename): Update prototype.
	* objcopy.c (RETURN_NONFATAL): Delete.
	(copy_unknown_object): Don't call bfd_get_archive_filename for
	bfd_nonfatal_message filename, instead just pass bfd.
	(copy_object): Likewise.
	(copy_archive, copy_file): Likewise.  Expand RETURN_NONFATAL.  On
	bfd_close errors, do not pass the bfd to bfd_nonfatal_message.
	(setup_bfd_headers): Fix error message.
2009-01-29 13:03:21 +00:00
Alan Modra 119f424500 * objcopy.c (setup_section): Set elf_group_id. 2008-09-28 13:29:18 +00:00
Alan Modra 237dcb538f binutils/
* objcopy.c (copy_object): Don't setup_bfd_headers when extract_symbol.
	(setup_section): Don't zero vma and lma when extract_symbol.
	(copy_section): Discard relocations when extract_symbol.
	* doc/binutils.texi: Update --extract-symbol description.
ld/testsuite/
	* ld-elf/extract-symbol-1sec.d: Update.
2008-08-06 00:42:17 +00:00
Nick Clifton b922d5904f PR binutils/6483
* objdump.c (dump_bfd): If the -g option found no STABS or IEEE
        debug information to display, try dumping DWARF information
        instead.
        * rddbg.c (read_debugging_info): Add a parameter to suppress the
        display of a warning message when no debug information is found.
        * budbg.h (read_debugging_info): Update prototype.
        * objcopy.c (copy_object): Continue to allow read_debugging_info
        to produce warning messages.
        * doc/binutils.texi (--debugging): Document new behaviour of the
        -g/--debugging option.
2008-06-12 11:57:40 +00:00
Nick Clifton 047c90248e PR binutils/6034
* objcopy.c (stuct symlist): Rename to
        is_specified_symbol_predicate_data.
        (strip_specific_list): Rename to strip_specific_htab.
        (strip_unneeded_list): Rename to strip_unneeded_htab.
        (keep_specific_list):  Rename to keep_specific_htab.
        (localize_specific_list): Rename to localize_specific_htab.
        (globalize_specific_list): Rename to globalize_specific_htab.
        (keepglobal_specific_list): Rename to keepglobal_specific_htab.
        (weaken_specific_list): Rename to weaken_specific_htab.
        (eq_string): New function.
        (create_symbol_htab): New function.
        (create_symbol_htabs): New function.
        (add_specific_symbol): Change to use hash tables.
        (is_specified_symbol_predicate): New function.
        (is_specified_symbol): Use hash table lookup.
        (is_strip_section): Update to use new functions and hash tables.
        (filter_symbols): Likewise.
        (copy_object): Likewise.
        (copy_section): Likewise.
        (strip_main): Likewise.
        (copy_main): Likewise.
        (main): Likewise.
2008-04-16 08:24:21 +00:00