Age | Commit message (Collapse) | Author |
|
current_function_{stdarg,varargs} instead of homegrown implementation, etc.
No functional change.
|
|
fixes C++ exceptions.
this relies on an earlier libstdc++ bump
|
|
|
|
This is a workaround for lines 1055-1057 of tcp_input.c being miscompiled,
though the problem looks like missing use/clobber qualifiers in the
extendplussidi insn, rather than a specific optimize_reg_copy_3() issue.
A proper fix may be devised in the future, in the meantime this allows
m68k platforms to be back in track.
|
|
No functional change, it's just faster.
|
|
and the reload phase when compiling complex code, and the fix is non-trivial.
|
|
and FUNCTION_ARG_ADVANCE fixes in m88k.c, allow the optimized bcopy
sequences to be reliable again, so enable them back.
|
|
parameter is going to hit the stack.
|
|
__builtin_saveregs(); no functional change.
|
|
pass all the subsequent arguments on the stack.
This is necessary for proper varargs operation, if used.
|
|
|
|
|
|
|
|
valid base register for indexed addressing, rather than providing an
incomplete inline version.
This allows constructs such as
(plus:SI (reg:SI (subreg:SI (reg:DI 1))))
to properly pass through the reload phase if optimization is enabled.
Such a construct can be generated with
buf[index + index2] = value;
if either index or index2 are long long.
Fixes the ICE in zsh Src/Zle/computil.c.
|
|
comparisons using different operators, make sure to generate an insn
with the correct mode.
This means that constructs like
if (c != -1 & i < 9999)
and
if ((i<=7) | (value != 0))
as found in transfig and teTeX, respectively, will now compile with
optimization.
Note the single & or | in these constructs - this kind is rare enough for
this bug to have remained unnoticed until now...
|
|
few bugs in the 2.95 codebase, one of them being fatal to m88k.
A real fix will come after 3.5.
ok deraadt@
|
|
on mvme88k.
ok deraadt@ espie@
|
|
Disable building of cxxfilt in gcc, build it from its own directory.
|
|
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.
|
|
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.
|
|
|
|
|
|
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@
|
|
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@
|
|
|
|
the libc functions are in place, remove HARD_QUAD from sparc64. (If you
actually want it, for some demented reason, look at -mhard-quad-float,
void where prohibited).
|
|
convention for the _Qp_* functions. Rather than fix it, rely on the
fact that it does produce correct calls to the _Q_* functions and
provide a shim in libc (already committed) to deal with it.
|
|
ok drahn@
|
|
pvalchev@ fgsch@ millert@ ok
|
|
|
|
rescinded 22 July 1999. Proofed by myself and Theo.
|
|
easier to find in object files without worrying about whether
or not -fno-builtin was used in building.
ok itojun@, tedu@, anil@, henning@, etc...
|
|
|
|
|
|
|
|
2002-06-14 Jeff Sturm <jsturm@one-point.com>
* config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add
SPARC_STACK_BIAS.
2002-03-12 Andrew MacLeod <amacleod@redhat.com>
* config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
address calculation.
through Hiroaki Etoh (thanks).
This gets "__builtin_return_address()" to work on sparc64.
ok deraadt@
|
|
|
|
(does not solve the C++ ctor problem, sorry)
|
|
to dale); espie@ ok
|
|
|
|
takes their place. The -pthread option to gcc uses libpthread.
ppc portion of patch from drahn@ (thanks). gcc portions of patch
OK espie@. Ports testing (no bad effects!) by naddy@
best build sequence is: build gcc, build system, build ports
remove /usr/lib/lib{c_r,npthread}.*. Note, once libc_r and
libnpthread is removed threaded ports will stop working until
they have been re-built using the libpthread and the updated gcc.
That's why the above build sequence is recommended.
|
|
Put WANT_LIBPTHREAD=yes in /etc/mk.conf and re-build gcc to use
libnpthread instead of libc_r
ok espie@
|
|
exec-stack.h; espie@ ok
|
|
|
|
ok deraadt@
|
|
ok miod@ tested by building gcc and building trampoline exec test.
|
|
tested by miod@, millert@
With comments from theo and mickey.
ok miod@
|
|
XXX - we might want to improve the logic of selection of ELF vs. a.out
when we bump our version to 3.2, before feeding those changes to FSF.
|
|
designed for mmu-less systems to something more decent that doesn't conflict
with how gcc sometimes generates code.
WARNING! This breaks binary compatibility. Reinstall from snapshots.
Upgrades won't work!
I repeat, upgrades won't work! Reinstall.
|