Age | Commit message (Collapse) | Author |
|
totally fucked up, effectively leading to inverted behaviour of the -fident and
-fno-ident flags (while keeping the .ident string in by default). Revert it
back to normal and default to -fno-ident.
ok millert@
|
|
a lifesaver for R4000 and R4400 operation; without these, every int->long
promotion occuring shortly after an integer multiplication (such as an array
element access when the array item size is not a power of two) loses horribly,
and panic^Whilarity ensues.
This mostly causes assembly insns to be shuffled, but almost no code size
growth and no noticeable performance hit on processors which do not need
these insn placement workarounds.
|
|
Found by Brad.
Also, consider stpcpy an unsafe builtin and prevent it from being optimised
away.
ok miod@
|
|
kprintf supports %z, doesn't support old ddb %n/%r%z anymore, and check of
%b arguments have to occur on the next argument, like, duh.
These changes will eventually allow for kernel to be compiled without
-Wno-format, but some more casts or type changes are necessary, first.
Discussed about six months ago at s2k11, time to put this in, so that I have no excuse not to work on the format fixes diffs.
|
|
|
|
C++98, so clang++ rightfully complains about it when in C++98 mode (the
default).
Found while investigating the other clang issue, with helpful input from
espie@.
ok jsg@
|
|
without barfing about conflicting declarations.
Issue reported by Amit Kulkarni, investigated by matthew@ and kettenis@.
ok kettenis@
|
|
and change ASM_OUTPUT_ALIGNED_COMMON to output an explicit .align directive,
as gas will not compute it from the size (despite what comments elsewhere in
gcc code say).
This effectively makes __attribute__ ((aligned (N))) constructs work as
intended for .bss objects.
ok kettenis@
|
|
word boundaries, and enable the builtins.c `one-byte memcpy' workaround.
|
|
size 1 (the size being known at compile-time) into an inline mempcpy()
expansion, which will in turn expand into a byte load and store operation.
This expansion loses precious address alignment information at some point
(because everybody knows that you can read a byte from any address, right?),
and this loses bigtime on strict alignment platforms which lack the ability
to accesse bytes directly, such as alpha (unless compiling with -mbwx and
runnning on a BWX-capable cpu).
An example of such call with size 1 is lib/libkvm/kvm.c line 780.
|
|
From brad. ok kettenis espie
|
|
(passes -export-dynamic to ld(1))
ok drahn@ miod@
|
|
from brad; ok kettenis
|
|
|
|
jasper@.
This omits the sizeof(pointer) tracking which is very difficult to
implement for gcc4 due to internal changes.
Thanks to landry@ for running through a ports bulk build and both
landry@ and jasper@ for fixing a few issues.
ok deraadt millert jasper
|
|
implemented in hardware anyway.
|
|
ok deraadt@
|
|
|
|
|
|
http://gcc.gnu.org/ml/gcc-patches/2008-06/msg01641.html
This fixes a stack protector code bug which only got triggered by some
particular function patterns, such as libc's __vfprintf.
ok drahn@
|
|
|
|
Default gcc on alpha to -mfp-rounding-mode=d, to make code which assumes
the rounding mode is always controlled by fpsetround() happy.
ok martynas@, miod@
|
|
requested by and ok deraadt
|
|
ok kettenis espie
|
|
|
|
on this in-tree not diffs floating around for > 1 year. ok miod@
|
|
(Fix both ppc compilers in tree, was previously committed to wrong one).
OK deraadt@ discusssed with millert@ otto@ and kettenis@
|
|
0" should output "+0", not "0".
Diff from upstream (which is still GPLv2+) via Brad.
|
|
to get #pragma pack and #pragma push work in order to be compatible
with MS compilers because there is some code out there (e.g. chromium)
that uses these pragmas.
ok kettenis@
|
|
does not throw warnings for stuff like
if ()
__throw_exception_again;
which does happen in its own fucking headers.
builds of qt3 should no longer warn...
okay millert@, no objection kettenis@
|
|
<sys/types.h>.
ok miod@
|
|
|
|
ok drahn@
|
|
loongson (mips64el).
ok miod@
|
|
initial diff from jasper, finished by me with help from miod
ok jasper@ miod@ kettenis@
|
|
architectures, just like what is done for global ones. This isn't
just an optiization. There is a long tradition of building packets in
arrays of chars on the stack by using casts to types that require
stricter alignment. Ignore the language lawyers say it isn't
explicitly allowed by the C standard. Historically many (all?) C
compilers have handled that just fine, so it is stupid to break this.
Thanks to mikeb@ for finding the GCC bug report against upstream GCC
4.2.1. This fixes hppa/hppa64 and sparc/sparc64 as discuessed with
miod@ (upstream only fixed sparc/sparc64). Other strict alignment
architectures will need similar fixes.
ok deraadt@, mikeb@, miod@
|
|
|
|
from Jakub Jelinek that never made it into upstream GCC. Fixes ld.so.
Found by drahn@ and me; ok miod@
|
|
aren't silently ignored but rather get warned about and fixed. Purely
stylistic warnings like -Wredundant-decls are your own problem however.
testing help from landry@, header fixes from kettenis@
ok deraadt@
|
|
from time to time when building the www/larbin port.
This is an independent bugfix, and it's different from 4.5.0.
ok espie@
|
|
(happens even with empty files), as diagnosed with kili@ on
evolution-database.
We obviously need to check the token chain and go up if we're at the start
of a buffer (unless we're really at the start unless we have to give up).
Independent fix. Same functionality as code found on the gcc 4.5 branch,
but completely different lines.
okay miod@
|
|
ok marco@
|
|
ok deraadt@
|
|
activate proper C99 stuff.
fix locale support when there's no locale.
work common with kettenis@
|
|
|
|
for gcc3.
ok espie@
|
|
C++ semantics fix. Member constants can be file-local, if they're not external.
Fixes build of py-tagpy, which barfs in Boost otherwise.
(original fix, different text from gcc 4.2.4)
okay deraadt@, kettenis@
|
|
ok kettenis@ robert@, tested by marco@, kevlo@ myself
|
|
Fixes jdk builds among other things.
ok robert@ espie@
|
|
|