aboutsummaryrefslogtreecommitdiff
path: root/gnu/lib
Commit message (Collapse)AuthorAgeFilesLines
* Update libstdc++ configuration.Pedro F. Giffuni2018-07-161-20/+17
| | | | | | | | | | | | | Its been quite a while since the last time we updated this and since then we have grown iconv and a bunch of complex math functions. This only applies to the platforms which still use GCC 4.2.1 in the toolchain. Differential Revision: https://reviews.freebsd.org/D16289 Notes: svn path=/head/; revision=336351
* Remove libreadline from the source tree, all consumers but gdbBaptiste Daroussin2018-02-066-333/+0
| | | | | | | | | | | | | has been switched to libedit long ago, libreadline was built as an internallib for a while and kept only for gdbtui which was broken using libreadline. Since gdb has been mostly deorbitted in all arches, gdbtui was only installed on arm and sparc64, given it has been removed, gdb has been switched to use libedit, no consumers are left for libreadline. Thus this removal Notes: svn path=/head/; revision=328928
* DIRDEPS_BUILD: Update dependencies.Bryan Drewery2017-10-316-6/+0
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325188
* GNU diff is done and GNU diff3 is not using libgnuregex, so no need toBaptiste Daroussin2017-04-201-2/+2
| | | | | | | condition the build of libgnuregex anymore on WITHOUT_GNU_DIFF Notes: svn path=/head/; revision=317211
* Only build libreadline for gdb, binutils actually does not need itBaptiste Daroussin2017-04-201-4/+1
| | | | Notes: svn path=/head/; revision=317210
* Convert gnu to using SRCTOPWarner Losh2017-03-129-18/+18
| | | | | | | | | | | | | | | Prefer SRCTOP over CURDIR/../../contrib, etc. However, retain the "up one level" instances of ../ because they are really relative to this part of the tree and not a means to find the root of the tree. As such, it's better to leave them since that further the goal of being able to move directories if watned to in the future. Differential Revision: https://reviews.freebsd.org/D9932 Sponsored by: Netflix Silence On: arch@ (twice) Notes: svn path=/head/; revision=315175
* Enable /usr/lib32 for o32 binaries on mips64.John Baldwin2017-01-061-1/+2
| | | | | | | | | | | | | Build and install an o32 set of libraries on mips64 suitable for running o32 binaries via COMPAT_FREEBSD32. Enable COMPAT_FREEBSD32 in MALTA64. Reviewed by: jmallett, imp Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D9032 Notes: svn path=/head/; revision=311567
* Connect new LLVM-based libgcc_eh & libgcc_s to the buildEd Maste2016-11-042-41/+4
| | | | | | | | | | | | | | | Compiler-rt and LLVM's libunwind provide a suitable replacement for libgcc.a, libgcc_eh.a, and libgcc_s.so. Remove the now-unused LLVM_LIBUNWIND block from gnu/lib/libgcc. PR: 213480 [exp-run] Reviewed by: brooks, ed Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D8189 Notes: svn path=/head/; revision=308308
* Fix packaging /usr/lib{,32}/libgcc_eh{,_p}.a.Glen Barber2016-10-311-2/+2
| | | | | | | | | Reported by: woodsb02 MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=308156
* Add full softfloat and hardfloat support for MIPS.Ruslan Bukin2016-10-311-1/+1
| | | | | | | | | | | | | | This adds new target architectures for hardfloat: mipselhf mipshf mips64elhf mips64hf. Tested in QEMU only. Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D8376 Notes: svn path=/head/; revision=308130
* Create a new MACHINE_ARCH for Freescale PowerPC e500v2Justin Hibbits2016-10-222-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The Freescale e500v2 PowerPC core does not use a standard FPU. Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this. Additionaly, the SPE opcodes overlap with Altivec, so these are mutually exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was created with the same function set as in powerpc/powerpc/altivec.c, so it becomes effectively a drop-in replacement. setjmp/longjmp were modified to save the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by the SPE). Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not support double-precision floating point. Also, without a new MACHINE_ARCH it would be impossible to provide binary packages which utilize the SPE. Additionally, no work has been done to support ports, work is needed for this. This also means no newer gcc can yet be used. However, gcc's powerpc support has been refactored which would make adding a powerpcspe-freebsd target very easy. Test Plan: This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222 (P1022-based) board, compiled against the new ABI. Base system utilities (/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot multiuser. Reviewed By: bdrewery, imp Relnotes: yes Differential Revision: https://reviews.freebsd.org/D5683 Notes: svn path=/head/; revision=307761
* Revert r307689Enji Cooper2016-10-211-7/+2
| | | | | | | | | | | | | | | | | | | | | The proposed change ("Fix building of llvm's unwind if gcc has been also built") breaks the build with clang/llvm. Tested with... ( export SRCCONF=/dev/null WITH_CLANG= cd gnu/lib/libgcc; make obj; make depend; make all ) MFC after: 3 days X-MFC with: r307689 Pointyhat to: bapt Reported by: Jenkins, O. Hartmann <ohartman@zedat.fu-berlin.de> Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=307699
* Fix building of llvm's unwind if gcc has been also builtBaptiste Daroussin2016-10-201-2/+7
| | | | | | | | | | | | | when building gcc an unwind.h header is generate in the cc_tool directory which is included in the CFLAGS before the path where the llvm's unwind.h file lives Reviewed by: emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D7357 Notes: svn path=/head/; revision=307689
* Correct typo in r307679: the variable is MK_GNU_GREP_COMPATEd Maste2016-10-201-1/+1
| | | | Notes: svn path=/head/; revision=307683
* Build libgnuregex only if necessary for other componentsEd Maste2016-10-201-1/+5
| | | | | | | | Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D8298 Notes: svn path=/head/; revision=307679
* Put each SUBDIR on a separate line for ease of maintenanceEd Maste2016-10-191-1/+3
| | | | | | | | | Additional patches to this file are in progress, and having each SUBDIR entry on a separate line makes it easier to change the order in which the patches are reviewed, tested, and applied. Notes: svn path=/head/; revision=307656
* Switch gnu/lib/Makefile to SUBDIR.${MK_*} optional subdir styleEd Maste2016-10-191-12/+3
| | | | | | | Compound conditions are left unchanged Notes: svn path=/head/; revision=307652
* Don't build libdialog if WITHOUT_DIALOG is setEd Maste2016-10-031-1/+3
| | | | | | | X-MFC-With: r306375 Notes: svn path=/head/; revision=306648
* When MAKEOBJDIRPREFIX points to a case-insensitive file system, theMarcel Moolenaar2016-09-242-8/+8
| | | | | | | | | | | | | | | | | build can break when different source files create the same target files (case-insensitivity speaking). This is the case for object files compiled with -fpic and shared libraries. The former uses an extension of ".So", and the latter an extension ".so". Rename shared object files from *.So to *.pico to match what NetBSD does. See also r305855 MFC after: 1 month Sponsored by: Bracket Computing Differential Revision: https://reviews.freebsd.org/D7906 Notes: svn path=/head/; revision=306297
* DIRDEPS_BUILD: Avoid cyclic dependency with libc++.Bryan Drewery2016-08-311-0/+4
| | | | | | | | | | | | The DIRDEPS_BUILD does not have a 'make includes' phase, so it would otherwise want libc++ to be fully built/staged before building libgcc. Using the header directly works. MFC after: 3 days Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=305145
* rename ARM's libunwind.S to to avoid conflict with llvm libunwindEd Maste2016-07-271-1/+1
| | | | | | | | | | | | | | llvm libunwind includes a libunwind.cpp, but on ARM libunwind.S is found first in .PATH. Rename the latter one, since it is not going to be updated again. Reviewed by: andrew MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D7162 Notes: svn path=/head/; revision=303396
* libunwind: enable only the native unwinder by defaultEd Maste2016-07-081-1/+1
| | | | | | | | | | | This significantly reduces stack space requirements, and runtimes require only native unwinding. MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=302456
* libsupc++: Fix typo in symbol map.Pedro F. Giffuni2016-06-081-1/+1
| | | | | | | | | | | This went mostly unnoticed with the deprecation of the GNU toolchain in tier 1 platforms. Fix it now for the rest. PR: 169901 MFC after: 3 days Notes: svn path=/head/; revision=301570
* Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installedEnji Cooper2016-05-041-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | after r298107 Summary of changes: - Replace all instances of FILES/TESTS with ${PACKAGE}FILES. This ensures that namespacing is kept with FILES appropriately, and that this shouldn't need to be repeated if the namespace changes -- only the definition of PACKAGE needs to be changed - Allow PACKAGE to be overridden by callers instead of forcing it to always be `tests`. In the event we get to the point where things can be split up enough in the base system, it would make more sense to group the tests with the blocks they're a part of, e.g. byacc with byacc-tests, etc - Remove PACKAGE definitions where possible, i.e. where FILES wasn't used previously. - Remove unnecessary TESTSPACKAGE definitions; this has been elided into bsd.tests.mk - Remove unnecessary BINDIRs used previously with ${PACKAGE}FILES; ${PACKAGE}FILESDIR is now automatically defined in bsd.test.mk. - Fix installation of files under data/ subdirectories in lib/libc/tests/hash and lib/libc/tests/net/getaddrinfo - Remove unnecessary .include <bsd.own.mk>s (some opportunistic cleanup) Document the proposed changes in share/examples/tests/tests/... via examples so it's clear that ${PACKAGES}FILES is the suggested way forward in terms of replacing FILES. share/mk/bsd.README didn't seem like the appropriate method of communicating that info. MFC after: never probably X-MFC with: r298107 PR: 209114 Relnotes: yes Tested with: buildworld, installworld, checkworld; buildworld, packageworld Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=299094
* Fix including Kyuafile in packaged base system.Glen Barber2016-04-291-1/+2
| | | | | | | | | | | | | | | Fix a related typo while here. Note, this change results in the Kyuafile inclusion in the runtime package, which needs to be fixed, however addresses the PR as far as I can tell in my tests. PR: 209114 Submitted by: ngie Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=298768
* Follow-up r297842: Rework header generation to fix always rebuilding.Bryan Drewery2016-04-183-18/+13
| | | | | | | | | | | | | This reworks the handling of common headers to just include the needed logic rather than invoke MAKE. This avoids the problem listed in r297842 and avoids other dependency tracking issues. Pointyhat to: bdrewery Reported by: Nikolai Lifanov <lifanov@mail.lifanov.com> Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=298218
* MFHGlen Barber2016-04-123-3/+3
|\ | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=297861
| * META_MODE: Avoid changed build command every build.Bryan Drewery2016-04-123-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because the file is generated with -f using another Makefile, 2 different Makefiles are trying to handle the .meta file for the target. The obvious .NOMETA_CMP or .NOMETA on the ${MAKE} targets don't work as they are very limited in scope in bmake. Using .PHONY fixes the problem and ensures that the ${MAKE} command is always ran to check if it is outdated in the sub-make. An example of the problem in gnu/lib/libgcc (with make -dM): /usr/obj/root/git/freebsd/gnu/lib/libgcc/tm.h.meta: 2: a build command has changed TARGET_CPU_DEFAULT="" HEADERS="options.h i386/biarch64.h i386/i386.h i386/unix.h i386/att.h dbxelf.h elfos-undef.h elfos.h freebsd-native.h freebsd-spec.h freebsd.h i386/x86-64.h i386/freebsd.h i386/freebsd64.h defaults.h" DEFINES="" /bin/sh /root/git/freebsd/gnu/lib/libgcc/../../../contrib/gcc/mkconfig.sh tm.h vs (cd /root/git/freebsd/gnu/lib/libgcc; make -f /root/git/freebsd/gnu/lib/libgcc/../../usr.bin/cc/cc_tools/Makefile MFILE=/root/git/freebsd/gnu/lib/libgcc/../../usr.bin/cc/cc_tools/Makefile GCCDIR=/root/git/freebsd/gnu/lib/libgcc/../../../contrib/gcc tm.h) Skipping meta for tm.h: .NOMETA (cd /root/git/freebsd/gnu/lib/libgcc; make -f /root/git/freebsd/gnu/lib/libgcc/../../usr.bin/cc/cc_tools/Makefile MFILE=/root/git/freebsd/gnu/lib/libgcc/../../usr.bin/cc/cc_tools/Makefile GCCDIR=/root/git/freebsd/gnu/lib/libgcc/../../../contrib/gcc tm.h) `tm.h' is up to date. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=297842
* | MFHGlen Barber2016-04-041-1/+0
|\| | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=297567
| * Remove the old depend (mkdep) code and make FAST_DEPEND the one true way.Bryan Drewery2016-03-301-1/+0
| | | | | | | | | | | | | | | | | | | | Reviewed by: emaste, hselasky (partial), brooks (brief) Discussed on: arch@ Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5742 Notes: svn path=/head/; revision=297434
* | MFHGlen Barber2016-03-101-0/+11
|\| | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=296625
| * DIRDEPS_BUILD: Connect MK_TESTS.Bryan Drewery2016-03-091-0/+11
| | | | | | | | | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296587
* | MFHGlen Barber2016-03-028-582/+6
|\| | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=296318
| * OBJS and POBJS have not been used since r215127.Bryan Drewery2016-02-241-6/+4
| | | | | | | | | | | | | | | | | | | | r215127 disabled building of libgcc.a. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296012
| * Don't hide AR command as bsd.lib.mk's r283925 changed as well.Bryan Drewery2016-02-241-2/+2
| | | | | | | | | | | | | | | | MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296002
| * DIRDEPS_BUILD: Regenerate without local dependencies.Bryan Drewery2016-02-247-574/+0
| | | | | | | | | | | | | | | | | | | | | | These are no longer needed after the recent 'beforebuild: depend' changes and hooking DIRDEPS_BUILD into a subset of FAST_DEPEND which supports skipping 'make depend'. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=295989
* | Remove libc, librtld_db, libthr packages, and further increaseGlen Barber2016-02-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the constraints on what needs to be installed in a specific to maintain consistency during upgrades. Create a new clibs package containing libraries that are needed as a bare minimum for consistency. With much help and input from: kib Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295337
* | First pass to fix the 'tests' packages.Glen Barber2016-02-021-0/+5
|/ | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295171
* Make .debug file for libgcc_s.so.1 more useful.Alexander Kabaev2016-01-271-1/+1
| | | | | | | | | The files compiled into libgcc_s.so.1 did not have -g on compiler command line, making generated .debug quite pointless. Notes: svn path=/head/; revision=294935
* Make libgcc compilable on RISC-V.Ruslan Bukin2016-01-261-2/+7
| | | | Notes: svn path=/head/; revision=294834
* Use MAN= to specify that no man page is providedEd Maste2016-01-221-1/+1
| | | | | | | | | NO_MAN is deprecated. Reviewed by: imp Notes: svn path=/head/; revision=294608
* Restore libunwind.cpp to LLVM libunwind build (reverts r294576)Ed Maste2016-01-221-1/+2
| | | | | | | The unw_* functions are not exported, but are used internally. Notes: svn path=/head/; revision=294590
* Drop HP libunwind (unw_*) functions from LLVM libunwindEd Maste2016-01-221-2/+1
| | | | | | | They are not needed for exception handling. Notes: svn path=/head/; revision=294576
* Remove old generated unwind.h when using LLVM libunwindEd Maste2016-01-221-1/+6
| | | | | | | | | | | | | | When not using LLVM libunwind, unwind.h is a generated header and a stale copy may remain in the OBJDIR after enabling LLVM libunwind. Explicitly remove it. Reported by: bz Reviewed by: bdrewery Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5019 Notes: svn path=/head/; revision=294542
* Remove local override for .cpp.o and .cpp.po rulesEd Maste2016-01-191-8/+1
| | | | | | | | | | | | | | The local build rule used to set -fvisibility=hidden and -fPIC, in addition to -fexceptions and -D defines that had no effect. With -fvisibility=hidden and -fPIC in STATIC_CXXFLAGS the standard bsd.lib.mk rules are suitable for libgcc_s's C++ source. PR: 206381 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=294331
* Remove local override for .cpp.So ruleEd Maste2016-01-191-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The standard bsd.lib.mk rule is suitable for libgcc_s's C++ source. The local rule had the following non-functional argument differences or additions: 1. -DSHARED (rather than -DPIC from bsd.lib.mk) The C++ sources don't have an #ifdef for either one. 2. -fexceptions This is enabled by default for C++ so does not need to be set explicitly. 3. -D__GLIBC__=3 Not used by LLVM libunwind. 4. -DElfW=__ElfN LLVM libunwind provides its own definition. PR: 206381 Differential Revision: The FreeBSD Foundation Notes: svn path=/head/; revision=294308
* Support use of LLVM's libunwind for exception unwindingEd Maste2016-01-091-4/+51
| | | | | | | | | | | | | | | | | | It is built in libgcc_s.so and libgcc_eh.a to simplify transition. It is enabled by default on arm64 (where we previously had no other unwinder) and may be enabled for testing on other platforms by setting WITH_LLVM_LIBUNWIND in src.conf(5). Also add compiler-rt's __gcc_personality_v0 implementation for use with the LLVM unwinder. Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D4787 Notes: svn path=/head/; revision=293450
* META MODE: Update dependencies with 'the-lot' and add missing directories.Bryan Drewery2015-12-011-0/+2
| | | | | | | | | | | | | | | | | This is not properly respecting WITHOUT or ARCH dependencies in target/. Doing so requires a massive effort to rework targets/ to do so. A better approach will be to either include the SUBDIR Makefiles directly and map to DIRDEPS or just dynamically lookup the SUBDIR. These lose the benefit of having a userland/lib, userland/libexec, etc, though and results in a massive package. The current implementation of targets/ is very unmaintainable. Currently rescue/rescue and sys/modules are still not connected. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291563
* Replace DPSRCS that work fine in SRCS.Bryan Drewery2015-11-251-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is so that 'make depend' is not a required build step in these files. DPSRCS is overall unneeded. DPSRCS already contains SRCS, so anything which can safely be in SRCS should be. DPSRCS is mostly just a way to generate files that should not be linked into the final PROG/LIB. For headers and grammars it is safe for them to be in SRCS since they will be excluded during linking and installation. The only remaining uses of DPSRCS are for generating .c or .o files that must be built before 'make depend' can run 'mkdep' on the SRCS c files list. A semi-proper example is in tests/sys/kern/acct/Makefile where a checked-in .c file has an #include on a generated .c file. The generated .c file should not be linked into the final PROG though since it is #include'd. The more proper way here is just to build/link it in though without DPSRCS. Another example is in sys/modules/linux/Makefile where a shell script runs to parse a DPSRCS .o file that should not be linked into the module. Beyond those, the need for DPSRCS is largely unneeded, redundant, and forces 'make depend' to be ran. Generally, these Makefiles should avoid the need for DPSRCS and define proper dependencies for their files as well. An example of an improper usage and why this matters is in usr.bin/netstat. nl_defs.h was only in DPSRCS and so was not generated during 'make all', but only during 'make depend'. The files including it lacked proper depenencies on it, which forced running 'make depend' to workaround that bug. The 'make depend' target should mostly be used for incremental build help, not to produce a working build. This specific example was broken in the meta build until r287905 since it does not run 'make depend'. The gnu/lib/libreadline/readline case is fine since bsd.lib.mk has 'OBJS: SRCS:M*.h' when there is no .depend file. Sponsored by: EMC / Isilon Storage Division MFC after: 1 week Notes: svn path=/head/; revision=291330
* META MODE: Don't create .meta files when symlinking sources into the obj ↵Bryan Drewery2015-11-253-5/+5
| | | | | | | | | | | | | | directory. Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln are newer than the source file. There's no reason for meta mode to do this as make is already handling the rebuild dependency fine. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291320