Re: gcc varargs problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01-Aug-08 17:36:50 Bill Davidsen wrote:
>whoosh wrote:
>> all gcc's so far have accepted the following code,
>> 
>> until now using gcc on Fedora 9:
>> 
>> 
>> void f( va_list *pargs )
>> {
>> va_list args = *pargs ;
>> ...
>> }
>> 
>> 64 bit Fedora 9's gcc regards this as an error, all the other gcc's eg 
>> on 32 bit Fedora Core 3 have no problem with this.
>> 
>> 
>> I use this a lot in order to pass var args to another function.
>> eg I have recursive functions which take variable numbers of args
>> and redirect to user supplied functions to process those args.
>> 
>> 
>> for porting code I dont want to have to rewrite everything,
>> 
>Yes, that is an issue, and even using the compatibility RPMs the new 
>includes seem to be used and old code doesn't compile properly. I have 
>set up a virtual machine using an old version (RH9 or FC1) so I can 
>compile what I need and link static so I can use the code I need.

if the code is in an rpm and via a make file and sed and awk etc

then it is NEAR IMPOSSIBLE to change it!

perhaps the answer is to have an alternative implementation of varargs

which is backwards compatible. eg if you just use the stack for function

args then varargs should ALWAYS be straightforwardish.


stack args are a bit slower but its not a big deal!


from a development point of view it is always more efficient to 
workaround the compiler than to workaround the source.






















>-- 
>Bill Davidsen <davidsen@xxxxxxx>
>   "We have more to fear from the bungling of the incompetent than from
>the machinations of the wicked."  - from Slashdot

>-- 
>fedora-list mailing list
>fedora-list@xxxxxxxxxx
>To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list



-- 
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora Magazine]     [Fedora News]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [SSH]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux