From owner-freebsd-ia64@FreeBSD.ORG Wed May 28 02:12:53 2003 Return-Path: Delivered-To: freebsd-ia64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6627237B401; Wed, 28 May 2003 02:12:53 -0700 (PDT) Received: from cueball.rtp.FreeBSD.org (cueball.rtp.FreeBSD.org [192.58.184.37]) by mx1.FreeBSD.org (Postfix) with ESMTP id ACB3643F75; Wed, 28 May 2003 02:12:52 -0700 (PDT) (envelope-from des+tinderbox@freebsd.org) Received: from cueball.rtp.FreeBSD.org (localhost [127.0.0.1]) h4S9CokF096314; Wed, 28 May 2003 05:12:50 -0400 (EDT) (envelope-from des+tinderbox@freebsd.org) Received: (from des@localhost) by cueball.rtp.FreeBSD.org (8.12.9/8.12.9/Submit) id h4S9Co2W096313; Wed, 28 May 2003 09:12:50 GMT (envelope-from des+tinderbox@freebsd.org) Date: Wed, 28 May 2003 09:12:50 GMT Message-Id: <200305280912.h4S9Co2W096313@cueball.rtp.FreeBSD.org> X-Authentication-Warning: cueball.rtp.FreeBSD.org: des set sender to Tinderbox using -f Sender: Tinderbox From: Tinderbox To: current@freebsd.org, ia64@freebsd.org Subject: [-CURRENT tinderbox] failure on ia64/ia64 X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 May 2003 09:12:53 -0000 TB --- 2003-05-28 08:01:40 - starting CURRENT tinderbox run for ia64/ia64 TB --- 2003-05-28 08:01:40 - checking out the source tree TB --- cd /home/des/tinderbox/CURRENT/ia64/ia64 TB --- /usr/bin/cvs -f -R -q -d/home/ncvs update -Pd -A src TB --- 2003-05-28 08:06:50 - building world TB --- cd /home/des/tinderbox/CURRENT/ia64/ia64/src TB --- /usr/bin/make -B buildworld >>> Rebuilding the temporary build tree >>> stage 1: legacy release compatibility shims >>> stage 1: bootstrap tools >>> stage 2: cleaning up the object tree >>> stage 2: rebuilding the object tree >>> stage 2: build tools >>> stage 3: cross tools >>> stage 4: populating /home/des/tinderbox/CURRENT/ia64/ia64/obj/ia64/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/i386/usr/include >>> stage 4: building libraries >>> stage 4: make dependencies >>> stage 4: building everything.. TB --- 2003-05-28 09:10:23 - building generic kernel TB --- cd /home/des/tinderbox/CURRENT/ia64/ia64/src TB --- /usr/bin/make buildkernel KERNCONF=GENERIC >>> Kernel build for GENERIC started on Wed May 28 09:10:23 GMT 2003 [...] /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/dev/acpica/hwregs.c: In function `AcpiGetSleepTypeData': /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/dev/acpica/hwregs.c:245: warning: cast discards qualifiers from pointer target type cc -c -O -pipe -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -g -nostdinc -I- -I. -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/dev -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/dev/acpica -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/ipfilter -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/ia64/libuwx/src -D_KERNEL -include opt_global.h -fno-common -mconstant-gp -ffixed-r13 -mfixed-range=f32-f127 -mno-sdata -ffreestanding -Werror /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/dev/acpica/hwsleep.c cc -c -O -pipe -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -g -nostdinc -I- -I. -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/dev -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/dev/acpica -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/ipfilter -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/ia64/libuwx/src -D_KERNEL -include opt_global.h -fno-common -mconstant-gp -ffixed-r13 -mfixed-range=f32-f127 -mno-sdata -ffreestanding -Werror /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/dev/acpica/hwtimer.c cc -c -O -pipe -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -g -nostdinc -I- -I. -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/dev -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/dev/acpica -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/ipfilter -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/ia64/libuwx/src -D_KERNEL -include opt_global.h -fno-common -mconstant-gp -ffixed-r13 -mfixed-range=f32-f127 -mno-sdata -ffreestanding -Werror /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/dev/acpica/nsaccess.c cc -c -O -pipe -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -g -nostdinc -I- -I. -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/dev -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/dev/acpica -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/ipfilter -I/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/ia64/libuwx/src -D_KERNEL -include opt_global.h -fno-common -mconstant-gp -ffixed-r13 -mfixed-range=f32-f127 -mno-sdata -ffreestanding -Werror /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/dev/acpica/nsalloc.c cc1: warnings being treated as errors /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/contrib/dev/acpica/nsalloc.c:658: warning: no previous prototype for `AcpiNsRemoveReference' *** Error code 1 Stop in /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/obj/ia64/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/sys/GENERIC. *** Error code 1 Stop in /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src. *** Error code 1 Stop in /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src. TB --- 2003-05-28 09:12:50 - /usr/bin/make returned exit code 1 TB --- 2003-05-28 09:12:50 - ERROR: failed to build generic kernel TB --- 2003-05-28 09:12:50 - tinderbox aborted From owner-freebsd-ia64@FreeBSD.ORG Wed May 28 04:42:11 2003 Return-Path: Delivered-To: freebsd-ia64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 79FEE37B401 for ; Wed, 28 May 2003 04:42:11 -0700 (PDT) Received: from plim.fujitsu-siemens.com (plim.fujitsu-siemens.com [217.115.66.8]) by mx1.FreeBSD.org (Postfix) with ESMTP id B2CD943F93 for ; Wed, 28 May 2003 04:42:09 -0700 (PDT) (envelope-from alan.robinson@fujitsu-siemens.com) Received: from trulli.pdb.fsc.net (new-trulli.pdb.fsc.net [172.25.96.53]) by plim.fujitsu-siemens.com (8.11.3/8.11.3) with ESMTP id h4SBg5v25608 for ; Wed, 28 May 2003 13:42:05 +0200 Received: from athen.mch.fsc.net (backbay.mch.fsc.net [172.25.94.188]) by trulli.pdb.fsc.net (8.11.6/8.11.6) with ESMTP id h4SBfxC25578; Wed, 28 May 2003 13:42:05 +0200 Received: from sanpedro.mch.fsc.net (sanpedro [172.25.95.234]) by athen.mch.fsc.net (8.11.6/8.11.6) with ESMTP id h4SBfwI22428; Wed, 28 May 2003 13:41:59 +0200 (MDT) Received: (from robin@localhost) by sanpedro.mch.fsc.net (8.9.3p2/8.9.3/Debian 8.9.3-21) id NAA17490; Wed, 28 May 2003 13:41:58 +0200 From: Alan Robinson Date: Wed, 28 May 2003 13:41:58 +0200 To: freebsd-ia64@freebsd.org Message-ID: <20030528134139.A17162@fujitsu-siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i X-sent-by-me: robin@sanpedro Subject: /dev/kmem read return value is double requested value X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Alan.Robinson@fujitsu-siemens.com List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 May 2003 11:42:11 -0000 Hi Folks, I was playing with a user-land program that read some data out of the kernel memory and noticed that the read() return value was twice what I was expecting. I think the error is in the mmrw() function in file ia64/ia64/mem.c, removing the following lines seems to fix the problem. iov->iov_base = (char *)iov->iov_base + c; iov->iov_len -= c; uio->uio_offset += c; uio->uio_resid -= c; I had a little look at some of the other ARCH/ARCH/mem.c and some others seem to contain the same problem. Note that the actual data transfered is OK, just the read() return value and the file offset are wrong. Alan PS If this is fixed will it help get gdb working :-) From owner-freebsd-ia64@FreeBSD.ORG Fri May 30 04:24:14 2003 Return-Path: Delivered-To: freebsd-ia64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 53A9A37B410 for ; Fri, 30 May 2003 04:24:14 -0700 (PDT) Received: from plim.fujitsu-siemens.com (plim.fujitsu-siemens.com [217.115.66.8]) by mx1.FreeBSD.org (Postfix) with ESMTP id 966D643FCB for ; Fri, 30 May 2003 04:24:12 -0700 (PDT) (envelope-from alan.robinson@fujitsu-siemens.com) Received: from trulli.pdb.fsc.net (new-trulli.pdb.fsc.net [172.25.96.53]) by plim.fujitsu-siemens.com (8.11.3/8.11.3) with ESMTP id h4UBOAv07901 for ; Fri, 30 May 2003 13:24:10 +0200 Received: from athen.mch.fsc.net (backbay.mch.fsc.net [172.25.94.188]) by trulli.pdb.fsc.net (8.11.6/8.11.6) with ESMTP id h4UBOAV20552; Fri, 30 May 2003 13:24:10 +0200 Received: from sanpedro.mch.fsc.net (sanpedro [172.25.95.234]) by athen.mch.fsc.net (8.11.6/8.11.6) with ESMTP id h4UBO9I19604; Fri, 30 May 2003 13:24:09 +0200 (MDT) Received: (from robin@localhost) by sanpedro.mch.fsc.net (8.9.3p2/8.9.3/Debian 8.9.3-21) id NAA03763; Fri, 30 May 2003 13:24:08 +0200 From: Alan Robinson Date: Fri, 30 May 2003 13:24:08 +0200 To: freebsd-ia64@freebsd.org Message-ID: <20030530132408.A3690@fujitsu-siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i X-sent-by-me: robin@sanpedro Subject: /dev/kmem read return value is double requested value X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Alan.Robinson@fujitsu-siemens.com List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 May 2003 11:24:14 -0000 Hi Folks, I was playing with a user-land program that read some data out of the kernel memory and noticed that the read() return value was twice what I was expecting. I think the error is in the mmrw() function in file sys/ia64/ia64/mem.c, removing the following lines seems to fix the problem. iov->iov_base = (char *)iov->iov_base + c; iov->iov_len -= c; uio->uio_offset += c; uio->uio_resid -= c; I had a little look at some of the other sys/ARCH/ARCH/mem.c and some others seem to contain the same code so I might be wrong, then again so might the ARCHs. Note that the actual data transfered is OK, just the read() return value and the /dev/kmem file offset are wrong after returning from the read(). Alan PS is this the reason there is no gdb ? From owner-freebsd-ia64@FreeBSD.ORG Fri May 30 10:30:32 2003 Return-Path: Delivered-To: freebsd-ia64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 736C037B401 for ; Fri, 30 May 2003 10:30:32 -0700 (PDT) Received: from ns1.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0E14643F75 for ; Fri, 30 May 2003 10:30:31 -0700 (PDT) (envelope-from marcel@xcllnt.net) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by ns1.xcllnt.net (8.12.9/8.12.9) with ESMTP id h4UHUUwk078320; Fri, 30 May 2003 10:30:30 -0700 (PDT) (envelope-from marcel@piii.pn.xcllnt.net) Received: from dhcp01.pn.xcllnt.net (localhost [127.0.0.1]) by dhcp01.pn.xcllnt.net (8.12.9/8.12.9) with ESMTP id h4UHUU4s000681; Fri, 30 May 2003 10:30:30 -0700 (PDT) (envelope-from marcel@dhcp01.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.12.9/8.12.9/Submit) id h4UHUT7o000680; Fri, 30 May 2003 10:30:29 -0700 (PDT) Date: Fri, 30 May 2003 10:30:29 -0700 From: Marcel Moolenaar To: Alan Robinson Message-ID: <20030530173029.GB568@dhcp01.pn.xcllnt.net> References: <20030530132408.A3690@fujitsu-siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030530132408.A3690@fujitsu-siemens.com> User-Agent: Mutt/1.5.4i cc: freebsd-ia64@freebsd.org Subject: Re: /dev/kmem read return value is double requested value X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 May 2003 17:30:32 -0000 On Fri, May 30, 2003 at 01:24:08PM +0200, Alan Robinson wrote: > > I was playing with a user-land program that read some data out > of the kernel memory and noticed that the read() return value was > twice what I was expecting. I think the error is in the mmrw() function > in file sys/ia64/ia64/mem.c, removing the following lines seems to > fix the problem. > > iov->iov_base = (char *)iov->iov_base + c; > iov->iov_len -= c; > uio->uio_offset += c; > uio->uio_resid -= c; > > I had a little look at some of the other sys/ARCH/ARCH/mem.c and some others > seem to contain the same code so I might be wrong, then again so might the > ARCHs. If you see behaviour that's not particular to ia64, it's probably better to post to arch@ or current@. More people hang out there, so there's a bigger chance you get replies. I don't think there's anything wrong with the lines you think we need to remove. > Note that the actual data transfered is OK, just the read() return value > and the /dev/kmem file offset are wrong after returning from the read(). It helps if you demonstrate the behaviour with some trivial test program that people can run too. > PS is this the reason there is no gdb ? No. There's currenty no gdb because it hasn't been ported yet. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net From owner-freebsd-ia64@FreeBSD.ORG Fri May 30 10:38:39 2003 Return-Path: Delivered-To: freebsd-ia64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EDAD237B401 for ; Fri, 30 May 2003 10:38:39 -0700 (PDT) Received: from dragon.nuxi.com (trang.nuxi.com [66.93.134.19]) by mx1.FreeBSD.org (Postfix) with ESMTP id 55CFC43F75 for ; Fri, 30 May 2003 10:38:39 -0700 (PDT) (envelope-from obrien@NUXI.com) Received: from dragon.nuxi.com (obrien@localhost [127.0.0.1]) by dragon.nuxi.com (8.12.9/8.12.9) with ESMTP id h4UHcSVm022926 for ; Fri, 30 May 2003 10:38:32 -0700 (PDT) (envelope-from obrien@dragon.nuxi.com) Received: (from obrien@localhost) by dragon.nuxi.com (8.12.9/8.12.9/Submit) id h4UHcSbp022925 for freebsd-ia64@freebsd.org; Fri, 30 May 2003 10:38:28 -0700 (PDT) Date: Fri, 30 May 2003 10:38:27 -0700 From: "David O'Brien" To: freebsd-ia64@freebsd.org Message-ID: <20030530173827.GD90937@dragon.nuxi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4i X-Operating-System: FreeBSD 5.1-BETA Organization: The NUXI BSD Group X-Pgp-Rsa-Fingerprint: B7 4D 3E E9 11 39 5F A3 90 76 5D 69 58 D9 98 7A X-Pgp-Rsa-Keyid: 1024/34F9F9D5 Subject: (FWD) Does gcc violate the ia64 ABI? X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: freebsd-ia64@freebsd.org List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 May 2003 17:38:40 -0000 ----- Forwarded message from "H. J. Lu" ----- I will open a bug in gcc bugzilla when conversion is done. In the meantime, I opened https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=91056 The problem is gcc doesn't save/store gp across call. According to the ia64 ABI, callee can change gp and gp must be saved/restore by caller across calls. It is on page 5-2 in the Itanium Software Conventions and Runtime Architecture Guide. Am I right? ----- End forwarded message ----- I have put the entire thread at http://people.freebsd.org/~obrien/gcc-violate-ia64ABI.mbox -- -- David (obrien@FreeBSD.org) From owner-freebsd-ia64@FreeBSD.ORG Fri May 30 11:08:08 2003 Return-Path: Delivered-To: freebsd-ia64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 85EDC37B401 for ; Fri, 30 May 2003 11:08:08 -0700 (PDT) Received: from ns1.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id BAAFA43F85 for ; Fri, 30 May 2003 11:08:07 -0700 (PDT) (envelope-from marcel@xcllnt.net) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by ns1.xcllnt.net (8.12.9/8.12.9) with ESMTP id h4UI87wk078450 for ; Fri, 30 May 2003 11:08:07 -0700 (PDT) (envelope-from marcel@piii.pn.xcllnt.net) Received: from dhcp01.pn.xcllnt.net (localhost [127.0.0.1]) by dhcp01.pn.xcllnt.net (8.12.9/8.12.9) with ESMTP id h4UI874s000814 for ; Fri, 30 May 2003 11:08:07 -0700 (PDT) (envelope-from marcel@dhcp01.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.12.9/8.12.9/Submit) id h4UI87YC000813 for freebsd-ia64@freebsd.org; Fri, 30 May 2003 11:08:07 -0700 (PDT) Date: Fri, 30 May 2003 11:08:07 -0700 From: Marcel Moolenaar To: freebsd-ia64@freebsd.org Message-ID: <20030530180807.GD568@dhcp01.pn.xcllnt.net> References: <20030530173827.GD90937@dragon.nuxi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030530173827.GD90937@dragon.nuxi.com> User-Agent: Mutt/1.5.4i Subject: Re: (FWD) Does gcc violate the ia64 ABI? X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 May 2003 18:08:08 -0000 On Fri, May 30, 2003 at 10:38:27AM -0700, David O'Brien wrote: > ----- Forwarded message from "H. J. Lu" ----- > I will open a bug in gcc bugzilla when conversion is done. In the > meantime, I opened > > https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=91056 > > The problem is gcc doesn't save/store gp across call. According to the > ia64 ABI, callee can change gp and gp must be saved/restore by caller > across calls. It is on page 5-2 in the Itanium Software Conventions > and Runtime Architecture Guide. Am I right? > ----- End forwarded message ----- > > I have put the entire thread at > http://people.freebsd.org/~obrien/gcc-violate-ia64ABI.mbox I don't think gcc violates the runtime. There's no requirement to save and restore gp in a function if that function does not need or use gp itself. Suppose we have the following call-graph: foo->bar->baz foo() cannot assume that when bar() returns, gp has the value that corresponds to bar(). The function bar() can safely call baz() without saving and restoring gp if bar() itself has no reference to gp. I think gp is marked as a scratch register besides the requirement that it is setup by the caller for use by the callee... -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net From owner-freebsd-ia64@FreeBSD.ORG Sat May 31 12:21:39 2003 Return-Path: Delivered-To: freebsd-ia64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 377F437B401; Sat, 31 May 2003 12:21:39 -0700 (PDT) Received: from cueball.rtp.FreeBSD.org (cueball.rtp.FreeBSD.org [192.58.184.37]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4F99B43FAF; Sat, 31 May 2003 12:21:38 -0700 (PDT) (envelope-from des+tinderbox@freebsd.org) Received: from cueball.rtp.FreeBSD.org (localhost [127.0.0.1]) h4VJLJkF089789; Sat, 31 May 2003 15:21:19 -0400 (EDT) (envelope-from des+tinderbox@freebsd.org) Received: (from des@localhost) by cueball.rtp.FreeBSD.org (8.12.9/8.12.9/Submit) id h4VJLJX1089788; Sat, 31 May 2003 19:21:19 GMT (envelope-from des+tinderbox@freebsd.org) Date: Sat, 31 May 2003 19:21:19 GMT Message-Id: <200305311921.h4VJLJX1089788@cueball.rtp.FreeBSD.org> X-Authentication-Warning: cueball.rtp.FreeBSD.org: des set sender to Tinderbox using -f Sender: Tinderbox From: Tinderbox To: current@freebsd.org, ia64@freebsd.org Subject: [-CURRENT tinderbox] failure on ia64/ia64 X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 May 2003 19:21:39 -0000 TB --- 2003-05-31 19:06:48 - starting CURRENT tinderbox run for ia64/ia64 TB --- 2003-05-31 19:06:48 - checking out the source tree TB --- cd /home/des/tinderbox/CURRENT/ia64/ia64 TB --- /usr/bin/cvs -f -R -q -d/home/ncvs update -Pd -A src TB --- 2003-05-31 19:08:27 - building world TB --- cd /home/des/tinderbox/CURRENT/ia64/ia64/src TB --- /usr/bin/make -B buildworld >>> Rebuilding the temporary build tree >>> stage 1: legacy release compatibility shims >>> stage 1: bootstrap tools >>> stage 2: cleaning up the object tree >>> stage 2: rebuilding the object tree >>> stage 2: build tools >>> stage 3: cross tools >>> stage 4: populating /home/des/tinderbox/CURRENT/ia64/ia64/obj/ia64/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/i386/usr/include >>> stage 4: building libraries [...] /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/lib/libpam/libpam/pam_std_option.c:137: warning: `struct options' declared inside parameter list /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/lib/libpam/libpam/pam_std_option.c:138: parameter `option' has incomplete type /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/lib/libpam/libpam/pam_std_option.c:138: warning: no previous prototype for `pam_clear_option' /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/lib/libpam/libpam/pam_std_option.c: In function `pam_clear_option': /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/lib/libpam/libpam/pam_std_option.c:139: `PAM_OPT_STD_MAX' undeclared (first use in this function) /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/lib/libpam/libpam/pam_std_option.c:140: dereferencing pointer to incomplete type /home/des/tinderbox/CURRENT/ia64/ia64/obj/ia64/vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/i386/usr/include/stdio.h: At top level: /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/lib/libpam/libpam/pam_std_option.c:40: storage size of `std_options' isn't known *** Error code 1 Stop in /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/lib/libpam/libpam. *** Error code 1 Stop in /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src/lib/libpam. *** Error code 1 Stop in /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src. *** Error code 1 Stop in /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src. *** Error code 1 Stop in /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src. *** Error code 1 Stop in /vol/vol0/users/des/tinderbox/CURRENT/ia64/ia64/src. TB --- 2003-05-31 19:21:19 - /usr/bin/make returned exit code 1 TB --- 2003-05-31 19:21:19 - ERROR: failed to build world TB --- 2003-05-31 19:21:19 - tinderbox aborted