aboutsummaryrefslogtreecommitdiff
path: root/bfd/configure.ac
AgeCommit message (Collapse)AuthorFilesLines
2018-02-27ld: Add --enable-separate-codeH.J. Lu1-0/+24
This patch adds --enable-separate-code to ld configure to turn on -z separate-code by default and enables it by default for Linux/x86. This avoids mixing code pages with data to improve cache performance as well as security. To reduce x86-64 executable and shared object sizes, the maximum page size is reduced from 2MB to 4KB when -z separate-code is turned on by default. Note: -z max-page-size= can be used to set the maximum page size. We compared SPEC CPU 2017 performance before and after this change on Skylake server. There are no any significant performance changes. Everything is mostly below +/-1%. bfd/ * config.in: Regenerated. * configure: Likewise. * configure.ac: Add --enable-separate-code. (DEFAULT_LD_Z_SEPARATE_CODE): New AC_DEFINE_UNQUOTED. Default to 1 for Linux/x86 targets, * elf64-x86-64.c (ELF_MAXPAGESIZE): Set to 0x1000 if DEFAULT_LD_Z_SEPARATE_CODE is 1. ld/ * NEWS: Mention --enable-separate-code. * configure.ac: Add --enable-separate-code. (DEFAULT_LD_Z_SEPARATE_CODE): New AC_DEFINE_UNQUOTED. * configure.tgt: Default ac_default_ld_z_separate_code to 1 for Linux/x86 targets. * config.in: Regenerated. * configure: Likewise. * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set link_info.separate_code DEFAULT_LD_Z_SEPARATE_CODE.
2018-01-03Update year range in copyright notice of binutils filesAlan Modra1-1/+1
2017-09-07x86; Don't add elf64-x86-64.lo nor elf64.lo together with elfxx-x86.loH.J. Lu1-7/+0
Don't set r_info and r_sym fields in _bfd_x86_elf_link_hash_table_create. Instead, set them in _bfd_x86_elf_link_setup_gnu_properties. We can avoid adding elf64-x86-64.lo and elf64.lo together with elfxx-x86.lo to bfd_backends. * configure.ac (bfd_backends): Don't add elf64-x86-64.lo nor elf64.lo together with elfxx-x86.lo for 64-bit BFD. * configure: Regenerated. * elf32-i386.c (elf_i386_link_setup_gnu_properties): Set r_info and r_sym fields of plt_layout. * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Likewise. * elfxx-x86.c (elf_x86_64_is_reloc_section): Remove BFD64 check. (_bfd_x86_elf_link_hash_table_create): Likewise. Don't set r_info nor r_sym fields. (_bfd_x86_elf_link_setup_gnu_properties): Set r_info and r_sym fields of htab. * elfxx-x86.h (elf_x86_plt_layout_table): Add r_info and r_sym.
2017-09-02Add elf64-x86-64.lo together with elfxx-x86.lo for 64-bit BFDH.J. Lu1-2/+2
Since elfxx-x86.lo needs elf64-x86-64.lo with 64-bit BFD now, add elf64-x86-64.lo together with elfxx-x86.lo to bfd_backends for 64-bit BFD. * configure.ac (bfd_backends): Add elf64-x86-64.lo together with elfxx-x86.lo for 64-bit BFD. * configure: Regenerated.
2017-08-30Add elf64.lo together with elfxx-x86.lo for 64-bit BFDH.J. Lu1-0/+7
Since elfxx-x86.lo needs elf64.lo with 64-bit BFD, add elf64.lo together with elfxx-x86.lo to bfd_backends for 64-bit BFD. * configure.ac (bfd_backends): Add elf64.lo together with elfxx-x86.lo for 64-bit BFD. * configure: Regenerated.
2017-08-29Add elfxx-x86.h and elfxx-x86.cH.J. Lu1-17/+17
Move common codes in elf32-i386.c and elf64-x86-64.c to elfxx-x86.c. * Makefile.am (BFD32_BACKENDS): Add elfxx-x86.lo. (BFD64_BACKENDS): Likewise. (BFD32_BACKENDS_CFILES): Add elfxx-x86.c. (BFD64_BACKENDS_CFILES): Likewise. * Makefile.in: Regenerated. * configure.ac (bfd_backends): Add elfxx-x86.lo together with elf32-i386.lo and elf64-x86-64.lo. * configure: Regenerated. * elf32-i386.c: Include "elfxx-x86.h" instead of "sysdep.h", "bfd.h", "bfdlink.h", "libbfd.h", "elf-bfd.h", "bfd_stdint.h", "objalloc.h" and "hashtab.h". (ELIMINATE_COPY_RELOCS): Removed. (UNDEFINED_WEAK_RESOLVED_TO_ZERO):Likewise. (SYMBOL_NO_COPYRELOC): Likewise. (elf_i386_link_hash_entry): Likewise. (GOT_UNKNOWN): Likewise. (GOT_NORMAL): Likewise. (GOT_TLS_GD): Likewise. (elf_i386_hash_entry): Likewise. (elf_i386_obj_tdata): Likewise. (elf_i386_tdata): Likewise. (elf_i386_local_got_tls_type): Likewise. (elf_i386_local_tlsdesc_gotent): Likewise. (elf_i386_hash_table): Likewise. (elf_i386_link_hash_newfunc): Likewise. (elf_i386_local_htab_hash): Likewise. (elf_i386_local_htab_eq): Likewise. (elf_i386_get_local_sym_hash): Likewise. (elf_i386_link_hash_table_free): Likewise. (elf_i386_copy_indirect_symbol): Likewise. (elf_i386_fixup_symbol): Likewise. (elf_i386_readonly_dynrelocs): Likewise. (elf_i386_always_size_sections): Likewise. (elf_i386_set_tls_module_base): Likewise. (elf_i386_dtpoff_base): Likewise. (compare_relocs): Likewise. (elf_i386_hash_symbol): Likewise. (elf_i386_parse_gnu_properties): Likewise. (elf_i386_merge_gnu_properties): Likewise. (elf_i386_link_check_relocs): Likewise. (elf_i386_merge_symbol_attribute): Likewise. (bfd_elf32_bfd_link_check_relocs): Likewise. (elf_backend_copy_indirect_symbol): Likewise. (elf_backend_always_size_sections): Likewise. (elf_backend_omit_section_dynsym): Likewise. (elf_backend_hash_symbol): Likewise. (elf_backend_fixup_symbol): Likewise. (elf_backend_parse_gnu_properties): Likewise. (elf_backend_merge_gnu_properties): Likewise. (elf_backend_merge_symbol_attribute): Likewise. (elf_i386_mkobject): Updated. (elf_i386_link_hash_table_create): Likewise. (elf_i386_check_tls_transition): Likewise. (elf_i386_tls_transition): Likewise. (elf_i386_convert_load_reloc): Likewise. (elf_i386_check_relocs): Likewise. (elf_i386_adjust_dynamic_symbol): Likewise. (elf_i386_allocate_dynrelocs): Likewise. (elf_i386_convert_load): Likewise. (elf_i386_size_dynamic_sections): Likewise. (elf_i386_relocate_section): Likewise. (elf_i386_finish_dynamic_symbol ): Likewise. (elf_i386_finish_dynamic_sections): Likewise. (elf_i386_output_arch_local_syms): Likewise. (elf_i386_get_synthetic_symtab): Likewise. (elf_i386_link_setup_gnu_properties): Likewise. (elf_i386_link_hash_table): Use elf_x86_link_hash_table, instead of elf_link_hash_table, as base. (elf_i386_next_tls_desc_index): New. (elf_i386_srelplt2): Likewise. (elf_i386_plt): Likewise. (elf_i386_lazy_plt): Likewise. (elf_i386_non_lazy_plt): Likewise. * elf32-x86-64.c: Include "elfxx-x86.h" instead of "sysdep.h", "bfd.h", "bfdlink.h", "libbfd.h", "elf-bfd.h", "bfd_stdint.h", "objalloc.h" and "hashtab.h". (ELIMINATE_COPY_RELOCS): Removed. (UNDEFINED_WEAK_RESOLVED_TO_ZERO):Likewise. (SYMBOL_NO_COPYRELOC): Likewise. (elf_x86_64_link_hash_entry): Likewise. (GOT_UNKNOWN): Likewise. (GOT_NORMAL): Likewise. (GOT_TLS_GD): Likewise. (elf_x86_64_hash_entry): Likewise. (elf_x86_64_obj_tdata): Likewise. (elf_x86_64_tdata): Likewise. (elf_x86_64_local_got_tls_type): Likewise. (elf_x86_64_local_tlsdesc_gotent): Likewise. (elf_x86_64_hash_table): Likewise. (elf_x86_64_link_hash_newfunc): Likewise. (elf_x86_64_local_htab_hash): Likewise. (elf_x86_64_local_htab_eq): Likewise. (elf_x86_64_get_local_sym_hash): Likewise. (elf_x86_64_link_hash_table_free): Likewise. (elf_x86_64_copy_indirect_symbol): Likewise. (elf_x86_64_fixup_symbol): Likewise. (elf_x86_64_readonly_dynrelocs): Likewise. (elf_x86_64_always_size_sections): Likewise. (elf_x86_64_set_tls_module_base): Likewise. (elf_x86_64_dtpoff_base): Likewise. (compare_relocs): Likewise. (elf_x86_64_merge_symbol_attribute): Likewise. (elf_x86_64_hash_symbol): Likewise. (elf_x86_64_parse_gnu_properties): Likewise. (elf_x86_64_merge_gnu_properties): Likewise. (elf_x86_64_link_check_relocs): Likewise. (elf_backend_copy_indirect_symbol): Likewise. (elf_backend_always_size_sections): Likewise. (bfd_elf64_bfd_link_check_relocs): Likewise. (elf_backend_merge_symbol_attribute): Likewise. (elf_backend_hash_symbol): Likewise. (elf_backend_omit_section_dynsym): Likewise. (elf_backend_fixup_symbol): Likewise. (elf_backend_parse_gnu_properties): Likewise. (elf_backend_merge_gnu_properties): Likewise. (bfd_elf32_bfd_link_check_relocs): Likewise. (elf_x86_64_mkobject): Updated. (elf_x86_64_link_hash_table_create): Likewise. (elf_x86_64_check_tls_transition): Likewise. (elf_x86_64_tls_transition): Likewise. (elf_x86_64_convert_load_reloc): Likewise. (elf_x86_64_check_relocs): Likewise. (elf_x86_64_adjust_dynamic_symbol): Likewise. (elf_x86_64_allocate_dynrelocs): Likewise. (elf_x86_64_convert_load): Likewise. (elf_x86_64_size_dynamic_sections): Likewise. (elf_x86_64_relocate_section): Likewise. (elf_x86_64_finish_dynamic_symbol ): Likewise. (elf_x86_64_finish_dynamic_sections): Likewise. (elf_x86_64_output_arch_local_syms): Likewise. (elf_x86_64_get_synthetic_symtab): Likewise. (elf_x86_64_link_setup_gnu_properties): Likewise. (elf_x86_64_link_hash_table): Use elf_x86_link_hash_table, instead of elf_link_hash_table, as base. (elf_x86_64_next_tls_desc_index): New. (elf_x86_64_srelplt2): Likewise. (elf_x86_64_plt): Likewise. (elf_x86_64_lazy_plt): Likewise. (elf_x86_64_non_lazy_plt): Likewise. * elfxx-x86.c: New file. * elfxx-x86.h: Likewise.
2017-07-12Update PO filesAlan Modra1-1/+1
bfd/ * po/es.po: Update from translationproject.org/latest/bfd/. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/id.po: Likewise. * po/ja.po: Likewise. * po/ro.po: Likewise. * po/ru.po: Likewise. * po/sr.po: Likewise. * po/sv.po: Likewise. * po/tr.po: Likewise. * po/uk.po: Likewise. * po/vi.po: Likewise. * po/zh_CN.po: Likewise. * po/hr.po: New file from translationproject.org. * configure.ac (ALL_LINGUAS): Add hr. Sort. * configure: Regenerate. binutils/ * po/bg.po: Update from translationproject.org/latest/binutils/. * po/ca.po: Likewise. * po/da.po: Likewise. * po/es.po: Likewise. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/hr.po: Likewise. * po/id.po: Likewise. * po/it.po: Likewise. * po/ja.po: Likewise. * po/ro.po: Likewise. * po/ru.po: Likewise. * po/sk.po: Likewise. * po/sr.po: Likewise. * po/sv.po: Likewise. * po/tr.po: Likewise. * po/uk.po: Likewise. * po/vi.po: Likewise. * po/zh_CN.po: Likewise. * po/zh_TW.po: Likewise. gas/ * po/es.po: Update from translationproject.org/latest/gas/. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/id.po: Likewise. * po/ja.po: Likewise. * po/ru.po: Likewise. * po/sv.po: Likewise. * po/tr.po: Likewise. * po/uk.po: Likewise. * po/zh_CN.po: Likewise. gold/ * po/es.po: Update from translationproject.org/latest/gold/. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/id.po: Likewise. * po/it.po: Likewise. * po/vi.po: Likewise. * po/zh_CN.po: Likewise. * po/ja.po: New file from translationproject.org. * po/sv.po: Likewise. * po/uk.po: Likewise. gprof/ * po/bg.po: Update from translationproject.org/latest/gprof/. * po/da.po: Likewise. * po/de.po: Likewise. * po/eo.po: Likewise. * po/es.po: Likewise. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/ga.po: Likewise. * po/hu.po: Likewise. * po/id.po: Likewise. * po/it.po: Likewise. * po/ja.po: Likewise. * po/ms.po: Likewise. * po/nl.po: Likewise. * po/pt_BR.po: Likewise. * po/ro.po: Likewise. * po/ru.po: Likewise. * po/sr.po: Likewise. * po/sv.po: Likewise. * po/tr.po: Likewise. * po/uk.po: Likewise. * po/vi.po: Likewise. ld/ * po/bg.po: Update from translationproject.org/latest/ld/. * po/da.po: Likewise. * po/es.po: Likewise. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/id.po: Likewise. * po/it.po: Likewise. * po/ja.po: Likewise. * po/tr.po: Likewise. * po/uk.po: Likewise. * po/vi.po: Likewise. * po/zh_CN.po: Likewise. * po/zh_TW.po: Likewise. * po/de.po: New file from translationproject.org. * po/ru.po: Likewise. * configure.ac (ALL_LINGUAS): Add de, ru. Sort. * configure: Regenerate. opcodes/ * po/da.po: Update from translationproject.org/latest/opcodes/. * po/de.po: Likewise. * po/es.po: Likewise. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/id.po: Likewise. * po/it.po: Likewise. * po/nl.po: Likewise. * po/pt_BR.po: Likewise. * po/ro.po: Likewise. * po/sv.po: Likewise. * po/tr.po: Likewise. * po/uk.po: Likewise. * po/vi.po: Likewise. * po/zh_CN.po: Likewise.
2017-07-03Missing config for bfd.c:_doprntAlan Modra1-1/+2
This function uses HAVE_LONG_LONG and HAVE_LONG_DOUBLE * configure.ac: Invoke AC_CHECK_TYPES for long long. Invoke AC_TYPE_LONG_DOUBLE. * configure: Regenerate. * config.in: Regenerate.
2017-04-03ld: Support ELF GNU program propertiesH.J. Lu1-1/+1
From .note.gnu.property section in each ELF input, we build a list of GNU properties if .note.gnu.property section isn't corrupt. The unknown properties are ignored. All property lists in relocatable inputs are merged into an output property list. When -z stack-size=N is used and N isn't 0, the GNU_PROPERTY_STACK_SIZE property will be merged with or added to the output property list. .note.gnu.property section is generated in output from the output property list. bfd/ * Makefile.am (BFD32_BACKENDS): Add elf-properties.lo. (BFD32_BACKENDS_CFILES): Add elf-properties.c. * configure.ac (elf): Add elf-properties.lo. * Makefile.in: Regenerated. * configure: Likewise. * elf-bfd.h (elf_property_kind): New. (elf_property): Likewise. (elf_property_list): Likewise. (elf_properties): Likewise. (_bfd_elf_parse_gnu_properties): Likewise. (_bfd_elf_get_property): Likewise. (_bfd_elf_link_setup_gnu_properties): Likewise. (elf_backend_data): Add parse_gnu_properties, merge_gnu_properties and setup_gnu_properties. (elf_obj_tdata): Add properties. * elf-properties.c: New file. * elf32-i386.c (elf_i386_parse_gnu_properties): New. (elf_i386_merge_gnu_properties): Likewise. (elf_backend_parse_gnu_properties): Likewise. (elf_backend_merge_gnu_properties): Likewise. * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise. (elf_x86_64_merge_gnu_properties): Likewise. (elf_backend_parse_gnu_properties): Likewise. (elf_backend_merge_gnu_properties): Likewise. * elfxx-target.h (elf_backend_merge_gnu_properties): Likewise. (elf_backend_parse_gnu_properties): Likewise. (elf_backend_setup_gnu_properties): Likewise. (elfNN_bed): Add elf_backend_parse_gnu_properties, elf_backend_merge_gnu_properties and elf_backend_setup_gnu_properties. ld/ * ld/NEWS: Mention support for ELF GNU program properties. * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Call ELF setup_gnu_properties. * testsuite/ld-i386/i386.exp: Run property tests for Linux/i386. * testsuite/ld-i386/pass.c: New file. * testsuite/ld-i386/property-1.r: Likewise. * testsuite/ld-i386/property-2.r: Likewise. * testsuite/ld-i386/property-3.r: Likewise. * testsuite/ld-i386/property-4.r: Likewise. * testsuite/ld-i386/property-5.r: Likewise. * testsuite/ld-i386/property-6.r: Likewise. * testsuite/ld-i386/property-6a.c: Likewise. * testsuite/ld-i386/property-6b.c: Likewise. * testsuite/ld-i386/property-6c.S: Likewise. * testsuite/ld-i386/property-7.r: Likewise. * testsuite/ld-i386/property-no-copy.S: Likewise. * testsuite/ld-i386/property-stack.S: Likewise. * testsuite/ld-i386/property-unsorted-1.S: Likewise. * testsuite/ld-i386/property-unsorted-2.S: Likewise. * testsuite/ld-i386/property-x86-1.S: Likewise. * testsuite/ld-i386/property-x86-2.S: Likewise. * testsuite/ld-x86-64/pass.c: Likewise. * testsuite/ld-x86-64/property-1.r: Likewise. * testsuite/ld-x86-64/property-2.r: Likewise. * testsuite/ld-x86-64/property-3.r: Likewise. * testsuite/ld-x86-64/property-4.r: Likewise. * testsuite/ld-x86-64/property-5.r: Likewise. * testsuite/ld-x86-64/property-6.r: Likewise. * testsuite/ld-x86-64/property-6a.c: Likewise. * testsuite/ld-x86-64/property-6b.c: Likewise. * testsuite/ld-x86-64/property-6c.S: Likewise. * testsuite/ld-x86-64/property-7.r: Likewise. * testsuite/ld-x86-64/property-no-copy.S: Likewise. * testsuite/ld-x86-64/property-stack.S: Likewise. * testsuite/ld-x86-64/property-unsorted-1.S: Likewise. * testsuite/ld-x86-64/property-unsorted-2.S: Likewise. * testsuite/ld-x86-64/property-x86-1.S: Likewise. * testsuite/ld-x86-64/property-x86-2.S: Likewise. * testsuite/ld-x86-64/x86-64.exp: Run property tests for Linux/x86-64.
2017-03-27Add support for the WebAssembly backend to the BFD library.Pip Cet1-0/+1
* wasm-module.c: New file to support WebAssembly modules. * wasm-module.h: New file to support WebAssembly modules. * doc/webassembly.texi: Start documenting wasm-module.c. * config.bfd: Add wasm_vec. * targets.c: Likewise. * configure.ac: Likewise. * Makefile.am: Add entries for wasm-module.c. * Makefile.in: Regenerate. * configure: Regenerate. * po/SRC-POTFILES.in: Regenerate.
2017-03-27Add minimal support for WebAssembly backend to the BFD library.Pip Cet1-0/+1
include * elf/wasm32.h: New file to support wasm32 architecture. bfd * cpu-wasm32.c: New file to support wasm32 architecture. * elf32-wasm32.c: New file to support wasm32 architecture. * Makefile.am: Add wasm32 architecture. * archures.c: Likewise. * config.bfd: Likewise. * configure.ac: Likewise. * targets.c: Likewise.
2017-01-02Update year range in copyright notice of all files.Alan Modra1-1/+1
2016-12-31PRU BFD supportDimitar Dimitrov1-0/+1
include/ * elf/common.h: Add PRU ELF. * elf/pru.h: New file. * opcode/pru.h: New file. * dis-asm.h (print_insn_pru): Declare. bfd/ * archures.c: Add bfd_arch_pru. * Makefile.am: Add PRU target. * config.bfd: Ditto. * configure.ac: Ditto. * elf-bfd.h (enum elf_target_id): Add PRU_ELF_DATA. * targets.c: Add pru_elf32_vec. * reloc.c: Add PRU relocations. * cpu-pru.c: New file. * elf32-pru.c: New file. * Makefile.in: Regenerate. * configure: Regenerate. * po/SRC-POTFILES.in: Regenerate. * bfd-in2.h: Regenerate * libbfd.h: Regenerate. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2016-12-23hppa-linux-gnu-ranlib: libcpp.a: File format not recognizedAlan Modra1-10/+1
This stops an --enable-targets selection affecting the main target in regards to forcing 64-bit archives. It also means mips64 and s390x will revert to binutils-2.25 and binutils-2.26 behaviour of not forcing 64-bit archives at least in the common case when plugins were enabled. PR binutils/20464 PR binutils/14625 * configure.ac: Revert 2016-05-25 configure change setting want_64_bit_archive for mips64 and s390x. Revise USE_64_BIT_ARCHIVE description. * configure: Regenerate. * config.in: Regenerate.
2016-11-22Fix spelling mistakes in comments in configure scriptsAmbrogino Modigliani1-1/+1
All changes are limited to comments, and no run-time behavior is affected. bfd/ChangeLog: 2016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com> * warning.m4: Fix spelling in comments. * configure.ac: Fix spelling in comments. * configure: Regenerate. binutils/ChangeLog: 2016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com> * configure: Regenerate. gdb/ChangeLog: 2016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com> * configure.ac: Fix spelling in comments. * configure: Regenerate. gas/ChangeLog: 2016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com> * configure: Regenerate. gold/ChangeLog: 2016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com> * configure: Regenerate. gprof/ChangeLog: 2016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com> * configure: Regenerate. ld/ChangeLog: 2016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com> * configure: Regenerate. opcodes/ChangeLog: 2016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com> * configure: Regenerate.
2016-11-01Add support for RISC-V architecture.Nick Clifton1-0/+2
bfd * Makefile.am: Add entries for riscv32-elf and riscv64-elf. * config.bdf: Likewise. * configure.ac: Likewise. * Makefile.in: Regenerate. * configure: Regenerate. * archures.c: Add bfd_riscv_arch. * reloc.c: Add riscv relocs. * targets.c: Add riscv_elf32_vec and riscv_elf64_vec. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * elf-bfd.h: Add RISCV_ELF_DATA to enum elf_target_id. * elfnn-riscv.c: New file. * elfxx-riscv.c: New file. * elfxx-riscv.h: New file. binutils* readelf.c (guess_is_rela): Add EM_RISCV. (get_machine_name): Likewise. (dump_relocations): Add support for riscv relocations. (get_machine_flags): Add support for riscv flags. (is_32bit_abs_reloc): Add R_RISCV_32. (is_64bit_abs_reloc): Add R_RISCV_64. (is_none_reloc): Add R_RISCV_NONE. * testsuite/binutils-all/objdump.exp (cpus_expected): Add riscv. Expect the debug_ranges test to fail. gas * Makefile.am: Add riscv files. * Makefile.in: Regenerate. * NEWS: Mention the support for this architecture. * configure.in: Define a default architecture. * configure: Regenerate. * configure.tgt: Add entries for riscv. * doc/as.texinfo: Likewise. * testsuite/gas/all/gas.exp: Expect the redef tests to fail. * testsuite/gas/elf/elf.exp: Expect the groupauto tests to fail. * config/tc-riscv.c: New file. * config/tc-riscv.h: New file. * doc/c-riscv.texi: New file. * testsuite/gas/riscv: New directory. * testsuite/gas/riscv/riscv.exp: New file. * testsuite/gas/riscv/t_insns.d: New file. * testsuite/gas/riscv/t_insns.s: New file. ld * Makefile.am: Add riscv files. * Makefile.in: Regenerate. * NEWS: Mention the support for this target. * configure.tgt: Add riscv entries. * emulparams/elf32lriscv-defs.sh: New file. * emulparams/elf32lriscv.sh: New file. * emulparams/elf64lriscv-defs.sh: New file. * emulparams/elf64lriscv.sh: New file. * emultempl/riscvelf.em: New file. opcodes * configure.ac: Add entry for bfd_riscv_arch. * configure: Regenerate. * disassemble.c (disassembler): Add support for riscv. (disassembler_usage): Likewise. * riscv-dis.c: New file. * riscv-opc.c: New file. include * dis-asm.h: Add prototypes for print_insn_riscv and print_riscv_disassembler_options. * elf/riscv.h: New file. * opcode/riscv-opc.h: New file. * opcode/riscv.h: New file.
2016-06-01Add new Serbian translation for the bfd library.Nick Clifton1-1/+1
* po/sr.po: New Serbian translation. * configure.ac (ALL_LINGUAS): Add sr. * configure: Regenerate.
2016-05-25Enable 64-bit archives in ar and ranlibH.J. Lu1-0/+25
Since existing ld and gold support the 64-bit (MIPS) ELF archives, we can use the 64-bit (MIPS) ELF archives as 64-bit archives. Since the plugin target is used to create archive in plugin-enabled ar, we need a way to enable 64-bit archives in the plugin target. This patch adds --enable-64-bit-archive to bfd to force 64-bit archives in ar and ranlib. Since both 64-bit MIPS and s390 ELF targets currently use 64-bit archives, 64-bit archives are enabled by default for them. 64-bit archive is generated automatically if the archive is too big. Tested on Linux/x86 and Linux/x86-64 with existing ld and gold. bfd/ PR binutils/14625 * archive.c (bfd_slurp_armap): Replace bfd_elf64_archive_slurp_armap with _bfd_archive_64_bit_slurp_armap. (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if BFD64 is defined and the archive is too big. (coff_write_armap): Likewise. * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ... (_bfd_archive_64_bit_slurp_armap): This. (bfd_elf64_archive_write_armap): Renamed to ... (_bfd_archive_64_bit_write_armap): This. * configure.ac: Add --enable-64-bit-archive. (want_64_bit_archive): New. Set to true by default for 64-bit MIPS and s390 ELF targets. (USE_64_BIT_ARCHIVE): New AC_DEFINE. * config.in: Regenerated. * configure: Likewise. * elf64-mips.c (bfd_elf64_archive_functions): Removed. (bfd_elf64_archive_slurp_armap): Likewise. (bfd_elf64_archive_write_armap): Likewise. (bfd_elf64_archive_slurp_extended_name_table): Likewise. (bfd_elf64_archive_construct_extended_name_table): Likewise. (bfd_elf64_archive_truncate_arname): Likewise. (bfd_elf64_archive_read_ar_hdr): Likewise. (bfd_elf64_archive_write_ar_hdr): Likewise. (bfd_elf64_archive_openr_next_archived_file): Likewise. (bfd_elf64_archive_get_elt_at_index): Likewise. (bfd_elf64_archive_generic_stat_arch_elt): Likewise. (bfd_elf64_archive_update_armap_timestamp): Likewise. * elf64-s390.c (bfd_elf64_archive_functions): Removed. (bfd_elf64_archive_slurp_armap): Likewise. (bfd_elf64_archive_write_armap): Likewise. (bfd_elf64_archive_slurp_extended_name_table): Likewise. (bfd_elf64_archive_construct_extended_name_table): Likewise. (bfd_elf64_archive_truncate_arname): Likewise. (bfd_elf64_archive_read_ar_hdr): Likewise. (bfd_elf64_archive_write_ar_hdr): Likewise. (bfd_elf64_archive_openr_next_archived_file): Likewise. (bfd_elf64_archive_get_elt_at_index): Likewise. (bfd_elf64_archive_generic_stat_arch_elt): Likewise. (bfd_elf64_archive_update_armap_timestamp): Likewise. * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and bfd_elfNN_archive_functions isn't defined. (TARGET_LITTLE_SYM): Likewise. * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype. (_bfd_archive_64_bit_write_armap): Likewise. (_bfd_archive_64_bit_slurp_extended_name_table): New macro. (_bfd_archive_64_bit_construct_extended_name_table): Likewise. (_bfd_archive_64_bit_truncate_arname): Likewise. (_bfd_archive_64_bit_read_ar_hdr): Likewise. (_bfd_archive_64_bit_write_ar_hdr): Likewise. (_bfd_archive_64_bit_openr_next_archived_file): Likewise. (_bfd_archive_64_bit_get_elt_at_index): Likewise. (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise. (_bfd_archive_64_bit_update_armap_timestamp): Likewise. * libbfd.h: Regenerated. * plugin.c (plugin_vec): Use _bfd_archive_64_bit on BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined. binutils/ PR binutils/14625 * NEWS: Mention --enable-64-bit-archive.
2016-02-26Properly implement STT_COMMONH.J. Lu1-20/+0
The BFD configure option, --enable-elf-stt-common, can't be to used to verify STT_COMMON implementation with the normal binutils build. Instead, this patch removes it from BFD. It adds --elf-stt-common=[no|yes] to ELF assembler/objcopy and adds -z common/-z nocommon to ld. A configure option, --enable-elf-stt-common, is added to gas to specify whether ELF assembler should generate common symbols with the STT_COMMON type by default. Since BSF_KEEP_G is never used, it is renamed to BSF_ELF_COMMON for ELF common symbols. bfd/ PR ld/19645 * bfd.c (bfd): Change flags to 20 bits. (BFD_CONVERT_ELF_COMMON): New. (BFD_USE_ELF_STT_COMMON): Likewise. (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and BFD_USE_ELF_STT_COMMON. (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise. * configure.ac: Remove --enable-elf-stt-common. * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for common symbol depending on BFD_CONVERT_ELF_COMMON and BFD_USE_ELF_STT_COMMON. * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for STT_COMMON. * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check STT_COMMON. (elf_link_convert_common_type): New function. (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for common symbol depending on BFD_CONVERT_ELF_COMMON and BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx. * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON and BFD_USE_ELF_STT_COMMON to object_flags. (TARGET_LITTLE_SYM): Likewise. * syms.c (BSF_KEEP_G): Renamed to ... (BSF_ELF_COMMON): This. * bfd-in2.h: Regenerated. * config.in: Likewise. * configure: Likewise. binutils/ PR ld/19645 * NEWS: Mention --elf-stt-common= for objcopy. * doc/binutils.texi: Document --elf-stt-common= for objcopy. * objcopy.c (do_elf_stt_common): New. (command_line_switch): Add OPTION_ELF_STT_COMMON. (copy_options): Add --elf-stt-common=. (copy_usage): Add --elf-stt-common=. (copy_object): Also check do_elf_stt_common for ELF targets. (copy_file): Handle do_elf_stt_common. (copy_main): Handle OPTION_ELF_STT_COMMON. * readelf.c (apply_relocations): Support STT_COMMON. * testsuite/binutils-all/common-1.s: New file. * testsuite/binutils-all/common-1a.d: Likewise. * testsuite/binutils-all/common-1b.d: Likewise. * testsuite/binutils-all/common-1c.d: Likewise. * testsuite/binutils-all/common-1d.d: Likewise. * testsuite/binutils-all/common-1e.d: Likewise. * testsuite/binutils-all/common-1f.d: Likewise. * testsuite/binutils-all/common-2.s: Likewise. * testsuite/binutils-all/common-2a.d: Likewise. * testsuite/binutils-all/common-2b.d: Likewise. * testsuite/binutils-all/common-2c.d: Likewise. * testsuite/binutils-all/common-2d.d: Likewise. * testsuite/binutils-all/common-2e.d: Likewise. * testsuite/binutils-all/common-2f.d: Likewise. * testsuite/binutils-all/objcopy.exp (objcopy_test_elf_common_symbols): New proc. Run objcopy_test_elf_common_symbols for ELF targets gas/ PR ld/19645 * NEWS: Mention --enable-elf-stt-common and --elf-stt-common= for ELF assemblers. * as.c (flag_use_elf_stt_common): New. (show_usage): Add --elf-stt-common=. (option_values): Add OPTION_ELF_STT_COMMON. (std_longopts): Add --elf-stt-common=. (parse_args): Handle --elf-stt-common=. * as.h (flag_use_elf_stt_common): New. * config.in: Regenerated. * configure: Likewise. * configure.ac: Add --enable-elf-stt-common and define DEFAULT_GENERATE_ELF_STT_COMMON. * gas/write.c (write_object_file): Set BFD_CONVERT_ELF_COMMON and BFD_USE_ELF_STT_COMMON if flag_use_elf_stt_common is set. * doc/as.texinfo: Document --elf-stt-common=. * testsuite/gas/elf/common3.s: New file. * testsuite/gas/elf/common3a.d: Likewise. * testsuite/gas/elf/common3b.d: Likewise. * testsuite/gas/elf/common4.s: Likewise. * testsuite/gas/elf/common4a.d: Likewise. * testsuite/gas/elf/common4b.d: Likewise. * testsuite/gas/i386/dw2-compress-3b.d: Likewise. * testsuite/gas/i386/dw2-compressed-3b.d: Likewise. * testsuite/gas/elf/elf.exp: Run common3a, common3b, common4a and common4b. * testsuite/gas/i386/dw2-compress-3.d: Renamed to ... * testsuite/gas/i386/dw2-compress-3a.d: This. Pass --elf-stt-common=no to as. * testsuite/gas/i386/dw2-compressed-3.d: Renamed to ... * testsuite/gas/i386/dw2-compressed-3a.d: This. Pass --elf-stt-common=no to as. * testsuite/gas/i386/i386.exp: Run dw2-compress-3a, dw2-compress-3b, dw2-compressed-3a and dw2-compressed-3b instead of dw2-compress-3 and dw2-compressed-3. include/ PR ld/19645 * bfdlink.h (bfd_link_elf_stt_common): New enum. (bfd_link_info): Add elf_stt_common. ld/ PR ld/19645 * NEWS: Mention -z common/-z nocommon for ELF targets. * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle -z common and -z nocommon. * ld.texinfo: Document -z common/-z nocommon. * lexsup.c (elf_shlib_list_options): Add -z common/-z nocommon. * testsuite/ld-elf/tls_common.exp: Test --elf-stt-common=no and --elf-stt-common=yes with assembler. * testsuite/ld-elfcomm/common-1.s: New file. * testsuite/ld-elfcomm/common-1a.d: Likewise. * testsuite/ld-elfcomm/common-1b.d: Likewise. * testsuite/ld-elfcomm/common-1c.d: Likewise. * testsuite/ld-elfcomm/common-1d.d: Likewise. * testsuite/ld-elfcomm/common-1e.d: Likewise. * testsuite/ld-elfcomm/common-1f.d: Likewise. * testsuite/ld-elfcomm/common-2.s: Likewise. * testsuite/ld-elfcomm/common-2a.d: Likewise. * testsuite/ld-elfcomm/common-2b.d: Likewise. * testsuite/ld-elfcomm/common-2c.d: Likewise. * testsuite/ld-elfcomm/common-2d.d: Likewise. * testsuite/ld-elfcomm/common-2e.d: Likewise. * testsuite/ld-elfcomm/common-2f.d: Likewise. * testsuite/ld-elfcomm/common-3a.rd: Likewise. * testsuite/ld-elfcomm/common-3b.rd: Likewise. * testsuite/ld-i386/pr19645.d: Likewise. * testsuite/ld-i386/pr19645.s: Likewise. * testsuite/ld-x86-64/largecomm-1.s: Likewise. * testsuite/ld-x86-64/largecomm-1a.d: Likewise. * testsuite/ld-x86-64/largecomm-1b.d: Likewise. * testsuite/ld-x86-64/largecomm-1c.d: Likewise. * testsuite/ld-x86-64/largecomm-1d.d: Likewise. * testsuite/ld-x86-64/largecomm-1e.d: Likewise. * testsuite/ld-x86-64/largecomm-1f.d: Likewise. * testsuite/ld-x86-64/pr19645.d: Likewise. * testsuite/ld-x86-64/pr19645.s: Likewise. * testsuite/ld-elfcomm/elfcomm.exp: Test --elf-stt-common=yes with assembler. (assembler_generates_commons): Removed. Run -z common/-z nocommon tests. Run *.d tests. * testsuite/ld-i386/i386.exp: Run pr19645. * testsuite/ld-x86-64/x86-64.exp: Likewise. * testsuite/ld-x86-64/dwarfreloc.exp: Test --elf-stt-common with assembler. Test STT_COMMON with readelf.
2016-01-21bfd/configure reorganisationAlan Modra1-312/+311
Corefile code should be moved after running config.bfd, because it uses want64. * configure.ac: Move corefile selection later in file. Move tdefaults code immediately after other target vector code. * configure: Regenerate.
2016-01-01Copyright update for binutilsAlan Modra1-1/+1
2015-11-20binutils: add support for arm-*-darwin and aarch64-*-darwin.Tristan Gingold1-0/+2
Currently only in bfd and binutils. ChangeLog/ * configure.ac: Add aarch64-*-darwin* and arm-*-darwin*. * configure: Regenerate. bfd/ChangeLog/ * targets.c (aarch64_mach_o_vec, arm_mach_o_vec): Declare. (_bfd_target_vector): Add new vectors. * reloc.c (BFD_RELOC_MACH_O_SUBTRACTOR32) (BFD_RELOC_MACH_O_SUBTRACTOR64, BFD_RELOC_MACH_O_ARM64_ADDEND) (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21) (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12) (BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT): New relocations. (BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32) (BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64): Remove. * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Change name of subtractor relocations. * config.bfd: Handle aarch64-*-darwin*, arm-*-darwin*. * Makefile.am (BFD32_BACKENDS): Add mach-o-arm.lo. (BFD32_BACKENDS_CFILES): Add mach-o-arm.c. (BFD64_BACKENDS): Add mach-o-aarch64.lo. (BFD64_BACKENDS_CFILES): Add mach-o-aarch64.c. * configure.ac: Handle aarch64_mach_o_vec and arm_mach_o_vec. * mach-o-aarch64.c: New file. * mach-o-arm.c: New file. * Makefile.in: Regenerate. * bfd-in2.h: Regenerate. * configure: Regenerate. * libbfd.h: Regenerate.
2015-10-29Add support for AArch64 CloudABI binaries.Ed Schouten1-2/+4
ld * Makefile.am (ALL_64_EMULATION_SOURCES): Add support for CloudABI on aarch64. For this target we have to make sure we use ELFOSABI_CLOUDABI instead of ELFOSABI_NONE. * configure.tgt (targ_emul): Likewise. * emulparams/aarch64cloudabi.sh: New file. * emulparams/aarch64cloudabib.sh: New file. * Makefile.in: Regenerate. bfd * config.bfd (targ_defvec): Add support for CloudABI on aarch64. For this target we have to make sure we use ELFOSABI_CLOUDABI instead of ELFOSABI_NONE. * configure.ac (tb): Likewise. * elfnn-aarch64.c: Likewise. * targets.c (_bfd_target_vector): Likewise. * configure: Regenerate. gas * config/tc-aarch64.c (elf64_aarch64_target_format): Select the cloudabi format if the TARGET_OS is cloudabi.
2015-10-27Add support for 32-bit and 64-bit PowerPC AIX core files.Sangamesh Mallayya1-1/+2
* configure.ac (powerpc64-*-aix[5-9].*): Match powerpc64 running aix for core file support. * configure: Regenerate. * rs6000-core.c: Check for __ld_info64 if compiling 64-bit gdb. Added BFD64 check if we are using old core file format for 32-bit gdb. Set sizeof CORE_COMMONSZ appropriately in case of either new or old core file format. (read_hdr): Added BFD64 check for 64-bit support. (rs6000coff_core_p): Likewise. (rs6000coff_core_file_matches_executable_p): Likewise. (rs6000coff_core_file_failing_command): Likewise. (rs6000coff_core_file_failing_signal): Likewise. Add support for debugging core files generated by binaries in Large Memory model. (rs6000coff_core_p): If Large Memory Model is used, then the .data segment should start from BDATAORG which has been defined in the system header files.
2015-08-12Remove trailing spaces in bfdH.J. Lu1-2/+2
2015-07-28Check for asprintf and vasprintf during configure stage.Iain Buclaw1-0/+2
This should fix some build errors seen on AIX, MinGW, and possibly other non-GNU systems too due to missing asprintf(). bfd/ * configure.in: Add asprintf and vasprintf to AC_CHECK_DECLS. * config.in, configure: Regenerate.
2015-05-11Add Intel MCU support to bfdH.J. Lu1-0/+1
bfd/ * Makefile.am (ALL_MACHINES): Add cpu-iamcu.lo. (ALL_MACHINES_CFILES): Likewise. * archures.c (bfd_mach_iamcu): New. (bfd_mach_i386_iamcu): Likewise. (bfd_mach_i386_iamcu_intel_syntax): Likewise. (bfd_iamcu_arch): Likewise. (bfd_archures_list): Add &bfd_iamcu_arch. * config.bfd (targ_selvecs): Add iamcu_elf32_vec to i386_elf32_vec. (targ_archs): Add bfd_iamcu_arch if needed. * configure.ac: Support iamcu_elf32_vec. * cpu-iamcu.c: New file. * elf32-i386.c (elf32_iamcu_elf_object_p): New function. Add support for iamcu_elf32_vec and elf32_iamcu_bed. * targets.c (iamcu_elf32_vec): New. (_bfd_target_vector): Add iamcu_elf32_vec. * Makefile.in: Regenerated. * bfd-in2.h: Likewise. * configure: Likewise. binutils/testsuite/ * binutils-all/objdump.exp (cpus_expected): Append iamcu.
2015-03-31Add support for Nuxi CloudABI on x86-64Ed Schouten1-0/+1
bfd/ * config.bfd (targ_defvec): Set to x86_64_elf64_cloudabi_vec for x86_64-*-cloudabi*. * configure.ac: Handle x86_64_elf64_cloudabi_vec. * configure: Regenerated. * elf64-x86-64.c (TARGET_LITTLE_SYM): Support x86_64-*-cloudabi*. (TARGET_LITTLE_NAME): Likewise. (ELF_OSABI): Likewise. (elf64_bed): Likewise. * targets.c (x86_64_elf64_cloudabi_vec): New. (_bfd_target_vector): Add x86_64_elf64_cloudabi_vec. gas/ * configure.tgt (fmt): Set to elf for *-*-cloudabi*. ld/ * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf_x86_64_cloudabi.c. (eelf_x86_64_cloudabi.c): New. * configure.tgt (targ_emul): Set to elf_x86_64_cloudabi for x86_64-*-cloudabi*. * Makefile.in: Regenerated. * emulparams/elf_x86_64_cloudabi.sh: New file.
2015-03-31Revert the AM_ZLIB change in bfdH.J. Lu1-10/+3
* configure.ac: Revert the AM_ZLIB change. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. * doc/Makefile.in: Likewise.
2015-03-29Add --with-system-zlib in bfdH.J. Lu1-3/+10
This patch adds --with-system-zlib and remove --with-zlib in bfd. * Makefile.am (ZLIB): New. (ZLIBINC): Likewise. (AM_CFLAGS): Add $(ZLIBINC). (libbfd_la_LIBADD): Add $(ZLIB). * compress.c: Don't check HAVE_ZLIB_H to include <zlib.h>. (decompress_contents): Don't check HAVE_ZLIB_H. (decompress_contents): Likewise. (bfd_compress_section_contents): Likewise. (bfd_get_full_section_contents): Likewise. (bfd_init_section_decompress_status): Likewise. (bfd_init_section_compress_status): Likewise. * configure.ac (AM_ZLIB): Removed (zlibdir): New. AC_SUBST. (zlibinc): Likewise. Add --with-system-zlib. * Makefile.in: Regenerated. * acinclude.m4: Likewise. * config.in: Likewise. * configure: Likewise. * doc/Makefile.in: Likewise.
2015-02-24Fixes compiling peXXigen under MAC OS/X where the wcsncasecmp function is ↵Nick Clifton1-1/+1
not available. * configure.ac (AC_CHECK_HEADERS): Add wctype.h. * configure: Regenerate. * config.in: Regenerate. * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined. (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined. (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H is defined.
2015-02-23Add support for the h8300-linux target.Yoshinori Sato1-0/+1
ld * Makefile.am: (ALL_EMULATION_SOURCES): Add new emulations. * Makefile.in: Regenerate. * configure.tgt: Add h8300-*-linux * emulparams/h8300elf_linux.sh: Add new emulation. * emulparams/h8300helf_linux.sh: Likewise. * emulparams/h8300self_linux.sh: Likewise. * emulparams/h8300sxelf_linux.sh: Likewise. bfd * config.bfd: Add h8300-*-linux. * configure.ac: Add h8300_elf32_linux_vec. * configure: Regenerate. * elf32-h8300.c: Likewise. * targets.c(_bfd_target_vector): Likewise. gas * config/tc-h8300.c (line_separater_chars): Add a version for h8300-linux that includes a separator. (default_mach): New variable. (md_main): Use it. (md_longopts): Add '--march' option. (md_parse_option): Parse the new option. * config/tc-h8300.h (TARGET_FORMAT): Add elf32-h8300-linux. * configure.tgt: Add h8300-*-linux * doc/c-h8300.texi: Document --march.
2015-01-28FT32 initial supportAlan Modra1-0/+1
FT32 is a new 32-bit RISC core developed by FTDI for embedded applications. * configure.ac: Add FT32 support. * configure: Regenerate. bfd/ * Makefile.am: Add FT32 files. * archures.c (enum bfd_architecture): Add bfd_arch_ft32. (bfd_mach_ft32): Define. (bfd_ft32_arch): Declare. (bfd_archures_list): Add bfd_ft32_arch. * config.bfd: Handle FT32. * configure.ac: Likewise. * cpu-ft32.c: New file. * elf32-ft32.c: New file. * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17, BFD_RELOC_FT32_18): Define. * targets.c (_bfd_target_vector): Add ft32_elf32_vec. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * Makefile.in: Regenerate. * configure: Regenerate. * po/SRC-POTFILES.in: Regenerate. binutils/ * readelf.c: Add FT32 support. gas/ * Makefile.am: Add FT32 files. * config/tc-ft32.c: New file. * config/tc-ft32.h: New file. * configure.tgt: Add FT32 support. * Makefile.in: Regenerate. * po/POTFILES.in: Regenerate. gas/testsuite/ * gas/ft32/ft32.exp: New file. * gas/ft32/insn.d: New file. * gas/ft32/insn.s: New file. include/ * dis-asm.h (print_insn_ft32): Declare. include/elf/ * common.h (EM_FT32): Define. * ft32.h: New file. include/opcode/ * ft32.h: New file. ld/ * Makefile.am: Add FT32 files. * configure.tgt: Handle FT32 target. * emulparams/elf32ft32.sh: New file. * scripttempl/ft32.sc: New file. * Makefile.in: Regenerate. opcodes/ * Makefile.am: Add FT32 files. * configure.ac: Handle FT32. * disassemble.c (disassembler): Call print_insn_ft32. * ft32-dis.c: New file. * ft32-opc.c: New file. * Makefile.in: Regenerate. * configure: Regenerate. * po/POTFILES.in: Regenerate.
2015-01-02ChangeLog rotatation and copyright year updateAlan Modra1-1/+1
2014-12-10Don't always build coffgen.oAlan Modra1-124/+125
Removes a bunch of unused functions from libbfd when building ELF or AOUT. Split off the bits we need externally when not building a COFF target into coff-bfd.c and coff-bfd.h. bfd/ * Makefile.am (BFD32_LIBS, BFD32_LIBS_CFILES): Remove dwarf2 and coffgen. Add coff-bfd. Sort. (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add coffgen and dwarf2. * bfd-in.h (bfd_coff_get_syment, bfd_coff_get_auxent): Delete. (struct coff_comdat_info, bfd_coff_get_comdat_section): Delete. * coffgen.c (coff_symbol_from): Move to coff-bfd.h as macro, without unused param. Update uses. (bfd_coff_get_comdat_section): Move to coff-bfd.h as macro. (bfd_coff_get_syment, bfd_coff_get_auxent): Move to coff-bfd.c. * libcoff-in.h: #include "coff-bfd.h". (struct coff_section_tdata, coff_section_data): Move to coff-bfd.h. (coff_symbol_from): Delete. * coff-bfd.c: New file. * coff-bfd.h: New file. * coff-i386.c: Update coff_symbol_from occurrences. * coff-i960.c: Likewise. * coff-m68k.c: Likewise. * coff-sh.c: Likewise. * coff-x86_64.c: Likewise. * coffcode.h: Likewise. * pe-mips.c: Likewise. * configure.ac (elf): Add dwarf2.lo. (coffgen, coff, ecoff, xcoff): Define. Use when mapping bfd target vectors to .o files. Add dwarf2 for mach-o targets. Fix the sh target FIXME. * po/SRC-POTFILES.in: Regenerate. * Makefile.in: Regenerate. * configure: Regenerate. * bfd-in2.h: Regenerate. * libcoff.h: Regenerate. binutils/ * objdump.c: #include "coff-bfd.h". ld/ * ldmisc.c: #include "coff-bfd.h"
2014-12-06Add Visium support to bfdEric Botcazou1-0/+1
bfd/ * config.bfd: Add Visium support. * configure.ac: Likewise. * configure: Regenerate. * Makefile.am (ALL_MACHINES): Add cpu-visium.lo. (ALL_MACHINES_CFILES): Add cpu-visium.c. (BFD32_BACKENDS): Add elf32-visium.lo. (BFD32_BACKENDS_CFILES): Add elf32-visium.c. * Makefile.in: Regenerate. * archures.c (DESCRIPTION): Add Visium support. (bfd_visium_arch): Declare. (bfd_archures_list): Add bfd_visium_arch. * reloc.c: Add Visium relocations. * targets.c (visium_elf32_vec): Declare. (_bfd_target_vector): Add visium_elf32_vec. * bfd-in2.h: Regenerate. * libbfd.h: Likewise. * cpu-visium.c: New file. * elf32-visium.c: Likewise. * po/SRC-POTFILES.in: Regenerate. include/elf/ * common.h (EM_VISIUM): Define. * visium.h: New file.
2014-08-14configury changes to make ld plugin support controlled by --enable-pluginsAlan Modra1-6/+0
This also makes --enable-plugins default to on for hosts that can support plugins, so we have consistent lto toolchain support. The ACX_LARGEFILE moves aren't strictly necessary, but are harmless and will be necessary if plugin support is extended to more hosts via libtool's dlopen support. I started down that path then decided it was more work than I was interested in doing. (ACX_LARGEFILE invokes AC_PLUGINS.) config/ * plugins.m4: Test for dlfcn.h or windows.h here to set default for --enable-plugins. Report error if someone tries to enable plugins on a host we don't support. bfd/ * configure.ac: Delete redundant plugin related checks. * configure: Regenerate. binutils/ * configure.ac: Move ACX_LARGEFILE after LT_INIT. * config.in: Regenerate. * configure: Regenerate. gas/ * configure.ac: Move ACX_LARGEFILE after LT_INIT. * config.in: Regenerate. * configure: Regenerate. gprof/ * configure.ac: Move ACX_LARGEFILE after LT_INIT. * configure: Regenerate. * gconfig.in: Regenerate. ld/ * configure.ac: Move AC_PROG_CC and other macros earlier. Delete plugin checks now done in config/plugins.m4. * config.in: Regenerate. * configure: Regenerate.
2014-07-04Rename configure.in to configure.acAlan Modra1-0/+1205
bfd/ * configure.ac: Rename from configure.in. * Makefile.in: Regenerate. * config.in: Regenerate. * doc/Makefile.in: Regenerate. opcodes/ * configure.ac: Rename from configure.in. * Makefile.in: Regenerate. * config.in: Regenerate. binutils/ * configure.ac: Rename from configure.in. * Makefile.in: Regenerate. * config.in: Regenerate. * doc/Makefile.in: Regenerate. gas/ * configure.ac: Rename from configure.in. * Makefile.in: Regenerate. * config.in: Regenerate. * doc/Makefile.in: Regenerate. gprof/ * configure.ac: Rename from configure.in. * configure.ac: Rename from configure.in. * Makefile.in: Regenerate. * gconfig.in: Regenerate. ld/ * configure.ac: Rename from configure.in. * Makefile.in: Regenerate. * config.in: Regenerate.