Commit Graph

4357 Commits

Author SHA1 Message Date
Bryan Drewery
aa92269e46 Add more SUBDIR_PARALLEL.
MFC after:	3 weeks
Sponsored by:	EMC / Isilon Storage Division
2015-10-15 22:55:08 +00:00
Glen Barber
bc7f5841b3 MFH r289372-r289382
Sponsored by:	The FreeBSD Foundation
2015-10-15 19:57:13 +00:00
Bryan Drewery
71d9d150fa Remove directories disconnected since r169718.
MFC after:	1 week
Sponsored by:	EMC / Isilon Storage Division
2015-10-15 19:49:09 +00:00
Glen Barber
324fd1ce05 MFH to r289370
Sponsored by:	The FreeBSD Foundation
2015-10-15 17:36:56 +00:00
Enji Cooper
b2d48be1bc 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
Baptiste Daroussin
9be27fdc00 Merge from head 2015-10-09 22:45:54 +00:00
Simon J. Gerraty
bd47c7ec11 Updated depends 2015-10-07 00:43:05 +00:00
Baptiste Daroussin
5a2b666ce5 Merge from head 2015-10-01 09:36:43 +00:00
Bryan Drewery
24df1f7e7f 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
John Baldwin
df66ebeba3 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
Bryan Drewery
266a154003 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
Bryan Drewery
dabaad6678 Fix subdir -j build after r287983 by adding missing dependencies.
Sponsored by:	EMC / Isilon Storage Division
2015-09-25 20:31:04 +00:00
Bryan Drewery
ef59fb822d 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
Bryan Drewery
ec766071e3 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
Bryan Drewery
54c7d75a06 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
Bryan Drewery
660d1f65bb Add missing CLEANFILES.
MFC after:	1 week
Sponsored by:	EMC / Isilon Storage Division
2015-09-24 23:15:24 +00:00
Bryan Drewery
7c6cc9de3a 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
Bryan Drewery
092a37c9f9 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
Bryan Drewery
5ca34122ec 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
Bryan Drewery
3adbeacc66 Replace afterinstall: hack with FILES mechanism.
Sponsored by:	EMC / Isilon Storage Division
2015-09-19 03:53:37 +00:00
Bryan Drewery
de0e3997d9 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
Baptiste Daroussin
b5ff185e19 Merge from head 2015-09-12 11:41:31 +00:00
Warner Losh
4a64d1a23d Remove .WAIT hacks and put in specific dependencies. 2015-08-28 16:23:03 +00:00
Warner Losh
e986477fa0 Add another .WAIT since sometimes we lose the race. 2015-08-28 04:32:43 +00:00
Warner Losh
144811cc61 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
Ed Maste
1bc28ffccd 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
Ed Maste
f97aa232eb 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
Ed Maste
5ea9e83e2f 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
Baptiste Daroussin
c048a83f51 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 Strobl
cab0e8ff75 - 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
Konstantin Belousov
6fdfd88220 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
Baptiste Daroussin
2fbd60ec47 Merge from head @274131 2015-06-20 00:58:46 +00:00
Simon J. Gerraty
2ef6d5a7b9 new depends 2015-06-16 23:37:19 +00:00
Simon J. Gerraty
27e1b8ab72 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
Baptiste Daroussin
3248e7a673 Move gdb into its own package 2015-06-16 22:25:08 +00:00
Baptiste Daroussin
bc75683de2 Add a bunch of new packages, in particular binutils and groff 2015-06-16 22:06:28 +00:00
Baptiste Daroussin
18b2ee82db Revert r284417 it is not necessary anymore 2015-06-15 19:28:07 +00:00
Baptiste Daroussin
4232f82668 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
Simon J. Gerraty
7f4b19cbf8 Avoid circular dependency with nm 2015-06-14 03:33:27 +00:00
Simon J. Gerraty
ccfb965433 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
Simon J. Gerraty
122b6b61c7 Get rid of some more NO_OBJs
Differential Revision:       D2748
2015-06-12 14:30:27 +00:00
Simon J. Gerraty
bd831db65c Misc fixes from projects/bmake
Differential Revision:       D2748
Reviewed by: brooks imp
2015-06-11 21:13:05 +00:00
Simon J. Gerraty
44d314f704 dirdeps.mk now sets DEP_RELDIR 2015-06-08 23:35:17 +00:00
Simon J. Gerraty
98e0ffaefb Merge sync of head 2015-05-27 01:19:58 +00:00
Baptiste Daroussin
781eb7444e ntp is now again libreadline free, so only build libreadline for gdb 2015-05-25 20:29:35 +00:00
Mark Murray
6e23c23b52 Unbreak build where WANT_GDB == "no', as libreadline is also used by ntpdc. 2015-05-25 10:51:40 +00:00
Baptiste Daroussin
7b24b050e0 Garbage collect GNU soelim Makefiles which are not in used anymore 2015-05-18 16:51:05 +00:00
Baptiste Daroussin
40f51e7543 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
Ed Maste
d485dbc7d8 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
Ed Maste
810d5b3420 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
Baptiste Daroussin
363da13804 Replace groff's soelim by soeliminate(1) renamed soelim(1) 2015-05-01 20:08:25 +00:00
Ed Maste
0a06cffc15 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
Pedro F. Giffuni
33ef4de95f 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
Pedro F. Giffuni
70364ab4ff 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 Turner
86568cc980 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
Ed Maste
6744fea6b3 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
Baptiste Daroussin
9ddafbe276 Install manpage version of texinfo documentation for binutils 2015-03-02 17:24:04 +00:00
Baptiste Daroussin
db997e07c0 Install old texinfo pages in the form of mdoc(7) pages 2015-03-02 11:49:01 +00:00
Will Andrews
7a37b5fc17 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
Baptiste Daroussin
bbb0fbde9a Add pregenerated documentation for as(1) and ld(1) 2015-01-04 00:58:30 +00:00
Enji Cooper
c7fab04170 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
Baptiste Daroussin
c78d63c643 Remove info pages 2015-01-02 19:05:39 +00:00
Baptiste Daroussin
2d2813618c 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 Lepore
c4c27bc97f 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
Baptiste Daroussin
70d099afe0 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
Enji Cooper
e92bda2e4b 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
Ed Maste
a47f6b781a 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
Justin Hibbits
ff0bab9760 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
Dmitry Chagin
469cb95ad6 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
Baptiste Daroussin
a7710c485e Revert r274953, r274934
mandoc(1) is now able to display correctly the vanilla version
2014-12-02 23:33:37 +00:00
Ed Maste
3194293903 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
Simon J. Gerraty
cbf53e7311 all is MAIN target 2014-11-30 18:46:34 +00:00
Ed Maste
1577843e02 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
Baptiste Daroussin
ee5a34ecba Convert to LIBADD
Reduce overlinking
2014-11-25 21:18:18 +00:00
Baptiste Daroussin
4dd0fabd2a Fix rendering of manpages with mandoc(1) 2014-11-24 08:13:21 +00:00
Baptiste Daroussin
e4fd57fb66 Fix rendering with mandoc 2014-11-24 00:34:49 +00:00
Baptiste Daroussin
968b834074 Fix rendering with mandoc 2014-11-23 23:56:01 +00:00
Baptiste Daroussin
e03c69daec Fix rendering with mandoc 2014-11-23 23:55:04 +00:00
Baptiste Daroussin
b8d52ac37c Install mdoc(7) and man(7) from mdoc instead of the one from groff 2014-11-23 22:28:46 +00:00
Simon J. Gerraty
9268022b74 Merge from head@274682 2014-11-19 01:07:58 +00:00
Simon J. Gerraty
29c34e9d27 fixed dep 2014-11-19 00:44:21 +00:00
Dimitry Andric
7a3659bcac 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
Baptiste Daroussin
4032b02a60 libdialog has to be linked to libncursesw and libm 2014-11-07 10:49:54 +00:00
Ed Maste
ddd96d231d 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
Enji Cooper
9752f4a74f 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 Turner
6d4766c1b8 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
Glen Barber
4295fc3d75 Add gnugrep.1 to CLEANFILES.
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2014-08-26 19:36:34 +00:00
Enji Cooper
b6130f8189 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
Bryan Drewery
5608fd23c2 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
Simon J. Gerraty
ee7b0571c2 Merge head from 7/28 2014-08-19 06:50:54 +00:00
Baptiste Daroussin
d029c3aa25 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 Davis
80189b3b09 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
Warner Losh
9e88096ea1 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
Baptiste Daroussin
8a833bda0a 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 Moolenaar
e7d939bda2 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
Warner Losh
b037ca43df 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 Atkinson
c67bc4dbda 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 Atkinson
ad3afeea16 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
Bryan Drewery
864c53ead8 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
Christian Brueffer
5e86a307e8 Add Lb string for libcuse. 2014-06-06 11:36:05 +00:00
Sergey Kandaurov
bf5eb95e2c Move Nx definition to a separate block.
Noticed by:	ru (a while ago)
2014-05-20 21:24:15 +00:00
Simon J. Gerraty
aee7bee5c3 Fix building libstdc++ with clang
Reviewed by:	theraven
2014-05-16 14:40:07 +00:00
Simon J. Gerraty
fae50821ae Updated dependencies 2014-05-16 14:09:51 +00:00
Brooks Davis
525e2a83f6 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
Dimitry Andric
eb941910ca 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
Simon J. Gerraty
76b28ad6ab Updated dependencies 2014-05-10 05:16:28 +00:00
Glen Barber
0ac59027e9 Add 9.3 to mdoc.local.
Sponsored by:	The FreeBSD Foundation
2014-05-09 04:14:37 +00:00
Simon J. Gerraty
cc3f4b9965 Merge from head 2014-05-08 23:54:15 +00:00
Warner Losh
c6063d0da8 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
Simon J. Gerraty
3d4adb0524 Need to stage_files 2014-05-05 22:55:42 +00:00
Simon J. Gerraty
b736a4db5b New/updated dependencies 2014-05-05 18:31:00 +00:00
Simon J. Gerraty
3b8f084595 Merge head 2014-04-28 07:50:45 +00:00
Warner Losh
98407b8bc2 Spell NO_PROFILE= as MK_PROFILE=no. 2014-04-25 19:25:26 +00:00
Julio Merino
38f0b757fd 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
Julio Merino
6a3c084a1c 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
Warner Losh
3bdf775801 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
Dag-Erling Smørgrav
f1c8f60b88 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
Warner Losh
c77d0c982c 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
Dimitry Andric
32a632c401 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 Turner
73279d4113 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
Gleb Smirnoff
2c284d9395 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
John-Mark Gurney
d5ad10055b 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
Pawel Jakub Dawidek
200d9a5fd9 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
Sergey Kandaurov
cd078aac29 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
Ulrich Spörlein
9e90c87023 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 Davis
38e233371c Merge from CheriBSD:
commit c1acf022c5
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
Sergey Kandaurov
819c6bfc81 Add libexecinfo.
MFC after:	3 days
2014-01-29 14:14:09 +00:00
Ulrich Spörlein
d31aacac7d Add FreeBSD 2.2.9 which aout(4) references.
Discussed with:	kib
2014-01-28 21:40:03 +00:00
Marcel Moolenaar
ee360cf813 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 Schouten
37656b872b 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 Moolenaar
5ed2724da0 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 Moolenaar
2d34114497 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 Moolenaar
03197d0ab0 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
Dimitry Andric
b294993d63 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
Dimitry Andric
6b1fe0f9ac 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
Pedro F. Giffuni
f7f4d3779b gcc: Missing makefile changes for r258501.
pointyhat:	me
2013-11-24 04:08:47 +00:00
Andreas Tobler
bf043cea3c Fix cross compilation after r258428.
Reviewed by:	pfg
2013-11-21 21:05:11 +00:00
Glen Barber
fa485918d2 Revert r257691, r257645:
Let amd64/amd64 build again.
2013-11-06 03:36:43 +00:00
Dimitry Andric
03924ad123 Fix libgcc build with gcc after r257645, by using -Wno-static-in-inline
for clang only.
2013-11-05 07:37:35 +00:00
Sean Bruno
023fc3804d 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 Davis
2fda6dbc97 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 Davis
957539c34f 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
Eygene Ryabinkin
c1fd34288c 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
Simon J. Gerraty
446fca52f0 Merge head@256308 2013-10-14 15:52:45 +00:00
Simon J. Gerraty
3caf0790a8 Merge head@256284 2013-10-13 02:35:19 +00:00
Simon J. Gerraty
c8191bc69e We do want objdir 2013-10-13 00:27:34 +00:00
Simon J. Gerraty
34b33809b7 Updated dependencies 2013-10-13 00:24:00 +00:00
Dimitry Andric
c60c0372b0 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
Glen Barber
006a42a9cb 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
Glen Barber
c9fc60beee 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
Eitan Adler
258c9eb906 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
Ed Maste
2cc0389fdc 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
Devin Teske
febdb46880 Update dialog to 1.2-20130923.
Approved by:	re (marius)
2013-09-24 14:52:43 +00:00
Dimitry Andric
44acc1e156 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
Simon J. Gerraty
d466a5b069 Merge head 2013-09-11 18:16:18 +00:00
David Chisnall
52b42bace1 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
Simon J. Gerraty
d1d0158641 Merge from head 2013-09-05 20:18:59 +00:00
Pedro F. Giffuni
d3e23b57a1 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
John-Mark Gurney
003f0fa63f 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
Pedro F. Giffuni
4b97b38825 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
Pedro F. Giffuni
79078034ba 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
Glen Barber
a790431ec0 Add FreeBSD 9.2 to mdoc.local. 2013-08-11 18:05:20 +00:00
Andrey A. Chernov
81191eeb58 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
Pedro F. Giffuni
21244d5227 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
David E. O'Brien
a559a5a94f 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
David E. O'Brien
07b3f0f7db 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
Baptiste Daroussin
157cb94503 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
Ed Maste
73adaf3810 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
Baptiste Daroussin
506197d1c8 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
Baptiste Daroussin
2a3e3873a1 Update dialog to 1.2-20130523
Level up WARNS
2013-06-17 10:28:55 +00:00
David Chisnall
cc9bdc9224 Fix some missing symbols in the libsupc++ Version.map
MFC after:	1 week
2013-06-16 21:15:35 +00:00
Eitan Adler
1cbff2a999 Remove CVS from the base system.
Discussed with:	many
Reviewed by:	peter, zi
Approved by:	core
2013-06-15 20:29:07 +00:00
Ed Maste
42f8c5b580 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
Pedro F. Giffuni
d92873b834 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
Jung-uk Kim
ee852b9c75 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
Jung-uk Kim
a1e98bc995 Connect libgnuregex 2.17 to the build. 2013-06-05 21:31:06 +00:00
Marcel Moolenaar
bed3a130ea 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 Moolenaar
a2f3be3d7a 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
Pedro F. Giffuni
025069f984 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
Dimitry Andric
ffd564d5d9 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
Rui Paulo
db62a45d65 Remove the Fortran directories. 2013-04-25 06:05:43 +00:00
Warner Losh
3d8e9c1283 Fix mips64 and mipsn32 bilds by using proper register names. 2013-04-25 04:53:01 +00:00
Ed Schouten
108b6de211 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
Simon J. Gerraty
69e6d7b75e sync from head 2013-04-12 20:48:55 +00:00
Sergey Kandaurov
c4bab9e7ae Add FreeBSD 8.4.
MFC after:	3 days
2013-04-08 20:33:51 +00:00
Will Andrews
5cabf7777e 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 Andrews
c89d0ca50b 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
Olivier Houchard
621cd62921 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
Simon J. Gerraty
c2365cc4cc Updated dependencies 2013-03-17 01:54:35 +00:00
Andrew Turner
b3a9841934 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
Simon J. Gerraty
7cf3a1c6b2 Updated dependencies 2013-03-11 17:21:52 +00:00
Adrian Chadd
bab63de286 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 Moolenaar
d7aa5f02d0 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
Simon J. Gerraty
f5f7c05209 Updated dependencies 2013-02-16 01:23:54 +00:00
Dimitry Andric
cc636314f0 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
David E. O'Brien
d9a447559b Sync with HEAD. 2013-02-08 16:10:16 +00:00
David E. O'Brien
3cbf5f97aa Correct the r242545 sync with head@242525. 2013-02-07 00:48:42 +00:00
Gabor Kovesdan
2dd076b84b - 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
David Chisnall
4792733bb8 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 Turner
4503502994 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 Davis
4282299f69 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
David Chisnall
af0dd31fc4 Import new (BSDL) device tree compiler. Now built by default, so that it can't
be used on the host system (and not installed on the device, if required).  The
GPL'd one is still available if there are any devices that need it (make
universe passes with it, including kernels that use fdt, but there may be some
out-of-tree ones).  WITH_GPL_DTC can be used to select the old one, for now.

Probably won't be MFC'd, but we'll remove the GPL'd version in head after the
new one has had a lot more testing and ship it in 10.0.
2013-01-22 17:49:51 +00:00
David Xu
87ec376216 Make "-D skip" option work with FIFO by opening file in non-blocking mode.
Reviewed by:	jhb
Tested by:	delphij
2013-01-22 03:23:14 +00:00
Adrian Chadd
23dbd4334a Add command-line support to kgdb to allow the baudrate to be set.
This allows a remote session to be specified with '-r' as well as a
non-default baudrate setting using '-b'.

TODO: add to the kgdb manpage.

MFC after:	2 weeks
2013-01-21 01:46:36 +00:00
Andrew Turner
1992e9a10c Add compiler support for the ARM EABI.
ARM EABI support is disabled by default and can be enabled by setting
WITH_ARM_EABI when building, however only the kernel-toolchain target will
work with this flag until the rest of the support is added.
2013-01-17 05:56:28 +00:00
Andrew Turner
3c35faa333 Set the correct relocation type for R_ARM_TARGET2 to R_ARM_GOT_PREL. The
TARGET2 relocation is unused in the current ABI but this change is
required for EABI support.
2013-01-06 07:14:04 +00:00
Antoine Brodin
620667435c Fix a dependency 2013-01-01 18:31:21 +00:00
Nathan Whitehorn
1971864966 Revert r241818 that updated dialog to 20120706. This turns out to horribly
break mixed form dialogs in conjunction with the FreeBSD termcap, making
the bsdinstall partition editor Add dialog, among other things, completely
nonfunctional. This restores dialog 20110707.
2012-12-30 04:22:34 +00:00
Andrew Turner
e376173cab Get libcompiler-rt and libgcc building on ARM with clang.
* Don't provide clear_cache or the __sync_* functions on ARM with clang as
  they are provided by clang as builtin functions.
* Tell clang it is aloud to compile some libgcc code using heinous GCC
  extensions.
2012-12-18 07:26:55 +00:00
Andrey A. Chernov
412fcd3f6c More correct version of prev. fix. 2012-12-18 04:44:36 +00:00
Andrey A. Chernov
89bae3c5d0 Fix:
line 11: Malformed conditional
(${TARGET} == "arm" || ${TARGET_ARCH} == "powerpc64")
2012-12-17 19:17:10 +00:00
Andrew Turner
70b6701d78 Also remove -Werror on arm with clang as there are warnings. 2012-12-15 21:33:12 +00:00
Eitan Adler
37a6031461 Clean up hardcoded ar(1) flags in the tree to use the global ARFLAGS in
share/mk/sys.mk instead.

This is part of a medium term project to permit deterministic builds of
FreeBSD.

Submitted by:	Erik Cederstrand <erik@cederstrand.dk>
Reviewed by:	imp, toolchain@
Approved by:	cperciva
MFC after:	2 weeks
2012-12-06 01:31:25 +00:00
Simon J. Gerraty
53cafa23cd We need /backward too it seems 2012-11-08 21:34:29 +00:00
Simon J. Gerraty
7cd2dcf076 Updated/new Makefile.depend 2012-11-08 21:24:17 +00:00
Simon J. Gerraty
23090366f7 Sync from head 2012-11-04 02:52:03 +00:00
Dimitry Andric
f289fa663b For building GNU libstdc++ and libsupc++, filter out libc++-specific and
-std= flags above c++98 or gnu++98 from CXXFLAGS *after* including
bsd.lib.mk, otherwise some additions to CXXFLAGS done in bsd.*.mk might
not be preserved.

MFC after:	1 week
2012-10-23 18:57:20 +00:00
Eitan Adler
56ac0dd99a Add support for the "&" character in usernames.
Charlie & finally has his last name.

PR:		gnu/37910
Submitted by:	Harry Newton <harry_newton@telinco.co.uk>
Approved by:	cperciva
MFC after:	1 week
2012-10-22 03:41:19 +00:00
Nathan Whitehorn
2a664c03e5 Update dialog to 20120706: includes minor useability enhancements and
fixes for warnings encountered with clang.
2012-10-21 18:25:12 +00:00
Gabor Kovesdan
d38ae94bce - Remove GNU sort and the WITH_GNU_SORT knob 2012-10-13 18:40:39 +00:00
Marcel Moolenaar
0815243c39 Add support for bmake. This includes:
1.  Don't do upgrade_checks when using bmake. As long as we have WITH_BMAKE,
    there's a bootstrap complication in ths respect. Avoid it. Make the
    necessary changes to have upgrade_checks work wth bmake anyway.
2.  Remove the use of -E. It's not needed in our build because we use ?= for
    the respective variables, which means that we'll take the environment
    value (if any) anyway.
3.  Properly declare phony targets as phony as bmake is a lot smarter (and
    thus agressive) about build avoidance.
4.  Make sure CLEANFILES is complete and use it on .NOPATH. bmake is a lot
    smarter about build avoidance and should not find files we generate in
    the source tree. We should not have files in the repository we want to
    generate, but this is an easier way to cross this hurdle.
5.  Have behavior under bmake the same as it is under make with respect to
    halting when sub-commands fail. Add "set -e" to compound commands so
    that bmake is informed when sub-commands fail.
6.  Make sure crunchgen uses the same make as the rest of the build. This
    is important when the make utility isn't called make (but bmake for
    example).
7.  While here, add support for using MAKEOBJDIR to set the object tree
    location. It's the second alternative bmake looks for when determining
    the actual object directory (= .OBJDIR).

Submitted by:	Simon Gerraty <sjg@juniper.net>
Submitted by:	John Van Horne <jvanhorne@juniper.net>
2012-10-06 20:01:05 +00:00
Dimitry Andric
69714daa44 For building libstdc++ and libsupc++, filter out any -stdlib=libc++
option from CXXFLAGS, otherwise these libraries will not build.
Similarly, filter out any -std=xxx options that aren't supported.

Submitted by:	Yamaya Takashi <yamayan@kbh.biglobe.ne.jp>
MFC after:	2 weeks
2012-08-25 23:08:24 +00:00
Roman Divacky
beaded8a1e Dont use -Werror when building libbfd and gnu as on powerpc64 with clang
as there are warnings.

Reviewed by:    nwhitehorn
2012-08-24 16:37:00 +00:00
Ruslan Ermilov
61fcb6bec9 A workaround in r238563 was for makes (notably bmake) without the
internal knowledge that "cd" is a shell's built-in.  Such makes
may attempt to exec() "cd" that in turn will fail on systems that
lack the "cd" executable.

Reworked this by eliminating the root cause.

Submitted by:	Simon Gerraty <sjg@juniper.net>
2012-08-24 06:55:16 +00:00
Marcel Moolenaar
7750ad47a9 Sync FreeBSD's bmake branch with Juniper's internal bmake branch.
Requested by: Simon Gerraty <sjg@juniper.net>
2012-08-22 19:25:57 +00:00
Andreas Tobler
8a1f9d1cf5 Fix typo. Not a win in terms of functionality but in terms of completeness. 2012-08-19 19:17:54 +00:00
David E. O'Brien
6f5e32433e Catch up with the subversion conversion and apply these build-time patches. 2012-08-17 18:20:38 +00:00
Oleksandr Tymoshenko
4da573d910 Merging of projects/armv6, part 3
r238211:
Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb

This adds a new TARGET_ARCH for building on ARM
processors that support the ARMv6K multiprocessor
extensions.  In particular, these processors have
better support for TLS and mutex operations.

This mostly touches a lot of Makefiles to extend
existing patterns for inferring CPUARCH from ARCH.
It also configures:
 * GCC to default to arm1176jz-s
 * GCC to predefine __FreeBSD_ARCH_armv6__
 * gas to default to ARM_ARCH_V6K
 * uname -p to return 'armv6'
 * make so that MACHINE_ARCH defaults to 'armv6'
It also changes a number of headers to use
the compiler __ARM_ARCH_XXX__ macros to configure
processor-specific support routines.

Submitted by:	Tim Kientzle <kientzle@freebsd.org>
2012-08-15 03:21:56 +00:00
Ruslan Ermilov
a16720da65 Backed out r228904, and added libstdthreads support to mdoc(7) to where
it belongs.
2012-07-26 11:10:25 +00:00
Ruslan Ermilov
770b69c0b7 Backed out r236255, and added FreeBSD 9.1 support to mdoc(7) to where
it belongs.
2012-07-26 10:58:30 +00:00
David E. O'Brien
d6844ac5b3 a ";" tells make we want the shell to be used
Submitted by:	Simon Gerraty <sjg@juniper.net>
2012-07-18 05:57:42 +00:00
Nathan Whitehorn
eb90003fa8 After the binutils 2.17.50 import, the assembler supports AS_REL16
relocations.
2012-07-08 17:02:14 +00:00
Gabor Kovesdan
7d26b3ee33 - Switch to BSD sort as default sort. GNU sort will still be installed as
"gnusort".  Most of the BSD sort development work was done by
  Oleg Moskalenko <oleg.moskalenko@citrix.com>.
- GNU grep can be set to default by setting WITH_GNU_GREP.  It will cause
  BSD sort to be installed as "bsdsort".

Portbuild tested by:    linimon
2012-06-27 05:59:01 +00:00
Marius Strobl
acc743293d Turn on TLS support for arm on here as it is supported since r231618/
r231619 and working since r233106.
2012-06-14 20:27:28 +00:00
David Chisnall
fe13239287 Clean up some symbol versions for libsupc++ / libcxxrt.
MFC after:	1 week
Reviewed by:	kan
2012-06-11 15:40:57 +00:00
Dag-Erling Smørgrav
87b8d8bbc9 Add mangled symbols for operator new / delete on 64-bit platforms.
Reported by:	decke@
MFC after:	1 week
2012-06-05 12:34:08 +00:00
David Chisnall
523f54dd4a Correctly export operator new / delete for things linking against libsupc++ but
not libstdc++.

Unfortunately, it appears that libsupc++ / libstdc++ have a different idea of
the type of size_t to the rest of the world, which may cause problems later
on...

Reported by:	des
MFC after:	1 week
2012-05-28 12:11:00 +00:00
Marcel Moolenaar
450ea99db7 Don't recurse into libssp when MK_SSP is set to no. 2012-05-21 16:03:44 +00:00
David Xu
f8ad51d5e2 Print key value, an index, otherwise we don't know which key is allocated. 2012-05-21 03:06:31 +00:00
Marcel Moolenaar
c7a6b0911b Build the "S" objects with the same name they get installed under.
That is, build crtbeginS.o and crtendS.o instead of crtbegin.So and
crtend.So. Remove the name substitution during install.

Obtained from:	Juniper Networks, Inc.
2012-05-17 20:38:01 +00:00
Marius Strobl
45e2c46b37 Switch sparc64 to using libcompiler_rt; since r230021 we have a workaround
in place allowing it to be used there and since r235388 (see also r235486)
we also have usable div/mod optimizations like libgcc has.
2012-05-15 22:47:34 +00:00
Gabor Kovesdan
85d7de106c - Hook up BSD sort to the build. By default, it will be installed as
"bsdsort" and GNU sort will be the default "sort".  When WITH_BSD_SORT
  is set, BSD sort will be the default "sort" and GNU sort will be installed
  as "gnusort".
2012-05-11 12:47:21 +00:00
Glen Barber
2fccbf04cc General mdoc(7) and typo fixes.
PR:		167696
Submitted by:	Nobuyuki Koganemaru (kogane!jp.freebsd.org)
MFC after:	3 days
2012-05-10 02:07:00 +00:00
Konstantin Belousov
4f20e4f263 Add src.conf option WITH_SHARED_TOOLCHAIN to enable building the
toolchain binaries as dynamically linked.  Option is disabled by
default.

Reviewed by:	ru (previous version)
MFC after:	2 weeks
2012-04-29 09:32:44 +00:00
Marcel Moolenaar
f502124c06 Allow building a powerpc cross-kgdb. 2012-04-27 20:16:20 +00:00
Dimitry Andric
db3212b375 Revert r234356 for now, as it leads to run-time problems on 32-bit
PowerPC.  Note this will break world.

Reported by:	andreast
Pointy hat to:	dim
2012-04-23 06:33:27 +00:00
Warner Losh
01712ae93a Replace a bare use of nm with ${NM} for easier cross compilation in
environments where nm is spelled differently.
2012-04-21 16:02:00 +00:00
Dimitry Andric
4f78aa4725 Work around an issue on 32-bit PowerPC, where clang executable can get
too big, causing 'relocation truncated to fit' errors at link time.

Reviewed by:	nwhitehorn
2012-04-16 21:36:55 +00:00
David Chisnall
cf56074e52 Make libsupc++ build as a shared library and make libstdc++ a filter library
for it.

This allows people to swap out libsupc++ for libcxxrt easily, so we can begin
the libstdc++ -> libc++ migration.

Approved by:	dim (mentor)
2012-03-31 14:25:12 +00:00
Juli Mallett
84db023ec1 Assume a big-endian default on MIPS and drop the "eb" suffix from MACHINE_ARCH.
This makes our naming scheme more closely match other systems and the
expectations of much third-party software.  MIPS builds which are little-endian
should require and exhibit no changes.  Big-endian TARGET_ARCHes must be
changed:
	From:		To:
	mipseb		mips
	mipsn32eb	mipsn32
	mips64eb	mips64

An entry has been added to UPDATING and some foot-shooting protection (complete
with warnings which should become errors in the near future) to the top-level
base system Makefile.
2012-03-29 02:54:35 +00:00