From patchwork Mon Oct 27 07:59:29 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Pinski X-Patchwork-Id: 3406 Received: (qmail 15562 invoked by alias); 27 Oct 2014 08:00:04 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 15269 invoked by uid 89); 27 Oct 2014 08:00:00 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 X-HELO: mail-ie0-f180.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=lr30JcIw9u+JTlU1u8Ak/StbufHi70CUlGJzV9rQl8I=; b=DlQCJAhoOvWgqto9I9n3kBwUZBTdSPROfCnmNwqrxKH250a+ftzJlUURyupzSvoDlL QQz1b4xALr6CnRwJGvqFOE+c/EHCW59422fUgJH9qJemiJwuNI8kAqyh9GLjeOO+EuQr vYWP18cngTv5MwAE5RkegsMkD5EYxAJfInoxUVT5eKgy3wBeyavLzcYoz/552vZwPpG/ 2QU7YVmLYkxTwQ2g1CkmP8Nq/zZji20aXouJN7b3hnDLoTHORxg9uDSGjPAiVe2RjKFr ZEPoK3Eq+TJhZh07Jll0vz+82noEM7yBPISHeCyPlRYsEH8Wn/S2PXK7Io3o6J6EuRGT hszQ== X-Gm-Message-State: ALoCoQkDIKNNKE+y6p8478QHSnxIjZkCqLFA239sCfCVO7xamEKmQp0z8s4EsrRPm5Dqy98TSChE X-Received: by 10.42.122.208 with SMTP id o16mr623365icr.69.1414396797115; Mon, 27 Oct 2014 00:59:57 -0700 (PDT) From: Andrew Pinski To: libc-alpha@sourceware.org Cc: Andrew Pinski Subject: [PATCH 05/29] Allow fd_mask type not be an array of long. Date: Mon, 27 Oct 2014 00:59:29 -0700 Message-Id: <1414396793-9005-6-git-send-email-apinski@cavium.com> In-Reply-To: <1414396793-9005-1-git-send-email-apinski@cavium.com> References: <1414396793-9005-1-git-send-email-apinski@cavium.com> Even though XPG4.2 requires fd_set member be a long, AARCH64:ILP32 needs it to be the same size as AARCH64:LP64 for big-endian so we need it to be long long. * misc/sys/select.h (__FD_MASK_TYPE): Define. (__FD_MASK_CONST): Define. (__fd_mask): Change to base on __FD_MASK_TYPE. (__FD_MASK): Use __FD_MASK_CONST. --- misc/sys/select.h | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/misc/sys/select.h b/misc/sys/select.h index 941588d..0ca660e 100644 --- a/misc/sys/select.h +++ b/misc/sys/select.h @@ -49,16 +49,20 @@ typedef __suseconds_t suseconds_t; # define __suseconds_t_defined #endif +/* The fd_set member is required to be an array of longs by XPG4.2. */ +#ifndef __FD_MASK_TYPE +#define __FD_MASK_TYPE long +#define __FD_MASK_CONST(a) a##ul +#endif -/* The fd_set member is required to be an array of longs. */ -typedef long int __fd_mask; +typedef __FD_MASK_TYPE __fd_mask; /* Some versions of define this macros. */ #undef __NFDBITS /* It's easier to assume 8-bit bytes than to get CHAR_BIT. */ #define __NFDBITS (8 * (int) sizeof (__fd_mask)) #define __FD_ELT(d) ((d) / __NFDBITS) -#define __FD_MASK(d) ((__fd_mask) (1UL << ((d) % __NFDBITS))) +#define __FD_MASK(d) ((__fd_mask) (__FD_MASK_CONST(1) << ((d) % __NFDBITS))) /* fd_set for select and pselect. */ typedef struct