Re: Does Ada build on Linux/ia32?
I opened http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35186 H.J. On Feb 11, 2008 4:35 PM, Eric Botcazou <[EMAIL PROTECTED]> wrote: > > I don't know Ada to create a testcase. Can some Ada people help out? > > It's not very different from C++. Start from the command line you posted and > remove code simultaneously from s-pack33.ads (roughly the .h file) and from > s-pack33.adb (roughly the .C file). Then put a breakpoint in decl.c where > the error message is issued and try to find out why it is issued with the > modified compiler and why it is not with the pristine compiler. > > -- > Eric Botcazou >
GNAT/RTEMS ACATS Scripts
Hi, I wondered if it was OK to add an rtems subdirectory to the gcc/gcc/testsuite/ada/acats and place the attached files in it. rtems_acats_scripts/rtems_init.c RTEMS Initialization and Configuration to run an Ada main with configuration to pass ACATS rtems_acats_scripts/Makefile.rtems Makefile which is used by run_all_rtems.sh to probe the installed RTEMS and extract the CFLAGS, LDFLAGS and to tell ACATS the command to run a test. It generates a file which is sourced from run_all_rtems.sh to know how to compile and link, etc. rtems_acats_scripts/run_all_rtems.sh Modified version of run_all.sh to work with RTEMS. I have used these to run ACATS for SVN and 4.2.3 for these combinations in the past week and posted the results. + powerpc on psim + sparc on sis + i386 on qemu I would like to do this soon so they can make 4.3.0. I know Laurent Guerby and I have been trading versions of these for years and they should be in gcc. --joel rtems_acats_scripts.tar.bz2 Description: application/bzip
Re: Does Ada build on Linux/ia32?
> I opened > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35186 Thanks! -- Eric Botcazou
When is RBX used for base pointer?
Hi, We need a callee-saved register for stack alignment. In 64bit, our choices are rbx, and r12-r15. r12-r15 need the REX byte and r12 also needs the SIB byte. So I'd like to use rbx. x86-64 psABI says rbx is callee-saved and optionally used as base pointer. However, I couldn't find an example where rbx is used as base pointer. Is this a carryover from i386 psABI where ebx is used to hold GOT? Thanks. H.J.
Re: [discuss] When is RBX used for base pointer?
Hi, On Wed, 13 Feb 2008, H.J. Lu wrote: > We need a callee-saved register for stack alignment. Can you expand on why? > In 64bit, our choices are rbx, and r12-r15. r12-r15 need the REX byte > and r12 also needs the SIB byte. So I'd like to use rbx. x86-64 psABI > says rbx is callee-saved and optionally used as base pointer. However, I > couldn't find an example where rbx is used as base pointer. Is this a > carryover from i386 psABI where ebx is used to hold GOT? In the large memory model you need a base pointer for the GOT. Of course we could do the same as in recent i386 and chose an arbitrary register as GOT pointer. Ciao, Michael.
Re: [discuss] When is RBX used for base pointer?
On Feb 13, 2008 1:52 PM, Michael Matz <[EMAIL PROTECTED]> wrote: > Hi, > > On Wed, 13 Feb 2008, H.J. Lu wrote: > > > We need a callee-saved register for stack alignment. > > Can you expand on why? Our proposal is at http://gcc.gnu.org/ml/gcc/2007-12/msg00567.html For most cases, we can align stack with RBP/RSP. But we need an extra register when there is dynamic stack allocation or nested functions. It has to be callee-saved to work with setjmp/longjmp. > > > In 64bit, our choices are rbx, and r12-r15. r12-r15 need the REX byte > > and r12 also needs the SIB byte. So I'd like to use rbx. x86-64 psABI > > says rbx is callee-saved and optionally used as base pointer. However, I > > couldn't find an example where rbx is used as base pointer. Is this a > > carryover from i386 psABI where ebx is used to hold GOT? > > In the large memory model you need a base pointer for the GOT. Of course > we could do the same as in recent i386 and chose an arbitrary register as > GOT pointer. I will use rbx then. Thanks. H.J.
gcc-4.2-20080213 is now available
Snapshot gcc-4.2-20080213 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.2-20080213/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 4.2 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-4_2-branch revision 132298 You'll find: gcc-4.2-20080213.tar.bz2 Complete GCC (includes all of below) gcc-core-4.2-20080213.tar.bz2 C front end and core compiler gcc-ada-4.2-20080213.tar.bz2 Ada front end and runtime gcc-fortran-4.2-20080213.tar.bz2 Fortran front end and runtime gcc-g++-4.2-20080213.tar.bz2 C++ front end and runtime gcc-java-4.2-20080213.tar.bz2 Java front end and runtime gcc-objc-4.2-20080213.tar.bz2 Objective-C front end and runtime gcc-testsuite-4.2-20080213.tar.bz2The GCC testsuite Diffs from 4.2-20080206 are available in the diffs/ subdirectory. When a particular snapshot is ready for public consumption the LATEST-4.2 link is updated and a message is sent to the gcc list. Please do not use a snapshot before it has been announced that way.
Re: [discuss] When is RBX used for base pointer?
Hi, On Wed, 13 Feb 2008, H.J. Lu wrote: > Our proposal is at > > http://gcc.gnu.org/ml/gcc/2007-12/msg00567.html > > For most cases, we can align stack with RBP/RSP. But > we need an extra register when there is dynamic stack > allocation or nested functions. It has to be callee-saved > to work with setjmp/longjmp. I'm probably missing something, but why does it have to be a fixed register at all? Why not simply saying "a free callee-saved register"? Ciao, Michael.
Re: [discuss] When is RBX used for base pointer?
On Feb 13, 2008 2:49 PM, Michael Matz <[EMAIL PROTECTED]> wrote: > Hi, > > On Wed, 13 Feb 2008, H.J. Lu wrote: > > > Our proposal is at > > > > http://gcc.gnu.org/ml/gcc/2007-12/msg00567.html > > > > For most cases, we can align stack with RBP/RSP. But > > we need an extra register when there is dynamic stack > > allocation or nested functions. It has to be callee-saved > > to work with setjmp/longjmp. > > I'm probably missing something, but why does it have to be a fixed > register at all? Why not simply saying "a free callee-saved register"? > We allocate this register when expanding prologue. Joey, Xuepeng, will "a free callee-saved register" work here? H.J.
Re: [discuss] When is RBX used for base pointer?
> Hi, > > On Wed, 13 Feb 2008, H.J. Lu wrote: > > > We need a callee-saved register for stack alignment. > > Can you expand on why? > > > In 64bit, our choices are rbx, and r12-r15. r12-r15 need the REX byte > > and r12 also needs the SIB byte. So I'd like to use rbx. x86-64 psABI > > says rbx is callee-saved and optionally used as base pointer. However, I > > couldn't find an example where rbx is used as base pointer. Is this a > > carryover from i386 psABI where ebx is used to hold GOT? > > In the large memory model you need a base pointer for the GOT. Of course > we could do the same as in recent i386 and chose an arbitrary register as > GOT pointer. Recent i386 use arbitrary register as GOT pointer only for leaf function. When you call something, the GOT entry uses EBX too. We use RBX for large PIC model. But I am with Michael here that I don't see reason why choice of register needs to be set in stone. We can probably use RBX for non-large-PIC and R12 elsewhere. Honza > > > Ciao, > Michael. > ___ > discuss mailing list > [EMAIL PROTECTED] > https://www.x86-64.org/mailman/listinfo/discuss
Re: [discuss] When is RBX used for base pointer?
> On Feb 13, 2008 2:49 PM, Michael Matz <[EMAIL PROTECTED]> wrote: > > Hi, > > > > On Wed, 13 Feb 2008, H.J. Lu wrote: > > > > > Our proposal is at > > > > > > http://gcc.gnu.org/ml/gcc/2007-12/msg00567.html > > > > > > For most cases, we can align stack with RBP/RSP. But > > > we need an extra register when there is dynamic stack > > > allocation or nested functions. It has to be callee-saved > > > to work with setjmp/longjmp. > > > > I'm probably missing something, but why does it have to be a fixed > > register at all? Why not simply saying "a free callee-saved register"? > > > > We allocate this register when expanding prologue. Joey, Xuepeng, > will "a free callee-saved register" work here? See code around ix86_select_alt_pic_regnum. You can play similar tricks. Honza > > H.J. > ___ > discuss mailing list > [EMAIL PROTECTED] > https://www.x86-64.org/mailman/listinfo/discuss