| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
gas: Implement the .inst assembler directive for arm.
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)
|
|
|
|
|
|
| |
gas/config/tc-arm.c: Minor re-sorting to match upstream history.
No functional change.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
In GNU as, avoid left-shifting negative integers, which is undefined.
|
|
|
|
|
| |
Add movw and movt relocations to the list of relocations against function
names that must not be adjusted.
|
|
|
|
|
| |
In contrib/binutils/gas/config/tc-ppc.c, fix a few -Wformat-security
warnings.
|
|
|
|
|
|
|
|
|
| |
Backport fix for binutils 11867: .quad directive not assembled correctly
Alan Modra (and Alan's employer) graciously permitted use of his patch
under GPLv2.
Obtained from: OpenBSD
|
|
|
|
|
|
|
|
|
|
| |
gas: use memmove instead of bogus memcpy.
partial_where points into the buffer that begins with buffer_start
so we need to use memmove() to handle the overlap.
Fixes Sourceware-PR 11456.
Obtained from: OpenBSD (CVS rev. 1.2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow the UAL APSR_nzcv format for the mrc and mrc2 instructions. The clang
integrated assembler only allows these forms so binutils will need to
support them.
Sponsored by: ABT Systems Ltd
MFC 275584:
Fix mrc and mrc2 with APSR_nzcv. Binutils encodes it internally as 0 where
we need it to be set to 15 for it to be equivalent to r15.
Sponsored by: ABT Systems Ltd
|
|
|
|
|
|
|
|
|
| |
Avoid undefined behaviour in gas's rotate_left() macro for n == 0.
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
|
|
|
|
|
|
| |
Fix parsing of arch extensions in binutils/gas.
Use ".arch_extension sec" when compiling ARM TI code that uses the
security extensions.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Make gas accept any PowerPC instruction by default. This is a local change,
and will not be submitted upstream.
Discussed with: nwhitehorn,rdivacky
|
|
|
|
|
|
|
|
|
|
|
| |
binutils: add support for Intel SMAP-related instructions
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
|
|
|
|
|
|
| |
disassembler on amd64.
MFC after: 1 month
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
level version of the instructions. When used in userland the hardware only
allows us to read/write FPSCR.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
exceptions on ARM EABI with static binaries.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
these even when building soft floating-point code
Submitted by: Daisuke Aoyama <aoyama AT peach.ne.jp>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
clang for certain expressions. Code taken from Apple cctools (GPLv2).
Submitted by: damjan.marion@gmail.com
|
|
|
|
| |
Approved by: philip (mentor)
|
|
|
|
| |
Approved by: philip (mentor)
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
any files we do not need, delete some files that were removed upstream,
but keep our own customizations and backports from later binutils.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
o) Add TARGET_ABI to the MIPS toolchain build process. This sets the default
ABI to one of o32, n32 or n64. If it is not set, o32 is assumed as that is
the current default.
o) Set the default GCC cpu type to any specified TARGET_CPUTYPE. This is
necessary to have a working "cc" if e.g. mips64 is specified, as binutils
will refuse to link objects using different ISAs in some cases.
o) Add support for n32 and n64 ABIs to binutils and GCC.
o) Add additional required libgcc2 stubs for n32 and n64.
o) Add support for the "mips64r2" architecture to GCC. Add the "octeon"
o) When static linking, wrap default libraries in --start-group and
--end-group. This is required for static linking to work on n64 with the
interdependencies between libraries there. This is what other OSes that
support n64 seem to do, as well.
o) Fix our GCC spec to define __mips64 for 64-bit targets, not __mips64__, the
former being what libgcc, etc., check and the latter seemingly being a
misspelling of a hand merge from a Linux spec.
o) When no TARGET_CPUTYPE is specified at build time, make GCC take the default
ISA from the ABI. Our old defaults were too liberal and assumed that 64-bit
ABIs should default to the MIPS64 ISA and that 32-bit ABIs should default to
the MIPS32 ISA, when we are supporting or will support some systems based on
earlier 32-bit and 64-bit ISAs, most notably MIPS-III.
o) Merge a new opcode file (and support code) from a later version of binutils
and add flags and code necessary to support Octeon-specific instructions.
This should also make merging opcodes for other modern architectures easier.
Reviewed by: imp
|
| | |
|
|\ \
| |/
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| |
| |
| |
| | |
These bits are taken from the FSF anoncvs repo on 23-May-2004 04:41:00 UTC.
|
|\ \
| |/
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| |
| |
| |
| |
| |
| |
| | |
These fix binutils compilation on i386/amd64 with GCC 4.1 and
have no other effect.
No response by: obrien
|
| | |
|
|\ \
| |/
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| |
| |
| |
| | |
These bits are taken from the FSF anoncvs repo on 23-May-2004 04:41:00 UTC.
|
| | |
|
| | |
|
|\ \
| |/
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| |
| |
| |
| | |
These bits are taken from the FSF anoncvs repo on 27-Oct-2002 21:12:00 EST.
|
| |
| |
| |
| | |
to purely stock files.
|
|\ \
| |/
| |
| | |
which included commits to RCS files with non-trunk default branches.
|