Commit Graph

4077 Commits

Author SHA1 Message Date
ed
5bd2211ccc Don't use ${LIB} to obtain the library name.
Once we use libcompiler_rt, the LIB-line must go, to prevent libgcc.a
from being built. Therefore, just hardcode the name.

Obtained from:	user/ed/compiler-rt
2010-11-11 15:24:57 +00:00
imp
c178b8695e Complete the integration of tbemd branch into head.
TARGET_BIG_ENDIAN is now completely dead, except where it was
originally supposed to be used (internally in the toolchain building).

TARGET_ARCH has changed in three cases:
(1) Little endian mips has changed to mipsel.
(2) Big endian mips has changed to mipseb.
(3) Big endian arm has changed to armeb.

Some additional changes are needed to make 'make universe' work on arm
and mips after this change, so those are commented out for now.

UPDATING information will be forthcoming.  Any remaining rough edges
will be hammered out in -current.
2010-11-10 06:39:49 +00:00
gonzo
f9ccde4a24 Fix cross-debugger build 2010-11-07 23:23:48 +00:00
gonzo
3dcfe17daa Fix initialization order:_initialize_svr4_solib should
be called before _initialize_thread_db
2010-11-07 23:22:22 +00:00
gonzo
55c115b83d - Use proper constant for accessing PCB intead of hardcoded numbers
- Minor clean-up
2010-11-07 20:56:41 +00:00
gonzo
ce202f7d13 Link threads support to the build 2010-11-07 20:53:19 +00:00
dim
dd82ae2cb6 Simply our custom OSABI branding 'stub'. It is presently still needed
for ia64, but I will integrate it into contrib/binutils/bfd/elfxx-ia64.c
later on, after which it can be removed entirely.
2010-11-03 16:39:55 +00:00
dim
c6446a754f Fix warnings in fbsd-threads.c. 2010-11-01 20:17:15 +00:00
dim
c59afb2ce3 For stuff under gnu/usr.bin/gdb, search contrib/binutils/include before
contrib/gdb/include, since that contains newer versions of the same
files.
2010-11-01 20:09:54 +00:00
dim
69a79d687c Update doc Makefile and texinfo config file. 2010-11-01 19:47:03 +00:00
dim
f0f9e618bf Update config.h for ld. 2010-11-01 19:46:18 +00:00
dim
0f59ea67c5 Update Makefile and config.h for as. 2010-11-01 19:45:55 +00:00
dim
8a36c8bef3 Add manpages under gnu/usr.bin/binutils, since they are generated. 2010-11-01 19:45:15 +00:00
dim
b219c11ef9 Update Makefile and config.h.bsd for libbinutils. 2010-11-01 19:42:29 +00:00
dim
ef92b3b53e Update Makefile and config.h.bsd for libopcodes. 2010-11-01 19:42:07 +00:00
dim
deecd7f3ad Update Makefile, bfd.h and config.h.bsd for libbfd. 2010-11-01 19:41:22 +00:00
dim
b921eb7d4b Update Makefile and config.h for libiberty. 2010-11-01 19:40:22 +00:00
dim
b5380a9dee Update VERSION to 2.17.50 [FreeBSD] 2007-07-03. 2010-11-01 19:39:10 +00:00
dim
3279f5121c Make sure elf_fbsd_post_process_headers() is actually called for ia64.
This is done by prepending the file to elfxx-ia64, not appending it.

Additionally, reduce diffs between Makefile.amd64 and Makefile.ia64;
instead of echo'ing defines in Makefiles, just add the needed define to
elf-fbsd-brand.c directly, as it is only used for amd64 and ia64.
2010-10-26 17:49:17 +00:00
dim
926cfb4a95 Most of binutils now compiles at WARNS=3, except for libiberty and
libbfd, which still need WARNS=2.
2010-10-22 20:46:08 +00:00
dim
05c8f27311 In case of powerpc64, enable HAVE_LD_NO_DOT_SYMS in gcc's auto-host.h.
Requested by:	nwhitehorn
2010-10-22 20:43:37 +00:00
dim
d51b49793f Update gcc's auto-host.h header for binutils 2.17: turn on
HAVE_COMDAT_GROUP, HAVE_GAS_WEAKREF and HAVE_LD_SYSROOT.
2010-10-22 18:12:40 +00:00
dim
01736e4af6 Garbage collect gnu/lib/libiberty and gnu/lib/libg2c, these have not
been used for years.
2010-10-22 18:11:17 +00:00
dim
15ff888ae0 Update makeinfo include paths, and configuration settings for the as
info page.
2010-10-21 20:34:29 +00:00
dim
7f695928d2 Update ldscript extension list. 2010-10-21 20:33:09 +00:00
dim
6db154aa45 Use one file per line in SRCS= definition, to make insertions and
deletions easier, and sort the file list.
2010-10-21 20:31:59 +00:00
dim
9931672781 Apply upstream changes to genscripts.sh, while attempting to keep the
diff as small as possible.
2010-10-21 20:30:35 +00:00
dim
572502042a Remove weird double-pasted sections in armelfb?_fbsd.sh. 2010-10-21 20:29:16 +00:00
dim
49079515f5 Regenerate config.h for ld. 2010-10-21 20:28:23 +00:00
dim
c7123c63d6 Remove bignum-copy.c from SRCS=, as it no longer exists. Remove
tc-sparc-fixed.c entirely, since the fix has been integrated into
contrib/binutils/gas/config/tc-sparc.c by upstream.  Define TARGET_OS
in addition to the other TARGET_XXX defines.
2010-10-21 20:27:40 +00:00
dim
1f8e7a06a3 Use one file per line in SRCS= definition, to make insertions and
deletions easier, and sort the file list.
2010-10-21 20:23:53 +00:00
dim
22c7440029 Regenerate config.h for as. 2010-10-21 20:22:32 +00:00
dim
5c7ebb5add Add new upstream file, and update TARGET definition. 2010-10-21 20:21:36 +00:00
dim
e2965bd980 Use one file per line in SRCS= definition, to make insertions and
deletions easier, and sort the file list.
2010-10-21 20:20:33 +00:00
dim
98865e313d Regenerate config.h for libbinutils. 2010-10-21 20:18:34 +00:00
dim
82ee80ccd7 Update BFD version and date, and add new upstream files. Also remove
the elf32-arm-fbsd.c kludge; it is now integrated cleanly into
contrib/binutils/bfd/elf32-arm.c.
2010-10-21 20:17:13 +00:00
dim
7e6c84d6b2 Use one file per line in SRCS= definition, to make insertions and
deletions easier, and sort the file list.
2010-10-21 20:08:16 +00:00
dim
5881c34a84 Regenerate bfd.h and config.h.fbsd. 2010-10-21 20:04:28 +00:00
dim
57183c9e77 Add new upstream file to libiberty. 2010-10-21 20:02:47 +00:00
dim
f51e1e2499 Use one file per line in SRCS= definition, to make insertions and
deletions easier.
2010-10-21 20:01:21 +00:00
dim
6a817821b9 Update binutils VERSION define for 2.17, and create separate
TARGET_VENDOR and TARGET_OS defines.  Set TARGET_TUPLE from
BINUTILS_ARCH, TARGET_VENDOR and TARGET_OS.
2010-10-21 19:58:20 +00:00
dim
ba43e0ffe7 Update the BFD and binutils version defines. 2010-10-19 20:17:17 +00:00
dim
90edd39efd Garbage collect gnu/usr.bin/binutils/{gasp,gdb,gdbreplay}, as these have
not been connected to the build for 6 years now.
2010-10-18 21:04:55 +00:00
dim
99b805c09e Do not build or install gasp.info anymore, as gasp is obsolete. 2010-10-18 20:59:46 +00:00
jh
cb22974c8d Add FreeBSD 8.2.
Reviewed by:	ru
MFC after:	3 days
2010-10-14 14:48:11 +00:00
delphij
db4ea844fd Add definition for FreeBSD 7.4, which will be used in a manual page change.
Reviewed by:	ru
MFC after:	3 days
2010-10-06 18:20:07 +00:00
gordon
042e7c1702 Retire GNU man in favor of the newly written BSDL version.
Approved by:	wes (mentor)
2010-10-03 22:24:14 +00:00
rpaulo
c183b15af9 Remove target peigen.c so that make doesn't warn us about it. 2010-09-30 07:12:09 +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
emaste
1efa60231a Move test for zero bufp or size before rseq and wseq calculation. This
avoids spinning in an infinite loop for some (possibly corrupt?) core
files at work.
2010-09-22 19:41:01 +00:00
dim
0f23475721 When building world with clang, for gnu/lib/libobjc, sys/boot/i386/boot2
and sys/boot/pc98/boot2, do not simply assign 'gcc' to CC, since compile
flags are sometimes passed via this variable, for example during the
build32 stage on amd64.  This caused the 32-bit libobjc build on amd64
to fail.

Instead, only replace the first instance of clang (if any, including
optional path) with gcc, and leave the arguments alone.

Approved-by:	rpaulo (mentor)
2010-09-21 21:41:45 +00:00
tijl
697336483f GCC defines built-ins for atomic instructions found on i486 and higher.
Because FreeBSD no longer supports the 80386 cpu all code targeting
FreeBSD/i386 necessarily runs on i486 or higher so the compiler
built-ins can be used by default inside libstdc++ and in C++ headers.
This allows newly compiled C++ code to inline some atomic operations.
Old binaries continue to use libstdc++ functions.

PR:		148926
Tested by:	Yuri Karaban <tech askold net>
Reviewed by:	kan
Approved by:	kib (mentor)
MFC after:	2 weeks
2010-09-07 08:33:17 +00:00
dim
91d6577035 Use a more robust way to substitute gcc for clang, when compiling
gnu/lib/libobjc and sys/boot/i386/boot2, so it also works when using
absolute paths and/or options, as in CC="/absolute/path/clang -foo".

Approved by:	rpaulo (mentor)
2010-08-31 17:33:29 +00:00
nwhitehorn
02bb2a078e Repair some build breakage introduced in r211725 and garbage collect some
code made obsolete in the same commit.
2010-08-28 15:03:11 +00:00
imp
177089b4f1 Create a checklist and call one of the *printw() functions from the
selected() callback. When the dialog first appears, you will not see
the printed statement on the dialog, if you move down one, you will,
move up again and it now appears. I am assuming that you call a
*printw() function on a line in the dialog box of course.

The fix, from the pr:
	This is a hack at best, I looked at the redraw code in
	dialog_checklist() and took the minimal amount of it out to do
	a simple "refresh" right after the items are drawn. This
	doesn't hurt anything and makes the library work like it
	should. There is probably a better way however =).

PR:		148609
Submitted by:	John Hixson
2010-08-24 06:30:46 +00:00
imp
c3a399c4ba MFtbemd:
Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want
to test of all the CPUs of a given family conform.
2010-08-23 22:24:11 +00:00
gabor
415098b7a0 - Change default grep back to GNU version. BSD grep can be built with the
WITH_BSD_GREP knob.
- Bump __FreeBSD_version

Requested by:   dougb
Approved by:    delphij (mentor)
2010-08-23 10:04:26 +00:00
rpaulo
6787401fc4 We need to pull bsd.own.mk before modifying the CC variable. Otherwise
it will be overwritten when we include bsd.lib.mk.

Pointed out by:	Dimitry Andric <dimitry at andric.com>
2010-08-21 14:59:37 +00:00
will
10d63a94a9 Fix buildworld -DNO_CLEAN when using with Perforce, which marks files as
read-only by default, meaning files copied can't be overwritten next time.

Reviewed by:	imp
Approved by:	ken (mentor)
2010-08-12 20:46:49 +00:00
jhb
04e092db6f Change kgdb_lookup() to resolve symbols via GDB instead of via libkvm(3). 2010-08-04 21:02:04 +00:00
jkim
35e00f225e Give kgdb(1) a chance to take a look at FPU state. 2010-08-02 17:40:25 +00:00
uqs
09e9558b9a Fix case for library macros 2010-08-02 15:33:16 +00:00
rpaulo
9590160d8d Add libproc.
Sponsored by:	The FreeBSD Foundation
2010-07-31 14:57:33 +00:00
rpaulo
7d7db1db81 Add librtld_db.
Sponsored by:	The FreeBSD Foundation
2010-07-31 14:36:34 +00:00
avg
e702b156d5 kgdb: correctly map sections to addresses in elf object modules (amd64)
Unlike for modules with dso type, in elf object modules all the sections
have virtual address of zero.  So, it is insufficient to add module base
address to section virtual address (as recorded in section header) to
get section address in kernel memory.
Instead, we should apply the same calculations that are performed by
kernel loaders (in boot code and in kernel) when they lay out sections
in memory.

Discussed with:	jhb, np
MFC after:	3 weeks
2010-07-23 17:21:23 +00:00
rpaulo
d963dff976 Disable building libobjc with clang as it's not yet supported.
Submitted by:	Dimitry Andric <dimitry at andric.com>
2010-07-22 18:49:27 +00:00
marcel
251126898a Sanitize CFLAGS and add WARNS?=2. The hardcoding of -Os -fPIC
as compiler options resulted in an invalid executable on PowerPC.
2010-07-15 02:22:50 +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
bcr
ca3822712e Mention the radiolist option in the man page. It is being listed when
dialog(1) is run without arguments and works as expected. Therefore,
it should be part of the manual as well.

Note: dialog(1) has not been updated for many years and is not actively
maintained at the moment.

PR:             docs/139682
Submitted by:   manolis@
Discussed with: jkim@
MFC after:      2 weeks
2010-07-06 18:06:10 +00:00
kib
af2d069e9b For "thread signal" command, print some information from siginfo when
available.

Suggested by:	davidxu
MFC after:	2 weeks
2010-07-04 12:09:30 +00:00
jchandra
a9f1406947 Add an alignment of 8 for sections in the n32 ABI. The default alignment
of of 4 causes _end to be word aligned, which will be returned by sbrk.

malloc(3), when compiled for n32, expects sbrk to return an 8-byte aligned
value.

Approved by:	rrs (mentor)
2010-06-25 05:07:42 +00:00
kib
056723449a Often reported issue with newer ld is:
error in /usr/lib/crtendS.o(.eh_frame); no .eh_frame_hdr table will be created.

The issue is that crtend is compiled with unwind table, and also it
places the special CIE into the .eh_frame indicating the end of section,
that is located before generated unwind table. New ld has assertion that
verifies that closing CIE is indeed the last CIE, causing the crypting
message to be issued, and refusing to generate dwarf unwind.

Add -fno-asynchronous-unwind-tables to disable unwind table generation
for crtbegin/crtend. While there, disable omitting the frame pointer [1].

Requested by:	kan [1]
Reviewed by:	kan
MFC after:	2 weeks
2010-06-18 11:09:51 +00:00
ae
00535e15c0 Make all tests in libdialog compilable.
Fix coredump in menu3.c.

Approved by:	kib (mentor)
2010-06-15 10:01:49 +00:00
raj
ce1aea1edb Connect FDT infrastructure to the build system.
Reviewed by:	imp
Sponsored by:	The FreeBSD Foundation
2010-06-13 13:02:43 +00:00
jmallett
4fa69f6443 Fix build for O32 systems without a TARGET_CPUTYPE defined. We must default to
MIPS-III because FreeBSD relies on a number of MIPS-III features; the ABI
default would be MIPS-I which we don't intend to support.  Our old default
before I switched to using the ABI default was MIPS32.
2010-06-02 21:15:00 +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
raj
aa901e65a1 Correct dtc version header autogen location.
While there unify brackets usage.
2010-05-25 13:27:55 +00:00
jkim
af364f655a Add a new build option, MAN_UTILS. This option lets you control building
utilities and related support files for manual pages, which were previously
controlled by MAN.  For POLA, the default depends on MAN, i.e., WITHOUT_MAN
implies WITHOUT_MAN_UTILS and WITH_MAN implies WITH_MAN_UTILS.  This patch
is slightly improved by me from:

PR:		misc/145212
2010-05-19 23:56:26 +00:00
obrien
32d515bca0 Non-GCC gcc compatible compilers may provide the same multimedia intrinsic
headers as GCC, but of their own implementation.  So put the GCC ones into
their own header "namespace".

Requested by:	ed
2010-05-12 19:59:32 +00:00
delphij
b520866979 Add FreeBSD 8.1 to known list as it's being referenced by a couple of
manpages already.

MFC after:	3 days
2010-04-29 18:37:56 +00:00
imp
87ed606341 Make this directory more regular. Since it is one we control, use the
freebsd-based names for filenames.  This allows us to eliminate
almost all of the uses of ${MACHINE_ARCH} here to do special things, and
instead we use it to include filenames.  This makes new architectures easier
to support.
2010-04-14 20:31:06 +00:00
uqs
3960614646 mdoc: order prologue macros consistently by Dd/Dt/Os
Although groff_mdoc(7) gives another impression, this is the ordering
most widely used and also required by mdocml/mandoc.

Reviewed by:	ru
Approved by:	philip, ed (mentors)
2010-04-14 19:08:06 +00:00
imp
5e174424d9 Simplify how we select which architectures to add gdbserver for. If
the MD files exist, compile it, otherwise omit it.
2010-04-12 23:35:58 +00:00
ed
543b5e901b Change all our own code to use st_*tim instead of st_*timespec.
Also remove some local patches to diff(1) which are now unneeded.
2010-03-28 13:16:08 +00:00
marcel
a46b38a42f Allow building a cross-kgdb for ia64. 2010-03-26 19:41:40 +00:00
marcel
c7bb7d9511 Handle cross-builds for gdbserver. 2010-03-26 19:40:53 +00:00
delphij
c77aa7eff5 Remove GNU cpio after fix of CVE-2010-0624.
Note that this is actually a no-op for most users, as this GNU
cpio was broken on -HEAD and 8-STABLE since last March until
the recent fix.

FreeBSD 8.0+ uses BSD cpio by default and the code is being
actively maintained.

Blessed by:	kientzle
With hat:	secteam
MFC after:	3 days
2010-03-26 17:02:32 +00:00
imp
36597750de This broke when we went to gnu99 as the default standard. Fix the build
by reverting to the gnu89 standard.
2010-03-24 20:20:28 +00:00
imp
b2778ce6f6 Fix typo in comment 2010-03-19 05:40:47 +00:00
imp
b66fb663ce Make little endian compiles produce little endian binaries on mips.
Submitted by:	neel@
2010-03-05 21:24:41 +00:00
raj
b2f5d383ab Remove stale path reference. 2010-03-05 19:51:02 +00:00
imp
4c7cffa4b9 Make the n32 scripts actually generate, ummm, n32 binaries... <blush>
Submitted by:	jmallet
2010-03-04 04:30:16 +00:00
imp
2da2a3c2f1 Add n32 ABI generators...
Submitted by:	neel, jmallet
2010-03-02 05:43:04 +00:00
raj
956aefe4c5 Provide BSD-style Makefile for the device tree compiler (dtc).
Note it is not connected to the build hierarchy yet.

Sponsored by:	The FreeBSD Foundation
2010-02-28 22:09:09 +00:00
jkim
89265a4363 Initial gdbserver support for amd64. 2010-02-25 21:29:00 +00:00
delphij
60522dd811 POSIX patch(1) would treat -b as different meaning (the functionality
is to be provided by --suffix).  Looking at the usage here in diffutils,
it seems that we can just get rid of the -b .orig stuff.  This resolves
a problem that can triggered if we move toward to a more permissively
licensed patch(1) program.
2010-02-22 22:32:24 +00:00
gabor
fa4f0af78a - Remove GNU bc/dc bits. There has not been any regressions seen after
BSD bc/dc import. It has been tested with make universe that this code
  is not used by anything any more.

Approved by:	delphij (mentor)
2010-02-21 14:28:03 +00:00
rrs
05a9cdef84 These contain JC's patch to get gdb sort of working
on mips. Its not fully done yet but its a start.

Obtained from: JC - c.jayachandran@gmail.com

M    gnu/usr.bin/gdb/kgdb/trgt_mips.c
M    gnu/usr.bin/gdb/arch/mips/init.c
M    gnu/usr.bin/gdb/arch/mips/Makefile
M    gnu/usr.bin/Makefile
M    contrib/gdb/gdb/mips-tdep.h
2010-02-20 17:29:27 +00:00
marcel
17a0352c44 Compile fbsd-threads.c. Threading & TLS support is working just fine. 2010-02-16 16:38:57 +00:00
avg
8e8855f633 kgdb: initialize n_type field of nlist entry for kvm_nlist call
kvm_nlist skips lookup for entries that have n_type != N_UNDF.
N_UNDF happens to be zero, so n_type typically has a correct
value by accident, but not always.
Note: jhb has a patch that replaces kvm_nlist use with direct
gdb parsing.

MFC after:	5 days
X-MFC-Note:	unless jhb commits kvm_nlist => kgdb_parse change
2010-02-13 11:47:04 +00:00
marcel
8d47361a65 Add description for libefi.
Pointed out by: ru
2010-02-09 18:40:40 +00:00
imp
24bb3d4208 Remove alpha support from here too. FreeBSD 6 was the last branch to
support it.
2010-02-03 18:32:29 +00:00
imp
315ddc9fec Remove more traces of the Alpha port. 2010-02-03 18:29:35 +00:00
imp
b1734cfc4a Remove another reference to alpha... 2010-02-03 02:39:08 +00:00
joerg
d42c5f9ad1 Add a libgpib to the list of known .Lb names.
MFC after:	3 days
2010-02-01 20:54:45 +00:00
sepotvin
48300c30dd Use the new PO_CXXFLAGS from r202807 to remove the '-ffunction-sections'
flag when compiling profiled objects as it's ignored by the compiler.
This removes the associated warning for each file compiled.

MFC after:	1 month
2010-01-22 14:09:15 +00:00
gabor
bc4e1f6f87 Replace GNU bc/dc with BSDL versions ported from OpenBSD. They have a good
compatibility level with the GNU counterparts and have shown to be mature
enough. For now, the GNU versions aren't removed from the tree, just detached
from the build.

Sponsored by:		Google Summer of Code 2008
Portbuild run by:	erwin
Approved by:		delphij
2010-01-20 21:30:52 +00:00
ru
d8e1c135e6 Moved the doc-str-Lb-libulog string definition to where it belongs. 2010-01-15 14:05:06 +00:00
ru
7b5fe6ac70 Pull up vendor changes. The following local changes made obsolete:
- Addition of several FreeBSD versions.
- r192561 that attempted to fix UTF-8 issues.
2010-01-15 13:59:50 +00:00
imp
b3ad93c0ea Merge r195030 from project/mips into head by hand:
r195030 | gonzo | 2009-06-25 19:27:31 -0600 (Thu, 25 Jun 2009) | 4 lines
- Switch to libc softfloat from libgcc implementation. The problem
    with latter is that it is not complete, fpsetXXX/fpgetXXX
    functions are missing.
2010-01-08 23:11:23 +00:00
imp
2069f58f7b Merge r195575 and 195530 from projects/mips to head by hand:
r195575 | imp | 2009-07-10 12:24:02 -0600 (Fri, 10 Jul 2009) | 2 lines
quick hack for the problem gonzo is seeing.

r195530 | imp | 2009-07-10 01:18:30 -0600 (Fri, 10 Jul 2009) | 5 lines
Always build all 4 emulators into the mips toolchain.
# I think we have a gcc spec file issue with abi=64 since I have to do other
# hacks to get it mostly kinda right.
2010-01-08 23:09:11 +00:00
imp
ba2a1ed674 Merge from project/mips r195021:
r195021 | gonzo | 2009-06-25 18:44:23 -0600 (Thu, 25 Jun 2009) | 2 lines
- Add MIPS to the list of 32-bit architectures
2010-01-08 23:06:56 +00:00
imp
b5ce10f6a4 Back-merge (by hand) r195668:
r195668 | gonzo | 2009-07-13 17:01:12 -0600 (Mon, 13 Jul 2009) | 3 lines
- Get rid of ugly TARGET_CPU_DEFAULT default. 16 is MASK_DSP
    and was set there due to my ignroance.
2010-01-08 23:02:17 +00:00
kan
4c54179e42 Fix one spelling and one copy&paste error in comments. 2009-12-14 01:51:23 +00:00
kan
b21fdb8327 Compile libgcov without stack protection. It can be linked into
both static and dynamic binaries compiled with or without stack
protection and should not depend on libssp_nonshared.a symbols.

Discussed with: kib
PR:		bin/139052
2009-10-25 15:52:31 +00:00
alc
5c512a8fb8 Add FreeBSD 7.2 and 7.3.
Discussed with:	ru
2009-09-21 17:19:36 +00:00
sepotvin
14cc0cbfb3 The buffer returned by fgenln is not a "C" string and might not be NUL
terminated. Make sure that it is before using it.

Reviewed by:	marck@
MFC after:	3 days
2009-09-16 19:53:29 +00:00
ed
070a590e2d Add support for diffs generated by Perforce.
It basically picks the filenames from the "====" line and strips off the
# revision number.
2009-08-23 12:23:24 +00:00
kensmith
7b24458561 Make head 9.0-CURRENT in preparation for lifting code freeze.
Approved by:	re (implicit)
2009-08-22 23:44:37 +00:00
kensmith
9c2c634ee9 Bump the version of all non-symbol-versioned shared libraries in
preparation for 8.0-RELEASE.  Add the previous version of those
libraries to ObsoleteFiles.inc and bump __FreeBSD_Version.

Reviewed by:    kib
Approved by:    re (rwatson)
2009-07-19 17:25:24 +00:00
kan
ef443476d9 Second attempt at eliminating .text relocations in shared libraries
compiled with stack protector.

Use libssp_nonshared library to pull __stack_chk_fail_local symbol into
each library that needs it instead of pulling it from libc. GCC
generates local calls to this function which result in absolute
relocations put into position-independent code segment, making dynamic
loader do extra work every time given shared library is being relocated
and making affected text pages non-shareable.

Reviewed by:        kib
Approved by:        re (kib)
2009-07-14 21:19:13 +00:00
kan
a3faeb1b41 Back out previous revision until better tested fix is ready.
Approved by: re (impliciti, by approving previos check-in)
2009-06-29 01:33:59 +00:00
kan
f780ef8f19 Eliminate .text relocations in shared libraries compiled with stack protector.
Use libssp_nonshared library to pull __stack_chk_fail_local symbol into
each library that needs it instead of pulling it from libc. GCC generates
local calls to this function which result in absolute relocations put into
position-independent code segment, making dynamic loader do extra work everys
time given shared library is being relocated and making affected text pages
non-shareable.

Reviewed by:        kib
Approved by:        re (kensmith)
2009-06-28 23:51:39 +00:00
jamie
7c0019fd30 Add libjail, a (somewhat) simpler interface to the jail_set and jail_get
system calls and the security.jail.param sysctls.

Approved by:	bz (mentor)
2009-06-24 18:18:35 +00:00
kan
59210f78f4 Compile static gcov library with -fPIC to match what stock GCC builds
are doing. This is required for libgcov.a to be usable on amd64.

Reported by:	stas
2009-06-21 01:54:47 +00:00
brian
e383d8fcc0 Don't set $PATH - if the caller doesn't have /bin and /usr/bin in their
PATH then they can expect things to break.

PR:		135417
MFC after:	3 weeks
2009-06-14 06:09:33 +00:00
sepotvin
e89e15c13d Change the internal buffer used to store input lines from a static buffer
to a dynamically allocated one in order to support input lines of
arbitrary length.

Approved by:	kan (mentor)
MFC after:	1 month
2009-05-08 02:18:46 +00:00
das
6335284962 Fix build breakage due to the interplay between r189801 and r189824.
In particular, vendor sources that aren't ready for gnu99 should
still be compiled with gnu89. (Before r189824, these would have
generated warnings if you tried to compile them in gnu99 mode,
but the warnings went unheeded due to -Wno-error.)
2009-03-14 22:50:03 +00:00
das
b739b3fb48 Define a macro for POSIX.1-2008 here until a future groff import
includes one.
2009-02-28 05:47:41 +00:00
ru
9d424734ae Restore the install location of libssp.so.0.
Noticed by:	tegge
2009-02-24 16:14:15 +00:00
raj
124e83aa64 Initial gdbserver support for PowerPC.
Obtained from:	Juniper Networks, Semihalf
2009-02-23 18:22:49 +00:00
ru
21f7074ade Fix build when WITH_SSP is set explicitly.
Submitted by:	Jeremie Le Hen
2009-02-21 15:04:31 +00:00
jkim
56ef1bde13 Honor WITHOUT_INSTALLLIB in some places. 2009-02-13 16:51:36 +00:00
obrien
6eaf14ce79 For files not named on the command line, only the basename is compared
to the exclude pattern.
Change this so that "grep --exclude='*/.svn/*' -[Rr] foo *" DWIM.

Obtained from:	dave+news001@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (Dave Gibson)
Obtained from:	comp.unix.questions [Thu, 15 Mar 2007 18:54:38 +0000]
Obtained from:	http://unix.derkeiler.com/Newsgroups/comp.unix.questions/2007-03/msg00046.html
2009-01-30 00:22:08 +00:00
imp
9e74a27aaf There's no need to redundantly redefine atomicity.h. 2008-12-31 07:39:23 +00:00
kensmith
6bb95353d1 Remove the /usr/X11R6 paths. It has been long enough since the X stuff
moved to /usr/local.

Checked with:	des (last person to have fiddled with this)
MFC after:	1 month
2008-12-30 16:00:36 +00:00
ru
e4a91d0d4e Added FreeBSD 6.4. 2008-12-13 16:13:37 +00:00
ru
fbfa65ab18 Added FreeBSD 7.1. 2008-12-13 15:47:46 +00:00
imp
feb07c8eb0 Push mips support into the tree. 2008-12-11 08:20:34 +00:00
imp
0ca6a3767d Push mips support for ld into the tree. 2008-12-11 08:18:45 +00:00
imp
0c666bc344 Push mips support for as into the tree. 2008-12-11 08:15:14 +00:00
kib
2e6f1edb43 Add strndup(3) prototype to string.h.
This change was erronously ommitted from the r185690, and attempt
to simply add the prototype to string.h has revealed that several
contributed programs defined local prototypes for strndup(), controlled
by autoconfed config.h. So, manually change #undef HAVE_STRNDUP to
#define HAVE_STRNDUP 1. Next import of the corresponding program would
regenerate config.h, overriding the changes in this commit.

No objections from: kan
2008-12-08 21:04:24 +00:00
raj
1aa21acd61 Initial gdbserver support for ARM.
Obtained from:	Juniper Networks, Semihalf
2008-11-17 16:32:57 +00:00
obrien
85d2767d87 Document what the sed trick is for.
Remove an embedded <TAB>, and use same style for both files.
2008-10-16 18:09:27 +00:00
des
672635f2e1 Enable UTF-8.
MFC after:	1 week
2008-10-08 13:16:20 +00:00
jhb
4c38b5e473 Oops, initialize sections and sections_end to NULL.
Submitted by:	Navdeep Parhar
MFC after:	1 week
2008-10-02 20:42:10 +00:00
marcel
bf71ce19ad Revert previous commit. The prototype has been moved to unistd.h 2008-09-28 19:17:54 +00:00
kib
802c3a1015 Differentiate between interrupt frames, trap interrupt frames and timer
frame in the kgdb, to allow it to properly backtrace over the interrupt
stacks.

Noted and reviewed by:	tegge
Tested by:	pho
MFC after:	1 week
2008-09-27 15:58:37 +00:00
marcel
3173a02aff Add -D_OSRELDATE_H to CFLAGS to prevent the declaration of
getosreldate() in assembler source files. We still get the
definition of __FreeBSD_version this way, because it's
outside the standard multiple-inclusion protection trick.

All this is specific to ia64.
2008-09-26 15:00:18 +00:00
jhb
b0ece4017c Use existing GDB routines for parsing the section table of klds in
the 'add-kld' command instead of doing it more by hand.

MFC after:	1 week
2008-09-25 19:32:03 +00:00
sam
9c3d2ffcdf add new build knobs and jigger some existing controls to improve
control over the result of buildworld and installworld; this especially
helps packaging systems such as nanobsd

Reviewed by:	various (posted to arch)
MFC after:	1 month
2008-09-21 22:02:26 +00:00
imp
9a16f2d6a7 MFP4: Add mips to the list of soft-float platforms. 2008-09-19 03:09:36 +00:00
imp
8f084d472e mfp4: sort the architectures alphabetically... 2008-09-19 02:30:22 +00:00
imp
6758355350 Prefer the patch in p4 to the patch in svn as it properly sorts the
architectures alphabetically.
2008-09-19 01:35:34 +00:00
marcel
cdbf12a91a Widen psaddr_t from uintptr_t to uint64_t. This results in an
ABI change on ILP32 platforms and relating to events.  However
it's harmless on little-endian ILP32 platforms in the sense
that it doesn't cause breakages.  Old ILP32 thread libraries
write a 32-bit th_p and new thread libraries write a 64-bit
th_p.  But due to the fact that we have an unused 32-bit data
field right after th_p and that field is always initialized to
zero, little-endian ILP32 machines effectively have a valid
64-bit th_p by accident. Likewise for new thread libraries and
old libthread_db: little endian ILP32 is unaffected.

At this time we don't support big-endian threaded applications
in GDB, so the breakage for the ILP32 case goes unnoticed.
2008-09-14 16:52:42 +00:00
obrien
f18a1ee8d4 Add FreeBSD/MIPS support to GCC. 2008-09-01 18:46:03 +00:00
obrien
1a39c79ce0 GDB isn't building on MIPS. Temporarily disable, to revisit soon. 2008-09-01 18:18:19 +00:00
obrien
1da46bec02 Turn cc_tools/Makefile and Makefile.tgt into a "linear" read. Shared
parts of the configuration aren't duplicated, and arch-specific exceptions
are made "in-place".  Also clean up the FreeBSD/amd64 config a little.
2008-08-31 23:38:28 +00:00
rpaulo
1507ef638c Enable EFI target.
While there, make use of the DEFAULT_VECTOR variable.
2008-08-31 09:17:27 +00:00
dfr
ea3d7030c0 Add an implementation of the RPCSEC_GSS authentication protocol for RPC. This
is based on an old implementation from the University of Michigan with lots of
changes and fixes by me and the addition of a Solaris-compatible API.

Sponsored by:	Isilon Systems
Reviewed by:	alfred
2008-08-06 14:02:05 +00:00
cognet
6c9ce7fd8f Unbreak the arm build, by spelling LIBSRCS correctly. 2008-08-02 12:33:39 +00:00
cognet
ae19dcc9d4 Do not build fbsd-threads.c if we're building a cross-debugger.
MFC after:	3 days
2008-08-02 01:21:04 +00:00
peter
5fd3bac82e Merge gnu cpio 2.6 -> 2.8 changes. Unfortunately, we have massive
conflicts due to radically different approaches to security and bug fixes.
In some cases I re-started from the vendor version and reimplemented our
patches.  Fortunately, this is not enabled by default in -current.
2008-07-10 02:08:00 +00:00
obrien
b8058c375a Instead of using .POSIX:, use the cool looking "@:" rule.
Submitted by:	ru
2008-06-27 14:59:23 +00:00
ru
8735fdbd4c Enable GCC stack protection (aka Propolice) for userland:
- It is opt-out for now so as to give it maximum testing, but it may be
  turned opt-in for stable branches depending on the consensus.  You
  can turn it off with WITHOUT_SSP.
- WITHOUT_SSP was previously used to disable the build of GNU libssp.
  It is harmless to steal the knob as SSP symbols have been provided
  by libc for a long time, GNU libssp should not have been much used.
- SSP is disabled in a few corners such as system bootstrap programs
  (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves.
- It should be safe to use -fstack-protector-all to build world, however
  libc will be automatically downgraded to -fstack-protector because it
  breaks rtld otherwise.
- This option is unavailable on ia64.

Enable GCC stack protection (aka Propolice) for kernel:
- It is opt-out for now so as to give it maximum testing.
- Do not compile your kernel with -fstack-protector-all, it won't work.

Submitted by:	Jeremie Le Hen <jeremie@le-hen.org>
2008-06-25 21:33:28 +00:00
jhb
7941cfc256 Catch up to recentish kgdb changes:
- Use ptid_get_pid() rather than ptid_get_tid() (part of the changes to
  let 'tid' work for remote kgdb).
- Add a stub kgdb_trgt_new_objfile() hook.

Silence from:	obrien, mips@
2008-06-18 14:23:28 +00:00
kan
c4c883e016 Install extra include files that were forgotten in original GCC 4.2.x
import changes.

PR: 124647
Submitted by: Vlad GALU
MFC after: 2 days
2008-06-16 22:49:30 +00:00
dougb
aab693d38c 1. Make the BSD version of cpio the default [1]
a. The BSD version will be built and installed unless
WITHOUT_BSD_CPIO is defined.
b. The GNU version will not be built or installed unless
WITH_GNU_CPIO is defined. If this is defined, the symlink
in /usr/bin will be to the GNU version whether the BSD
version is present or not.

When these changes are MFCed the defaults should be flipped.

2. Add a knob to disable the building of GNU grep. This will
make it easier for those that want to test the BSD version in
the ports.

Approved by:	kientzle [1]
2008-06-16 05:48:15 +00:00
kientzle
1d799de2f6 Install GNU cpio as 'gcpio', symlink to 'cpio' unless WITH_BSDCPIO is
defined.
2008-05-26 17:21:12 +00:00
obrien
aa024cf591 Add Juniper's copyright. 2008-05-20 22:58:47 +00:00
obrien
f8f3b5f095 MIPS arch target kgdb(1) support.
Obtained from: Juniper Networks.
2008-05-20 22:54:42 +00:00
ru
8a63cc8d3e Add support for bzip2-compressed manpages.
PR:		bin/120730
Submitted by:	ighighi AT gmail DOT com
MFC after:	1 week
2008-05-14 17:18:12 +00:00
ru
0cdbf64f06 Add an ability to run man(1) on local files (the argument should
contain a `/' character); based on the submission in the PR.

PR:		bin/120730
MFC after:	1 week
2008-05-14 17:08:31 +00:00
jhb
0d214b5df6 Trim unneeded header. 2008-05-09 19:00:40 +00:00
dfr
be0348cb75 Fix conflicts after heimdal-1.1 import and add build infrastructure. Import
all non-style changes made by heimdal to our own libgssapi.
2008-05-07 13:53:12 +00:00
jhb
7330257bc6 Go back to fondling FILE internals. 2008-05-05 16:12:28 +00:00
marcel
30e27ea7fd Lower WARNS to avoid warning about type-punned casting. 2008-05-04 04:13:35 +00:00
marcel
0e04be0196 Unbreak build: gnu sort has been configured to grope inside struct
__sFILE. It's opaque now, so add a function that returns the pending
output bytes.

Pointy hat: jhb
2008-05-03 23:36:00 +00:00
gonzo
bee6ac39c3 Add MIPS to the list of "no TLS" architectures.
Approved by:	cognet (mentor)
2008-05-03 21:24:28 +00:00
jhb
97b58ed175 - Change how the vmcore target maps FreeBSD thread IDs to GDB ptids. We
now only use the TID and ignore the PID and use pid_to_ptid() to build a
  ptid treating the TID as a PID.  The benefit of this is that the vmcore
  target now uses the same scheme as GDB's remote targets.  As a result,
  the 'tid' command now works for remote targets (however, it only accepts
  TIDs and not addresses of 'struct thread' objects).
- Use gdb_thread_select() to do the actual thread switch for the 'tid' and
  'proc' commands.  This now gives the same UI feedback when switching
  threads as the GDB 'thread' command rather than providing no visual
  output at all.

MFC after:	1 week
2008-05-01 20:36:48 +00:00
jhb
2f2328129f Rework how kgdb manages kernel and vmcore files to be a bit more gdb-ish
so that kgdb can be used more like a normal gdb:
- Load the kernel via the standard 'exec' target and allow it to be changed
  via the 'file' command.
  - Instead of explicitly loading the kernel file as the mail symbol file
    during startup, just pass it to gdb_main() as the executable file.
  - Change the kld support (via shared libraries) to cache the address of
    the linker_files and linker_kernel_file variables in addition to the
    offsets of various members in 'struct linker_file'.
  - When a new symbol file is loaded, recompute the addresses and offsets
    used by the kld support code.
  - When a new symbol file is loaded, recalculate the ofs_fix variable to
    account for the different ways a trapframe can be passed to trap
    frame handlers in i386.  This is done by adding a MD
    kgdb_trgt_new_objfile() hook that is empty on all but i386.
  - Don't use the directory name of the kernel specified on the command
    line to find kernel modules in the kld support code.  Instead,
    extract the filename of the current executable via exec_bfd.  Now
    the 'kernel' variable is private to main.c again.
  - Make the 'add-kld' command explicitly fail if no executable is loaded.
- Make the support for vmcores a real core-dump target that opens the
  kernel and vmcore on open and closes the kvm connection when closed, etc.
  - The 'core' command can now be used to select a vmcore to use, either
    a crash dump file or /dev/mem for live debugging.
  - The 'detach' command can be used to detach from a vmcore w/o attaching
    to a new one.
  - kgdb no longer explicitly opens a core dump during startup and no longer
    has to use an atexit() hook to close the kvm connection on shutdown.
  - Symbols for kld's are automatically loaded anytime a core is opened.
    Also, the unread portion of dmesg is dumped just as it was done on kgdb
    startup previously.
- Don't require either a remote target or core dump if a kernel is specified.
  You can now just run 'kgdb kernel' similar to running gdb on an executable
  and later connect to a remote target or core dump.
- Use a more relaxed way to verify remote targets specified via -r.
  Instead of explicitly allowing a few non-file target specifications,
  just assume that if stat() on the arg and on "/dev/" + arg both fail
  that is some non-file target and pass it to gdb.
- Don't use a custom interpreter.  The existing kgdb_init() hook and the
  target_new_objfile() hook give us sufficient hooks during startup to
  setup kgdb-specific behavior now.
- Always add the 'proc', 'tid', and 'add-kld' commands on startup and not
  just if we have a core dump.  Currently the 'proc' and 'tid' commands do
  not work for remote targets (I will fix at least 'tid' in the next round
  of changes though).  However, the 'add-kld' command works fine for
  loading symbols for a kernel module on a remote target.
- Always setup the 'kld' shared library target operations instead of just
  if we have a core dump.  Although symbols for kernel modules are not
  automatically loaded when connecting to a remote target, you can do
  'info sharedlibrary' after connecting to the remote target and kgdb will
  find all the modules.  You can then use the 'sharedlibrary' command to
  load symbols from the module files.
- Change kthr_init() to free the existing list of kthr objects before
  generating a new one.  This allows it to be invoked multiple times
  w/o leaking memory.

MFC after:	1 week
2008-04-29 20:32:45 +00:00
jhb
23778603b0 - Add a global variable 'fbsdcoreops_suppress_target' that can be set to
force the FreeBSD multithreaded core target to not register any target
  for handling core dumps.  This is analogous to the
  'coreops_suppress_target' variable that GDB provides for suppressing the
  default core dump target.  KGDB will use this new variable so it can
  provide its own core dump target that uses libkvm to work with vmcore
  files.
- Adjust the long name and documentation of the FreeBSD multithreaded core
  dump target so it better matches what GDB's core dump target uses.

MFC after:	1 week
Reviewed by:	davidxu, marcel
2008-04-29 17:47:25 +00:00
jhb
4f05acb924 Use kgdb_parse() instead of libkvm(3) to read the first instruction from
"calltrap" to see which method is used to pass trap frames.  This seg
faulted on remote gdb connections (where libkvm isn't used).

MFC after:	3 days
2008-04-28 18:27:19 +00:00
jhb
42c3982ca9 Remove the 'add_kld_command' arg from load_kld(). It is always true since
the auto-loading of kld's switched to hooking into gdb's shared library
support.

MFC after:	1 week
2008-04-28 15:26:11 +00:00
imp
b568c603bc FreeBSD/mips gdb build suspport. From the mips2-jnpr branch. 2008-04-26 12:22:46 +00:00
linimon
3b0d168864 Add 'arm' category.
Approved by:	peter
2008-04-23 03:05:31 +00:00
marcel
c2731a3a95 Add support for the 32-bit EFI target. 2008-04-17 23:36:35 +00:00
jhb
cb2ee2cc92 Change kgdb_parse() to use wrapped versions of parse_expression() and
evaluate_expression() so that any errors are caught and cause the function
to return to 0.  Otherwise the errors posted an exception (via longjmp())
that aborted the current operation.  This fixes the kld handling for
older kernels (6.x and 7.x) that don't have the full pathname stored in
the kernel linker.

MFC after:	3 days
2008-03-29 17:46:03 +00:00
jhb
834e2b5e85 Initialize the head pointer in kld_current_sos() to NULL to avoid returning
a junk pointer and possibly causing a seg fault if we don't have any
non-kernel klds (or are unable to walk the list due to core / kernel
mismatch).

MFC after:	1 week
2008-03-29 03:48:06 +00:00
obrien
e08a03d64d Re-enable the CVS build. 2008-03-19 15:21:44 +00:00
obrien
aec77fd0a6 Update for version 1.11-20080310.
Make our changes to CVS_RSH & CVS_SSH settings here instead of
  contrib/cvs/src/cvs.h.
2008-03-19 15:19:42 +00:00
obrien
3a66110137 + Make it clear this was taken from the CVS 1.11 branch on 10-March-2008.
+ Depend on $CVSDIR/configure also - so things get properly remade if we tweak.
2008-03-19 15:18:03 +00:00
obrien
e8e07ec017 Disable CVS build. 2008-03-19 14:44:48 +00:00
ru
d9f8b4ad27 Set AR=gnu-ar and RANLIB=gnu-ranlib on systems where we are forced
to use GNU tools.  Remove the _WITH_GNUAR knob.

Prodded by:	obrien
2008-03-02 11:10:46 +00:00
jhb
cc99de551e Remove a stale prototype I missed when converting the kld support over to
hooking into gdb's shared library infrastructure.
2008-02-25 22:04:07 +00:00
ru
26039ac217 Make again BSD ar(1) the default system ar(1), now properly handling
source upgrades by falling back to GNU ar(1) as necessary.  Option
WITH_BSDAR is gone.  Option _WITH_GNUAR to aid in upgrades is *not*
supposed to be set by the user.

Stop bootstrapping BSD ar(1) on the next __FreeBSD_version bump, as
there are no known bugs in it.  Bump __FreeBSD_version to anticipate
this and to flag the switch to BSD ar(1), should it be needed for
something.

Input from:	obrien, des, kaiw
2008-02-25 16:16:17 +00:00
raj
69575dab52 Let PowerPC world optionally build with -msoft-float. For FPU-less PowerPC
variations (e500 currently), this provides a gcc-level FPU emulation and is an
alternative approach to the recently introduced kernel-level emulation
(FPU_EMU).

Approved by:	cognet (mentor)
MFp4:		e500
2008-02-24 19:22:53 +00:00
ru
9fc47ab891 Bump the default .Os version to FreeBSD 8.0. 2008-02-23 19:27:54 +00:00
obrien
8c2ca3d81c If 'WITH_BSDAR' is defined, install as gnu-<util_name>. 2008-02-21 16:59:02 +00:00
kaiw
f9499adf5b Back out previous commit. Restore Binutils ar as default. Disconnect
'BSD' ar to the build.

Requested by: 	des
2008-02-21 16:12:46 +00:00
kaiw
e949f3109e * Connect ar(1) to the build and make it default ar. Rename GNU
binutils ar and ranlib to gar and granlib, respectively.

* Introduce a temporary variable WITH_GNUAR as a safety net.
When buildworld with -DWITH_GNUAR, GNU binutils ar and ranlib
will install as default ones and 'BSD' ar will be disabled.

* Bump __FreeBSD_version to reflect the import of 'BSD' ar(1).

Approved by:		 jkoshy (mentor)
2008-02-21 11:21:29 +00:00
ru
2aa5a61fd3 getopt(3) returns -1, not EOF. 2008-02-19 07:09:19 +00:00
jhb
890a8204e8 - Rework the kld support to hook into GDB's shared library support.
kgdb(8) now treats kld's as shared libraries relative to the kernel
  "binary".  Thus, you can use 'info sharedlibrary' to list the kld's
  along with 'sharedlibrary' and 'nosharedlibrary' to manage symbol
  loading and unloading.  Note that there isn't an easy way to force GDB
  to use a specific path for a shared library.  However, you can use
  'nosharedlibrary' to unload all the klds and then use 'sharedlibrary'
  to load specific klds where it gets the kld correct and use
  'add-kld' for the kld's where the default open behavior doesn't work.
  klds opened via 'sharedlibrary' (and during startup) do have their
  sections listed in 'info files'.
- Change the 'add-kld' command to use filename completion to complete its
  argument.
2008-01-29 23:44:34 +00:00
jhb
12a6269e8f Don't close the kernel bfd object during startup. Instead, leave it open
and build a section table from the kernel file so that 'info files' output
for kgdb now matches the usage of gdb on a regular file with the exception
that we don't list sections for memory in the crash dump.
2008-01-29 23:37:59 +00:00
jhb
bddbfed7ec Use target_read_memory() and extract_unsigned_integer() instead of direct
KVM access to read kernel pointers.
2008-01-29 23:36:42 +00:00
jhb
2b547364ab Don't look for "foo.ko.symbols" files. GDB is smart enough to open the
".symbols" file automatically when you tell it to load "foo.ko" because of
the debug link.
2008-01-29 23:36:10 +00:00
jhb
8fe633f266 Use a for loop in find_kld_address() as in kgdb_auto_load_klds() and
replace the remaining goto's with continues as a result.
2008-01-28 21:45:09 +00:00
jhb
a92e1fcff2 Add support for automatically loading symbols for kld's on startup:
- Add a new 'kgdb_auto_load_klds()' routine which is invoked during
  startup that walks the list of linker files and tries to find a matching
  kld on disk for each non-kernel kld.  If a kld file is found, then it
  is added as if the 'add-kld' command is invoked.  One change from
  'add-kld' is that this method attempts to use the 'pathname' from the
  linker_file structure first to try to load the file.  If that fails
  it then looks in the kernel directory followed by the directories in
  the module path.
- Move the kld file suffix handling into a separate routine so that it
  can be called standalone and to reduce duplicate code in find_kld_path().
- Cache the offsets of members of 'struct linker_file' during startup
  instead of computing them for each 'add-kld'.
- Use GDB's target_read_string() instead of direct KVM access.
- Add all resident sections from a kld by using bfd_map_over_sections() to
  build the section list rather than just adding symbols for ".text",
  ".data", ".bss", and ".rodata".
- Change the 'add-kld' command to do a y/n prompt before adding the
  symbols when run interactively to match 'add-symbol-file'.

MFC after:	1 week
2008-01-28 21:40:10 +00:00
jhb
d3871c9ec1 Remove the warnx() from kgdb_lookup() so that we don't emit a warning about
optional symbols that are missing (e.g. kgdb complains about _stoppcbs and
_stopped_cpus on UP kernels).  Instead, callers that really want their
symbols to be present now do explicitly warnx() about the missing symbol.
2008-01-28 20:33:19 +00:00
jhb
df803c74ff If the quiet flag is specified (-q), don't dump the unread portion of
the message buffer on startup.
2008-01-28 20:31:30 +00:00
jhb
6d2956878d Move the code for working with kld's out into its own file. 2008-01-24 19:11:13 +00:00
ru
26a7166ba5 Remove one more alpha leftover. 2008-01-24 07:43:09 +00:00
emaste
3ccc28b1ea Include the thread name (in addition to the proc name) in "info threads." 2008-01-18 18:57:27 +00:00
jhb
7f24f24832 Add a new 'add-kld <kld>' command to kgdb to make it easier to analyze
crash dumps with kernel modules.  The command is basically a wrapper
around add-symbol-file except that it uses the kernel linker data
structures and the ELF section headers of the kld to calculate the
section addresses add-symbol-file needs.

The 'kld' parameter may either be an absolute path or a relative path.
kgdb looks for the kld in several locations checking for variants with
".symbols" or ".debug" suffixes in each location.  The first location it
tries is just opening the specified path (this handles absolute paths and
looks for the kld relative to the current directory otherwise).  Next
it tries to find the module in the same directory of the kernel image
being used.  If that fails it extracts the kern.module_path from the
kernel being debugged and looks in each of those paths.

The upshot is that for the common cases of debugging /boot/kernel/kernel
where the module is in either /boot/kernel or /boot/modules one can merely
do 'add-kld foo.ko'.

MFC after:	1 week
2008-01-17 21:43:12 +00:00
obrien
f0a31230be Use a phony .POSIX target. This seems to be the way to
turn off the stuff in src/usr.bin/make/main.c rev 1.161.
2008-01-16 17:16:36 +00:00
obrien
e5eec05ed2 Use our standard verbose spelling of rules variables.
(as a nice side affect, this will make gnu/usr.bin/cvs/contrib/Makefile
have a later date than contrib/cvs/contrib/Makefile.in - which will help
the build break after the 1.11.22 CVS import...)
2008-01-13 09:45:53 +00:00
obrien
bc09846720 Disable contrib - there is weirdness going on with it. 2008-01-13 08:58:25 +00:00
obrien
b70f24b976 Reenable cvs with the build. 2008-01-13 06:56:31 +00:00
obrien
0526761d4d Disable CVS from the build. 2008-01-13 05:49:03 +00:00
jkoshy
973e739e92 Tweak -lpmc's name. 2007-11-27 10:00:33 +00:00
kensmith
55889a3fe4 While checking over the libraries for 7.0-REL Kris found the following
libraries had not had their versions bumped relative to 6.3-REL but
had indeed been changed.  We need to bump their version so they can be
properly added to the compat6x port:

	libasn1.so.8 libgssapi.so.8 libhdb.so.8 libkadm5clnt.so.8
	libkadm5srv.so.8 libkafs5.so.8 libkrb5.so.8 libobjc.so.2

MFC After:	1 day
2007-11-20 04:20:32 +00:00
ache
86052f1e7e Use LC_ALL=C before awk generating "optionlist"
(and before two other awk calls, just to be safe)
Without it sorting is broken for locales with ASCII collating equivalence
like (v,w) in sv_SE
2007-11-18 11:59:44 +00:00
cognet
6ebbe5e1f8 Add thread support for arm.
MFC After:	1 week
2007-11-17 21:30:03 +00:00
cognet
26544f3861 There's no reason why we couldn't attach to a live process on arm.
MFC After:	1 week
2007-11-17 18:41:04 +00:00
jhb
5b26270d09 Teach kgdb how to handle double fault frames on i386:
- Save td_oncpu in 'struct kthr' so the i386 target code can see which CPU
  a thread is running on.
- Add a new frame unwinder for double fault frames.  This unwinder is used
  when "dblfault_handler" is encountered in the stack.  It uses the CPU of
  the current thread to lookup the base address of the TSS used for the
  double fault from the GDT.  It then fetches the various registers out
  of the TSS similar to how the current trapframe unwinder fetches
  registers out of the trapframe.

MFC after:	3 days
2007-11-16 22:17:37 +00:00
ru
e931a5984e Added ".Lb libkse" support to mdoc(7).
Reviewed by:	deischen, davidxu
2007-10-22 10:01:58 +00:00
ru
fb0e70bcad Introduce FreeBSD 8.0 to mdoc(7). 2007-10-15 08:06:42 +00:00
ru
130dc0a6e8 Back out last commit -- it breaks sparc64 build which has
more than one .c file in SRCS.
2007-10-13 05:50:43 +00:00
obrien
d4ac5dba18 style.Makefile(5) 2007-10-12 18:15:40 +00:00
obrien
c52e58f8fd Minor tweak to finding BEG/END source. 2007-10-12 18:14:41 +00:00
obrien
5847d42878 style.Makefile(5) 2007-10-12 18:03:00 +00:00
obrien
55bf4412df Welcome FreeBSD 8. 2007-10-12 17:49:12 +00:00
rafan
d238007fea - After gcc 4.2 import, include/objc/objc-api.h requires objc-decls.h which
we did not install. Install objc-decls.h to fix.

PR:		116943
Reported by:	beech
Submitted by:	vanilla on -current, kan
MFC after:	1 week
2007-10-12 02:52:46 +00:00
marius
451b3404fc Disable TLS for arm and sparc64 here as binutils 2.15 predate GNU TLS
support for these. This is in line with gnu/lib/libgomp/config.h and
gnu/lib/libstdc++/config.h.

Reviewed by:	cognet, obrien
Approved by:	re (kensmith)
2007-10-08 18:59:34 +00:00
ru
3b7b45908e FreeBSD 6.2 is now known to mdoc.
Approved by:	re (kensmith)
2007-10-04 04:39:06 +00:00
marcel
88e1757c25 Force -O1 compilation when targeted for ia64. GCC 4 generates
bad code at -O2. Since this is likely caused by the low-level
optimizer, testing TARGET_ARCH rather than MACHINE_ARCH should
handle ia64 cross-compilation as well. With this work-around
in place, we can release using the current GCC and Binutils
code at the default optimization level on ia64.

Approved by: re (kensmith)
2007-09-26 01:31:28 +00:00
edwin
c2ea759143 Fix possible uninitialized variable insert due to previous commit.
Pointy hat to: me and my absence of -Wall in my CFLAGS.

MFC will happen at the same time of the earlier commit.

Thanks to ru@ for spotting.

Approved by:	re (Ken Smith), grog@ (mentor)
2007-09-25 21:41:22 +00:00
edwin
4c08b03e8e man(1) can't handle compressed included files.
Some ports will install with compressed manpages. man handles
	this by looking for the .gz version of a man source file.
	It is also common to include other files with the .so
	directive where commands or functions share a man page.
	Traditionally ports have had to handle this by either not
	compressing the manpages, or using the _MLINKS macro in the
	port makefile to create symlinks to the actual source file,
	rather than using .so versions. Notably, the current version
	of Xorg port breaks. See ports/113096 and ports/115845.

PR:		bin/115850
Submitted by:	Callum Gibson <callumgibson@optusnet.com.au>
Approved by:	re@ (ken smith), grog@ (mentor)
MFC after:	1 week
2007-09-20 21:37:29 +00:00
obrien
b96c04d717 Catch up with the demise of /usr/X11R6
Approved by:	re(ken)
2007-09-19 14:21:18 +00:00
obrien
1bfcd498fa Reduce diff to vendor for maintance purposes.
Approved by:	re(ken)
2007-09-19 14:19:32 +00:00
thomas
3e11a3177a In the case of a native build, set NATIVE to yes so that the code circuits
that need to be activated specifically for the case of a native linker
actually are enabled. Specifically, this makes ld(1) look for shared
libraries in LD_LIBRARY_PATH in the native case, as documented in the
man page.

PR:		gnu/96481
Approved by:	re (kensmith)
MFC after:	2 weeks
2007-09-19 12:17:39 +00:00
cognet
c4bc8a1abf Make gcc default to big endian when building it for a big endian target.
This was lost while migrating to gcc4.

Reported by:	Michael Reifenberger <mike at Reifenberger dot com>
Approved by:	re (blanket)
2007-09-18 23:34:42 +00:00
ache
320c840549 Fix stack overflow with too many items return list in 'dialog' program.
(Noticed in ghostscript-gpl core dump)

Approved by:    re@ (bmah)
2007-08-24 16:26:24 +00:00
jhb
f6ef728f95 NMIs now come from 'nmi_calltrap' rather than 'calltrap', so teach 'kgdb'
to treat the frame under 'nmi_calltrap' as a trapframe.

MFC after:	3 days
Approved by:	re (bmah)
2007-08-22 20:28:13 +00:00
kan
2bd799c9ea Install etx/numeric_traits.h.
PR:		gnu/115250
Approved by:	re (blanket)
2007-08-16 23:02:00 +00:00
kan
db6e95501b Remove comment that was added by mistakes and which prevented _eprintf
and gcc_bcmp to be added to static libgcc.a.

Approved by:	re (kensmith)
2007-08-14 20:49:57 +00:00
rafan
5fd49d94d5 - Bump share library version which were missed in last bump
Reported by: 	     jhb
Discussed with:	     deischen, des, doubg, harti
Approved by:	     re (kensmith)
2007-06-18 18:47:54 +00:00
delphij
6a4276ae14 Fix build on arm: time_t on arm is 64 bits while long is
32 bits, so subsequent compile time assertion:

	sizeof inf->stat.st_mtime <= sizeof sec

Would fail because of that.  This change is suitable for
general consumption as well, but fix it in our local
patchset as we are near a code freeze.

Submitted by:	cognet
2007-06-17 00:43:50 +00:00
delphij
33aeb00c4d Update build skeleton after diffutils 2.8.7 update. 2007-06-15 07:09:34 +00:00
philip
c14d50d1f4 Don't lie about saved reports.
PR:		gnu/89777
Submitted by:	edwin
MFC after:	1 day
2007-06-02 18:06:08 +00:00
kan
20dd9c1275 Install omp.h file.
Submitted by:	Pieter de Goeje (pieter at degoejes dot nl)
2007-05-31 13:21:30 +00:00
kan
8343d42419 Fix compiles when user chooses to disable both ObjC and C++ support in
GCC.

Reported by: bz
2007-05-28 00:25:07 +00:00
ru
59fb918e03 Don't forget to clean generated ssp.h. 2007-05-22 10:40:58 +00:00
ru
686c6f6d3e Back out the addition of -static to LDFLAGS; I'm pretty confident
that the build failure was caused by a computer/sources date/time
mismatch that caused GCC tools to be mistakenly rebuilt again at
an inappropriate time during buildworld, re-linking them against
new libraries instead of host's installed libraries and thus making
them not runnable by the host.  Normally they are only built in
the early stage of buildworld (build-tools) that links them against
shared libraries of the host, but if either the system clock or
modification date/time on source files is set incorrectly, make(1)
can be foolished into thinking that tools are stale and will rebuild
them again, now in the "target" environment which is not suitable
for building helper apps that are to be run during buildworld.

OK'ed by:	kan
2007-05-21 12:04:16 +00:00
kan
087655728e Fix the fallout from over-zealous obsolete files removal. Use correct
atomicity.h file for arm and powerpc.
2007-05-19 15:41:01 +00:00
scottl
915908f0ee Work-around for upgrading from a pre-symbol-versioned world.
Blame-to: cperciva
2007-05-19 07:56:08 +00:00
kan
04fe1b9823 Do not compile hash_compat.c. 2007-05-19 05:52:28 +00:00
kan
ebf45ed0c9 Update bmake glue to build GCC 4.2.
Also:
        Switch FreeBSD to use libgcc_s.so.1.

        Use dl_iterate_phdr to locate shared objects' exception frame
        info instead of depending on older register_frame_info machinery.
        This allows us to avoid depending on libgcc_s.so.1 in binaries
        that do not use exception handling directly. As an additional
        benefit it breaks circular libc <=> libgcc_s.so.1 dependency too.

        Build newly added libgomp.so.1 library, the runtime support
        bits for OpenMP.

        Build LGPLed libssp library. Our libc provides our own
        BSD-licensed SSP callbacks implementation, so this library
        is only built to benefit applications that have hadcoded
        knowledge of libssp.so and libssp_nonshared.a. When linked
        in from command line, these libraries override libc
        implementation.
2007-05-19 04:25:59 +00:00
kan
5d4b28ff73 Remove extern int verbose declaration. It is declared static in the
only file it is used in.
2007-05-19 03:23:43 +00:00
kan
5b32f4b96f Fix static/extern mismatch by patching corresponding tdep files
in-place.
2007-05-19 03:22:19 +00:00
marcel
6a4e53f39d Add threading support. 2007-05-01 18:29:34 +00:00
kan
f85d4141ea Minor Makefile cleanup. Do not use Makefile variables named 'version' and
'target'. Latter is problematic in particular as apparently FreeBSD's
bsd.prog.mk re-defines it under some circumstances. This causes an
unexpected failures like -dumpmachine not working for cc while working
fine for c++.

Do not re-define IN_GCC in multipe places, it gets inherited from
Makefile.in anyway.

PR:		gnu/110143
Submitted by:	usleepless at gmail
2007-03-12 00:28:06 +00:00
kib
5b0899cab6 Unbreak the kgdb stepping over the special frames on i386 after rev. 1.117 of
i386/i386/exception.s.

No objections from:	marcel
2007-03-01 13:56:08 +00:00
kib
f680330859 Rename lookup() to kgdb_lookup() and make it global (for use in trgt_i386.c).
No objections from:	marcel
2007-03-01 13:55:15 +00:00
emaste
13b4da30e0 Avoid writing uninitialized stack data into a thread's MMX/SSE state by
first getting the current state with td_thr_getxmmregs_p.  Without this,
debugging a threaded app that uses libthr resulted in kernel panics or
spurious SIGFPEs for me.

(As of revision 1.6, sys/i386/i386/ptrace_machdep.c masks off the
reserved bits in the mxcsr register, which prevents the kernel panics.)

Architectures without PT_GETXMMREGS are not affected.

MFC after:      1 week
2007-02-20 18:10:13 +00:00
marcel
3c925b07d6 Fix PowerPC-targeted cross-builds performed on 64-bit platforms.
Only PowerPC supports both 32-bit and 64-bit targets and the
BFD_DEFAULT_TARGET_SIZE is used by the binutils code to reflect
the preferred ABI. We define BFD_DEFAULT_TARGET_SIZE for all
platforms, but based on the build machine. As such 64-bit build
machines defined BFD_DEFAULT_TARGET_SIZE incorrectly for 32-bit
targets, but since this only affects PowerPC it went unnoticed
for a long time.
The fix is to define BFD_DEFAULT_TARGET_SIZE based on the target
architecture.

PR: amd64/102996
MFC after: 1 month
2007-02-11 07:15:06 +00:00
delphij
6a5f85cc03 Remove GNU gzip left-offs, they are no longer necessary. 2007-01-31 03:44:42 +00:00
delphij
2089860135 Replace the GNU gzip with a slightly modified NetBSD gzip. The
NetBSD version is a feature-to-feature re-implementation of GNU
gzip using the freely-redistributable zlib and this version is
expected to be mostly bug-to-bug compatible with the GNU
implementation.

 - Because this is a piece of mature code and we want to make
   changes so it is added directly rather than importing to
   src/contrib.
 - Connect newly added code to src/usr.bin/ and rescue/rescue
   build.
 - Disconnect the GNU gzip code from build for now, they will
   be eventually removed completely.
 - Provide two new src.conf(5) knobs, WITHOUT_BZIP2_SUPPORT and
   WITHOUT_BZIP2.

Tested by:	kris (full exp-7 pointyhat build)
Approved by:	core (importing a 4-clause BSD licensed file)
Approved by:	re (adding new utility during -HEAD code slush)
2007-01-26 10:19:08 +00:00
rodrigc
5ecf1e9826 Try to avoid a possible infinite loop when parsing an invalid kernel dump file.
PR:		108229
Submitted by:	Jessica Han <jessicah juniper net>
Reviewed by:	marcel
MFC after:	1 week
2007-01-25 06:39:25 +00:00
ache
551798c6ac Change RL_LIBRARY_VERSION 2006-12-31 09:27:16 +00:00
ache
c3c4d6ad1b Update config 2006-12-31 09:26:00 +00:00
ru
f9d1382685 -mdoc knows about FreeBSD 7.0 as well.
Reminded by:	ceri
2006-12-29 06:22:13 +00:00
ru
bdaa38dc41 Markup revision. 2006-12-25 15:09:06 +00:00
ru
0e3b49a9c1 FreeBSD 5.5 is part of official -mdoc. 2006-12-25 09:09:47 +00:00
ru
d5addbe902 Fix markup, remove a dummy BUGS section. 2006-12-24 23:07:11 +00:00
ru
fb5ffbe0ec Add missing articles. 2006-12-23 23:26:05 +00:00
ru
6fdf8489ec Teach mdoc(7) about FreeBSD/arm and FreeBSD 6.3; both needed by the
npe(4) manpage.
2006-12-05 17:01:23 +00:00
jkoshy
62913629e6 MFP4: Add an implementation of the ELF(3) and GELF(3) API set.
Bump __FreeBSD_version.

Reviewed by:	jb
2006-11-11 17:16:35 +00:00
obrien
6e5c698f67 Remove gratuitous white space change. 2006-11-06 02:49:19 +00:00
obrien
7edb659ec4 Allow one to force with issue with 'TARGET_BIG_ENDIAN'. 2006-11-06 02:32:29 +00:00
philip
a64b469a29 Fix vim syntax highlighting. Vim complained about the (comment). The syntax
file is also called "sendpr", not "send-pr".
2006-11-01 12:13:08 +00:00
ru
fc876fdc9e Bump document date for the previous change. 2006-10-21 17:39:35 +00:00
jmg
d571cf9da2 Turn on gdbserver for the arch that supports it.. 2006-10-21 17:27:36 +00:00
jhb
21fce90fb9 Trim trailing whitespace. 2006-10-16 20:07:23 +00:00
jhb
a75ada9559 Restore the 'proc' and 'tid' commands which allow one to switch to the
first thread in a process or to a specific thread via PIDs and TIDs,
respectively.

Submitted by:	kan
Approved by:	marcel
2006-10-16 20:06:32 +00:00
ceri
d16480f34d Update the FILES section which has been wrong for some time.
MFC after:	3 days
2006-10-15 11:50:11 +00:00
ceri
d52521898e Add the sun4v category.
Reminded by:	ru
MFC After:	1 re approval
2006-10-15 11:43:42 +00:00
cognet
f2ac62bb14 Don't build the libgcc with functions already included in the libc to
unbreak the build.
We'll switch back to the libgcc functions and get rid of the libsoftfloat
later.
2006-10-12 16:43:15 +00:00
obrien
30402bd446 Document '-w' from main.c rev. 1.11. 2006-10-11 14:42:43 +00:00
trhodes
cb84ecb15c Add the -P option back, but with a note that it is not supported on FreeBSD.
Requested by:	ru
2006-10-11 09:52:32 +00:00
trhodes
6bf3709af8 grep -P xxx file.txt
"The -P option is not supported"
Removed from the manual page via this commit.

PR:	99831
2006-10-10 01:57:25 +00:00
kmacy
8bcce69475 Temporarily add newer copy of tc-sparc.c to build to
support building of sun4v. This can be removed once
the binutils import happens.

Reviewed by: kan
Approved by: rwatson (mentor)
2006-10-09 04:52:14 +00:00
obrien
25f4754ec5 The ARM platform does the setjmp/longjmp type of exception handling. 2006-10-05 20:55:37 +00:00
imp
8817afd4b7 Enable gdb on the arm. Some time ago I committed it, but had forgotten to
enable it here.

Noticed by: cognet
2006-10-03 00:03:30 +00:00
ru
be4f7e296e Fix build due to the incomplete removal of demangle.h. 2006-09-30 12:52:15 +00:00
kan
c8ba43b1fd Reduce diffs with file generated by FSF configure. 2006-09-22 15:08:07 +00:00
ru
36d936524c Prepare to pick up manpages from their new location. 2006-09-21 07:52:41 +00:00
kan
7f7d9b2692 Bump __FreeBSD_cc_version in case someone cares for differences between
GCC 3.4.4 and GCC 3.4.6 on -current.
2006-09-21 03:27:07 +00:00
simon
a1f5a11feb Correct multiple vulnerabilities in gzip(1).
Security:	FreeBSD-SA-06:21.gzip
2006-09-19 14:06:20 +00:00
imp
3f3c42f60e Add additional support for generating code for the arm. There's still
a few issues in other parts of the tree, but those will be resolved
separately.

Submitted by: cogenet@
Reviewed by: kan@, obrien@
MFC After: 5 days
2006-09-18 17:08:32 +00:00