Commit Graph

4307 Commits

Author SHA1 Message Date
gjb
2cc61d484b MFH r289372-r289382
Sponsored by:	The FreeBSD Foundation
2015-10-15 19:57:13 +00:00
bdrewery
60d1a410e8 Remove directories disconnected since r169718.
MFC after:	1 week
Sponsored by:	EMC / Isilon Storage Division
2015-10-15 19:49:09 +00:00
gjb
609a691ada MFH to r289370
Sponsored by:	The FreeBSD Foundation
2015-10-15 17:36:56 +00:00
ngie
dd1f618367 Refactor the test/ Makefiles after recent changes to bsd.test.mk (r289158) and
netbsd-tests.test.mk (r289151)

- Eliminate explicit OBJTOP/SRCTOP setting
- Convert all ad hoc NetBSD test integration over to netbsd-tests.test.mk
- Remove unnecessary TESTSDIR setting
- Use SRCTOP where possible for clarity

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Divison
2015-10-12 08:16:03 +00:00
bapt
373087d736 Merge from head 2015-10-09 22:45:54 +00:00
sjg
4bbbb6c4f1 Updated depends 2015-10-07 00:43:05 +00:00
bapt
f57d905465 Merge from head 2015-10-01 09:36:43 +00:00
bdrewery
baa76ea3b3 Replace most of the beforeinstall: hack with FILES mechanism.
This now generates the files into the OBJDIR as needed.  Some of the files
are installed directly from the src directory.  Files which are generated
from the src directory are renamed to .in to generate them and avoid
colliding with the checked-in file when CURDIR=OBJDIR.

The remaining beforeinstall: handling still needs to be reworked as it does
not work well with staging for packaging.

MFC after:	2 weeks
Sponsored by:	EMC / Isilon Storage Division
2015-09-30 20:47:27 +00:00
jhb
eba92cd905 When XSAVE support was added on amd64, the FPU save area was moved
out of 'struct pcb' and into a variable-sized region after the
structure. The kgdb code currently only reads the pcb. It does not
read in the FPU save area but instead passes stack garbage as the
FPU's saved context. Fixing this would mean determining the proper
size of the area and fetching it. However, this state is not saved
for running CPUs in stoppcbs[], so the callback would also have to
know to ignore those pcbs. Instead, just remove the call since it is
of limited usefulness. It results in kgdb reporting the state of the
FPU/SIMD registers in userland, not their current values in the kernel.
In particular, it does not report the correct state for any code in
the kernel which does use the FPU and would report incorrect values
in that case.

Reviewed by:	kib
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D3743
2015-09-29 15:47:42 +00:00
bdrewery
79975403f0 Remove redundant .NOPATH.
All of these are already in CLEANFILES which is added to .NOPATH in bsd.obj.mk.

Sponsored by:	EMC / Isilon Storage Division
2015-09-26 14:15:01 +00:00
bdrewery
ccedba20a9 Fix subdir -j build after r287983 by adding missing dependencies.
Sponsored by:	EMC / Isilon Storage Division
2015-09-25 20:31:04 +00:00
bdrewery
2d640e9441 Fix emulation ldscripts not being installed since r131832.
For example, 32bit scripts on 64bit host.

MFC after:	2 weeks
Sponsored by:	EMC / Isilon Storage Division
2015-09-25 20:21:45 +00:00
bdrewery
459799dc3d META_MODE: Remove DEP_MACHINE from Makefile.depend files.
This has not been needed since r246865 in projects/bmake.

Sponsored by:	EMC / Isilon Storage Division
2015-09-25 19:44:01 +00:00
bdrewery
f37faa57f7 META_MODE: Remove DEP_RELDIR from Makefile.depend files.
This has not been needed since r284171 in projects/bmake.

Sponsored by:	EMC / Isilon Storage Division
2015-09-25 19:26:08 +00:00
bdrewery
71fccfc30f Add missing CLEANFILES.
MFC after:	1 week
Sponsored by:	EMC / Isilon Storage Division
2015-09-24 23:15:24 +00:00
bdrewery
22c9fba62b Fix installation of 32bit libraries after r288074.
FILES is not used when LIBRARIES_ONLY is set, which is used to build and
install the lib32 sysroot.  All of the csu files do quality as "libraries"
for this case so just undefine LIBRARIES_ONLY.

This is still better than the previous realinstall handling as it does
not hook into META_MODE properly.

Sponsored by:	EMC / Isilon Storage Division
2015-09-21 21:44:02 +00:00
bdrewery
5b14fc7575 Use SHAREOWN/SHAREMODE/SHAREGRP rather than LIB* as these are plain ASCII
scripts that the linker can load rather than binary library objects.

Effectively no change.

Suggested by:	hrs
2015-09-21 18:52:52 +00:00
bdrewery
3cec2c22f8 Replace realinstall: and META_MODE staging hacks with FILES mechanism.
This partially reverts r270170 for lib/csu/i386 while retaining the
change for using bsd.lib.mk.

These FILES groups could go into lib/csu/Makefile.inc but I've kept them
in the Makefiles for clarity.

Sponsored by:	EMC / Isilon Storage Division
2015-09-21 18:39:13 +00:00
bdrewery
f44f751406 Replace afterinstall: hack with FILES mechanism.
Sponsored by:	EMC / Isilon Storage Division
2015-09-19 03:53:37 +00:00
bdrewery
deb97713e0 Replace beforeinstall: handling with FILES.
This actually fixes some cases to respect LIBRARIES_ONLY.

Sponsored by:	EMC / Isilon Storage Division
2015-09-18 23:49:32 +00:00
bapt
b59c5e751e Merge from head 2015-09-12 11:41:31 +00:00
imp
d5b726610a Remove .WAIT hacks and put in specific dependencies. 2015-08-28 16:23:03 +00:00
imp
56adc9c39f Add another .WAIT since sometimes we lose the race. 2015-08-28 04:32:43 +00:00
imp
82b05ac73a Drop a .WAIT into the list. Items later in the list than this depend
on items earlier. Enable parallel builds.
2015-08-26 02:47:11 +00:00
emaste
828e784833 Roll WITHOUT_ELFTOOLCHAIN_TOOLS into WITHOUT_TOOLCHAIN
The option was added only to ease the transition from GNU Binutils to
ELF Tool Chain tools, and that process is now complete (for the viable
replacements). Noting the removal in UPDATING is sufficient as we have
not shipped a release with the option.

Reviewed by:	brooks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D3240
2015-08-13 17:50:47 +00:00
emaste
ed3ab640c5 Remove old GNU Binutils tools now provided by ELF Tool Chain
Reviewed by:	bapt, brooks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D3238
2015-08-05 18:30:00 +00:00
emaste
32e34ac2b5 Allow ELF Tool Chain elfcopy to be installed as objcopy
ELF Tool Chain elfcopy is nearly a drop-in replacement for GNU objcopy,
but does not currently support PE output which is needed for building
x86 UEFI bits.

Add a src.conf knob to allow installing it as objcopy and set it by
default for aarch64 only, where we don't have a native binutils.

Reviewed by:	bapt
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D2887
2015-07-29 18:45:38 +00:00
bapt
58df5d4a52 Replace GNU RCS ident with a BSD license ident
Rationale: ident(1) is useful out of RCS, lot of scripts are using ident(1) and
failing when base is built WITHOUT_RCS.

This version is:
- fully compatible with RCS 5.7 ident.
- fully compatible with RCS 5.9 ident.
- passes all ident test from GNU RCS 5.9 test suite

This version has support for: svn extension for the Keyword id (double colon and
# before last $)

Différences with GNU RCS ident:
- no long options as found in GNU RCS 5.9 (but not commented there).
- '-V' reports nothing but has been added for compatibility.

Differential Revision:	https://reviews.freebsd.org/D3200
Reviewed by:	pfg
2015-07-26 11:21:36 +00:00
marius
b0e42f970b - Record dependencies of gdb/gdbtui/kgdb on binutils/lib{bfd,iberty,opcodes},
fixing parallel builds.
- Don't build gdb/gdbtui/kgdb or libreadline when MK_BINUTILS is "no" for
  obvious reasons.

MFC after:	3 days
2015-07-19 00:38:19 +00:00
kib
77205a0535 Use single instance of the identical INKERNEL() and PMC_IN_KERNEL()
macros on amd64 and i386.  Move the definition to machine/param.h.
kgdb defines INKERNEL() too, the conflict is resolved by renaming kgdb
version to PINKERNEL().

On i386, correct the lowest kernel address.  After the shared page was
introduced, USRSTACK no longer points to the last user address + 1 [*]

Submitted by:	Oliver Pinter [*]
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2015-07-02 14:37:21 +00:00
bapt
bb8dfd5e7e Merge from head @274131 2015-06-20 00:58:46 +00:00
sjg
852129abd1 new depends 2015-06-16 23:37:19 +00:00
sjg
85bb937a38 Hook extra libs to _LIBS so bsd.lib.mk can do its thing
Differential Revision:	D2843
Reviewed by:	imp
2015-06-16 23:36:20 +00:00
bapt
4c10ae5f0b Move gdb into its own package 2015-06-16 22:25:08 +00:00
bapt
f24ae51a06 Add a bunch of new packages, in particular binutils and groff 2015-06-16 22:06:28 +00:00
bapt
594e07bd1b Revert r284417 it is not necessary anymore 2015-06-15 19:28:07 +00:00
bapt
9fb85ece8b Enforce overwritting SHLIBDIR
Since METAMODE has been added, sys.mk loads bsd.mkopt.mk which ends load loading
bsd.own.mk which then defines SHLIBDIR before all the Makefile.inc everywhere.

This makes /lib being populated again.

Reported by:	many
2015-06-15 15:34:20 +00:00
sjg
f4796e6bf9 Avoid circular dependency with nm 2015-06-14 03:33:27 +00:00
sjg
008d7c831f Add META_MODE support.
Off by default, build behaves normally.
WITH_META_MODE we get auto objdir creation, the ability to
start build from anywhere in the tree.

Still need to add real targets under targets/ to build packages.

Differential Revision:       D2796
Reviewed by: brooks imp
2015-06-13 19:20:56 +00:00
sjg
484f91b8a5 Get rid of some more NO_OBJs
Differential Revision:       D2748
2015-06-12 14:30:27 +00:00
sjg
750b155101 Misc fixes from projects/bmake
Differential Revision:       D2748
Reviewed by: brooks imp
2015-06-11 21:13:05 +00:00
sjg
75a137820d dirdeps.mk now sets DEP_RELDIR 2015-06-08 23:35:17 +00:00
sjg
65145fa4c8 Merge sync of head 2015-05-27 01:19:58 +00:00
bapt
fe042f46ba ntp is now again libreadline free, so only build libreadline for gdb 2015-05-25 20:29:35 +00:00
markm
6050d6baeb Unbreak build where WANT_GDB == "no', as libreadline is also used by ntpdc. 2015-05-25 10:51:40 +00:00
bapt
4ecae4b4dd Garbage collect GNU soelim Makefiles which are not in used anymore 2015-05-18 16:51:05 +00:00
bapt
a6c55c35fa Only build libreadline if gdb is going to be built
gdb is the only consumer of libreadline which is an INTERNALLIB
2015-05-18 16:05:41 +00:00
emaste
175ecf4175 Build libgcov only if we're building base system GCC
Clang uses compiler-rt for the code coverage runtime, and ports GCC
provides its own libgcov.

PR:		200203 (exp-run)
Sponsored by:	The FreeBSD Foundation
2015-05-18 15:02:35 +00:00
emaste
dc3cd85736 Build libgomp only if we're also building base system GCC
Clang's OpenMP support will emit Intel OpenMP API library calls,
and will therefore require libiomp (or whatever name is settled on).
An up-to-date version of libgomp is included in ports or pkg GCC.
Thus, there is no reason to build base libgomp without base system GCC.

PR:		199979 (exp-run)
Reviewed by:	pfg
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D2459
2015-05-15 14:22:33 +00:00
bapt
bf4b130755 Replace groff's soelim by soeliminate(1) renamed soelim(1) 2015-05-01 20:08:25 +00:00
emaste
8a9da57e83 Add ELF Tool Chain's c++filt to the build
Differential Revision:	https://reviews.freebsd.org/D2408
Reviewed by:	brooks, imp
Sponsored by:	The FreeBSD Foundation
2015-04-30 21:30:33 +00:00
pfg
dcbfab84a4 libgomp: bring initial BSD support from upstream.
Initial support for FreeBSD specific routines related to counting
online processors and dynamic load balancing.

Fix "detection" of the <sys/sysctl> header which upstream seems to have
done wrong.

Obtained from:	GCC pre-4.4 branch (rev. 140497; LGPLv2.1+)
2015-04-28 21:32:27 +00:00
pfg
f574c7e44c libgomp: bring early CPU affinity support from FSF GCC-4_3 branch.
This is not likely to make it into a release and is basically disabled
but should still be useful for testing.

Obtained from: GCC pre-4.3 (rev. 123494, 125542; LGPLv2.1+)
2015-04-27 21:27:51 +00:00
andrew
44cd45611c Exclude the floating-point functions from libgcc_s on arm64, they are
unneeded and will be provided by compiler-rt.

Sponsored by:	The FreeBSD Foundation
2015-04-02 17:06:15 +00:00
emaste
bcc7f33561 Switch to ELF toolchain readelf(1)
ELF toolchain readelf lacked some functionality at the time other tools
(like size, strip, nm, etc.) were switched over to the ELF toolchain
versions. That has been addressed as of the last update, so we can add
it to the list.

PR:		198950 [exp-run]
Reviewed by:	bapt, imp, rpaulo
Relnotes:	yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D2156
2015-03-30 17:38:25 +00:00
bapt
4bf7df989e Install manpage version of texinfo documentation for binutils 2015-03-02 17:24:04 +00:00
bapt
f4d100725d Install old texinfo pages in the form of mdoc(7) pages 2015-03-02 11:49:01 +00:00
will
afad9375d8 Add a ${CP} alias for copying files in the build.
Some users build FreeBSD as non-root in Perforce workspaces.  By default,
Perforce sets files read-only unless they're explicitly being edited.
As a result, the -f argument must be used to cp in order to override the
read-only flag when copying source files to object directories.  Bare use of
'cp' should be avoided in the future.

Update all current users of 'cp' in the src tree.

Reviewed by:	emaste
MFC after:	1 week
Sponsored by:	Spectra Logic
2015-01-16 21:39:08 +00:00
bapt
6947e68c2d Add pregenerated documentation for as(1) and ld(1) 2015-01-04 00:58:30 +00:00
ngie
173f714d97 Remove gnu/ info pages to unbreak the build with MK_GCC != no, etc
Reported by: Ivan Klymenko <fidaj@ukr.net>
Reviewed by: bapt
Differential Revision: D1412
2015-01-02 20:34:55 +00:00
bapt
0dcac96dc3 Remove info pages 2015-01-02 19:05:39 +00:00
bapt
2f94824303 Remove GNU texinfo from base along with all info pages.
To be able to info pages consider installing texinfo from ports print/texinfo or
via pkg: pkg install texinfo

Differential Revision:	https://reviews.freebsd.org/D1409
Reviewed by:	emaste, imp (previous version)
Relnotes:	yes
2015-01-02 18:45:03 +00:00
ian
bd1ca6b379 Cleanup up ARM *frame structures...
- Eliminate unused irqframe
 - Eliminate unused saframe
 - Instead of splitting r4-sp storage between the stack and switchframe,
   just put all the registers in switchframe and eliminate the un_32 struct.

Submitted by:	Svatopluk Kraus <onwahe@gmail.com>,
		Michal Meloun <meloun@miracle.cz>
2014-12-24 18:54:31 +00:00
bapt
392403b5c9 Fix build with recent binutils
Recent binutils considered the .gnu.warning.symbol section as a fatal error when
run with --fatal-warnings which makes any users of "insecure" functions from
libc failing to build with recent binutils.

Introduce a new macro: LD_FATAL_WARNINGS=no to run ld(1) with
--no-fatal-warnings for the users of "insecure" functions

Differential Revision:	https://reviews.freebsd.org/D1320
2014-12-23 10:43:35 +00:00
ngie
43a2bd0aa3 Parallelize building gnu/usr.bin/groff
This speeds up building the directory from the bootstrap-tools stage in
buildworld as well as building from the subdirectory

Based on a patch submitted via -arch:
https://lists.freebsd.org/pipermail/freebsd-arch/2014-December/016493.html

MFC after: 1 week
Submitted by: Jia-Shiun Li <jiashiun@gmail.com>
Sponsored by: EMC / Isilon Storage Division
2014-12-17 19:46:12 +00:00
emaste
d04460b017 Remove empty generated file upon gperf failure
Prior to this change the build could fail as follows, if gperf is not
available (or fails):

  - make(1) stops due to the gperf error, but an empty target file
    (cfns.h) is still created
  - the empty cfns.h is newer than the source cfns.gperf so it is not
    regenerated on subsequent builds
  - the gcc build fails (undefined reference to libc_name_p)

Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
2014-12-15 14:25:42 +00:00
jhibbits
96e9baf741 Add new PowerPC relocations to binutils
Summary:
LLVM/Clang generates relocations that our binutils doesn't understand, but newer
binutils does.  I got permission from the author of a series of patches to
relicense them as GPLv2 for use in FreeBSD.  The upstream git hashes are:

ac2df442ac7901f00af15b272fc48b594b433713
2b95367962dc14f69d3c338c4d54195266e2e169
102890f04c44b64cf5cef4588267dd9f24086ac7
b7fcf6f6bb53b5027e111107f5416769cb9a5798
1d483afedd5a628dc84fb58d1d570f79fdfbfa7b
90aecf7a80c1cefeb45fc10a6cd02c8338e34b4c
3a71aa26df2a372a58e9c11ef9ba51fd0e83320a
727fc41e077139570ea8b8ddfd6c546b2a55627c

With the import of clang 3.5, and a few backported patches, we should be able to
move powerpc and powerpc64 to clang-as-cc soon.

Test Plan: Passes make tinderbox, so no regressions.  Binaries built with clang
run on powerpc64.

Reviewers: #committers, dim

Reviewed By: dim

Differential Revision: https://reviews.freebsd.org/D1297

Obtained from:	Alan Modra, upstream binutils-gdb git
MFC after:	3 weeks
Relnotes:	yes
2014-12-12 03:58:51 +00:00
dchagin
5895f3a161 Skip calling CPU_ISSET for NOCPU as a short period of time we can have
td_oncpu is NOCPU for thread in TDS_RUNNING state.

Differential Revision:	https://reviews.freebsd.org/D1283
Reviewed by:	jhb
MFC after:	1 Month
2014-12-09 14:21:43 +00:00
bapt
bd05e9abdb Revert r274953, r274934
mandoc(1) is now able to display correctly the vanilla version
2014-12-02 23:33:37 +00:00
emaste
c79f6538fe Build infrastructure for elftoolchain tools
Set WITH_ELFTOOLCHAIN_TOOLS in src.conf to use the elftoolchain version
of the following tools:

 * addr2line
 * elfcopy (strip / mcs)
 * nm
 * size
 * strings

Reviewed by:	bapt (earlier version)
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1224
2014-12-01 17:49:42 +00:00
sjg
65fe16c2bd all is MAIN target 2014-11-30 18:46:34 +00:00
emaste
83a0d923b9 Put each SUBDIR on a separate line
This makes it easier to review or merge changes that modify some subset
of SUBDIRs.
2014-11-27 20:22:46 +00:00
bapt
1f18779318 Convert to LIBADD
Reduce overlinking
2014-11-25 21:18:18 +00:00
bapt
d8045d925d Fix rendering of manpages with mandoc(1) 2014-11-24 08:13:21 +00:00
bapt
93b1e3ba3e Fix rendering with mandoc 2014-11-24 00:34:49 +00:00
bapt
ff5b051648 Fix rendering with mandoc 2014-11-23 23:56:01 +00:00
bapt
a82c1f76f3 Fix rendering with mandoc 2014-11-23 23:55:04 +00:00
bapt
370dd13218 Install mdoc(7) and man(7) from mdoc instead of the one from groff 2014-11-23 22:28:46 +00:00
sjg
b137080f19 Merge from head@274682 2014-11-19 01:07:58 +00:00
sjg
ab21a29eb6 fixed dep 2014-11-19 00:44:21 +00:00
dim
a75d2fd4af Change kbdb's kthr::cpu field into an int, to avoid gcc warnings about
comparing it with NOCPU, which became -1 recently.  While here, avoid
using it for address calculations if it is negative.

Reviewed by:	jhb, adrian
MFC after:	1 week
2014-11-11 18:54:57 +00:00
bapt
b955dc91cd libdialog has to be linked to libncursesw and libm 2014-11-07 10:49:54 +00:00
emaste
d00756463c Build gperf only if we're using g++ (not clang++)
gperf is used as a build tool for g++ and is not needed for Clang
architectures. Ports and third-party software that need it can use the
up-to-date devel/gperf port.

PR:		194103 (exp-run)
Reviewed by:	bapt
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D886
2014-10-09 23:05:31 +00:00
ngie
af608f76fa Integrate usr.bin/diff/tests from NetBSD into atf/kyua at gnu/usr.bin/diff/tests
Sponsored by: EMC / Isilon Storage Division
2014-10-09 02:07:34 +00:00
andrew
d588d5723d Remove MK_ARM_EABI, the armeb issues have been fixed. The code to support
the oabi is still in the tree, but it is expected this will be removed
as developers work on surrounding code.

With this commit the ARM EABI is the only supported supported ABI by
FreeBSD on ARMa 32-bit processors.

X-MFC after:	never
Relnotes:	yes
Differential Revision: https://reviews.freebsd.org/D876
2014-10-01 08:26:51 +00:00
gjb
b01f06476c Add gnugrep.1 to CLEANFILES.
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2014-08-26 19:36:34 +00:00
ngie
512177b531 Add ${LIBC} to DPADD to fix "make checkdpadd"
Phabric: D632
Approved by: jmmv (mentor)
MFC after: 2 weeks
2014-08-20 15:43:26 +00:00
bdrewery
b619f0c747 Revert r267233 for now. PIE support needs to be reworked.
1. 50+% of NO_PIE use is fixed by adding -fPIC to INTERNALLIB and other
   build-only utility libraries.
2. Another 40% is fixed by generating _pic.a variants of various libraries.
3. Some of the NO_PIE use is a bit absurd as it is disabling PIE (and ASLR)
   where it never would work anyhow, such as csu or loader. This suggests
   there may be better ways of adding support to the tree. Many of these
   cases can be fixed such that -fPIE will work but there is really no
   reason to have it in those cases.
4. Some of the uses are working around hacks done to some Makefiles that are
   really building libraries but have been using bsd.prog.mk because the code
   is cleaner. Had they been using bsd.lib.mk then NO_PIE would not have
   been needed.

We likely do want to enable PIE by default (opt-out) for non-tree consumers
(such as ports). For in-tree though we probably want to only enable PIE
(opt-in) for common attack targets such as remote service daemons and setuid
utilities. This is also a great performance compromise since ASLR is expected
to reduce performance. As such it does not make sense to enable it in all
utilities such as ls(1) that have little benefit to having it enabled.

Reported by:	kib
2014-08-19 15:04:32 +00:00
sjg
d7cd1d425c Merge head from 7/28 2014-08-19 06:50:54 +00:00
bapt
8a9380f42c Rework privatelib/internallib
Make sure everything linking to a privatelib and/or an internallib does it directly
from the OBJDIR rather than DESTDIR.
Add src.libnames.mk so bsd.libnames.mk is not polluted by libraries not existsing
in final installation
Introduce the LD* variable which is what ld(1) is expecting (via LDADD) to link to
internal/privatelib
Directly link to the .so in case of private library to avoid having to complexify
LDFLAGS.

Phabric:	https://phabric.freebsd.org/D553
Reviewed by:	imp, emaste
2014-08-06 22:17:26 +00:00
brooks
ea5a037d1f Replace all uses of libncurses and libtermcap with their wide character
variants.  This allows usable file system images (i.e. those with both a
shell and an editor) to be created with only one copy of the curses library.

Exp-run:	antoine
PR:		189842
Discussed with:	bapt
Sponsored by:	DARPA, AFRL
2014-07-17 18:24:34 +00:00
imp
d284902e11 Make MK_GNUCXX mean "build the libstdc++ and libsupc++ libraries" and
nothing more. Force it to be "no" when MK_CXX is "no" to simplify
usage.  It no longer also means "build g++" since we no longer have a
platform where that's interesting now that pc98 no longer needs clang
and gcc, but not g++. pc98 now just uses clang after boot2 changes.
2014-07-10 21:11:48 +00:00
bapt
e7ca650bbf The GNU readline library is now an INTERNALLIB - that is, it is
statically linked into consumers (GDB and variants) in the base
system, and the shared library is no longer installed.

That also allows ports to be able to use a modern version of readline

PR:		162948
Reviewed by:	emaste
2014-07-09 15:52:30 +00:00
marcel
9f28abd980 Remove ia64.
This includes:
o   All directories named *ia64*
o   All files named *ia64*
o   All ia64-specific code guarded by __ia64__
o   All ia64-specific makefile logic
o   Mention of ia64 in comments and documentation

This excludes:
o   Everything under contrib/
o   Everything under crypto/
o   sys/xen/interface
o   sys/sys/elf_common.h

Discussed at: BSDcan
2014-07-07 00:27:09 +00:00
imp
33e60dabce Make sure that the sub-makes for unwind.h start from the CURDIR
(/usr/src) tree rather than the OBJDIR (/usr/obj) tree. This fixes
broken incremental builds with the canonical MAKESYSPATH workaround
of .../share/mk. This is a gross kludge.
2014-06-24 22:15:27 +00:00
gavin
aa8aca4879 Remove send-pr, the supported interface to submit bugs is now via
https://bugs.freebsd.org/submit/

Removing send-pr also removes one more piece of non-BSD-licensed software.

Hat:		bugmeister
MFC after:	3 days
2014-06-14 20:36:32 +00:00
gavin
090d01798c With the move away from GNATS, point end users to a better web page
detailing how to report bugs.

Hat:		bugmeister
MFC after:	3 days
2014-06-14 18:45:40 +00:00
bdrewery
989e2c6000 In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE.
This is currently an opt-in build flag. Once ASLR support is ready and stable
it should changed to opt-out and be enabled by default along with ASLR.

Each application Makefile uses opt-out to ensure that ASLR will be enabled by
default in new directories when the system is compiled with PIE/ASLR. [2]

Mark known build failures as NO_PIE for now.

The only known runtime failure was rtld.

[1] http://www.bsdcan.org/2014/schedule/events/452.en.html
Submitted by:		Shawn Webb <lattera@gmail.com>
Discussed between:	des@ and Shawn Webb [2]
2014-06-08 17:29:31 +00:00
brueffer
5d9ccf1a63 Add Lb string for libcuse. 2014-06-06 11:36:05 +00:00
pluknet
0a8f0580ff Move Nx definition to a separate block.
Noticed by:	ru (a while ago)
2014-05-20 21:24:15 +00:00
sjg
c40d20ab26 Fix building libstdc++ with clang
Reviewed by:	theraven
2014-05-16 14:40:07 +00:00
sjg
5860f0d106 Updated dependencies 2014-05-16 14:09:51 +00:00
brooks
274f59a96f Revert r261296. This removes the WITHOUT_NCURSESW option.
It was the wrong direction.  We will instead remove use of the
non-wide-character supporting libncurses.
2014-05-15 16:44:25 +00:00
dim
a1b87b576c Allow libstdc++ and libsupc++ to compile with clang again, after the
bsd.*.mk infrastructure changes.  Apparently, you must now modify
CXXFLAGS *before* including bsd.lib.mk, or your changes will be lost.
2014-05-11 21:07:00 +00:00
sjg
1a7e48acf1 Updated dependencies 2014-05-10 05:16:28 +00:00
gjb
33f532b8d8 Add 9.3 to mdoc.local.
Sponsored by:	The FreeBSD Foundation
2014-05-09 04:14:37 +00:00
sjg
ed3fc70bf5 Merge from head 2014-05-08 23:54:15 +00:00
imp
2118f42afd Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.
2014-05-06 04:22:01 +00:00
sjg
0dbec29ec3 Need to stage_files 2014-05-05 22:55:42 +00:00
sjg
a3e7613c6a New/updated dependencies 2014-05-05 18:31:00 +00:00
sjg
5e568154a0 Merge head 2014-04-28 07:50:45 +00:00
imp
29752a1c14 Spell NO_PROFILE= as MK_PROFILE=no. 2014-04-25 19:25:26 +00:00
jmmv
64b466d8f8 Add placeholder Kyuafiles for various top-level hierarchies.
This change adds tests/ directories in the source tree to create various
subdirectories in /usr/tests/ and to install placeholder Kyuafiles for
them.

the relevant hierarchies are: cddl, etc, games, gnu and secure.

The reason for this is to simplify the addition of new test programs for
utilities or libraries under any of these directories.  Doing so on a
case by case basis is unnecessary and is quite an obscure process.
2014-04-21 21:39:25 +00:00
jmmv
16d46bfa1a Add FreeBSD 10.1 to the list of recognized releases for Fx.
This version is already mentioned by 4 manual pages.
2014-04-13 11:57:51 +00:00
imp
c39e6fc2c9 NO_MAN= has been deprecated in favor of MAN= for some time, go ahead
and finish the job. ncurses is now the only Makefile in the tree that
uses it since it wasn't a simple mechanical change, and will be
addressed in a future commit.
2014-04-13 05:21:56 +00:00
des
51c7df1f50 Introduce RANLIBFLAGS to mirror ARFLAGS and add -D to both. This sets
all timestamps in static libraries to 0 so that consecutive builds
from the same source, even on different machines, produce identical
libraries.

MFC after:	3 weeks
2014-04-12 12:44:09 +00:00
imp
385f24f997 It is possible that MK_GNUCXX is "yes" but MK_CXX is "no" so make sure
MK_CXX isn't "no" before building these libraries.
2014-04-01 14:23:58 +00:00
dim
3c44b46e49 Enable parallel building for gnu/usr.bin and usr.bin/clang too.
MFC after:	2 weeks
X-MFC-With:	r263778
2014-03-27 20:15:33 +00:00
andrew
8842d57879 Add a new ARM TARGET_ARCH, armv6hf. This is considered experimental.
This targets the existing ARMv6 and ARMv7 SoCs that contain a VFP unit.
This is an optional coprocessors may not be present in all devices, however
it appears to be in all current SoCs we support.

armv6hf targets the VFP variant of the ARM EABI and our copy of gcc is too
old to support this. Because of this there are a number of WITH/WITHOUT
options that are unsupported and must be left as the default value. The
options and their required value are:
 * WITH_ARM_EABI
 * WITHOUT_GCC
 * WITHOUT_GNUCXX

In addition, without an external toolchain, the following need to be left
as their default:
 * WITH_CLANG
 * WITH_CLANG_IS_CC

As there is a different method of passing float and double values to
functions the ABI is incompatible with existing armv6 binaries. To use
this a full rebuild of world is required. Because no floating point values
are passed into the kernel an armv6 kernel with VFP enabled will work with
an armv6hf userland and vice versa.
2014-03-23 12:49:25 +00:00
glebius
d494babace Remove IPX support.
IPX was a network transport protocol in Novell's NetWare network operating
system from late 80s and then 90s. The NetWare itself switched to TCP/IP
as default transport in 1998. Later, in this century the Novell Open
Enterprise Server became successor of Novell NetWare. The last release
that claimed to still support IPX was OES 2 in 2007. Routing equipment
vendors (e.g. Cisco) discontinued support for IPX in 2011.

Thus, IPX won't be supported in FreeBSD 11.0-RELEASE.
2014-03-14 02:58:48 +00:00
jmg
bb95603de9 add support for building a cross-gdb for ARM... This isn't hooked up
to xdev yet as I don't know how to make it work properly...  It also
isn't heavily tested...

Reviewed by:	silence on -arm
2014-02-12 02:08:42 +00:00
pjd
1df3a6bf79 Add missing libraries here as well, so a warning is not printed when one
tries to view their manual pages.

Reported by:	rwatson
Explained by:	pluknet
2014-02-11 09:17:17 +00:00
pluknet
4ce8fa8097 Add definition for NetBSD 7.0, which is referenced in several manpages.
Discussed with:	uqs
MFC after:	5 days
2014-02-01 10:36:35 +00:00
uqs
c692973c99 Pull up vendor changes up to 2014-01-29
- move local overrides into mdoc.local
- syncs us with git commit 819839b66c80e8dabe6cb24ea6319c26c9a2be14

Discussed with: ru
MFC after: 2 weeks
2014-01-31 12:26:30 +00:00
brooks
f1b43045b3 Merge from CheriBSD:
commit c1acf022c533c5ae27e0cd556977eafe3f5959eb
Author: Brooks Davis <brooks@one-eyed-alien.net>
Date:   Fri Jan 17 21:46:44 2014 +0000

    Add an option WITHOUT_NCURSESW to suppress building and linking to
    libncursesw.  While wide character support it useful we'd like to
    only need one ncurses library on embedded systems.

MFC after:	4 weeks
Sponsored by:	DARPA, AFRL
2014-01-30 21:08:36 +00:00
pluknet
a9cddbb1f1 Add libexecinfo.
MFC after:	3 days
2014-01-29 14:14:09 +00:00
uqs
b8164671aa Add FreeBSD 2.2.9 which aout(4) references.
Discussed with:	kib
2014-01-28 21:40:03 +00:00
marcel
a2e735d7d5 Revision 258428 changed gcc by virtue of having _bswapsi2 _bswapdi2 in
libgcc, but this was not propagated to this file. Revision 260844 added
them here for ia64 unbeknownst revision 258428. Fix it for all...

Pointed out by: pfg
2014-01-19 00:38:18 +00:00
ed
aee72141a1 Replace LIBGCC by LIBCOMPILER_RT.
We now use libcompiler_rt on all platforms now. Instead of referring
directly to -lgcc and LIBGCC, use -lcompiler_rt and LIBCOMPILER_RT.
2014-01-18 14:22:56 +00:00
marcel
d7e15b8253 For ia64, add _bswapsi2 & _bswapdi2. The audio/flac port uses the
bswap32 builtin and the compiler emits a call to the libgcc function
rather than generating inline code.
2014-01-18 04:09:39 +00:00
marcel
ab97b034c0 When building a cross-kgdb, suppress the registration of the
standard core target by declaring coreops_suppress_target with
initializer. This is also happening for non-cross kgdb, by
virtue of having fbsd-threads.c in libgdb and having it do the
exact same thing. Since fbsd-threads.c is not included in in
libgdb when building a cross debugger, we ended up with more
than 1 core file targets (the standard gdb core file target and
kgdb's libkvm based core file target) and this behaves the same
as not having a core target at all.
2014-01-13 19:08:25 +00:00
marcel
06fa431481 When building a cross kgdb, link against the appropriate cross libkvm.
Provide an implementation of ps_pglobal_lookup() for use by the cross
libkvm.
2013-12-28 23:31:22 +00:00
dim
b8e518528f To avoid having to explicitly test COMPILER_TYPE for setting
clang-specific or gcc-specific flags, introduce the following new
variables for use in Makefiles:

CFLAGS.clang
CFLAGS.gcc
CXXFLAGS.clang
CXXFLAGS.gcc

In bsd.sys.mk, these get appended to the regular CFLAGS or CXXFLAGS for
the right compiler.

MFC after:	1 week
2013-12-22 17:51:33 +00:00
dim
aa0067c72b For gnu/lib/csu, only use gcc-specific flags when compiling with gcc.
MFC after:	3 days
2013-12-22 12:53:56 +00:00
pfg
ecc1dc848c gcc: Missing makefile changes for r258501.
pointyhat:	me
2013-11-24 04:08:47 +00:00
andreast
dc7aaa00b9 Fix cross compilation after r258428.
Reviewed by:	pfg
2013-11-21 21:05:11 +00:00
gjb
4a3ed8452f Revert r257691, r257645:
Let amd64/amd64 build again.
2013-11-06 03:36:43 +00:00
dim
5af257114f Fix libgcc build with gcc after r257645, by using -Wno-static-in-inline
for clang only.
2013-11-05 07:37:35 +00:00
sbruno
fccaa9b4f7 Quiesce warning around gcc_assert() for an inline macro that uses
a static variable.  This code has been moved around in gcc, but is still in
use in the latest trunk version of the compiler.

gnu/lib/libgcc/../../../contrib/gcc/unwind-dw2.c:208:36:
      warning: static variable 'dwarf_reg_size_table' is used in an inline
               function with external linkage [-Wstatic-in-inline]
gcc_assert (index < (int) sizeof(dwarf_reg_size_table));
2013-11-04 18:15:45 +00:00
brooks
03e308ec32 Reimplement r257525 such that it work with the historic FreeBSD make
implementation.  This fixes the toolchain and kernel-toolchain targets
when building from older FreeBSD versions where make is fmake.

Reported by:	luigi
Sponsored by:	DARPA/AFRL
MFC after:	3 days
2013-11-01 22:03:20 +00:00
brooks
f26969a88e Enable the --sysroot=/foo option in ld by always building with a sysroot
defined. When not building as a cross linker, the sysroot is set to "/".

Exp-run by:	bdrewery (ports/183206)
MFC after:	3 days
2013-10-28 19:56:46 +00:00
rea
7e1a7f7ff6 Correct ld(1) manual page for --no-add-needed set as default after r253839
Approved by:	dim
MFC after:	2 weeks
2013-10-28 05:55:47 +00:00
sjg
dc7bf123a0 Merge head@256308 2013-10-14 15:52:45 +00:00
sjg
7fcd33c1fa Merge head@256284 2013-10-13 02:35:19 +00:00
sjg
724c99a1c9 We do want objdir 2013-10-13 00:27:34 +00:00
sjg
292ec5d301 Updated dependencies 2013-10-13 00:24:00 +00:00
dim
bde695ba4c Bump OS versions in the toolchain triples to 11.0, and bump the
__FreeBSD_cc_version predefined macros in clang and gcc.

Approved by:	re (gjb)
2013-10-10 20:47:11 +00:00
gjb
5cca672bb0 Turn it all the way up to 11:
- Update FreeBSD version in:
  - UPDATING
  - sys/conf/newvers.sh

- Add 11.0 FreeBSD version for manual pages

- Bump __FreeBSD_version to 1100000

Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2013-10-10 18:05:13 +00:00
gjb
c5342bffee Revert r256095, r256120 (partial), r256121:
r256095:
 - Add gnu/usr.bin/rcs back to the base system.

r256120:
 - Add WITHOUT_RCS back to src.conf.5.

r256121:
 - Remove UPDATING entry regarding gnu/usr.bin/rcs removal.

Requested by:	many
Approved by:	re (marius)
Discussed with:	core
2013-10-09 17:07:20 +00:00
eadler
ba3f996763 Good bye RCS. You will be missed.
(devel/rcs and devel/rcs57 are available as alternatives)

Approved by:	core
Approved by:	re (hrs)
2013-10-07 02:23:00 +00:00
emaste
2d5f7eb23b Remove long-unused GNU ar and ranlib
The libarchive-based replacements have been used since 2009; the GNU
ones were kept to support source upgrades from FreeBSD 6.

Approved by:	re@ (delphij)
2013-10-01 17:40:56 +00:00
dteske
6633bf70ed Update dialog to 1.2-20130923.
Approved by:	re (marius)
2013-09-24 14:52:43 +00:00
dim
a4339b7e0a After r255321, clang uses libc++ by default. This leads to a lot of
errors when you enable WITH_GNUCXX to build libstdc++, since it will
include C++ headers from the libc++ installation under ${WORLDTMP}, and
those are not compatible with libstdc++ at all.

To fix this, add -stdlib=libstdc++ to CXXFLAGS when building libstdc++
(and its companion libsupc++) with clang.

Approved by:	re (delphij)
2013-09-12 21:24:59 +00:00
sjg
ff87b5d147 Merge head 2013-09-11 18:16:18 +00:00
theraven
1df952388b On platforms where clang is the default compiler, don't build gcc or libstdc++.
To enable them, set WITH_GCC and WITH_GNUCXX in src.conf.
Make clang default to using libc++ on FreeBSD 10.
Bumped __FreeBSD_version for the change.

GCC is still enabled on PC98, because the PC98 bootloader requires GCC to build
(or, at least, hard-codes the use of gcc into its build).

Thanks to everyone who helped make the ports tree ready for this (and bapt
for coordinating them all).  Also to imp for reviewing this and working on the
forward-porting of the changes in our gcc so that we're getting to a much
better place with regard to external toolchains.

Sorry to all of the people who helped who I forgot to mention by name.

Reviewed by:	bapt, imp, dim, ...
2013-09-06 20:08:03 +00:00
sjg
62bb106222 Merge from head 2013-09-05 20:18:59 +00:00
pfg
a4c67efd5f Remove our hacked GNU patch.
The old (2.1) GNU patch has outlived its days.  The major
local changes have been moved into the less restrictedly
licensed patch(1) we adopted in usr.bin/ .

A much newer version of GNU patch is available in the
ports tree (devel/patch).

Disconnect from the build and remove.
2013-09-03 20:03:10 +00:00
jmg
e10c4e2adb add support to gcc for AES and PCLMUL intrinsics... This addes the
-maes option, but not the -mpclmul option as I ran out of bits in
the 32 bit flags field...  You can -D__PCLMUL__ to get this, but it
won't be compatible w/ clang and modern gcc...

Reviewed by:	-current, -toolchain
2013-09-03 17:33:29 +00:00
pfg
a90a8d62c1 Drop build option switch for the older GNU patch.
As promised, drop the option to make the older GNU patch
the default.

GNU patch is still being built but something drastic may
happen to it to it before Release.
2013-08-29 00:38:24 +00:00
pfg
c86f3222f7 Teach libstdc++ about logl(3).
The logl(3) family of functions were implemented in r251292.
Define them in libstdc++'s configuration so they can be used.

Reviewed by:	dim
2013-08-13 20:28:21 +00:00
gjb
1d4e890c75 Add FreeBSD 9.2 to mdoc.local. 2013-08-11 18:05:20 +00:00
ache
8bff628d3a Part of r245761 makes "grep -D skip" broken for pipes, i.e.
echo xxx | grep -D skip xxx
returns nothing. Instead of just removing added S_ISFIFO condition
(originally absent in this version of grep), make it work as latest
GNU version does: don't skip directories and devices if fd == STDIN_FILENO.
2013-08-08 11:53:47 +00:00
pfg
97ac613107 Make the BSD-licensed patch the default.
The BSD-licensed patch(1) command has matured and it's behaviour
can be considered equivalent to the older version of GNU patch
in the tree.

The switch has been extensively tested [1] and only two ports
presented regressions, which have since been fixed.

For convenience a new WITH_GNU_PATCH option is available,
but it will likely be removed in the near future.

PR:		176313
Approved by:	portmgr
2013-07-26 21:25:18 +00:00
obrien
1fafe35d75 Properly handle input lines containing NUL characters such that pgets()
accurately fills the read buffer.

Callers of pgets() still mis-process the buffer contents if the read line
contains NUL characters, but this at least makes pgets() accurate.
2013-07-02 17:17:42 +00:00
obrien
ef0cb7bd8f Make it so that 'patch < FUBAR' and 'patch -i FUBAR' operate the same.
The former makes a copy of stdin, but was not accurately putting the
content of stdin into a temp file.  This lead to the undercounting
the number of lines in hunks containing NUL characters when reading
from stdin.  Thus resulting in "unexpected end of file in patch" errors.
2013-07-02 17:09:57 +00:00
bapt
5e866f8c49 Bump shlib for dialog because ABI has changed when version 1.2 was imported
Reviewed by:	kib
2013-06-23 21:59:52 +00:00
emaste
7e1479c35f Fold in frame-unwind patch
After moving to svn there's no need to avoid pulling files off a vendor
branch.
2013-06-17 18:34:34 +00:00
bapt
15dd8ebc0e lower the WARNS to 1 again until I have more time to figure out the problems with WARNS=4
Reported by:	gavin
2013-06-17 13:02:39 +00:00
bapt
417e87f740 Update dialog to 1.2-20130523
Level up WARNS
2013-06-17 10:28:55 +00:00
theraven
c28a18c867 Fix some missing symbols in the libsupc++ Version.map
MFC after:	1 week
2013-06-16 21:15:35 +00:00
eadler
bf7c0f2705 Remove CVS from the base system.
Discussed with:	many
Reviewed by:	peter, zi
Approved by:	core
2013-06-15 20:29:07 +00:00
emaste
390d8402e0 Add a new knob WITH_DEBUG_FILES to control the building of standalone
debug files for userland programs and libraries.  The "-g" debug flag
is automatically applied when WITH_DEBUG_FILES is set.

The debug files are now named ${prog}.debug and ${shlib}.debug for
consistency with other systems and documentation.  In addition they are
installed under /usr/lib/debug, to simplify the process of installing
them if needed after a crash.  Users of bsd.{prog,lib}.mk outside of the
base system place the standalone debug files in a .debug subdirectory.
GDB automatically searches both of these directories for standalone
debug files.

Thanks to everyone who contributed changes, review, and testing during
development.
2013-06-07 21:40:02 +00:00
pfg
8880214a49 gcc: install AMD intrinsics header ammintrin.h
This file was included in the changes from r251212 and originated
in the pre-GPLv3 gcc43 branch.

MFC after:	2 weeks
2013-06-07 00:48:01 +00:00
jkim
9ac6b25878 Adjust CFLAGS to pick up correct regex.h and posix/regex.h. Note this
actually reverts r250860 and r250861.

Reported by:	gjb, tinderbox
2013-06-06 11:59:38 +00:00
jkim
38367105c6 Connect libgnuregex 2.17 to the build. 2013-06-05 21:31:06 +00:00
marcel
120b82d368 Don't look for headers outside of the source or object directories. In
particular, don't use DESTDIR. Such creates an unnecessary dependency
on the build machine.

Obtained from:  Juniper Networks, Inc.
2013-05-21 17:30:27 +00:00
marcel
08ee50ef4a Don't look for headers outside of the source or object directories. In
particular, don't use DESTDIR. Such creates an unnecessary dependency
on the build machine.

Obtained from:	Juniper Networks, Inc.
2013-05-21 17:28:19 +00:00
pfg
a054c02d31 grep: change some int types.
Change several int variables to size_t, ssize_t, or ptrdiff_t.
This should fix the bug described in CVE-2012-5667 when an input
line is so long that its length cannot be stored in an int
variable.

This is based on NetBSD's revision which says:

This change to NetBSD's version of GNU grep 2.5.1 (licenced under
GPLv2) was made without direct reference to any code licenced
under GPLv3.

Obtained from:	NetBSD
MFC after:	3 days
2013-05-20 03:15:25 +00:00
dim
e836816d77 When gcc 4.2.0 was imported, the 3DNow intrinsics header <mm3dnow.h> was
not added to the list of intrinsics headers to install, so belatedly (5
years :) add it.

MFC after:	1 week
2013-05-08 22:54:53 +00:00
rpaulo
b155a8ef4e Remove the Fortran directories. 2013-04-25 06:05:43 +00:00
imp
be7940a5a5 Fix mips64 and mipsn32 bilds by using proper register names. 2013-04-25 04:53:01 +00:00
ed
7b4c44c928 Enable libcompiler-rt on MIPS.
Originally we disabled libcompiler-rt on MIPS and SPARC64, because of an
issue where __clzdi2 and __ctzdi2 would cause endless recursion. This
bug has been fixed in r230021 already, but for some reason we only
switched to libcompiler-rt on SPARC64 -- not MIPS.

This means we can finally use <stdatomic.h> on all our architectures.
2013-04-20 14:44:28 +00:00
sjg
97d8b94956 sync from head 2013-04-12 20:48:55 +00:00
pluknet
54d6b047e7 Add FreeBSD 8.4.
MFC after:	3 days
2013-04-08 20:33:51 +00:00
will
59a1dc1298 KGDB: Accept KLD symbol files with the ".symbols" extension.
Submitted by:	gibbs
Approved by:	ken (mentor)
Sponsored by:	Spectra Logic
MFC after:	1 month
2013-03-28 17:07:02 +00:00
will
ed419adb26 KGDB: Allow modules to be loaded from the specified kernel's directory.
When looking up the absolute path for a kld, call find_kld_path() first.
This enables locating the module in a different directory than the one
stored in kernel memory.

With this change, kgdb can now be run on a kernel & vmcore whose associated
modules are located in the same directory as the kernel.  This makes
independent triaging of problems much easier.

This change also does not break the normal kgdb use case where no arguments
are specified; in that case kgdb loads the running kernel and its modules.

Reviewed by:	adrian
Approved by:	ken (mentor)
Sponsored by:	Spectra Logic
MFC after:	1 month
2013-03-28 17:04:59 +00:00
cognet
45f62f67d3 As it's done for libstdc++, use SJLJ-based exceptions on arm when we're not
using EABI, and use unwind-arm.h instead of unwind-generic.h when using EABI.
2013-03-22 21:50:32 +00:00
sjg
16b55350a9 Updated dependencies 2013-03-17 01:54:35 +00:00
andrew
0952142d82 Link libgcc_s against compiler-rt on ARM EABI. This allows us to use all of
the symbols in compiler-rt, including the ones not available in the old
libgcc. This fixes the build with clang which generates calls to funstions
that are missing from libgcc_s.
2013-03-17 01:03:41 +00:00
sjg
6d37b86f2b Updated dependencies 2013-03-11 17:21:52 +00:00
adrian
7c5c2ceb80 kgdb enhancements!
* document the kgdb -b flag
* better verify what's valid with -b
* add more comprehensive command line help

PR:		kern/175743
Submitted by:	Christoph Mallon <christoph.mallon@gmx.de>
2013-02-19 02:09:18 +00:00
marcel
a57e06a00f In kthr.c, obtain the address of the PCB for threads that were running
on a core, when the core was stopped, by calling kgdb_trgt_core_pcb().
This has 2 advantages:
1.  We don't need to include a machine-specific header anymore and as
    such kthr.c is truly machine independent. This allows the code to
    be used in a cross-debugger.
2.  We don't need to lookup stoppcbs in generic code when it's an
    inherently target-spicific symbol. It does not exist for ia64.

Implement kgdb_trgt_core_pcb() for all architectures, except ia64, by
calling a common function called kgdb_trgt_stop_pcb(). This function
differs from kgdb_trgt_core_pcb() in that it gets the size of the PCB
structure as an argument and as such remains machine independent.

On ia64 the PCB for stopped cores is in the PCPU structure itself.
This for better scaling. The implementation of kgdb_trgt_core_pcb()
for ia64 uses the cpuid_to_pcpu[] array to to obtain the address of
the PCB structure.
2013-02-17 02:15:19 +00:00
sjg
0ee5295509 Updated dependencies 2013-02-16 01:23:54 +00:00
dim
62a21e98ad Regenerate libstdc++'s config.h, synchronizing it with our current
almost-C99 headers.

MFC after:	1 week
2013-02-15 23:12:35 +00:00
obrien
3028e3f8ab Sync with HEAD. 2013-02-08 16:10:16 +00:00
obrien
952a6d5a7c Correct the r242545 sync with head@242525. 2013-02-07 00:48:42 +00:00
gabor
d992e3eb2a - Add a BSD-licensed patch, ported by Pedro F. Giffuni (pfg) from
DragonflyBSD and install it as bsdpatch.  WITH_BSD_PATCH makes it
  default and installs GNU patch as gnupatch.

Submitted by:	pfg
Obtained from:	The DragonflyBSD Project
2013-01-29 17:03:18 +00:00
theraven
b923a5521b Fix some symbol version mismatches between libstdc++ and libsupc++/libcxxrt
that were causing the runtime and STL libraries to see different versions of
various classes and functions when libstdc++ is used as a filter.

Note: This changes the ABI for libcxxrt, but libcxxrt is currently only in
-STABLE for testing and is not used by anything unless explicitly enabled by
the end user.  No default compiler configurations use it.

libc++ will need to be recompiled after this change.  make buildworld will do
this automatically, but make in lib/libc++ will not necessarily work unless the
new libcxxrt is installed first.

PR:		kern/171610, stand/175453
Reviewed by:	kib
MFC after:	1 week
2013-01-28 11:12:49 +00:00
andrew
7c6cedfc59 bsd.own.mk needs to be included before Makefil.inc so MK_ARM_EABI is defined 2013-01-25 06:18:49 +00:00
brooks
fd30973727 Reorder so that NO_MAN is declared before bsd.own.mk is included and thus
has an effect (not installed a g++.1 manpage over the g++.1(.gz) link
created in ../cc).
2013-01-24 15:18:41 +00:00