summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* include/opcode/Richard Sandiford2013-07-072-10/+13
| | | | | | | | | | | | | | | | | | | | * mips.h: Remove documentation of "[" and "]". Update documentation of "k" and the MDMX formats. opcodes/ * mips-opc.c (mips_builtin_opcodes): Use "Q" for the INSN_5400 MDMX-like instructions. * mips-dis.c (print_insn_arg): Use "$f" rather than "$v" when printing "Q" operands for INSN_5400 instructions. gas/ * config/tc-mips.c (validate_mips_insn): Remove "[" and "]" handling. (mips_ip): Likewise. Do not set is_mdmx for INSN_5400 instructions. Check constraints on the VR5400 RZU.OB, SLL.OB and SRL.OB instructions. gas/testsuite/ * gas/mips/vr5400-ill.s, gas/mips/vr5400-ill.l: New test. * gas/mips/mips.exp: Run it.
* include/opcode/Richard Sandiford2013-07-072-5/+8
| | | | | | | | | | | | | | | * mips.h: Update documentation of "+s" and "+S". opcodes/ * mips-opc.c (mips_builtin_opcodes): Use "+s" for "cins32" and "+S" for "cins". * mips-dis.c (print_mips_arg): Update "+s" and "+S" comments. Combine cases. gas/ * config/tc-mips.c (mips_ip): Preserve the real bit number for "+p". Require the msb to be <= 31 for "+s". Check that the size is <= 31 for both "+s" and "+S".
* include/opcode/Richard Sandiford2013-07-072-3/+10
| | | | | | | | | | | | | | | | | | * mips.h: Document "+i". opcodes/ * mips-opc.c (mips_builtin_opcodes): Use "+i" rather than "a" for "jalx". * mips16-opc.c (mips16_opcodes): Likewise. * micromips-opc.c (micromips_opcodes): Likewise. * mips-dis.c (print_insn_args, print_mips16_insn_arg) (print_insn_mips16): Handle "+i". (print_insn_micromips): Likewise. Conditionally preserve the ISA bit for "a" but not for "+i". gas/ * config/tc-mips.c (validate_mips_insn, validate_micromips_insn): (mips_ip, mips16_ip): Handle "+i".
* include/opcode/Richard Sandiford2013-07-072-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mips.h: Remove "mi" documentation. Update "mh" documentation. (OP_MASK_MI, OP_SH_MI, MICROMIPSOP_MASK_MI, MICROMIPSOP_MASK_MI): Delete. (INSN2_WRITE_GPR_MHI): Rename to... (INSN2_WRITE_GPR_MH): ...this. opcodes/ * micromips-opc.c (WR_mhi): Rename to.. (WR_mh): ...this. (micromips_opcodes): Update "movep" entry accordingly. Replace "mh,mi" with "mh". * mips-dis.c (micromips_to_32_reg_h_map): Rename to... (micromips_to_32_reg_h_map1): ...this. (micromips_to_32_reg_i_map): Rename to... (micromips_to_32_reg_h_map2): ...this. (print_micromips_insn): Remove "mi" case. Print both registers in the pair for "mh". gas/ * config/tc-mips.c (mips32_to_micromips_reg_h_map): Delete. (micromips_to_32_reg_h_map): Rename to... (micromips_to_32_reg_h_map1): ...this. (micromips_to_32_reg_i_map): Rename to... (micromips_to_32_reg_h_map2): ...this. (mips_lookup_reg_pair): New function. (gpr_write_mask, macro): Adjust after above renaming. (validate_micromips_insn): Remove "mi" handling. (mips_ip): Likewise. Parse both registers in a pair for "mh".
* include/opcode/Richard Sandiford2013-07-072-7/+6
| | | | | | | | | | | | | | | | | | | * mips.h: Remove documentation of "+D" and "+T". opcodes/ * mips-opc.c (mips_builtin_opcodes): Remove "+D" and "+T" entries. * micromips-opc.c (micromips_opcodes): Likewise. * mips-dis.c (print_insn_args, print_insn_micromips): Remove "+D" and "+T" handling. Check for a "0" suffix when deciding whether to use coprocessor 0 names. In that case, also check for ",H" selectors. gas/ * config/tc-mips.c (validate_mips_insn, validate_micromips_insn) (mips_ip): Remove "+D" and "+T" handling. gas/testsuite/ * gas/mips/lb.d, gas/mips/sb.d: Use coprocessor register names for LWC0 and SWC0.
* * libc/include/sys/types.h (u_char): Add redefinition guard.Yaakov Selkowitz2013-07-052-0/+23
| | | | (u_short, u_int, u_long, caddr_t, daddr_t): Ditto.
* 2013-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>Andreas Krebbel2013-07-052-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | opcodes/ * s390-opc.c (J12_12, J24_24): New macros. (INSTR_MII_UPI): Rename to INSTR_MII_UPP. (MASK_MII_UPI): Rename to MASK_MII_UPP. * s390-opc.txt: Rename MII_UPI to MII_UPP for bprp instruction. include/elf/ * s390.h: Add new relocs R_390_PC12DBL, R_390_PLT12DBL, R_390_PC24DBL, and R_390_PLT24DBL. gas/testsuite/ * gas/s390/zarch-zEC12.s: Change bprp second operand and add variants requiring relocations. * gas/s390/zarch-zEC12.d: Likewise. gas/ * config/tc-s390.c (md_gather_operands, md_apply_fix): Support new relocs. bfd/ * elf32-s390.c: Add new relocation definitions R_390_PC12DBL, R_390_PLT12DBL, R_390_PC24DBL, and R_390_PLT24DBL. (elf_s390_reloc_type_lookup, elf_s390_check_relocs) (elf_s390_gc_sweep_hook, elf_s390_relocate_section): Support new relocations. * elf64-s390.c: See elf32-s390.c * bfd-in2.h: Add new relocs to enum bfd_reloc_code_real. * libbfd.h: Add new reloc strings.
* * aarch64/syscalls.c (stack_ptr): Defined with asm ("wsp") if __ILP32__Corinna Vinschen2013-07-042-0/+9
| | | | is defined.
* .Christopher Faylor2013-07-031-0/+3
|
* * fhandler.cc (fhandler_base::close_with_arch): Make sure that the archetype isChristopher Faylor2013-07-032-16/+20
| | | | deleted when close_with_arch is referenced *via* the archetype.
* 2013-07-02 Joey Ye <joey.ye@arm.com>Jeff Johnston2013-07-022-1/+22
| | | | | * arm/crt0.S (_mainCRTStartup): Weak reference to atexit and _fini when lite exit is enabled.
* 2013-07-02 Joey Ye <joey.ye@arm.com>Jeff Johnston2013-07-029-5/+121
| | | | | | | | | | | | | | | | Lite exit support. * README: Add information about lite-exit. * acconfig.h (_LITE_EXIT): New macro. * configure.in (enable-lite-exit): New option. (_LITE_EXIT): Define new macro. * configure: Regenerated. * newlib.hin (_LITE_EXIT): New macro. * libc/stdlib/__atexit.c [_LITE_EXIT]: Add dummy explicit reference to __call_exitprocs. * libc/stdlib/cxa_atexit.c [_LITE_EXIT]: Make __register_exitproc a weak reference. * libc/stdlib/exit.c (exit)[_LITE_EXIT]: Remove TWS and weakly reference __call_exitprocs.
* 2013-07-02 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2013-07-022-1/+5
| | | | * libc/include/sys/reent.h: Fix typo in comment.
* 2013-07-02 Tristan Gingold <gingold@adacore.com>Tristan Gingold2013-07-023-0/+11
| | | | | * internal.h (C_STTLS, C_GTLS): Define. * xcoff.h (XMC_TL, XMC_TU, XMC_TE): Define.
* memcpy-armv7a.S: Improve performance with misaligned buffers.Will Newton2013-07-012-2/+7
| | | | | | | | | | Adjust the conditions for entering the aligned copy loop to improve performance on mutually misaligned buffer copies. 2013-07-01 Will Newton <will.newton@linaro.org> * libc/machine/arm/memcpy-armv7a.S: Adjust entry to aligned loop to improve misaligned copy performance.
* * path.cc (find_fast_cwd_pointer): Use gas syntax for assemblerCorinna Vinschen2013-06-282-12/+37
| | | | | description in all comments. Make algorithm work on Windows 8.1 Preview.
* * aarch64/syscalls.c (POINTER_TO_PARAM_BLOCK_T): New macro.Corinna Vinschen2013-06-282-10/+26
| | | | | | | | | | | (initialise_monitor_handles): Replace cast with macro POINTER_TO_PARAM_BLOCK_T. (_swiread): Likewise. (_swiwrite): Likewise. (_swiopen): Likewise. (_unlink): Likewise. (_system): Likewise. (_rename): Likewise.
* * dcrt0.cc (child_info_fork::alloc_stack): Fix a comparison to avoidCorinna Vinschen2013-06-273-2/+8
| | | | | taking 4K more stack in forked child. * fork.cc (frok::parent): Print child exit code in hex if sync failed.
* 2013-06-26 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2013-06-264-15/+8
| | | | | | | | * libc/include/stdio.h: Specify std streams always in terms of _REENT. * libc/include/wchar.h: Ditto. * libc/include/sys/reent.h: Remove _RENT_ONLY check around setting of _REENT macro.
* * cygpath.cc (do_pathconv): when -p option is given, generate wideCorinna Vinschen2013-06-263-5/+12
| | | | | | path without long path prefixing. * wide_path.h (wide_path::wide_path): Allow extra bool parameter to specify whether or not performing Windows long path prefixing.
* [AArch64, ILP32] 3/6 Support for ELF32 relocs and refactor reloc handlingYufeng Zhang2013-06-262-12/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bfd/ * bfd-in2.h: Re-generated. * elfnn-aarch64.c (HOWTO64, HOWTO32): New define. (IS_AARCH64_TLS_RELOC): Change to be based on the bfd reloc enumerators. (IS_AARCH64_TLSDESC_RELOC): Likewise. (PG, PG_OFFSET): Cast literal to bfd_vma. (elf64_aarch64_howto_table): Removed. (elf64_aarch64_howto_dynrelocs): Removed. (elf64_aarch64_tls_howto_table): Removed. (elf64_aarch64_tlsdesc_howto_table): Removed. (elfNN_aarch64_howto_table): New table to host all howto entires.. (R_AARCH64_*): Replaced by AARCH64_R (*) and AARCH64_R_STR (*). (elfNN_aarch64_bfd_reloc_from_howto): New function. (elfNN_aarch64_bfd_reloc_from_type): Ditto. (struct elf_aarch64_reloc_map): New. (elf_aarch64_reloc_map): New table. (elfNN_aarch64_howto_from_bfd_reloc): New function. (elfNN_aarch64_howto_from_type): Update to look up the new table elfNN_aarch64_howto_table. (struct elf64_aarch64_reloc_map): Remove. (elf64_aarch64_reloc_map): Remove. (elfNN_aarch64_reloc_type_lookup): Change to call elfNN_aarch64_howto_from_bfd_reloc. (elfNN_aarch64_reloc_name_lookup): Change to look up the new table elfNN_aarch64_howto_table. (aarch64_resolve_relocation): Refactor to switch on the bfd reloc enumerators. (bfd_elf_aarch64_put_addend): Likewise. (elfNN_aarch64_final_link_relocate): Likewise. (aarch64_tls_transition_without_check): Likewise. (aarch64_reloc_got_type): Likewise. (aarch64_can_relax_tls): Likewise. (aarch64_tls_transition): Likewise. (elfNN_aarch64_tls_relax): Likewise. (elfNN_aarch64_final_link_relocate): Likewise. (elfNN_aarch64_relocate_section): Likewise. (elfNN_aarch64_gc_sweep_hook): Likewise. (elfNN_aarch64_check_relocs): Likewise. (aarch64_tls_transition): Change to return a bfd reloc enumerator. * libbfd.h: Re-generated. * reloc.c: Re-order the AArch64 bfd reloc enumerators. (BFD_RELOC_AARCH64_RELOC_START) (BFD_RELOC_AARCH64_RELOC_END) (BFD_RELOC_AARCH64_LD_GOT_LO12_NC) (BFD_RELOC_AARCH64_LD32_GOT_LO12_NC) (BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC) (BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC) (BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC) (BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC) (BFD_RELOC_AARCH64_IRELATIVE): New relocs. gas/ * config/tc-aarch64.c (reloc_table): Replace BFD_RELOC_AARCH64_LD64_GOT_LO12_NC with BFD_RELOC_AARCH64_LD_GOT_LO12_NC; likewise to BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC and BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC. (md_apply_fix): Handle BFD_RELOC_AARCH64_LD_GOT_LO12_NC, BFD_RELOC_AARCH64_LD32_GOT_LO12_NC, BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC, BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC, BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC and BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC. (aarch64_force_relocation): Likewise. gas/testsuite/ * gas/aarch64/ilp32-basic.d: New file. * gas/aarch64/ilp32-basic.s: New file. include/elf/ * aarch64.h: Add ELF32 reloc codes and remove fake ELF64 ones. (R_AARCH64_IRELATIVE): New reloc.
* include/opcode/Richard Sandiford2013-06-262-4/+9
| | | | | | | | * mips.h: Fix comment for "1": it is now STYPE rather than SHAMT. Use "source" rather than "destination" for microMIPS "G". gas/ * config/tc-mips.c (validate_mips_insn): Use STYPE rather than SHAMT.
* bfd/Maciej W. Rozycki2013-06-252-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elfxx-mips.h (_bfd_mips_elf_insn32): New prototype. * elfxx-mips.c (mips_elf_link_hash_table): Add insn32 member. (STUB_MOVE32_MICROMIPS, STUB_JALR32_MICROMIPS): New macros. (MICROMIPS_INSN32_FUNCTION_STUB_NORMAL_SIZE): Likewise. (MICROMIPS_INSN32_FUNCTION_STUB_BIG_SIZE): Likewise. (micromips_insn32_o32_exec_plt0_entry): New variable. (micromips_insn32_o32_exec_plt_entry): Likewise. (_bfd_mips_elf_adjust_dynamic_symbol): Handle insn32 mode. (mips_elf_estimate_stub_size): Likewise. (_bfd_mips_elf_size_dynamic_sections): Likewise. (_bfd_mips_elf_finish_dynamic_symbol): Likewise. (mips_finish_exec_plt): Likewise. (_bfd_mips_elf_relax_section): Likewise. (_bfd_mips_elf_insn32): New function. (_bfd_mips_elf_get_synthetic_symtab): Handle insn32 PLT. gas/ * config/tc-mips.c (mips_set_options): Add insn32 member. (mips_opts): Initialize it. (NOP_INSN, NOP_INSN_SIZE): Handle insn32 mode. (options): Add OPTION_INSN32 and OPTION_NO_INSN32 enum values. (md_longopts): Add "minsn32" and "mno-insn32" options. (is_size_valid): Handle insn32 mode. (md_assemble): Pass instruction string down to macro. (brk_fmt): Add second dimension and insn32 mode initializers. (mfhl_fmt): Likewise. (BRK_FMT, MFHL_FMT): Handle insn32 mode. (macro_build) <'c'>: Handle microMIPS 32-bit BREAK encoding. (macro_build_jalr, move_register): Handle insn32 mode. (macro_build_branch_rs): Likewise. (macro): Handle insn32 mode. <M_JRADDIUSP>, <M_JRC>, <M_MOVEP>: New cases. (mips_ip): Handle insn32 mode. (md_parse_option): Handle OPTION_INSN32 and OPTION_NO_INSN32. (s_mipsset): Handle "insn32" and "noinsn32" pseudo-ops. (mips_handle_align): Handle insn32 mode. (md_show_usage): Add -minsn32 and -mno-insn32. * doc/as.texinfo (Target MIPS options): Add -minsn32 and -mno-insn32 options. (-minsn32, -mno-insn32): New options. * doc/c-mips.texi (MIPS Opts): Add -minsn32 and -mno-insn32 options. (MIPS assembly options): New node. Document .set insn32 and .set noinsn32. (MIPS-Dependent): List the new node. gas/testsuite/ * gas/mips/micromips-insn32.d: New test. * gas/mips/micromips-noinsn32.d: Likewise. * gas/mips/micromips.l: Rename to... * gas/mips/micromips-warn.l: ... this. * gas/mips/micromips.d: Update accordingly. * gas/mips/micromips-trap.d: Likewise. * gas/mips/micromips.l: New list test. * gas/mips/micromips.s: Add conditionals. * gas/mips/mips.exp: Run the new tests. include/opcode/ * mips.h: Add M_JRADDIUSP, M_JRC and M_MOVEP anonymous enum values. ld/ * emultempl/mipself.em (insn32): New variable. (mips_create_output_section_statements): Handle insn32 mode. (PARSE_AND_LIST_PROLOGUE): New macro. (PARSE_AND_LIST_LONGOPTS): Likewise. (PARSE_AND_LIST_OPTIONS): Likewise. * gen-doc.texi: Set MIPS. * ld.texinfo: Likewise. (Options specific to MIPS targets): New section. (ld and MIPS family): New node. (Top, Machine Dependent): List the new node. opcodes/ * micromips-opc.c (micromips_opcodes): Add "jraddiusp", "jrc" and "movep" macros.
* * aarch64/crt0.S (GEN_DWORD): New macro definition.Corinna Vinschen2013-06-252-17/+92
| | | | | | | | | | | | | | | | (PTR_REG): Ditto. (PTR_SIZE): Ditto. (PTR_LOG_SIZE): Ditto. (start): Use GEN_DWORD to replace the .dword of HeapBase, __bss_start__, __bss_end__, FUNCTION(_fini), env and CommandLine; when __ILP32__ is defined, set the stack base to the top end of the 32-bit address space if the returned value from the Angel API call is larger than or equal to 4 GiB. Also carry out sanity check on the heap base; abort if the base is larger than or equal to 4 GiB. Use other new macros in the instructions that processes the argv arrays. (StackBase): New lable; replace __stack_base__. (__stack_base__): Set with StackBase or StackBase + 4.
* bfd/Maciej W. Rozycki2013-06-242-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elfxx-mips.h (_bfd_mips_elf_get_synthetic_symtab): New prototype. * elf32-mips.c (elf_backend_plt_sym_val): Remove macro. (bfd_elf32_get_synthetic_symtab): New macro. * elfxx-mips.c (plt_entry): New structure. (mips_elf_link_hash_entry): Add use_plt_entry member. (mips_elf_link_hash_table): Rename plt_entry_size member to plt_mips_entry_size. Add plt_comp_entry_size, plt_mips_offset, plt_comp_offset, plt_got_index entries and plt_header_is_comp members. (STUB_LW_MICROMIPS, STUB_MOVE_MICROMIPS): New macros. (STUB_LUI_MICROMIPS, STUB_JALR_MICROMIPS): Likewise. (STUB_ORI_MICROMIPS, STUB_LI16U_MICROMIPS): Likewise. (STUB_LI16S_MICROMIPS): Likewise. (MICROMIPS_FUNCTION_STUB_NORMAL_SIZE): Likewise. (MICROMIPS_FUNCTION_STUB_BIG_SIZE): Likewise. (micromips_o32_exec_plt0_entry): New variable. (mips16_o32_exec_plt_entry): Likewise. (micromips_o32_exec_plt_entry): Likewise. (mips_elf_link_hash_newfunc): Initialize use_plt_entry. (mips_elf_output_extsym): Update to use gotplt_union's plist member rather than offset. (mips_elf_gotplt_index): Likewise. Remove the VxWorks restriction. Use MIPS_ELF_GOT_SIZE to calculate GOT address. (mips_elf_count_got_symbols): Update to use gotplt_union's plist member rather than offset. (mips_elf_calculate_relocation): Handle MIPS16/microMIPS PLT entries. (_bfd_mips_elf_create_dynamic_sections): Don't set PLT sizes here. (mips_elf_make_plt_record): New function. (_bfd_mips_elf_check_relocs): Update comment. Record occurences of JAL relocations that might need a PLT entry. (_bfd_mips_elf_adjust_dynamic_symbol): Update to use gotplt_union's plist member rather than offset. Set individual PLT entry sizes here. Handle MIPS16/microMIPS PLT entries. Don't set the symbol's value in the symbol table for PLT references here. Don't set the PLT or PLT GOT section sizes here. (mips_elf_estimate_stub_size): Handle microMIPS stubs. (mips_elf_allocate_lazy_stub): Likewise. (mips_elf_lay_out_lazy_stubs): Likewise. Define a _MIPS_STUBS_ magic symbol. (mips_elf_set_plt_sym_value): New function. (_bfd_mips_elf_size_dynamic_sections): Set PLT header size and PLT and PLT GOT section sizes here. Set the symbol values in the symbol table for PLT references here. Handle microMIPS annotation of the _PROCEDURE_LINKAGE_TABLE_ magic symbol. (_bfd_mips_elf_finish_dynamic_symbol): Update to use gotplt_union's plist member rather than offset. Handle MIPS16/microMIPS PLT entries. Handle microMIPS stubs. (_bfd_mips_vxworks_finish_dynamic_symbol): Update to use gotplt_union's plist member rather than offset. Use MIPS_ELF_GOT_SIZE to calculate GOT address. (mips_finish_exec_plt): Handle microMIPS PLT. Return status. (_bfd_mips_elf_finish_dynamic_sections): Handle result from mips_finish_exec_plt. (_bfd_mips_elf_link_hash_table_create): Update to use gotplt_union's plist member rather than offset. (_bfd_mips_elf_get_synthetic_symtab): New function. include/elf/ * mips.h (ELF_ST_IS_MIPS_PLT): Respect STO_MIPS16 setting. (ELF_ST_SET_MIPS_PLT): Likewise. gdb/ * mips-tdep.c (mips_elf_make_msymbol_special): Handle MIPS16 and microMIPS synthetic symbols. ld/ * emulparams/elf32btsmip.sh: Arrange for .got.plt to be placed as close to .plt as possible. * scripttempl/elf.sc: Handle $INITIAL_READWRITE_SECTIONS and $PLT_NEXT_DATA variables. ld/testsuite/ * ld-mips-elf/jalx-2.dd: Update for microMIPS PLT support. * ld-mips-elf/pic-and-nonpic-3a.dd: Update for the _MIPS_STUBS_ magic symbol. * ld-mips-elf/pic-and-nonpic-3b.dd: Likewise. * ld-mips-elf/pic-and-nonpic-6-n32.dd: Likewise. * ld-mips-elf/pic-and-nonpic-6-n64.dd: Likewise. * ld-mips-elf/pic-and-nonpic-6-o32.dd: Likewise. * ld-mips-elf/stub-dynsym-1-10000.d: Likewise. * ld-mips-elf/stub-dynsym-1-2fe80.d: Likewise. * ld-mips-elf/stub-dynsym-1-7fff.d: Likewise. * ld-mips-elf/stub-dynsym-1-8000.d: Likewise. * ld-mips-elf/stub-dynsym-1-fff0.d: Likewise. * ld-mips-elf/tlslib-o32.d: Likewise. opcodes/ * mips-dis.c (is_mips16_plt_tail): New function. (print_insn_mips16): Handle MIPS16 PLT entry's GOT slot address word. (is_compressed_mode_p): Handle MIPS16/microMIPS PLT entries.
* * new-features.sgml (ov-new1.7.21): New section. Document rawmemchr.Yaakov Selkowitz2013-06-242-0/+16
|
* * common.din (rawmemchr): Export.Yaakov Selkowitz2013-06-245-1/+11
| | | | | * posix.sgml (std-gnu): Add rawmemchr. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * libc/include/string.h (rawmemchr): Declare.Yaakov Selkowitz2013-06-245-2/+142
| | | | | | | * libc/string/Makefile.am (ELIX_4_SOURCES): Add rawmemchr.c. (CHEWOUT_FILES): Add rawmemchr.def. * libc/string/Makefile.in: Regenerate. * libc/string/rawmemchr.c: New file.
* * libc/reent/reent.c (_reclaim_reent): Free also _misc andCorinna Vinschen2013-06-242-0/+14
| | | | _signal_buf.
* * libc/include/sys/reent.h (_ATEXIT_INIT_PTR): Remove.Corinna Vinschen2013-06-242-36/+8
| | | | | (_REENT_INIT_ATEXIT_PTR): Remove. (_REENT_INIT_PTR): Reduce code size if _REENT_SMALL.
* include/opcode/Richard Sandiford2013-06-232-1/+5
| | | | | | | * mips.h: Fix comment typo: "G" is _RS rather than _RD for microMIPS. gas/ * config/tc-mips.c (mips_ip): Fix swapped bit numbers in comments.
* * configure.ac (mips*-*-bsd*, mips*-*-ultrix*, mips*-*-osf*)Richard Sandiford2013-06-223-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (mips*-*-ecoff*, mips*-*-pe*, mips*-*-irix* [v4 and earlier]) (mips*-*-lnews*, mips*-*-riscos*): Add gas and ld to noconfigdirs. * configure: Regenerate. gas/ * NEWS: Note removal of ECOFF support. * doc/as.texinfo (--emulation): Update for the removal of MIPS ECOFF. * Makefile.am (TARG_ENV_HFILES): Remove config/te-lnews.h. (MULTI_CFILES): Remove config/e-mipsecoff.c. * Makefile.in: Regenerate. * configure.in: Remove MIPS ECOFF references. (mips-sony-bsd*, mips-*-bsd*, mips-*-lnews*-ecoff, mips-*-*-ecoff): Delete cases. (mips-*-irix5*-*, mips*-*-linux*-*, mips*-*-freebsd*) (mips*-*-kfreebsd*-gnu, mips-*-*-elf): Fold into... (mips-*-*): ...this single case. (mipsbecoff, mipslecoff, mipsecoff): Remove emulations. Expect MIPS emulations to be e-mipself*. * configure: Regenerate. * configure.tgt (mips-sony-bsd*, mips-*-ultrix*, mips-*-osf*) (mips-*-ecoff*, mips-*-pe*, mips-*-irix*, ips-*-lnews*, mips-*-riscos*) (mips-*-sysv*): Remove coff and ecoff cases. * as.c (mipsbecoff, mipslecoff, mipsecoff): Remove. * ecoff.c: Remove reference to MIPS ECOFF. * config/e-mipsecoff.c, config/te-lnews.h: Delete files. * config/tc-mips.c (ECOFF_LITTLE_FORMAT): Delete. (RDATA_SECTION_NAME, mips_target_form): Remove COFF and ECOFF cases. (mips_hi_fixup): Tweak comment. (append_insn): Require a howto. (mips_after_parse_args): Remove OBJ_MAYBE_ECOFF code. gas/testsuite/ * gas/all/gas.exp: Remove reference to mips-ecoff. * gas/mips/branch-misc-1.d, gas/mips/branch-misc-2.d, gas/mips/branch-misc-2-64.d, gas/mips/branch-misc-2pic.d, gas/mips/branch-misc-2pic-64.d, gas/mips/branch-swap.d: Remove skips for mips-*-ecoff. ld/ * NEWS: Document the removal of MIPS ECOFF targets. * ld.texinfo (--gpsize=@var{value}): Use MIPS ELF rather than MIPS ECOFF as an example of a target that supports small data. * ldmain.c (g_switch_value): Likewise. * configure.tgt (mips*-*-pe, mips*-dec-ultrix*, mips*-dec-osf*) (mips*-sgi-irix* [v4 and earlier], mips*el-*-ecoff*, mips*-*-ecoff*) (mips*-*-bsd*, mips*-*-lnews*): Remove cases. * Makefile.am (ALL_EMULATION_SOURCES): Remove emipsbig.c, emipsbsd.c, emipsidt.c, emipsidtl.c, emipslit.c, emipslnews.c and emipspe.c. (emipsbig.c, emipsbsd.c, emipsidt.c, emipsidtl.c, emipslit.c) (emipslnews.c, emipspe.c): Delete rules. * Makefile.in: Regenerate. * emulparams/mipsbig.sh, emulparams/mipsbsd.sh, emulparams/mipsidt.sh, emulparams/mipsidtl.sh, emulparams/mipslit.sh, emulparams/mipslnews.sh, emulparams/mipspe.sh, emultempl/mipsecoff.em: Delete. * emultempl/m68kcoff.em: Update comment to say that MIPS ECOFF support has now been removed. * emultempl/pe.em: Remove TARGET_IS_mipspe checks.
* * msp430-decode.opc: New.Nick Clifton2013-06-211-0/+130
| | | | | | | | | | | | | * msp430-decode.c: New/generated. * Makefile.am (TARGET_LIBOPCODES_CFILES): Add msp430-decode.c. (MAINTAINER_CLEANFILES): Likewise. Add rule to build msp430-decode.c frommsp430decode.opc using the opc2c program. * Makefile.in: Regenerate. * configure.in: Add msp430-decode.lo to msp430 architecture files. * configure: Regenerate. * msp430-decode.h: New.
* strlen-armv7.S: Import latest strlen cortex-strings code.Will Newton2013-06-212-83/+118
| | | | | | | | | | | | | Import the latest version of strlen from the Linaro cortex-strings package. This version is faster across a variety of block size and alignments on ARMv7. newlib/ChangeLog: 2013-06-21 Will Newton <will.newton@linaro.org> * libc/machine/arm/strlen-armv7.S: Import latest strlen code from Linaro cortex-strings.
* newlib/MAINTAINERS: Add myself to Write After Approval.Will Newton2013-06-212-0/+5
| | | | | | 2013-06-21 Will Newton <will.newton@linaro.org> * MAINTAINERS: Add Will Newton to Write After Approval.
* * path.cc (cygwin_conv_path): Handle NULL "from" path gracefully.Corinna Vinschen2013-06-213-1/+13
| | | | | * path.sgml (func-cygwin-conv-path): Document returning EINVAL if "from" is NULL.
* * faq-using.xml (faq.using.private-cygwin): Drop.Corinna Vinschen2013-06-192-21/+4
|
* * winf.h (av::unshift): Make __reg2.Christopher Faylor2013-06-192-2/+7
|
* Fix ChangeLog entryCorinna Vinschen2013-06-191-7/+0
|
* *** empty log message ***Corinna Vinschen2013-06-191-0/+3
|
* * spawn.cc (child_info_spawn::worker): Eliminate call to newargv.set() in favorChristopher Faylor2013-06-194-170/+181
| | | | | | | | | | | | | | | | of conglomerated newargv.setup(). Let newargv.setup() decide when to call dup_all(). Only set argc and argv for cygwin processes. (av::setup): Rename from av::fixup. Accept argc and argv parameters. Fill out argv and argc here. Duplicate whole argv structure when this is a Cygwin executable. * winf.cc (linebuf::fromargv): Don't bother duplicating argv elements since they will never be used. * winf.h (av::set): Delete. (av::setup): Rename from av::fixup. Add two parameters. (av::replace0_maybe): Assign calloced to 1 rather than 'true' for clarity. (av::dup_maybe): Delete. (av::dup_all): Set calloced to show that we have duplicated all of the arguments in the list.
* * acconfig.h (_UNBUF_STREAM_OPT): Undefine.Corinna Vinschen2013-06-198-1/+77
| | | | | | | | | | | | | | | | | * newlib.hin (_UNBUF_STREAM_OPT): Undefine. * configure.in (--enable-newlib-unbuf-stream-opt): New option. * configure: Regenerate. * libc/stdio/vfprintf.c (_VFPRINTF_R): Don't do optimization on unbuffered stream files. * libc/stdio/vfwprintf.c (_VFWPRINTF_R): Likewise. * README: Add description about the option. * newlib.hin (_UNBUF_STREAM_OPT): Undefine. * configure.in (--enable-newlib-unbuf-stream-opt): New option. * configure: Regenerate. * libc/stdio/vfprintf.c (_VFPRINTF_R): Don't do optimization on unbuffered stream files. * libc/stdio/vfwprintf.c (_VFWPRINTF_R): Likewise. * README: Add description about the option.
* * libc/posix/readdir_r.c: Fix potential read past dirp->dd_buf.Corinna Vinschen2013-06-192-4/+10
|
* * nlsfuncs.cc (__collate_range_cmp): Convert input to wchar_t and callCorinna Vinschen2013-06-192-4/+12
| | | | | wcscoll since all calling functions are using wide chars. Explain in preceeding comment.
* * spawn.cc (child_info_spawn::worker): Eliminate wascygexec.Christopher Faylor2013-06-192-3/+5
|
* aarch64: Revert AArch64 ifunc changes.Will Newton2013-06-192-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AArch64 ifunc patch introduced a regression caused by incorrect PLT layout. Revert it until a fix is verified. bfd/ChangeLog: 2013-06-19 Will Newton <will.newton@linaro.org> * configure: Regenerated. * configure.in: Remove aarch64 dependency on elf-ifunc.c. * elf64-aarch64.c: Remove objalloc.h include. (elf64_aarch64_howto_dynrelocs): Remove R_AARCH64_IRELATIVE howto. (struct elf64_aarch64_link_hash_table): Remove ifunc related members. (elf_aarch64_local_htab_hash): Remove function. (elf_aarch64_local_htab_eq): Remove function. (elf_aarch64_get_local_sym_hash): Remove function. (elf64_aarch64_link_hash_table_create): Remove local hash table initialization. (elf64_aarch64_final_link_relocate): Remove sym argument and handling of ifunc symbols. (elf64_aarch64_relocate_section): Don't pass sym argument to elf64_aarch64_final_link_relocate. (elf64_aarch64_gc_sweep_hook): Remove handling of ifunc symbols. (elf64_aarch64_adjust_dynamic_symbol): Likewise. (elf64_aarch64_check_relocs): Likewise. (elf64_aarch64_post_process_headers): Remove call to _bfd_elf_set_osabi. (elf64_aarch64_is_function_type): New function. (elf64_aarch64_allocate_dynrelocs): Remove handling of ifunc symbols. (elf_aarch64_allocate_local_dynrelocs): Remove function. (elf64_aarch64_size_dynamic_sections): Remove call to elf_aarch64_allocate_local_dynrelocs. (elf64_aarch64_create_small_pltn_entry): Remove info argument. Remove creation of R_AARCH64_IRELATIVE dynamic relocs. (elf64_aarch64_finish_dynamic_symbol): Remove handling of ifunc symbols. (elf_aarch64_finish_local_dynamic_symbol): Remove function. (elf64_aarch64_finish_dynamic_sections): Remove call to elf_aarch64_finish_local_dynamic_symbol. (elf64_aarch64_add_symbol_hook): Remove function. include/elf/ChangeLog: 2013-06-19 Will Newton <will.newton@linaro.org> * aarch64.h: Remove R_AARCH64_IRELATIVE. ld/ChangeLog: 2013-06-19 Will Newton <will.newton@linaro.org> * emulparams/aarch64elf.sh: Remove IREL_IN_PLT. ld/testsuite/ChangeLog: 2013-06-19 Will Newton <will.newton@linaro.org> * ld-aarch64/aarch64-elf.exp: Remove ifunc tests. * ld-ifunc/ifunc.exp: Disable ifunc tests on AArch64. * ld-aarch64/ifunc-1-local.d: Remove. * ld-aarch64/ifunc-1-local.s: Likewise. * ld-aarch64/ifunc-1.d: Likewise. * ld-aarch64/ifunc-1.s: Likewise. * ld-aarch64/ifunc-10.d: Likewise. * ld-aarch64/ifunc-10.s: Likewise. * ld-aarch64/ifunc-11.d: Likewise. * ld-aarch64/ifunc-11.s: Likewise. * ld-aarch64/ifunc-12.d: Likewise. * ld-aarch64/ifunc-12.s: Likewise. * ld-aarch64/ifunc-13.d: Likewise. * ld-aarch64/ifunc-13a.s: Likewise. * ld-aarch64/ifunc-13b.s: Likewise. * ld-aarch64/ifunc-14a.d: Likewise. * ld-aarch64/ifunc-14a.s: Likewise. * ld-aarch64/ifunc-14b.d: Likewise. * ld-aarch64/ifunc-14b.s: Likewise. * ld-aarch64/ifunc-14c.d: Likewise. * ld-aarch64/ifunc-14c.s: Likewise. * ld-aarch64/ifunc-14d.d: Likewise. * ld-aarch64/ifunc-14e.d: Likewise. * ld-aarch64/ifunc-14f.d: Likewise. * ld-aarch64/ifunc-15.d: Likewise. * ld-aarch64/ifunc-15.s: Likewise. * ld-aarch64/ifunc-16.d: Likewise. * ld-aarch64/ifunc-16.s: Likewise. * ld-aarch64/ifunc-17a.d: Likewise. * ld-aarch64/ifunc-17a.s: Likewise. * ld-aarch64/ifunc-17b.d: Likewise. * ld-aarch64/ifunc-17b.s: Likewise. * ld-aarch64/ifunc-18a.d: Likewise. * ld-aarch64/ifunc-18a.s: Likewise. * ld-aarch64/ifunc-18b.d: Likewise. * ld-aarch64/ifunc-18b.s: Likewise. * ld-aarch64/ifunc-19a.d: Likewise. * ld-aarch64/ifunc-19a.s: Likewise. * ld-aarch64/ifunc-19b.d: Likewise. * ld-aarch64/ifunc-19b.s: Likewise. * ld-aarch64/ifunc-2-local.d: Likewise. * ld-aarch64/ifunc-2-local.s: Likewise. * ld-aarch64/ifunc-2.d: Likewise. * ld-aarch64/ifunc-2.s: Likewise. * ld-aarch64/ifunc-20.d: Likewise. * ld-aarch64/ifunc-20.s: Likewise. * ld-aarch64/ifunc-3.s: Likewise. * ld-aarch64/ifunc-3a.d: Likewise. * ld-aarch64/ifunc-3b.d: Likewise. * ld-aarch64/ifunc-4.d: Likewise. * ld-aarch64/ifunc-4.s: Likewise. * ld-aarch64/ifunc-4a.d: Likewise. * ld-aarch64/ifunc-5-local.s: Likewise. * ld-aarch64/ifunc-5.s: Likewise. * ld-aarch64/ifunc-5a-local.d: Likewise. * ld-aarch64/ifunc-5a.d: Likewise. * ld-aarch64/ifunc-5b-local.d: Likewise. * ld-aarch64/ifunc-5b.d: Likewise. * ld-aarch64/ifunc-5r-local.d: Likewise. * ld-aarch64/ifunc-6.s: Likewise. * ld-aarch64/ifunc-6a.d: Likewise. * ld-aarch64/ifunc-6b.d: Likewise. * ld-aarch64/ifunc-7.s: Likewise. * ld-aarch64/ifunc-7a.d: Likewise. * ld-aarch64/ifunc-7b.d: Likewise. * ld-aarch64/ifunc-7c.d: Likewise. * ld-aarch64/ifunc-8.d: Likewise. * ld-aarch64/ifunc-8a.s: Likewise. * ld-aarch64/ifunc-8b.s: Likewise. * ld-aarch64/ifunc-9.d: Likewise. * ld-aarch64/ifunc-9.s: Likewise.
* * faq-using.xml (faq.using.multiple-copies): Modernize to reflectCorinna Vinschen2013-06-192-15/+38
| | | | | installation separation since Cygwin 1.7. (faq.using.third-party.multiple-copies): Ditto.
* * dcrt0.cc (child_info_fork::alloc_stack): Don't subtract 4096 from stackChristopher Faylor2013-06-192-1/+6
| | | | pointer since getstack() already does that.
* *** empty log message ***Corinna Vinschen2013-06-181-0/+3
|
* * gmon.c: Drop gratuitous inclusion of strings.h. Remove __MINGW32__Corinna Vinschen2013-06-182-3/+5
| | | | around definition of bzero.