Binutils with MCST patches
Go to file
John Baldwin f8eb6a9e89 Update the conditionals in fbsd-nat.h so they are always honored.
Not all of the architecture-specific FreeBSD target files were
including the right headers to enable conditionals in fbsd-nat.h after
the C++ target conversion.  As a result, certain operations like 'info
auxv' and 'p $_siginfo' were not working for some native targets
(noticed on RISC-V).  Fix this in a couple of ways:

1) Declare fbsd_nat_target::xfer_partial unconditionally and only use
   conditionals in the function body for individual target objects.

   Originally this function was only used to read the ELF auxiliary
   vector, so the entire function was conditional on a macro required
   for that object (KERN_AUXV_PROC).  However, xfer_partial has since
   grown support for additional objects.  Making the function
   unconditional avoids needing to add the right header to fbsd-nat.h
   and allows each target object to use independent requirements.

   This did require using a more explicit conditional test for the
   $_siginfo support.  Removing the "outer" KERN_PROC_AUXV test
   enabled $_siginfo for all kernels with PT_LWPINFO, but some older
   kernels (FreeBSD 6.0) exposed PT_LWPINFO with a different siginfo
   format.  Instead use an explicit test for when the current siginfo
   format was adopted (shipped in FreeBSD 7.0).  This actually enables
   $_siginfo on a wider range of kernels as KERN_PROC_AUXV wasn't
   introduced until FreeBSD 9.1/10.0.

2) Include <sys/proc.h> in fbsd-nat.h for the definition of
   TDP_RFPPWAIT that governs support for fork following.

gdb/ChangeLog:

	* fbsd-nat.c [__FreeBSD_version >= 700009] (USE_SIGINFO): Macro
	defined.
	(union sigval32, struct siginfo32, fbsd_siginfo_size)
	(fbsd_convert_siginfo): Make conditional on USE_SIGINFO instead
	of KERN_PROC_AUXV and PT_LWPINFO.
	(fbsd_nat_target::xfer_partial): Define method unconditionally.
	Make TARGET_OBJECT_SIGNAL_INFO conditional on USE_SIGINFO.
	Make TARGET_OBJECT_AUXV conditional on KERN_PROC_AUXV.
	Make TARGET_OBJECT_FREEBSD_VMMAP and
	TARGET_OBJECT_FREEBSD_PS_STRINGS conditional on KERN_PROC_VMMAP
	and KERN_PROC_PS_STRINGS.
	* fbsd-nat.h: Include <sys/proc.h>.
	(fbsd_nat_target::xfer_partial): Declare method unconditionally.
2018-11-30 13:21:19 -08:00
bfd Add PR number to previous delta to the bfd/ directory. 2018-11-30 17:45:07 +00:00
binutils objdump: Fix check for corrupt reloc information, to allow for the fact that PDP11 relocs are bigger when in internal format. 2018-11-29 10:57:54 +00:00
config Fix a typo in iconv.m4. 2018-11-09 16:08:10 +00:00
contrib Update dg-extract-results.* from gcc 2018-08-06 16:05:16 +02:00
cpu or1k: Add the l.muld, l.muldu, l.macu, l.msbu insns 2018-10-05 11:41:42 +09:00
elfcpp [MIPS] Add Loongson 2K1000 proccessor support. 2018-08-29 20:55:25 +08:00
etc Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
gas GAS/MIPS: Add `-mfix-r5900' option for the R5900 short loop erratum 2018-11-30 18:32:36 +00:00
gdb Update the conditionals in fbsd-nat.h so they are always honored. 2018-11-30 13:21:19 -08:00
gold [GOLD] justsyms_exec test fail on powerpc64 2018-11-26 22:07:46 +10:30
gprof Fix typo setting user_specified variable when parsing -Z option. 2018-10-01 17:18:20 +01:00
include RISC-V: Add .insn CA support. 2018-11-27 11:29:23 -08:00
intl Fix a typo in iconv.m4. 2018-11-09 16:08:10 +00:00
ld PR23937, powerpc64le local ifunc IRELATIVE relocs are wrong 2018-11-30 16:18:58 +10:30
libdecnumber Merge config/ changes from GCC. 2018-10-31 17:16:41 +00:00
libiberty Copy from GCC: Add linker_output as prefix for LTO temps (PR lto/86548). 2018-08-01 14:23:10 +01:00
opcodes RISC-V: Add missing c.unimp instruction. 2018-11-29 13:10:38 -08:00
readline Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
sim [src/erc32] Use ncurses instead of termcap on Cygwin too 2018-10-30 16:41:12 +00:00
texinfo
zlib Merge config/ changes from GCC. 2018-10-31 17:16:41 +00:00
.cvsignore
.gitattributes
.gitignore
ar-lib Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
ChangeLog Merge autoconf / automake update changes from GCC. 2018-10-31 17:10:56 +00:00
compile
config-ml.in
config.guess Update config.guess and config.sub 2018-07-05 13:35:19 +02:00
config.rpath
config.sub Update config.sub 2018-07-06 08:23:40 +02:00
configure Introduce @unless/@endunless and postbootstrap Makefile targets 2018-06-29 23:49:28 -03:00
configure.ac Introduce @unless/@endunless and postbootstrap Makefile targets 2018-06-29 23:49:28 -03:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.LIBGLOSS
COPYING.NEWLIB
depcomp
djunpack.bat
install-sh
libtool.m4 Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS
Makefile.def This was already applied on the GCC side. 2018-06-19 00:05:40 +02:00
Makefile.in Introduce @unless/@endunless and postbootstrap Makefile targets 2018-06-29 23:49:28 -03:00
Makefile.tpl Introduce @unless/@endunless and postbootstrap Makefile targets 2018-06-29 23:49:28 -03:00
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change
multilib.am Merge autoconf / automake update changes from GCC. 2018-10-31 17:10:56 +00:00
README
README-maintainer-mode Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
setup.com
src-release.sh Add "contrib" to the list of GDB support dirs (on src-release.sh) 2018-09-13 12:33:19 -04:00
symlink-tree
test-driver Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
ylwrap

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.