summaryrefslogtreecommitdiff
path: root/gnu/egcs/gcc/config
AgeCommit message (Collapse)Author
2012-08-28-fPIC and -fpic for m68kJonathan Gray
ok miod@ deraadt@
2012-04-12Remove incorrect -pthread preprocessor define _POSIX_THREADS and replaceKurt Miller
with _REENTRANT. Also remove undef _POSIX_THREADS in phread.h. From brad@comstyle.com. okay guenther@
2008-11-04Reintroduce the extendsidi2 optimized sequence, but as a define_splitMiod Vallat
construct, so that it is still written in rtl statements, and part of it can be put in a delay slot. And the way it's written now, it does not create bogus uninitialized warnings.
2008-10-28Remove extendsidi2 expansion for now. It works, but since it only fillsMiod Vallat
the two SImode subregs of the DImode destination operand, this confuses the register life analysis and causes gcc to emit wrong warning about values not being initialized. Unfortunately, the fallback logic infers a worse sequence (mov + cmp against zero + ext of the cmp signedness bit, instead of mov + ext of the sign bit), which wastes an instruction and a register. This is hopefully a temporary measure until a nonconfusing flavour of the fast expansion is devised (preferrably one which does not expose the optimize_reg_copy_3 big-endian bug as well).
2008-08-06Unconditionnaly disable -fcse-skip-blocks at -O2 on m68k, for it causes NULLMiod Vallat
derefs in at least one case and I do not have time to debug this before the release. ok deraadt@
2008-03-28Remove unnecessary whitespace on .type foo,@object lines, which confuse gasMiod Vallat
on some (not in-tree) configurations. ok espie@ kettenis@
2008-02-15Really enable weak aliases by disabling the unwanted SUPPORTS_WEAK override, theMiod Vallat
default logic works better.
2006-11-22Definitions for the fast block move routines were missing registers in theirMiod Vallat
clobbered list. Still not enabled by default, there are still bugs in their usage (perl does not build), but it's much better. No functional change yet.
2006-07-20Introduce a new compiler warning, -Wstack-larger-than-N, to reportMiod Vallat
functions which are too greedy in stack variables. This is intended to be used for kernel compiles, where this warning will be enabled for a reasonable size (after a few weeks grace period so that people can upgrade their compiler). Please note that this warning relies upon md code, and as such is only available on platforms OpenBSD runs on; also, the stack size being warned on is only the local variables size, regardless of the ABI stack usage requirements and the callee-saved registers; which means a function may be warning-clean yet need more stack space than meets the eye; the actual size being checked on may change to include these extras in the future.
2006-01-13Adapt to the machine/_types.h changes; size_t and ptrdiff_t are nowTodd C. Miller
defined in terms of long, not int on all architectures.
2005-04-27Working trampolines for m88k, with the help of the kernel; now passes theMiod Vallat
921215-1 gcc testsuite.
2005-02-20Change defaults on m68k platforms from -m68020 to -m68020-60.Miod Vallat
This makes a noticeable performance improvement on 68060, especially for crypto operations (such as ssh), with basically no loss on 680[234]0. ok deraadt@
2005-01-09in cross builds, don't test non existent libgcc1.Marc Espie
"doh! ok!" niklas@ ;-)
2004-09-06Correctly account for the %a5 register in function prologues; fixesMiod Vallat
inter-library function calls where the callee would change the GOT register but not restore it when returning to its caller. Helps immensely libpthread, as well as dynamically-linked X11 clients. Fromm gcc 3; tested by matthieu@, nick@ and todd@; ok deraadt@
2004-07-28In the never-ending saga of getting gcc to work reliably on m88k, today'sMiod Vallat
changes address incorrect stack usage, when optimization needs more nameless temporary values than available registers, and has to save them on stack. In some (rare) circumstances, it will compute a stack address _outside_ the current function local storage space, overwriting the caller's stack. Most of the time, this only affects the "outgoing argument area", which is harmless if it has not been populated; this explains why it has not been noticed earlier. Since I see no easy way to fix this, I decided to go the simpler way of removing this ougoing argument area. This not only reduces stack usage, but also makes varargs/stdarg code smaller and faster; also functions which get their first few arguments in registers, then some on the stack, then some in registers again, will not allocate stack space for the second set of arguments passed through registers. This is an ABI change, we are no longer 88Open compliant (have we ever been?).
2004-07-25Always build a stack frame when profiling. Otherwise profiling would onlyMiod Vallat
work for code compiled at -O0...
2004-07-21In builtin_saveregs(), try to save registers with double store instructions,Miod Vallat
knowing that the area we are using is correctly aligned. Produces smaller and faster code (about 0.8% time decrease in a complete build, which amounts to roughly 15 minutes).
2004-07-19In builtin_saveregs(), do not systematically allocate 8 words on the stackMiod Vallat
for registers if at least one nameless argument is passed through registers; instead, only allocate as many bytes as necessary. Slightly reduces stack usage; no ABI change.
2004-07-17Minor cleanups (remove duplicated extern lines, useMiod Vallat
current_function_{stdarg,varargs} instead of homegrown implementation, etc. No functional change.
2004-07-13switch sparc to setjmp/longjmp exceptions as DWARF2 handling is not present.Peter Valchev
fixes C++ exceptions. this relies on an earlier libstdc++ bump
2004-07-12Oops, adjust for __va_list size increase.Miod Vallat
2004-07-04Disable optimize_reg_copy_3() on m68k platforms.Miod Vallat
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.
2004-06-15Use gen_rtx_REG and gen_rtx_MEM instead of gen_rtx(REG,..) and gen_rtx(MEM,..).Miod Vallat
No functional change, it's just faster.
2004-06-12Revert 1.10 - there are still bad interactions between block_move_no_loop()Miod Vallat
and the reload phase when compiling complex code, and the fix is non-trivial.
2004-06-09The GO_IF_LEGITIMATE_ADDRESS fix in m88k.h, as well as all the FUNCTION_ARGMiod Vallat
and FUNCTION_ARG_ADVANCE fixes in m88k.c, allow the optimized bcopy sequences to be reliable again, so enable them back.
2004-06-09In FUNCTION_ARG_ADVANCE(), do not pad the register position counter if theMiod Vallat
parameter is going to hit the stack.
2004-06-09More meaningful formulation of the __va_stk initialization inMiod Vallat
__builtin_saveregs(); no functional change.
2004-05-19When passing a variable of 32 bytes or larger, as argument to a function,Miod Vallat
pass all the subsequent arguments on the stack. This is necessary for proper varargs operation, if used.
2004-05-19In __builtin_saveregs(), initialize __va_stk to a correct value.Miod Vallat
2004-05-17Make FUNCTION_ARG_ADVANCE() really match FUNCTION_ARG() register usage.Miod Vallat
2004-05-04Do not disable -fcaller-saves anymore.Miod Vallat
2004-04-08In GO_IF_LREGITIMATE_ADDRESS(), use RTX_OK_FOR_BASE_P() to check for aMiod Vallat
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.
2004-04-06When optimizing a logical arithmetic operation, which operands are bothMiod Vallat
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...
2004-03-19Disable caller-save (which is enabled at -O2 or -Os) as it suffers from aMiod Vallat
few bugs in the 2.95 codebase, one of them being fatal to m88k. A real fix will come after 3.5. ok deraadt@
2004-02-27Teach gcc the proper "set" syntax for __attribute__ ((alias)) to workMiod Vallat
on mvme88k. ok deraadt@ espie@
2003-11-24Switch to using libiberty in new location.Marc Espie
Disable building of cxxfilt in gcc, build it from its own directory.
2003-10-01Introduce a new target switch, -mmemcpy (and -mno-memcpy).Miod Vallat
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.
2003-08-21fix symbol name error in mcount functionality in a.out->ELF transition.Dale Rahn
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.
2003-08-19typo in comment, compiler vs. complierBrad Smith
2003-08-09fix for mcount call to allow .text sizes larger than 512k; epsie@ okMichael Shalayeff
2003-08-08On some architectures, being too optimistic in preserve_subexpressions_p(),Miod Vallat
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@
2003-08-07Disable the so-called optimized memcpy functions for small (less than a fewMiod Vallat
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@
2003-08-01A working gcc 2.95/m88k compiler, for some low standard value of working.Miod Vallat
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@
2003-07-22openbsd64 is a 64 BIT (not but) v9 processor; pointed out by millert.Jason Wright
2003-07-22now that gcc generates "correct" calls to the quad emulation library andJason Wright
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).
2003-07-22the version of gcc in the tree doesn't generate the correct callingJason Wright
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.
2003-07-11don't hardcode the default linker emulation type.Brad Smith
ok drahn@
2003-06-13add __LP64__ and _LP64 CPP predefines for systems using LP64.Brad Smith
pvalchev@ fgsch@ millert@ ok
2003-06-11support to arm. ok deraadt@Kevin Lo
2003-06-02Remove the advertising clause in the UCB license which BerkeleyTodd C. Miller
rescinded 22 July 1999. Proofed by myself and Theo.