aboutsummaryrefslogtreecommitdiff
path: root/gnu/lib/libgcc
Commit message (Collapse)AuthorAgeFilesLines
* Retire build support for GCC's DWARF unwinderEd Maste2020-01-082-390/+0
| | | | | | | | | | | As of r356514 LLVM's libunwind is used as the DWARF unwinder on all supported CPU architectures, and GCC and its libraries will be removed soon. Retire the build infrastructure for GCC's unwinder; from here if there are any unwinder bugs (on any arch) the path forward is to fix LLVM's libunwind. Notes: svn path=/head/; revision=356517
* Support reading in .depend files.Bryan Drewery2019-06-151-5/+5
| | | | | | | | | | | This is for an upcoming change that fixes .depend handling in here. It will cause some duplicate sources which need to be trimmed out. MFC after: 2 weeks Sponsored by: DellEMC Notes: svn path=/head/; revision=349067
* 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-041-39/+0
| | | | | | | | | | | | | | | 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-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* When MAKEOBJDIRPREFIX points to a case-insensitive file system, theMarcel Moolenaar2016-09-241-7/+7
| | | | | | | | | | | | | | | | | 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
* Follow-up r297842: Rework header generation to fix always rebuilding.Bryan Drewery2016-04-181-9/+4
| | | | | | | | | | | | | 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-121-1/+1
|\ | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=297861
| * META_MODE: Avoid changed build command every build.Bryan Drewery2016-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-03-022-278/+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-241-270/+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
* 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
* 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: Prefer INSTALL=tools/install.sh to lessen the need for xinstall.host.Bryan Drewery2015-11-251-1/+0
| | | | | | | | | | | This both avoids some dependencies on xinstall.host and allows bootstrapping on older releases to work due to lack of at least 'install -l' support. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291307
* new dependsSimon J. Gerraty2015-06-161-0/+1
| | | | Notes: svn path=/head/; revision=284481
* Hook extra libs to _LIBS so bsd.lib.mk can do its thingSimon J. Gerraty2015-06-161-2/+3
| | | | | | | | Differential Revision: D2843 Reviewed by: imp Notes: svn path=/head/; revision=284480
* Revert r284417 it is not necessary anymoreBaptiste Daroussin2015-06-151-1/+1
| | | | Notes: svn path=/head/; revision=284421
* Enforce overwritting SHLIBDIRBaptiste Daroussin2015-06-151-1/+1
| | | | | | | | | | | | 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 Notes: svn path=/head/; revision=284417
* Add META_MODE support.Simon J. Gerraty2015-06-131-0/+286
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=284345
| * dirdeps.mk now sets DEP_RELDIRSimon J. Gerraty2015-06-081-2/+0
| | | | | | | | Notes: svn path=/projects/bmake/; revision=284172
| * Merge sync of headSimon J. Gerraty2015-05-271-5/+3
| |\ | |/ |/| | | Notes: svn path=/projects/bmake/; revision=283595
| * Merge from head@274682Simon J. Gerraty2014-11-191-7/+4
| |\ | | | | | | | | | Notes: svn path=/projects/bmake/; revision=274683
| * \ Merge head from 7/28Simon J. Gerraty2014-08-192-12/+2
| |\ \ | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=270164
| * | | Updated dependenciesSimon J. Gerraty2014-05-161-1/+1
| | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=266219
| * | | Updated dependenciesSimon J. Gerraty2014-05-101-0/+2
| | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265802
| * | | Merge from headSimon J. Gerraty2014-05-081-1/+1
| |\ \ \ | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265720
| * | | | New/updated dependenciesSimon J. Gerraty2014-05-051-0/+6
| | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265381
| * | | | Merge headSimon J. Gerraty2014-04-281-10/+8
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265044
| * \ \ \ \ Merge from headSimon J. Gerraty2013-09-051-4/+0
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=255263
| * \ \ \ \ \ sync from headSimon J. Gerraty2013-04-121-3/+3
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=249429
| * | | | | | | Updated dependenciesSimon J. Gerraty2013-02-161-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=246868
| * | | | | | | Sync with HEAD.David E. O'Brien2013-02-081-11/+27
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=246555
| * | | | | | | | Updated/new Makefile.dependSimon J. Gerraty2012-11-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=242788
| * | | | | | | | Sync from headSimon J. Gerraty2012-11-041-1/+1
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=242545