From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keith Owens Date: Tue, 16 Mar 2004 06:22:39 +0000 Subject: Re: 2.6.3 Heisenbug in unwind.c Message-Id: <6187.1079418159@kao2.melbourne.sgi.com> List-Id: References: <2654.1077624337@ocs3.ocs.com.au> In-Reply-To: <2654.1077624337@ocs3.ocs.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-ia64@vger.kernel.org On Mon, 15 Mar 2004 17:52:09 +1100, Keith Owens wrote: >One step further on. The illegal unwind descriptors are being caused >by the linker (GNU ld version 2.14.90.0.4 20030523) sometimes putting >everything from .init.text onwards in an extra output program header. Which of course it is quite entitled to do. vmlinux.lds.S does not define the mapping of sections to segments so the linker can choose the layout itself. Most of the time .text and .init.text are in the same segment, but sometimes they are in separate segments. When they are in separate segments _and_ binutils has buggy SEGREL code then the unwind data is useless. Refuse to build 2.6 ia64 with a buggy binutils. Index: linux-2.6.4/arch/ia64/scripts/toolchain-flags =================================--- linux-2.6.4.orig/arch/ia64/scripts/toolchain-flags 2004-03-10 18:55:49.000000000 -0800 +++ linux-2.6.4/arch/ia64/scripts/toolchain-flags 2004-03-15 22:11:02.000000000 -0800 @@ -18,11 +18,6 @@ rm -f $out if [ $res != 00000a00 ]; then CPPFLAGS="$CPPFLAGS -DHAVE_BUGGY_SEGREL" - cat >&2 <