Bug 50422 - rpm 4.0.3 CVS: Use of __va_copy().
Summary: rpm 4.0.3 CVS: Use of __va_copy().
Alias: None
Product: Red Hat Raw Hide
Classification: Retired
Component: rpm   
(Show other bugs)
Version: 1.0
Hardware: sparc Linux
Target Milestone: ---
Assignee: Jeff Johnson
QA Contact: David Lawrence
Depends On:
TreeView+ depends on / blocked
Reported: 2001-07-31 02:40 UTC by Red Hat Bugzilla
Modified: 2008-03-13 19:18 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2001-07-31 03:15:14 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Red Hat Bugzilla 2001-07-31 02:40:01 UTC
Fresh CVS of rpm 4.0.3/rpmio/rpmlog.c uses __va_copy() in the event that
not defined and/or not recent enough.  This works fine for most platforms
if you're using
gcc, since it implements that (former) extension.  Most vendor compilers,
including the
up-to-date Forte C compiler on Solaris don't have that (it does have
va_copy() in
stdarg.h, though).  Note that va_copy() is part of the C9X standard now,
but it will
likely be a while before it's been implemented in most compilers.

I'm not sure why the call to __va_copy() is there -- the code is the same
for the GLIBC
case where

	2 < glibc version < 2.1.x 

*except* that the __va_copy() is missing there.

In any case, depending on __va_copy() is going to provide for portability

Comment 1 Red Hat Bugzilla 2001-07-31 02:52:52 UTC
__va_copy was added, and is apparently necessary, on ppc-linux and s390-linux.
There was a recent note on rpm-list (from Franz Sirl?) asking for yet another
with __va_copy.

Comment 2 Red Hat Bugzilla 2001-07-31 03:15:08 UTC
Thanks, I'll check through the archive.

Since it's needed on some architectures, the best thing might be to check for
its existence with

The question is, are there platforms where it does any harm?

Comment 3 Red Hat Bugzilla 2001-08-04 18:32:37 UTC
__va_copy is in stdarg.h and/or varargs.h, so you should
look in the gcc-lib private include.

Meanwhile, since I have no platform that *must* have
__va_copy, I'm gonna defer this bug until someone tells
me the right thing to do.

Note You need to log in before you can comment on or make changes to this bug.