[Bug 866669] New: xdr_u_longlong_t takes u_quad_t as parameter
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c0
Summary: xdr_u_longlong_t takes u_quad_t as parameter
Classification: openSUSE
Product: openSUSE 13.1
Version: Final
Platform: x86-64
OS/Version: openSUSE 13.1
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Development
AssignedTo: bnc-team-screening@forge.provo.novell.com
ReportedBy: P.rehme@physik.uni-stuttgart.de
QAContact: qa-bugs@suse.de
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:27.0) Gecko/20100101
Firefox/27.0
Try to compile a file with header
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c1
Bernhard Wiedemann
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c2
--- Comment #2 from Michael Matz
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c3
--- Comment #3 from Bernhard Wiedemann
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c4
--- Comment #4 from Andreas Schwab
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c5
--- Comment #5 from Michael Matz
Where is u_longlong_t defined?
I believe that's exactly the problem. It's defined nowhere in linux, and xdr_u_longlong_t takes an u_quad_t in glibc. Solaris' variant takes an u_longlong_t (and presumably defines it in rpc/types.h, can't check). The problem of course is, that the name of the function suggests it takes an argument that's compatible with "unsigned long long *" (which is what Solaris' version indeed seems to do), but in fact doesn't. On 32bit machines it will also take long long * in linux, but on 64bit machine it just takes a long * (because quad_t is defined to some 64bit type, so long is enough on 64bit). So, for Solaris compatibility it would be better to change the prototype to take an u_longlong_t (and define it to unsigned long long for all platforms). But it could change behaviour of existing programs that expect u_quad_t to work (which wouldn't be compatible with u_longlong_t if it were defined as above on 64bit machines). I don't know a good solution :-/ -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c6
Andreas Schwab
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c7
--- Comment #7 from Andreas Schwab
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c8
--- Comment #8 from Andreas Schwab
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c9
--- Comment #9 from Thorsten Kukuk
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c10
--- Comment #10 from Andreas Schwab
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c11
--- Comment #11 from Thorsten Kukuk
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c12
--- Comment #12 from Andreas Schwab
https://bugzilla.novell.com/show_bug.cgi?id=866669
https://bugzilla.novell.com/show_bug.cgi?id=866669#c13
Andreas Schwab
participants (1)
-
bugzilla_noreply@novell.com