More ARM EABI object attributes in binutils. This adds support to binutilsto include the Unaligned Access and Floating-point Half-precisionattributes. the former marks ELF objects that may access A
More ARM EABI object attributes in binutils. This adds support to binutilsto include the Unaligned Access and Floating-point Half-precisionattributes. the former marks ELF objects that may access ARMv6 styleunaligned data, the latter that the binary uses the VFPv3/Advanced SIMDhalf-precision extension.These may be emmitted by clang so it's best to print a warning when thelinker hits one of them.Differential Revision: http://reviews.freebsd.org/D2194Submitted by: Michal Meloun <[email protected]>MFC after: 1 week
show more ...
Add new PowerPC relocations to binutilsSummary:LLVM/Clang generates relocations that our binutils doesn't understand, but newerbinutils does. I got permission from the author of a series of patc
Add new PowerPC relocations to binutilsSummary:LLVM/Clang generates relocations that our binutils doesn't understand, but newerbinutils does. I got permission from the author of a series of patches torelicense them as GPLv2 for use in FreeBSD. The upstream git hashes are:ac2df442ac7901f00af15b272fc48b594b4337132b95367962dc14f69d3c338c4d54195266e2e169102890f04c44b64cf5cef4588267dd9f24086ac7b7fcf6f6bb53b5027e111107f5416769cb9a57981d483afedd5a628dc84fb58d1d570f79fdfbfa7b90aecf7a80c1cefeb45fc10a6cd02c8338e34b4c3a71aa26df2a372a58e9c11ef9ba51fd0e83320a727fc41e077139570ea8b8ddfd6c546b2a55627cWith the import of clang 3.5, and a few backported patches, we should be able tomove powerpc and powerpc64 to clang-as-cc soon.Test Plan: Passes make tinderbox, so no regressions. Binaries built with clangrun on powerpc64.Reviewers: #committers, dimReviewed By: dimDifferential Revision: https://reviews.freebsd.org/D1297Obtained from: Alan Modra, upstream binutils-gdb gitMFC after: 3 weeksRelnotes: yes
Improve support for XSAVE with debuggers.- Dump an NT_X86_XSTATE note if XSAVE is in use. This note is designed to match what Linux does in that 1) it dumps the entire XSAVE area including the f
Improve support for XSAVE with debuggers.- Dump an NT_X86_XSTATE note if XSAVE is in use. This note is designed to match what Linux does in that 1) it dumps the entire XSAVE area including the fxsave state, and 2) it stashes a copy of the current xsave mask in the unused padding between the fxsave state and the xstate header at the same location used by Linux.- Teach readelf() to recognize NT_X86_XSTATE notes.- Change PT_GET/SETXSTATE to take the entire XSAVE state instead of only the extra portion. This avoids having to always make two ptrace() calls to get or set the full XSAVE state.- Add a PT_GET_XSTATE_INFO which returns the length of the current XSTATE save area (so the size of the buffer needed for PT_GETXSTATE) and the current XSAVE mask (%xcr0).Differential Revision: https://reviews.freebsd.org/D1193Reviewed by: kibMFC after: 2 weeks
Silence a warning about Tag_Virtualization_use being unknown. We don'thandle merging this tag correctly, however it's unused.
Add an elf note on ARM to store the MACHINE_ARCH an executable was builtfor. This is useful for software needing to know which architecture abinary is built for as arm and armv6 have slight differe
Add an elf note on ARM to store the MACHINE_ARCH an executable was builtfor. This is useful for software needing to know which architecture abinary is built for as arm and armv6 have slight differences meaning onlysome binaries build for one will work as expected on the other. It isexpected pkgng will be able to make use of this to simplify the logic todetermine which package ABI to use.Approved by: re (kib)
Improve readelf notes output for Linux ELF filesAdd four ELF note constants:- NT_FILE and NT_SIGINFO (core file notes output by recent Linux kernels)- NT_GNU_ABI_TAG (was incorrectly reported as
Improve readelf notes output for Linux ELF filesAdd four ELF note constants:- NT_FILE and NT_SIGINFO (core file notes output by recent Linux kernels)- NT_GNU_ABI_TAG (was incorrectly reported as NT_VERSION)- NT_GNU_BUILD_ID (used for locating standalone debug files)Approved by: re (kib)
Handle FreeBSD-specific ELF notesAdd a function to return the specific type, when the note's Name field is'FreeBSD'.r249558 added FreeBSD-specific ELF note types that reuse type numbers ofexist
Handle FreeBSD-specific ELF notesAdd a function to return the specific type, when the note's Name field is'FreeBSD'.r249558 added FreeBSD-specific ELF note types that reuse type numbers ofexisting generic / Linux types. This caused 'readelf -n' to produceincorrect output on FreeBSD core files.Sponsored by: DARPA, AFRLMFC after: 3 days
Handle DW_TAG_rvalue_reference_type2012-05-21 Jim Ingham <[email protected]> * dwarf2read.c (process_die): Handle DW_TAG_rvalue_reference_type. (read_type_die): Ditto. (dwarf_ta
Handle DW_TAG_rvalue_reference_type2012-05-21 Jim Ingham <[email protected]> * dwarf2read.c (process_die): Handle DW_TAG_rvalue_reference_type. (read_type_die): Ditto. (dwarf_tag_name): Ditto. * elf/dwarf2.h: Add DW_TAG_rvalue_reference_type.Obtained from: Apple, gdb-1820
Fix the value of NT_FREEBSD_TAG to be the same as ABI_NOTRTYPE in lib/csu.Add NT_FREEBSD_NOINIT_TAG for the value of CRT_NOINIT_NOTETYPE.Check for both of these when detecting a FreeBSD binary in g
Fix the value of NT_FREEBSD_TAG to be the same as ABI_NOTRTYPE in lib/csu.Add NT_FREEBSD_NOINIT_TAG for the value of CRT_NOINIT_NOTETYPE.Check for both of these when detecting a FreeBSD binary in gdb.
Extend GDB to check the value in the .note.tag section along with the.note.ABI-tag section.This helps on ARM EABI where the OS/ABI field is zero. It would be betterto use the NOTES program header
Extend GDB to check the value in the .note.tag section along with the.note.ABI-tag section.This helps on ARM EABI where the OS/ABI field is zero. It would be betterto use the NOTES program header however this would require a more invasivechange.
Teach gdb about the DW_FORM_flag_present dwarf attribute, so it doesn'terror out on files that contain it. (This attribute can be emitted bynewer versions of clang.)MFC after: 2 weeks
Add the ability for GDB to printout the thread name along with otherthread specific informations.In order to do that, and in order to avoid KBI breakage with existinginfrastructure the following
Add the ability for GDB to printout the thread name along with otherthread specific informations.In order to do that, and in order to avoid KBI breakage with existinginfrastructure the following semantic is implemented:- For live programs, a new member to the PT_LWPINFO is added (pl_tdname)- For cores, a new ELF note is added (NT_THRMISC) that can be used for storing thread specific, miscellaneous, informations. Right now it is just popluated with a thread name.GDB, then, retrieves the correct informations from the corefile via theBFD interface, as it groks the ELF notes and create appropriatepseudo-sections.Sponsored by: Sandvine IncorporatedTested by: gianniDiscussed with: dim, kan, kibMFC after: 2 weeks
Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which bringsus up to version 2.17.50.20070703, at the last GPLv2 commit.Amongst others, this added upstream support for some FreeBSD-spec
Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which bringsus up to version 2.17.50.20070703, at the last GPLv2 commit.Amongst others, this added upstream support for some FreeBSD-specificthings that we previously had to manually hack in, such as the OSABIlabel 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 uplater on, if needed.
Merge ^vendor/binutils/dist@214082 into contrib/binutils.
Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain.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,
Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain.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
Import of Binutils from the FSF 2.15 branch (just post-.0 release).These bits are taken from the FSF anoncvs repo on 23-May-2004 04:41:00 UTC.
Import of Binutils from the FSF 2.13 branch (just pre-.1 release).These bits are taken from the FSF anoncvs repo on 11-Oct-2002 22:39:35 PDT.
Remove these Bintuils 2.11 files that aren't part of 2.12.
Import of Binutils from the FSF 2.12 branch (just post-.1 release).These bits are taken from the FSF anoncvs repo on 22-June-2002 23:28:00 EDT.
Import of Binutils from the FSF 2.12 branch (pre-.0 release).These bits are taken from the FSF anoncvs repo on 21-Feburary-2002 20:15 PST.
Enlist the FreeBSD-CURRENT users as testers of what is to become Binutilsversion 2.12.0. These bits are taken from the FSF anoncvs repo on27-January-2002 03:41 PST.
Import of Binutils from the FSF 2.11 branch [checked out 19-July-2001].This fixes an annoying `ld' bug.
Import of GNU Binutils version 2.11.2.
Import of GNU Binutils version 2.11.0.Believe it or not, this is heavily stripped down.
Import of GNU Binutils version 2.10.1.Believe it or not, this is heavily stripped down.
12