295 Commits

Author SHA1 Message Date
attilio
7718cbcbf4 Add the ability for GDB to printout the thread name along with other
thread specific informations.

In order to do that, and in order to avoid KBI breakage with existing
infrastructure 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 the
BFD interface, as it groks the ELF notes and create appropriate
pseudo-sections.

Sponsored by:	Sandvine Incorporated
Tested by:	gianni
Discussed with:	dim, kan, kib
MFC after:	2 weeks
2010-11-22 14:42:13 +00:00
imp
36d0250e57 Default to little endian output when building for little endian. This
got lost as a result of a mismerge a few months back and I didn't
notice until I collapsed tbemd into -head.

Submitted by:	similar patch by kan@
2010-11-13 20:30:24 +00:00
cperciva
433c390cb4 Zero the buffer containing the .gnu_debuglink section before writing
into it.  Prior to this commit the .gnu_debuglink section can have up
to 3 bytes of uninitialized garbage; as a result, .ko files could
change vary between builds.

Approved by:	dim
MFC after:	7 days
2010-11-11 00:29:19 +00:00
gonzo
2edfde9949 Prevent endless loop by detecting broken MIPS.options 2010-11-07 20:44:46 +00:00
rpaulo
2f07ce984f Add support for the BFD target efi-app-x86_64.
This uses only GPL2 source code and is a requirement for a 64 bit EFI
boot loader.
2010-09-29 14:41:03 +00:00
avg
03322b9583 binutils/ld: fix incorrect placement of __start_SECNAME in some cases
__start_SECNAME and __stop_SECNAME symbols are automatically generated
by ld for orphan sections, i.e. those not explicitely referenced by a
linker script.  The symbols are supposed to be placed correspondingly
at the start and the end of the section in output file.  In some cases
__start_SECNAME may be placed at the address after the end of the
previous section (if any) and before the start the section.  This
happens when following conditions are met:
1. the orphan section is found in more than one input file
2. the orphan section has different alignment requirements across input
files
3. the first instance of the section encountered doesn't have the
greatest alignment requirement
In these conditions resulting output section will be placed at address
after the end of the previous section aligned to the greatest alignment
requirement in the inputs, but __start_SECNAME will be placed at address
after the end of the previous section aligned to the alignment
requirement of the first input in which the section is encountered.

See commit message of r196118 for a concrete example of problems caused
by this bug.

The fix is to place __start_SECNAME inside the section and use ABSOLUTE
directive, rather than placing __start_SECNAME outside the section and
trying to guess address alignment.

This fix is in line with upstream binutils change/fix made between
versions 2.19 and 2.20 in revision of 1.307 ldlang.c.

MFC after:	3 weeks
2010-07-19 18:20:44 +00:00
nwhitehorn
5d21d768b2 Teach our toolchain how to generate 64-bit PowerPC binaries. This fixes
a variety of bugs in binutils related to handling of 64-bit PPC ELF,
provides a GCC configuration for 64-bit PowerPC on FreeBSD, and
associated build systems tweaks.

Obtained from:	projects/ppc64
2010-07-10 02:29:22 +00:00
avg
268ebe38a7 readelf.1: remove duplicate -u/--unwind option description
MFC after:	2 weeks
2010-06-22 07:31:05 +00:00
jmallett
ef36c6939e 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
2010-06-02 11:06:03 +00:00
imp
7778c873c8 Add armeb-*-freebsd* to the list of known architectures. This is like
arm-*-freebsd*, except it defaults to big endian builds instead of
little endian builds.
2010-04-14 19:03:27 +00:00
imp
806f871aea Push mips support into the tree. 2008-12-11 08:22:20 +00:00
obrien
b89ade4fa4 Bring these back to HEAD.
(I thought ncvs@ had rm'ed these MIPS files a long time ago... SVN had
better work out - else 7 more files off the vendor branch.)
2008-05-29 02:43:05 +00:00
obrien
8bca5d6f6b This commit was generated by cvs2svn to compensate for changes in r179404,
which included commits to RCS files with non-trunk default branches.
2008-05-29 02:29:59 +00:00
obrien
cd5f96a9ef 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.
2008-05-29 02:29:59 +00:00
obrien
2e6f1b26db Bring in fix for Binutils PR other/16240: Check for a failure return from
cplus_demangle_type.  This is the rev 1.50-1.51 change.

Our addr2line, etc.. would crash if used on C++ code that contains
certain symbol types.  One example is
_ZN13PatternDriver23StringScalarDeleteValueC1ERKNS_25ConflateStringScalarValueERKNS_25AbstractStringScalarValueERKNS_12TemplateEnumINS_12pdcomplementELZNS_16complement_namesEELZNS_14COMPLEMENTENUMEEEE
2008-01-29 16:12:06 +00:00
obrien
3e4ae1b3a5 This commit was generated by cvs2svn to compensate for changes in r175790,
which included commits to RCS files with non-trunk default branches.
2008-01-29 16:12:06 +00:00
jb
0d56ea8bec Fix strict alias warnings. 2007-11-23 23:56:03 +00:00
kan
415b6dd3be Import two binutils header files from FSF 2.15 branch.
These fix binutils compilation on i386/amd64 with GCC 4.1 and
have no other effect.

No response by: obrien
2007-04-06 17:43:46 +00:00
kan
d4909d3f26 This commit was generated by cvs2svn to compensate for changes in r168433,
which included commits to RCS files with non-trunk default branches.
2007-04-06 17:43:46 +00:00
marius
f5e830d091 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a
non-shared object, do not reserve space in .plt and .rela.plt
for regular symbols neither defined nor referenced in shared objects.

This is a backport of rev. 1.101 (sourceware.org repository) to
Binutils 2.15 which fixes the creation of bogus relocations in the
PLT of Firefox and Thunderbird binaries and which in turn caused
them to segfault in rtld(1). This is committed to the vendor branch
as it doesn't represent a local change but the original vendor fix
is from after elf_link_hash_flags was replaced with bitfields.

PR:		sparc64/89486
Approved by:	maintainer timeout
Obtained from:	NetBSD
MFC after:	1 week
2006-06-08 13:10:51 +00:00
marius
57a3723590 This commit was generated by cvs2svn to compensate for changes in r159399,
which included commits to RCS files with non-trunk default branches.
2006-06-08 13:10:51 +00:00
obrien
1b66131eb1 Fix bogus fmov* SPARC opcodes.
(Note this makes the vendor branch not represent Binutils in the vendor's
CVS repository at any point in time.  Portmgr did not like the state of
Binutils on Sparc that represented the point in time the vendor fixed this
issue.  I'd rather have fixed this on RELENG_6.)

Approved by:	re
2005-07-07 22:06:54 +00:00
obrien
f525ab342b This commit was generated by cvs2svn to compensate for changes in r147824,
which included commits to RCS files with non-trunk default branches.
2005-07-07 22:06:54 +00:00
obrien
72e3341781 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.
2004-07-06 19:16:23 +00:00
obrien
8a0ecfa211 This commit was generated by cvs2svn to compensate for changes in r131722,
which included commits to RCS files with non-trunk default branches.
2004-07-06 19:16:23 +00:00
obrien
0aa70a0bbc Update HEAD with the stock binutils_2_15_20040523 file. 2004-06-16 06:55:49 +00:00
obrien
08e31bda7d Blah, these came back. Use a bigger hammer. 2004-06-16 06:14:51 +00:00
obrien
4400c540b2 Merge rev 1.2 (configuration changes to support FreeBSD) into Binutils 2.15. 2004-06-16 06:13:06 +00:00
obrien
3b3f82635d Merge rev 1.2 (teach `ld' how to access FreeBSD's ld ELF hints) into
Binutils 2.15.
2004-06-16 06:09:06 +00:00
obrien
0de3d54330 Merge rev 1.2 (FreeBSD a.out configuration support) into Binutils 2.15. 2004-06-16 06:03:34 +00:00
obrien
3872110b73 Merge our ELF branding into Binutils 2.15. 2004-06-16 06:02:14 +00:00
obrien
2504df11e1 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.
2004-06-16 05:45:41 +00:00
obrien
abfa7c9435 This commit was generated by cvs2svn to compensate for changes in r130561,
which included commits to RCS files with non-trunk default branches.
2004-06-16 05:45:41 +00:00
obrien
6b4c52b743 Play along with the effort to use getopt_long from libc. 2004-03-17 07:58:36 +00:00
obrien
0e0c5df8a9 This commit was generated by cvs2svn to compensate for changes in r127105,
which included commits to RCS files with non-trunk default branches.
2004-03-17 07:58:36 +00:00
obrien
12178a6e04 From FSF Binutils CVS repo:
2003-04-09  Richard Henderson  <rth@redhat.com>
	* elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
	Ignore relocations against r_symndx == 0.

Requested by:	kris,re(scottl)
2003-05-28 03:32:33 +00:00
obrien
e084c5b388 Things that never should have been imported. 2003-03-02 19:10:30 +00:00
obrien
d44666a5de This commit was generated by cvs2svn to compensate for changes in r111756,
which included commits to RCS files with non-trunk default branches.
2003-03-02 19:10:30 +00:00
obrien
ecae3c4f95 Junk that never should have gotten imported. 2003-03-02 19:01:31 +00:00
obrien
b0507dc8c4 Update HEAD with the stock files. 2002-12-02 09:39:02 +00:00
obrien
c9b52f0136 Merge rev 1.2 (teach `ld' how to access FreeBSD's ld ELF hints)
into the Binutils 2.13.2 20021128 snap.
2002-12-02 09:31:42 +00:00
obrien
0aba58f39d Remove our custom ELF branding -- we have moved to our own ELF vectors
that DTRT.
2002-12-02 09:22:58 +00:00
obrien
0f84a0d91d Merge our ELF branding into Binutils 2_13_2_20021127 snapshot. 2002-12-02 09:17:49 +00:00
obrien
de862b42e9 GC some stuff I thought was long gone. 2002-12-02 09:14:25 +00:00
obrien
4f4b0b5073 Import of Binutils from the FSF 2.13 branch (just pre-.2 release).
These bits are taken from the FSF anoncvs repo on 27-Oct-2002 21:12:00 EST.
2002-12-02 09:06:04 +00:00
obrien
225c3b1101 This commit was generated by cvs2svn to compensate for changes in r107492,
which included commits to RCS files with non-trunk default branches.
2002-12-02 09:06:04 +00:00
obrien
c35e71cdfc Try to keep CVS from pissing over the next binutils import by returning
to purely stock files.
2002-12-02 08:42:08 +00:00
obrien
70d0c6024f 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.
2002-10-11 09:15:11 +00:00
obrien
63577f1c09 This commit was generated by cvs2svn to compensate for changes in r104871,
which included commits to RCS files with non-trunk default branches.
2002-10-11 09:15:11 +00:00
obrien
e523ed1ed7 Typo fixed on Vendor branch 2002-10-11 07:06:21 +00:00