From patchwork Fri Nov 20 23:47:18 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 547092 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 2A38E141487 for ; Sat, 21 Nov 2015 10:47:33 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b=WVxYwHOO; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:mime-version :content-type; q=dns; s=default; b=lkQ2NfgTNdTfimDDbDf8pFVw0DMHV pg9KB21uyyMW/ak9/PbiuUApTL/VUSKFCGvInGxnecng0yV0AzfF1pZCil5t1PgH 30H/KJGSSXe1e3Rs0sz+qY99GC3b6SV4N20hWZORJjUPeWQB/PbU/2b61791Ubtm gijf1uvpio9CJw= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:mime-version :content-type; s=default; bh=EIrKCBMjr9h+IEpuUP62RTL9t4c=; b=WVx YwHOOKnJvP+shm7eU9Z40h60Yyqltpq1BHapqvXLBfVsWWBxeP1w/gmXBy3USxW0 yzGaNd98ntQvEwK+wBwao3uSKZMbBsMn9pIoz+elXkg2o5mikE9DXnA+k7YG2TPa Bmyfqsq9Zob+3vWX5qz7xCJJWHT9Uw4YehQ532/w= Received: (qmail 59004 invoked by alias); 20 Nov 2015 23:47:27 -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 58989 invoked by uid 89); 20 Nov 2015 23:47:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=AWL, BAYES_50, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Date: Fri, 20 Nov 2015 23:47:18 +0000 From: Joseph Myers To: Subject: Fix math_private.h multiple include guards [committed] Message-ID: User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Various math_private.h headers are guarded by "#ifndef _MATH_PRIVATE_H", but never define the macro. Nothing else defines the macro either (the generic math_private.h that they include defines a different macro, _MATH_PRIVATE_H_), so those guards are ineffective. With the recent inclusion of s_sin.c in s_sincos.c, this breaks the build for MIPS, since the build of s_sincos.c ends up including twice and the MIPS version defines inline functions such as libc_feholdexcept_mips, without a separate fenv_private.h header with its own guards such as some architectures have. This patch fixes all the problem headers to use architecture-specific guard macro names, and to define those macros in the headers they guard, just as some architectures already do. Tested for x86 (testsuite, and that installed shared libraries are unchanged by the patch), and for mips64 (that it fixes the build). Committed. 2015-11-20 Joseph Myers * sysdeps/arm/math_private.h [!_MATH_PRIVATE_H]: Change guard to [!ARM_MATH_PRIVATE_H]. [!ARM_MATH_PRIVATE_H] (ARM_MATH_PRIVATE_H): Define macro. * sysdeps/hppa/math_private.h [!_MATH_PRIVATE_H]: Change guard to [!HPPA_MATH_PRIVATE_H]. [!HPPA_MATH_PRIVATE_H] (HPPA_MATH_PRIVATE_H): Define macro. * sysdeps/i386/fpu/math_private.h [!_MATH_PRIVATE_H]: Change guard to [!I386_MATH_PRIVATE_H]. [!I386_MATH_PRIVATE_H] (I386_MATH_PRIVATE_H): Define macro. * sysdeps/m68k/m680x0/fpu/math_private.h [!_MATH_PRIVATE_H]: Change guard to [!M68K_MATH_PRIVATE_H]. [!M68K_MATH_PRIVATE_H] (M68K_MATH_PRIVATE_H): Define macro. * sysdeps/microblaze/math_private.h [!_MATH_PRIVATE_H]: Change guard to [!MICROBLAZE_MATH_PRIVATE_H]. [!MICROBLAZE_MATH_PRIVATE_H] (MICROBLAZE_MATH_PRIVATE_H): Define macro. * sysdeps/mips/math_private.h [!_MATH_PRIVATE_H]: Change guard to [!MIPS_MATH_PRIVATE_H]. [!MIPS_MATH_PRIVATE_H] (MIPS_MATH_PRIVATE_H): Define macro. * sysdeps/nios2/math_private.h [!_MATH_PRIVATE_H]: Change guard to [!NIO2_MATH_PRIVATE_H]. [!NIO2_MATH_PRIVATE_H] (NIO2_MATH_PRIVATE_H): Define macro. * sysdeps/tile/math_private.h [!_MATH_PRIVATE_H]: Change guard to [!TILE_MATH_PRIVATE_H]. [!TILE_MATH_PRIVATE_H] (TILE_MATH_PRIVATE_H): Define macro. diff --git a/sysdeps/arm/math_private.h b/sysdeps/arm/math_private.h index 541a7f8..c175b15 100644 --- a/sysdeps/arm/math_private.h +++ b/sysdeps/arm/math_private.h @@ -1,4 +1,5 @@ -#ifndef _MATH_PRIVATE_H +#ifndef ARM_MATH_PRIVATE_H +#define ARM_MATH_PRIVATE_H 1 #include "fenv_private.h" #include_next diff --git a/sysdeps/hppa/math_private.h b/sysdeps/hppa/math_private.h index fbcc884..457495e 100644 --- a/sysdeps/hppa/math_private.h +++ b/sysdeps/hppa/math_private.h @@ -16,7 +16,8 @@ License along with the GNU C Library; if not, see . */ -#ifndef _MATH_PRIVATE_H +#ifndef HPPA_MATH_PRIVATE_H +#define HPPA_MATH_PRIVATE_H 1 /* One of the few architectures where the meaning of the quiet/signaling bit is inverse to IEEE 754-2008 (as well as common practice for IEEE 754-1985). */ diff --git a/sysdeps/i386/fpu/math_private.h b/sysdeps/i386/fpu/math_private.h index 541a7f8..4852143 100644 --- a/sysdeps/i386/fpu/math_private.h +++ b/sysdeps/i386/fpu/math_private.h @@ -1,4 +1,5 @@ -#ifndef _MATH_PRIVATE_H +#ifndef I386_MATH_PRIVATE_H +#define I386_MATH_PRIVATE_H 1 #include "fenv_private.h" #include_next diff --git a/sysdeps/m68k/m680x0/fpu/math_private.h b/sysdeps/m68k/m680x0/fpu/math_private.h index 217de2e..2b79095 100644 --- a/sysdeps/m68k/m680x0/fpu/math_private.h +++ b/sysdeps/m68k/m680x0/fpu/math_private.h @@ -1,4 +1,5 @@ -#ifndef _MATH_PRIVATE_H +#ifndef M68K_MATH_PRIVATE_H +#define M68K_MATH_PRIVATE_H 1 #define math_opt_barrier(x) \ ({ __typeof (x) __x; \ diff --git a/sysdeps/microblaze/math_private.h b/sysdeps/microblaze/math_private.h index 2cfaaca..73e59df 100644 --- a/sysdeps/microblaze/math_private.h +++ b/sysdeps/microblaze/math_private.h @@ -1,4 +1,5 @@ -#ifndef _MATH_PRIVATE_H +#ifndef MICROBLAZE_MATH_PRIVATE_H +#define MICROBLAZE_MATH_PRIVATE_H 1 /* Suppress use of exceptions here to avoid build errors if the FE_* macros aren't definied. Only allow rounding modes implemented for diff --git a/sysdeps/mips/math_private.h b/sysdeps/mips/math_private.h index 3db0273..2f54424 100644 --- a/sysdeps/mips/math_private.h +++ b/sysdeps/mips/math_private.h @@ -16,7 +16,8 @@ License along with the GNU C Library; if not, see . */ -#ifndef _MATH_PRIVATE_H +#ifndef MIPS_MATH_PRIVATE_H +#define MIPS_MATH_PRIVATE_H 1 #ifdef __mips_nan2008 /* MIPS aligned to IEEE 754-2008. */ diff --git a/sysdeps/nios2/math_private.h b/sysdeps/nios2/math_private.h index a89db44..a32579f 100644 --- a/sysdeps/nios2/math_private.h +++ b/sysdeps/nios2/math_private.h @@ -1,4 +1,5 @@ -#ifndef _MATH_PRIVATE_H +#ifndef NIO2_MATH_PRIVATE_H +#define NIO2_MATH_PRIVATE_H 1 /* Suppress use of exceptions here to avoid build errors if the FE_* macros aren't defined. Only allow rounding modes implemented for Nios II. diff --git a/sysdeps/tile/math_private.h b/sysdeps/tile/math_private.h index 9b6b68b..99daec4 100644 --- a/sysdeps/tile/math_private.h +++ b/sysdeps/tile/math_private.h @@ -1,4 +1,5 @@ -#ifndef _MATH_PRIVATE_H +#ifndef TILE_MATH_PRIVATE_H +#define TILE_MATH_PRIVATE_H 1 /* Internally, we suppress any use of exception or rounding other than what is supported by the hardware. This does mean that some