From owner-cvs-all Sat Jan 29 5: 8:41 2000 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id C1F9916155; Sat, 29 Jan 2000 05:06:33 -0800 (PST) (envelope-from obrien@FreeBSD.org) Received: (from obrien@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id FAA04932; Sat, 29 Jan 2000 05:06:33 -0800 (PST) (envelope-from obrien@FreeBSD.org) Message-Id: <200001291306.FAA04932@freefall.freebsd.org> From: "David E. O'Brien" Date: Sat, 29 Jan 2000 05:06:33 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/contrib/gcc/config/i386 freebsd.h i386.c Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk obrien 2000/01/29 05:06:33 PST Modified files: contrib/gcc/config/i386 freebsd.h i386.c Log: 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 Revision Changes Path 1.34 +63 -24 src/contrib/gcc/config/i386/freebsd.h 1.7 +14 -1 src/contrib/gcc/config/i386/i386.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message