Age | Commit message (Collapse) | Author |
|
|
|
ok deraadt@
|
|
instruments for every functions.
ok pvalchev@
|
|
functions.
ok pvalchev@
|
|
ok pvalchev@
|
|
the contents of DECL_RTL (parms).
ok pvalchev@
|
|
of your beliefs are wrong.
In this case, trust in gcc.
When computing the address of a field in a structure on stack, and:
- the offset of the structure relative to the stack pointer
and
- the offset of the field relative to the structure
have no _bits_ in common (for example, accessing field at structure(8)
with the structure at sp(64)), triggers a gcc optimization in the following
improvement:
(plus (plus (frame_pointer offset_for_structure) offset_for_field))
changing into
(plus (frame_pointer direct_offset_for_field))
In the aforementioned "no bits in common" case, gcc will use
(or (plus frame_pointer offset_for_structure) offset_for_field)
which is not necessarily correct, depending on the value of the frame
pointer...
Checking generated assembly code for a kernel compilation pointed out that
ALL architectures were affected by this bug (some, such as m88k, alpha
and sparc64, being much more affected than others, such as vax and m68k).
Our first move was to backport a fix for this found in the gcc 3.x branch,
however it relies upon several microbugfixes scattered around, and produced
a misbehaving kernel on one particular machine. So what goes in with this
commit is just a conservative fix which disables this particular "bitwise or
is fun" optimization.
Problem discovery and analysis by yours truly. Fix by etoh@ and I.
Tested on all supported architectures by various people, including deraadt@,
henning@, mickey@, naddy@ and I.
|
|
|
|
not resolve correctly via DNS.
|
|
This switch forces block copy operations to always fallback to memcpy()
when it is not done by inline load and stores, rather than using the
m88k movstr* functions found in libgcc.
The name of this option has been choosen after the mips back end, which
has a similar option.
Right now, this is a no-op since these functions are disabled due to (yet)
another gcc bug; but this will help building standalone code, such as the
kernel and boot blocks, without having to link against libgcc.
|
|
Closes PR 3499; deraadt@ OK
|
|
ok deraadt@
|
|
Fixes a crash when MALLOC_OPTIONS includes 'J' found by david@.
|
|
|
|
and the location of the GOT. reorder GOT and the CTOR/DTOR section.
|
|
|
|
- new sentence, new line
- kill whitespace at EOL
- OpenBSD -> .Ox
- add $OpenBSD$
|
|
people accepting mail from the net tend to use. The localhost-only
config is not being changed since most of these changes don't make
sense there.
|
|
in address parsing. That fix (but not all of sendmail-8.12.10) has
been applied to OpenBSD 3.4 and the 3.2 and 3.2 -stable branches.
|
|
|
|
ok deraadt@
|
|
on negative values. Suppresses some warnings on code which is useless
but legal. deraadt@ ok
|
|
- use .Sq
|
|
- section reorder
- use .Sq instead of `'
- kill whitespace
- typos
|
|
ok deraadt@
|
|
improves diffability against stock gcc sources, for us alzheimer-impaired
people. Requested by deraadt@
(no functional change)
|
|
every object by default. ok avsm@ henning@ marc@
|
|
bounces faster than normal messages so they don't clutter up the
queue so much. Requested by Chuck Yerkes
|
|
http://gcc.gnu.org/ml/gcc-bugs/1999-08n/msg00621.html
and described in the related thread.
This particular problem used to not be triggered (or not often), but the
use of propolice affects the instruction flow, and started triggering it
more often, for example in Qt's qmenubar class.
Ironically, running with /etc/malloc.conf->AJ would neuter the bug in this
case...
Problem tracked by espie@ and etoh@, tested by various, ok deraadt@
|
|
This changes the real definition to __mcount, but with a weak mcount
for compat. On the next major bump the weak alias should be removed.
Without this diff the compiler symbol mcount conflicts with the
user mcount() function.
|
|
|
|
|
|
|
|
|
|
select(2) needlessly. deraadt@ OK
|
|
|
|
This keeps sendmail from DoSing my machine when thousands of messages
come in (generally mailing list bounces).
|
|
ok millert@ `as long as basename(3) still points to the C routine'
|
|
|
|
|
|
|
|
for example when -fexpensive-optimizations is used, sometimes causes incorrect
code sequences to be generated.
As -fexpensive-optimizations is implied by -O2, this means we are potentially
affected by this in numerous places... so add a specific workaround to nullify
expensizve-optimizations in preserve_subexpressions_p() on a
known-to-be-affected basis.
So far, only alpha, powerpc, m88k, sparc and sparc64 are affected.
Problem tracked down by henning@ - analysis by etoh@ and I - ugly workaround
by me - ok deraadt@
|
|
hundred bytes) block copies. While the functions themselves are probably
optimal or not far from it, the code responsible for their invocation is not,
and has a bad tendency of miscomputing the destination buffer address,
especially when optimization is used.
This is a temporary measure, these functions will be reenabled once a good fix
is ready.
ok deraadt@ espie@
|
|
of erroring out in a later sanity check. Error noticed by jolan@
This only affects the -Wbounded case
|
|
ok millert@
|
|
without an argument. problem reported by adrian at coresecurity.com
ok millert@
|
|
|
|
Configuration settings mostly borrowed from the former gcc 2.8 configuration.
A few typos and fixes backported from gcc 3.3, and a hell lot of fixes from
my fingertips.
This is enough to yield a compiler which will produce correct code at -O0.
Optimization is slightly broken for some constructs, and more fixes are in
the pipeline.
ok deraadt@
|
|
|
|
|