| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
following builtin functions:
* __builtin_ia32_pslldi128() takes __v4si instead of __v8hi
* __builtin_ia32_psllqi128() takes __v2di instead of __v8hi
* __builtin_ia32_psradi128() takes __v4si instead of __v8hi
This should fix the following errors when building the LINT kernel with
gcc:
sys/crypto/aesni/aesni_wrap.c:191: error: incompatible type for argument 1 of
'__builtin_ia32_psradi128'
sys/crypto/aesni/aesni_wrap.c:195: error: incompatible type for argument 1 of
'__builtin_ia32_pslldi128'
MFC after: 3 days
|
|
|
|
|
| |
Obtained from: gcc 4.3 (rev. 126088; GPLv2)
MFC after: 3 weeks
|
|
|
|
|
|
|
| |
Mostly cosmetic change, again to reduce differences with Apple's gcc.
Obtained from: gcc 4.3 (rev. 125239; GPLv2)
MFC after: 3 weeks
|
|
|
|
| |
Obtained from: gcc 4.3 (rev. 120572, 120688; GPLv2)
|
|
|
|
|
|
|
|
| |
This fixes a nasty bug introduced in r258651.
Reported and tested by: Justin Hibbits
Obtained from: gcc pre-4.3 (rev. 125116; GPLv2)
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
This solves GCC/32617 and contributes to reduce differences with
Apple's gcc42.
Complete some references in the ChangeLog while here.
Obtained from: gcc 4.3 (rev. 126529, 126588; GPLv2)
MFC after: 3 weeks
|
|
|
|
|
|
|
|
|
| |
While it was brought in r258179 only to fix a build issue,
bringing the rest of the change has the advantage of fixing
GCC/19978.
Obtained from: gcc 4.3 (rev. 120505; GPLv2)
MFC after: 1 week
|
|
|
|
|
|
|
|
|
| |
gcc: Move conditions before an assert.
It is a bit cleaner to check the conditions before calling the assertion.
It also preserves the style from the rest of the code.
This is just a cosmetical change to match better what both Apple's gcc42
and Android's gcc-4.2.1 do.
|
|
|
|
|
| |
Obtained from: gcc pre-4.3 (rev. 124763; GPLv2)
MFC after: 3 weeks
|
|
|
|
|
| |
Obtained from: gcc pre-4.3 (rev. 124763; GPLv2)
MFC after: 3 weeks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bring The following revisions from the gcc43 branch[1]:
118360, 118361, 118363, 118576, 119820,
123906, 125246, and 125721.
They all have in common that the were merged long ago
into Apple's gcc and should help improve the general
quality of the compiler and make it easier to bring
new features from Apple's gcc42.
For details please review the additions to the files:
gcc/ChangeLog.gcc43
gcc/cp/ChangeLog.gcc43 (new, adds previous revisions)
Reference:
[1] http://gcc.gnu.org/viewcvs/gcc/trunk/?pathrev=126700
Obtained from: gcc pre4.3 (GPLv2) branch
MFC after: 3 weeks
|
|
|
|
|
|
|
| |
It is useful to update the ChangeLog with upstream references
related to our local r189824 and r255095.
MFC after: 3 weeks
|
|
|
|
|
|
|
|
| |
Reference:
http://gcc.gnu.org/ml/gcc-patches/2007-05/msg01636.html
Obtained from: gcc 4.3 (rev. 125037; GPLv2)
MFC after: 3 weeks
|
|
|
|
|
| |
Obtained from: gcc 4.3 (rev. 123909; GPLv2)
MFC after: 3 weeks
|
|
|
|
|
| |
Obtained from: gcc 4.3 (rev. 122851; GPLv2)
MFC after: 3 weeks
|
|
|
|
|
|
|
| |
http://gcc.gnu.org/viewcvs/gcc/trunk/gcc/tree.h?revision=120505&view=markup
This repairs build breakage for non x86 arch's that use gcc to build
intruduced at svn R258157
|
|
|
|
|
|
|
|
| |
This fixes GCC 28986:
http://gcc.gnu.org/ml/gcc-patches/2007-01/msg00473.html
Obtained from: gcc 4.3 (rev. 120558; GPLv2)
MFC after: 3 weeks
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix missed conversion from / to >> (GCC PR32521)
Note that vrp-tree is currently disabled by default in
FreeBSD's gcc due many bugs.
While here fix a revision number in the 4.3 Changelog.
Obtained from: gcc 4.3 (rev. 122831 - partial; GPLv2)
MFC after: 3 weeks
|
|
|
|
|
|
|
|
|
|
| |
config/rs6000/rs6000.c
http://gcc.gnu.org/ml/gcc-patches/2007-04/msg01551.html
Don't set MASK_PPC_GFXOPT for 8540 or 8548.
Obtained from: gcc 4.3 (rev. 124381; GPLv2)
MFC after: 3 weeks
Reviewed by: nathan
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes GCC 19564:
http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00868.html
http://gcc.gnu.org/ml/gcc-patches/2006-12/msg01772.html
http://gcc.gnu.org/ml/gcc-patches/2007-01/msg00545.html
The patch and its fixes are used by Google in their enhanced gcc-4.2.1
port and predates the license switch in GCC so they are still under
GPLv2.
MFC after: 3 weeks
|
|
|
|
|
|
| |
endian the CPU is in, i.e. little-endian on most ARM cores.
This allows ARMv4 and ARMv5 boards to boot with the ARM EABI.
|
|
|
|
|
|
|
|
| |
-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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
we expect on FreeBSD. The implementation is based on the existing macros.
|
|
|
|
| |
prior to the licence change so is under the GPLv2.
|
|
|
|
|
|
|
|
|
| |
-Fix configuration support for FreeBSD 10 and 11.
Note this change is based on GCC-SVN-131197 with permission
by gerald@ .
Reported by: jmallet
|
|
|
|
|
|
|
|
|
|
|
|
| |
-Add configure support for FreeBSD 10 and 11.
-Adapt a threading fix to gnu POSIX95 (which we don't use).
-Refer to a bug fix for the disabled vrptree support.
This is all useless in our current build but it is included
for convenience in case someone may want to re-package our
older gcc.
Reviewed by: gerald (long ago)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make PrologEpilogInserter save/restore all callee saved registers in
functions which call __builtin_unwind_init()
__builtin_unwind_init() is an undocumented gcc intrinsic which has
this effect, and is used in libgcc_eh.
Goes part of the way toward fixing PR8541.
This obsoletes the ugly hack to libgcc's unwind code from r245272, and
should also work for other arches, so revert the hack too.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initial support for the AMD amdfam10 chipsets has been available in the
gcc43 branch under GPLv2. AMD and some linux distributions (OpenSUSE) did
a backport of the amdfam10 support and made it available.
This is a revised subset of the support initially brought in in r236962
and later reverted. The collateral efects seem to have disappeared but
it is still recommended to set the CPUTYPE with caution.
Reviewed by: jkim (ages ago)
MFC after: 3 weeks
|
|
|
|
|
|
|
|
|
| |
of TR 24732. Emit pedantic warning if the feature is being used.
Should solve GCC bug 39027.
Obtained from: OpenBSD
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
| |
The issue solved in r250392 actually originated upstream and was
fixed in upstream gcc43 branch in 2006/10/24 (under GPLv2).
Register it in the appropriate ChangeLog for reference.
MFC after: 3 days
|
|
|
|
|
|
| |
two copies of itself pasted together. Remove the extraneous copy.
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_Unwind_ForcedUnwind in libgcc_s takes as one of it's parameters a stop
function to tell it when to stop unwinding. One of the stop function's
parameters is a _Unwind_Exception_Class. On most architectures this is an
int64_t, however on ARM EABI the gcc developers have made this a char array
with 8 items. While both of these take the same space they are passed into
the stop function differently, an int64_t is passed in in registers r2 and
r3, while the char[8] is passed in as a pointer to the first item in
register r2.
Because libthr expects the value to be an int64_t we would get incorrect
results when it passes a function that take an int64_t but libgcc passes in
a pointer to a char array including crashing.
The fix is to update libgcc_s to make it pass an int64_t to the stop
function and to libstdc++ as it expects _Unwind_Exception_Class to be an
array.
|
|
|
|
|
| |
Submitted by: Christoph Mallon
MFC after: 3 days
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
unsupported 26-bit addressing mode. This change is required for moving to
the ARM EABI.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime on amd64, when it is compiled by clang. Some versions of clang
don't save and restore all callee registers, if a __builtin_eh_return()
intrinsic is used in a function. This is particularly bad on amd64.
Until the problem gets fixed by upstream, use an asm statement to force
clang to assume the registers in question are clobbered, when invoking
__builtin_eh_return(), so it will emit code to save and restore them.
This should fix the crashes reported on -current with some C++ programs,
particularly those that throw exceptions over multiple function
boundaries.
Reported by: stefanf
MFC after: 3 days
|
|
|
|
|
|
|
|
| |
The previous change was actually a NOP because size is
unsigned and compilers are dumb.
Submitted by: Christoph Mallon
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is a bug in gcc (GCC/35998) where dwarf reports
sizes of unsigned -1 (0xffffffff).
On NetBSD this generated a faulty CTF entry which then
caused a segfault in ctfmerge. The issue was worked
around in NetBSD's Dtrace but since the issue originated
in gcc, it seems reasonable to fix it here.
Upstream gcc has been slow to react to this issue and
the author that submitted the patch is not interested
in licensing the change to us, so I did an independent
workaround for the issue.
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
built with clang. When these are defined the lists are defined similar to:
asm(".section .ctors");
STATIC func_ptr __CTOR_LIST__[1] = { (func_ptr) (-1) };
asm(".section .dtors");
STATIC func_ptr __DTOR_LIST__[1] = { (func_ptr) (-1) };
The problem is clang will move the two arrays out of the .ctors and .dtors
sections causing these sections to contain a single null address. By not
defining these macros we use the version of the code that places the arrays
is their sections by using __attribute__((section(".ctors"))) and similar
for .dtors.
Submitted by: Daisuke Aoyama <aoyama AT peach.ne.jp>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This makes the use of intrinsics easier in kernel environment, according
to the submitter.
Requested by: jmg
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
desired, one can turn off the generation of post-ELF standard dtags by
overriding it with --disable-new-dtags after the default switch.
Immediate effect of the change is that -rpath path is now stored both
in DT_RPATH and DT_RUNPATH tags, which is the right way to provide
rpath for dynamic linker supporting DT_RUNPATH per specification.
Reviewed by: kan
MFC after: 1 month
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The GCC4.3 branch contains some optimization fixes
that were not considered regressions and therefore
were never backported. We are bringing a couple of
them that are under GPLv2 since they were made
before the license switch upstream.
While here, add the GCC revision numbers in the
log.
Discussed with: jkim
MFC after: 1 week
|
|
|
|
| |
Enable GNU hash generation for dynamic ELF binaries.
|