This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: need help with 176.gcc from SPEC CPU2000 on LP64 with GCC 3


On Tue, Feb 12, 2002 at 04:49:29PM -0800, Richard Henderson wrote:
> On Tue, Feb 12, 2002 at 10:32:39AM -0800, Janis Johnson wrote:
> > When I build 176.gcc from SPEC CPU2000 on ia64-unknown-linux-gnu, no
> > matter what options I use, it gets a segv in memset called from
> > life_analysis.  Has anyone successfully run this benchmark in an LP64
> > environment using GCC 3.x?  If so, would you please let me know which
> > extra flags you used and anything else you needed to do?  The SPEC web
> > site has a config file used for Alpha, but I didn't recognize anything
> > else as IA64 and the Alpha configuration didn't seem to do anything
> > special.
> 
> My guess is that it's a missing prototype problem.
> 
> IA-64 has a stupid ABI in which "int" is passed in the low 32 bits
> of a 64-bit register, and the upper 32 bits are undefined.  Alpha,
> on the other hand, requires that 32-bit values be sign-extended.
> 
> I remember that this came up compiling perl from spec95, but don't
> recall the exact situation to give you an example of how aggressive
> gcc can be wrt eliding "unnecessary" sign and zero extensions, but
> the general form of the failure will be
> 
> 	int t = pointer subtration
> 	foo(t)
> 
> where foo is not properly prototyped and foo actually takes e.g. a
> size_t argument.  With the prototype in place, the caller will
> properly sign/zero extend the argument.  Without, you get garbage.
> 
> 
> r~

Thanks, I'll look for things like that.  I also need to look more
closely at its definitions of data type sizes, particularly the host
values.  Meanwhile, I realized that the Alpha config file used an
option for 32-bit pointers, so it wouldn't have run into the problems
I'm seeing.

Janis


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]