Am 23/01/12 16:48, schrieb Svante Signell:
On Mon, 2012-01-23 at 16:38 +0100, Jelmer Vernooij wrote:
Am 23/01/12 16:16, schrieb Svante Signell:
What's the exact build failure ?

The original code uses "#ifndef IOV_MAX" to see if it should define
IOV_MAX. I don't see why that would fail if IOV_MAX isnt actually defined.
Original code:
  #if !defined IOV_MAX
not defined!

# ifdef UIO_MAXIOV
not defined

#  define IOV_MAX UIO_MAXIOV
# else
#  ifdef __sgi

not __sgi

#   define IOV_MAX 512
#  else
#   error IOV_MAX and UIO_MAXIOV undefined
errors out here!

#  endif
# endif
#endif

with #if !defined IOV_MAX&&  !defined __GNU__ the whole block of code is
skipped, since !IOV_MAX = TRUE, !__GNU__= FALSE. For other OSes,
!__GNU__ is always TRUE.
The whole point of this code block is to define IOV_MAX if the system doesn't have it - other code relies on that constant. This change breaks that contract.

I see that POSIX doesn't mandate IOV_MAX if there is no maximum. I think we should perhaps remove that error altogether (and change the contract) and fix any calling code that has an absolute dependency on IOV_MAX, rather than special casing GNU here.

Cheers,

Jelmer



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to