OSDN Git Service
Alan Modra [Mon, 12 Jan 2009 13:57:59 +0000 (13:57 +0000)]
* ld-elf/elf.exp: Save and restore LDFLAGS.
* ld-scripts/default-script.exp: Likewise.
* ld-scripts/empty-orphan.exp: Likewise, and add to LDFLAGS rather
than replacing.
* ld-scripts/include.exp: Set --local-store for SPU.
Alan Modra [Mon, 12 Jan 2009 13:56:41 +0000 (13:56 +0000)]
really regenerate this time
Alan Modra [Mon, 12 Jan 2009 13:56:03 +0000 (13:56 +0000)]
* elf32-spu.c (remove_cycles): Always set call->max_depth.
Kai Tietz [Mon, 12 Jan 2009 10:14:13 +0000 (10:14 +0000)]
2009-01-12 Kai Tietz <kai.tietz@onevision.com>
* dlltool.c (create_for_pep): New.
(flush_page): Use create_for_pep instead of using
macro DLLTOOL_MX86_64 clause.
(generate_idata_ofile): Likewise.
(make_one_lib_file): Likewise.
(make_head): Likewise.
(make_tail): Likewise.
(main): Initialize create_for_pep.
Alan Modra [Mon, 12 Jan 2009 04:09:43 +0000 (04:09 +0000)]
* elf32-spu.c (spu_elf_auto_overlay): Correct vma mask.
Alan Modra [Mon, 12 Jan 2009 00:23:58 +0000 (00:23 +0000)]
bfd/
* elf32-spu.c (struct spu_link_hash_table): Add init, line_size_log2,
num_lines_log2.
(struct got_entry): Add br_addr.
(struct call_info): Add priority.
(struct function_info): Add lr_store and sp_adjust.
(spu_elf_setup): Init line_size_log2 and num_lines_log2.
(spu_elf_find_overlays): For soft-icache, mark any section within cache
area as an overlay, and check that no other overlays exist. Look up
icache overlay manager entry sym.
(BRA_STUBS, BRA, BRASL): Define.
(enum _stub_type): Replace ovl_stub with call_ovl_stub and br*_ovl_stub.
(needs_ovl_stub): Adjust for soft-icache. Return priority encoded
in branch insn.
(count_stub, build_stub): Support soft-icache.
(build_spuear_stubs, process_stubs): Adjust build_stub call.
(spu_elf_size_stubs): Size soft-icache stubs.
(overlay_index): New function.
(spu_elf_build_stubs): Make static. Support soft-icache.
(spu_elf_check_vma): Don't turn off auto_overlay if soft-icache.
(find_function_stack_adjust): Save lr store and stack adjust insn
offsets.
(maybe_insert_function): Adjust find_function_stack_adjust call.
(mark_functions_via_relocs): Retrieve priority.
(remove_cycles): Only warn about pruned arcs when stack_analysis.
(sort_calls): Sort by priority first.
(mark_overlay_section): Ignore .ovl.init.
(sum_stack): Only print when stack_analysis.
(print_one_overlay_section): New function, extracted from..
(spu_elf_auto_overlay): ..here. Support soft-icache overlays.
(spu_elf_stack_analysis): Only print when htab->stack_analysis.
(spu_elf_final_link): Call spu_elf_stack_analysis for lrlive
analysis. Call spu_elf_build_stubs.
(spu_elf_relocate_section): For soft-icache encode overlay index
into addresses.
(spu_elf_output_symbol_hook): Support soft-icache.
(spu_elf_modify_program_headers: Likewise.
* elf32-spu.h (struct spu_elf_params): Add lrlive_analysis. Rename
num_regions to num_lines. Add line_size and max_branch.
(enum _ovly_flavour): Add ovly_soft_icache.
(spu_elf_build_stubs): Delete.
gas/
* config/tc-spu.c (md_pseudo_table): Add "brinfo".
(brinfo): New var.
(md_assemble): Poke brinfo into branch instructions.
(spu_brinfo): New function.
(md_apply_fix): Don't assume insn fields start off at zero, mask
them to remove possible brinfo.
ld/
* emultempl/spuelf.em (params): Init new fields.
(num_lines_set, line_size_set, icache_mgr, icache_mgr_stream): New vars.
(spu_place_special_section): Adjust placement for soft-icache. Pad
soft-icache section to a fixed size. Clear addr_tree.
(spu_elf_load_ovl_mgr): Support soft-icache. Map overlay manager
sections a little more intelligently.
(gld${EMULATION_NAME}_finish): Don't call spu_elf_build_stubs.
(OPTION_SPU_NUM_LINES): Rename from OPTION_SPU_NUM_REGIONS.
(OPTION_SPU_SOFT_ICACHE, OPTION_SPU_LINE_SIZE): Define.
(OPTION_SPU_LRLIVE): Define.
(PARSE_AND_LIST_LONGOPTS): Add new soft-icache options.
(PARSE_AND_LIST_OPTIONS): Likewise.
(PARSE_AND_LIST_ARGS_CASES): Handle them.
* emultempl/spu_icache.S: Dummy file.
* emultempl/spu_icache.o_c: Regenerate.
* Makefile.am (eelf32_spu.c): Depend on spu_icache.o_c.
(spu_icache.o_c): Add rule to build.
(CLEANFILES): Zap temp files.
(EXTRA_DIST): Add spu_icache.o_c.
* Makefile.in: Regenerate.
ld/testsuite/
* ld-spu/ovl.d: Allow for absolute branches in stubs.
* ld-spu/ovl2.d: Likewise.
Alan Modra [Mon, 12 Jan 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Jan Kratochvil [Sun, 11 Jan 2009 21:09:49 +0000 (21:09 +0000)]
bfd/
* elflink.c (_bfd_elf_section_already_linked): Handle g++-3.4
relocations in `.gnu.linkonce.r.*' referencing its `.gnu.linkonce.t.*'.
ld/testsuite/
* ld-elf/linkoncerdiff.d, ld-elf/linkoncerdiff1.s,
ld-elf/linkoncerdiff2.s: New.
Alan Modra [Sun, 11 Jan 2009 00:00:05 +0000 (00:00 +0000)]
daily update
H.J. Lu [Sat, 10 Jan 2009 18:38:12 +0000 (18:38 +0000)]
Reformat.
H.J. Lu [Sat, 10 Jan 2009 18:33:35 +0000 (18:33 +0000)]
2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
* doc/c-i386.texi: Reformat.
H.J. Lu [Sat, 10 Jan 2009 17:25:52 +0000 (17:25 +0000)]
gas/
2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
* gas/config/tc-i386.c (cpu_arch): Add corei7, .clflush and
.syscall.
(i386_align_code): Handle PROCESSOR_COREI7.
(md_show_usage): Add corei7, clflush and syscall.
(i386_target_format): Replace cpup4 with cpuclflush.
* gas/config/tc-i386.h (processor_type): Add PROCESSOR_COREI7.
* doc/c-i386.texi: Document corei7, clflush and syscall.
gas/testsuite/
2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/arch-10.s: Add clflush and syscall.
* gas/i386/x86-64-arch-2.s: Likewise.
* gas/i386/arch-10.d: Updated.
* gas/i386/arch-10-1.l: Likewise.
* gas/i386/arch-10-2.l: Likewise.
* gas/i386/arch-10-3.l: Likewise.
* gas/i386/arch-10-4.l: Likewise.
* gas/i386/x86-64-arch-2.d: Likewise.
opcodes/
2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (cpu_flag_init): Replace CpuP4 and CpuK6 with
CpuClflush and CpuSYSCALL, respectively. Remove CpuK8. Add
CPU_COREI7_FLAGS, CPU_CLFLUSH_FLAGS and CPU_SYSCALL_FLAGS.
(cpu_flags): Remove CpuP4, CpuK6 and CpuK8. Add CpuClflush
and CpuSYSCALL.
(lineno): Removed.
(set_bitfield): Take an argument, lineno. Don't report lineno
on error if it is -1.
(process_i386_cpu_flag): Take an argument, lineno.
(process_i386_opcode_modifier): Likewise.
(process_i386_operand_type): Likewise.
(output_i386_opcode): Likewise.
(opcode_hash_entry): Add lineno.
(process_i386_opcodes): Updated.
(process_i386_registers): Likewise.
(process_i386_initializers): Likewise.
* i386-opc.h (CpuP4): Removed.
(CpuK6): Likewise.
(CpuK8): Likewise.
(CpuClflush): New.
(CpuSYSCALL): Likewise.
(CpuMMX): Updated.
(i386_cpu_flags): Remove cpup4, cpuk6 and cpuk8. Add
cpuclflush and cpusyscall.
* i386-opc.tbl: Update movnti, clflush, lfence, mfence, pause,
syscall and sysret.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
Alan Modra [Sat, 10 Jan 2009 00:00:05 +0000 (00:00 +0000)]
daily update
H.J. Lu [Fri, 9 Jan 2009 20:32:32 +0000 (20:32 +0000)]
gas/
2009-01-09 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (cpu_arch): Add .rdtscp.
(md_show_usage): Display rdtscp.
* doc/c-i386.texi: Document rdtscp.
gas/testsuite/
2009-01-09 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/arch-10.s: Add rdtscp.
* gas/i386/x86-64-arch-2.s: Likewise.
* gas/i386/arch-10.d: Updated.
* gas/i386/arch-10-1.l: Likewise.
* gas/i386/arch-10-2.l: Likewise.
* gas/i386/arch-10-3.l: Likewise.
* gas/i386/arch-10-4.l: Likewise.
* gas/i386/x86-64-arch-2.d: Likewise.
opcodes/
2009-01-09 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (cpu_flag_init): Add CpuRdtscp to CPU_K8_FLAGS
and CPU_AMDFAM10_FLAGS. Add CPU_RDTSCP_FLAGS.
(cpu_flags): Add CpuRdtscp.
(set_bitfield): Remove CpuSledgehammer check.
* i386-opc.h (CpuRdtscp): New.
(CpuLM): Updated.
(i386_cpu_flags): Add cpurdtscp.
* i386-opc.tbl: Replace CpuSledgehammer with CpuRdtscp.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
Peter Bergner [Fri, 9 Jan 2009 18:50:58 +0000 (18:50 +0000)]
gas/
* config/tc-ppc.c (ppc_setup_opcodes): Remove PPC_OPCODE_NOPOWER4 test.
Test the new "deprecated" opcode field.
include/opcode/
* ppc.h (struct powerpc_opcode): New field "deprecated".
(PPC_OPCODE_NOPOWER4): Delete.
opcodes/
* ppc-opc.c (PPCNONE): Define.
(NOPOWER4): Delete.
(powerpc_opcodes): Initialize the new "deprecated" field.
Alan Modra [Fri, 9 Jan 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Kai Tietz [Thu, 8 Jan 2009 13:29:14 +0000 (13:29 +0000)]
2009-01-08 Kai Tietz <kai.tietz@onevision.com>
* dlltool.c (use_nul_prefixed_import_tables): New.
(make_head): Make prefix leading zero prefix element for
idata$4 and idata$5 dependent to new flag.
(usage): Add new option --use-nul-prefixed-import-tables.
(OPTION_USE_NUL_PREFIXED_IMPORT_TABLES): New.
(long_options): Add --use-nul-prefixed-import-tables.
(main): Likewise.
* doc/binutils.texi: Add new option documentation for
--use-nul-prefixed-import-tables.
* NEWS: Add new option.
Kai Tietz [Thu, 8 Jan 2009 13:28:48 +0000 (13:28 +0000)]
2009-01-08 Kai Tietz <kai.tietz@onevision.com>
* pe.em (OPTION_USE_NUL_PREFIXED_IMPORT_TABLES): New.
(gld..._add_options): Add new option
--use-nul-prefixed-import-tables.
(gld..._handle_option): Likewise.
* pep.em: Same as for pe.em.
* ld.texinfo: Add new option documentation for
--use-nul-prefixed-import-tables.
* pe-dll.c (pe_use_nul_prefixed_import_tables): New.
(make_head): Make prefix leading zero prefix element for
idata$4 and idata$5 dependent to new flag.
(make_import_fixup_entry): Remove idata4/5 prefix.
* pe-dll.h (pe_use_nul_prefixed_import_tables): New.
* pep-dll.c (pe_use_nul_prefixed_import_tables): New.
* pep-dll.h (pep_use_nul_prefixed_import_tables): New.
* NEWS: Add new option.
Alan Modra [Thu, 8 Jan 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Wed, 7 Jan 2009 21:39:25 +0000 (21:39 +0000)]
* version.cc (version_string): Bump to 1.8.
DJ Delorie [Wed, 7 Jan 2009 18:52:57 +0000 (18:52 +0000)]
merge from gcc
Sterling Augustine [Wed, 7 Jan 2009 17:41:09 +0000 (17:41 +0000)]
2009-01-07 Sterling Augustine <sterling@tensilica.com>
* config/tc-xtensa.c (produce_flix): New.
(option_flix, optoin_no_generate_flix, option_no_flix) Define.
(md_longopts): Add support for them.
(md_parse_option): Likewise.
(md_show_usage): Add help message.
(finish_vinsn): Don't allow multi-slot flix when produce_flix
option is set to FLIX_NONE.
* config/xtensa-relax.c (transition_applies): Only relax to
flix branches when produce_flix equals FLIX_ALL.
* config/xtensa-relax.h (flix_level, FLIX_ALL, FLIX_NO_GENERATE
FLIX_NONE): New.
(produce_flix): Declare.
Hans-Peter Nilsson [Wed, 7 Jan 2009 03:28:45 +0000 (03:28 +0000)]
* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
<case R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: For a symbol defined in
the program, the known offset starts at the negative size of the
TLS section.
<case R_CRIS_32_IE, R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL>:
Similar.
Hans-Peter Nilsson [Wed, 7 Jan 2009 03:27:11 +0000 (03:27 +0000)]
* ld-cris/tls-e-20.d, ld-cris/tls-e-20a.d, ld-cris/tls-e-21.d,
ld-cris/tls-e-23.d, ld-cris/tls-e-66.d, ld-cris/tls-gd-3.d,
ld-cris/tls-gd-3h.d, ld-cris/tls-global-74.d,
ld-cris/tls-ie-8e1.d, ld-cris/tls-ldgde-14.d,
ld-cris/tls-ldgde-15.d, ld-cris/tls-le-12.d, ld-cris/tls-le-13.d,
ld-cris/tls-le-13s.d, ld-cris/tls-legd-16.d,
ld-cris/tls-legd-17.d, ld-cris/tls-legdx-16.d,
ld-cris/tls-legdx-17.d, ld-cris/tls-leie-18.d,
ld-cris/tls-leie-19.d, ld-cris/tls-local-57.d,
ld-cris/tls-local-58.d, ld-cris/tls-local-59.d: Adjust for
relocation value now offset by negative program TLS block size.
* ld-cris/tls-le-12s.d: Ditto. Move 128-byte tls-data to last.
Adjust accordingly.
* ld-cris/tls-le-12s.s: Use movs, not movu, for sign-extended
always-negative relocation.
* ld-cris/tls-tprelm.s: Move filler data to after symbol for
tested relocation.
* ld-cris/tls-ok-36.d: Adjust accordingly.
Hans-Peter Nilsson [Wed, 7 Jan 2009 01:09:24 +0000 (01:09 +0000)]
* frv.cpu (mabshs): Explicitly sign-extend arguments of abs to DI.
(DI-ext-HI, DI-ext-UHI, DI-ext-DI): New pmacros.
(media-arith-sat-semantics): Explicitly sign- or zero-extend
arguments of "operation" to DI using "mode" and the new pmacros.
Alan Modra [Wed, 7 Jan 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Hans-Peter Nilsson [Tue, 6 Jan 2009 23:38:44 +0000 (23:38 +0000)]
* callback.h (struct host_callback_struct): Mark member error as
pointing to a noreturn function.
Chao-ying Fu [Tue, 6 Jan 2009 19:24:28 +0000 (19:24 +0000)]
2009-01-06 Chao-ying Fu <fu@mips.com>
* gas/mips/jalr.s, gas/mips/jalr.l: Add more tests for jalr
and jalr.hb.
Chao-ying Fu [Tue, 6 Jan 2009 19:22:11 +0000 (19:22 +0000)]
2009-01-06 Chao-ying Fu <fu@mips.com>
* config/tc-mips.c (mips_ip): Set lastregno to 0xffffffff.
Use strncmp to match jalr and jalr.hb.
Fix a typo.
H.J. Lu [Tue, 6 Jan 2009 18:20:45 +0000 (18:20 +0000)]
2009-01-06 H.J. Lu <hongjiu.lu@intel.com>
* elfcpp.h (enum STT): Remove STT_IFUNC.
H.J. Lu [Tue, 6 Jan 2009 17:58:19 +0000 (17:58 +0000)]
Reformat.
H.J. Lu [Tue, 6 Jan 2009 17:15:28 +0000 (17:15 +0000)]
gas/testsuite/
2009-01-06 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (December, 2008)
* gas/i386/avx.s: Add tests for 256bit vmovntdq, vmovntpd and
vmovntps.
* gas/i386/x86-64-avx.s: Likewise.
* gas/i386/avx.d: Updated.
* gas/i386/avx-intel.d: Likewise.
* gas/i386/x86-64-avx.d: Likewise.
* gas/i386/x86-64-avx-intel.d: Likewise.
opcodes/
2009-01-06 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (December, 2008)
* i386-dis.c (VEX_LEN_2B_M_0): Removed.
(VEX_LEN_E7_P_2_M_0): Likewise.
(VEX_LEN_2C_P_1): Updated.
(VEX_LEN_E8_P_2): Likewise.
(vex_len_table): Remove VEX_LEN_2B_M_0 and VEX_LEN_E7_P_2_M_0.
(mod_table): Likewise.
* i386-opc.tbl: Add 256bit vmovntdq, vmovntpd and vmovntps.
* i386-tbl.h: Regenerated.
Kai Tietz [Tue, 6 Jan 2009 15:36:05 +0000 (15:36 +0000)]
2009-01-06 Kai Tietz <kai.tietz@onevision.com>
* windres.c (set_endianess): Get architecture name
for internal target names like "pe-arm-wince-little".
(find_arch_match): New helper.
* ChangeLog: Reset it.
* ChangeLog-2008: Moved old ChangeLog.
Joel Sherrill [Tue, 6 Jan 2009 14:40:32 +0000 (14:40 +0000)]
2009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* config.bfd: Add lm32-*-rtems*.
H.J. Lu [Tue, 6 Jan 2009 01:14:45 +0000 (01:14 +0000)]
2009-01-05 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (process_copyright): Update for 2009.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
H.J. Lu [Tue, 6 Jan 2009 01:10:49 +0000 (01:10 +0000)]
Add new FMA tests.
H.J. Lu [Tue, 6 Jan 2009 01:03:27 +0000 (01:03 +0000)]
gas/
2009-01-05 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (December, 2008)
* config/tc-i386.c (build_modrm_byte): Remove 5 operand instruction
support. Don't swap REG and NDS for FMA.
gas/testsuite/
2009-01-05 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (December, 2008)
* gas/i386/arch-10.s: Replace vfmaddpd with vfmadd132pd.
* gas/i386/x86-64-arch-2.s: Likewise.
* gas/i386/arch-10.d: Updated.
* gas/i386/arch-10-1.l: Likewise.
* gas/i386/arch-10-2.l: Likewise.
* gas/i386/arch-10-3.l: Likewise.
* gas/i386/arch-10-4.l: Likewise.
* gas/i386/avx.d: Likewise.
* gas/i386/avx-intel.d: Likewise.
* gas/i386/inval-avx.l: Likewise.
* gas/i386/x86-64-arch-2.d: Likewise.
* gas/i386/x86-64-avx.d: Likewise.
* gas/i386/x86-64-avx-intel.d: Likewise.
* gas/i386/x86-64-inval-avx.l: Likewise.
* gas/i386/avx.s: Remove vpermil2ps/vpermil2pd and FMA
instructions. Update tests.
* gas/i386/inval-avx.s: Likewise.
* gas/i386/x86-64-avx.s: Likewise.
* gas/i386/x86-64-inval-avx.s: Likewise.
* gas/i386/fma.d: New.
* gas/i386/fma.s: Likewise.
* gas/i386/fma-intel.d: Likewise.
* gas/i386/x86-64-fma.d: Likewise.
* gas/i386/x86-64-fma.s: Likewise.
* gas/i386/x86-64-fma-intel.d: Likewise.
* gas/i386/i386.exp: Run fma, fma-intel, x86-64-fma and
x86-64-fma-intel.
opcodes/
2009-01-05 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (December, 2008)
* i386-dis.c (OP_VEX_FMA): Removed.
(OP_EX_VexW): Likewise.
(OP_EX_VexImmW): Likewise.
(OP_XMM_VexW): Likewise.
(VEXI4_Fixup): Likewise.
(VPERMIL2_Fixup): Likewise.
(VexI4): Likewise.
(VexFMA): Likewise.
(Vex128FMA): Likewise.
(EXVexW): Likewise.
(EXdVexW): Likewise.
(EXqVexW): Likewise.
(EXVexImmW): Likewise.
(XMVexW): Likewise.
(VPERMIL2): Likewise.
(PREFIX_VEX_3A48...PREFIX_VEX_3A4A): Likewise.
(PREFIX_VEX_3A5C...PREFIX_VEX_3A5F): Likewise.
(PREFIX_VEX_3A68...PREFIX_VEX_3A6F): Likewise.
(PREFIX_VEX_3A78...PREFIX_VEX_3A7F): Likewise.
(VEX_LEN_3A6A_P_2...VEX_LEN_3A6F_P_2): Likewise.
(VEX_LEN_3A7A_P_2...VEX_LEN_3A7F_P_2): Likewise.
(get_vex_imm8): Likewise.
(OP_EX_VexReg): Likewise.
vpermil2_op): Likewise.
(EXVexWdq): New.
(vex_w_dq_mode): Likewise.
(PREFIX_VEX_3896...PREFIX_VEX_389F): Likewise.
(PREFIX_VEX_38A6...PREFIX_VEX_38AF): Likewise.
(PREFIX_VEX_38B6...PREFIX_VEX_38BF): Likewise.
(es_reg): Updated.
(PREFIX_VEX_38DB): Likewise.
(PREFIX_VEX_3A4A): Likewise.
(PREFIX_VEX_3A60): Likewise.
(PREFIX_VEX_3ADF): Likewise.
(VEX_LEN_3ADF_P_2): Likewise.
(prefix_table): Remove PREFIX_VEX_3A48...PREFIX_VEX_3A4A,
PREFIX_VEX_3A5C...PREFIX_VEX_3A5F,
PREFIX_VEX_3A68...PREFIX_VEX_3A6F and
PREFIX_VEX_3A78...PREFIX_VEX_3A7F. Add
PREFIX_VEX_3896...PREFIX_VEX_389F,
PREFIX_VEX_38A6...PREFIX_VEX_38AF and
PREFIX_VEX_38B6...PREFIX_VEX_38BF.
(vex_table): Likewise.
(vex_len_table): Remove VEX_LEN_3A6A_P_2...VEX_LEN_3A6F_P_2
and VEX_LEN_3A7A_P_2...VEX_LEN_3A7F_P_2.
(putop): Support "%XW".
(intel_operand_size): Handle vex_w_dq_mode.
* i386-opc.h (VexNDS): Add a comment for VEX NDS and VEX DDS.
* i386-opc.tbl: Remove vpermil2pd/vpermil2ps and old FMA
instructions. Add new FMA instructions.
* i386-tbl.h: Regenerated.
Alan Modra [Tue, 6 Jan 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Kai Tietz [Mon, 5 Jan 2009 12:17:43 +0000 (12:17 +0000)]
2009-01-05 Kai Tietz <kai.tietz@onevision.com>
* emultempl/pe.em: Prefix dollar characters to be outputed in
generated C file.
* emultempl/pep.em: Likewise.
Alan Modra [Mon, 5 Jan 2009 00:00:08 +0000 (00:00 +0000)]
daily update
Alan Modra [Sun, 4 Jan 2009 00:00:06 +0000 (00:00 +0000)]
daily update
Dave Korn [Sat, 3 Jan 2009 18:04:16 +0000 (18:04 +0000)]
* NEWS: Mention new feature --exclude-modules-for-implib.
* ld.texinfo: Document new --exclude-modules-for-implib option.
* pe-dll.c (exclude_list_struct): Change type member from int to
new enumeration exclude_type.
(pe_dll_add_excludes): Accept exclude_type instead of int param.
(auto_export): Replace magic constants by exclude_type values and
handle new choice EXCLUDEFORIMPLIB.
(pe_dll_generate_implib): Accept a pointer to the link_info and
iterate all input BFDs looking for EXCLUDEFORIMPLIB modules; re-open
fresh BFDs for any found and link into import lib archive chain.
* pe-dll.h (exclude_type): Add new enumerated type to replace magic
constants previously used for exclude_list_struct type member.
(pe_dll_add_excludes, pe_dll_generate_implib): Update prototypes.
* pep-dll.h (exclude_type, pe_dll_add_excludes,
pe_dll_generate_implib): Likewise to all the above.
* emultempl/pe.em (OPTION_EXCLUDE_MODULES_FOR_IMPLIB): Define new
getopts long option code for new --exclude-modules-for-implib option.
(gld${EMULATION_NAME}_add_options): Add new entry to xtra_long[].
(gld_${EMULATION_NAME}_list_options): List usage for it.
(gld${EMULATION_NAME}_handle_option): Use exclude_type enumerated
values when calling pe_dll_add_excludes, and handle EXCLUDEFORIMPLIB.
(gld_${EMULATION_NAME}_finish): Pass pointer to link_info when
calling pe_dll_generate_implib.
* emultempl/pep.em (options): Define new enumerated value for getopts
long option code for new --exclude-modules-for-implib option.
(gld${EMULATION_NAME}_add_options, gld_${EMULATION_NAME}_list_options,
gld${EMULATION_NAME}_handle_option, gld_${EMULATION_NAME}_finish):
Again, likewise to all the above.
Hans-Peter Nilsson [Sat, 3 Jan 2009 17:51:12 +0000 (17:51 +0000)]
* cris.cpu (cris-implemented-writable-specregs-v32): Correct size
of number 2, PID.
Dave Korn [Sat, 3 Jan 2009 17:43:45 +0000 (17:43 +0000)]
2009-01-03 Dave Korn <dave.korn.cygwin@gmail.com>
* pe-dll.c (autofilter_liblist): Add entry for shared libgcc.
(libnamencmp): New function.
(auto_export): Use it in place of strncmp when filtering libraries.
Also rolled over ChangeLog to ChangeLog-2008
H.J. Lu [Sat, 3 Jan 2009 16:19:52 +0000 (16:19 +0000)]
2009-01-03 H.J. Lu <hongjiu.lu@intel.com>
* coff-ppc.c: Add 2009 to Copyright.
* elf32-cris.c: Likewise.
* elflink.c: Likewise.
Nick Clifton [Sat, 3 Jan 2009 10:00:58 +0000 (10:00 +0000)]
PR 7099
* gprof.texi (Compiling): Mention the need for using
-static-libgcc on shared library systems.
Hans-Peter Nilsson [Sat, 3 Jan 2009 04:53:47 +0000 (04:53 +0000)]
* ld-cris/tls-js1.d: New test.
Hans-Peter Nilsson [Sat, 3 Jan 2009 04:53:13 +0000 (04:53 +0000)]
* elf32-cris.c (elf_cris_finish_dynamic_symbol): Rename
gotplt_index to rela_plt_index. Adjust for R_CRIS_DTPMOD entry.
Alan Modra [Sat, 3 Jan 2009 00:00:06 +0000 (00:00 +0000)]
daily update
H.J. Lu [Fri, 2 Jan 2009 19:29:38 +0000 (19:29 +0000)]
bfd/
2009-01-02 H.J. Lu <hongjiu.lu@intel.com>
PR ld/9679
* elflink.c (elf_merge_st_other): New.
(_bfd_elf_merge_symbol): Use it on skipped weak definitions and
hide them if needed.
(elf_link_add_object_symbols): Updated.
ld/testsuite/
2009-01-02 H.J. Lu <hongjiu.lu@intel.com>
PR ld/9679
* ld-elf/pr9679-1.c: New.
* ld-elf/pr9679-2.c: Likewise.
* ld-elf/pr9679.rd: Likewise.
* ld-elf/shared.exp (build_tests): Add test for libpr9679.so.
H.J. Lu [Fri, 2 Jan 2009 16:48:11 +0000 (16:48 +0000)]
bfd/
2009-01-02 H.J. Lu <hongjiu.lu@intel.com>
PR ld/9676
* elflink.c (elf_link_add_object_symbols): Update def_dynamic,
ref_dynamic and dynamic_def fields when setting def_regular
to 1.
ld/testsuite/
2009-01-02 H.J. Lu <hongjiu.lu@intel.com>
PR ld/9676
* ld-elf/pr9676-1.c: New.
* ld-elf/pr9676-2.c: Likewiswe.
* ld-elf/pr9676-3.c: Likewiswe.
* ld-elf/pr9676-4.c: Likewiswe.
* ld-elf/pr9676.rd: Likewiswe.
* ld-elf/shared.exp (build_tests): Add tests for libpr9676-1.a,
libpr9676-2.a, libpr9676-3.so, libpr9676-4.so and
libpr9676-4a.so.
* lib/ld-lib.exp (ar_simple_create): New.
(run_ld_link_tests): Support archive.
(run_cc_link_tests): Likewiswe.
Nick Clifton [Fri, 2 Jan 2009 16:11:37 +0000 (16:11 +0000)]
PR 9682
* coff-ppc.c (dump_toc): Fix up calls to fprintf without a string
literal.
Nick Clifton [Fri, 2 Jan 2009 14:21:54 +0000 (14:21 +0000)]
* or32-opc.c (or32_print_register, or32_print_immediate,
disassemble_insn): Don't rely on undefined sprintf behaviour.
* itbl-ops.c (itbl_disassemble): Don't rely on undefined sprintf
behaviour.
Nick Clifton [Fri, 2 Jan 2009 13:55:37 +0000 (13:55 +0000)]
po/id.po: Updated Indonesian translation.
Alan Modra [Fri, 2 Jan 2009 00:00:06 +0000 (00:00 +0000)]
daily update
Alan Modra [Thu, 1 Jan 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Wed, 31 Dec 2008 00:00:09 +0000 (00:00 +0000)]
daily update
Nick Clifton [Tue, 30 Dec 2008 10:41:47 +0000 (10:41 +0000)]
* gas/ppc/ppc.exp: Do not run the booke_xcoff64 test.
* gas/ppc/booke_xcoff64.s: Delete.
* gas/ppc/booke_xcoff64.d: Delete.
Nick Clifton [Tue, 30 Dec 2008 10:35:59 +0000 (10:35 +0000)]
oops - accidentally omitted from check-in of LM32 port.
Martin Schwidefsky [Tue, 30 Dec 2008 10:00:47 +0000 (10:00 +0000)]
2008-12-30 Martin Schwidefsky <schwidefskyy@de.ibm.com>
* s390-opc.txt: Add ptff instruction.
Alan Modra [Tue, 30 Dec 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Arnold Metselaar [Mon, 29 Dec 2008 17:06:46 +0000 (17:06 +0000)]
Fix copy-paste bug that caused z80-objdump to issue warnings about stabs debugging symbols rather than to show them.
Alan Modra [Mon, 29 Dec 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Sun, 28 Dec 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Sat, 27 Dec 2008 00:00:09 +0000 (00:00 +0000)]
daily update
Alan Modra [Fri, 26 Dec 2008 00:00:04 +0000 (00:00 +0000)]
daily update
Alan Modra [Thu, 25 Dec 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Jan Kratochvil [Wed, 24 Dec 2008 10:06:43 +0000 (10:06 +0000)]
Fix the LM32 port entry timestamp for the time of its application.
Jan Kratochvil [Wed, 24 Dec 2008 09:58:03 +0000 (09:58 +0000)]
opcodes/
* Makefile.am (CFILES, ALL_MACHINES): Add LM32 source and object files.
* Makefile.in: Regenerate.
Cary Coutant [Wed, 24 Dec 2008 06:17:18 +0000 (06:17 +0000)]
* gold.cc (gold_exit): Call plugin cleanup handlers on exit.
* plugin.cc (Plugin_manager::finish): Rename as
layout_deferred_objects. Move cleanup to separate function.
(Plugin_manager::cleanup): New function.
(Plugin_finish::run): Call layout_deferred_objects and cleanup
separately.
* plugin.h (Plugin_manager::finish): Rename as
layout_deferred_objects.
(Plugin_manager::cleanup): New function.
(Plugin_manager::cleanup_done): New field.
Alan Modra [Wed, 24 Dec 2008 00:00:04 +0000 (00:00 +0000)]
daily update
Cary Coutant [Tue, 23 Dec 2008 23:46:55 +0000 (23:46 +0000)]
* plugin.cc (is_visible_from_outside): New function.
(Pluginobj::get_symbol_resolution_info): Call is_visible_from_outside
so we don't return "IR only" status for exported symbols or -r links.
* testsuite/Makefile.am (plugin_test_3): New test case.
* testsuite/Makefile.in: Regenerate.
* testsuite/plugin_test_3.sh: New file.
Nick Clifton [Tue, 23 Dec 2008 19:10:25 +0000 (19:10 +0000)]
Add LM32 port.
H.J. Lu [Tue, 23 Dec 2008 15:14:15 +0000 (15:14 +0000)]
gas/
2008-12-23 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (match_template): Changed to return
const template *. Handle i.swap_operand for 3 operands.
(build_vex_prefix): Take const template *. Swap operand for
2-byte VEX prefix if possible.
(md_assemble): Updated.
(build_modrm_byte): Handle RegMem bit for SSE2AVX.
gas/testsuite/
2008-12-23 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run x86-64-avx-swap and x86-64-avx-swap-intel.
* gas/i386/opts.s: Add tests for movsd, movss, vmovsd and
vmovss.
* gas/i386/x86-64-opts.s: Likewise.
* gas/i386/opts.d: Updated.
* gas/i386/opts-intel.d: Likewise.
* gas/i386/sse2avx-opts.d: Likewise.
* gas/i386/sse2avx-opts-intel.d: Likewise.
* gas/i386/x86-64-opts.d: Likewise.
* gas/i386/x86-64-opts-intel.d: Likewise.
* gas/i386/x86-64-sse2avx-opts.d: Likewise.
* gas/i386/x86-64-sse2avx-opts-intel.d: Likewise.
* gas/i386/x86-64-avx-swap.d: New.
* gas/i386/x86-64-avx-swap.s: Likewise.
* gas/i386/x86-64-avx-swap-intel.d: Likewise.
opcodes/
2008-12-23 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (EXdS): New.
(EXdVexS): Likewise.
(EXqVexS): Likewise.
(d_swap_mode): Likewise.
(q_mode): Updated.
(prefix_table): Use EXdS on movss and EXqS on movsd.
(vex_len_table): Use EXdVexS on vmovss and EXqVexS on vmovsd.
(intel_operand_size): Handle d_swap_mode.
(OP_EX): Likewise.
* i386-opc.h (S): Update comments.
* i386-opc.tbl: Add S to movss, movsd, vmovss and vmovsd.
* i386-tbl.h: Regenerated.
H.J. Lu [Tue, 23 Dec 2008 14:36:40 +0000 (14:36 +0000)]
2008-12-23 H.J. Lu <hongjiu.lu@intel.com>
PR ld/7036
* elfxx-ia64.c (elfNN_ia64_relax_section): Assume linker will
always insert 32byte between the .plt and .text sections after
the the first relaxation pass.
Tristan Gingold [Tue, 23 Dec 2008 13:52:58 +0000 (13:52 +0000)]
2008-12-23 Tristan Gingold <gingold@adacore.com>
* Makefile.am (EXTRA_DIST): Add deffilep.c and deffilep.h
* Makefile.in: Regenerate.
Nick Clifton [Tue, 23 Dec 2008 11:46:17 +0000 (11:46 +0000)]
PR 7093
* elf32-arm.c (bfd_elf32_arm_init_maps): Only process ARM ELF
object files.
Hans-Peter Nilsson [Tue, 23 Dec 2008 11:45:25 +0000 (11:45 +0000)]
* lib/ld-lib.exp (run_dump_test): New option ld_after_inputfiles.
* ld-cris/libdso-1c.d, ld-cris/expdref2.s, ld-cris/libdso-15b.d,
ld-cris/expdyn1w.s, ld-cris/libdso-1d.d, ld-cris/tls-ie-78.d: New
tests.
Tristan Gingold [Tue, 23 Dec 2008 11:32:45 +0000 (11:32 +0000)]
2008-12-23 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_make_bfd_section): Use the standard ELF name
.eh_frame for __TEXT.__eh_frame so that it is recognized by gdb.
Use shorter sections name for well known sections.
(bfd_mach_o_scan_read_dylinker): Only put dylinker name in the
section content.
(bfd_mach_o_scan_read_segment): Use shorter sections name for
well known segments.
(bfd_mach_o_scan_read_command): Ignore some new commands.
(bfd_mach_o_openr_next_archived_file): Use more descriptive names
for members filename.
(bfd_mach_o_fat_extract): New function to easily extract members
of a fat binary.
* mach-o.h (bfd_mach_o_load_command_type): Add new constants.
(bfd_mach_o_dylinker_command): Fix comment and reindent.
(bfd_mach_o_fat_extract): New prototype.
Nick Clifton [Tue, 23 Dec 2008 10:59:56 +0000 (10:59 +0000)]
* coffcode.h (coff_write_object_contents): Always initialise
section.s_page.
* ti.h (COFF_ADJUST_SCNHDR_OUT_PRE): Define.
Andreas Schwab [Tue, 23 Dec 2008 10:23:53 +0000 (10:23 +0000)]
* elf32-m68k.c (elf_m68k_discard_copies): Use SYMBOL_CALLS_LOCAL.
(elf_m68k_relocate_section): Use SYMBOL_CALLS_LOCAL and
SYMBOL_REFERENCES_LOCAL.
(elf_m68k_relocate_section): Likewise.
Kai Tietz [Tue, 23 Dec 2008 10:00:31 +0000 (10:00 +0000)]
2008-12-23 Kai Tietz <kai.tietz@onevision.com>
* rcparse.y (rcdata_data): Allow empty comma elements.
Nick Clifton [Tue, 23 Dec 2008 09:54:26 +0000 (09:54 +0000)]
* po/ga.po: Updated Irish translation.
Nick Clifton [Tue, 23 Dec 2008 09:51:38 +0000 (09:51 +0000)]
* config/tc-avr.c (mcu_types): Add attiny87, attiny327, atmega4hvd,
atmega8hvd, atmega16hvb, atmega32hvb, atmega64c1, atmega16m1,
atmega64m1, atmega32u6, atmega128rfa1, at90pwm81, at90scr100,
m3000f, m3000s and m3001b devices.
* doc/c-avr.texi: Likewise.
Nick Clifton [Tue, 23 Dec 2008 09:01:51 +0000 (09:01 +0000)]
Remove STT_IFUNC support.
Cary Coutant [Tue, 23 Dec 2008 02:02:20 +0000 (02:02 +0000)]
* object.cc (Sized_relobj::layout_section): New function.
(Sized_relobj::do_layout): Defer layout of input sections until after
plugin has provided replacement files.
(Sized_relobj::do_layout_deferred_sections): New function.
* object.h (Relobj::set_section_offset): Remove virtual keyword.
(Relobj::layout_deferred_sections): New function.
(Relobj::do_layout_deferred_sections): New function.
(Sized_relobj::do_layout_deferred_sections): New function.
(Sized_relobj::layout_section): New function.
(Sized_relobj::Deferred_layout): New structure.
(Sized_relobj::deferred_layout_): New field.
* plugin.cc (Plugin_manager::finish): Renamed, was cleanup.
Change all callers. Layout deferred sections.
(class Plugin_finish): Renamed, was Plugin_cleanup. Change all
references.
(Plugin_hook::run): Move code from do_plugin_hook inline.
(Plugin_hook::do_plugin_hook): Remove.
* plugin.h (Plugin_manager::Plugin_manager): Add missing initializers.
(Plugin_manager::finish): Renamed, was cleanup.
(Plugin_manager::should_defer_layout): New function.
(Plugin_manager::add_deferred_layout_object): New function.
(Plugin_manager::Deferred_layout_list): New type.
(Plugin_manager::deferred_layout_objects_): New field.
(Plugin_hook::do_plugin_hook): Remove.
Alan Modra [Tue, 23 Dec 2008 00:00:04 +0000 (00:00 +0000)]
daily update
Alan Modra [Mon, 22 Dec 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Hans-Peter Nilsson [Sun, 21 Dec 2008 20:18:06 +0000 (20:18 +0000)]
* gas/cris/rd-dtpoffd1.d, gas/cris/rd-dtpoffd1.s: New test.
Hans-Peter Nilsson [Sun, 21 Dec 2008 20:16:47 +0000 (20:16 +0000)]
* config/tc-cris.c (s_cris_dtpoff): New function.
(md_pseudo_table): Add "dtpoffd".
Ralf Wildenhues [Sun, 21 Dec 2008 12:45:53 +0000 (12:45 +0000)]
Add missing ChangeLog entries for my last commit.
Alan Modra [Sun, 21 Dec 2008 00:00:07 +0000 (00:00 +0000)]
daily update
H.J. Lu [Sat, 20 Dec 2008 18:20:16 +0000 (18:20 +0000)]
2008-12-20 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (parse_insn): Optimize ".s" handling.
H.J. Lu [Sat, 20 Dec 2008 17:40:51 +0000 (17:40 +0000)]
gas/
2008-12-20 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (_i386_insn): Add swap_operand.
(parse_insn): Handle ".s".
(match_template): Handle swap_operand.
* doc/c-i386.texi: Document .s suffix.
gas/testsuite/
2008-12-20 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run opts, opts-intel, sse2avx-opts,
sse2avx-opts-intel, x86-64-opts, x86-64-opts-intel,
x86-64-sse2avx-opts and x86-64-sse2avx-opts-intel.
* gas/i386/opts.d: New.
* gas/i386/opts-intel.d: Likewise.
* gas/i386/opts.s: Likewise.
* gas/i386/sse2avx-opts.d: Likewise.
* gas/i386/sse2avx-opts-intel.d: Likewise.
* gas/i386/x86-64-opts.d: Likewise.
* gas/i386/x86-64-opts-intel.d: Likewise.
* gas/i386/x86-64-opts.s: Likewise.
* gas/i386/x86-64-sse2avx-opts.d: Likewise.
* gas/i386/x86-64-sse2avx-opts-intel.d: Likewise.
opcodes/
2008-12-20 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (EbS): New.
(EvS): Likewise.
(EMS): Likewise.
(EXqS): Likewise.
(EXxS): Likewise.
(b_swap_mode): Likewise.
(v_swap_mode): Likewise.
(q_swap_mode): Likewise.
(x_swap_mode): Likewise.
(v_mode): Updated.
(w_mode): Likewise.
(t_mode): Likewise.
(xmm_mode): Likewise.
(swap_operand): Likewise.
(dis386): Use EbS on movB. Use EvS on moveS.
(dis386_twobyte): Use EXxS on movapX.
(prefix_table): Use EXxS on movups, movupd, movdqu, movdqa,
vmovups, vmovdqu, vmovdqa. Use EMS and EXqS on movq.
(vex_table): Use EXxS on vmovapX.
(vex_len_table): Use EXqS on vmovq.
(intel_operand_size): Handle b_swap_mode, v_swap_mode,
q_swap_mode and x_swap_mode.
(OP_E_register): Handle b_swap_mode and v_swap_mode.
(OP_EM): Handle v_swap_mode.
(OP_EX): x_swap_mode and q_swap_mode.
* i386-gen.c (opcode_modifiers): Add S.
* i386-opc.h (S): New.
(Modrm): Updated.
(i386_opcode_modifier): Add s.
* i386-opc.tbl: Add S to movapd, movaps, movdqa, movdqu, movq,
movupd, movups, vmovapd, vmovaps, vmovdqa, vmovdqu and vmovq.
* i386-tbl.h: Regenerated.
Hans-Peter Nilsson [Sat, 20 Dec 2008 00:30:39 +0000 (00:30 +0000)]
* ld-cris/tls-err-77.d, ld-cris/tls-gc-79.d, ld-cris/tls-ie-8e.s,
ld-cris/tls-ie-8e1.d: New tests.
Hans-Peter Nilsson [Sat, 20 Dec 2008 00:28:58 +0000 (00:28 +0000)]
* gas/cris/rd-tls-1.s, gas/cris/rd-tls-1.d: Test :IE and
decoration on double-indirect.
* gas/cris/tls-err-1.s: Test :IE on wrong-size operand.
Hans-Peter Nilsson [Sat, 20 Dec 2008 00:27:35 +0000 (00:27 +0000)]
* config/tc-cris.c (cris_process_instruction): Handle
BFD_RELOC_CRIS_32_IE, in the test whether the relocation fits.
(get_3op_or_dip_prefix_op): Handle TLS/PIC decoration for the
"double indirect" addressing mode.
(cris_get_reloc_suffix): Add entry for :IE for BFD_RELOC_CRIS_32_IE.
(cris_number_to_imm, tc_gen_reloc): Handle BFD_RELOC_CRIS_32_IE.
Hans-Peter Nilsson [Sat, 20 Dec 2008 00:26:36 +0000 (00:26 +0000)]
* elf32-cris.c (cris_elf_howto_table): Add entry for R_CRIS_32_IE.
(cris_reloc_map): Similarly.
(cris_elf_relocate_section, cris_elf_gc_sweep_hook)
(cris_elf_check_relocs): Handle R_CRIS_32_IE.
* reloc.c (bfd_reloc_code_type): Add entry for R_CRIS_32_IE.
* bfd-in2.h, libbfd.h: Regenerate.
Hans-Peter Nilsson [Sat, 20 Dec 2008 00:24:16 +0000 (00:24 +0000)]
* cris.h (R_CRIS_32_IE): New relocation.
Alan Modra [Sat, 20 Dec 2008 00:00:05 +0000 (00:00 +0000)]
daily update