summaryrefslogtreecommitdiff
path: root/contrib/gcclibs
Commit message (Collapse)AuthorAgeFilesLines
* Remove contrib/gcc and contrib/gcclibsEd Maste2020-02-29329-186814/+0
| | | | | | | | | GCC 4.2.1 was disconnected from FreeBSD in r358454. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=358459
* Define libcpp's HAVE_DESIGNATED_INITIALIZERS in a defined and portableDimitry Andric2016-09-051-3/+6
| | | | | | | | | way. MFC after: 3 days Notes: svn path=/head/; revision=305430
* libcpp: Complete the __COUNTER__ support with upstream implementation.Pedro F. Giffuni2016-08-304-2/+55
| | | | | | | | | | | | | We brought an original __COUNTER__ implementation in r228474, however, it was missing documentation and it had a different behaviour for precompiled headers with respect to the upstream version. Since the upstream version is under the same license as GCC4.2, bring the missing pieces to reduce differences against upstream. Optained from: GCC pre-4.3 (rev. 125041 ; GPLv2) Notes: svn path=/head/; revision=305083
* libiberty: prevent integer overflow.Pedro F. Giffuni2016-06-032-4/+11
| | | | | | | | | | | | Take care of very old bug leading to heap-buffer overflow by processing certain file headers via bfd binary. PR: 200888 Obtained from: OpenBSD MFC after: 2 weeks Notes: svn path=/head/; revision=301291
* In gcc's libcpp, stop using the INTTYPE_MAXIMUM() macro, which relies onDimitry Andric2015-08-121-2/+2
| | | | | | | | | | | undefined behavior. The code used this macro to avoid problems on some broken systems which define SSIZE_MAX incorrectly, but this is not needed on FreeBSD, obviously. MFC after: 3 days Notes: svn path=/head/; revision=286699
* libgomp: bring initial BSD support from upstream.Pedro F. Giffuni2015-04-286-2/+134
| | | | | | | | | | | | | 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+) Notes: svn path=/head/; revision=282201
* MFV r282150Pedro F. Giffuni2015-04-2816-1246/+10975
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | libgomp: Update to version 4.3.5. This is a partial revert of r282115, to bring the fromal upstream libgomp from GCC 4.3.5 Release under LGPLv2.1+. This is only brought to ease the ongoing development of the CPU affinity support. This shall not be MFC'd. Notes: svn path=/head/; revision=282152
| * Reorganize the gcc vendor import work area. This flattens out a bunchPeter Wemm2008-06-01319-175706/+0
| | | | | | | | | | | | | | | | | | of unnecessary path components that are relics of cvs2svn. (These are directory moves) Notes: svn path=/vendor/gcc/dist/; revision=179468
* | libgomp: bring early CPU affinity support from FSF GCC-4_3 branch.Pedro F. Giffuni2015-04-2711-8/+387
| | | | | | | | | | | | | | | | | | | | 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+) Notes: svn path=/head/; revision=282115
* | Avoid "cc1: warning: is shorter than expected" when using GNU cpp inDimitry Andric2014-03-261-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | combination with dtrace scripts, which have "#!/usr/sbin/dtrace -Cs" shebang lines. This is because dtrace positions the file pointer after the shebang line, before passing the file to GNU cpp. To fix the warning, adjust the size downwards by the current position, after a bit of sanity checking. Suggested by: avg MFC after: 1 week Notes: svn path=/head/; revision=263775
* | gcc: Add support for Apple's Block extensionPedro F. Giffuni2014-01-052-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Block objects [1] are a C-level syntactic and runtime feature. They are similar to standard C functions, but in addition to executable code they may also contain variable bindings to automatic (stack) or managed (heap) memory. A block can therefore maintain a set of state (data) that it can use to impact behavior when executed. This port is based on Apple's GCC 5646 with some bugfixes from Apple GCC 5666.3. It has some small differences with the support in clang, which remains the recommended compiler. Perhaps the most notable difference is that in GCC that __block is not actually a keyword, but a macro. There will be workaround for this issue in a near future. Other issues can be consulted in the clang documentation [2] For better compatiblity with Apple's GCC and llvm-gcc some related fixes and features from Apple have been included. Support for the non-standard nested functions in GCC is now off by default. No effort was made to update the ObjC support since FreeBSD doesn't carry ObjC in the base system, but some of the code crept in and was more difficult to remove than to adjust. Reference: [1] https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Blocks/Articles/00_Introduction.html [2] http://clang.llvm.org/compatibility.html#block-variable-initialization Obtained from: Apple GCC 4.2 MFC after: 3 weeks Notes: svn path=/head/; revision=260311
* | libcpp: misc fixes from Apple's GCC.Pedro F. Giffuni2014-01-055-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | Fixes some bugs detected by Apple: #error with unmatched quotes pragma mark Obtained from: Apple GCC 4.2 - 5553 MFC after: 1 week Notes: svn path=/head/; revision=260310
* | gcc: add Apple compatible -Wnewline-eofPedro F. Giffuni2013-12-185-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC 4.2 and previous have always warned about "No newline at end of file". Upstream GCC removed the warning completely but Apple made it an optional warning. Adopt it for compatibility with older GCC and clang. While here, add comment to complement r258712. Obtained from: Apple Inc. (Apple GCC 4.2 - 5531) MFC after: 1 week Notes: svn path=/head/; revision=259555
* | libcpp: Merge fixes from upstreamPedro F. Giffuni2013-12-025-66/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC preprocessor/29966: * macro.c (lex_expansion_token): Save and restore cpp_reader's cur_token. (_cpp_create_definition): Don't restore cur_token here. * lex.c (_cpp_lex_token): Added assertion. GCC preprocessor/28709: * macro.c (paste_tokens): Remove PASTE_LEFT from the old lhs. GCC c/31924 * expr.c (interpret_float_suffix): Check for invalid suffix. GCC preprocessor/14331 * lex.c (_cpp_get_fresh_line): Don't warn if no newline at EOF. Fixup whitespacing Obtained from: gcc per-4.3 (rev. 121340, 124356, 124358, 124730, 125212, 125255 ; GPLv2) MFC after: 3 weeks Notes: svn path=/head/; revision=258826
* | libiberty: upstream updates.Pedro F. Giffuni2013-12-0110-113/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a new ChangeLog.gcc43 file but most notable: * floatformat.c (get_field): Fix segfault with little-endian word order on 64-bit hosts. (put_field): Likewise. (min): Move definition. gcc/cp/ChangeLog 2007-05-04 Geoffrey Keating <geoffk@apple.com> PR 31775 * mangle.c (write_mangled_name): Mangle static variable names. (write_unqualified_name): Use local-source-name for namespace-scope static variables. (Completes FreeBSD's r258017 ) Obtained from: gcc 4.3 (rev. 118552, 120097, 20698, 120702, 121364, 122972, 126588; GPLv2) MFC after: 2 weeks Notes: svn path=/head/; revision=258817
* | libcpp: fix an underflow.Pedro F. Giffuni2013-11-281-1/+1
| | | | | | | | | | | | | | | | Obtained from: OpenBSD (Rev 1.2) MFC after: 2 weeks Notes: svn path=/head/; revision=258712
* | Fix a segfault / internal compiler error.Matthew D Fleming2013-11-261-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Among other causes, when gcc throws a warning before parsing any tokens, the cur_token pointer is at the beginning of malloc'd memory. Dereferencing cur_token[-1] can cause a segfault. Code taken from OpenBSD http://www.openbsd.org/cgi-bin/cvsweb/src/gnu/gcc/libcpp/errors.c which was a more complete fix than the one I originally coded. MFC after: 1 week Notes: svn path=/head/; revision=258658
* | libcpp: Keep a record of changes from upstream GCC (pre-43).Pedro F. Giffuni2013-11-241-0/+29
| | | | | | | | | | | | | | | | | | | | This makes it easier to track the changes in the rare event of the code being distributed without access to version control. MFC after: 3 weeks Notes: svn path=/head/; revision=258530
* | gcc: Bring updates from Google's enhanced gcc-4.2.1.Pedro F. Giffuni2013-11-238-17/+282
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Google released and enhanced version of gcc-4.2.1 plus their local patches for Android[1]. The patches are owned by Google and the license hasn't been changed from the original GPLv2. We are only bringing a subset of the available patches that may be helpful in FreeBSD. Changes specific to android are not included. From the README.google file[1]. Patches applied to google_vendor_src_branch/gcc/gcc-4.2.1: gcc/Makefile.in gcc/c-common.c gcc/c-common.h gcc/c-opts.c gcc/c-typeck.c gcc/cp/typeck.c gcc/doc/invoke.texi gcc/flags.h gcc/opts.c gcc/tree-flow.h gcc/tree-ssa-alias-warnings.c gcc/tree-ssa-alias.c Backport of -Wstrict-aliasing from mainline. Silvius Rus <rus@google.com> gcc/coverage.c: Patch coverage_checksum_string for PR 25351. Seongbae Park <spark@google.com> Not yet submitted to FSF. gcc/c-opts.c gcc/c-ppoutput.c gcc/c.opt gcc/doc/cppopts.texi libcpp/Makefile.in libcpp/directives-only.c libcpp/directives.c libcpp/files.c libcpp/include/cpplib.h libcpp/init.c libcpp/internal.h libcpp/macro.c Support for -fdirectives-only. Ollie Wild <aaw@google.com>. Submitted to FSF but not yet approved. libstdc++-v3/include/ext/hashtable.h http://b/742065 http://b/629994 Reduce min size of hashtable for hash_map, hash_set from 53 to 5 libstdc++-v3/include/ext/hashtable.h http://b/629994 Do not iterate over buckets if hashtable is empty. gcc/common.opt gcc/doc/invoke.texi gcc/flags.h gcc/gimplify.c gcc/opts.c Add Saito's patch for -finstrument-functions-exclude-* options. gcc/common.opt gcc/doc/invoke.texi gcc/final.c gcc/flags.h gcc/opts.c gcc/testsuite/gcc.dg/Wframe-larger-than.c Add a new flag -Wframe-larger-than- which enables a new warning when a frame size of a function is larger than specified. This patch hasn't been integrated into gcc mainline yet. gcc/tree-vrp.c Add a hack to avoid using ivopts information for pointers starting at constant values. Reference: [1] https://android.googlesource.com/toolchain/gcc/+/master/gcc-4.2.1/ Obtained from: Google Inc. MFC after: 3 weeks Notes: svn path=/head/; revision=258501
* | libcpp: preprocessor speedup patches from mainline.Pedro F. Giffuni2013-11-163-13/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lex.c (_cpp_clean_line): Add uses of __builtin_expect. Don't look backward at the end of the line unless we saw a backslash. * internal.h (struct cpp_reader): Add new fields: nonexistent_file_hash and nonexistent_file_ob. * files.c: Include "obstack.h". (find_file_in_dir): Before trying to open the file, look up the path name in the hash table of nonexistent files. After failing to open the file, add the path name to the hash table. (_cpp_find_file): Cache the results of looking up the file name starting with the quote and bracket chain heads, if we can. (nonexistent_file_hash_eq): New static function. (_cpp_init_files): Initialize pfile->nonexistent_file_hash and pfile->nonexistent_file_ob. (_cpp_cleanup_files): Free pfile->nonexistent_file_hash and pfile->nonexistent_file_ob. Obtained from: gcc 4.3 (rev. 120263, 124929 ; GPLv2) MFC after: 3 weeks Notes: svn path=/head/; revision=258205
* | cxxfilt: small changes from Apple's developer toolsPedro F. Giffuni2013-11-112-1/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From Apple's Developer Tools 4.0 [1]: demangle.patch 2007-05-05 Geoffrey Keating (d_name): Detect local-source-name. (d_prefix): Likewise. (d_unqualified_name): Implement local-source-name. libiberty-printf.patch MFC after: 1 month [1] http://opensource.apple.com/source/cxxfilt/cxxfilt-9/patches/ Notes: svn path=/head/; revision=258017
* | Quiesce warning by including appropriate header fileSean Bruno2013-10-291-0/+2
| | | | | | | | Notes: svn path=/head/; revision=257362
* | Resolve clang warning about a use of syslog. By using a proper enforcementSean Bruno2013-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of string format in a call so syslog /usr/src/gnu/lib/libssp/../../../contrib/gcclibs/libssp/ssp.c:137:23: warning: format string is not a string literal (potentially insecure) [-Wformat-security] syslog (LOG_CRIT, msg1); ^~~~ Reviewed by: dim@ Notes: svn path=/head/; revision=256866
* | Add support for the GCC binary integer constants extension.Pedro F. Giffuni2013-08-312-3/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | This is required to build the i965 backend with newer versions of mesa. Original patch from Joerg Wunsch in GCC Bug 23479, under the GPLv2; also taken from there in OpenBSD. Obtained from: gcc 4.3 (rev. 125346; GPLv2) MFC after: 5 days Notes: svn path=/head/; revision=255107
* | Add support for "d" floating-point suffix, as defined by draft N1312Pedro F. Giffuni2013-05-122-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | of TR 24732. Emit pedantic warning if the feature is being used. Should solve GCC bug 39027. Obtained from: OpenBSD MFC after: 2 weeks Notes: svn path=/head/; revision=250566
* | Clean up hardcoded ar(1) flags in the tree to use the global ARFLAGS inEitan Adler2012-12-063-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=243933
* | Add support for __COUNTER__.Ed Schouten2011-12-134-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | __COUNTER__ allows one to obtain incrementing (read: unique) numbers from the C preprocesor. This is useful when implementing things like a robust implementation of CTASSERT(), which currently fails when using it more than once on a single line of code. Probably not likely to cause any breakage, but still. __COUNTER__ was also added to GCC 4.3, but since that implementation is GPLv3 licensed, I took the liberty of implementing it without looking at any upstream sources. Therefore, this version is licensed under the same license as the rest of the code; GPLv2. Notes: svn path=/head/; revision=228474
* | Fix clang compile warnings.Ben Laurie2011-05-221-1/+1
| | | | | | | | | | | | | | Approved by: philip (mentor) Notes: svn path=/head/; revision=222203
* | This commit was generated by cvs2svn to compensate for changes in r171831,Alexander Kabaev2007-08-149-3/+54
|\| | | | | | | | | | | | | which included commits to RCS files with non-trunk default branches. Notes: svn path=/head/; revision=171832
| * GCC 4.2.1 release miscellaneous support libraries.Alexander Kabaev2007-08-149-3/+54
| | | | | | | | Notes: svn path=/vendor/gcc/dist/; revision=171831
* | Re-add local FreeBSD change: prefer /tmp to /var/tmp and /usr/tmpAlexander Kabaev2007-05-191-2/+2
|/ | | | | | | for temporary files. Notes: svn path=/head/; revision=169712
* GCC 4.2.0 release miscellaneous support libraries.Alexander Kabaev2007-05-19319-0/+175655
Notes: svn path=/vendor/gcc/dist/; revision=169695