summaryrefslogtreecommitdiffstats
path: root/contrib/binutils/gas
Commit message (Collapse)AuthorAgeFilesLines
* MFC r318135:mmel2017-05-241-8/+8
| | | | Fix parsing of 'vmov Q<n>.F32,Q<n>.F32' instruction.
* MFC r312899: add octeon+ as an alias for octeon in GCC & binutilsemaste2017-03-031-0/+1
| | | | | | | | | | | | | | | | | | r208737 added support for the "mips64r2" architecture and "octeon" CPU, and the saa/saad instructions. Upstream binutils also added the "octeon+" CPU, and the saa/saad instructions are only available in octeon+, not octeon. Since our base system tool chain already accepts saa/saad with -march=octeon, just allow octeon+ as an alias. This allows the use of octeon+ in kernel config files, for use with both external tool chain and in-tree GCC/binutils. Also includes GCC FBSD_CC_VER bump (r313041 in HEAD) PR: 216516 Sponsored by: The FreeBSD Foundation
* gas: Implement the .inst assembler directive for arm.pfg2016-05-201-0/+32
| | | | | | | | We normally use the binutils from ports but on other systems this is required for building gcc 4.9. Obtained from: OpenBSD (CVS rev. 1.5) MFC after: 3 weeks
* gas/config/tc-arm.c: Minor re-sorting to match upstream history.pfg2016-05-201-2/+2
| | | | | | No functional change. MFC after: 2 weeks
* In GNU as, avoid left-shifting negative integers, which is undefined.dim2015-08-091-2/+2
| | | | MFC after: 3 days
* Remove pregenerated text version of the texinfo documentationbapt2015-03-021-13924/+0
|
* Generate manpage out of the texinfo files using texi2mdocbapt2015-03-021-0/+8368
|
* Add pregenerated documentation for as(1) and ld(1)bapt2015-01-042-0/+14014
|
* Fix generating documents with modern texinfobapt2015-01-042-8/+8
|
* In contrib/binutils/gas/config/tc-ppc.c, fix a few -Wformat-securitydim2014-12-281-3/+3
| | | | | | warnings. MFC after: 3 days
* Backport fix for binutils 11867: .quad directive not assembled correctlypfg2014-12-262-10/+34
| | | | | | | | Alan Modra (and Alan's employer) graciously permitted use of his patch under GPLv2. Obtained from: OpenBSD MFC after: 5 days
* gas: use memmove instead of bogus memcpy.pfg2014-12-261-1/+1
| | | | | | | | | partial_where points into the buffer that begins with buffer_start so we need to use memmove() to handle the overlap. Sourceware-PR 11456. Obtained from: OpenBSD (CVS rev. 1.2) MFC after: 3 days
* Make gas parse '__tls_get_addr(foo@tlsgd)'.jhibbits2014-12-181-91/+141
| | | | | | | | | | Corresponds to 727fc41e077139570ea8b8ddfd6c546b2a55627c. This allows us to use -no-integrated-as with clang, if we prefer. Obtained from: binutils-gdb (Relicensed from Alan Modra as GPLv2) MFC after: 2 weeks X-MFC-with: r275718
* Fix mrc and mrc2 with APSR_nzcv. Binutils encodes it internally as 0 whereandrew2014-12-071-1/+5
| | | | | | | | we need it to be set to 15 for it to be equivalent to r15. MFC after: 1 week X-MFC with: r275415 Sponsored by: ABT Systems Ltd
* Allow the UAL APSR_nzcv format for the mrc and mrc2 instructions. The clangandrew2014-12-021-2/+2
| | | | | | | | integrated assembler only allows these forms so binutils will need to support them. MFC after: 1 Week Sponsored by: AB Systems Ltd
* Avoid undefined behaviour in gas's rotate_left() macro for n == 0.dim2014-11-221-1/+1
| | | | | | | | | Otherwise, clang can effectively remove the first iteration of the for loops where this macro is invoked, and as a result, "cmp r0, #99" fails to assemble. Obtained from: joerg at netbsd MFC after: 3 days
* Rename elf*-powerpc into elf*-powerpc-freebsd in binutilsbapt2014-10-101-1/+1
| | | | | | | | | | | | | The powerpc support was the only supported architecture not prepending the elf format name with "-freebsd" in base this change makes it consistent with other architectures. On newer version of binutils the powerpc format is also prepended with "-freebsd". Also modify the kernel ldscripts in that regards. As a result it is now possible cross build the kernel on powerpc using newer binutils Differential Revision: https://reviews.freebsd.org/D926 Differential Revision: https://reviews.freebsd.org/D928
* Add movw and movt relocations to the list of relocations against functionandrew2014-10-041-0/+6
| | | | | | | | names that must nnot be adjusted. This fixes a bug where code such as: movw r2, :lower16:symbol movt r2, :upper16:symbol It is common for clang to generate such code when targeting armv7.
* Allow vld and vst instructions to use the canonical form from ARM ARM whenandrew2014-10-031-0/+17
| | | | | | | | | | including an alignment. Previously binutils would only allow instructions in the form "vld1.64 {d0, d1}, [r0, :128]" where the final comma should not be there, instead the above instruction should be "vld1.64 {d0, d1}, [r0:128]". This change duplicates the alignment code from within the function to handle this case.
* Add all the dmb/dsb optional limitations, including the alternative values.andrew2014-10-031-4/+12
| | | | These are needed for some code llvm generates when targeting ARMv7.
* Allow the optional limitation on dmb instructions as is already the caseandrew2014-10-031-0/+1
| | | | with dsb instructions.
* Teach as(1) to handle the arm .arch_extension pseudo-op, which acceptsian2014-08-011-0/+31
| | | | | | | | | | | the same values as the -march= command line option. Add support for the "sec" extension (security extensions). We've been getting away without support for the sec extension because it's bogusly enabled even on arches where its presence is optional. This support for .arch_extension is being added mainly so that we can use the right directives in our source code, and that helps folks using external toolchains (and will help us when we finally update our toolchain).
* Fix an bug in as(1) parsing of arm -march=arch+ext options. Compare theian2014-08-011-1/+1
| | | | arch name to just the characters before the '+' in 'arch+ext'.
* Make gas accept any PowerPC instruction by default. This is a local change,jhibbits2014-02-031-1/+1
| | | | | | | and will not be submitted upstream. Discussed with: nwhitehorn,rdivacky MFC after: 1 month
* binutils: add support for Intel SMAP-related instructionspfg2014-01-261-1/+1
| | | | | | | | | | Add support for stac/clac instructions to manipulate the flag that controls the behaviour of Intel's Supervisor Mode Access Prevention (SMAP) feature. Tested by: dim Obtained from: OpenBSD MFC after: 5 days
* Fix cross-compilation of ia64 target code with clang.marcel2013-12-281-1/+1
|
* Queisce warning about empty bodies in these loops by bumping the ;; to thesbruno2013-10-292-3/+6
| | | | next line.
* Don't force 64-bit DWARF2 on MIPSemaste2013-10-212-19/+0
| | | | | | | 64-bit debug data is only necessary for objects with greater than 4GB of debug data, and is not used on other 64-bit FreeBSD targets. Sponsored by: DARPA, AFRL
* Merge from projects/arm_eabi_vfp r255380:andrew2013-10-201-4/+4
| | | | | | | | | | Fix the VCVT instruction. It must round towards zero when converting from a floating-point to an integer value. This was not the case causing issues when printing certain values. There is a VCVTR instruction that will round depending on the current rounding mode. We don't yet support this instruction, or setting the rounding mode.
* Fix .debug_line prologue header length calculation for 64-bit DWARFemaste2013-10-171-10/+8
| | | | | | | | The header_length field is the number of bytes following the field to the first byte of the line number program. The hard-coded constants previously here (4 + 2 + 4) were correct only for 32-bit DWARF. Sponsored by: DARPA, AFRL
* Add support for the 'invpcid' instruction to binutils and DDB'sjhb2013-09-031-2/+4
| | | | | | disassembler on amd64. MFC after: 1 month
* Silence a warning that is incorrect on ARMv6 and later. In the smull, umull,andrew2013-08-171-2/+3
| | | | | | smlal, and umlal the output registers are allowed to be the same as either input registers, where in ARMv4 and ARMv5 they could only be the same as the last input register.
* do_vfp_vmrs and do_vfp_vmsr should not return anything.andrew2013-03-181-11/+7
|
* Add support for the vmsr and vmrs instructions. This supports the systemandrew2013-03-181-0/+66
| | | | | level version of the instructions. When used in userland the hardware only allows us to read/write FPSCR.
* Some ARM vmov similar to 'vmov.f32 s1, s2' will incorrectly have the secondandrew2013-03-181-4/+4
| | | | | | | | | register added to the symbol table by the assembler. On further investigation it was found the problem was with the my_get_expression function. This is called by parse_big_immediate. Fix this by moving the call to parse_big_immediate to the end of the if, else if, ..., else block.
* Clear the memory allocated to build the unwind tables. This fixes C++andrew2013-02-271-0/+2
| | | | exceptions on ARM EABI with static binaries.
* add support for AES and PCLMULQDQ instructions to binutils...jmg2013-02-191-2/+2
| | | | | | | | | Thanks to Mike Belopuhov for the pointer to the OpenBSD patch, though OpenBSD's gcc is very different that it only helped w/ where to modify, not how... Thanks to jhb for some early reviews... Reviewed by: imp, kib MFC after: 1 month
* Recognise vfpv2 as a value for the ARM .fpu asm directive. Clang generatesandrew2012-12-151-0/+1
| | | | | | these even when building soft floating-point code Submitted by: Daisuke Aoyama <aoyama AT peach.ne.jp>
* Merging of projects/armv6, part 3gonzo2012-08-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | r238211: Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb This adds a new TARGET_ARCH for building on ARM processors that support the ARMv6K multiprocessor extensions. In particular, these processors have better support for TLS and mutex operations. This mostly touches a lot of Makefiles to extend existing patterns for inferring CPUARCH from ARCH. It also configures: * GCC to default to arm1176jz-s * GCC to predefine __FreeBSD_ARCH_armv6__ * gas to default to ARM_ARCH_V6K * uname -p to return 'armv6' * make so that MACHINE_ARCH defaults to 'armv6' It also changes a number of headers to use the compiler __ARM_ARCH_XXX__ macros to configure processor-specific support routines. Submitted by: Tim Kientzle <kientzle@freebsd.org>
* Add support for the 'invept' and 'invvpid' instructions. Beyond simplyjhb2012-07-061-0/+16
| | | | | | | | adding appropriate table entries, the assembler had to be adjusted as these are the first non-SSE instructions to use a 3-byte opcode (and a mandatory prefix to boot). MFC after: 1 month
* Add support for the 'xsave', 'xrstor', 'xsaveopt', 'xgetbv', and 'xsetbv'jhb2012-07-041-1/+3
| | | | | | | | | | instructions. I reimplemented this from scratch based on the Intel manuals and the existing support for handling the fxsave and fxrstor instructions. This will let us use these instructions natively with GCC rather than hardcoding the opcodes in hex. Reviewed by: kib MFC after: 1 month
* Make GNU as recognize the ARM 'rrx' mnemonic, which can be generated bydim2011-06-231-0/+10
| | | | | | clang for certain expressions. Code taken from Apple cctools (GPLv2). Submitted by: damjan.marion@gmail.com
* Fix clang warnings.benl2011-06-183-4/+4
| | | | Approved by: philip (mentor)
* Fix clang warnings.benl2011-05-222-3/+3
| | | | Approved by: philip (mentor)
* For ia64, add a proper 'elf64-ia64-freebsd' output format to BFD, so thedim2010-12-051-1/+3
| | | | | | ELF branding for FreeBSD is done in the same way as amd64, i386 and sparc. Something similar should probably also be done for arm, mips and powerpc.
* Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which bringsdim2010-11-0197-16031/+43981
|\ | | | | | | | | | | | | | | | | | | | | | | us up to version 2.17.50.20070703, at the last GPLv2 commit. Amongst others, this added upstream support for some FreeBSD-specific things that we previously had to manually hack in, such as the OSABI label support, and so on. There are also quite a number of new files, some for cpu's (e.g. SPU) that we may or may not be interested in, but those can be cleaned up later on, if needed.
* \ Merge ^vendor/binutils/dist@214082 into contrib/binutils.dim2010-10-21142-33105/+32918
|\ \ | |/
| * Rename vendor/binutils/*/contrib to vendor/binutils/*/xobrien2009-01-19175-222641/+0
| | | | | | | | | | | | | | Binutils has a "contrib" subdirectory - thus flattening cannot happen without renaming the upper level contrib directory in a first pass. Also, don't record this move and remove any keyword expansion.
* | Merge ^vendor/binutils/dist@214033 into contrib/binutils.dim2010-10-191-0/+14
| | | | | | | | | | | | | | The change made to bfd/elf.c in upstream revision 1.217.4.3 (which was a revert of an earlier change), caused objcopy on powerpc to fail to copy debug info from kernel modules. This had to be fixed by applying the diff from upstream revision 1.243 on top of it.
* | Merge ^vendor/binutils/dist@213996 into contrib/binutils. Skip addingdim2010-10-185-5339/+2
| | | | | | | | | | any files we do not need, delete some files that were removed upstream, but keep our own customizations and backports from later binutils.
OpenPOWER on IntegriCloud