freebsd_amp_hwpstate/contrib/gcc
David E. O'Brien c92f6a5f61 Fix our -mprofiler-epilogue code.
"The problem is that egcs/gcc-2.95's reorganisation of the prologue and
epilogue code to use rtl instead of output_asm_insn() completely broke our
hooks.  rtl is emitted in a different order, only after optimisation, while
output_asm_insn() is emitted immediately.  rtl is presumably used so that
the prologue and epilogue can be optimised.

I couldn't find any good examples to copy.  gcc's own
FUNCTION_BLOCK_PROFILER still uses output_asm_insn() and seems to be
completely broken.  One of the XXX comments points to this.

IIRC, the hacks here basically arrange to emit magic label names; then when
the magic names are output, they are transformed into prologue and epilogue
code."

Submitted by:	bde
2000-01-29 13:06:33 +00:00
..
config
cp
f
ginclude
objc
BUGS
COPYING
COPYING.LIB
ChangeLog
FREEBSD-Xlist
FSFChangeLog
LANGUAGES
Makefile.in
NEWS
ORDERS
PROBLEMS
PROJECTS
README
README-bugs
README-fixinc
README.ACORN
README.ALTOS
README.APOLLO
README.DWARF
README.FRESCO
README.NS32K
README.RS6000
README.TRAD
README.X11
README.g77
SERVICE
TESTS.FLUNK
acconfig.h
aclocal.m4
alias.c
alloca.c
ansidecl.h
assert.h
basic-block.h
bc-emit.c
bc-emit.h
bc-optab.c
bc-optab.h
bc-typecd.def
bc-typecd.h
bi-arity.c
bi-defs.h
bi-lexer.c
bi-opcode.c
bi-opname.c
bi-parser.y
bi-reverse.c
bi-run.h
bitmap.c
bitmap.h
build-make
bytecode.def
bytecode.h
bytetypes.h
c-aux-info.c
c-common.c
c-convert.c
c-decl.c
c-iterate.c
c-lang.c
c-lex.c
c-lex.h
c-parse.gperf
c-parse.in
c-pragma.c
c-pragma.h
c-tree.h
c-typeck.c
caller-save.c
calls.c
cccp.1
cccp.c
cexp.y
choose-temp.c
collect2.c
collect2.h
combine.c
conditions.h
config.guess
config.in
config.sub
configure
configure.frag
configure.in
configure.lang
convert.c
convert.h
cplus-dem.c
cpp.1
cpp.texi
cppalloc.c
cpperror.c
cppexp.c
cppfiles.c
cpphash.c
cpphash.h
cppinit.c
cpplib.c
cpplib.h
cppmain.c
cppspec.c
cppulp.c
cross-make
crtstuff.c
cse.c
cstamp-h.in
dbxout.c
dbxout.h
dbxstclass.h
defaults.h
demangle.h
doprint.c
doschk.c
dostage2
dostage3
dwarf.h
dwarf2.h
dwarf2out.c
dwarf2out.h
dwarfout.c
dwarfout.h
dyn-string.c
dyn-string.h
eh-common.h
emit-rtl.c
enquire.c
except.c
except.h
exgettext
explow.c
expmed.c
expr.c
expr.h
extend.texi
final.c
fix-header.c
fixcpp
fixinc-nt.sed
fixinc.dgux
fixinc.ptx
fixinc.sco
fixinc.svr4
fixinc.winnt
fixincludes
fixproto
flags.h
floatlib.c
flow.c
fold-const.c
fp-test.c
frame.c
frame.h
function.c
function.h
future.options
gansidecl.h
gbl-ctors.h
gcc.1
gcc.c
gcc.texi
gccspec.c
gcov-io.h
gcov.c
gcov.texi
gcse.c
gen-protos.c
genattr.c
genattrtab.c
gencheck.c
gencodes.c
genconfig.c
genemit.c
genextract.c
genflags.c
gengenrtl.c
genmultilib
genopinit.c
genoutput.c
genpeep.c
genrecog.c
getopt.c
getopt.h
getopt1.c
getpwd.c
glimits.h
global.c
gmon.c
graph.c
gstab.h
gsyms.h
gsyslimits.h
gthr-dce.h
gthr-posix.h
gthr-single.h
gthr-solaris.h
gthr-vxworks.h
gthr.h
haifa-sched.c
halfpic.c
halfpic.h
hard-reg-set.h
hash.c
hash.h
hwint.h
input.h
install.sh
install.texi
integrate.c
integrate.h
intl.c
intl.h
invoke.texi
jump.c
just-fixinc
lcm.c
libgcc1-test.c
libgcc1.c
libgcc2.c
libiberty.h
limitx.h
limity.h
listing
local-alloc.c
longlong.h
loop.c
loop.h
machmode.def
machmode.h
makefile.vms
mbchar.c
mbchar.h
md.texi
mips-tdump.c
mips-tfile.c
modemap.def
move-if-change
objc-act.c
objc-act.h
objc-tree.def
obstack.c
obstack.h
optabs.c
output.h
patch-apollo-includes
pcp.h
pexecute.c
prefix.c
prefix.h
print-rtl.c
print-tree.c
profile.c
protoize.c
pself.c
pself1.c
pself2.c
pself3.c
pself4.c
pself5.c
real.c
real.h
recog.c
recog.h
reg-stack.c
regclass.c
regmove.c
regs.h
reload.c
reload.h
reload1.c
reorg.c
resource.c
resource.h
rtl.c
rtl.def
rtl.h
rtl.texi
rtlanal.c
sbitmap.c
sbitmap.h
scan-decls.c
scan-types.sh
scan.c
scan.h
sched.c
sdbout.c
sdbout.h
sort-protos
splay-tree.c
splay-tree.h
stab.def
stack.h
stmt.c
stor-layout.c
stupid.c
sys-protos.h
sys-types.h
system.h
tlink.c
tm.texi
toplev.c
toplev.h
tree.c
tree.def
tree.h
typeclass.h
unprotoize.c
unroll.c
varasm.c
varray.c
varray.h
version.c
xcoffout.c
xcoffout.h

README

This directory contains the GNU Compiler Collection (GCC) version 2.95.
It includes all of the support for compiling C, C++, Objective C, Fortran,
Java, and Chill.

The GNU Compiler Collection is free software.  See the file COPYING for copying
permission.

See the file gcc.texi (together with other files that it includes) for
installation and porting information.  The file INSTALL contains a
copy of the installation information, as plain ASCII.

Installing this package will create various files in subdirectories of
/usr/local/lib, which are passes used by the compiler and a library
named libgcc.a.  It will also create /usr/local/bin/gcc, which is
the user-level command to do a compilation.

See the Bugs chapter of the GCC Manual for how to report bugs
usefully.  An online readable version of the manual is in the files
gcc.info*.

The files pself.c and pself1.c are not part of GCC.
They are programs that print themselves on standard output.
They were written by Dario Dariol and Giovanni Cozzi, and are
included for your hacking pleasure.  Likewise pself2.c
(Who is the author of that?) and pself3.c (by Vlad Taeerov and Rashit
Fakhreyev).