http://gcc.gnu.org/ml/gcc-patches/2000-06/msg00389.html
ChangeLog for this change (which was never committed to the master
GCC sources; the bug still exists in GCC 3.x!):
2000-05-09 Ethan Solomita ethan@cs.columbia.edu
* config/mips/mips.h (FUNCTION_PROFILER): Deal with
the case where jal is expanded as a macro.
This is done by removing the .reorder/.noreorder, and moving the
call to _mcount to after the stack adjust, thereby letting the
assembler deal with the delay slot, etc.
This fixes profiling with libraries built -mabicalls (default on
NetBSD).
I can't believe how long this problem has been discussed-but-not-fixed
on the GCC mailing list...
and ASM_FINISH_DECLARE_OBJECT macros in <alpha/netbsd.h>,
and remove ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_OBJECT_NAME,
ASM_FINISH_DECLARE_OBJECT, and ASM_DECLARE_FUNCTION_SIZE from
<netbsd.h>.
apply gcc original rev. 1.59:
> * config/sh/sh.c (prepare_scc_operands): Apply force_reg to
> sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
> const0_rtx.
the patch I posted to tech-toolchain@netbsd.org as a workaround for the
GOT bug whereby the callee-saved register %a5 can be trashed in certain
optimised -fPIC functions.
This may yet need to be fixed a different way, pending input from
Andreas Schwab on his change in revison 1.33 of this file in the
FSF source...
In the meantime, I've built and installed several NetBSD shared libraries
(including libc) with my change and found no problems.
is in their revision 1.186, from schwab@suse.de, and said:
Don't call reg_used_between_p if the insn from BL2 is after
the insn from BL.
This fixes a cc1 SEGV on sys/dev/scsipi/ch.c rev 1.48 under -O2 or -Os,
seen on m68k and vax.
changes to configuration stuff to (a) recognize `mipseb', and (b) build a
BE-default GCC on mipseb. gprof and gdb still not done.
WARNING: Binutils 2.11.2 (maybe earlier) changed the MIPS ABI, so any
shared libs built by this toolchain WILL NOT WORK without either a whack
to BFD to fix that or a patch to ld_elf.so to work around it. I need to
chase the binutils folks on this issue still.
That said, the new toolchain seems to work quite well once the ABI change
is worked around/fixed -- I'm committing from a machine running a user-
land built with the new compiler.
__GNUC__ automatically.
Note that this is probably not the Right solution; we should fix any in-tree
uses of /usr/bin/cpp to use $CC -E. However, this is being added for now
for backwards compatibility.
does this Right (without even the overwrite-with-whitespace kludge), we
don't need to worry about breaking anything here. Both -C and -CC will
result in full lint-capable comments.
support for "__main" (really __gccmain for mips), and the ctors/dtors
lists associated with this.
- add -G to SWITCH_TAKES_ARG(), so `-G 0' works as well as `-G0'
- add support for .init, .fini and .rodata (const) sections (basically
merging the generic ELF support with the MIPS support.)
kernel links and runs happily now.