Re: Support of variable arguments: Re: [ROOT] Form on Alpha OSF

From: Masaharu Goto (MXJ02154@nifty.ne.jp)
Date: Thu Aug 22 2002 - 14:54:45 MEST


Hello Jiri and Christian,

Support for variable arguments (between compiled code and interpreter)
depends on stack data alignment of specific CPU architecture. So far,
I investigated  Intel, HP-PA and Sparc.  It turned out passing class/struct
object as value is a fundamental problem in HP-PA and Sparc. For those
CPUs, only fundamental type arguments can be passed.  Intel architecture
is fine for passing class/struct object as value.  I am not sure for
Mac/PowerPC platform.

This is implemented in following locations in Cint source code.

G__ci.h  line 1608-1633
  Define macro for turning on/off the vaarg feature depending on
  computer architecture.

src/size.c line 1258-1266
  Implements vaarg byte alignment. You can add implementation
  for other platforms if you'd like. Normally, vaarg alignment rule is
  described in include/stdarg.h and in va_arg() macro. This macro
  is a really complicated beast, however, if you try hard, it tells you
  how variable arguments are implemented in your compiler.

Probably, I can tell you a little more about Mac/PowerPC if you
send me include/stdarg.h.

Thank you
Masaharu Goto

----- Original Message -----
From: "cstrato" <cstrato@aon.at>
To: "Jiri Masik" <masik@fzu.cz>
Cc: <roottalk@pcroot.cern.ch>
Sent: Thursday, August 22, 2002 4:00 AM
Subject: Support of variable arguments: Re: [ROOT] Form on Alpha OSF


> Dear Rooters
>
> I am, too, missing support for variable arguments on the Mac,
> i.e. the PowerPC platform.
> Does anyone know if support is planned in the future?
>
> Best regards
> Christian
> _._._._._._._._._._._._._._._._
> C.h.i.s.t.i.a.n S.t.r.a.t.o.w.a
> V.i.e.n.n.a       A.u.s.t.r.i.a
> _._._._._._._._._._._._._._._._
>
>
> Jiri Masik wrote:
>
> > Thomas Bretz <tbretz@astro.uni-wuerzburg.de> writes:
> >
> >
> >>Hi,
> >>
> >>what's the reason, that Form is not supported on Alphas in the
interpreter?
> >>
> >>Thomas.
> >>
> >
> > Hi Thomas,
> >
> > Form relies on the implementation of variable arguments functions in
> > Cint which is currently done only for Linux on ia32 and Win32 I think.
> > You can do grep -r G__VAARG * in Root tree to get an idea what is
> > needed.
> >
> > cheers
> >         Jiri
> >
> >
> >
>
>



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:05 MET